GNURadio自定义GRC

总结:按照官方文档实现了基于python的OOT模块和基于C++的OOT模块,前者更简洁易读且配置文件只有一个定义端口的AML.yml文件,更推荐。
注意:管理ubuntu文件权限不够

sudo nautilus

注意:通过su root转为可以更高权限对文件夹操作

sudo root

一、通过Python语言实现:Creating Python OOT with gr-modtoo

来源:官方文档:https://wiki.gnuradio.org/index.php?title=Creating_Python_OOT_with_gr-modtool

1.创建OOT模块,名字为customModule

gr_modtool newmod customModule

创建并移动到gr-customModule目录

cd gr-customModule

查看模块下文件和文档

ls

2.创建基于python的OOT Block,名字为addSubSelect

gr_modtool add addSubSelect

定义block的参数

Enter block type: sync
Language (python/cpp): python
Language: Python
Block/code identifier: addSubSelect
Please specify the copyright holder: wenfeng
Enter valid argument list, including default arguments: 
selector=True
Add Python QA code? [Y/n] n
Add C++ QA code? [Y/n] n

3.修改python文件

gedit python/customModule/addSubSelect.py &

5.修改YAML.yml文件,gnuradio-comparative使用YAML文件调用自定义块

gedit grc/customModule_addSubSelect.block.yml &

6.编译和安装块

mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig 

7.可以打开gnuradio使用刚刚生成的python block了
在右边的GRC目录 customModule/addSubSelect
在这里插入图片描述

二、通过C++语言实现:Creating C++ OOT with gr-modtool

来源:官方文档:https://wiki.gnuradio.org/index.php?title=Creating_C%2B%2B_OOT_with_gr-modtool
注意:通过su root转为可以更高权限对文件夹操作

1.创建OOT模块,名字为ofdmsystem

gr_modtool newmod ofdmsystem

创建并移动到gr-ofdmsystem目录

cd gr-ofdmsystem

查看模块下文件和文档

ls

2.创建基于c++的OOT Block,名字为multDivSelect

gr_modtool add multDivSelect

定义block的参数

Enter block type: sync
Language (python/cpp): cpp
Language: C++
Block/code identifier: ofdmmodu
Please specify the copyright holder: wenfeng
Enter valid argument list, including default arguments: 
bool selector=true
Add Python QA code? [Y/n] n
Add C++ QA code? [Y/n] n

3.修改c++头文件

gedit lib/multDivSelect_impl.h &

4.修改.cc文件以定义块

 gedit lib/multDivSelect_impl.cc &

5.修改YAML.yml文件,gnuradio-comparative使用YAML文件调用自定义块

gedit grc/ofdmsystem_multDivSelect.block.yml &

6.编译和安装块

cd /home/grcppfile/gr-ofdmsystem
rm -rf build/
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig 

7.可以打开gnuradio使用刚刚生成的cpp block了
在右边的GRC目录 ofdmsystem/multDivSelect
在这里插入图片描述

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值