肖 瑋,劉思蔚,2,唐宇龍,李 明
(1.陸軍勤務(wù)學(xué)院,重慶 401311;2.解放軍63798 部隊,四川 西昌 615000)
自適應(yīng)最小均方誤差(least mean squares,LMS)濾波算法是1960 年由Widrow 和Hoff 首次提出的。其原理是基于最速下降法,沿權(quán)值梯度估計值的負(fù)方向進(jìn)行搜索,直到達(dá)到權(quán)值最優(yōu)為止。算法原理簡單、魯棒性好、計算量小、易于實現(xiàn),廣泛應(yīng)用于導(dǎo)彈引信、雷達(dá)、聲納、通信、導(dǎo)航和工業(yè)控制領(lǐng)域的信號處理中[1-5]。步長因子是影響LMS 自適應(yīng)濾波算法收斂速度和穩(wěn)態(tài)誤差的一個重要因素[5-7]。步長因子較大時,算法雖然收斂速度快,但穩(wěn)態(tài)誤差亦較大;反之,穩(wěn)態(tài)誤差雖小,但收斂速度也較慢。上述矛盾一直制約著LMS 自適應(yīng)濾波算法的進(jìn)一步推廣應(yīng)用。為此,學(xué)術(shù)界開展了大量變步長LMS 自適應(yīng)濾波算法的研究[8-14]?;舅悸肥峭ㄟ^構(gòu)造步長因子與穩(wěn)態(tài)誤差的非線性關(guān)系,使收斂初始階段的步長因子較大,以便獲得更快的收斂速度;當(dāng)算法收斂后,則以較小的步長因子確保獲得較小的穩(wěn)態(tài)誤差。
Sigmoid 函數(shù)表達(dá)式如式(1)所示,是一個在值域(0,1)之間、形如S 曲線的非線性函數(shù)[15]。當(dāng)自變量x>0 時,Sigmoid 函數(shù)的一階導(dǎo)數(shù)先變大再變小,十分符合LMS 自適應(yīng)濾波算法對步長因子的動態(tài)變化要求。文獻(xiàn)[12]通過設(shè)計步長因子μ(k)是誤差e(k)的Sigmoid 函數(shù)(如式(2)所示),提出了基于Sigmoid 函數(shù)的變步長LMS(sigmoid variable step LMS,SVSLMS)自適應(yīng)濾波算法。仿真表明SVSLMS算法在計算量增加不多的前提下,能同時獲得較快的收斂和較小的穩(wěn)態(tài)誤差。但當(dāng)誤差趨向于零處時,SVSLMS 算法存在步長因子波動過大、不穩(wěn)定的問題。文獻(xiàn)[12]提出變步長歸一化LMS(variable step normalized LMS,VSNLMS)算法,設(shè)計了式(3)所示的步長因子與誤差的函數(shù)關(guān)系,新函數(shù)比Sigmoid函數(shù)簡單,且在誤差接近零處具有緩慢變化的特性,從一定程度上克服了SVSLMS 算法的不足。但式(3)中參數(shù)α 和β 需通過實驗獲得。文獻(xiàn)[16]結(jié)合SVSLMS 算法收斂快和歸一化最小均方算法(normalized LMS,NLMS)[17]誤差低的特性,提出了一種改進(jìn)的變步長VSNLMS 算法,設(shè)計了如式(4)所示的步長因子與誤差的新關(guān)系。式(4)中相關(guān)參數(shù)同樣需要大量仿真實驗選取。
綜上所述,變步長LMS 自適應(yīng)濾波算法雖然從一定程度上解決了LMS 自適應(yīng)濾波算法穩(wěn)態(tài)誤差和收斂速度難以兼顧的問題,具有重要研究意義和應(yīng)用價值,但在構(gòu)造步長因子與誤差的非線性關(guān)系中仍存在上述諸多問題。為此,本文提出一種基于對稱非線性函數(shù)的變步長LMS 自適應(yīng)濾波算法。通過自變量取絕對值、疊加非線性拉伸量改進(jìn)Sigmoid函數(shù),構(gòu)造一個對稱非線性函數(shù)用于表示步長因子與穩(wěn)態(tài)誤差的非線性關(guān)系。該對稱非線性函數(shù)具有能夠根據(jù)誤差動態(tài)調(diào)整步長、更快達(dá)到收斂狀態(tài)的特點。然后根據(jù)構(gòu)造的對稱非線性函數(shù)和輸入信號功率生成歸一化變步長因子,解決噪聲逐級放大的問題,進(jìn)一步提高算法的濾波效果。本文重點對構(gòu)造對稱非線性函數(shù)和生成歸一化變步長因子等關(guān)鍵技術(shù)進(jìn)行了闡述,并通過大量對比仿真實驗驗證了算法的有效性。
基于對稱非線性函數(shù)的變步長LMS 自適應(yīng)濾波算法的基本思想如下頁圖1 所示。
圖1 基于對稱非線性函數(shù)的變步長LMS 自適應(yīng)濾波算法Fig.1 Variable step size LMS adaptive filter algorithm based on symmetric non-linear function
1)輸入采樣信號x(k),0<k<N,N 表示采樣點數(shù)。
3)構(gòu)造期望信號d(k)[18]。首先對輸入信號x(k)采樣延遲m 點,得到采樣延遲信號x(m+k),m∈(0,N)。然后對x(m+k)求自相關(guān)得到rx(m)。最后將rx(m)作為濾波器的期望信號,完成d(k)的構(gòu)造。
式中,rsn(m)和rns(m)分別表示周期為T 的信號s(k)和隨機(jī)噪聲n(k)的互相關(guān)。由于n(k)為隨機(jī)噪聲,因此,n(k)與s(k)不相關(guān),rsn(m)和rns(m)近似為零。rn(m)是隨機(jī)噪聲n(k)的自相關(guān)函數(shù),當(dāng)m>M 時,rn(m)衰減很快,近似為零。由自相關(guān)函數(shù)性質(zhì)可知,rs(m)是以T 為周期的周期函數(shù)時,rx(m)也呈現(xiàn)以周期為T 的變化。
4)得到誤差信號。通過k 時刻的輸出信號y(k)與期望信號d(k)相減,得到k 時刻的誤差信號e(k)。
5)構(gòu)造對稱非線性函數(shù)(如式(8)所示)。對Sigmoid 函數(shù)進(jìn)行改進(jìn),解決Sigmoid 函數(shù)在自變量趨于0 時,其函數(shù)值波動過大的問題。
重點介紹算法中對稱非線性函數(shù)的構(gòu)造和歸一化變步長因子的生成等關(guān)鍵技術(shù)。
為繼承Sigmoid 函數(shù)能根據(jù)誤差動態(tài)調(diào)整步長的優(yōu)點,解決其在誤差趨向于零時,步長因子波動過大、不穩(wěn)定的問題,本文基于Sigmoid 函數(shù)改進(jìn)構(gòu)造一個對稱非線性函數(shù)用于表示步長因子與穩(wěn)態(tài)誤差的非線性關(guān)系。其數(shù)學(xué)表達(dá)式如式(8)所示。具體步驟如下:
圖2 對稱非線性函數(shù)構(gòu)造示意圖Fig.2 Sketch map of strucure of symmetric non-linear function
度,避免濾波器收斂時步長發(fā)生較大變化。圖4 給出了β 分別取0.5、1、1.5、2,α=1 時,誤差和步長因子的仿真關(guān)系圖。由圖4 可知,當(dāng)誤差為2、β 為1.5和2 時,步長因子的取值最大,即此時濾波器收斂速度快,正朝著誤差減小的方向快速收斂;隨著誤差逐漸減小,步長因子變化由快到慢,特別是當(dāng)臨近收斂狀態(tài)時,步長因子逐步減小到零。因此,該參數(shù)條件下濾波器性能較好。當(dāng)誤差為2、β=1 時,較β為1.5 和2 的仿真結(jié)果,其整體變化趨勢相同,只是當(dāng)誤差較大時,步長因子變化略慢;當(dāng)誤差接近零時,步長因子變化略快。當(dāng)誤差值為2、β=0.5 時,步長因子近乎以固定速率變化,在誤差較大時,存在收斂速度慢的問題;但當(dāng)誤差臨近零時,又因收斂速度過快對穩(wěn)態(tài)誤差造成較大影響引起系統(tǒng)振蕩,因此,β=0.5 不可取。通過以上分析及圖3 可知,β 越大,模型性能越優(yōu)。但當(dāng)β 取值過大(大于3)時將導(dǎo)致計算量陡增,系統(tǒng)處理時間變長。且過大的β 將使步長因子在誤差較大時減小到一個較小值,導(dǎo)致系統(tǒng)的收斂速度變慢。當(dāng)β≥1 時,才能使系統(tǒng)在接近收斂時不會由于步長因子的變化造成穩(wěn)態(tài)失調(diào)。綜上,算法中β 的取值范圍為[1,3]。
圖3 步長因子與誤差的函數(shù)模型曲線圖(β=1,α=0.5、1、5、10)Fig.3 Function model curve of step factor and error(β=1,α=0.5、1、5、10)
圖4 步長因子與誤差的函數(shù)模型曲線圖(α=1,β=0.5、1、1.5、2)Fig.4 Function model curve of step factor and error(α=1,β=0.5、1、1.5、2)
為驗證算法有效性,在MATLAB 環(huán)境中對本文算法、SVSLMS 算法和VSNLMS 算法從以下方面進(jìn)行了對比實驗:1)低信噪比;2)信噪比變化;3)信號頻率變化;4)濾波器階數(shù)變化;5)延遲采樣點數(shù)變化。實驗以目標(biāo)距離為7.000 m 的線性調(diào)頻連續(xù)波(linear frequency modulated continuous wave,LFMCW)雷達(dá)差拍信號為實驗對象,相關(guān)參數(shù)如表1 所示,對應(yīng)差拍信號頻率約為10.85 kHz。所加噪聲為加性高斯白噪聲,信噪比設(shè)置為-10 dB,濾波器延遲50 個采樣點,階數(shù)為128。濾波后的信號采用快速傅立葉變換(fast fourier transformation,F(xiàn)FT)進(jìn)行頻率估計。共進(jìn)行了1 000 次Monte_Carlo 實驗。
表1 LFMCW 雷達(dá)參數(shù)設(shè)定表Table 1 LFMCW radar parameter setting table
3.1.1 去噪性能
圖5 給出了本文算法、SVSLMS 算法和VSNLMS 算法在-10 dB 低信噪比條件下的去噪性能對比圖。由圖5 可知:較經(jīng)SVSLMS 算法和VSNLMS 算法濾波后的信號,經(jīng)本文算法濾波后的信號突出的毛刺更少,信號波形更貼合無噪聲信號波形,表明本文算法在實驗所示的低信噪比條件下去噪效果優(yōu)于其他兩種算法。
圖5 SNR=-10 dB 時濾波前后波形對比圖Fig.5 Front and back waveform comparision figure with SNR=-10 dB
3.1.2 收斂速度
圖6 給出了本文算法、SVSLMS 算法、VSNLMS算法以及固定步長LMS 算法在-10 dB 低信噪比條件下的收斂速度對比圖。由圖6 可知:本文算法的均方誤差較其余3 種算法能更快到達(dá)收斂狀態(tài),且收斂狀態(tài)的均方誤差更小。表明本文算法去噪效果較其他3 種算法有所提高且穩(wěn)定性好。同時,4 種算法達(dá)到收斂狀態(tài)的迭代次數(shù)依次為[6、15、10、180]次,表明本文算法的收斂速度快于其他3 種算法。
圖6 均方誤差隨迭代次數(shù)變化圖Fig.6 Variation figure of mean square error with iteration times
3.1.3 步長因子變化條件下
圖7 給出了本文算法、SVSLMS 算法和VSNLMS 算法在-10 dB 低信噪比條件下步長因子的變化對比圖。由圖7 可知:在算法到達(dá)穩(wěn)態(tài)前,本文算法的步長因子更大,即具有更快的收斂速度。在達(dá)到穩(wěn)態(tài)后,較其余兩種算法,本文算法的步長因子波動幅度更小,能更快到達(dá)穩(wěn)定狀態(tài)。
圖7 步長因子隨迭代次數(shù)變化圖Fig.7 Variation figure of step factor with iteration times
為比較本文算法、SVSLMS 算法、VSNLMS 算法以及固定步長LMS 算法在不同信噪比條件下的去噪性能,在信噪比依次設(shè)定為[-13、-11、-9、-7、-5、-3、-1、1、3、5、7]dB 的條件下進(jìn)行了11 組實驗。
由圖8 所示的實驗結(jié)果可知:經(jīng)上述4 種算法濾波后,信號頻率估計值的均方根誤差(root mean square error,RMSE)均隨著信噪比的增大而減小,但經(jīng)本文算法濾波的均小于其他3 種算法,且沒有出現(xiàn)較大波動,更貼近克拉美羅下限(cramer-rao lower bound,CRLB)。表明本文算法在實驗所示不同信噪比條件下均有較好的濾波效果,且性能穩(wěn)定。
圖8 信噪比變化條件下RMSE 變化曲線圖Fig.8 RMSE variation curve under the signal-to-noise ratio change condition
為比較本文算法、SVSLMS 算法、VSNLMS 算法以及固定步長LMS 自適應(yīng)濾波算法在信號頻率變化條件下的去噪性能,通過改變目標(biāo)距離實現(xiàn)差拍信號頻率變化,在圖9 所示的信號頻率變化條件下進(jìn)行了11 組仿真實驗。由圖9 可知:經(jīng)本文算法濾波后,在信號不同頻率點的RMSE 維持在1.20 Hz左右,SVSLMS 算法、VSNLMS 算法和固定步長LMS自適應(yīng)濾波算法的RMSE 分別為2.80 Hz、1.70 Hz和3.90 Hz 左右。經(jīng)4 種算法濾波后,信號頻率估計值的RMSE 隨著信號頻率的增加略有增加,但經(jīng)本文算法濾波后信號頻率估計值的RMSE 明顯小于其他3 種算法,表明本文算法在不同頻率點均有較好的濾波效果,且性能穩(wěn)定。
圖9 信號頻率變化條件下RMSE 變化曲線圖Fig.9 RMSE variation curve under the signal frequency change condition
為比較本文算法、SVSLMS 算法、VSNLMS 算法以及固定步長LMS 自適應(yīng)濾波算法在濾波器階數(shù)變化條件下的去噪性能,在濾波器階數(shù)依次設(shè)定為[32、64、96、128、160、192、224、256、288]條件下進(jìn)行9 組實驗。由圖10 所示的實驗結(jié)果可知:經(jīng)4 種算法濾波后,信號頻率估計值的RMSE 均隨著濾波器階數(shù)的增加而減小,經(jīng)本文算法濾波后信號頻率估計值的RMSE 在上述濾波器階數(shù)條件下均小于其他3 種方法,且沒有出現(xiàn)較大的波動,濾波性能較穩(wěn)定。
圖10 濾波器階數(shù)變化條件下RMSE 變化曲線圖Fig.10 RMSE variation curve under the filter order change condition
為比較本文算法、SVSLMS 算法、VSNLMS 算法以及固定步長LMS 自適應(yīng)濾波算法在延遲采樣點數(shù)變化條件下的去噪性能,在濾波器延遲采樣點數(shù)依次設(shè)置為[30、40、50、60、70、80、90、100、110]的條件下進(jìn)行了9 組實驗。由圖11 所示的實驗結(jié)果可知,本文算法在不同延遲采樣點數(shù)的RMSE 基本維持在1.10 Hz 左右,SVSLMS 算法、VSNLMS 算法和固定步長LMS 自適應(yīng)濾波算法的均方根誤差RMSE 分別為2.80 Hz、1.80 Hz 和3.80 Hz 左右。經(jīng)4種算法濾波后,信號頻率估計值的RMSE 隨著延遲采樣點數(shù)的增加略有減小,但經(jīng)本文算法濾波后,信號頻率估計值的RMSE 明顯小于其他3 種算法,表明本文算法在各延遲采樣點數(shù)均有較好的濾波效果,且在不同延遲采樣點數(shù)性能穩(wěn)定。
圖11 延遲采樣點數(shù)變化條件下RMSE 變化曲線圖Fig.11 RMSE curve under the condition of the different delay sampling point
針對LMS 自適應(yīng)濾波算法的收斂速度和濾波性能難以同時達(dá)到最佳的問題,本文設(shè)計了一種基于對稱非線性函數(shù)的變步長LMS 自適應(yīng)濾波算法。重點對對稱非線性函數(shù)的構(gòu)造和歸一化變步長因子的生成等關(guān)鍵技術(shù)進(jìn)行了闡述。為繼承Sigmoid 函數(shù)能夠根據(jù)誤差動態(tài)調(diào)整步長的優(yōu)點,首先通過自變量取絕對值、疊加非線性拉伸量對Sigmoid 函數(shù)進(jìn)行改進(jìn),構(gòu)造一個對稱非線性函數(shù)用于刻畫步長因子與穩(wěn)態(tài)誤差的非線性關(guān)系。構(gòu)造的對稱非線性函數(shù)具有能夠根據(jù)誤差動態(tài)調(diào)整步長、更快達(dá)到收斂狀態(tài)的特點。然后根據(jù)構(gòu)造的對稱非線性函數(shù)和輸入信號功率生成歸一化變步長因子,解決噪聲逐級放大的問題,進(jìn)一步提高算法的濾波效果同時,加速收斂。最后,將本文算法和幾種典型LMS 算法在MATLAB 中進(jìn)行了對比實驗。實驗結(jié)果表明:較幾種典型LMS 算法,本文算法在低信噪比條件下、信噪比變化條件下、信號頻率變化條件下、濾波器階數(shù)變化條件下、延遲采樣點數(shù)變化條件下,具有更好的濾波效果、更優(yōu)的穩(wěn)定性和更快的收斂速度。