MATLAB wgn函式產生高斯白噪聲程式

來源:酷知科普網 1.35W

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

熱門標籤