【问题标题】:How can I calculate the SNR of a signal from its frequency spectrum?如何从信号的频谱中计算信号的 SNR?
【发布时间】:2021-05-15 16:41:57
【问题描述】:

我正在从频谱分析仪中提取数据,并尝试使用信号处理工具箱中的 snr 函数来计算信号的信噪比。问题是我获得的 SNR 值没有意义。我这样调用函数:

snr(power, freqValues, rwb, 'power')

我得到的 snr 值为 -28.0343 +13.6438i rwb = 1.8e4; snr 创建的图形如下所示: 作为参考,这就是我捕获的频谱的样子: (这是从 plot(freqValues, power) 创建的) 频率范围为 0-2MHz,主要峰值为 902kHz @10.4dBm。 感谢任何帮助。

【问题讨论】:

    标签: matlab signals signal-processing noise


    【解决方案1】:

    当我阅读snr() 的 MATLAB 文档时,我看到以下内容。您输入的 powersxx 格式不正确。

    sxx — 功率谱

    非负实值行或列向量

    功率谱,指定为非负实值行或列向量。

    功率谱必须以线性单位表示,而不是分贝。使用 db2pow 将分贝值转换为功率值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-19
      • 2015-03-26
      • 2015-06-12
      • 1970-01-01
      • 2014-01-21
      • 1970-01-01
      • 2019-01-17
      • 1970-01-01
      相关资源
      最近更新 更多