通过网络更新GNU Radio中的变量

时间:2015-10-12 21:08:39

标签: sockets network-programming udp gnuradio gnuradio-companion

我正在使用GNU Radio使用UDP接收器传输RF数据。数据流式传输到控制程序。作为这个过程的一部分,我是频移(使用乘法块),滤波和下采样。<​​/ p>

我想在运行时更改频移值。

我有办法让UDP源中的值直接保存到变量吗?我现在能想到的唯一解决方案就是永远生成一个正弦波,然后将其输入GNU Radio,然后将其信号与之相乘。但这似乎是对资源的巨大浪费。我希望能够发送一个数据包,具有该值&#34; latch&#34;到GNU Radio变量,然后在我的块中使用该变量。

1 个答案:

答案 0 :(得分:4)

有多种方法:

  1. 如果你想坚持使用GNU Radio Companion&#34;变量&#34;概念,您可以使用XMLRPC块。用法非常简单,GNU Radio GRC示例(通常位于/ usr / share / gnuradio / examples / grc下面。)
  2. 如果你想为自己编写一些代码,你可以编写一个python hier块,它实际上只包含一个信号源,但也有一个消息端口,带有一个消息端口处理程序,用于修改信号源的频率。这样,你也可以使用ZeroMQ块,这非常棒!:)
  3. 假设你当然也可以从2.实现hier块,但不是给它一个消息端口和消息处理程序,而是让它异步响应来自外部的网络消息,改变信号的设置资源。这里要注意的是python多线程有点棘手,而且你基本上是从1重新实现XMLRPC块。