潘廣貞 王 鳳 孫艷青
(中北大學軟件學院,太原, 030051)
心電圖(Electrocardiogram,ECG)是醫(yī)學領域一種重要的疾病診斷工具,是判斷個人健康的重要依據(jù)。ECG數(shù)據(jù)采集于人體體表,在采集過程不可避免會受到噪聲影響,基線漂移、工頻和肌電是主要的噪聲來源。這給心臟疾病診斷和分析帶來巨大的困擾:基線漂移導致ST段偏離基線會被誤診為心肌梗死、冠狀動脈供血不足等疾??;工頻干擾對P、T波段的影響易被判別為高、低血鉀癥或心肌缺血、冠心病、高血壓等疾??;肌電干擾會掩蓋ECG心跳中的細節(jié),從而弱化某些心臟疾病特征。噪聲干擾不僅影響醫(yī)生對心臟疾病的判斷,也會對計算機輔助診斷過程中的特征提取及疾病自動識別造成困擾。因此消除摻雜在ECG心跳中的噪聲干擾顯得尤為重要[1]。
ECG常用消噪方式有形態(tài)濾波、維納濾波、卡爾曼濾波、經驗模態(tài)(Emprical mode decomposition,EMD)以及小波閾值濾波等[2-5]。小波變換具有時頻多分辨功能和較好的數(shù)據(jù)性,是處理諸如ECG等生物學數(shù)據(jù)的良好工具,但它對信號分解不具有自適應性[6]。EMD算法根據(jù)數(shù)據(jù)自身特點進行分解,但其帶來的模態(tài)混疊效應無法避免[7]。集合經驗模態(tài)分解(Ensemble empirical mode decomposition,EEMD)在EMD方法基礎上稍作改進,有效提升分解效率[8]。 EMD算法和EEMD算法在ECG去噪領域取得較好效果[9],艾延廷等人[10]將馬氏距離與EEMD相結合有效區(qū)分出噪聲IMF分量,但直接舍去噪聲IMF分量會損失一部分信號;Nguyen等人[11]結合遺傳算法較好的全局搜索性能對噪聲IMF分量進行自適應閾值去噪,但遺傳算法容易陷入局部最優(yōu)。
針對傳統(tǒng)EEMD算法在去除ECG噪聲時存在的信、噪分量難于區(qū)分和去噪閾值難以確定的問題,本文對EEMD算法進行改進。含噪ECG數(shù)據(jù)經EEMD分解后得到一系列本征模態(tài)函數(shù)(Intrinsic mode functions, IMFs),針對噪聲層和信號層難以區(qū)分問題,引入馬氏距離;為更好地處理噪聲IMF分量,通過果蠅算法計算每個噪聲IMF最佳閾值,對其中每個分量進行去噪。最后,采用來自MIT-BIH的ECG數(shù)據(jù)進行對比實驗。
圖1 EEMD算法框圖Fig.1 Block diagram of EEMD algorithm
EEMD算法在處理生物信號方面取得良好效果,不僅繼承EMD算法自適應分解信號的優(yōu)點,且有效避免EMD算法的模態(tài)混疊。該方法通過對原始ECG執(zhí)行多次EMD分解,并在每次分解時加入白噪聲,分解效果與分解次數(shù)呈正比。這些IMF分量可以用于頻譜分析,IMF的頻率隨著其指數(shù)的增加而降低[8,10]。
EEMD方法的具體過程[12]為
(1)向原始數(shù)據(jù)x(t)中加入白噪聲w(t),得到
y(t)=x(t)+w(t)
(2)對信號y(t)進行EMD分解得到
(3)重復上述步驟(Huang[12]建議的分解次數(shù)為100次),得到
(4)對上述的結果求平均,得到最終的IMF分量
最終EEMD的分解結果為
利用EEMD算法去除ECG噪聲步驟如圖1所示。
馬氏距離(Mahalanbis distance, MD)能夠計算兩個位置樣本集的相似度,它對異常數(shù)值的敏感性使得它適合作為相似度測量工具,可以使用該度量工具判斷兩個一維信號概率密度函數(shù)(Probability density function, PDF)之間的相似性[13]。
設X和Y是從均值為μ,協(xié)方差矩陣為Σ的總體G中抽取的兩個樣品,則X,Y兩點之間的馬氏距離為
果蠅優(yōu)化算法(Fly optimization algorithm, FOA)是一種新的尋優(yōu)方法,該算法基于果蠅的覓食行為找到全局最優(yōu)解,克服了其他尋優(yōu)方式容易求得局部最優(yōu)解缺陷,有更好的全局尋優(yōu)性。由于該方法具有適應性強、簡單便于實施等特點,使其得到廣泛的應用。果蠅的視覺和嗅覺優(yōu)于其他物種,在覓食過程中向食物氣味濃度最高的方向飛去,在飛行過程中飛向覓食能力最強的果蠅個體。根據(jù)果蠅群體覓食過程,F(xiàn)OA算法通過反復迭代求得最佳解[14-15],其尋優(yōu)步驟如下:
(1)初始化參數(shù):初始化整個種群的位置范圍(LR)、活動范圍(FR)、群體大小、迭代次數(shù)上限。 可以通過以下等式獲得初始群體位置(x0,y0)。
x0=rand(LR)
y0=rand(LR)
其中rand為隨機數(shù)生成函數(shù)。
(2)給予每個個體在覓食過程中確定飛行方向和計算距離的能力,其位置計算為
xi=x0+rand(FR)
yi=y0+rand(FR)
(3)計算果蠅位置味道濃度:求個體在當前點氣味濃度判斷數(shù)(Si)和距離(Disti)。
Si=1/Disti
(4)通過Si和函數(shù)Functioni求解每個個體在當前點的smelli。然后確定具有最佳氣味濃度的果蠅。
smelli=Function(Si)
[bestsmell bestindex]=max(smelli)
其中bestindex表示具有 bestsmell的個體序號。
(5)記錄此時的bestsmell和序號bestindex的個體位置坐標,讓剩余個體向該最佳點飛去。
(6)重復步驟(1—5),判斷每次得到的bestsmell,超出循環(huán)次數(shù)后,停止迭代,從而得到最優(yōu)解bestsmell。
(7)進入迭代優(yōu)化,重復上述所有步驟,對每次迭代所得到的味道濃度進行比較分析。
傳統(tǒng) EEMD算法在處理ECG時,人為區(qū)分信、噪IMF分量會造成一定誤差,對區(qū)分出的噪聲 IMF直接舍棄,而噪聲IMF中往往還具有一定信息量,直接丟棄會導致信號失真,所以對噪聲 IMF的正確判斷和合理處理是本算法提升去噪效果的關鍵。
EEMD算法將ECG分解為多個IMF,其中包括少數(shù)噪聲IMF以及信號IMF。為區(qū)分出噪聲IMF,采用基于PDF和MD的方法來判斷所有IMFs中噪聲IMF和信號IMF分界點。馬氏距離的計算規(guī)則為
d(i)=MD(PDF(x(t)), PDF(imfi(t)))
(1)
將有用IMF和含噪IMF之間邊界值設為γ,將該值定義為最后一個噪聲IMF所對應的數(shù)值,根據(jù)PDF間的馬氏距離得到。因此馬氏距離拐點(即距離驟減點)前的IMF分量即為選定的噪聲分量,邊界值γ定義如下
(2)
識別出邊界值后,就可以區(qū)分出含噪IMF和信號IMF。i≤γ的IMF為含噪數(shù)據(jù),其余i>γ的IMF為不含噪數(shù)據(jù)。信號IMF予以保留,每個噪聲IMF經過自適應閾值去噪處理。為了判斷每一個噪聲IMF分量閾值,使用FOA對閾值進行全局尋優(yōu)。
重構的去噪信號如下
(3)
(4)
式中:Ti為依賴于IMF的通用閾值,對噪聲IMF分量的閾值表達式為
(5)
式中:C為閾值系數(shù),是可以通過實驗確定的常數(shù);N為信號長度。
第i個噪聲IMF分量的能量Ei計算如下
(6)
式中:β和ρ為與篩選迭代次數(shù)有關的參數(shù);E1為第1個IMF分量的能量。
由式(5,6)得到每個噪聲IMF的閾值為
(7)
為了計算噪聲IMF分量中的相關閾值,首先要確定式(7)中的ρ,β和C。為了解決這個問題,本文通過果蠅優(yōu)化算法尋求ρ,β和C這3個參數(shù)的最優(yōu)解,從而計算每個噪聲IMF分量的最佳閾值。
本文提出算法的基本步驟為:
(1) 對原始ECG進行EEMD分解,向其中添加均值為零、方差恒定的白噪聲,則原始ECG被分解為N個IMF和1個余項r(n)。
(2)計算各IMF分量PDF與原始數(shù)據(jù)PDF之間馬氏距離di(i=1,…,N),確定邊界值γ,則認為前γ個IMF為含噪IMF;第γ+1~N個IMF為信號IMF。
(3) 使用果蠅優(yōu)化閾值對含噪IMF自適應去噪,同時保留信號IMF。
(4) 對信號IMF分量和去噪后的噪聲IMF分量求和,重構去噪后心電信號。
上述步驟如圖2所示。
圖2 ECG去噪算法框圖Fig.2 Block diagram of ECG denoising algorithm
本文使用的實驗平臺Matlab10.0搭建在Windows 7上,ECG數(shù)據(jù)源取自公開數(shù)據(jù)庫MIT-BIH。實驗取其中Arrthythmia Database數(shù)據(jù)庫第100號記錄進行仿真實驗,選取采樣點為1 000。實驗使用改進算法對加入噪聲的ECG進行去噪處理,并與EEMD算法和小波閾值法對ECG處理結果進行直觀效果對比和客觀參數(shù)對比。
向MIT-BIH/100號ECG中添SNB=10 dB噪聲,如圖3所示。
圖3 原始ECG信號和加噪ECG信號Fig.3 Original ECG signal and noised signal
對含噪ECG心跳進行EEMD分解,IMF分量圖如圖4所示。圖中未見模態(tài)混疊,各IMF分量中QRS波群集中,在幾個高頻IMF分量中清晰觀察到噪聲存在,可見分解效果比較理想。
各IMF分量和原始ECG數(shù)據(jù)PDF間的馬氏距離如圖5所示,曲線在第4個IMF處發(fā)生驟減,通過該圖可識別出邊γ=3界值,這表示第一、第二和第三IMF分量是噪聲分量,其余IMF是信號分量。
圖6顯示了使用小波閾值、EEMD、EEMD-GA和本文算法對仿真ECG的處理結果。對比圖6可知,這4種方法對ECG數(shù)據(jù)的去噪均有一定的貢獻。其中,小波閾值處理過后的ECG數(shù)據(jù)光滑且低平,說明去噪強度過大,攜帶的信息量丟失明顯;EEMD算法處理后的數(shù)據(jù)中明顯可見噪聲,且含有部分毛刺,說明去噪強度較弱;EEMD-GA算法[11]去噪效果優(yōu)于EEMD算法,但還是存在噪聲;本文算法能夠有效地去除ECG信號中的噪聲,同時信號中的細節(jié)得到了保留,與原始信號更為接近,去噪效果優(yōu)于小波閾值法和EEMD方法。但本文算法由于進行了參數(shù)尋優(yōu),在耗時上要略高于其他算法。
圖4 EEMD分解的IMF分量圖Fig.4 Intrinsic mode component diagram of EEMD decomposition
圖5 馬氏距離Fig.5 Mahalanobis distance
圖6 算法去噪效果對比圖Fig.6 Denoising effect comparison of different algorithms
采用均方誤差MSE和信噪比SNR這兩個指標進行進一步分析,MSE和SNR能夠量化去噪效果,直接反映不同方法對數(shù)據(jù)的處理能力,具體表達式如下
(8)
(9)
圖7,8分別顯示不同輸入信噪比下ECG數(shù)據(jù)去噪后的SNR值和MSE值。由于實驗結果中小波閾值去噪算法的各項參數(shù)與其他3種算法差距較大,所以圖中僅顯示剩余3種算法的參數(shù)對比。
圖7 輸入不同SNRs各方法去噪后SNR
Fig.7 Output SNR of different denoising algorithms under different input SNRs
圖8 輸入不同SNRs各方法去噪后MSE
Fig.8 MSE of different denoising algorithms under different input SNRs
圖7,8參數(shù)對比顯示,在輸入信噪比相同的情況下,本文算法的輸出SNR較其他兩種方法有小幅提升,且均方差最小。
本文將EEMD與果蠅優(yōu)化算法結合,提出一種自適應閾值算法,從噪聲IMF選擇和處理兩個方面提升算法效率,解決EEMD方法人為區(qū)分信、噪IMF的弊端,以及對噪聲IMF分量閾值難以確定的問題。該算法采用馬氏距離區(qū)分出經EEMD分解得到的IMF中噪聲IMF,然后用經過果蠅優(yōu)化的閾值對噪聲IMF進行去噪。實驗結果顯示本文算法具有較好魯棒性,在去除心電信號噪聲上取得理想效果,可以應用到其他生物信號相似處理上。但本文算法也存在計算復雜度高、計算量較大的問題,還需要進一步改進,這也是下一步的研究內容。