有没有办法跟踪GNU Radio中的信号变化?

我正在尝试使用GNU Radio(也使用Ettus USRP)跟踪和分析由于频道变化而对接收信号的变化。我想用GNU Radio编写一个程序,以便能够跟踪接收信号的变化。 我想跟踪的内容包括(但不限于): 中心频率的变化 接收功率的变化 带宽变化 电源尖峰 最终,我希望跟踪非常小的变化(即使是最小的变化)。 有人知道这是否可行?如果是这样,我如何开始,我可以在哪里找到相关信息?此外,这种类型的信息是否可以在基础C ++层中获得,还是可以通过上层python层获取? 谢谢。     
已邀请:
如果你想在gnuradio中进行分析,那么你需要将信号处理块放在一起。 http://gnuradio.org/doc/doxygen/modules.html中提供了可用块的列表。 对于接收功率的简单情况,有一个rms_cf块,它看起来像是将复数流转换成代表rms功率的浮点流。然后,您可以使用integrate_ff块将它们相加,然后输出到文件。 例如
from gnuradio import gr

incoming_signal = ???
alpha = ???
signal_to_power = gr.rms_cf(alpha) # I have no idea what alpha means here :(.
sumup = gr.integrate_ff(10000) # Decimate by factor of 10000
dst = gr.file_sink_f(gr.sizeof_float, "the_file_name")
tb = gr.top_block()
tb.connect(incoming_signal, signal_to_power, sumup, dst)
tb.run()
对于中心频率和带宽,也许您可​​以将一堆带通滤波器放在一起,查看感兴趣的频率范围的各个部分中包含的功率,然后退出所需的信息。看看可用块列表。     

要回复问题请先登录注册