火元蓮 龍小強 連培君 王丹鳳
(西北師范大學(xué)物理與電子工程學(xué)院 蘭州 730070)
隨著濾波算法的不斷更新迭代,目前自適應(yīng)算法已經(jīng)成為信號處理和現(xiàn)代通信等領(lǐng)域的重要組成模塊,常應(yīng)用于信道均衡、回波消除、自適應(yīng)控制、波束形成、噪聲抵消和系統(tǒng)辨識等領(lǐng)域[1—9]。
在眾多自適應(yīng)濾波算法中,由Widrow和Hoffman于1960年提出的自適應(yīng)濾波算法(Least Mean Square, LMS)[10,11]因其原理簡單,便于實現(xiàn),魯棒性以及穩(wěn)定性好等特性得到了大量的關(guān)注,繼而歸一化最小均方濾波算法(Normalized Least Mean Square, NLMS)[12]也得到了發(fā)展。但LMS和NLMS都存在相同的缺陷,即對收斂速度和穩(wěn)態(tài)誤差兩者不可兼得,所取步長越大,收斂速度越快,但穩(wěn)態(tài)誤差也隨之增大;步長越小,穩(wěn)態(tài)誤差變小,但收斂速度變慢。為了改善這一不足,變步長濾波算法被相繼提出[13—22]。
而變步長自適應(yīng)濾波算法的基本原則是步長因子μ (n)隨著算法做動態(tài)調(diào)整[13],以便保證在算法收斂初期,提供較大的步長取值使算法有較快的收斂速度;在算法收斂完成階段,提供較小的步長取值使算法的穩(wěn)態(tài)誤差變小,有更好的穩(wěn)定性。如覃景繁等人[14]提出的基于Sigmoid函數(shù)的變步長LMS算法(Sigmoid Variable Step Least Mean Square,SVSLMS),兼顧了收斂速度與穩(wěn)態(tài)誤差間的矛盾,但在算法收斂階段,誤差e (n)的微小變化都會引起步長因子 μ (n)較大變化,從而影響算法的穩(wěn)態(tài)誤差;在Sigmoid函數(shù)的基礎(chǔ)上,劉憲爽等人[15]給出了一種改進的雙Sigmoid函數(shù)變步長自適應(yīng)算法,該算法的穩(wěn)定性和實際應(yīng)用時的準確度在傳統(tǒng)SVSLMS算法基礎(chǔ)上得到了提升,但其收斂速度和穩(wěn)態(tài)誤差卻也隨之下降;事實上,在基于Sigmoid函數(shù)的變步長自適應(yīng)算法中,由于求步長因子μ(n)時需要進行指數(shù)運算,用查表法很繁瑣而且占用硬件存儲空間。為此基于箕舌線函數(shù)(阿格尼絲箕舌線函數(shù)“the witch of Agnesi or Versoria”,中文簡稱為箕舌線函數(shù)“Versoria”)的變步長自適應(yīng)濾波算法得到了發(fā)展,如鄧江波等人[16]提出的基于箕舌線的變步長LMS自適應(yīng)算法,改善了SVSLMS算法收斂速度、穩(wěn)定性以及跟蹤速度等性能,但在時變環(huán)境下跟蹤能力和收斂速度性能仍然不足;為再次提升性能,韓允等人[17]搭建了新的步長調(diào)整函數(shù),提出了基于箕舌線的變步長歸一化最小均方算法,該算法很好地協(xié)調(diào)了系統(tǒng)的抗干擾性能和快速跟蹤性能間的矛盾,但卻加大了系統(tǒng)的失調(diào)量。所以如何在收斂速度、穩(wěn)態(tài)誤差、計算量、跟蹤速度等各方面做到兼顧是自適應(yīng)濾波算法設(shè)計中的關(guān)鍵。本文算法的主要思想是:借鑒箕舌線函數(shù)計算復(fù)雜度小、易于實現(xiàn)、在穩(wěn)態(tài)階段步長因子很小且變化不大等特性,采用類箕舌線函數(shù)對步長因子μ (n)進行調(diào)整,在大大增強算法穩(wěn)定性的同時大幅度提升算法的收斂速度、跟蹤速度等特性。
圖1 類箕舌線函數(shù)曲線調(diào)整過程曲線圖
從圖1可以看出,曲線2和曲線3都符合自適應(yīng)濾波算法的步長調(diào)整原則,即在算法初期(算法收斂初始階段),步長調(diào)整函數(shù)為算法提供較大的步長取值,以提高算法的收斂速度,使其快速過渡到算法收斂完成階段;在收斂完成階段,提供較小的步長取值,使算法在該階段保持更好的穩(wěn)定性。式(1)可以看作一種新的非線性步長因子μ (n)調(diào)整函數(shù)模型,再引入曲線調(diào)整參數(shù) α, β 和γ 控制步長的大小等[18],得到了類箕舌線函數(shù)模型
其中,參數(shù)α >0 控制函數(shù)形狀,參數(shù)β >0控制函數(shù)的幅值, γ為算法收斂速度控制參數(shù)。由此,本文類箕舌線的歸一化變步長自適應(yīng)濾波算法為
其中,X (n)是 第n 時 刻的輸入信號矢量;e (n)是誤差信號; d (n) 是 期望輸出;W (n)是n 時刻的濾波器抽頭系數(shù); μ (n)是 第n 次迭代時的步長;XT(n)是輸入信號X (n)的 轉(zhuǎn)置矩陣;XT(n)X(n)是歸一化函數(shù),可以看作n 時刻的信號能量;δ 為一個極小的數(shù),用來微調(diào)歸一化的值,可忽略不計。
為了更好地分析步長調(diào)整函數(shù)模型中參數(shù) α,β對步長因子波動和參數(shù)γ 對算法收斂速度的影響,下面將分別對各參數(shù)的取值原則和范圍進行討論,為了直觀有效地分析,在步長曲線調(diào)整中取γ =0 時討論 α, β 的情況,圖2(a)為α 相 同、β 不同時步長因子μ (n)與 誤差e (n)調(diào)整曲線圖;圖2(b)為α不 同、β 相同時步長因子μ (n)與 誤差e (n)調(diào)整曲線圖;圖3為參數(shù)γ 取不同值時的算法收斂速度圖。
圖2(a)中3條曲線是 β分別取0.002, 0.005,0.010(α =8)時所對應(yīng)的步長調(diào)整曲線,從圖中可以看出, β取值越小,步長因子在誤差接近零處變化越小,但在算法收斂初期不能夠為算法提供較大的步長取值,算法收斂速度較慢;當 β取值較大時,能夠提供較大的步長取值使算法有較快的收斂速度,但同時步長因子在誤差接近零時受誤差的影響也將增大,綜上 β的取值范圍應(yīng)在0.005~0.500,在本文中取β =0.010,此時算法的收斂速度、跟蹤能力等性能表現(xiàn)最優(yōu)。圖2(b)中3條曲線是α 分別取2, 4, 8( β =0.010)時所對應(yīng)的步長調(diào)整曲線,從圖中可以看到,當 α越大時,為算法在收斂初期提供的步長取值越大,但算法在收斂完成階段的穩(wěn)定性下降;當 α越小時,算法在收斂完成階段越穩(wěn)定,但算法的收斂速度較慢;考慮到均衡穩(wěn)定性與收斂速度,在本文中取 α =4 。圖3為參數(shù)γ 對算法收斂速度的影響效果圖,可以看出, γ越大時算法的收斂速度越快,但 γ也不宜過大,γ 過大時算法的穩(wěn)態(tài)誤差增大,會使 γ對算法收斂速度的控制作用大大下降, γ的選取可以在實際應(yīng)用時根據(jù)情況而定,需要較快的收斂速度時取較大值,對收斂速度需求不高時則選取較小的值,為兼顧收斂速度與穩(wěn)態(tài)誤差,在本文中取γ =0.20。
為有效直觀地驗證本文算法的性能,現(xiàn)將本文算法步長調(diào)整函數(shù)模型同SVSLMS算法、文獻[15]算法、文獻[16]算法、文獻[17]算法進行比較。圖4為5種算法的步長調(diào)整曲線圖,從圖中可以看出,5種算法的步長調(diào)整函數(shù)模型都符合變步長自適應(yīng)濾波算法步長因子的調(diào)整原則,即在算法收斂初期步長取值較大,使算法有較快的收斂速度,在算法收斂完成階段(誤差 e(n)接近零處),步長變化較小,使算法在穩(wěn)態(tài)階段保持較好的穩(wěn)定性。
但在圖中也可以看到,文獻[16]算法步長調(diào)整函數(shù)模型在算法收斂初期的步長取值是最小的,這使得該算法收斂速度較慢,本文算法步長調(diào)整函數(shù)模型提供的步長取值最大(算法收斂初期),確保算法有較快的收斂速度,使算法能夠快速地過渡到穩(wěn)態(tài)階段;在算法收斂完成階段(誤差接近零處),本文算法步長因子也能夠保持較小的變化,使算法在穩(wěn)態(tài)階段保持較好的穩(wěn)定性,所以本文提出的類箕舌線函數(shù)模型表現(xiàn)更優(yōu)。
μ(n) e(n)圖2 步長因子 與誤差 調(diào)整曲線圖
圖3 γ不同時算法收斂速度圖
圖4 5種算法步長調(diào)整曲線圖
為了檢驗本文算法的收斂速度、跟蹤能力等性能表現(xiàn)以及參數(shù) α, β 和γ 對算法收斂性能的影響,基于Matlab平臺對算法進行模擬仿真,實驗仿真條件同文獻[14]:(1) 自適應(yīng)濾波器階數(shù) L=2;(2) 未知系統(tǒng)的FIR系數(shù)為 W?=[0.8,0.5]T,在第500個采樣點時刻未知系統(tǒng)發(fā)生時變,系數(shù)矢量變?yōu)閃?=[0.4,0.2]T; (3) 參考輸入信號X (n)是零均值,方差為1的高斯白噪聲;(4) v(n)為 與X (n)不相關(guān)的高斯白噪聲,其均值是零,方差為σv2=0.04。分別做 200次獨立的仿真,采樣點數(shù)為 1000,然后求其統(tǒng)計平均,在不同信噪比背景下得出學(xué)習(xí)曲線。
圖5為5種算法均方誤差(Mean Square Error,MSE)變化曲線對比圖,從圖中可以看出在3種噪聲背景下(信噪比(SNR)分別為10, 20, 30),文獻[16]中算法的收斂速度最慢,本文算法收斂速度最快;而且本文算法在收斂完成階段也能夠保持較小的均方誤差以及更好的穩(wěn)定性。
為了對比檢驗本文算法同其它4種算法在面對時變系統(tǒng)以及不同噪聲背景下的跟蹤性能,同等仿真條件下,算法在迭代到500次時未知系統(tǒng)發(fā)生時變,圖6為在不同信噪比背景下5種算法面對時變系統(tǒng)時的跟蹤能力曲線圖。
從圖6可以看出,在不同信噪比背景下,當系統(tǒng)發(fā)生時變時文獻[16]中算法的跟蹤能力較差,本文算法在5種算法中表現(xiàn)最好;且隨著信噪比增大,這一優(yōu)勢更為明顯。為了進一步證明本文算法的良好性能,對5種算法在不同信噪比條件下完成收斂過程的次數(shù)也進行了比較,如表1所示。
圖5 不同信噪比背景下5種算法MSE對比圖
圖6 不同信噪比背景下5種算法面對時變系統(tǒng)時的跟蹤性能對比圖
表1 不同信噪比下算法收斂次數(shù)比較
本文提出了一種類箕舌線函數(shù)的變步長歸一化自適應(yīng)濾波算法,其算法思想是采用類箕舌線函數(shù)來代替Siogmoid函數(shù)作為步長迭代公式,引入基于相關(guān)誤差的變步長調(diào)整原則。改進后的算法兼顧了收斂速度、穩(wěn)態(tài)誤差、跟蹤性能、計算復(fù)雜度等性能間的矛盾,相比于SVSLMS算法、文獻[15]算法、文獻[16]算法、文獻[17]算法,本文算法有更快的收斂速度、更好的跟蹤能力以及較小的穩(wěn)態(tài)誤差和較強的魯棒性。