酷知百科網

位置:首頁 > 母嬰教育 > 學習交流

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