資源描述:
《維納濾波器的設計及Matlab仿真實現.doc》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、Wiener濾波器的設計及Matlab仿真實現1.實驗原理在許多實際應用中,人們往往無法直接獲得所需的有用信號,能夠得到的是退化了或失真了的有用信號。例如,在傳輸或測量信號s(n)時,由于存在信道噪聲或測量噪聲v(n),接受或測量到的數據x(n)將與s(n)不同。為了從x(n)中提取或恢復原始信號s(n),需要設計一種濾波器,對x(n)進行濾波,使它的輸出y(n)盡可能逼近s(n),成為s(n)的最佳估計,即y(n)=。這種濾波器成為最優(yōu)濾波器。Wiener濾波器是“理想”意義上的最優(yōu)濾波器,有一個期望響應d(n)
2、,濾波器系數的設計準則是使濾波器的輸出y(n)(也常用表示)是均方意義上對期望響應的最優(yōu)線性估計。Wiener濾波器的目的是求最優(yōu)濾波系數,從而使最小。通過正交性原理,導出,該式稱為Wiener-Hopf方程,解此方程,可得最優(yōu)權系數。Wiener-Hopf方程的矩陣形式為,解方程求得2.設計思路下面我們通過具體的例子來說明Wiener濾波器的設計方法:考慮如下圖所示的簡單通信系統。其中,產生信號S(n)所用的模型為,激勵信號為。信號s(n)通過系統函數為的信道,并被加性噪聲干擾,v(n)與w(n)不相關。確定階數
3、M=2的最優(yōu)FIR濾波器,以從接收到的信號x(n)=z(n)+v(n)中盡可能恢復發(fā)送信號s(n),并用MATLAB進行仿真。4解:s(n)是一個AR(1)過程,在x(n)=z(n)+v(n)中,z(n)是一個二階AR(2)過程。由于白噪聲產生z(n)的系統函數相當于H(z)=H1(z)H2(z),因此。二階AR(2)過程的參數,,方差。由二階AR(2)參數可以確定,由Yule-Walker方程,以及AR模型的方差表達式,反解得,由此確定z(n)的自相關矩陣為進而有期望響應d(n)=s(n),接下來,求。因為把和代
4、入上式,得4故從而有,將此式帶入Wiener-Hopf方程解得最優(yōu)權系數為3.實驗源碼MATLAB仿真實現該維納濾波器的程序:%Generatesignals(n)N=64;w=sqrt(0.3)*randn(N,1);A1=[10.95];s=filter(1,A1,w);d=s;%TransmitandaddanoiseA2=[1-0.85];z=filter(1,A2,s);v=sqrt(0.1)*randn(N,1);x=z+v;%WienerFilteringy=filter([0.9052-0.8656
5、],1,x);%plotthewaveformsn=[0:N-1];subplot(211);plot(n,d,'b-x',n,x,'r-o');legend('d(n)','x(n)');axistight;ylabel('Amplitude');xlabel('Time(n)');title('DesiredResponse/InputSignal');subplot(212);plot(n,d,'b-x',n,y,'r-o');legend('d(n)','y(n)');axistight;ylabel('A
6、mplitude');xlabel('Time(n)');4title('DesiredResponse/OutputSignal');4.仿真結果及分析仿真結果如圖所示:從圖中可明顯看出,y(n)比x(n)更接近于d(n),維納濾波器從接收到的信號x(n)=z(n)+v(n)中盡可能地恢復出了發(fā)送信號s(n)。5.實驗結論維納濾波器的設計目標是使濾波器誤差平方的集平均(期望值)最小,在平穩(wěn)并各態(tài)歷經的條件下,相當于在誤差的平方和最小,因此,求解最優(yōu)濾波器需要輸入信號的自相關矩陣和輸入信號與期望響應的互相關矢量,這
7、在實際應用中一般很難得到。LS濾波器的目標是現實的,它使用輸入信號和期望響應在測量區(qū)間的觀測值,通過令誤差平方和在觀測區(qū)間最小,而設計出濾波器系數。4