劉 牮,李 彧
(上海理工大學 光電信息與計算機工程學院,上海200093)
?
一種用于信號估計的改進變步長LMS算法
劉牮,李彧
(上海理工大學 光電信息與計算機工程學院,上海200093)
為了改善現(xiàn)有的變步長LMS自適應(yīng)算法在對帶有噪聲的信號估計中存在步長調(diào)節(jié)參數(shù)較多、收斂速度慢、不易調(diào)節(jié)、對噪聲較為敏感等現(xiàn)象,綜合已有的變步長算法提出了一種基于升余弦窗函數(shù)與誤差延時相結(jié)合的可調(diào)節(jié)的變步長算法,給出理論分析的同時利用MATLAB建模仿真驗證,表明該算法能進一步提高收斂速度的同時,確保在低信噪比環(huán)境下能順利提取期望信號。經(jīng)過改進的升余弦窗函數(shù)可以做到僅調(diào)節(jié)一個參數(shù)即可完成信號估計,驗證的結(jié)果表明,該算法在收斂速度與穩(wěn)態(tài)失調(diào)上均優(yōu)于其他變步長算法,具有一定的工程實用價值。
LMS算法;自適應(yīng)信號估計;變步長;收斂速度;MATLAB
信號采樣估計系統(tǒng)中由于引入噪聲導(dǎo)致所估計的結(jié)果包含較大的誤差。由于噪聲屬于隨機信號,呈現(xiàn)為分布在全頻段內(nèi)的隨機信號,這導(dǎo)致了傳統(tǒng)意義上的FIR或其他數(shù)字濾波方法,針對特定頻率段信號濾除的功能在對于白噪聲的濾除上無法達到滿意效果。自適應(yīng)濾波算法可以利用輸入信號與濾波器輸出信號的差值作為反饋來不斷調(diào)整濾波器的系數(shù),從而達到理想的濾除噪聲效果。
隨著自適應(yīng)概念的提出,LMS(Least Mean Square)算法在自適應(yīng)濾波方面由于工程實現(xiàn)簡單,收斂速度理想,廣泛應(yīng)用在信號估計、噪聲濾除、系統(tǒng)辨識等領(lǐng)域。自適應(yīng)算法中收斂速度、穩(wěn)態(tài)失調(diào)量、跟蹤速度、穩(wěn)態(tài)誤差是衡量算法優(yōu)劣的判別因素,其中收斂速度與穩(wěn)態(tài)失調(diào)量是最關(guān)鍵的兩個因素。傳統(tǒng)LMS算法中收斂步長為固定值,一般是比較小的數(shù),當步長較大時收斂速度較快,能很快地使誤差收斂在一個穩(wěn)定震蕩的范圍內(nèi),這個誤差無法消除[1-2]。當選擇較小的步長時雖然可以使誤差縮小但導(dǎo)致收斂時間大大增加[3]。為了解決這一矛盾,許多改進的算法被提出[4-10],這些算法基本遵循一個規(guī)則,當系統(tǒng)初始工作時誤差較大,應(yīng)當使用較大的步長因子,隨著時間的增加,系統(tǒng)反饋的誤差逐漸縮小時步長隨之變小,降低系統(tǒng)的收斂速度,進一步減小系統(tǒng)輸出誤差。比較有代表性的變步長是文獻[6-9]提出的基于非線性算法的步長調(diào)整。文獻[3]29提出利用sigmoid函數(shù)修改步長,但隨著誤差的縮小,該函數(shù)在零誤差附近步長變化較為劇烈,容易導(dǎo)致系統(tǒng)輸出震蕩,影響算法精度。文獻[9]654提出的基于指數(shù)函數(shù)的變步長大大改進了收斂速度,但在噪聲干擾的情況下,多次誤差反饋后噪聲信號仍然保持相關(guān)性,對噪聲濾除的效果并不理想。文獻[6,8]95,98針對此現(xiàn)象引入了延遲因子,較好地修正了噪聲對信號估計的影響,但由于引入了較大的延時使其收斂速度有所降低。文獻[7,10]1824,2336提出的改進算法兼顧了較快的收斂速度與保持低信噪比下較小的穩(wěn)態(tài)誤差,但引入的步長函數(shù)所涉及的參數(shù)較多,給系統(tǒng)的調(diào)試帶來了不便。
綜上所述,本文在現(xiàn)有的步長調(diào)整原則下,提出了一種基于升余弦窗函數(shù)的步長調(diào)整算法。該算法能改善sigmoid函數(shù)收斂速度的同時,同樣能滿足低信噪比下對包含噪聲的信號的估計,同時減少了調(diào)整參數(shù),更加便于工程實踐。
1.1LMS算法原理分析
引入帶噪聲信號估計的模型,該模型圖如圖1所示。
圖1 LMS算法估計帶噪信號模型圖
該模型中S為待估計信號,N為噪聲,D為延時單元,F(xiàn)IR為自適應(yīng)濾波器,O為輸出,輸出為期望信號中包含的噪聲的最優(yōu)估計,實際上是對期望信號中的噪聲做最優(yōu)估計,誤差e(n)對FIR濾波器的系數(shù)進行自動調(diào)節(jié)。將輸入的信號(期望信號與噪聲的疊加)減去輸出即可得到所估計的不含噪聲的信號。
LMS算法是基于遞推梯度下降的方法,尋找誤差最小化的最優(yōu)方程解,從而得出FIR濾波器各階系數(shù),其迭代公式如下:
(1)
(2)
(3)
式中:W是濾波器的權(quán)系數(shù)向量,通常濾波器選擇FIR型濾波器,因為FIR濾波器為穩(wěn)定系統(tǒng),并且可以保證線性相位。e(n)是誤差,用于反饋調(diào)節(jié)濾波器系數(shù);d(n)是期望信號,用于和濾波器輸出做差;μ就是步長因子,LMS算法要求μ的取值為:
(4)
該處Px為:
(5)
式中:N為采樣點數(shù);M為濾波器階數(shù)。由式(1)和式(2)得:
(6)
式中:e(n)是與輸入信號有關(guān)的誤差。該誤差在圖1所示的系統(tǒng)中代表了對噪聲的估計。將理想d(n)表示為[11]:
(7)
式中:W*為理想濾波器系數(shù);e*為理想估計下的噪聲信號。假設(shè):
(8)
表示濾波器真實系數(shù)與理想系數(shù)的偏差,式(7)減去式(6),再對e(n)求平方得:
(9)
當引入e(n)e(n-1)[6]96作為步長調(diào)節(jié)因子時:
(10)
由于延時后導(dǎo)致X(n)和e*(n)不相關(guān)[12],則對式(10)兩邊取期望得:
(11)
由于輸入噪聲為隨機白噪聲,對于延遲一個單位的白噪聲來說,已經(jīng)變?yōu)椴幌嚓P(guān)信號,所以在使用e(n)e(n-1)代入計算步長因子時,已經(jīng)可以起到噪聲抑制的作用,從而估計出原始信號[8]98。
由上述分析可以得知,為了在有噪聲環(huán)境下提取希望信號,必須加入一定的延時,針對白噪聲的情況下,施加一個單位延時即可。
1.2LMS算法改進
基于文獻[3]28所提出的步長因子變化準則以及之前所分析的引入一定延時的誤差乘積作為步長因子調(diào)整的輸入?yún)?shù)[13-14],現(xiàn)提出基于升余弦窗的步長變化函數(shù):
(12)
升余弦窗函數(shù)是為了減小采樣序列中頻譜泄露而引入的截斷采樣序列的函數(shù),是一種邊緣滾降平緩,并且具有比指數(shù)函數(shù)更加陡峭的衰減特性。該特性可以滿足步長因子變化的準則,分析式(12)隨著參數(shù)的變化,當α取0.7,β分別取不同的值時μ(n)的變化。
圖2為β分別取512、256、128、64時的升余弦窗函數(shù)的波形圖,在MATLAB中繪圖時將迭代次數(shù)設(shè)置為64次。
圖2 α=0.7 時不同β下的步長變化曲線
從圖2中可以看出,在迭代次數(shù)不變的情況下,β的值可以調(diào)節(jié)曲線的衰減程度,當?shù)螖?shù)固定,β值增大時,曲線衰減程度降低,如果β遠遠大于迭代次數(shù)時,在迭代次數(shù)范圍內(nèi)觀察步長曲線時有可能會導(dǎo)致迭代完畢后仍然無法使e(n)收斂,造成算法失調(diào)。當?shù)螖?shù)固定,β值逐漸減小時,可以觀察出步長因子曲線衰減程度逐漸增加,當β減小至于迭代點數(shù)相同時呈現(xiàn)標準升余弦窗函數(shù)圖形,該β值為臨界值,如果繼續(xù)減小β,則可能導(dǎo)致在步長因子調(diào)整的過程中違背其變化準則,出現(xiàn)大幅度震蕩或不收斂的情況。β的取值推導(dǎo)過程如下,對濾波器權(quán)系數(shù)公式(3)兩邊取數(shù)學期望得:
(13)
式中:W*為濾波器最佳系數(shù)的維納解;R為輸入信號的自相關(guān)矩陣E[X(n)XT(n)]。對于該矩陣可以轉(zhuǎn)換為對角矩陣與其正交特征向量的乘積,為了使得LMS算法收斂,μ的值應(yīng)該滿足如下條件
(14)
(15)
此處,K為迭代次數(shù),當滿足以上條件時,調(diào)節(jié)β值可獲得較滿意的收斂速度。
針對β值不變的情況,不同的α值會對步長因子曲線帶來影響,選取迭代次數(shù)為64次,當β取128時,不同的α對步長因子曲線的影響如圖3。
圖3 β=128 時不同的α下步長變化曲線
從圖3中可以看出,當α為0.7時,具有最大衰減程度的步長變化曲線,圖3中的4條曲線均滿足步長因子變化趨勢,隨著迭代次數(shù)的增多,誤差逐漸縮小趨向于零。α=0.7時,此時誤差最大,表示具有1.4的誤差,由于在含噪聲信號的估計中多次迭代的誤差均為比較小的數(shù),因此選定一個合適的α值后一般不需要再次調(diào)整,在本文所提到的信號估計系統(tǒng)中,多次迭代的誤差均小于1。為穩(wěn)妥起見,可將該值設(shè)為0.7,如在實際測試過程中發(fā)現(xiàn)無法收斂時,調(diào)節(jié)該參數(shù)。
經(jīng)過以上分析可以發(fā)現(xiàn)α和β都能起到調(diào)節(jié)步長因子的作用,相對于α來講,β的調(diào)節(jié)范圍更廣,可以理解為β屬于粗調(diào)整,α屬于細微調(diào)整,系統(tǒng)初次調(diào)試時可以將α設(shè)置為稍大一些的值,在帶噪信號估計的工程實踐中甚至可以固定使α=0.7,僅調(diào)節(jié)β即可獲得滿意的收斂效果。
為對比本文算法與其他算法在收斂速度與均方誤差上的性能,在MATLAB下設(shè)計程序,輸入信號為零均值,方差為1的高斯白噪聲,此處僅僅測試對于輸入高斯白噪聲,輸出跟隨輸入未知系統(tǒng)時的收斂速度與均方誤差,本次測試使用未知系統(tǒng)加權(quán)系數(shù)為[0.8,0.3],迭代次數(shù)為2 000次,如圖4~7所示。針對之前分析,同時給出了不同α與β值的步長曲線與均方誤差值來驗證之前的分析。從圖4到圖7中可以看出,α較大,β值較小的時候,此時升余弦窗的滾降趨勢增大,LMS算法趨向于更快的收斂速度,更迅速地收斂于均方誤差最小值??焖偈諗康耐瑫r為了減小穩(wěn)態(tài)失調(diào),步長因子開始變化趨緩滿足之前所討論的收斂原則。
圖4 α=0.7,β=20本文算法 2 000次迭代的步長因子曲線
以下為對比文獻的算法曲線。圖8,圖9為文獻[3]29的不延時計算誤差算法的步長曲線與均方誤差曲線。圖10、圖11為文獻[8]98的有延時計算誤差算法的步長曲線與均方誤差曲線。從圖8至圖11可以看出,具有延時的誤差所導(dǎo)出的步長能更快速收斂的同時,對于噪聲的剔除更理想,亦即對噪聲更不敏感,其步長因子在多次迭代后相比于無延時誤差的步長逐漸趨于穩(wěn)定。而本文的算法能綜合兩者的優(yōu)點,快速收斂的同時具有更小的穩(wěn)態(tài)失調(diào)量。
圖5 α=0.7,β=20本文算法 2 000次迭代均方誤差曲線
圖6 α=0.1,β=32本文算法2 000次迭代的步長因子曲線
圖7 α=0.1,β=32本文算法 2,000次迭代均方誤差曲線
圖8 2 000次迭代誤差不延時算法的步長曲線
圖9 2 000次迭代誤差不延時算法的均方誤差曲線
圖10 2 000次迭代誤差延時一個單位算法的步長曲線
圖11 2 000次迭代誤差延時一個單位算法的均方誤差曲線
在MATLAB下創(chuàng)建純凈正弦信號,s=sin(2πt/10),疊加高斯白噪聲,信噪比為10(低信噪比),延遲單元D設(shè)為延遲100,濾波器選用FIR,32階加權(quán)系數(shù),輸入為受噪聲污染的正弦信號,輸出為降噪后的估計信號,經(jīng)由MATLAB按照圖1模型,并使用升余弦窗函數(shù)作為步長調(diào)節(jié)函數(shù),α=0.7,β=14,仿真程序運行結(jié)果如圖12。
圖12(a)表示在MATLAB下仿真出的疊加了污染信號(高斯白噪聲)的波形;圖12(b)表示所疊加的污染信號,均值為零,方差為1的高斯白噪聲信號;圖12(c)表示未疊加高斯白噪聲的正弦信號;圖12(d)表示通過LMS降噪模型(圖1)后輸出的正弦信號,可以明顯地觀察到噪聲信號已經(jīng)被有效抑制;圖12(e)表示使用升余弦窗變步長算法的均方誤差(學習)曲線。通過圖中實際濾波信號與帶噪信號的對比,可以明顯看出噪聲信號被極大地抑制,證明通過升余弦窗調(diào)節(jié)的可變步長LMS算法能夠滿足帶噪信號的估計。
針對不同變步長調(diào)節(jié)方法,綜合考慮后引入一種方便可行,參數(shù)較少的變步長函數(shù),在保證能將低信噪比的信號較好地提取出來的同時進一步加快收斂速度,同時簡化參數(shù),本文中的算法可以較快地調(diào)整出滿意的效果,大多情況下根據(jù)實際情況僅僅調(diào)節(jié)一個β值即可滿足要求,而且可以利用在DSP平臺上的數(shù)字濾波窗函數(shù)[15],節(jié)省硬件資源,操作簡便,具有較廣闊的應(yīng)用前景。
圖12 整體濾波效果圖
[1]曹景升, 單毅, 樊雪濤. 自適應(yīng)濾波器在噪聲處理中的應(yīng)用[J]. 電子技術(shù)與軟件工程, 2015(7):129.
[2]鄭顧平, 杜向楠. 基于LMS自適應(yīng)濾波的零序電流去噪研究與實現(xiàn)[J]. 電力科學與工程, 2011, 27(12):27-31.
[3]陳泳, 田金鵬, 劉燕平. 一種新的變步長LMS自適應(yīng)濾波算法[J]. 電子測量技術(shù), 2015, 38(4):27-31.
[4]王洪誠, 王蕾, 沈霞,等. 基于改進增益型自適應(yīng)LMS算法的諧波檢測方法[J]. 電力系統(tǒng)保護與控制, 2016, 44(5):42-46.
[5]張炳婷, 趙建平, 劉鳳霞. 一種改進的可變步長LMS算法及性能分析[J]. 通信技術(shù), 2015, 48(11):1217-1221.
[6]還秋云, 邱曉暉, 劉曉飛. 引用范數(shù)的雙曲正切函數(shù)變步長LMS算法[J]. 信號處理, 2014, 30(1):93-99.
[7]張紅梅, 韓萬剛. 一種新的變步長LMS自適應(yīng)濾波算法研究及其應(yīng)用[J]. 儀器儀表學報, 2015, 36(8):1822-1830.
[8]李梁, 庹先國, 李懷良,等. 一種改進的自適應(yīng)濾波算法在微震信號處理中的實現(xiàn)[J]. 中國測試, 2015, 41(1):97-99,119.
[9]張炳婷, 趙建平, 馬淑麗. 新的變步長LMS算法在系統(tǒng)辨識中的應(yīng)用[J]. 通信技術(shù), 2015, 48(6):653-656.
[10]郭瑞, 李寶華, 馬奧運. 一種基于改進雙曲正切函數(shù)的變步長自適應(yīng)濾波算法[J]. 計算機應(yīng)用研究, 2015, 32(8):2335-2338.
[11]陳立偉, 譚志良, 崔立東. 改進的LMS算法在噪聲對消中的應(yīng)用[J]. 無線電工程, 2015(6):70-73.
[12]英格爾. 數(shù)字信號處理 (MATLAB版)[M]. 西安:西安交通大學出版社, 2008.
[13]張紅梅, 韓萬剛. FIR濾波器時延分析及其在信號融合中的應(yīng)用[J]. 武漢大學學報(工學版), 2016,49(2):303-308.
[14]董胡. 基于窗函數(shù)與MATLAB的數(shù)字FIR濾波器設(shè)計[J]. 微型電腦應(yīng)用, 2016(3):30-32.
[15]郭璐, 黃鶴, 杜凱,等. DSP環(huán)境下新的變步長LMS自適應(yīng)濾波算法[J]. 電子設(shè)計工程, 2016(1):135-137.
An Improved Variable Step Size LMS Algorithm for Signal Eestimation
LIU Jian, LI Yu
(School of Optical-electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China )
In order to improve the performance of the existing variable step-size LMS algorithm during signal estimation with the problems such as too many parameters, rather slow convergence speed, relatively difficult to adjust, and quite sensitive to noise, a new variable step-size algorithm combining raised cosine windows function and delay error was proposed based on the existing one. The theoretical analysis and the simulation in MATLAB are given in this paper. The proposed algorithm can not only improve the convergence speed but also ensure the desired signal be extracted successfully in low SNR environment. The improved raised cosine windows function can help LMS algorithm estimate the signal with only one parameter, and the results show that the algorithm is superior to other variable step-size algorithms in both convergence speed and steady state, and it also is of certain engineering and practical value.
LMS algorithm; adaptive signal estimation; variable step-size; convergence speed; MATLAB
2016-06-04。
上海市科技英才揚帆計劃項目(15YF1408300)。
劉牮(1961-),男,副教授,主要研究方向為電子技術(shù)及嵌入式技術(shù)應(yīng)用,E-mail:liuliu2702@163.com。
TN911.7; TH701
ADOI:10.3969/j.issn.1672-0792.2016.10.004