使用捕获的信号和噪声的PSD计算SNR

时间:2018-08-10 10:23:14

标签: signal-processing gnuradio gnuradio-companion

我已经捕获了已传输的信号以及没有传输时(即仅噪声)。我想计算信号的信噪比。我想确保以下GNURadio流程图没有错: flowgraph in GNURadio

总而言之,在计算了每个的PSD之后,“对2048的抽取进行积分”块将对2048个FFT仓的功率进行求和。然后,从信号FFT和中减去噪声FFT和。将其除以噪声FFT和,然后转换为dB。

这是我的流程图的输出: This is the output of my flowgraph

根据我的流程图计算,功效值是:

signal only, raw power: ~0.329  
noise only, raw power: 0.000007   
SNR in dB: ~46.6dB  

我正在使用LoRa节点传输感兴趣的信号;调制细节在这里:https://www.thethingsnetwork.org/docs/lorawan/#modulation-and-data-rate

该信号占用捕获的带宽(125k),并以每秒100万个采样的速度采样。

1 个答案:

答案 0 :(得分:0)

您的流程图应在以下情况下为您提供正确的SNR值:

  • 信号和噪声源不相关
  • 下部分支所捕获的“仅噪声”与上部分支所捕获的“信号+噪声”中包含的噪声具有相同的特征(尤其是相同的平均功率)

顺便说一句,除非您也将中间信号用于其他目的,否则可以对流程图进行一些简化:

  1. 上分支和下分支乘以相同的常数因子最终将在除法块中抵消。您可以完全省去扩展的麻烦。
  2. Parseval's theorem起,频域中平方大小的总和与时域中平方样本的总和成比例。因此,不需要FFT块。

也就是说,在流程图中,您正在使用一些中间信号来进行GUI输出。在这种情况下,您只需将所需的恒定缩放比例放在数字接收器的前面即可。