周勝文,石 俊,周云生,詹 磊
(北京遙測(cè)技術(shù)研究所 北京 100076)
歸一化最小均方誤差NLMS(Normalized Least Mean Square)算法是自適應(yīng)濾波應(yīng)用中最小均方誤差算法LMS族中最常用的一種算法。它的優(yōu)點(diǎn)是在輸入信號(hào)較大的情況下可避免梯度噪聲放大的干擾,因此具有更好的收斂特性。但是與LMS算法一樣,NLMS算法步長(zhǎng)的選擇對(duì)其性能的影響很大。小步長(zhǎng)可使濾波器收斂得更穩(wěn)定,但是收斂速度過(guò)慢;大步長(zhǎng)可以加快收斂速度,但是穩(wěn)態(tài)均方誤差較大。
為了解決收斂速度與穩(wěn)態(tài)誤差之間的矛盾,各種變步長(zhǎng)歸一化LMS(VSSNLMS)算法應(yīng)運(yùn)而生。VSSNLMS算法基本上遵循如下步長(zhǎng)調(diào)整原則:在初始收斂階段或未知系統(tǒng)參數(shù)發(fā)生變化時(shí),步長(zhǎng)比較大,以便有較快的收斂速度或?qū)r(shí)變系統(tǒng)的跟蹤速度;而在算法收斂后,應(yīng)保持較小的調(diào)整步長(zhǎng),以達(dá)到較小的穩(wěn)態(tài)誤差。
本文分析相關(guān)文獻(xiàn)中的變步長(zhǎng)NLMS 算法,在此基礎(chǔ)上提出一種新的基于多項(xiàng)式函數(shù)的變步長(zhǎng)NLMS算法,同時(shí)實(shí)現(xiàn)較快的收斂速度和較小的穩(wěn)態(tài)誤差,并且實(shí)時(shí)計(jì)算量較小,有利于工程應(yīng)用。
最小均方(LMS)算法是一種以瞬時(shí)誤差信號(hào)平方的梯度作為均方誤差函數(shù)梯度估計(jì)的線性自適應(yīng)濾波算法,其實(shí)現(xiàn)結(jié)構(gòu)簡(jiǎn)單,是一種使用廣泛的自適應(yīng)算法。但它對(duì)于初始收斂速度、時(shí)變系統(tǒng)跟蹤能力及穩(wěn)態(tài)誤差這三者的要求是相互矛盾的。
歸一化LMS(NLMS)算法[1]通過(guò)對(duì)迭代步長(zhǎng)因子進(jìn)行歸一化,來(lái)確保自適應(yīng)濾波算法收斂的穩(wěn)定性。但是和LMS算法一樣,它的收斂速度和穩(wěn)態(tài)誤差也要受到步長(zhǎng)的控制,步長(zhǎng)大則收斂速度較快而穩(wěn)態(tài)誤差較大,步長(zhǎng)小則收斂速度較慢而穩(wěn)態(tài)誤差較小,因此需要采用變步長(zhǎng)算法實(shí)現(xiàn)收斂速度和穩(wěn)態(tài)誤差的平衡。
變步長(zhǎng)LMS(VSSLMS)算法[2,3]能同時(shí)獲得較快的初始收斂速度、時(shí)變系統(tǒng)跟蹤能力以及較小的穩(wěn)態(tài)誤差。但是對(duì)于脈沖信號(hào)而言,在脈沖間歇期內(nèi)無(wú)有用信號(hào),而VSSLMS的步長(zhǎng)因子μ(n)在脈沖間歇期內(nèi)仍然繼續(xù)減小,導(dǎo)致在下一個(gè)有用脈沖信號(hào)到來(lái)時(shí)刻,步長(zhǎng)因子μ(n)變得太小,不能起到快速收斂的作用。
因此,諸多文獻(xiàn)將VSSLMS算法和NLMS算法相結(jié)合,提出變步長(zhǎng)歸一化LMS算法,它兼具初始收斂速度快、時(shí)變跟蹤能力強(qiáng)、穩(wěn)態(tài)誤差小、對(duì)輸入信號(hào)適應(yīng)性強(qiáng)等優(yōu)點(diǎn)。各種VSSNLMS算法的不同在于變步長(zhǎng)因子的選取不同,VSSNLMS的濾波器權(quán)矢量更新基本公式為
式中,W(n)為濾波器的權(quán)矢量,X(n)為輸入信號(hào)矢量,e(n)為誤差信號(hào)。文獻(xiàn)[4,5]提出一種基于sigmoid函數(shù)的VSSNLMS算法(SF-VSSNLMS),其變步長(zhǎng)因子為
式中參數(shù)α主要用來(lái)控制步長(zhǎng)的變化范圍,參數(shù)β主要用來(lái)控制步長(zhǎng)變化函數(shù)的陡峭程度。該算法具有較快的收斂速度和時(shí)變跟蹤能力,然而由于sigmoid函數(shù)的本身缺陷使步長(zhǎng)因子在誤差e(n)接近零處存在較大的變化,不具備緩慢變化的特點(diǎn),導(dǎo)致在算法收斂后仍存在較大的穩(wěn)態(tài)誤差。
文獻(xiàn)[6]基于指數(shù)函數(shù)的VSSLMS算法和文獻(xiàn)[7]基于指數(shù)函數(shù)的VSSNLMS算法(EF-VSSNLMS),變步長(zhǎng)因子都為
該算法在誤差e(n)接近零處具有緩慢變化的特點(diǎn),克服了SF-VSSNLMS算法在穩(wěn)態(tài)收斂階段步長(zhǎng)變化較大的不足。同時(shí),算法具有較好的收斂速度。其缺點(diǎn)是抗噪聲能力不強(qiáng),影響該算法在低信噪比環(huán)境下的精度。
文獻(xiàn)[8–10]提出的算法可以歸納為基于鐘形函數(shù)的VSSNLMS算法(BSF-VSSNLMS),其變步長(zhǎng)因子為
式中μmax是鐘形函數(shù)的上界,選擇為可收斂步長(zhǎng)的最大值,a與b決定了函數(shù)曲線的形狀,影響收斂速度和穩(wěn)態(tài)誤差。b決定了小步長(zhǎng)與大步長(zhǎng)之間過(guò)渡帶的坡度,b越大,過(guò)渡帶步長(zhǎng)變化越快,曲線越陡峭。a決定了小步長(zhǎng)的誤差范圍,從而決定了系統(tǒng)穩(wěn)態(tài)范圍。
文獻(xiàn)[11,12]提出的算法可以歸納為基于余弦函數(shù)的VSSNLMS算法(CF-VSSNLMS),其變步長(zhǎng)因子為
式中參數(shù)β控制步長(zhǎng)曲線的取值范圍,影響算法的收斂速度;α控制步長(zhǎng)曲線在誤差接近零時(shí)的形狀。
文獻(xiàn)[13]提出的基于雙曲正割函數(shù)(hyperbolic secant function)的VSSNLMS算法(HSF-VSSNLMS),其變步長(zhǎng)因子為
式中α、β、γ為控制步長(zhǎng)因子的調(diào)節(jié)參數(shù),α用于控制步長(zhǎng)傾斜度,α值越大,步長(zhǎng)函數(shù)收斂速度越快;β用于控制步長(zhǎng)的變化范圍,β越大,步長(zhǎng)函數(shù)范圍越大;γ用于控制步長(zhǎng)函數(shù)的衰減速度,γ越大,步長(zhǎng)函數(shù)的衰減越快。
從前節(jié)可以看出,各種變步長(zhǎng)NLMS算法的變步長(zhǎng)因子都是基于指數(shù)、余弦、雙曲正割等復(fù)雜函數(shù),在工程實(shí)現(xiàn)時(shí)變步長(zhǎng)的實(shí)時(shí)更新需要進(jìn)行查表計(jì)算。由于實(shí)際誤差值e(n)在不同的輸入信號(hào)帶寬時(shí)存在較大范圍波動(dòng),為了實(shí)現(xiàn)對(duì)不同e(n)值變步長(zhǎng)因子的計(jì)算,查詢(xún)表的規(guī)模會(huì)非常大。本文提出一種基于多項(xiàng)式函數(shù)的VSSNLMS算法(PF-VSSNLMS),其變步長(zhǎng)因子是實(shí)時(shí)誤差值e(n)的多項(xiàng)式組合,非常方便實(shí)時(shí)計(jì)算。PF-VSSNLMS的變步長(zhǎng)因子為
式中參數(shù)α和β決定了變步長(zhǎng)函數(shù)曲線的形狀,影響收斂速度和穩(wěn)態(tài)誤差。β決定了小步長(zhǎng)和大步長(zhǎng)之間過(guò)渡帶的坡度,β越大,過(guò)渡帶坡度越大,曲線越陡峭;α決定了步長(zhǎng)的取值范圍,α越大,步長(zhǎng)取值范圍越小。
圖1 α和β取值對(duì)變步長(zhǎng)因子的影響Fig.1 Influences of α and β on variable step size factor
參數(shù)α和β取不同值時(shí)變步長(zhǎng)因子如圖1所示。從圖1可以看出,參數(shù)α和β的取值范圍應(yīng)該適中,取值太小會(huì)導(dǎo)致收斂速度過(guò)慢,取值太大會(huì)導(dǎo)致穩(wěn)態(tài)誤差過(guò)大,本文中選取α=4、β=16進(jìn)行算法仿真以及性能分析對(duì)比。
在不同輸入信號(hào)帶寬和不同信噪比條件下,利用Matlab軟件對(duì)PF-VSSNLMS算法進(jìn)行蒙特卡洛仿真,并與基于指數(shù)函數(shù)、sigmoid函數(shù)、雙曲正割函數(shù)、余弦函數(shù)、鐘形函數(shù)的VSSNLMS算法進(jìn)行性能對(duì)比。仿真時(shí)采樣頻率fs=1000MHz,采樣點(diǎn)數(shù)N=2048,濾波器階數(shù)K=128,蒙特卡洛仿真次數(shù)為100次。
PF-VSSNLMS算法及其他五種同類(lèi)算法在信噪比SNR為3dB、0dB、–3dB時(shí)自適應(yīng)濾波收斂曲線如圖2所示。從圖2(a2)、(b2)、(c2)三張局部放大圖可以看出,PF-VSSNLMS算法在不同信噪比條件下,收斂速度較快,穩(wěn)態(tài)誤差較小,性能優(yōu)于其他同類(lèi)算法。
圖2 PF-VSSNLMS算法和同類(lèi)算法在不同信噪比條件下收斂曲線對(duì)比Fig.2 Comparison of convergence curves of PF-VSSNLMS and other VSSNLMS algorithms in different SNR
仿真時(shí)信噪比SNR=0dB,信號(hào)頻率f0=20MHz,分別在信號(hào)帶寬為0MHz和20MHz條件下對(duì)PF-VSSNLMS算法和其他同類(lèi)算法進(jìn)行100次蒙特卡洛仿真。不同輸入信號(hào)條件下算法收斂曲線如圖3所示。從圖3可以看出,隨著輸入信號(hào)的改變,PF-VSSNLMS算法在不調(diào)整參數(shù)的情況下,相比其他同類(lèi)算法,收斂速度更快,穩(wěn)態(tài)誤差更小。
圖3 PF-VSSNLMS算法和同類(lèi)算法在不同輸入信號(hào)帶寬條件下收斂曲線對(duì)比Fig.3 Comparison of convergence curves of PF-VSSNLMS and other VSSNLMS algorithms in different input signal bandwidths
本文結(jié)合現(xiàn)有變步長(zhǎng)歸一化LMS算法的優(yōu)點(diǎn),從工程實(shí)際應(yīng)用角度出發(fā),采用多項(xiàng)式函數(shù)進(jìn)行變步長(zhǎng)因子調(diào)節(jié),提出PF-VSSNLMS算法。該算法步長(zhǎng)調(diào)節(jié)參數(shù)少,實(shí)時(shí)運(yùn)算量小,在低信噪比條件下具有較快的收斂速度和較小的穩(wěn)態(tài)誤差,而且在不同輸入信號(hào)帶寬條件下,算法的收斂曲線比較穩(wěn)定,相比其他同類(lèi)算法整體性能更好。PF-VSSNLMS算法計(jì)算量不大,易于硬件實(shí)現(xiàn),具有一定的工程應(yīng)用價(jià)值,后續(xù)將繼續(xù)開(kāi)展硬件平臺(tái)的驗(yàn)證實(shí)現(xiàn)等工作。