Sockets 通过网络更新GNU无线电中的变量

Sockets 通过网络更新GNU无线电中的变量,sockets,network-programming,udp,gnuradio,gnuradio-companion,Sockets,Network Programming,Udp,Gnuradio,Gnuradio Companion,我使用GNU无线电通过UDP接收器将射频数据流输出。数据流传输到控制程序。作为这个过程的一部分,我进行了频移(使用乘法块)、滤波和下采样 我想在运行时更改频移值 有没有办法让UDP源中的值直接保存到变量中?我现在能想到的唯一解决办法是永远产生一个正弦波,然后通过管道将其输入GNU无线电,然后将我的信号与之相乘。但这似乎是对资源的巨大浪费。我希望能够发送单个数据包,将该值“锁存”到GNU无线电变量中,然后在我的块中使用该变量。有多种方法: 如果您想坚持GNU无线电伴侣“变量”概念,可以使用XMLR

我使用GNU无线电通过UDP接收器将射频数据流输出。数据流传输到控制程序。作为这个过程的一部分,我进行了频移(使用乘法块)、滤波和下采样

我想在运行时更改频移值


有没有办法让UDP源中的值直接保存到变量中?我现在能想到的唯一解决办法是永远产生一个正弦波,然后通过管道将其输入GNU无线电,然后将我的信号与之相乘。但这似乎是对资源的巨大浪费。我希望能够发送单个数据包,将该值“锁存”到GNU无线电变量中,然后在我的块中使用该变量。

有多种方法:

  • 如果您想坚持GNU无线电伴侣“变量”概念,可以使用XMLRPC块。用法非常简单,GNU Radio GRC示例(通常在/usr/share/gnuradio/examples/GRC下找到)涵盖了这一点
  • 如果您想为自己编写一点代码,可以编写一个python hier块,它实际上只包含一个信号源,但也有一个消息端口,带有一个消息端口处理程序,可以修改信号源的频率。这样,您还可以编写ZeroMQ块,这非常棒:)
  • 假设,您当然也可以从2实现hier块,但不给它一个消息端口和消息处理程序,而是让它异步响应来自外部的网络消息,以更改信号源的设置。这里需要注意的是,python多线程有点棘手,您基本上要从1重新实现XMLRPC块
    有多种方法可以实现这一点:

  • 如果您想坚持GNU无线电伴侣“变量”概念,可以使用XMLRPC块。用法非常简单,GNU Radio GRC示例(通常在/usr/share/gnuradio/examples/GRC下找到)涵盖了这一点
  • 如果您想为自己编写一点代码,可以编写一个python hier块,它实际上只包含一个信号源,但也有一个消息端口,带有一个消息端口处理程序,可以修改信号源的频率。这样,您还可以编写ZeroMQ块,这非常棒:)
  • 假设,您当然也可以从2实现hier块,但不给它一个消息端口和消息处理程序,而是让它异步响应来自外部的网络消息,以更改信号源的设置。这里需要注意的是,python多线程有点棘手,您基本上要从1重新实现XMLRPC块