當前位置:妙知谷 >

母嬰教育 >學習交流 >

MATLAB wgn函數產生高斯白噪聲程序

MATLAB wgn函數產生高斯白噪聲程序

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濾波器即可。

  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/jy/jiaoliu/evo5yv.html