《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 一種新的變步長(zhǎng)LMS自適應(yīng)濾波算法在DSP上的實(shí)現(xiàn)
一種新的變步長(zhǎng)LMS自適應(yīng)濾波算法在DSP上的實(shí)現(xiàn)
摘要: 提出了一種新的變步長(zhǎng)LMS自適應(yīng)濾波算法,該算法具有良好的收斂性能,較快的收斂速度,較小的穩(wěn)態(tài)誤差.良好的魯棒性,并且在求變步長(zhǎng)因子時(shí)計(jì)算量較小。
Abstract:
Key words :

Widrow和Hoff等人于1960年提出最小均方誤差(LMS)算法,由于其結(jié)構(gòu)簡(jiǎn)單,計(jì)算量小,穩(wěn)定性好,易于實(shí)現(xiàn)等優(yōu)點(diǎn)而得到廣泛的應(yīng)用。LMS算法的缺點(diǎn)是收斂速度慢,它克服不了收斂速度和穩(wěn)態(tài)誤差這一對(duì)固有矛盾:在收斂的前提下,如果步長(zhǎng)取較大值,雖然收斂速度能得到提高,但穩(wěn)態(tài)誤差會(huì)隨之增大,反之穩(wěn)態(tài)誤差雖然降低但收斂速度就會(huì)變慢。為解決這一矛盾,人們提出了許多改進(jìn)型自適應(yīng)算法。其中很大一類(lèi)是變步長(zhǎng)LMS算法。文獻(xiàn)[4]提出Sigmoid函數(shù)變步長(zhǎng)LMS算法(SVSLMS)。該算法在初始階段或未知系統(tǒng)的系數(shù)參數(shù)發(fā)生變化時(shí),其步長(zhǎng)較大,從而使該算法有較快的收斂速度;而在算法收斂后,不管主輸入端干擾信號(hào)e(n)有多大,都保持很小的調(diào)整步長(zhǎng),從而獲得較小的穩(wěn)態(tài)失調(diào)噪聲。但Sigmoid函數(shù)過(guò)于復(fù)雜,且在誤差e(n)接近零處變化太大,不具有緩慢變化的特性,使得SVSLMS算法在自適應(yīng)穩(wěn)態(tài)階段仍有較大的步長(zhǎng)變化;文獻(xiàn)[5]提出的算法引入了多個(gè)調(diào)整參數(shù),因而步長(zhǎng)因子不易設(shè)計(jì)和控制;文獻(xiàn)[6-8]提出了3種與誤差信號(hào)成非線(xiàn)性關(guān)系的步長(zhǎng)設(shè)計(jì)方法,該類(lèi)算法具有較好的收斂性能,但3種算法在計(jì)算步長(zhǎng)因子時(shí),都存在指數(shù)運(yùn)算。在數(shù)字信號(hào)處理中,進(jìn)行一次指數(shù)運(yùn)算需要的計(jì)算量,相當(dāng)于進(jìn)行多次乘法運(yùn)算的計(jì)算量。

因此這類(lèi)算法在實(shí)現(xiàn)時(shí),增大了計(jì)算復(fù)雜度。為克服上述變步長(zhǎng)LMS自適應(yīng)濾波器存在的不足,在此提出了一種新的變步長(zhǎng)LMS自適應(yīng)濾波算法,該算法具有良好的收斂性能,較快的收斂速度,較小的穩(wěn)態(tài)誤差.良好的魯棒性,并且在求變步長(zhǎng)因子時(shí)計(jì)算量較小。

1 新的變步長(zhǎng)LMS算法分析

基本的固定步長(zhǎng)LMS算法的迭代公式可以表述為:



式中:X(n)表示時(shí)刻n的輸入信號(hào)矢量;W(n)表示時(shí)刻n自適應(yīng)濾波器的權(quán)系數(shù);d(n)是期望輸出值;e(n)是誤差;μ是控制穩(wěn)定性和收斂速度的參量(步長(zhǎng)因子)。本文基于文獻(xiàn)[6,7]建立一個(gè)步長(zhǎng)μ(n)和誤差e(n)的函數(shù)關(guān)系:反正切函數(shù)是一個(gè)關(guān)于自變量的增函數(shù),且在零附近變化平緩,而且是一個(gè)有界函數(shù),函數(shù)值不會(huì)發(fā)散。根據(jù)W(k+1)=W(k)=w*=最佳Wiener解,即2μ(n)e(n)X(n)=0并且0<μ(n)<1/λmax,即∣e(n)X(n)∣=0,求得e(n)最小值。
根據(jù)上述討論,可將新算法的變步長(zhǎng)μ(n)取為:

μ(n)=βαtan(α∣e(n)X(n)∣)

初始時(shí)刻∣e(n)X(n)∣很大,由于反正切是一個(gè)自變量的增函數(shù),所以μ(n)較大;隨著算法不斷地向穩(wěn)態(tài)趨近,∣e(n)X(n)∣不斷減小,μ(n)也隨之不斷減小;當(dāng)達(dá)到穩(wěn)態(tài)時(shí),∣e(n)X(n)∣很小,μ(n)也很小,此時(shí)的穩(wěn)態(tài)失調(diào)誤差也很小。

由圖1可看出α越大,相同誤差水平時(shí)的步長(zhǎng)也越大,但在誤差接近為零時(shí)步長(zhǎng)變化越劇烈。圖2是β取不同值時(shí)的步長(zhǎng)變化曲線(xiàn),可以看出隨著β的減小步長(zhǎng)也在減小。

 



2 仿真及結(jié)果分析

下面通過(guò)計(jì)算機(jī)仿真來(lái)驗(yàn)證算法的收斂性能。仿真條件為:自適應(yīng)濾波器的階數(shù)為L(zhǎng)=2;未知系統(tǒng)的FIR系數(shù)為W=[0,0]T;參考輸入信號(hào)x(n)是零均值,方差為1的高斯白噪聲;v(n)為與x(n)不相關(guān)的高斯白噪聲。分別做200次獨(dú)立的仿真,采樣點(diǎn)數(shù)為1 000,然后求其統(tǒng)計(jì)平均,得出學(xué)習(xí)曲線(xiàn)。

圖3是α固定,不同β值對(duì)應(yīng)的收斂曲線(xiàn)。隨著β值的增大,算法的收斂速度逐漸加快。圖4是β保持不變,不同α值對(duì)應(yīng)的收斂曲線(xiàn),隨著α逐漸減小,算法的誤差也隨之減小,但達(dá)到穩(wěn)態(tài)的時(shí)間逐漸增加。

文獻(xiàn)[7]提出了一種改進(jìn)的變步長(zhǎng)LMS算法,其步長(zhǎng)變化為e(n)X(n)的函數(shù):

μ(n)=β[1-exp(-α∣e(n)x(n)∣2)]

該算法取α=15,β=0.3。圖5是在第500個(gè)采樣點(diǎn)時(shí)刻未知系統(tǒng)發(fā)生時(shí)變,系數(shù)矢量變?yōu)閃=[0.2,0.5]T時(shí)本文算法與文獻(xiàn)[7]算法的比較,分別做500次獨(dú)立的仿真,然后求其統(tǒng)計(jì)平均,得出學(xué)習(xí)曲線(xiàn)??梢钥闯霰疚乃鏊惴ň哂懈斓氖諗克俣?,更快地回到穩(wěn)態(tài),說(shuō)明此算法具有更好的魯棒性,并且計(jì)算量更小。

 


本文使用TI公司的TMS320C5402芯片,該芯片采用哈佛體系結(jié)構(gòu),具有高度并行性,同時(shí)擁有高度集成的指令系統(tǒng),簡(jiǎn)化編成過(guò)程,模塊化結(jié)構(gòu)程序設(shè)計(jì)增強(qiáng)了程序的可移植性。

程序在CCS環(huán)境下編譯,鏈接生成公共目標(biāo)代碼文件,再load到DSP中運(yùn)行。本文采用C語(yǔ)言編程。圖6為被噪聲污染的輸入信號(hào),圖7為濾波后的信號(hào)。比較兩圖可以看出,混合信號(hào)經(jīng)過(guò)本文算法處理后噪聲得到了很好的抑制,而原始信號(hào)得到了明顯的加強(qiáng)和改善。

 

3 在DSP上的具體實(shí)現(xiàn)
 



4 結(jié)語(yǔ)

本文提出了一種新的變步長(zhǎng)LMS算法。該算法通過(guò)對(duì)最佳Wiener解的分析,并用反正切函數(shù)建立了步長(zhǎng)因子μ(n)與誤差e(n)的非線(xiàn)性函數(shù)關(guān)系。本算法具有初始階段和未知系統(tǒng)時(shí)變階段步長(zhǎng)自動(dòng)增大而穩(wěn)態(tài)時(shí)步長(zhǎng)很小的特點(diǎn),且具有良好的魯棒性和較小的計(jì)算量。通過(guò)在DSP上的實(shí)現(xiàn),說(shuō)明此算法具有可實(shí)行,并且實(shí)現(xiàn)方法簡(jiǎn)單,濾波效果好。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。