Matlab中 awgn 函數輸入參數帶有‘measured’ 時snr的含義


MATLAB中awgn 函數可以為輸入信號x 添加一定大小的噪聲。

out = awgn(in,snr,'measured');  是一種常見的使用方法,意思是在添加噪聲前先測量一下輸入信號的功率,再根據snr值添加噪聲。

這里我嘗試用這個函數添加噪聲:

%%%%%%%%%%%%%%%%%%%%

sig = ones(1,10000);
pow_sig = mean(sig.^2)
sigOut = awgn(sig,10,'measured');

noise = sigOut - sig;
pow_noise = mean(noise.^2)

%%%%%%%%%%%%%%%%%%%%

輸出:

pow_sig =

1

pow_noise =

0.101453985694793

所以這個snr到底表示什么含義呢? 

答案:snr = 10*log10(輸入信號功率/噪聲功率),即輸入參數snr表示輸入信號功率與噪聲功率的比值再取底為10的對數再乘10的結果,這也是通信上一般認為的信噪比。

 

-------轉載請說明出處--------

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM