【问题标题】:How to make a message source and message strobe blocks in GNURadio如何在 GNURadio 中制作消息源和消息选通块
【发布时间】:2021-11-25 20:51:24
【问题描述】:

我必须在 GNURadio 中创建一个消息源块。我必须使用 Windows 10 并且我不知道如何在其上安装和使用 gr-modtool,所以我正在尝试使用 Embedded Python Block 制作块。

消息块的行为方式类似于消息选通,它定期向输出端口发送消息。唯一不同的是,我的消息不是输入参数,而是需要定期计算的变量。我正在尝试了解如何操作,但没有找到太多相关信息。

所以,这个块没有输入端口,只有一个消息输出端口,那么第一部分代码应该是

class msg_block(gr.sync_block):
   def __init__(self):
       gr.sync_block.__init__(
           self,
           name="msg_block",
           in_sig=None,
           out_sig=None)

       self.message_port_register_out(pmt.intern('msg_out'))

第一个问题是我什至无法实现一个简单的消息源。因为如果 in_sig 和 out_sig 为 None,那么工作方法“不起作用”,如果我插入该行

self.message_port_pub(pmt.intern('msg_out'), pmt.intern('hello world'))

在其中,它并没有真正将消息放在 msg_out 端口上。事实上,如果我使用我的块和消息调试运行 gnuradio 应用程序,则不会打印任何内容。我想我不明白 message_port_pub() 方法是如何工作的,因为我尝试了一些解决方案,但这些都没有奏效。

作为第二步,当然是引入时间循环。我认为使用 threading.Timer。

我到处寻找消息选通代码,但没有找到。 有人可以帮助我了解如何同时设置消息源和消息选通块吗?

谢谢。

【问题讨论】:

    标签: python python-3.x gnuradio gnuradio-companion


    【解决方案1】:

    我到处找消息选通代码,但没有找到。

    可以找到消息选通的源代码here

    作为第二步,当然是引入时间循环。我认为使用 threading.Timer。

    是的,要实现这一点,您需要启动一个线程或使用某种计时器。

    【讨论】:

      猜你喜欢
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 2017-03-15
      • 2017-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多