楊 坡,劉鑄華
(中國(guó)船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225001)
一種改進(jìn)的歸一化LMS算法
楊 坡,劉鑄華
(中國(guó)船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225001)
傳統(tǒng)的歸一化最小二乘(LMS)算法可以解決算法收斂速度和采樣信號(hào)收斂誤差之間的矛盾。通過(guò)對(duì)收斂步長(zhǎng)的歸一化處理,從而減小收斂過(guò)程的穩(wěn)態(tài)誤差。但是,這種算法卻將收斂的步長(zhǎng)變?yōu)楣潭?,不利于算法的快速收斂。為此,提出一種改進(jìn)的歸一化LMS算法,將Sigmoid 函數(shù)變步長(zhǎng)最小均方(SVSLMS)算法與歸一化LMS算法結(jié)合,提高了歸一化LMS算法的收斂速度。仿真結(jié)果表明,該算法性能較之歸一化LMS算法、SVSLMS算法和普通LMS算法均更優(yōu)異。
歸一化最小二乘算法;Sigmoid 函數(shù)變步長(zhǎng)最小均方算法;收斂速度
傳統(tǒng)的最小二乘(LMS)算法因?yàn)榱己玫淖赃m應(yīng)性能而被廣泛應(yīng)用于雷達(dá)通信領(lǐng)域。然而,普通的LMS算法存在著收斂后穩(wěn)態(tài)誤差和收斂速度之間的矛盾[1]。當(dāng)采用的算法收斂步長(zhǎng)因子較大時(shí),能加快收斂速度,但是穩(wěn)態(tài)誤差卻也同時(shí)變大;反之,能帶來(lái)較低的收斂速度和較小的穩(wěn)態(tài)誤差[2-3]。但是,系統(tǒng)應(yīng)用往往需要較快的收斂速度的同時(shí)有著較小的穩(wěn)態(tài)誤差。歸一化的LMS算法通過(guò)將收斂步長(zhǎng)因子對(duì)信號(hào)功率歸一化,從而解決了收斂速度和穩(wěn)態(tài)誤差這對(duì)矛盾。但是此時(shí),歸一化后的步長(zhǎng)因子為固定的,不利于更好地對(duì)收斂進(jìn)行加速。下面,將Sigmoid 函數(shù)變步長(zhǎng)最小均方(SVSLMS)算法與歸一化的LMS算法[4]進(jìn)行結(jié)合,從而對(duì)歸一化的LMS算法進(jìn)行快速收斂?jī)?yōu)化。
將SVSLMS變步長(zhǎng)算法和歸一化的LMS算法進(jìn)行結(jié)合,從而使結(jié)合后的算法同時(shí)具備變步長(zhǎng)加快收斂速度和平衡收斂速度及穩(wěn)態(tài)誤差的雙重效果。相對(duì)SVSLMS和歸一化LMS算法,結(jié)合后的算法性能明顯改善。
1.1 LMS算法
LMS算法通過(guò)對(duì)系統(tǒng)輸出與期望響應(yīng)之間的誤差迭代收斂,從而使得系統(tǒng)輸出最終穩(wěn)定為期望響應(yīng)。迭代過(guò)程中,誤差逐步變小,當(dāng)誤差小于一定范圍時(shí),迭代結(jié)束。LMS算法一般應(yīng)用于自適應(yīng)濾波過(guò)程。每次迭代后的系統(tǒng)輸出與期望響應(yīng)之間的誤差作為反饋值參與到下一輪的迭代過(guò)程中,通過(guò)系數(shù)不斷調(diào)整,使得系統(tǒng)輸出收斂于期望響應(yīng)附近。
一般的LMS算法步驟如下:
(1) 采樣信號(hào)系數(shù)起始設(shè)置:
W(0)=0
(1)
(2) 計(jì)算每次輸入樣本對(duì)應(yīng)的輸出值:
y(n)=WT(n)X(n)
(2)
(3) 與期望信號(hào)d(n)對(duì)比,每次產(chǎn)生樣本信號(hào)對(duì)應(yīng)的誤差:
e(n)=d(n)-y(n)
(3)
(4) 對(duì)采樣信號(hào)系數(shù)進(jìn)行迭代更新:
W(n+1)=W(n)+2μX(n)e(n)
(4)
然后對(duì)系數(shù)迭代更新過(guò)程進(jìn)行反復(fù)操作,其中要使得迭代結(jié)果收斂,則步長(zhǎng)因子μ應(yīng)該具備0<μ<1/λmax條件,λmax為采樣信號(hào)自相關(guān)矩陣的最大特征值。通過(guò)選擇不同的補(bǔ)償因子,可以調(diào)整收斂的速度。但是,當(dāng)為了提高收斂速度而加大μ時(shí),其穩(wěn)態(tài)誤差會(huì)加大。因此,引入歸一化的LMS算法。
1.2 歸一化LMS算法
歸一化的LMS算法通過(guò)改變步長(zhǎng)因子來(lái)解決算法的收斂速度和穩(wěn)態(tài)誤差之間的矛盾。補(bǔ)償因子需要用輸入信號(hào)的功率值進(jìn)行歸一化處理,從而得到與輸入信號(hào)功率有關(guān)的變步長(zhǎng)因子μ,該因子隨著輸入功率改變而改變,從而實(shí)現(xiàn)較高收斂速度下較低的穩(wěn)態(tài)誤差[5]。對(duì)于歸一化的過(guò)程可以歸納如下:
(1) 歸一化步長(zhǎng)因子計(jì)算:
(5)
(6)
(2) 權(quán)系數(shù)更新過(guò)程:
(7)
此時(shí)的步長(zhǎng)因子隨著輸入功率的改變而改變,從而使得歸一化LMS算法同時(shí)具備收斂速度及穩(wěn)態(tài)誤差雙重保證。這里的γ是為了避免假分?jǐn)?shù)出現(xiàn)而設(shè)定的微小量。歸一化后的LMS算法雖然解決了收斂速度與穩(wěn)態(tài)誤差之間的矛盾,但是步長(zhǎng)因子僅由輸入功率唯一決定,一旦輸入信號(hào)確定,步長(zhǎng)因子在整個(gè)迭代過(guò)程中固定,這樣不利于收斂算法的加速。為此,接下來(lái)介紹一種加速收斂過(guò)程的變步長(zhǎng)SVSLMS算法。
1.3 SVSLMS算法
為最快取得收斂值,陳景繁等學(xué)者提出了SVSLMS算法,其步長(zhǎng)μ(n)有如下的形式:
(8)
隨著誤差減小,步長(zhǎng)因子逐步跟著變小。當(dāng)收斂開(kāi)始時(shí),誤差較大,迭代步長(zhǎng)因子也較大,可以使得樣本快速收斂。當(dāng)逐漸進(jìn)入算法收斂后,誤差的減小使得步長(zhǎng)因子變小,從而實(shí)現(xiàn)穩(wěn)態(tài)誤差的減小。β為步長(zhǎng)因子取值范圍決定項(xiàng),α則會(huì)影響收斂算法的最終穩(wěn)態(tài)誤差。通過(guò)步長(zhǎng)因子在迭代過(guò)程中隨誤差改變而改變的過(guò)程,從而實(shí)現(xiàn)算法收斂的加速進(jìn)行。但是,收斂速度的快慢僅隨著誤差的改變而改變,并不能充分考慮到樣本量的權(quán)重。
在此,可以發(fā)現(xiàn)歸一化的LMS算法雖然可以通過(guò)用輸入功率進(jìn)行步長(zhǎng)因子的歸一化,從而實(shí)現(xiàn)收斂速度與收斂穩(wěn)態(tài)誤差的平衡,但卻把步長(zhǎng)因子固定為僅由輸入功率唯一決定的固定量。而SVSLMS算法雖然可以加快算法的收斂過(guò)程,但是收斂過(guò)程只隨著誤差改變而改變,并不能得到較好的收斂速度與穩(wěn)態(tài)誤差平衡。這里,將這2種算法進(jìn)行結(jié)合,以使得算法同時(shí)具備2種算法的優(yōu)點(diǎn)。
1.4 改進(jìn)的歸一化LMS算法
對(duì)歸一化的LMS算法引入SVSLMS算法的思想,從而實(shí)現(xiàn)2種算法的結(jié)合。此時(shí),提出一種改進(jìn)的歸一化LMS算法,其步長(zhǎng)因子的表達(dá)形式如下:
(9)
權(quán)系數(shù)迭代過(guò)程如下:
W(n+1)=W(n)+2μ(n)X(n)e(n)
(10)
通過(guò)分析歸一化LMS算法、SVSLMS算法及改進(jìn)算法在信號(hào)自適應(yīng)處理中的應(yīng)用,可以了解改進(jìn)算法的性能。仿真中取信號(hào)為余弦信號(hào),幅度為1,噪聲為20 dB高斯白噪聲,分別采用歸一化LMS算法、SVSLMS算法及改進(jìn)算法對(duì)信號(hào)進(jìn)行濾波,期望信號(hào)為未加噪聲的余弦信號(hào),幅度為4。其中SVSLMS算法及改進(jìn)算法中采用的β=2,α=20。歸一化LMS算法中采用的μ=0.1。通過(guò)對(duì)3種算法的收斂速度、穩(wěn)態(tài)誤差對(duì)比來(lái)了解改進(jìn)算法的性能改善。
分別對(duì)比圖1和圖2,圖4和圖5,可以發(fā)現(xiàn)歸一化LMS算法雖然較之SVSLMS算法有穩(wěn)態(tài)誤差小的特點(diǎn),但是,歸一化LMS算法明顯比SVSLMS算法的收斂速度慢。由圖1、圖2、圖3對(duì)比可見(jiàn),歸一化LMS算法的誤差大致在40次迭代處穩(wěn)定下來(lái),SVSLMS算法在15次左右穩(wěn)定下來(lái),而改進(jìn)算法在10次左右穩(wěn)定下來(lái)??梢?jiàn)改進(jìn)算法吸取了SVSLMS算法快速收斂的特點(diǎn)。而對(duì)比圖4、圖5、圖6可見(jiàn),歸一化LMS算法和改進(jìn)算法較之SVSLMS算法的穩(wěn)態(tài)誤差要小,可見(jiàn)改進(jìn)算法吸取了歸一化LMS算法的穩(wěn)態(tài)誤差小的特點(diǎn)。
分析比較了歸一化LMS算法、SVSLMS算法和改進(jìn)算法的收斂速度和穩(wěn)態(tài)誤差性能,改進(jìn)算法分別吸取了歸一化LMS算法穩(wěn)態(tài)誤差小的特點(diǎn)和SVSLMS算法的快速收斂特點(diǎn),通過(guò)算法的結(jié)合取雙方優(yōu)點(diǎn)來(lái)彌補(bǔ)相互的缺點(diǎn),從而實(shí)現(xiàn)算法性能的提升。改進(jìn)算法在收斂速度和穩(wěn)態(tài)誤差性能上均有較大提升。
[1] 成磊,葛臨東.變步長(zhǎng) LMS 算法性能比較與仿真[J].信息工程大學(xué)學(xué)報(bào),2004,4(4):70-73.
[2] 李楊,韓鵬,檀虎.幾種變步長(zhǎng) LMS 算法的性能分析與比較[J].國(guó)外電子測(cè)量技術(shù),2013(3):28-30.
[3] 呂春英,敖偉,張洪順.一種新的變步長(zhǎng) LMS 算法[J].通信技術(shù),2011,44(3):11-14.
[4] 張銀行,楊輝媛,宋志國(guó).基于歸一化 LMS 算法的自適應(yīng)濾波器設(shè)計(jì)[J].吉首大學(xué)學(xué)報(bào),2012,33(2):54-56.
[5] 曾召華,劉貴忠,趙建平.LMS 和歸一化 LMS 算法收斂門(mén)限與步長(zhǎng)的確定[J].電子與信息學(xué)報(bào),2004,25(11):1469-1474.
AnImprovedNormalizedLMSAlgorithm
YANG Po,LIU Zhu-hua
(The 723 Institute of CSIC,Yangzhou 225001,China)
The traditional normalized least mean square (LMS) algorithm can solve the contradiction between convergence speed of the algorithm and convergence error of the sampled signals.By normalizing the convergence step-size,the steady-state error of convergence process is reduced.But this algorithm turns the convergence step-size into fixed value,which is unfavorable to fast convergence of the algorithm.Thus this paper proposes an improved normalized LMS algorithm,which combines the Sigmoid variable step-size least mean square (SVSLMS) algorithm with the normalized LMS algorithm,improves the convergence speed of normalized LMS algorithm.Simulation results show that the performance of the proposed algorithm is better than that of normalized LMS algorithm,SVSLMS algorithm and ordinary LMS algorithm.
normalized least mean square algorithm;Sigmoid variable step-size least mean square algorithm;convergence speed
TN911.7
:A
:CN32-1413(2017)04-0059-03
10.16426/j.cnki.jcdzdk.2017.04.015
2017-05-17