2010-04-29 210 views
2

您如何使用MatLab來計算SNR?使用MatLab計算信號:噪聲比

更新

我只有一個文件,而不是兩個像的例子,這是一個的.tif。

+6

*計算*或*估計*信噪比?在使用Matlab實現它之前,您需要理解背後的理論。 – 2010-04-29 07:38:20

回答

7

第一個Google結果爲Matlab SNR。複製從那裏,以dB爲單位:

snr = 10*log10(sum(clean.^2) ./ sum(noise.^2)) 

編輯:在不知道信號功率和噪聲功率不能被計算的信噪比。只有觀察到(即接收到)信號的知識,人們可以盲目地估計SNR,但這是一個開放的研究課題。請參閱「盲目測量」。

0

在輸入側:

Calculate DB1 = 10*log10(var(noiseSignal)) 
Calculate DB2 = 10*log10(var(cleanSpeechSignal)) 

的SNR是= DB2 - DB1