摘要:介紹一種基于迭代次數變步長的LMS算法,通過自適應噪聲抵消系統,對心電信號中的工頻干擾進行抑制。實驗結果表明,基于迭代次數變步長的LMS算法濾波效果最好,信噪比提高了46.0149dB,同時收斂速度也是最快的,并且具有好的實時性,驗證了該算法在抑制工頻干擾方面的有效性和優越性,有重要的理論意義和實用價值。
關鍵詞:ECG信號;工頻干擾;自適應噪聲抵消系統;迭代次數變步長;LMS算法
中圖分類號:TP23文獻標識碼:A文章編號:16723198(2007)11028003
1心電信號的自適應噪聲抵消系統
在對隨機數字信號的濾波處理中,自適應濾波器的特點是當輸入過程的統計特性未知時,或者輸入過程的統計特性變化時,能夠相應地調整自身的參數,以滿足某種準則的要求,達到最優化濾波。采用自適應處理,具有非常好的自適應性,尤其是自適應噪聲抵消系統是心電信號工頻干擾抑制中最通用的方法。本文采用的自適應噪聲抵消系統具體實現結構原理圖如圖1所示:
圖1ECG信號的自適應噪聲抵消系統
Fig.1The adaptive noise canceling
system of electrocardiogram
由圖1可知,該系統利用兩輸入噪聲的相關性和信號與噪聲的獨立性,使參考輸入通過自適應濾波器與主輸入中的噪聲分量逼近并相減,輸出誤差信號。自適應濾波器的輸出y是對n0的最佳估計,而系統的輸出z是對理想信號s的最佳估計。
實現噪聲抵消的核心是自適應濾波算法,不同的自適應濾波器算法具有不同的收斂速度和算法復雜度。
1.1LMS算法
這是一種用瞬時值估計梯度矢量的方法。在實際系統中,實現LMS算法既不要計算輸入信號的相關函數,又不要求矩陣之逆,這就表明了該算法的簡易性和效率。
誤差估計:e(n)=d(n)-WT(n)X(n)(1)
系數更新:W(n+1)=W(n)+μe(n)X(n)(2)
其中步長μ是一個用于控制自適應速度和穩定性的收斂因子。為保證算法收斂,步長取值范圍如下:
0<μ<2tr[R](3)
其中,R是輸入信號自相關矩陣,tr[R]是矩陣的跡。
1.2歸一化LMS算法
歸一化LMS(Normalized LMS,縮寫為NLMS)算法是采用變步長的方法來縮短自適應收斂過程,它基于LMS算法的基本思想,用瞬時平方誤差作為均方誤差MSE的簡單估計,并且為了控制失調量,考慮到基于瞬時平方誤差的導數不等于均方誤差MSE求導數值,可以得到進行修正的權系數迭代公式:
w(n+1)=w(n)+μγ+xT(n)x(n)e(n)x(n)(4)
其中,變步長可以用μ(n)來表示,即:
μ(n)+μγ+xT(n)x(n)(5)
式中,參數μ為控制失調的固定收斂因子,參數γ是為了避免xT(n)x(n)過小導致步長太大而設置的,0≤γ≤1。為了保證自適應濾波器能夠穩定工作,固定收斂因子μ的選取應滿足的數值范圍如下:
0<μ<2(6)
由公式(5)可以看出,等效步長μ(n)是輸入信號的非線性變量,隨著γ在[0,1]之間不斷變化,可以使步長由大逐漸變小,加速了收斂過程。
1.3誤差歸一化變步長LMS算法
誤差歸一化變步長LMS算法,將誤差信號e(n)用期望信號d(n)進行歸一化,用得到的相對誤差的平方調節步長。這種算法權系數矢量的迭代公式如下:
W(n+1)=W(n)+μ(n)e(n)X(n)(7)
其中,μ(n)為步長系數,它的更新表達式為:
μ(n+1)=e(n)d(n)2μ0(8)
而且:
μ(n+1)=αμ(n),μ(n+1)<αμ(n)
1αμ(n),μ(n+1)>1αμ(n)
μ(n+1),其他(9)
由式(8)和式(9)可以看出,變化的步長μ(n)是由參數α和相對的估計誤差來控制的,與傳統LMS算法相比,計算量有所增加。
2基于迭代次數變步長的LMS算法
定步長LMS算法中μ值固定,計算簡單,但是收斂速度慢;誤差歸一化變步長LMS算法隨著自適應過程的進行,μ值不斷減小,收斂速度快,但是在每次系數更新時都要計算一次相對誤差的平方,引入參數α,還要對當前時刻的步長與下一時刻的步長進行比較,才能獲得下一次迭代步長值,計算量增加。
此算法的提出是在技術思想上,依據誤差歸一化變步長LMS算法,并結合定步長LMS算法,對數據基于迭代次數進行分段處理,在一定的迭代次數范圍內選擇一個固定的步長值。隨著自適應過程的進行,步長值逐漸減小。在迭代次數nj~nj+L范圍內可以取步長為1/nj,對此段信號的處理就是定步長的LMS算法,并且滿足每段步長逐漸減小。當把數據進一步細化分成更多段,直到一次迭代作為一段時,步長值可近似為μ≈1/n,為避免μ值過大引起大幅度失真,引入增益常數c,即μ=1/(c*n)。在自適應初始階段,迭代次數n較小,相應的步長μ值就較大,這就加快了自適應過程的收斂速度;隨著自適應過程的進行,迭代次數逐漸增大,導致步長相應減小,從而保證了在最佳權系數附近的失調量較小。
基于迭代次數的變步長LMS算法具有好的實時性。在“學習”過程中,步長值較大,收斂速率快,可以盡快進入“跟蹤”過程。隨著迭代次數的增加,步長逐漸減小,達到設定的步長下限時變為定步長LMS算法,對信號進行實時跟蹤處理。
系數更新:
W(n+1)=W(n)+1/(c*n)e(n)X(n)(10)
為保證算法收斂,步長取值范圍應滿足:
0<1c*n<2tr[R](11)
即:c>tr[R]2n(12)
隨著自適應過程的進行,迭代次數n逐漸增大,增益常數c的取值范圍變大,但是為了保證整個自適應過程中該算法處于收斂狀態,c的最小取值應為cmin=tr[R]2(c為正整數),同時由步長表達式可知,c取值越小,步長值越大,收斂速度越快,所以c的最佳取值為c=tr[R]2。
定步長LMS算法、歸一化LMS算法、誤差歸一化變步長LMS算法和基于迭代次數變步長LMS算法,四種算法在每次系數更新時的計算量比較如表1所示(假設濾波器階數為M):
表1四種算法每次系數更新的運算量比較
Tab.1The comparison of the four algorithm
operand at time of each modulus update
乘法次數加法次數
定步長LMS算法M+1M+1
歸一化LMS算法2M+22M+2
誤差歸一化LMS算法 M+5
M+1基于迭代次數變步長的LMS算法M+2M+1
由表1可見,歸一化LMS計算量最大,定步長LMS算法、誤差歸一化變步長LMS算法和基于迭代次數變步長的LMS算法加法計算量相同,乘法計算量也相差不大。但是誤差歸一化變步長LMS算法需要每次步長與上次比較做出選擇,比較麻煩,而基于迭代次數變步長LMS算法卻相對比較簡單。
3實驗分析及結果
為了檢驗基于迭代次數變步長的LMS算法與定步長LMS算法和歸一化LMS算法在抑制心電信號工頻干擾中的信噪比和收斂速度方面的差別,針對圖1的原理圖,分別用這三種算法對心電信號中的工頻干擾進行濾波。
在自適應噪聲抵消系統中,原始輸入是含有50Hz工頻干擾的心電信號,自適應濾波器參考輸入端為同頻率的余弦信號,濾波器階數為二階,采樣率均為200Hz。算法程序運行于Matlab6.5環境。濾波后實驗結果如圖2所示:
圖2原始信號及三種算法的濾波輸出
Fig.2The initial signal and filtering
output of the three algorithms
在實驗中,定步長的LMS算法中的μ值取0.001,歸一化LMS算法中μ值取0.1,γ取1,基于迭代次數變步長的LMS算法中的常數c取13,初始權系數均設為0。由圖2可以看出,三種算法都能夠抵消心電信號中的工頻干擾,但是基于迭代次數變步長的LMS算法能夠最快、最好的有效濾除工頻干擾,濾波效果最好,歸一化LMS算法次之,LMS算法濾波效果最差。
表2給出了三種算法在自適應濾波過程中信噪比和運算時間方面的比較。從表中可以看出從信噪比提高程度上,基于迭代次數變步長的LMS算法獲得了最高的信噪比,信噪比提高了46.0149dB,歸一化LMS算法次之,信噪比提高了36.9235dB。但是,在運算時間方面,由于基于迭代次數變步長的LMS算法采用了變步長的方法,因而它的運算時間比起LMS算法來說并不是最短的,這也說明了LMS算法的運算量是最小的,而歸一化LMS算法的運算量最大,這一點和前面在理論上的論述是一致的。
表2三種算法對ECG信號濾波前后的信噪比及運算時間
Tab2SignalNoise ratio and count time of
the three algorithms for ECG signal filtering
算法名稱濾波前信噪比snr濾波后信噪比snrf信噪比提高snrfsnr運算時間(s)
LMS算法-0.090925.140925.23180.02
歸一化LMS算法-0.090936.832636.92350.51
基于迭代次數變步長的LMS算法-0.090945.924046.01490.03
LMS算法、歸一化LMS算法和基于迭代次數變步長的LMS算法的平方誤差學習曲線如圖3所示:
圖3三種算法的誤差學習曲線
Fig.3The error learning line of the three algorithms
由圖3中三種算法的誤差學習曲線可以看出,基于迭代次數變步長的LMS算法的誤差收斂速度最快,歸一化LMS算法次之,由于迭代過程開始時步長值相應較大,所以剛開始時誤差值變化比較大,但之后快速減小。
4結論
基于迭代次數變步長的LMS算法,能夠有效抑制ECG信號中的工頻干擾。通過自適應噪聲抵消系統,分別采用定步長LMS算法、歸一化LMS算法和基于迭代次數變步長的LMS算法,對心電信號中的工頻干擾進行抑制。實驗結果表明,基于迭代次數變步長的LMS算法濾波效果最好,信噪比提高了46.0149dB,同時收斂速度也是最快的,并且具有好的實時性。該算法對自適應濾波器設計和算法研究具有參考價值和理論意義,并且為步長μ的設計提供了一種新的手段和方法。
參考文獻
[1]莊天戈.計算機在生物醫學中的應用[M].北京:科學出版社,2001.
[2]楊紅,李生明.自適應濾波器在噪聲對消中的應用[J].長江工程職業技術學院學報,2005,22(4):5556, 74.
[3]沈鳳麟,陳和晏.生物醫學隨機信號處理[M].合肥:中國科學技術大學出版社,2002.
[4]周永軍,盧智遠,牛中奇等.自適應濾波器在心電信號檢測中的應用[J].測試技術卷,2004,(12):2324.
[5]劉世金,張榆鋒,吳耀德等.一種基于RLSANC系統的FECG信號提取新方法[J].醫療裝備,2005,(1):1-3.
[6]何振亞.自適應信號處理[M].北京:科學出版社,2002.
[7]張秦,馮存前.變步長LMS算法及其在自適應消噪中的應用[J].現代電子技術.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。