一起玩转GNU Radio:gnuradio GRC一种自定义模块的实现方法

本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!

本文介绍GNU Radio GRC中的一种自定义模块的实现方法。由“lswmouse”提供素材。

目录

一、Options模块设置

二、添加“pad source”和“pad sink”模块

三、添加参数模块Parameter

四、点击生成按钮

五、调用自定义模块

六、有用链接


如果需要在gnuradio下自定义自己的模块,一般情况下可以使用C++程序进行编写,具体可以参考以下教程:

OutOfTreeModules - GNU Radio

Embedded Python Block - GNU Radio

该方法自定义模块较为灵活,但难度也较大,不太适合初学者。本文介绍如何利用GRC中的已有模块来实现自定义需求的模块,并将该自定义模块封装到GRC中,以便后续方便调用。具体地,本文介绍一种使用“pad source”“pad sink”模块自定义模块的方法。如果用户想实现一种自己的功能,可以在现有模块的基础上进行搭建再封装成模块,该方法在实现一些较为简单的功能模块时操作简单,但是没有上述C++编程的方法灵活,如果需要实现一些较为复杂的功能,程序则需要从底层搭起,比较适合各系统模块较为完善的情况使用。

本文采用的是https://github.com/handiko/gr-APRS中的例子。以自定义AFSK模块对操作步骤进行介绍。包括以下几个重要步骤。

一、Options模块设置

options模块中需将Generate Options选择为Hier Block,

options模块中可以对该自定义模块的标题、作者、描述、画布大小、模块属性进行定义模块属性的定义直接决定了该模块被搜索到时的。注意:一定要在“Generate Options”这里选择“Hier Block”。

二、添加“pad source”和“pad sink”模块

Pad Source模块中的“Label”栏输入“afsk_in”,“Pad Sink”模块中的“Label”栏输入“Demod_out”。

三、添加参数模块Parameter

该模块不仅在自定义模块程序流图上需要用到,它还是自定义模块上的需用户定义的参数。该模块可对参数的ID、标签、默认值、数据类型进行定义。例如,我们定义了一个标签为“FSK 1 Tone”的参数,在封装后的AFSK Demodulator中就可以看到有一个“FSK 1 Tone”的参数数值可供用户定义。

四、点击生成按钮

点击生成按钮,就可以在Generating: '/home/opensourcesdr/.grc_gnuradio/'目录下出现.py、.pyc和.xml文件。

五、调用自定义模块

搭建一个afsk_main流图,调用之前生成的AFSK Demodulation模块。

六、有用链接

https://github.com/handiko/gr-APRS

Embedded Python Block - GNU Radio

OutOfTreeModules - GNU Radio

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/usr/share/gnuradio/grc/blocks是GNU Radio Companion (GRC)的一个目录,其中包含了一些用于构建信号处理流图的块文件。这些块文件通常被用于组合和配置信号处理流程。根据提供的引用内容,可以看出在运行make时发生了错误,错误信息是"No rule to make target '/usr/lib/x86_64-linux-gnu/liborc-0.4.so'",这意味着编译过程中缺少了'/usr/lib/x86_64-linux-gnu/liborc-0.4.so'文件所需的规则。 为了解决这个问题,你可以尝试以下几个步骤: 1. 确保你的系统中安装了所需的库文件。在这种情况下,你应该检查'/usr/lib/x86_64-linux-gnu/liborc-0.4.so'文件是否存在,并确保它被正确安装。 2. 检查编译配置文件或Makefile中是否存在对该库文件的引用,确保路径和文件名的拼写是正确的。 3. 如果你确定该库文件确实不存在,你可以尝试重新安装相应的软件包,以获得所需的文件。 4. 如果问题仍然存在,你还可以尝试搜索相关的错误信息,以查找更多的解决方法或寻求帮助。 请注意,在解决编译错误时,具体的解决方法可能因操作系统、软件版本和特定的环境配置而有所不同。建议你参考相关的文档、论坛或社区以获得更详细的信息和支持。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [走进“开源SDR实验室” 一起玩转GNU Radio:LoRa实验](https://blog.csdn.net/OpenSourceSDR/article/details/119591575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值