我需要通过跳频USRP接收器从文件发送一些数据,并由USRP源接收。在经过一定数量的采样之后,两者都必须同步且不断地更改频率。我如何才能(尤其是)在python代码中告诉USRP源来更改频率?
https://www.gnuradio.org/doc/doxygen/page_uhd.html UHD源和接收器具有命令端口。
pmt :: pmt_t命令= pmt :: cons(//配对
pmt::mp("freq"), // Key is 'freq' => sets the frequency
pmt::mp(1.1e9) // Set the frequency to 1.1 GHz
);
//现在将“命令”传递到USRP模块的命令端口
听起来像是一种更改方式。但是我不知道如何将其连接到USRP?以及如何在采样后触发它。 有人有例子或建议吗?谢谢
答案 0 :(得分:0)
首先,您需要创建一个定时命令以使命令同步:
https://www.gnuradio.org/doc/doxygen/page_uhd.html
创建一个tune_request
对象,然后创建一个带有时间戳的time
命令,以便在USRP上执行该命令。发送带有tune
对象的tune_request
命令。完成time
命令和参数PMT_NIL
。
如果消息是恒定的,则可以使用 Message Strobe 块。如果参数发生变化(例如中心频率),则需要使用Python。在创建OOT模块之前,您可以考虑GRC中的 Python Block 元素,该元素允许您从GRC内使用python创建这些消息。