自適應(yīng)濾波器的算法研究及DSP仿真實(shí)現(xiàn)
摘要:隨著DSP技術(shù)的高建發(fā)展,人們對信號處理的實(shí)時(shí)性、準(zhǔn)確性和靈活性的要求越來越高,DSP技術(shù)在信號處理中的地位也越來越重要。自適應(yīng)濾波器是一種復(fù)雜的算法,設(shè)計(jì)它是為了在均衡信道,抵消回波,增強(qiáng)譜線,抑制噪聲等方面有所應(yīng)用。而自適應(yīng)濾波器的實(shí)現(xiàn)主要采用最小均方誤差算法完成。自適應(yīng)算法通過調(diào)整濾波器系數(shù)來實(shí)現(xiàn)可以更好地跟蹤信號的變化,最終實(shí)現(xiàn)自適應(yīng)濾波。
關(guān)鍵詞:自適應(yīng)濾波器;數(shù)字信號處理器;最小均方誤差算法;Matlab仿真
0 引 言
濾波是電子信息處理領(lǐng)域的一種最基本而又極其重要的技術(shù)。在有用信號的傳輸過程中,通常會受到噪聲或干擾的污染。利用濾波技術(shù)可以從復(fù)雜的信號中提取所需要的信號,同時(shí)抑制噪聲或干擾信號,以便更有效地利用原始信號。濾波器實(shí)際上是一種選頻系統(tǒng),它對某些頻率的信號予以很小的衰減,讓該部分信號順利通過;而對其他不需要的頻率信號則予以很大的衰減,盡可能阻止這些信號通過。在電子系統(tǒng)中濾波器是一種基本的單元電路,使用很多,技術(shù)也較為復(fù)雜,有時(shí)濾波器的優(yōu)劣直接決定產(chǎn)品的性能,所以很多國家非常重視濾波器的理論研究和產(chǎn)品開發(fā)。
1 自適應(yīng)濾波器簡介
自適應(yīng)濾波器屬于現(xiàn)代濾波器的范疇,自適應(yīng)濾波器是相對固定濾波器而言的,固定濾波器屬于經(jīng)典濾波器,它濾波的頻率是固定的,自適應(yīng)濾波器濾波的頻率則是自動適應(yīng)輸入信號而變化的,所以其適用范圍更廣。在沒有任何關(guān)于信號和噪聲的先驗(yàn)知識的條件下,自適應(yīng)濾波器利用前一時(shí)刻已獲得的濾波器參數(shù)來自動調(diào)節(jié)現(xiàn)時(shí)刻的濾波器參數(shù),以適應(yīng)信號和噪聲未知或隨機(jī)變化的統(tǒng)計(jì)特性,從而實(shí)現(xiàn)最優(yōu)濾波。所謂自適應(yīng)濾波,就是利用前一時(shí)刻已獲得的濾波器參數(shù)等結(jié)果,自動地調(diào)節(jié)現(xiàn)時(shí)刻的濾波器參數(shù),以適應(yīng)信號和噪聲未知的或隨時(shí)間變化的統(tǒng)計(jì)特性,從而實(shí)現(xiàn)最優(yōu)濾波。自適應(yīng)濾波器實(shí)質(zhì)上就是一種能調(diào)節(jié)其自身傳輸特性以達(dá)到最優(yōu)化的維納濾波器。
2 自適應(yīng)濾波原理
自適應(yīng)濾波器的特性變化是由自適應(yīng)算法通過調(diào)整濾波器系數(shù)來實(shí)現(xiàn)的。一般而言,自適應(yīng)濾波器由兩部分組成,一是濾波器結(jié)構(gòu),二是調(diào)整濾波器系數(shù)的自適應(yīng)算法。自適應(yīng)濾波器的結(jié)構(gòu)采用FIR或IIR結(jié)構(gòu)均可,由于IIR濾波器存在穩(wěn)定性問題,因此一般采用FIR濾波器作為自適應(yīng)濾波器的結(jié)構(gòu)。圖1給出了自適應(yīng)濾波器的一般結(jié)構(gòu)。
圖1為自適應(yīng)濾波器結(jié)構(gòu)的一般形式,圖中x(n)為輸入信號,通過參數(shù)可調(diào)的數(shù)字濾波器后產(chǎn)生輸出信號y(n),將輸出信號y(n)與標(biāo)準(zhǔn)信號(或者為期望信號)d(n)進(jìn)行比較,得到誤差信號e(n)。e(n)和x(n)通過自適應(yīng)算法對濾波器的參數(shù)進(jìn)行調(diào)整,調(diào)整的目的使得誤差信號e(n)最小。
自適應(yīng)濾波器設(shè)計(jì)中最常用的是FIR橫向型結(jié)構(gòu)。圖2是橫向型濾波器的結(jié)構(gòu)示意圖。
[!--empirenews.page--]
其中:x(n)為自適應(yīng)濾波器的輸入;w(n)為自適應(yīng)濾波器的沖激響應(yīng):w(n)={w(O),w(1),…,w(N-1)};y(n)為自適應(yīng)
3 自適應(yīng)濾波算法
自適應(yīng)濾波器除了包括一個(gè)按照某種結(jié)構(gòu)設(shè)計(jì)的濾波器,還有一套自適應(yīng)的算法。自適應(yīng)算法是根據(jù)某種判斷來設(shè)計(jì)的。自適應(yīng)濾波器的算法主要是以各種判據(jù)條件作為推算基礎(chǔ)的。通常有兩種判據(jù)條件:最小均方誤差判據(jù)和最小二乘法判據(jù)。LMS算法是以最小均方誤差為判據(jù)的最典型的算法,也是應(yīng)用最廣泛的一種算法。
最小均方誤差(Least Mean Square,LMS)算法是一種易于實(shí)現(xiàn)、性能穩(wěn)健、應(yīng)用廣泛的算法。所有的濾波器系數(shù)調(diào)整算法都是設(shè)法使y(n)接近d(n),所不同的只是對于這種接近的評價(jià)標(biāo)準(zhǔn)不同。LMS算法的目標(biāo)是通過調(diào)整系數(shù),使輸出誤差序列e(n)=d(n)-y(n)的均方值最小化,并且根據(jù)這個(gè)判據(jù)來修改權(quán)系數(shù),該算法因此而得名。誤差序列的均方值又叫“均方誤差”(Mean Sqluare Error,MSE)。
理想信號d(n)與濾波器輸出y(n)之差e(n)的期望值最小,并且根據(jù)這個(gè)判據(jù)來修改權(quán)系數(shù)wi(n)。由此產(chǎn)生的算法稱為LMS。均方誤差ε表示為:
對于橫向結(jié)構(gòu)的濾波器,代入y(n)的表達(dá)式:
其中:R=E[X(n)XT(n)]為N×N的自相關(guān)矩陣,它是輸入信號采樣值間的相關(guān)性矩陣。P=E[d(n)X(n)]為N×1互相關(guān)矢量,代表理想信號d(n)與輸入矢量的相關(guān)性。在均方誤差ε達(dá)到最小時(shí),得到最佳權(quán)系數(shù)它應(yīng)滿足下式:
這是一個(gè)線形方程組,如果R矩陣為滿秩的,R-1存在,可得到權(quán)系數(shù)的最佳值滿足:W*=R-1p。用完整的矩陣表示為:
顯然φx(m)=E[x(n)x(n-m)]為x(n)的自相關(guān)值,φxd(R)=E[x(n)d(n一k)]為x(n)與d(n)互相關(guān)值。在有些應(yīng)用中,把輸入信號的采樣值分成相同的一段(每段稱為一幀),再求出R,P的估計(jì)值得到每幀的最佳權(quán)系數(shù)。這種方法稱為塊對塊自適應(yīng)算法。如語音信號的線性預(yù)測編碼LPC就是把語音信號分成幀進(jìn)行處理的。R,P的計(jì)算,要求出期望值E,在現(xiàn)實(shí)運(yùn)算中不容易實(shí)現(xiàn),為此可通過下式進(jìn)行估計(jì):
用以上方法獲得最佳W*的運(yùn)算量很大,對于一些在線或?qū)崟r(shí)應(yīng)用的場合,無法滿足其時(shí)間要求。大多數(shù)場合使用迭代算法,對每次采樣值就求出較佳權(quán)系數(shù),稱為采樣值對采樣值迭代算法。迭代算法可以避免復(fù)雜的R-1和P的運(yùn)算,又能實(shí)時(shí)求得近似解,因而切實(shí)可行。LMS算法是以最快下降法為原則的迭代算法,即W(n+1)矢量是W(n)矢量按均方誤差性能平面的負(fù)斜率大小調(diào)節(jié)相應(yīng)一個(gè)增量:W(n+1)=W(n)-μ▽(n),這個(gè)“是由系統(tǒng)穩(wěn)定性和迭代運(yùn)算收斂速度決定的自適應(yīng)步長。▽(n)為n次迭代的梯度。對于LMS算法▽(n)為下式E[e2(n)]的斜率:
[!--empirenews.page--]
由上式產(chǎn)生了求解最佳權(quán)系數(shù)W*的兩種方法,一種是最陡梯度法。其思路為:設(shè)計(jì)初始權(quán)系數(shù)W(0),用W(n+1)=W(n)一μ▽(n)迭代公式計(jì)算,到W(n+1)與W(n)誤差小于規(guī)定范圍。其中▽(n)計(jì)算可用估計(jì)值表達(dá)式:
上式K取值應(yīng)足夠大。如果用瞬時(shí)一2e(n)X(n)來代替上面對-2E[e(n)X(n)]的估計(jì)運(yùn)算,就產(chǎn)生了另一種算法——隨機(jī)梯度法,即Widrow-Hoft的LMS算法。此時(shí)迭代公式為:
W(n+1)=W(n)+2ue(n)X(n)
以后討論的LMS算法都是基于WidrOW-Hoff的LMS算法。上式的迭代公式假定濾波器結(jié)構(gòu)為橫向結(jié)構(gòu)。對于對稱橫向型結(jié)構(gòu)也可推出類似的迭代公式:
W(n+1)=W(n)+2ue(n)[X(n)+X(n一N+1)]
4 自適應(yīng)濾波算法的理論仿真
使用Matlab編程,采用自適應(yīng)濾波器技術(shù)實(shí)現(xiàn)信噪分離,也就是去噪。程序如下:
程序運(yùn)行的結(jié)果如圖3所示。
通過CCS軟件環(huán)境,把濾波程序燒錄到DSP芯片中,在CCS DSK C5000環(huán)境下輸出仿真結(jié)果:輸入信號為余弦信號和隨機(jī)噪聲的疊加。程序正確運(yùn)行后,觀察運(yùn)行結(jié)果,得出如圖4,圖5所示的仿真圖。
5 結(jié) 語
通過仿真實(shí)驗(yàn)結(jié)果表明:自適應(yīng)濾波器卻能很好地消除疊加在信號上的噪聲,雖然也可以用固定濾波器來實(shí)現(xiàn),但設(shè)計(jì)固定濾波器時(shí)需要預(yù)先知道信號和噪聲的統(tǒng)計(jì)特性,而自適應(yīng)濾波器則不需要,并且當(dāng)信號和噪聲的統(tǒng)計(jì)特性發(fā)生變化時(shí),自適應(yīng)濾波器也能自動地調(diào)節(jié)其沖激響應(yīng)特性來適應(yīng)新的情況,因此,自適應(yīng)濾波器具有更加廣闊的應(yīng)用前景。