Gnuradio:如何检测FFT图的峰值?

时间:2016-07-01 17:40:26

标签: gnuradio gnuradio-companion

我正在使用连接到Gnuradio的hackRF来收集来自一键遥控器的信号。我只需要估计遥控器和接收器之间的距离(HackRF)。

我设计了以下grc文件来过滤我感兴趣的区域。我需要找到峰值(FFT接收器提供的FFT图的最高值),如果该值高于阈值(例如,-50db),我需要将该值写入文件(例如,一个文本文件)。

enter image description here

总之,我希望有一个输出文件,其中包含大于阈值的FFT的所有峰值。例如,在附图中,这样的值约为-22db。

enter image description here

2 个答案:

答案 0 :(得分:0)

在流程图中,如果您试图避免HackRF的DC偏移,那么FFT接收器的基带频率应设置为917MHz-340kHz。

您可以将rtl_power与rtl加密狗一起使用(校准到900 MHz频段中的已知频率),这将输出CSV文件。

答案 1 :(得分:0)

在GNU Radio中这很容易。下面的流程图可能是一个很好的起点。但是,您必须注意Log Power FFT block的参数。请注意,对于低于阈值的样本,流程图将存储0,这是不正确的。如果您只存储高于阈值的值,则有两个选择。

  1. 您正确使用ValveSignal Probe块,但取决于采样率可能会影响您的效果。
  2. 您实现的自定义块仅在触发器打开时输出样本。 flowgraph
  3. 祝你好运!