摘 要:為了達(dá)到最佳的濾波效果,使自適應(yīng)濾波器在工作環(huán)境變化時自動調(diào)節(jié)其單位脈沖響應(yīng)特性,提出了一種自適應(yīng)算法:最小均方算法(LMS算法)。這種算法實現(xiàn)簡單且對信號統(tǒng)計特性變化具有穩(wěn)健性,所以獲得了極為廣泛的應(yīng)用。針對用硬件實現(xiàn)LMS算法的自適應(yīng)濾波器存在的諸多缺點,采用Matlab工具對基于LMS算法的自適應(yīng)濾波器進(jìn)行了仿真試驗。仿真結(jié)果表明,應(yīng)用LMS算法的自適應(yīng)濾波器不僅可以實現(xiàn)對信號噪聲的自適應(yīng)濾除,還能用于系統(tǒng)識別。
關(guān)鍵詞:自適應(yīng)濾波器;Matlab;最小均方算法;FIR
中圖分類號:TN713文獻(xiàn)標(biāo)識碼:A文章編號:1004373X(2008)1907403
Implementation of Adaptive Filter Simulation Based on LMS Algorithm
LIU Ying,NAN Jingchang
(School of Electrics and Information Engineering,Liaoning Technical University,Huludao,125105,China)
Abstract:In order to achieve the optimum filtering effect,it makes the adaptive filter adjust its units impulse response characteristics automatically on the working environment changed. This paper presents a kind of adaptive algorithm: Least Mean Square (LMS algorithm). As the algorithm is realized simply and has stability with respect to the change of signal statistical characteristics,LMS algorithm is used widely.According to disadvantages of adaptive filter to realize LMS using hardware adaptive filter is simulated which is based on LMS algorithm with Matlab. Results of simulation show that this kind of adaptivefilter not only can filter the signal noise,but also recognize the system.
Keywords:adaptive filter;Matlab;LMS algorithm;FIR
1 引 言
1960年Widrow和Hoff提出最小均方誤差(LMS)算法。LMS算法具有計算量小,結(jié)構(gòu)簡單,易于實現(xiàn)等諸多優(yōu)點,尤其是這種算法是最先由統(tǒng)計分析法導(dǎo)出的一種實用算法,它是一類自適應(yīng)濾波器的基礎(chǔ),因此在很多領(lǐng)域得到了廣泛的應(yīng)用。
在一個實際的通信系統(tǒng)中,基帶傳輸系統(tǒng)不可能完全滿足理想的波形傳輸無失真條件,因而串?dāng)_幾乎是不可避免的。當(dāng)串?dāng)_造成嚴(yán)重影響時,必須對整個系統(tǒng)的傳遞函數(shù)進(jìn)行校正,使其接近無失真?zhèn)鬏敆l件。這種校正可以采用串接一個濾波器的方法。自適應(yīng)濾波器的沖擊響應(yīng)或濾波參數(shù)是隨外部環(huán)境的變化而改變的,經(jīng)過一段自動調(diào)節(jié)的收斂時間達(dá)到最佳濾波的要求。但是,自適應(yīng)濾波器本身有一個重要的自適應(yīng)算法,這個算法可以根據(jù)輸入、輸出及原參量,按照一定準(zhǔn)則修改濾波參量,以使它本身能有效地跟蹤外部環(huán)境的變化[1]。本文采用LMS算法對自適應(yīng)濾波器的參數(shù)進(jìn)行調(diào)整,使其能夠工作在最佳的濾波狀態(tài)。
2 自適應(yīng)濾波器原理
自適應(yīng)濾波器由參數(shù)可調(diào)的數(shù)字濾波器和自適應(yīng)算法兩部分組成,如圖1所示[2]。
圖1 自適應(yīng)濾波器原理框圖
自適應(yīng)濾波器與維納濾波器一樣都是以最小均方誤差為準(zhǔn)則的最佳濾波器。自適應(yīng)濾波器能自動調(diào)節(jié)其本身的單位脈沖響應(yīng)h(n)特性,以達(dá)到最優(yōu)化的濾波效果。設(shè)計自適應(yīng)濾波器時,可以不必要求預(yù)先知道信號與噪聲的自相關(guān)函數(shù),而且在濾波過程中,如果信號與噪聲的自相關(guān)函數(shù)即使隨時間緩慢變化,系統(tǒng)也能自動適應(yīng),自動調(diào)節(jié)參數(shù),使均方誤差最小。自適應(yīng)濾波器通常采用LMS算法[3]。
3 LMS算法原理
LMS算法的基本思想:調(diào)整濾波器自身參數(shù),使濾波器的輸出信號與期望輸出信號之間的均方誤差最小,這樣系統(tǒng)輸出為有用信號的最佳估計[4]。LMS算法的結(jié)構(gòu)框圖如圖2所示。輸入信號x依次經(jīng)過m-1個延時單元,在n時刻構(gòu)成了一個信號矢量x(n)。
圖2 LMS算法結(jié)構(gòu)框圖
輸入信號矢量為:
x(n)=[xn,xn-1,…,xn-m+1]T
加權(quán)矢量(即濾波器抽頭系數(shù)矢量)為:
w(n)=[wn1,wn2,…,wnm]T
相應(yīng)的濾波器的輸出為:
y(n)=∑mi=1wi(n)x(n-i+1)=wT(n)x(n)
(1)
y(n)相對于期望信號d(n)的誤差為:
e(n)=d(n)-y(n)=d(n)-wT(n)x(n)
(2)
根據(jù)最小均方誤差(MSE)準(zhǔn)則,最佳的濾波器參量Wopt應(yīng)使得性能函數(shù)—均方誤差ξ=E{e2(n)}為最小。根據(jù)x(n)及其過去值x(n-1),x(n-2),x(n-3),…,x(n-m+1)去估計d(n),w(n)的最優(yōu)估計值Wopt使估計誤差的均方值為最小[5],Wopt滿足正則方程:
RxxWopt=Pxd
(3)
式中Rxx為輸入信號矢量x(n)的自相關(guān)函數(shù),Pxd為輸入信號矢量x(n)與實際需要信號d(n)的互相關(guān)函數(shù)。
直接求解該正則方程的運算量很大,尤其是加權(quán)矢量參數(shù)個數(shù)很多時。LMS算法采用遞推收斂到最佳值Wopt的方法來尋求這個最佳的濾波器加權(quán)矢量參數(shù)Wopt。
LMS算法推導(dǎo)如下:
利用最優(yōu)化方法中的最速下降法求最佳權(quán)系數(shù)向量的近似值。最速下降法,即“下一時刻”權(quán)系數(shù)向量w(n+1)應(yīng)該等于“現(xiàn)時刻”權(quán)系數(shù)向量w(n)加上一個負(fù)均方誤差梯度-(n)的比例項[6],即:
w(n+1)=w(n)-μ(n)
(4)
μ為控制收斂速度與穩(wěn)定性的常數(shù),稱之為收斂因子。按照近似方法,直接取e2(n)作為均方誤差E[e2(n)]的估計值[7],即:
^(n)=[e2(n)]=2e(n)[e(n)]
(5)
[e(n)]=[d(n)-wT(n)x(n)]=-x(n)
(6)
于是可得:
w(n+1)=w(n)+2μe(n)x(n)
(7)
其中,μ為步長,所以為方便起見,仿真時遞推公式采用下式:
w(n+1)=w(n)+μe(n)x(n)
(8)
收斂條件為:0<μ≤1/λmax,λmax是輸入信號自相關(guān)矩陣的最大特征值。
4 仿真結(jié)果
根據(jù)上述算法,采用了Matlab語言進(jìn)行仿真實驗。仿真實驗中,先產(chǎn)生標(biāo)準(zhǔn)正弦波信號和隨機噪聲,相加后得到受干擾的正弦信號,根據(jù)維納-霍克方程,設(shè)計自適應(yīng)濾波器,對噪聲干擾信號濾波。自適應(yīng)濾波器的階數(shù)為2,步長因子μ為0.000 26,采用LMS算法來消除噪聲[8]。仿真結(jié)果如圖3所示。
圖3 自適應(yīng)濾波器對噪聲信號濾波
利用自適應(yīng)濾波器,不僅可以實現(xiàn)對信號噪聲的自適應(yīng)濾除,還能用于系統(tǒng)識別。例如,可以通過自適應(yīng)FIR濾波器,對某個未知系統(tǒng)進(jìn)行識別[9],識別框圖如圖4所示。
圖4 模型識別框圖
仿真時用LMS算法對FIR濾波器的抽頭系數(shù)進(jìn)行自適應(yīng)調(diào)整,不斷修正其系統(tǒng)函數(shù),使其與未知系統(tǒng)的參數(shù)充分逼近,從而誤差最小,達(dá)到系統(tǒng)識別的目的。仿真結(jié)果如圖5所示。
圖5 系統(tǒng)信號處理頻譜
5 結(jié) 語
LMS算法由于其簡單性和易于工程實現(xiàn),得到了廣泛的應(yīng)用。通過仿真結(jié)果可以看出,自適應(yīng)FIR濾波器不但能夠很好地消除疊加在信號上的噪聲,使輸出信號的信噪比有明顯提高,而且能夠很好地模擬未知系統(tǒng),它們對原始信號處理后的效果十分接近。這樣,通過自適應(yīng)FIR濾波器的參數(shù)指標(biāo),就能得到未知系統(tǒng)的系統(tǒng)函數(shù),從而可以對未知系統(tǒng)進(jìn)行功能相同的硬件
重構(gòu)。這些在工程中有著廣泛的應(yīng)用。
參考文獻(xiàn)
[1]邱天爽,魏東興,唐洪,等.通信中的自適應(yīng)信號處理[M] .北京:電子工業(yè)出版社,2005.
[2]Haykin S.Adaptive Filter Theory[M].Third Edition.Prencice-Hall,1996.
[3]鄒國良.自適應(yīng)濾波理論及應(yīng)用[M].河北:河北大學(xué)出版社,1997.
[4]何振亞.自適應(yīng)信號處理[M].北京:科學(xué)出版社,2002.
[5]尹麗麗,吳躍東.基于LMS算法的自適應(yīng)均衡器的Matlab實現(xiàn)[J].重慶工學(xué)院學(xué)報,2004,18(3):61-62.
[6]高鷹,謝勝利.一種變步長LMS自適應(yīng)濾波算法及分析[J].電子學(xué)報,2001,29(8):1 094-1 097.
[7]Nitzberg R.Application of Normalized LMS Algorithm to MSLC[J].IEEE Trans.,1985,AES-21(1):79-91.
[8]羅軍輝,羅勇江,白義臣,等.Matlab 7.0在數(shù)字信號處理中的應(yīng)用[M].北京:機械工業(yè)出版社,2005.
[9]龔耀寰.自適應(yīng)濾波[M].2版.北京:電子工業(yè)出版社,2003.
[10]沈福民.自適應(yīng)信號處理[M].西安:西安電子科技大學(xué)出版社,2001.
作者簡介 劉 影 女,1983年出生,吉林人,遼寧工程技術(shù)大學(xué)在讀研究生。從事射頻電路與器件,通信系統(tǒng)仿真等方面的研究。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文