信噪比:即Signal noise ratio , 即SNR;
它的單位為 dB, 公式為: SNR = 10lg(PS / PN), 其中 ps 表示信號的有效功率, pn 表示噪聲的有效功率;
- 如何計算一個信號的功率呢?
假如有一個一維的信號 x ,它的平均功率可以這么算:
power = sum(x .* x ) / size(x)
- 有時候,會用dbW 來描述一個信號的功率,這是什么意思呢?
dBw 是一個表示功率絕對值的單位(以1 W 功率為基准, dBm 以 1mW為基准)
- 什么樣的噪聲為高斯白噪聲呢?
其中的白噪聲,指的是:功率譜密度服從均勻分布, 而高斯指的是:噪聲的幅度分布服從高斯分布;
百度百科的兩種定義:
定義一:如果一個噪聲,它的瞬時值服從高斯分布,而它的功率譜密度又是均勻分布的,則稱它為高斯白噪聲。
定義二:在一般的通信系統的工作頻率范圍內熱噪聲的頻譜是均勻分布的,好像白光的頻譜在可見光的頻譜范圍內均勻分布那樣,所以熱噪聲又常稱為白噪聲。由於熱噪聲是由大量自由電子的運動產生的,其統計特性服從高斯分布,故常將熱噪聲稱為高斯白噪聲。
- 在 matlab中生成高斯白噪聲的函數:
wgn()函數, 用它可以生成高斯白噪聲,用法很多,說一下基本的用法:
y = wgn(m,n,p), 生成 m * n 的高斯白噪聲, 其中p 表示生成噪聲的功率,單位為dBw;
- 給一個信號加入高斯白噪聲的函數:
awgn()函數,即 add white gaussian noise to signal;
用法1:
y = awgn(x,snr) 給信號x 加入指定的 SNR 的高斯白噪聲,其中默認原信號x 的功率為 0 dBw, 即 1w;
y = awgn(x,snr,sigpower) 給信號x 加入指定的 SNR 的高斯白噪聲,sigpower用於指定原信號x的功率,單位為dBw;
y = awgn(x,snr,'measured') 給信號x 加入指定的 SNR 的高斯白噪聲,它會先測量一個原信號x 的功率;所以呢,我們記住第三個方式就可以啦;
