网站首页 健康小知识 母婴教育 起名 运动知识 职场理财 情感生活 绿色生活 游戏数码 美容 特色美食 爱好

MATLAB wgn函数产生高斯白噪声程序

栏目: 学习交流 / 发布于: / 人气:1.32W

MATLAB产生整个频带内的高斯白噪声,并对其时域波形频谱作出分析。

操作方法

(01)产生高斯白噪声信号信号参数:时宽5s。MATLAB程序:fs=100;T=5;n=round(T*fs);%采样点个数t=linspace(0,T,n);y=wgn(1,n,0);%LFM信号注:这边wgn函数中前两个参数分别为要产生的信号矩阵的行数与列数,第三个参数为噪声信号的功率,这边设置为0就是0dbW。

(02)高斯白噪声信号时域频域波形:在设置的0~5s时宽范围内,是杂乱无章的噪声。这边幅度并不为1,因为我们设置的0dbW(相当于1W)是统计意义上的噪声功率,每个时刻的瞬时功率不一定为AB程序:figure;plot(t,y);title('高斯白噪声信号时域');xlabel('t/s');ylabel('幅度');运行结果:

MATLAB wgn函数产生高斯白噪声程序

(03)高斯白噪声频谱:可以看到,频谱分量铺满了整个频带,但由于只是对一个样本作频谱分析,并没有得到统计意义上均匀的功率谱。MATLAB程序:fft_y=fftshift(fft(y));f=linspace(-fs/2,fs/2,n);figure;plot(f,abs(fft_y));title('高斯白噪声信号频谱');xlabel('f/Hz');ylabel('幅度');运行结果:

MATLAB wgn函数产生高斯白噪声程序 第2张

特别提示

若要得到指定频带内的噪声信号,通过一个FIR滤波器即可。