網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好

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