白噪声MATLAB

1、白噪声频谱
白噪声(white noise)是指功率谱密度在整个频域内是常数的噪声。 所有频率具有相同能量密度的随机噪声称为白噪声。
白噪声MATLAB_第1张图片
2、均匀白噪声、高斯白噪声、瑞利白噪声
均匀白噪声是幅度统计规律服从均匀分布而功率谱为常数的噪声
白噪声MATLAB_第2张图片
高斯白噪声是幅度统计规律服从高斯分布而功率谱为常数的噪声
白噪声MATLAB_第3张图片
瑞利白噪声是幅度统计规律服从瑞利分布而功率谱为常数的噪声
白噪声MATLAB_第4张图片
3、信噪比
信噪比是指信号最大幅值和噪声的最大幅值的比,用信号最大幅值除以噪声最大幅值所得结果即是。
MATLAB编程效果
时域分析
白噪声MATLAB_第5张图片
频域分析
白噪声MATLAB_第6张图片

代码说明
1、采样频率48000,时长2秒左右,噪声生成96255个点
2、将噪声加到信号上时,若信噪比方式,给噪声乘以一定比例系数和信号相加使max(信号幅度):max(噪声幅度)=snr

fs=48000;
figure(1)
       gnoes=normrnd(0,1,1,96255);
       subplot(311);plot(gnoes,'m')
       axis([0 96255 -6 6]);xlabel('高斯分布杂波');
       ray=raylrnd(2,1,96255);
       subplot(312);plot(ray,'c')
       axis([0 96255 0 16]); xlabel('瑞利分布杂波')
       unif=rand(1,96255);     
       subplot(313);plot(unif,'g')
       axis([0 96255 0 2]); xlabel('均匀分布杂波');
figure(2)
       NFFT=2^nextpow2(length(gnoes));
       b_1=fft(gnoes,NFFT)/length(gnoes);
       f=fs/2*linspace(0,1,NFFT/2+1);
       subplot(311);plot(f,abs(b_1(1:NFFT/2+1)));
       axis([0 length(f)/2 0 0.03]);xlabel('高斯分布杂波频谱');
       b_2=fft(ray,NFFT)/length(ray);
       subplot(312);plot(f,abs(b_2(1:NFFT/2+1)));
       axis([0 length(f)/2  0 0.04]);xlabel('瑞利分布杂波频谱')     
       b_3=fft(unif,NFFT)/length(unif);
       subplot(313);plot(f,abs(b_3(1:NFFT/2+1)));
       axis([0 length(f)/2  0 0.01]);xlabel('均匀分布杂波频谱');

你可能感兴趣的:(信号)