Gnuradio创建OOT自定义模块的三种方式

本文内容、所用开发板、配件等仅限与研发和学习使用,如有侵权,请联系我们进行删除!

目录

一、概要

二、实验环境

三、实验内容

1、方式一:grc 中直接添加“Python Block”

2、方式二:使用gr_modtool添加python定义的OOT block

3、方式三:使用gr_modtool添加C++定义的OOT block

4、实验结果

四、参考链接


一、概要

OOT模块是指Gnuradio中并不包含的模块资源,用户根据需求自己定义来制作。编写OOT模块的方法多种,下面用简单的例子分别进行介绍。

二、实验环境

ubuntu 20.04 ; gnuradio 3.8 ; uhd 4.1.0

三、实验内容

下面以自定义一个2倍乘法器的grc oot block,即将输入的每个数据值都乘以2为例,简单介绍一下如何生成OOT block。

1、方式一:grc 中直接添加“Python Block”

打开gnruadio,在右边的模块搜索栏中直接搜索“Python Block”,然后添加到流图中。然后双击该模块,并对代码进行自定义的修改。

import numpy as np
from gnuradio import gr

class blk(gr.sync_block):  # other base classes are basic_block, decim_block, interp_block

    def __init__(self):  # only default arguments here
        gr.sync_block.__init__(
            self,
            name='mult_2_grc',   
            in_sig=[np.complex64],
            out_sig=[np.complex64]
        )

    def work(self, input_items, output_items):
        """example: multiply with 2"""
        output_items[0][:] = input_items[0] * 2
        return len(output_items[0])

2、方式二:使用gr_modtool添加python定义的OOT block

打开终端,收入一下命令,使用gr_modtool创建一个molude,即许多blocks的集合目录,然后进入该目录中,添加一个pytho

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Highmesh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值