信噪比——信号加噪相关的知识

信噪比:即Signal noise ratio , 即SNR;

它的单位为 dB, 公式为: SNR = 10lg(PS / PN), 其中 ps 表示信号的有效功率, pn 表示噪声的有效功率;

  • 何计算一个信号的功率呢?

假如有一个一维的信号 x ,它的平均功率可以这么算:

power = sum(x .* x ) / size(x)              

  • 有时候,会用dbW 来描述一个信号的功率,这是什么意思呢?

dBw 是一个表示功率绝对值的单位(以1 W 功率为基准, dBm 以 1mW为基准)

计算公式为: image

  • 什么样的噪声为高斯白噪声呢?

其中的白噪声,指的是:功率谱密度服从均匀分布, 而高斯指的是:噪声的幅度分布服从高斯分布;

百度百科的两种定义:

定义一:如果一个噪声,它的瞬时值服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。

定义二:在一般的通信系统的工作频率范围内热噪声的频谱是均匀分布的,好像白光的频谱在可见光的频谱范围内均匀分布那样,所以热噪声又常称为白噪声。由于热噪声是由大量自由电子的运动产生的,其统计特性服从高斯分布,故常将热噪声称为高斯白噪声。

  • 在 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 的功率;

所以呢,我们记住第三个方式就可以啦;

原文地址:https://www.cnblogs.com/yinheyi/p/7429127.html