賀洪江,王春霞
(河北工程大學(xué)信息與電氣工程學(xué)院,河北邯鄲 056038)
最小均方(LMS)算法是由Widrow和Hoff兩人在1960年提出的,由于其計算復(fù)雜度低、易于實現(xiàn)等優(yōu)點[1],廣泛應(yīng)用于自適應(yīng)控制、系統(tǒng)辨識、信號處理和噪聲抵消等領(lǐng)域,同時自適應(yīng)濾波器在通信、雷達(dá)、工業(yè)控制、地震預(yù)報及生物醫(yī)學(xué)電子學(xué)等領(lǐng)域也已經(jīng)有了越來越廣泛的應(yīng)用。初始收斂速度、對時變系統(tǒng)跟蹤能力、穩(wěn)態(tài)誤差以及抗噪聲干擾能力是衡量LMS算法優(yōu)劣的重要性能指標(biāo)[2,3]。傳統(tǒng)LMS算法中固定步長的取值不同會影響算法的性能。減小步長取值可以降低穩(wěn)態(tài)誤差,但會降低算法的收斂速度和對時變系統(tǒng)的跟蹤能力;增大步長取值可以提高收斂速度,但會增大穩(wěn)態(tài)誤差。傳統(tǒng)的固定步長的LMS算法的大收斂速度和小穩(wěn)態(tài)誤差不能同時滿足,這就要求在收斂速度和穩(wěn)態(tài)誤差2個性能指標(biāo)之間權(quán)衡。為此,人們提出了多種變步長 LMS 自適應(yīng)濾波算法[3~10]。
文獻(xiàn)[4]中提出的SVSLMS算法的收斂速度較快,但在自適應(yīng)穩(wěn)態(tài)階段的步長變化較大,穩(wěn)態(tài)誤差也較大。文獻(xiàn)[5]中提出的G-SVSLMS算法是在SVSLMS的基礎(chǔ)上進(jìn)行了改進(jìn),穩(wěn)態(tài)步長變化比較緩慢,收斂速度也較快。文獻(xiàn)[6]提出一種新的變步長函數(shù),具有在初始階段和未知系統(tǒng)時變時步長自動增大而在穩(wěn)態(tài)時步長很小的特點,但收斂速度需要進(jìn)一步提高。SVSLMS和G-SVSLMS算法的步長受誤差調(diào)節(jié),抗噪聲能力比較低。
本文算法采用輸入信號與誤差信號不相關(guān)的特點,用誤差信號的自相關(guān)時間均值來調(diào)節(jié)步長,并用絕對估計誤差的擾動量以更新自適應(yīng)濾波器的抽頭向量,算法性能較上述算法有較大的優(yōu)越性。
LMS算法的基本原理是基于最速下降法,即沿著權(quán)值的梯度估值的負(fù)方向搜索,達(dá)到權(quán)值最優(yōu),實現(xiàn)濾波器的輸出信號與期望輸出信號之間的LMS誤差。自適應(yīng)濾波的原理框圖[7]如圖1所示。
圖1 自適應(yīng)濾波器原理框圖Fig 1 Principle diagram of adaptive filter
圖1中,x(n)為n時刻的輸入信號矢量;y(n)為輸出信號;v(n)為噪聲信號;d(n)為期望輸出信號;e(n)為d(n)和y(n)之間的誤差信號估計;通過誤差信號e(n)調(diào)節(jié)自適應(yīng)濾波器抽頭權(quán)向量,使自適應(yīng)濾波器收斂至穩(wěn)定狀態(tài)?;谧钏傧陆捣ǖ腖MS算法公式[8]如下
式中w(n)為n時刻N(yùn)階自適應(yīng)濾波器的權(quán)系數(shù);μ為控制穩(wěn)定性和收斂性能的參量即步長因子。LMS算法收斂時,步長因子μ的取值范圍為:0<μ<1/λmax,λmax為輸入信號自相關(guān)矩陣的最大特征值。
變步長LMS算法的基本思想[9,10]是:在初始收斂階段或者系統(tǒng)參數(shù)發(fā)生時變的時候,最優(yōu)權(quán)值與自適應(yīng)濾波器的權(quán)值相距較遠(yuǎn),為了保證能有較快的收斂速度和對時變系統(tǒng)的跟蹤速度,選取較大的步長μ;在算法接近收斂時,濾波器的權(quán)值接近最優(yōu)權(quán)值,為了減少算法的穩(wěn)態(tài)誤差,選取較小的步長μ?;谶@種思想,本文在前人研究的基礎(chǔ)上,通過在步長參數(shù)μ(n)與誤差信號e(n)之間建立一種新的非線性函數(shù)關(guān)系來調(diào)節(jié)步長,提出一種新的變步長LMS算法,本文算法步長因子函數(shù)和權(quán)系數(shù)更新公式如下
式中α為控制函數(shù)形狀的常數(shù),決定曲線上升的快慢;β為控制函數(shù)取值范圍的常數(shù)。α,β分別變化時步長因子μ(n)和誤差e(n)的關(guān)系曲線如圖2和圖3所示。
圖2 α=1,β變化時μ(n)與e(n)的關(guān)系曲線Fig 2 Relation curves with μ(n)and e(n)when α =1 and different β
圖3 β=1,α變化時μ(n)與e(n)的關(guān)系曲線Fig 3 Relation curves with μ(n)and e(n)when β =1 and different α
由圖2可知,當(dāng)α固定時,β取值越大,步長初始值也越大,收斂速度也越快,同時穩(wěn)態(tài)誤差也越大;β取值越小,步長初始值也越小,收斂速度也越慢,穩(wěn)態(tài)誤差也越小。由圖3可知,當(dāng)β固定時,α取值變化時也具有同樣的特點,同時,在|e(n)|>1.3時步長變化不明顯,但α越大時步長也越大,收斂速度也越快。e(n)趨近于0時,步長變化也較緩慢。由以上分析可知,新算法穩(wěn)態(tài)時步長變化平滑,克服了SVSLMS算法e(n)接近0時步長變化太大的缺點。算法性能由α和β共同決定,當(dāng)要求較快的收斂速度時,2個參數(shù)的取值都應(yīng)該較大,當(dāng)要求較小的穩(wěn)態(tài)誤差時,2個參數(shù)的取值都應(yīng)該較小,在實際應(yīng)用中根據(jù)環(huán)境的不同來確定最佳取值。
式(4)中的kγ(n)(|e(n)|-|e(n-1)|)為本文算法絕對估計誤差的擾動量。傳統(tǒng)算法采用隨機(jī)梯度調(diào)整抽頭權(quán)向量,每次迭代時的估計誤差e(n)的正負(fù)并不確定,抽頭權(quán)向量的調(diào)整只能圍繞w0震蕩。本文用絕對估計誤差能更好地表示估計信號偏離期望信號的程度,擾動量可以對w(n)進(jìn)行正反向調(diào)節(jié)來加快算法的初始收斂速度。通過γ(n)擾動量幅度因子,把擾動量對w(n)的調(diào)節(jié)控制在一個最佳水平。γ(n)以式(5)的指數(shù)形式衰減,其中,p<1。在迭代次數(shù)比較少時,擾動量對w(n)的影響較大,隨著迭代次數(shù)的增加,γ(n)趨近于0,e(n)的波動幾乎不會對w(n)造成影響,從而使穩(wěn)態(tài)誤差抑制在較低的水平。為了加強(qiáng)算法的抗噪性能,本文算法中用式(3)的誤差向量自相關(guān)值e(n)e(n-1)來調(diào)節(jié)步長。設(shè)自適應(yīng)濾波器抽頭權(quán)向量的維納解為w0,令Δw=w(n)-w0為n時刻權(quán)系數(shù)矢量與最佳值之差,期望信號的介入噪聲為ξ(n),與x(n)不相關(guān),則有
由式(6)、式(7)得
設(shè)噪聲功率為σ2,由系統(tǒng)特性可知
由式(12)和式(13)可知,誤差自相關(guān)函數(shù)只與輸入信號有關(guān),而與噪聲無關(guān)。SVSLMS算法用誤差調(diào)節(jié)步長,GSVSLMS算法用誤差功率調(diào)節(jié)步長,導(dǎo)致在低信噪比條件下性能惡化。本文算法的噪聲抑制能力優(yōu)于上述算法。
1)自適應(yīng)濾波器階數(shù)L=2;
2)未知系統(tǒng)的 FIR 系數(shù)為w1=[0.8,0.5]T;
3)參考輸入信號x(n)是均值為0,方差為1的高斯白噪聲;
4)v(n)為與x(n)不相關(guān)的高斯白噪聲,其均值為0,方差為1;
5)在本文實驗條件下對三種算法進(jìn)行了大量的仿真,測定了三種算法性能最優(yōu)時的參數(shù)取值范圍,參數(shù)取值如下:SVSLMS算法中α=150,β=0.07;G-SVSLMS算法中α=450,β=0.06;本文算法中α=1500,β=0.05,γ(0)=0.4,p=0.4;
6)采樣點數(shù)為1000,分別做500次獨立仿真,然后通過求其統(tǒng)計平均,得出學(xué)習(xí)曲線。
本文算法和SVSLMS算法及G-SVSLMS算法收斂曲線的比較如圖4所示。
圖4 三種不同算法收斂曲線Fig 4 Convergence curve of three different algorithm
圖4中的三條收斂曲線從上到下依次為SVSLMS算法、G-SVSLMS算法和本文算法的收斂曲線。由圖3可知,本文算法的收斂速度快于SVSLMS算法和G-SVSLMS算法,穩(wěn)態(tài)誤差小于SVSLMS算法和G-SVSLMS算法的穩(wěn)態(tài)均方誤差較接近,本文算法有效抑制了隨機(jī)噪聲對信號的干擾,在綜合性能上優(yōu)于SVSLMS算法和G-SVSLMS算法,驗證了前文對算法性能的分析。
系統(tǒng)發(fā)生時變時的總采樣點數(shù)為1000,系統(tǒng)在第500個采樣點時刻未知系統(tǒng)發(fā)生時變,未知系統(tǒng)的FIR系數(shù)由原來的w1=[0.8,0.5]T變?yōu)閣2=[0.7,0.5,0.2]T,做500次獨立仿真,求其統(tǒng)計平均,得出系統(tǒng)發(fā)生時變時本文算法收斂曲線如圖5所示。
圖5 本文算法發(fā)生時變時收斂曲線Fig 5 Convergence curve when this algorithm have time-varying
由圖可以看出:本文算法在系統(tǒng)發(fā)生時變時同樣具有很快的收斂速度,因此,本文算法在綜合性能上優(yōu)于SVSLMS算法和G-SVSLMS算法的同時仍具有較好地對時變系統(tǒng)的跟蹤能力。
本文通過在步長因子與誤差信號之間建立一種新的非線性函數(shù)數(shù),同時引入絕對估計的擾動量,提出了一種新的變步長LMS自適應(yīng)濾波算法,較好地解決了收斂速度和穩(wěn)態(tài)誤差之間的矛盾。理論分析與仿真驗證顯示,本文算法不僅初始收斂速度、穩(wěn)態(tài)誤差和抗噪性能均優(yōu)于傳統(tǒng)的幾種算法,而且具有較好的對時變系統(tǒng)的跟蹤能力。
[1]Diniz P S R.自適應(yīng)濾波算法與實現(xiàn)[M].劉郁林,譯.北京:電子工業(yè)出版社,2004:48.
[2]Diniz P S R.Adaptive filtering:Algorithms and practical implementation[M].2nd ed.USA:Spring,2002.
[3]葉水生,余榮貴,吳 霄,等.一種新的自適應(yīng)最小均方算法及其應(yīng)用研究[J].電測與儀表,2008,45(511):9.
[4]覃景繁,歐陽景正.一種新的變步長自適應(yīng)濾波算法[J].數(shù)據(jù)采集與處理,1997,12(3):171 -174.
[5]高 鷹,謝勝利.一種變步長LMS自適應(yīng)濾波算法及分析[J].電子學(xué)報,2001,29(8):1094 -1097.
[6]李方偉,張 浩.一種新的變步長LMS自適應(yīng)濾波算法及其仿真[J].重慶郵電大學(xué)學(xué)報:自然科學(xué)版,2009,21(5):591-594.
[7]Irusta U,Ruiz de G S,Ruiz J,et al.A variable step size LMS algorithm for the suppression of the CPR artifact from a VF signal[J].Computers in Cardiology,2005,48(4):179 -182.
[8]Mohammad Z U R,Ahamed S R,Koti R D V R.Cancellation of artifacts in ECG signals using sign based normalized adaptive filtering technique[C]//2009 IEEE Symposium on Industrial Electronics and Applications,ISIEA 2009,Kuala Lumpur,Malaysia,2009:442- 445.
[9]羅小東,賈振紅,王 強(qiáng).一種新的變步長LMS自適應(yīng)濾波算法[J].電子學(xué)報,2006,34(6):1123 -1126.
[10]Givens M.Enhanced convergence normalized LMS algorithm[J].IEEE Signal Processing Magazine,2009,26(3):81 -95.