|
濾波技術(shù)是信號分析、處理技術(shù)的重要分支,無論是信號的獲取、傳輸,還是信號的處理和交換都離不開濾波技術(shù),它對信號安全可靠和有效靈活地傳遞是至關(guān)重要的。信號分析檢測與處理的一個十分重要的內(nèi)容就是從噪聲中提取信號,實現(xiàn)這種功能的有效手段之一是設(shè)計一種具有最佳線性過濾特性的濾波器,當(dāng)伴有噪聲的信號通過這種濾波器的時候,它可以將信號盡可能精確地重現(xiàn)或?qū)π盘栕龀霰M可能精確的估計,而對所伴隨噪聲進(jìn)行最大限度地抑制。維納濾波器就是這種濾波器的典型代表之一。 1.維納濾波概述 因此維納濾波器又常常被稱為最佳線性過濾與預(yù)測或線性最優(yōu)估計。這里所謂的最佳與最優(yōu)是以最小均方誤差為準(zhǔn)則的。 2.維納-霍夫方程的求解
3.FIR維納濾波器的matlab實現(xiàn) 3.1問題描述 假設(shè)一個點目標(biāo)在x,y平面上繞單位圓做圓周運(yùn)動,由于外界干擾,其運(yùn)動軌跡發(fā)生了偏移。其中,x方向的干擾為均值為0,方差為0.05的高斯噪聲;y方向干擾為均值為0,方差為0.06的高斯噪聲。 1) 產(chǎn)生滿足要求的x方向和y方向隨機(jī)噪聲500個樣本; 2) 明確期望信號和觀測信號; 3) 試設(shè)計一FIR維納濾波器,確定最佳傳遞函數(shù): 4) 分別繪制出x方向和y方向的期望信號、噪聲信號、觀測信號、濾波后信號、最小均方誤差信號的曲線圖; 5) 在同一幅圖中繪制出期望信號、觀測信號和濾波后點目標(biāo)的運(yùn)動軌跡。 3.2 Matlab仿真及運(yùn)行結(jié)果 用Matlab實現(xiàn)FIR濾波器,并將先前隨機(jī)產(chǎn)生的500個樣本輸入,得到最佳估計。具體程序如下: clear; clf; sita=0:pi/249.5:2*pi; xnoise=sqrt(0.05)*randn(1,500);%產(chǎn)生x軸方向噪聲 ynoise=sqrt(0.06)*randn(1,500);%產(chǎn)生y軸方向噪聲 x=cos(sita) xnoise;%產(chǎn)生x軸方向觀測信號 y=sin(sita) ynoise;%產(chǎn)生y軸方向觀測信號 %產(chǎn)生維納濾波中x方向上觀測信號的自相關(guān)矩陣 rxx=xcorr(x); for i=1:100 for j=1:100 mrxx(i,j)=rxx(500-i j); end end xd=cos(sita); %產(chǎn)生維納濾波中x方向上觀測信號與期望信號的互相關(guān)矩陣 rxd=xcorr(x,xd); for i=1:100 mrxd(i)=rxd(499 i); end hoptx=inv(mrxx)*mrxd';%由維納-霍夫方程得到的x方向上的濾波器最優(yōu)解 fx=conv(x,hoptx);%濾波后x方向上的輸出 nx=sum(abs(xd).^2); eminx=nx-mrxd*hoptx;%x方向上最小均方誤差 %產(chǎn)生維納濾波中y方向上觀測信號的自相關(guān)矩陣 ryy=xcorr(y); for i=1:100 for j=1:100 mryy(i,j)=ryy(500-i j); end end yd=sin(sita); %產(chǎn)生維納濾波中y方向上觀測信號與期望信號的互相關(guān)矩陣 ryd=xcorr(y,yd); for i=1:100 mryd(i)=ryd(499 i); end hopty=inv(mryy)*mryd';%由維納-霍夫方程得到的y方向上的濾波器最優(yōu)解 fy=conv(y,hopty);%濾波后y方向上的輸出 ny=sum(abs(yd).^2); eminy=ny-mryd*hopty;%y方向上最小均方誤差 subplot(2,4,1) plot(xd); title('x方向期望信號'); subplot(2,4,2) plot(xnoise); title('x方向噪聲信號'); subplot(2,4,3) plot(x); title('x方向觀測信號'); subplot(2,4,4) n=0:500; plot(n,eminx); title('x方向最小均方誤差'); subplot(2,4,5) plot(yd); title('y方向期望信號'); subplot(2,4,6) plot(ynoise); title('y方向噪聲信號'); subplot(2,4,7) plot(y); title('y方向觀測信號'); subplot(2,4,8) plot(n,eminy); title('y方向最小均方誤差'); figure; plot(xd,yd,'k'); hold on; plot(x,y,'b:'); hold on; plot(fx,fy,'g-'); title('最終結(jié)果'); 運(yùn)行結(jié)果如下: 圖2 x方向及y方向的期望信號、噪聲信號、觀測信號以及濾波后的最小均方誤差如上圖2所示。 圖3 濾波后的到的信號與原始信號和噪聲信號的對比如上圖3所示,濾波后的結(jié)果與期望信號還是很接近的,整體上達(dá)到了最優(yōu)濾波的效果。 |
|
|