鄧一凡
(華北電力大學(xué),北京102200)
心電圖(Electrocardiogram, ECG)是對(duì)心臟多個(gè)心動(dòng)周期產(chǎn)生的電活動(dòng)變化的圖像記錄,是通過將電極放置于體表實(shí)現(xiàn)的。心電圖常用于幫助醫(yī)生們?cè)\斷心律失常、心肌梗塞等心血管疾病。在心血管疾病中,心律失常是最常見的,因此對(duì)心律失常的精準(zhǔn)分類一直是生物醫(yī)學(xué)研究的熱點(diǎn)。醫(yī)生們通過人工對(duì)心電圖進(jìn)行分析,不僅耗時(shí)耗力,還容易因?yàn)槠@蹖?duì)最后的疾病診斷產(chǎn)生不良影響。因而通過人工智能實(shí)現(xiàn)的心電信號(hào)分類算法不僅可以幫助醫(yī)生分擔(dān)壓力,也能夠提高疾病分類的準(zhǔn)確率。
心電信號(hào)在采集的過程中容易受到環(huán)境和設(shè)備等因素的影響,導(dǎo)致采集到的心電信號(hào)受到噪音的污染。這些噪音主要被分為三類:(1)來自50hz 交流電的工頻干擾,(2)來自肌肉的收縮和顫動(dòng)的肌電干擾,(3)來自人體自身呼吸的基線漂移。傳統(tǒng)的心電信號(hào)去噪方法是數(shù)字濾波,包括低通濾波器、高通濾波器和帶陷濾波器等。但是,三類噪音很難用一種數(shù)字濾波器濾除,因此通常需要共同使用多個(gè)數(shù)字濾波器。而且數(shù)字濾波屬于線性濾波,在濾除噪聲的同時(shí),它們很可能會(huì)導(dǎo)致信號(hào)的奇異點(diǎn)改變或者信號(hào)的邊緣模糊不清的后果。
由于心電信號(hào)是一種不平穩(wěn)的信號(hào),在時(shí)域和頻域非常多變,波形的變化也不可預(yù)測(cè)。而小波變換具有優(yōu)異的時(shí)頻分析和局部性分析特性,因此小波變換被廣泛應(yīng)用于信號(hào)處理上。研究員早已經(jīng)把小波變換應(yīng)用于心電信號(hào)的降噪中,并且小波變換已經(jīng)成為心電信號(hào)去噪最有效的方式之一。Donoho[1,2]提出了一維和二維信號(hào)的小波閾值去噪方法。Sayadi 等人[3]提出了一種新的基于小波變換自適應(yīng)閾值的ECG 降噪方案bionic-WT(BWT)。Novak 等人[4]提出了一種基于小波變換的不同噪聲水平檢測(cè)算法的去噪方法。Singh 等人[5]提出了一種小波域中去除心電噪聲的母小波基函數(shù)選擇方法。
小波變換的參數(shù)選擇之間影響到最后的濾波效果。本文提出用粒子群優(yōu)化算法對(duì)離散小波變換的參數(shù)進(jìn)行優(yōu)化,從而找到使原始心電信號(hào)和去噪信號(hào)均方差最小的小波去噪?yún)?shù),即最佳參數(shù)。
表1 小波變換參數(shù)范圍表
小波變換是一種強(qiáng)大的時(shí)頻域處理工具,已經(jīng)被成功應(yīng)用于心電信號(hào)的處理中,解決心電信號(hào)去噪、特征提取等問題。小波變換有五個(gè)參數(shù):(1)小波基函數(shù)類型;(2)分解層數(shù);(3)閾值函數(shù);(4)閾值選擇規(guī)則;(5)閾值重縮放方法。這五個(gè)參數(shù)的取值范圍如表1 所示。
小波變換主要包括連續(xù)小波變換(CWT)和離散小波變換(DWT)[6]。本文主要使用離散小波變換。DWT 通過使用一組濾波(即低通和高通濾波器)來分解信號(hào),以分別產(chǎn)生近似系數(shù)cA和細(xì)節(jié)系數(shù)cD。假設(shè)原始心電信號(hào)有n 個(gè)樣本,x(t)=[x(1),x(2),…,x(n)]。假設(shè)將心電信號(hào)分為L(zhǎng) 個(gè)層次,每個(gè)層次分解為兩部分,即近似系數(shù)(cA)和細(xì)節(jié)系數(shù)(cD)。cD 將使用高通濾波器進(jìn)行處理,而cA 將繼續(xù)進(jìn)行下一級(jí)的分解。使用DWT 的主要目的是通過不同的系數(shù)級(jí)別對(duì)輸入信號(hào)進(jìn)行分解,以校正輸入信號(hào)的高頻[7]。Matlab 提供了幾種通過DWT 進(jìn)行信號(hào)分解的方法。此外,Matlab 還提供了一種應(yīng)用逆離散小波變換(iDWT)的信號(hào)重構(gòu)技術(shù)。
本文將用小波變換完成心電信號(hào)的分解,再利用逆小波變換(iDWT)完成對(duì)心電信號(hào)的重構(gòu)。
小波去噪過程可分為三個(gè)階段:
第一階段是心電信號(hào)的分解階段,該階段我們首先需要選擇第一個(gè)參數(shù)即合適的小波基函數(shù)用于分解心電信號(hào),然后選擇第二個(gè)參數(shù)分解層數(shù)L。
第二階段是閾值的選取,需要同時(shí)選擇閾值函數(shù)類型、閾值選擇規(guī)則和閾值重縮放方法這三個(gè)參數(shù)。小波提供了兩種標(biāo)準(zhǔn)的閾值函數(shù),分別是軟閾值函數(shù)和硬閾值函數(shù)。閾值通?;谠肼暦鹊臉?biāo)準(zhǔn)偏差(σ)來定義[8]。閾值規(guī)則根據(jù)公式(1)選取。
其中x(n)是原始ECG 信號(hào),e 是噪聲,σ 是噪聲的幅度,n是樣本數(shù)。小波參數(shù)(β、λ 和ρ)必須分別應(yīng)用于每個(gè)小波系數(shù)(近似和細(xì)節(jié))級(jí)別。
第三階段是通過逆離散小波變換(iDWT)實(shí)現(xiàn)去噪后的心電信號(hào)的重構(gòu)。如公式(2)所示。
式中,Gk表示最大迭代次數(shù)。Wini為初始慣性權(quán)值,Wend為迭代至最大進(jìn)化代數(shù)時(shí)的慣性權(quán)值。
本文提出的心電信號(hào)去噪方法有以下三個(gè)階段:
第一階段:包括輸入心電信號(hào)和。首先讀入原始心電信號(hào),然后添加高斯白噪音,再計(jì)算心電信號(hào)的信噪比SNR、均方根差PRD 和均方誤差MSE。接著初始化五個(gè)小波變換的參數(shù):小波基函數(shù),分解層數(shù),閾值函數(shù),閾值選擇規(guī)則和閾值重縮放法。小波變換參數(shù)取值范圍見表1。同時(shí)初始化粒子群優(yōu)化算法的參數(shù),粒子群優(yōu)化算法初始化參數(shù)值如表2 所示,其中D 表示維度,N 表示群規(guī)模,G 表示最大迭代次數(shù),w代表慣性權(quán)值。
表2 粒子群優(yōu)化算法初始化參數(shù)值表
第三階段:利用最佳小波參數(shù)對(duì)心電信號(hào)去噪。主要包括以下三步:基于離散小波變換的心電信號(hào)分解、閾值選取和基于逆離散小波變換的心電信號(hào)重構(gòu)。
本文選取了MIT-BIH 數(shù)據(jù)庫(kù)作為實(shí)驗(yàn)數(shù)據(jù)。該數(shù)據(jù)庫(kù)是由美國(guó)麻省理工學(xué)院與Beth Israel 醫(yī)院聯(lián)合建立的研究心律失常的數(shù)據(jù)庫(kù),它也是目前在國(guó)際上應(yīng)用最多的數(shù)據(jù)庫(kù)。每條心電圖記錄有650000 個(gè)采樣點(diǎn),采樣率為360 Hz,分辨率為10 mV范圍內(nèi)的11 位,比特率為3960 bps。實(shí)驗(yàn)設(shè)備配置為:戴爾G3、intel core i7、RAM 8G、MATLAB R2014a。為了評(píng)價(jià)系統(tǒng)的降噪性能,采用了均方根差PRD 和信噪比SNR 兩個(gè)指標(biāo)。信噪比是輸出信號(hào)功率與輸出噪聲功率的比值,信噪比越大,說明輸出信號(hào)中的噪音越少。均方根差PRD 和信噪比SNR 分別根據(jù)方程(7)和方程(8)計(jì)算。
其中,x(n)表示使用過基于粒子群優(yōu)化算法的小波變換去噪算法的心電信號(hào),N 為采樣點(diǎn)。
本文使用基于粒子群優(yōu)化算法的小波變換去噪算法對(duì)MIT-BIH 數(shù)據(jù)庫(kù)中的48 條心電信號(hào)數(shù)據(jù)進(jìn)行了測(cè)試,我們對(duì)原始信號(hào)加入高斯白噪聲,使輸入信噪比為0-30dB 后,再使用本文提出的心電信號(hào)去噪算法對(duì)加噪信號(hào)進(jìn)行去噪,并計(jì)算了信號(hào)去噪前后信噪比SRN 和均方根差PRD 的平均值。如表3所示,均方根誤差隨著輸入信噪比的增加而減小。在選擇小波基函數(shù)時(shí),Daubechies 函數(shù)和Symlets 函數(shù)被選擇得較多,分別是三次和兩次。而且Daubechies 函數(shù)總是在信噪比較高的范圍內(nèi)被選擇。從分解層數(shù)來看,低信噪比適合的分解層數(shù)范圍為5至7 層,而高信噪比適合的分解層數(shù)范圍為2 至4 層。該算法選用的閾值函數(shù)是軟閾值函數(shù),原因是硬閾值函數(shù)可能會(huì)引起信號(hào)的不連續(xù)性。閾值選擇規(guī)則主要集中在Heursure 和Rigsure兩個(gè)選項(xiàng)之間,其中Rigsure 被選擇得更多。最后,在所有閾值重縮放方法中,sln 取得了絕對(duì)性優(yōu)勢(shì)。表4 給出了基于粒子群優(yōu)化算法和離散小波變換的去噪算法對(duì)輸入信噪比為0 到30 dB的心電信號(hào)的評(píng)估效率。由表3 可見,經(jīng)過心電信號(hào)去噪算法去噪的心電信號(hào)信噪比均提高了,說明本文提出的心電信號(hào)去噪算法能夠有效去噪。且隨著輸入信噪比的升高,另外,PRD 的變換表明該方法對(duì)信號(hào)的去噪比較平穩(wěn),特別是當(dāng)心電信號(hào)具有低噪聲時(shí)。PRD 的降低表明了本文所提出的基于粒子群優(yōu)化算法和離散小波變換的心電信號(hào)去噪算法的有效性。
表3 用粒子群優(yōu)化算法獲得的最佳小波變換參數(shù)
表4 不同信噪比輸入對(duì)心電信號(hào)去噪性能的影響