孫見鵬, 劉 宏, 劉瀅浩, 田 彤
(1.中國科學(xué)院 上海微系統(tǒng)與信息技術(shù)研究所,上海 200050; 2.上??萍即髮W(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201210; 3.中國科學(xué)院大學(xué),北京 100000)
心電(electrocardio,ECG)信號是一種生物電信號[1],是由心肌收縮產(chǎn)生的弱電信號,現(xiàn)階段在臨床靜態(tài)中檢測人體ECG的技術(shù)已經(jīng)非常成熟[2],但在運動過程中人體產(chǎn)生的ECG信號是很不穩(wěn)定的,包含著很多的干擾,影響著信號的質(zhì)量[3,4]。在運動過程中要求得到有效的ECG信號,必須進行有效的數(shù)字硬件實時濾波處理。
濾除運動干擾的技術(shù)可以分為兩大類:盲源分離技術(shù)和自適應(yīng)濾波技術(shù)。其中盲源分離技術(shù)主要有獨立成分分析(independent component analysis,ICA)算法和主要成分分析(principal component analysis,PCA)算法,特點都是運算量大和濾波性能優(yōu)秀;自適應(yīng)濾波技術(shù)主要有最小二乘法(least square method,LSM)、最小均方(least mean square,LMS)算法和維納濾波等技術(shù),特點是運算量較小同時濾波性能也良好。文獻[3]采用了基于ICA算法提取胎兒的ECG信號。文獻[6]采用了PCA算法濾除ECG信號中的肌電干擾。文獻[7]采用了基于LMS算法的級聯(lián)自適應(yīng)濾波消除運動干擾。
可以看出盲源分離技術(shù)適合在終端計算機中進行處理,并不適合硬件集成實時濾波。本文提出了一種基于LMS算法改進的自適應(yīng)濾波算法,能夠?qū)崿F(xiàn)數(shù)字硬件集成實時濾波。在濾波算法運算量增加微小的同時能夠達到高于傳統(tǒng)的LMS算法的濾波效果。
自適應(yīng)LMS算法可以隨輸入信號變化自動調(diào)整濾波系數(shù),能夠在未知噪聲干擾與目標(biāo)信號的特征關(guān)系的情況下跟蹤時變信號,自動調(diào)節(jié)優(yōu)化自身參數(shù),滿足設(shè)計者的準(zhǔn)則,達到很好的濾波效果?;贚MS算法的濾波條件及效果,采用數(shù)字自適應(yīng)LMS算法濾除運動過程中ECG信號中的噪聲。設(shè)計的硬件實現(xiàn)系統(tǒng)及變步長的LMS算法的流程如圖1。
圖1 硬件實現(xiàn)系統(tǒng)
模擬部分:前端傳感器采集到的含運動噪聲的ECG信號和參考運動噪聲信號,通過可編程放大器(programmable gain amplifier,PGA)和模/數(shù)轉(zhuǎn)換器(analog to digital conver-ter,ADC)轉(zhuǎn)換成數(shù)字信號。數(shù)字部分:轉(zhuǎn)換后的數(shù)字信號,通過可以數(shù)字硬件實現(xiàn)的變步長LMS算法的自適應(yīng)濾波器,得到濾除運動干擾噪聲的ECG,實現(xiàn)實時監(jiān)測。
傳統(tǒng)LMS算法要求2個輸入信號:d(k)=s(k)+n(k)為輸入的待濾波信號,包含理想的原始理想信號s(k)和噪聲信號n(k);參考信號X(k)。消除噪聲后輸出信號為e(k)[6]。算法的具體流程如圖2所示。
圖2 自適應(yīng)LMS算法框圖
原始理想ECG信號s(k)和噪聲信號n(k)不具有相關(guān)性或是相關(guān)性很小,而參考噪聲信號X(k)和噪聲信號n(k)有明確的相關(guān)性。LMS算法的數(shù)學(xué)表述形式如下
e(k)=d(k)-y(k)
(1)
y(k)=WT(k)X(k)
(2)
W(k+1)=W(k)+2μe(k)X(k)
(3)
式(1)為誤差估計,式(2)為濾波器的輸出,式(3)為權(quán)值系數(shù)更新。步長因子μ控制著算法的收斂率。為了使式(3)收斂,步長因子μ要滿足0<μ<2/tr[R],其中R為輸入信號的自相關(guān)矩陣??梢钥吹阶赃m應(yīng)LMS算法的核心在于權(quán)值更新公式。
歸一化LMS(normalization LMS,NLMS)算法,可以看作是對經(jīng)典的LMS算法針對權(quán)值更新器的優(yōu)化和改進[8]
(4)
式中 ‖X(k)‖為輸入信號X(k)的范數(shù);β和α為調(diào)節(jié)常數(shù)。
可以看到NLMS算法對LMS算法的改進在于對步長因子μ的改進,變?yōu)榕c輸入?yún)⒖剂肯嚓P(guān)性的因子。相比LMS算法NLMS算法的失調(diào)量更小,收斂速度更快,但運算量也隨著改進而變大[8]。
在NLMS算法的基礎(chǔ)上,本文提出了面向硬件實現(xiàn)的變步長LMS算法。算法通過簡化NLMS算法的步長因子與輸入信號的關(guān)系,減少了權(quán)值更新系統(tǒng)的運算量。又通過分析傳統(tǒng)LMS算法收斂性速度較慢的問題,結(jié)合迭代次數(shù)優(yōu)化步長因子,提高了算法的收斂性能,擁有良好的濾波效果。算法很好地契和了硬件實現(xiàn)的兩個要求:運算量小,濾波效果好。本文將步長因子與迭代次數(shù)相關(guān)聯(lián),其權(quán)值更新公式為
W(k+1)=W(k)+(1/δk)e(k)X(k)
(5)
式中k為迭代次數(shù),在自適應(yīng)濾波初始階段,k較小,從而整個步長因子較大,其收斂速度很快,隨著迭代次數(shù)的增加步長因子趨于穩(wěn)定,保持權(quán)值系數(shù)W(k)穩(wěn)定在最優(yōu)權(quán)值系數(shù)附近,既優(yōu)化了收斂速度又確保了運算量不會大幅增加。同樣的,式(5)中δ是與參考噪聲X(k)相關(guān)的系數(shù),根據(jù)NLMS算法和文獻[7]可以看出:步長因子隨著參考噪聲X(k)的增加而減小。實驗結(jié)果表明對于濾除特定運動噪聲,可以簡化其相關(guān)性,對于不同的參考噪聲X(k),δ有不同的常數(shù)值。
文獻[7]采用了一種變步長的LMS算法,來實現(xiàn)濾除干擾。其步長因子表達式為
(6)
c(k)=σx(k)σd(k)/p
(7)
通過式(6)和式(7)可以看到,其對步長因子進行了分段處理,并將變步長部分c(k)與兩個輸入信號關(guān)聯(lián)處理,得到整體的步長因子μ(k)??梢钥闯銎溥\算量較μ(k)=1/δk大很多。將不同算法的權(quán)值更新運算量的比較整理于表1中,其中L為濾波器的階數(shù)??梢钥闯?,本文采用的變步長LMS算法明顯優(yōu)于NLMS算法和文獻[7]算法,相較于經(jīng)典的LMS算法只是在乘法運算中增加了“1”的運算量,本文的變步長LMS算法在硬件實現(xiàn)濾除ECG信號中運動干擾中具有特有的優(yōu)勢。
表1 不同算法的權(quán)值更新運算量比較
為了實現(xiàn)對運動過程中ECG信號濾除過程的模擬,實驗采用麻省理工學(xué)院研究心律失常(MIT-BIH)數(shù)據(jù)庫中ECG信號和運動噪聲信號[9]。
理想ECG信號s(k)選取數(shù)據(jù)庫中的118號ECG信號中前10 000個數(shù)據(jù)作為研究樣本,運動噪聲信號X(k)選取數(shù)據(jù)庫中電極運動干擾信號中前10 000個數(shù)據(jù)作為研究樣本。通過將理想ECG信號和運動噪聲經(jīng)過數(shù)據(jù)變換整合得到模擬人體運動狀態(tài)下的ECG信號d(k),然后通過設(shè)計的變步長LMS算法,得到輸出波形e(k)。
通過圖3可以看出:運動中的ECG信號通過變步長LMS算法很好地濾除了運動噪聲。信噪比(signal to noise ratio,SNR)從-4.337 5 dB提高到了16.667 8 dB。為了方便觀察,圖3僅顯示了前2 000個數(shù)據(jù)樣本。
圖3 通過變步長LMS算法的波形及其對比
圖4比較了相同輸入信號d(k)和X(k)通過變步長LMS算法和經(jīng)典LMS算法后的輸出波形??梢钥闯觯和ㄟ^變步長LMS算法的效果要好很多,SNR提升了14 dB,更貼近理想ECG信號。
圖4 2種算法的輸出波形比較
圖5為2種算法的均方誤差(mean square error,MSE)比較,可以看出:變步長LMS算法收斂更快更好。
圖5 2種算法均方誤差的比較
實驗還分析了系數(shù)δ與運動狀態(tài)下ECG信號d(k)中運動噪聲X(k)的關(guān)系。δ隨著分量X(k)的增加而變大。當(dāng)運動強度一定時,δ為定值。表2為系數(shù)δ與X(k)強度系數(shù)S(x(k))的關(guān)系以及通過變步長LMS算法得到的最佳SNR。
表2 δ與Sx(k)的關(guān)系
面向硬件實現(xiàn)中實時濾除ECG信號中的運動干擾的問題,提出了變步長LMS算法自適應(yīng)消除的方法。在傳統(tǒng)LMS算法的基礎(chǔ)上改進優(yōu)化步長因子,在運算量增加很小的情況下實現(xiàn)了信噪比的大幅提升。即滿足了硬件實現(xiàn)要求運算量盡量小的條件,又實現(xiàn)了良好的運動干擾消除。算法在硬件實現(xiàn)實時濾除ECG信號中運動干擾的領(lǐng)域擁有廣闊的應(yīng)用前景。
參考文獻:
[1] 江培海,黃啟俊,常 勝,等.基于SOC FPGA的心電信號檢測系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2016,35(2):74-77.
[2] 張大偉,王???張 斌,等.新型三導(dǎo)聯(lián)無線ECG設(shè)計與其處理算法研究[J].傳感器與微系統(tǒng),2013,32(5):35-37.
[3] 余冠成,趙曉東,俞 乾,等.超低功耗智能移動心電監(jiān)測設(shè)備[J].傳感器與微系統(tǒng),2015,34(3):74-76,80.
[4] 牛 群.可穿戴心電監(jiān)測裝置設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2016.
[5] 楊少鵬,吳小培,張 磊.基于ICA 的胎兒心電提取系統(tǒng)[J].計 算 機 系 統(tǒng) 應(yīng)用,2011,20(9):22-26.
[6] 王曉花,徐學(xué)軍,何秋婭.一種ECG 信號肌電干擾去除方法的研究[J].智能計算機與應(yīng)用,2015,5(1):59-62.
[7] Hyejung K,Sunyoung K,Van Helleputte N,et al.Motion artifact removal using cascade adaptive filtering for ambulatory ECG monitoring system[C]∥Biomedical Circuits and Systems(BioCAS) Conference,2012.
[8] Paulo S R Diniz.自適應(yīng)濾波算法與實現(xiàn)[M].北京:電子工業(yè)出版社,2004.
[9] 朱澤煌, 胡廣書,郭 恒,等.MIT-BIH心電數(shù)據(jù)庫的開發(fā)及用作檢測標(biāo)準(zhǔn)[J].中國生物醫(yī)學(xué)工程學(xué)報,1993(4):244-249.