logo资料库

Gnu Radio信号处理模块搭建.pptx

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
Gnuradio 信号处理模块的搭建 主讲人:
• 安装好Gnu Radio 以后,可以调用里面的数字信号处理模块,也 可以通过Python的黏合功能将几个模块级联生成新的模块。但是 要生成一个全新的数字信号处理模块,就必须要使用c++来编写 源代码,最后编译成可以调用的Python模块。 • SWIG:是一个非常优秀的开源工具,支持 C/C++ 代码与任何主流脚 本语言相集成,Python通过SWIG来调用C++编译好的moudle.
开发信号处理模块的两种方法: 一.基于模板的开发方法 howto-write-a-block-3.3.0.tar.gz 1)首先需要从FTP站点:ftp://ftp.gnu.org/gnu/gnuradio下载模板gr- 2)然后对下载的压缩包中的文件名进行修改。源代码模块名是howto, 方法为square_ff(),现在我们要修改其模块为test,方法为example_ff(),如:将 howto_square_ff.h/.cc等换成test_example_ff.h/.cc。同时将/swig目录下面的 howto都改为test。 3)对文件内容修改。主要是.h,.cc文件 4)最后在终端依次输入./configure;make;make install
二.用gr_modtool工具开发流程 • 目标开发一个howto包,并且在模块中添加一个square_ff()用于信 号平方的block。可以通过python直接调用该模块。 • eg: • import howto • sqr = howto.square_ff() • 1)终端进入工作目录,输入gr_modtool newmod howto创建模块的包结 构目录,主目录下就生成了一个gr-howto目录。 • 2)进入gr-howto文件夹,输入gr_modtool add -t general square_ff。意思是 在包中添加一个general类型的block,功能是实现平方运算,输入输出都 为float。 • 3)修改block设计中的核心文件square_ff_impl.cc
• 需要修改的核心函数为general_work(),该函数实现了信号处理算 法。
• 4)进入gr-howto根目录,新建文件mkdir build 。 进入文件夹cd build,开始编译。依次执行 cmake ../;make; • 5)安装该模块。进入build,依次执行make install;ldconfig。 • 6)如果想让该模块在GRC中可用,需要添加 xml描述文件,gr_modtool makexml square_ff。 这样在GRC中就可以看到自己写的模块了。
调用一下试试!
分享到:
收藏