摘 要: 在基于Lorentzian函數(shù)的變步長LMS自適應(yīng)濾波算法的基礎(chǔ)上,進(jìn)行進(jìn)一步改進(jìn),提出了一種新的自適應(yīng)LMS濾波算法,通過建立新的誤差信號[e(n)]與變步長因子[μ(n)]之間的關(guān)系,消除不相關(guān)噪聲的影響。并用Matlab對其進(jìn)行仿真驗(yàn)證,表明該算法解決了收斂速度和穩(wěn)態(tài)誤差之間的矛盾,在保證算法的計(jì)算復(fù)雜度較低的同時,使得算法的抗干擾能力進(jìn)一步提高,適用于低信噪比條件下的信號提取及濾波,為實(shí)際應(yīng)用提供了更大的靈活性。
關(guān)鍵詞: 自適應(yīng)濾波; 噪聲抵消; 收斂速度; 抗干擾能力
中圖分類號: TN91?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2014)01?0011?03
1960年Widrow和Hoff提出了最小均方誤差(Least?Mean?Square,LMS)算法,該算法可以將自適應(yīng)濾波系統(tǒng)的參數(shù)自動調(diào)整到最佳狀態(tài)。同時,在設(shè)計(jì)濾波系統(tǒng)時,只需要知道很少的或不需要任何信號與噪聲之間的先驗(yàn)統(tǒng)計(jì)知識,具有很強(qiáng)的自學(xué)習(xí)能力、自跟蹤能力和算法簡單易實(shí)現(xiàn)等優(yōu)點(diǎn)。因此,自適應(yīng)信號處理技術(shù)在軍事、醫(yī)學(xué)、勘探、圖像處理、振動工程等各個領(lǐng)域都有著極其深遠(yuǎn)的應(yīng)用[1]。
1 固定步長LMS算法
固定步長LMS算法是基于最陡下降法的,其迭代公式為:
[X(n)=x(n)x(n-1)x(n-2)…x(n-L+1)T] (1)
[e(n)=d(n)-XT(n)W(n)] (2)
[W(n+1)=W(n)+2μe(n)X(n)] (3)
式中:[X(n)]表示自適應(yīng)濾波器[n]時刻的輸入信號矢量;[W(n)]表示自適應(yīng)濾波器的權(quán)系數(shù)矢量估值;[d(n)]是期望信號矢量;[e(n)]是誤差信號矢量;[L]是濾波器的階數(shù);[μ]是步長因子,用來控制穩(wěn)定性和收斂速度。為了保證LMS算法收斂,步長[μ]的取值范圍為:[0<μ<1/λmax,][λmax]是輸入信號自相關(guān)矩陣的最大特征值[2],自適應(yīng)時間常數(shù)為:[τmse=1/(4μλn),]總失調(diào)為:[M=μtr(R)。]
由以上公式可以看出,在選擇步長時,穩(wěn)態(tài)誤差和收斂速度二者之間存在著矛盾,即步長越小,失調(diào)越小,但收斂速度越慢;步長越大,收斂速度越快,但是失調(diào)越大。
2 改進(jìn)的變步長LMS算法
為了克服穩(wěn)態(tài)誤差和收斂速度二者之間的矛盾,人們曾提出了許多種變步長LMS算法,即在算法收斂的過程中,動態(tài)的調(diào)整步長因子[μ]的大小。其中,在文獻(xiàn)[3]中,提出了一種基于Sigmoid函數(shù)的變步長LMS算法(SVSLMS),其步長因子[μ(n)]與誤差信號[e(n)]呈Sigmoid函數(shù)的關(guān)系,公式為:
[μ(n)=β11+e-αe(n)-0.5] (4)
該算法解決了收斂速度、跟蹤能力和穩(wěn)態(tài)誤差之間的矛盾,但在誤差接近零的時候,步長變化太大,使得在穩(wěn)態(tài)時有較大的步長。文獻(xiàn)[4?5]中給出了改進(jìn)的算法,使得在穩(wěn)態(tài)時誤差變化較小。文獻(xiàn)[6]中提出了一種新的基于Lorentzian函數(shù)的變步長LMS算法,采用Lorentzian函數(shù)作為步長因子[μ(n)],即:
[μ(n)=αlog1+12e(n)δ2] (5)
其收斂速度和跟蹤速度得到了進(jìn)一步的提高。本文是在基于Lorentzian函數(shù)的變步長LMS算法的基礎(chǔ)上,做了進(jìn)一步的改進(jìn),提出了一種新的自適應(yīng)LMS算法,更好地消除了不相關(guān)噪聲的影響,且具有較好的抗噪聲性能。改進(jìn)后的步長因子[μ(n)]與誤差信號[e(n)]的關(guān)系式為:
[μ(n)=αlog1+12e(n)e(n-1)δ2] (6)
3 改進(jìn)算法的理論分析
在步長因子[μ(n)]與誤差信號[e(n)]的關(guān)系式中,參數(shù)[α]用于控制收斂速度,其值越大,收斂速度越快;參數(shù)[δ]用于控制穩(wěn)態(tài)階段函數(shù)的形狀,即誤差信號接近零時步長因子的變化程度,合理設(shè)置[α]和[δ]的值,可以使得算法在最佳步長附近緩慢變化,避免由于獨(dú)立噪聲干擾而產(chǎn)生的較大影響。[α]和[δ]的具體取值方法參考文獻(xiàn)[4],本文不再詳細(xì)敘述。
誤差[e(n)]的計(jì)算公式為[e(n)=d(n)-XT(n)W(n),]可以改寫成:
[d(n)=e(n)+XT(n)W(n)] (7)
由式(7)可以看出,誤差信號[e(n)]與輸入信號[X(n)]相關(guān),為了便于做進(jìn)一步分析,將期望信號用另一種形式表示[7]:
[d(n)=XT(n)W*(n)+N(n)] (8)
其中[N(n)]為干擾噪聲信號,是與輸入信號無關(guān)的均值為零的高斯白噪聲;[W*(n)]為最佳權(quán)系數(shù)矢量。令:
[ΔW(n)=W(n)-W*(n)] (9)
其中[ΔW(n)]表示權(quán)系數(shù)偏差矢量, 由此可得:
[e(n)=N(n)=XT(n)ΔW(n)] (10)
[e2(n)=N2(n)-N(n)XT(n)ΔW(n)-XT(n)ΔW(n)N(n)+XT(n)ΔW(n)?XT(n)ΔW(n)] (11)
[e(n)e(n-1)=N(n)N(n-1)-N(n)?XT(n-1)ΔW(n-1)-XT(n)ΔW(n)?N(n-1)+XT(n)ΔW(n)XT(n-1)?ΔW(n-1)] (12)
由于噪聲[N(n)]與輸入信號[X(n)]無關(guān)且均值為零,故對式(11)和式(12)同時取期望,化簡可得:
[E[e2(n)]=E[N2(n)]+E[XT(n)ΔW(n)?XT(n)ΔW(n)]] (13)
[E[e(n)e(n-1)]=E[XT(n)ΔW(n)XT(n-1)?ΔW(n-1)]] (14)
根據(jù)統(tǒng)計(jì)的觀點(diǎn),從式(13)和(14)中可以看出,由于式(13)中存在[E[N2(n)]]項(xiàng),即[e2(n)]的期望值與干擾信號[N(n)]的大小相關(guān),因此干擾較大時,算法的穩(wěn)定性較差。而在式(14)中,[e(n)e(n-1)]的期望值僅與輸入信號[X(n)]相關(guān),不受干擾噪聲[N(n)]的影響,即抗干擾能力較強(qiáng)。因此本文采用的步長因子與誤差信號的迭代公式與改進(jìn)前相比,可以使穩(wěn)態(tài)誤差更小,尤其在信噪比較低的條件下,仍然具有較好的性能。
4 計(jì)算機(jī)仿真
以自適應(yīng)噪聲抵消系統(tǒng)為平臺,用Matlab軟件[9?10]編程對改進(jìn)后的LMS算法的濾波效果、收斂速度、穩(wěn)態(tài)誤差以及抗干擾能力進(jìn)行了仿真驗(yàn)證[8]。自適應(yīng)噪聲抵消結(jié)構(gòu)圖如圖1所示,在主輸入端輸入原始正弦信號[x(n)=sin(2πn/10)],加性干擾信號[n0(n)]為白噪聲,信噪比為20 dB,被噪聲污染的信號[d(n)=x(n)+n0(n)]。在參考輸入端輸入與[n0(n)]相關(guān)的另一個噪聲信號[n1(n)],經(jīng)過自適應(yīng)抵消濾波系統(tǒng)處理后輸出信號[y(n),]通過[d(n)]與[y(n)]的差值[e(n)]來自動調(diào)節(jié)自適應(yīng)濾波器的系數(shù),濾除原始信號中的噪聲干擾。
<