簡體   English   中英

如何從信號的頻譜中計算信號的 SNR?

[英]How can I calculate the SNR of a signal from its frequency spectrum?

我正在從頻譜分析儀中提取數據,並嘗試使用信號處理工具箱中的 snr function 來計算信號的信噪比。 問題是我獲得的 SNR 值沒有意義。 我這樣稱呼 function :

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

我得到的 snr 值為 -28.0343 +13.6438i rwb = 1.8e4; snr 創建的圖形如下所示: 信噪比 作為參考,這是我捕獲的頻譜的樣子:(這是從 plot(freqValues, power) 創建的) 頻率 頻率范圍為 0-2MHz,主要峰值為 902kHz @10.4dBm。 感謝任何幫助。

當我閱讀snr()的 MATLAB 文檔時,我看到以下內容。 您作為sxx的輸入power格式不正確。

sxx - 功率譜

非負實值行或列向量

功率譜,指定為實值非負行或列向量。

功率譜必須以線性單位表示,而不是分貝。 使用 db2pow 將分貝值轉換為功率值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM