鄧一凡
(華北電力大學,北京102200)
心電圖(Electrocardiogram, ECG)是對心臟多個心動周期產生的電活動變化的圖像記錄,是通過將電極放置于體表實現的。心電圖常用于幫助醫(yī)生們診斷心律失常、心肌梗塞等心血管疾病。在心血管疾病中,心律失常是最常見的,因此對心律失常的精準分類一直是生物醫(yī)學研究的熱點。醫(yī)生們通過人工對心電圖進行分析,不僅耗時耗力,還容易因為疲累對最后的疾病診斷產生不良影響。因而通過人工智能實現的心電信號分類算法不僅可以幫助醫(yī)生分擔壓力,也能夠提高疾病分類的準確率。
心電信號在采集的過程中容易受到環(huán)境和設備等因素的影響,導致采集到的心電信號受到噪音的污染。這些噪音主要被分為三類:(1)來自50hz 交流電的工頻干擾,(2)來自肌肉的收縮和顫動的肌電干擾,(3)來自人體自身呼吸的基線漂移。傳統(tǒng)的心電信號去噪方法是數字濾波,包括低通濾波器、高通濾波器和帶陷濾波器等。但是,三類噪音很難用一種數字濾波器濾除,因此通常需要共同使用多個數字濾波器。而且數字濾波屬于線性濾波,在濾除噪聲的同時,它們很可能會導致信號的奇異點改變或者信號的邊緣模糊不清的后果。
由于心電信號是一種不平穩(wěn)的信號,在時域和頻域非常多變,波形的變化也不可預測。而小波變換具有優(yōu)異的時頻分析和局部性分析特性,因此小波變換被廣泛應用于信號處理上。研究員早已經把小波變換應用于心電信號的降噪中,并且小波變換已經成為心電信號去噪最有效的方式之一。Donoho[1,2]提出了一維和二維信號的小波閾值去噪方法。Sayadi 等人[3]提出了一種新的基于小波變換自適應閾值的ECG 降噪方案bionic-WT(BWT)。Novak 等人[4]提出了一種基于小波變換的不同噪聲水平檢測算法的去噪方法。Singh 等人[5]提出了一種小波域中去除心電噪聲的母小波基函數選擇方法。
小波變換的參數選擇之間影響到最后的濾波效果。本文提出用粒子群優(yōu)化算法對離散小波變換的參數進行優(yōu)化,從而找到使原始心電信號和去噪信號均方差最小的小波去噪參數,即最佳參數。

表1 小波變換參數范圍表
小波變換是一種強大的時頻域處理工具,已經被成功應用于心電信號的處理中,解決心電信號去噪、特征提取等問題。小波變換有五個參數:(1)小波基函數類型;(2)分解層數;(3)閾值函數;(4)閾值選擇規(guī)則;(5)閾值重縮放方法。這五個參數的取值范圍如表1 所示。
小波變換主要包括連續(xù)小波變換(CWT)和離散小波變換(DWT)[6]。本文主要使用離散小波變換。DWT 通過使用一組濾波(即低通和高通濾波器)來分解信號,以分別產生近似系數cA和細節(jié)系數cD。假設原始心電信號有n 個樣本,x(t)=[x(1),x(2),…,x(n)]。假設將心電信號分為L 個層次,每個層次分解為兩部分,即近似系數(cA)和細節(jié)系數(cD)。cD 將使用高通濾波器進行處理,而cA 將繼續(xù)進行下一級的分解。使用DWT 的主要目的是通過不同的系數級別對輸入信號進行分解,以校正輸入信號的高頻[7]。Matlab 提供了幾種通過DWT 進行信號分解的方法。此外,Matlab 還提供了一種應用逆離散小波變換(iDWT)的信號重構技術。
本文將用小波變換完成心電信號的分解,再利用逆小波變換(iDWT)完成對心電信號的重構。
小波去噪過程可分為三個階段:
第一階段是心電信號的分解階段,該階段我們首先需要選擇第一個參數即合適的小波基函數用于分解心電信號,然后選擇第二個參數分解層數L。
第二階段是閾值的選取,需要同時選擇閾值函數類型、閾值選擇規(guī)則和閾值重縮放方法這三個參數。小波提供了兩種標準的閾值函數,分別是軟閾值函數和硬閾值函數。閾值通常基于噪聲幅度的標準偏差(σ)來定義[8]。閾值規(guī)則根據公式(1)選取。

其中x(n)是原始ECG 信號,e 是噪聲,σ 是噪聲的幅度,n是樣本數。小波參數(β、λ 和ρ)必須分別應用于每個小波系數(近似和細節(jié))級別。
第三階段是通過逆離散小波變換(iDWT)實現去噪后的心電信號的重構。如公式(2)所示。


式中,Gk表示最大迭代次數。Wini為初始慣性權值,Wend為迭代至最大進化代數時的慣性權值。
本文提出的心電信號去噪方法有以下三個階段:
第一階段:包括輸入心電信號和。首先讀入原始心電信號,然后添加高斯白噪音,再計算心電信號的信噪比SNR、均方根差PRD 和均方誤差MSE。接著初始化五個小波變換的參數:小波基函數,分解層數,閾值函數,閾值選擇規(guī)則和閾值重縮放法。小波變換參數取值范圍見表1。同時初始化粒子群優(yōu)化算法的參數,粒子群優(yōu)化算法初始化參數值如表2 所示,其中D 表示維度,N 表示群規(guī)模,G 表示最大迭代次數,w代表慣性權值。

表2 粒子群優(yōu)化算法初始化參數值表

第三階段:利用最佳小波參數對心電信號去噪。主要包括以下三步:基于離散小波變換的心電信號分解、閾值選取和基于逆離散小波變換的心電信號重構。
本文選取了MIT-BIH 數據庫作為實驗數據。該數據庫是由美國麻省理工學院與Beth Israel 醫(yī)院聯合建立的研究心律失常的數據庫,它也是目前在國際上應用最多的數據庫。每條心電圖記錄有650000 個采樣點,采樣率為360 Hz,分辨率為10 mV范圍內的11 位,比特率為3960 bps。實驗設備配置為:戴爾G3、intel core i7、RAM 8G、MATLAB R2014a。為了評價系統(tǒng)的降噪性能,采用了均方根差PRD 和信噪比SNR 兩個指標。信噪比是輸出信號功率與輸出噪聲功率的比值,信噪比越大,說明輸出信號中的噪音越少。均方根差PRD 和信噪比SNR 分別根據方程(7)和方程(8)計算。

其中,x(n)表示使用過基于粒子群優(yōu)化算法的小波變換去噪算法的心電信號,N 為采樣點。
本文使用基于粒子群優(yōu)化算法的小波變換去噪算法對MIT-BIH 數據庫中的48 條心電信號數據進行了測試,我們對原始信號加入高斯白噪聲,使輸入信噪比為0-30dB 后,再使用本文提出的心電信號去噪算法對加噪信號進行去噪,并計算了信號去噪前后信噪比SRN 和均方根差PRD 的平均值。如表3所示,均方根誤差隨著輸入信噪比的增加而減小。在選擇小波基函數時,Daubechies 函數和Symlets 函數被選擇得較多,分別是三次和兩次。而且Daubechies 函數總是在信噪比較高的范圍內被選擇。從分解層數來看,低信噪比適合的分解層數范圍為5至7 層,而高信噪比適合的分解層數范圍為2 至4 層。該算法選用的閾值函數是軟閾值函數,原因是硬閾值函數可能會引起信號的不連續(xù)性。閾值選擇規(guī)則主要集中在Heursure 和Rigsure兩個選項之間,其中Rigsure 被選擇得更多。最后,在所有閾值重縮放方法中,sln 取得了絕對性優(yōu)勢。表4 給出了基于粒子群優(yōu)化算法和離散小波變換的去噪算法對輸入信噪比為0 到30 dB的心電信號的評估效率。由表3 可見,經過心電信號去噪算法去噪的心電信號信噪比均提高了,說明本文提出的心電信號去噪算法能夠有效去噪。且隨著輸入信噪比的升高,另外,PRD 的變換表明該方法對信號的去噪比較平穩(wěn),特別是當心電信號具有低噪聲時。PRD 的降低表明了本文所提出的基于粒子群優(yōu)化算法和離散小波變換的心電信號去噪算法的有效性。

表3 用粒子群優(yōu)化算法獲得的最佳小波變換參數

表4 不同信噪比輸入對心電信號去噪性能的影響