盧 斌,何 勇,劉傳群,彭 達
(東華大學 機械工程學院,上海 201620)
自適應濾波器越來越多地被應用在工業中,與一般濾波器相比,具有能夠根據系統誤差來調節自身參數的特性,從而能夠較好地適應環境,實現高效的自適應濾波。自適應濾波器在工業工程上應用較為廣泛的是LMS自適應濾波器,LMS自適應濾波算法就是基于維納濾波器理論的最小均方算法,具有運算量較小、程序較少、易于工程應用等優點,是實際工程中被廣泛采用的自適應濾波算法。LMS算法的性能優劣主要體現在系統能否快速收斂、能否保持穩定狀態以及是否具有良好的抗干擾能力,這些性能和LMS算法中的步長參數存在密切聯系[6]。LMS算法中的步長參數的變化能影響算法的收斂速度、穩態誤差等性能,步長值較小時算法穩態誤差就會降低,但同時算法的收斂速度也會一起降低;步長值較大時算法的收斂速度就會提升,但同時算法的穩態誤差也會一起增大,所以兩者存在矛盾。
LMS自適應濾波算法在信號去噪、跟蹤和預測等方面有諸多應用。本文首先對一些變步長LMS自適應濾波算法的原理及性能進行研究分析,再針對紗線信號數據低信噪比、變化迅速的特點,提出一種收斂速度更快同時穩態誤差又較小的變步長LMS自適應濾波算法,并將其應用到紗線信號的數據濾波中,在實驗中取得了良好的效果。
LMS自適應濾波器是自適應濾波器中的一種,其特點是應用了最小均方算法LMS的快速求值能力,算法中的誤差是均方誤差并且與權系數向量呈二次函數關系,從空間角度看就是一個角度向上的拋物曲面,最小均方誤差就是沿著拋物曲面下降方向找到的最小值。根據梯度的概念,濾波器輸出信號與期望信號之間的誤差可以用梯度來表示,梯度取到最小值時就是誤差最小[2]。LMS自適應濾波算法的結構框圖如圖1所示。

圖1 自適應濾波器的基本結構Fig.1 Basic structure of adaptive filter block diagram
圖1所示的 x(n)和y(n)分別表示在 n時刻系統的輸入信號和系統的輸出信號,系統在n時刻的期望信號在圖1中由 d(n)表示,e(n)表示系統期望信號與輸出信號兩者的誤差。根據圖1,LMS自適應算法可由如下公式表示:


式中:W(n)為濾波器的權系數向量;μ為濾波器的步長因子。
算法收斂是LMS自適應濾波算法有效的首要條件,要保證算法最終能夠收斂,必須滿足的條件為,經過計算化簡后得到步長因子滿足收斂的取值范圍為

式中:λ為濾波器的輸入向量X(n)的相關矩陣R的特征值。
當迭代次數趨近于無窮時,濾波器的權向量W(n)就逼近維納解 W0[3]。
固定步長的LMS算法存在收斂速度和穩態誤差兩個性能難以同時達到最優解的缺點,所以在工程上很難直接應用。為了解決這個問題,對固定步長的LMS算法進行優化是首要方法。變步長LMS自適應濾波算法的原理是在系統剛開始收斂的時候,期望的最優權值與濾波器當前的權值存在較大誤差,根據式(1)~式(3)可知在這種情況下取較大步長可以更快地接近期望權值,即算法能以更快的速度收斂;系統在接近收斂時,即系統進入穩定狀態,濾波器的當前權值與最優權值相差很小,在這種情況下如果取較大步長反而會造成誤差往更大的方向偏,所以應取較小的步長保證系統的穩定性[4]。定步長LMS算法中的步長μ是固定不變的,不同的是變步長LMS算法中的步長μ(n)的值是可以根據誤差e(n)進行調整的。變步長LMS算法的流程如圖2所示。

圖2 變步長LMS算法框圖Fig.2 Variable step LMS algorithm block diagram
為了更好地讓LMS算法應用在工程上,不少改進的LMS算法被開發出來,比如歸一化LMS算法、變階數LMS算法、稀疏LMS算法等。下面對兩種比較有代表性的變步長自適應濾波算法機理加以分析。
第一種是歸一化LMS算法,該算法是利用輸入信號X(n)的平方歐氏范數將步長“歸一化”處理,該算法中步長因子表達式為

式中:μ1為初始步長,且滿足:

第二種算法是一種基于Sigmoid函數變步長最小均方算法SVSLMS,該算法中步長因子的函數表達式為

式中:α大小決定S函數曲線開口的寬窄以及上升的快慢;β大小決定S函數的高度,即S函數的最大值[5]。
由于 μ(n)隨著 e(n)的減小而減小,當 e(n)為 0時,μ(n)也減小為零。但是隨著算法的不斷收斂,步長的改變也越來越劇烈,快速變化的步長對穩態誤差會產生較大的影響,可能會引起振蕩,對算法性能產生影響。
雖然LMS自適應濾波算法的優化原理不同,但優化的目的都是一樣的,即在系統初始收斂階段選取較大步長,以獲得較快的收斂速度;而在系統處于收斂狀態時,系統獲得的權值和最優權值之間的誤差已經較小,為了提高系統的穩定性反而需要選擇較小的步長[6]。
本文根據步長調整原則,結合Sigmoid函數的一些特性,設計一種變步長LMS算法。對Sigmoid函數進行新的簡單變換,即令。變換前后的函數曲線如圖4所示,根據圖4可以看出當自變量趨向于0時,函數值變化更慢,變化值也更小。

圖3 Sigmoid函數變換前后曲線Fig.3 Transformation curve of sigmoid function

圖4 Sigmoid函數新變換前后曲線Fig.4 New transformation curve of sigmoid function
由圖4可以看出,兩個函數曲線都遵循步長變化原則,當x接近0時,函數值變化速度減慢,函數底部趨于平滑;當x絕對值變大時,函數值隨著x的變化變快。對比圖中的兩條曲線,可以看出本文新變換后的曲線在x絕對值較大時函數值變化速度比變換前更快,并且在x接近0時,函數值變化速度比變換前緩和,由此得出新變換后的函數更好地遵循步長原則性能。
將上述函數的x,f(x)變量換成定步長LMS算法中的 e(n),μ(n)變量,得到一個e(n)和μ(n)的新函數,即新的步長因子:

為了更好地分析步長因子與誤差之間的關系,引入α、β兩個參數,得到一個改進的非線性函數模型:

下面分別討論這兩個參數對函數模型性能的影響,并分析其可能的取值。
圖5所示為 α 分別取 0.5、1、1.5、2,β取 1時的步長因子μ(n)與誤差e(n)的函數模型曲線。

圖5 參數α變動時的函數模型曲線Fig.5 Function model curve when parameter α is changed
由圖5所示可知,這4條曲線均滿足步長調整原則。當誤差為1時(此時誤差比較大),圖中大多數曲線都已經達到或者接近步長因子的最大值,說明此時的收斂速度非常快,步長因子減小十分迅速;在誤差逐漸較小為0的過程中,步長因子也逐漸減小為0,并且在誤差值趨向0時,步長因子變化越來越緩慢,有利于減小穩態誤差。
通過以上分析和圖5所示可知,總體上看,α值越大,在誤差比較大時步長因子減小迅速但是穩態誤差也會增大,α值越小,在誤差比較小時穩態誤差很小但是收斂速度較慢。因此,綜合以上分析,本文選擇的α=0.5能保證在誤差較大時步長因子曲線能更快地收斂,而且在誤差趨近于0時變化逐漸緩慢,穩態誤差小。

圖6 參數β變動時的函數模型曲線Fig.6 Function model curve when parameter β is changed
由圖6所示可知,這4條曲線均滿足步長調整原則。在初始收斂階段,步長因子隨著誤差變化迅速;在算法收斂后,步長因子隨著誤差變得比較緩慢,穩態誤差較小。總體上看,β取值太大時步長因子收斂較快但是在誤差較小時容易出現穩態誤差,β取值太小時步長因子收斂較慢但是在誤差接近0時較為穩定。因此,綜合上述分析,本文選取β=0.02使系統性能達到最佳。
綜上所述,本文最終設計出一個變步長因子μ(n)與e(n)的非線性函數模型:

結合式(1)~式(3),本文提出的一種變步長LMS自適應濾波算法可由如下公式表示:

在確定了算法的參數后需要對其進行仿真檢驗,仿真條件為輸入信號sin2πt+cos2πt,疊加randn隨機噪聲,濾波器階數采用2階,采用二階線性自適應預測來估計變步長自適應算法中的參數α、β對濾波性能的影響,采樣點數為1024,為了減少誤差,本文選擇求出200次獨立仿真的統計平均值作為結果,最后得出誤差收斂圖。
如圖7所示,本文提出的LMS自適應濾波算法中的誤差迅速減小并保持穩定,具有很好的收斂性能,可以調整參數α、β來控制函數的模型。在具體工程應用中,可以根據不同的工作環境和輸入信號來調整并確定合適的參數α、β,使系統達到一個最佳狀態。

圖7 采用新算法的收斂曲線Fig.7 Convergence curve using the new algorithm
本文中變步長LMS算法能快速收斂,比定步長LMS算法更加柔性,適應性更強,并且在初始時誤差下降較快,所以系統在初始狀態時能快速到達穩定。在后面區域穩定時,誤差一直穩定在某個區間,基本穩定在0附近。本文使用Matlab軟件對算法進行仿真測試,得到的結果如圖8所示。在圖8中可以看到新算法濾波性能明顯優于原算法,特別是濾波速度,新算法在0.1處就基本完成濾波。

圖8 算法仿真測試Fig.8 Algorithm simulation test

圖9 原始紗線信號Fig.9 Original yarn signal diagram
紗線信號的處理是電子清紗器最重要的部分,紗線信號的去噪是其中一個關鍵步驟。紗線信號曲線通常表現為在一較穩定的平均值附近波動,并且在時域上信噪比較低[8]。同時,由于粗節、細節、異纖等紗疵,紗線信號中經常會出現一些異常值。由于紗線信號的特點要求采用的濾波器具有快速處理能力,以滿足工程需要,這就需要采用具有學習功能的濾波器來取得滿意的效果[9]。
為了能更好地對紗線信號進行處理,設計出針對紗線信號的濾波器。本文首先利用ADC轉換器采集紗線信號并導入到Matlab中,這樣方便觀察算法的性能并調試參數[10]。本文提出的變步長LMS自適應濾波算法可以將信號中的噪聲較好地去除,為下一步的模式識別做好準備。
本文將新的LMS算法應用到紗線信號的濾波中,圖9中第一幅圖所示為檢測到的一段紗線的信號圖,采樣頻率為20 kHz,圖中縱坐標代表信號的幅值[11]。期望信號表示的是理想狀況下檢測到的紗線疵點信號圖,圖中表示紗線出現兩處不同的疵點,其中圖中第一處峰值代表細結,第二處峰值代表粗結。
用本文提出的變步長LMS自適應濾波算法對紗線信號進行處理后得到的信號如圖9(d)所示。從圖中可以看出,新算法不僅能很好地去除信號中的噪聲,而且相比于原固定步長算法,紗疵信號經過新算法處理后與理想信號更接近,并且在第二次紗疵出現時能更快收斂。檢測過程中紗線速度為200 m/min,兩處紗疵距離為1.64 m。可見經過自適應濾波算法濾波后原信號中的大量噪聲已經被很好地濾去了,并且有較好的收斂性。算法的誤差收斂圖如圖10所示,從圖中可以看出誤差下降很快并且第二次誤差值更接近0。

圖10 誤差收斂圖Fig.10 Error convergence graph
本文對一般定步長LMS算法和文中提出的變步長LMS算法進行了對比分析,步長因子的大小能夠影響算法的性能,步長因子需要在系統初始階段能夠快速變化以加快收斂速度,在系統收斂后能夠緩慢變化以減小穩態誤差。本文在步長因子選取原則的基礎上,通過仿真選取適合紗線檢測的變步長自適應濾波算法,結果證明算法具有較好的收斂性和穩態性。根據紗線信號的特征,本文利用變步長自適應濾波算法對紗線信號進行濾波處理,在紗線速度為200 m/min的條件下取得了較好的效果,為進一步對紗疵的精確識別和處理打下基礎。
參考文獻:
[1]Turan C,Salman M S,Eleyan A.A new variable step-size block LMS algorithm for a non-stationary sparse systems[C]//Twelve International Conference on Electronics Computer and Computation.IEEE,2015:1-4.
[2]Zhu Z,Gao X,Cao L,et al.Analysis on theadaptive filter based on LMS algorithm[J].Optik-International Journal for Light and Electron Optics,2016,127(11):4698-4704.
[3]Garg R,Kohli A K.Parameter estimation and tracking of sinusoid using variable-step-size LMS algorithms[J].Optik-International Journal for Light and Electron Optics,2016,127 (22):10953-10960.
[4]Agarwal R K,Hussain I,Singh B.Integration of single-stage SPV generation to grid using admittance based LMS technique[C]//IEEE International Conference on Emerging Trends in Electrical,Electronics&Sustainable Energy Systems,IEEE,2016.
[5]賀遠,劉剛,寧尚昆.無線數據傳輸系統及自適應濾波器的設計[J].自動化與儀表,2015,30(11):26-30.
[6]周基陽,徐聲偉,林楠森,等.一種提取動作電位的自適應閾值算法[J].自動化與儀表,2014,29(3):1-5.
[7]孫勇,肖勇,方彥軍.基于改進自適應閾值法的指針儀表圖像預處理[J].自動化與儀表,2014,29(9):5-9.
[8]靳翼,邵懷宗.一種新的變步長LMS自適應濾波算法及其仿真[J].信號處理,2010,26(9):1385-1388.
[9]彭繼慎,劉爽,安麗.低信噪比下基于新型變步長LMS的自適應濾波算法[J].傳感技術學報,2013(8):1116-1120.
[10]徐洋,徐松濤,馬健,等.基于Sigmoid二次型隸屬度函數的改進LMS 算法[J].中南大學學報:自然科學版,2014(10):3470-3476.
[11]張中華,張端金.一種新的變步長LMS自適應濾波算法及性能分析[J].系統工程與電子技術,2009,31(9):2238-2241.