白噪声、 带限白噪声、色噪声之间的相同与差异

白噪声

(1)白噪声(white noise):

  • 功率谱 密度在整个频域内均匀分布;
  • 频率具有相同能量密度的随机噪声成为白噪声;
  • 人耳听起来是非常明亮的“嘶”声;
  • 只要一个噪声过程所具有的频谱宽度远远大于它所作用系统的带宽,并且在该带宽中其频谱密度基本上可以作为常数来考虑,就可以把它作为白噪声来处理【例如,热噪声和散弹噪声在很宽的频率范围内具有均匀的功率谱密度,通常可以认为它们是白噪声。】

(2)高斯白噪声( white Gaussian noise:WGN):

  • 功率谱 密度在整个频域内均匀分布(Normal distribution);
  • 热噪声和散粒噪声是高斯白噪声——所以也是白噪声

(3)参数(Parameters):

  • 功率谱密度恒定:S(ω)=S0
  • 信号自相关:R(τ)=S0δ(τ)   其中δ(τ)是Dirac函数。
  • 数学期望:E[X(t)]=0
  • 均方值:E[X(t)^2]<∞
%{
tiltile:matlab 信号添加噪声及信噪比SNR的计算
Chapter1: MATLAB中自带的高斯白噪声的两个函数
contents:>  matlab中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.
                   1.WGN:产生高斯白噪声
                    y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。
                    y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗。
                    y = wgn(m,n,p,imp,state) 重置RANDN的状态。

                >  在数值变量后还可附加一些标志性参数:
                    -- y = wgn(…,POWERTYPE) 指定p的单位。POWERTYPE可以是'dBW', 'dBm'或'linear'。线性强度(linear power)
                    以瓦特(Watt)为单位。
                    y = wgn(…,OUTPUTTYPE) 指定输出类型。OUTPUTTYPE可以是'real'或'complex'。
                    -- AWGN:在某一信号中加入高斯白噪声
                    y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,
                    就加入复噪声。
                    -- y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER
                    为'measured',则函数将在加入噪声之前测定信号强度。
                    -- y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。
                    --  y = awgn(…,POWERTYPE) 指定SNR和SIGPOWER的单位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE
                    是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位。如果POWERTYPE是'linear',那么SNR作为比值来度
                    量,而SIGPOWER以瓦特为单位。
Chapter2: 通过相关概念自编函数实现任意噪声的叠加及信噪比的计算
contents:>  在信号处理中经常需要把噪声叠加到信号上去,在叠加噪声时往往需要满足一定的信噪比,这样产生二个问题,
                    其一噪声是否按指定的信噪比叠加,其二怎么样检验带噪信号中信噪比满足指定的信噪比。

                    在MATLAB中可以用randn产生均值为0方差为1的正态分布白噪声,但在任意长度下x=randn(1,N),x不一定是均值为0方差为1
                    (有些小小的偏差),这样对后续的计算会产生影响。在这里提供3个函数用于按一定的信噪比把噪声叠加到信号上去,同时
                     可检验带噪信号中信噪比。
%}

Matlab Programs

(1)把白噪声叠加到信号上去

function [y,noise] = noisegen(x,SNR)
%{
         noisegen add white Gaussian noise to a signal.
         [y,noise] = noisegen(x,noise) adds white Gaussian noise to x,The SNR is in  dB
%}
noise =  randn(size(x));
signal_power = 1/length = 1/length(x)*sum(x.*x);
noise_variance = signal_power/( 10^(SNR/10) );
noise = sqrt( noise_variance )/std( noise )*noise;
y = x + noise;  %其中x是纯信号,SNR 是要求的信噪比,y是带噪声信号,noise是叠加在信号上的噪声

有色噪声

(1)色噪声(coloured noise):

我们把除了白噪声之外的所有噪声都称为有色噪声。就像白光一样,除了白光就是有色光。

  • 噪声是一个随机过程,而随机过程有其功率谱密度函数,功率谱密度函数的形状则决定了噪声的“颜色  ”。
  • ——白色包含了所有的颜色,因此白噪声的特点就是包含各种噪声。
  •        白噪声定义为在无限频率范围内功率谱密度为常数的信号,这就意味着还存在其它“颜色”的噪声,即其功率谱密度函数不平坦。
  •        大多数的音频噪声,如移动汽车的噪声,计算机风扇的噪声,电钻的噪声,周围人们走路的噪声等等,其频谱主要都是非白色低频段频谱。
  •        而且,通过信道的白噪声受信道频率的影响而变为有色的。
  • 常见有色噪声
          粉红噪声。在给定频率范围内(不包含直流成分),随着频率的增加,其功率密度每倍频程下降3dB(密度与频率成反比)。每倍频的功率相同,但要产生每倍频程3dB的衰减非常困难,因此,没有纹波的粉红噪声在现实中很难找到。
噪声指标
  • 噪声的时域、频域图 
  • 测试噪声的均值、均方值、方差,自相关函数、概率密度、频谱及功率谱密度并绘图。

    ||

    ||


参考资料
1.http://baike.baidu.com/link? .,baidubaike,白噪声,1985

你可能感兴趣的:(MATLAB,Matlab笔记)