針對心電圖(ECG)信號去噪問題,提出了一種基于集合經驗分解(EEMD)和改進閾值函數的小波變換去噪方法。首先利用EEMD對含噪的ECG信號進行分解,選取固有模態函數(IMF),重構ECG信號,實現ECG信號的一次去噪;再利用改進閾值函數的小波變換方法對ECG信號進一步去噪。實驗中,利用MIT-BIH心電圖數據庫對提出的方法進行評估,用參數信噪比(SNR)和均方誤差(MSE)比較EEMD、改進閾值函數的小波變換方法以及本文提出的方法的去噪效果。實驗結果表明:本文提出的方法去噪后的ECG信號波形平滑,特征點幅值無衰減,在去噪的同時更好地保留了原始ECG信號的特征。
引用本文: 葉琳琳, 楊丹, 王旭. 基于集合經驗分解與改進閾值函數的小波變換心電信號去噪方法研究. 生物醫學工程學雜志, 2014, 31(3): 567-571. doi: 10.7507/1001-5515.20140106 復制
引言
心電圖(electrocardiogram,ECG)信號是一種非線性、非平穩的微弱信號,在采集過程中常常會摻雜進干擾信號,這些噪聲干擾會使ECG信號在形態和周期上發生畸變。如何有效地排除干擾和噪聲,準確提取出ECG信號波形,是心臟病智能診斷的一個重要內容[1]。常用的ECG信號去噪方法有形態學濾波法[2]、自適應濾波法[3]、小波閾值法[4]及基于Hilbert-Huang變換的經驗模態分解(empirical mode decomposition,EMD)法[5-6]。文獻[2]采用了形態學濾波對ECG信號進行處理,在濾除極限干擾信號時,效果良好;但在濾除高頻干擾信號時,則會產生截斷誤差。文獻[3]采用了自適應濾波對ECG信號進行處理,根據信號噪聲特點自動調節濾波器品質因數,去噪效果好且波形不易失真,但計算量龐大,實時性差。文獻[4]采用了小波閾值法去除噪聲干擾對應小波分解尺度上的細節分量,可以有效地去除ECG信號中的噪聲干擾,但是閾值的選擇是一個比較麻煩的過程,且對信號濾波效果有直接的影響。文獻[5-6]采用的EMD方法,適合處理非線性非平穩信號,克服了小波分析選擇基函數的盲目性,但EMD方法存在模態混疊現象,這大大限制了它在實際中的應用。針對EMD方法存在的問題,Norden E.Huang(黃鍔)等提出了改進的EMD (即集合經驗分解(ensemble empirical mode decomposition,EEMD))[7]算法,該方法利用高斯白噪聲具有頻率均勻分布的統計特性,使加入高斯白噪聲后的信號在不同尺度上具有連續性,從而有效地克服了EMD算法中模態混疊的問題。
針對上述問題,本文提出了一種基于EEMD與改進閾值函數的小波變換ECG信號去噪方法。先將ECG信號進行EEMD分解,對每一個固有模態函數(intrinsic mode function,IMF)進行分析,將含有QRS波信息的IMF進行疊加,得到一個預處理后的ECG信號;然后再通過改進的閾值函數對其進行進一步的去噪處理,最終得到較純凈的ECG信號。實驗中利用美國麻省理工MIT-BIH心電圖數據庫檢驗本文所提出的算法,并與EEMD和改進閾值函數的小波變換去噪方法進行比較。
1 方法
1.1 EEMD算法
EEMD是利用高斯白噪聲具有頻率均勻分布的統計特性,向信號中加入高斯白噪聲后,信號將在不同尺度上具有連續性,這樣可以促進抗混分解,避免了EMD算法的模態混淆現象。
算法流程如圖 1所示,具體分解過程如下:
(1)在目標數據x(t)上加入白噪聲序列w(t),且白噪聲序列均值為零、方差為常數,得到一個總體序列X(t),即:
$X(t)=x(t)+w(t)$ |
(2)將加入白噪聲的序列X(T)分解為一組固態模態函數IMF和殘余分量rc(t),即:
$X\left( T \right)=\sum\limits_{j=1}^{c}{IM{{F}_{j}}}+{{r}_{c}}\left( t \right)$ |
(3)每次加入不同的白噪聲序列,反復重復上述步驟,得到:
${{X}_{i}}\left( t \right)={{\sum\limits_{j=1}^{c}{IM{{F}_{j}}}}_{ij}}+{{r}_{ic}}\left( t \right)$ |
(4)把分解得到的各個IMF分量的均值作為目標信號的最終分解結果,其中N為總體的個數,即:
$IM{{F}_{j}}\left( t \right)=\frac{1}{N}\sum\limits_{j=1}^{c}{IM{{F}_{ij}}}$ |

1.2 改進的小波閾值函數
基于小波閾值去噪的關鍵在于閾值函數的選取,目前由Donoho提出的硬閾值函數和軟閾值函數在實際中得到廣泛應用[8]。本文結合了硬、軟閾值函數的不同特點,采用了一種改進的閾值函數[9],用于小波系數的估計,其形式為
${{{\tilde{\omega }}}_{j,k}}=\left\{ \begin{align} & sgn({{\omega }_{j,k}}|{{\omega }_{j,k}}|-tc({{\lambda }_{j}}-|{{\omega }_{j,k}}|){{\lambda }_{j}},|{{\omega }_{j,k}}|\ge {{\lambda }_{j}} \\ & 0|{{\omega }_{j,k}}|{{\lambda }_{j}} \\ \end{align} \right.,$ |
其中t=2lnN,N為信號長度;閾值函數中的ωj,k為第j尺度下的第k個小波系數,j,k為閾值函數處理后的小波系數; σj為噪聲的標準差,閾值為λj=σjt=σjlnN。
當|ωj,k|接近閾值λj時,j,k近似等于sgn(ωj,k)[|ωj,k|-λj],此時式(5)近似等于軟閾值函數;當|ωj,k|遠離閾值λj時,j,k近似等于ωj,k,此時式(5)近似等于硬閾值函數。改進的閾值函數與硬閾值、軟閾值對比示意圖如圖 2所示。

2 實驗及討論
本文采用MIT-BIH數據庫記錄的100號ECG數據進行實驗,信號的采樣率為360 Hz,分辨率為11 Bit。ECG信號去噪方法實驗均在MATLAB2010a環境下完成。ECG信號去噪實驗流程如圖 3所示。

2.1 EEMD去噪
截取100號ECG數據作為原始信號,信號長度(即采樣點個數)為n=800,并在該ECG信號上疊加10 dB的高斯白噪聲。利用EEMD算法對加噪聲后的ECG信號分解,得到20組IMF分量,再進行總體經驗運算,最終得到EEMD分解結果,如圖 4所示。 從圖 4可以看出,EEMD分解后得到9個IMF,第1個IMF大部分都是高頻噪聲,將其丟棄;第2個和第3個既包含高頻噪聲又包含QRS波的特征,為了避免信號失真,故將其保留下來。將第2~9個IMF進行疊加,得到一個預處理的ECG信號。

2.2 改進閾值函數的小波變換去噪
利用EEMD去噪后,得到一個預處理后的ECG信號,應用Sym8小波基,在分解尺度為5的情況下,再用改進閾值函數對預處理后的ECG信號進行去噪處理,其效果如圖 5(e)所示。實驗中通過用EEMD、改進閾值函數的小波變換去噪這兩種方法與本文提出的方法進行對比分析,實驗結果如圖 5所示。
為了定量的評估EEMD方法(方法1)、改進閾值函數的小波變換方法(方法2)以及本文提出方法(方法3)的去噪性能,對原始信號添加不同信噪比(signal to noise ratio,SNR)的高斯白噪聲(2~14 dB),重復多次實驗,分別計算這三種方法去噪后的SNR和均方誤差(mean square error,MSE),如表 1和表 2所示,SNR越大且MSE越小,去噪效果就越好。從表 1和表 2可知,采用本文提出的方法去噪效果最理想,能有效地去除噪聲干擾,且較好地保留了ECG信號的特征。

(a)原始ECG信號;(b)帶噪聲ECG信號;(c)基于EEMD去噪;(d)基于改進閾值函數的小波變換去噪;(e)本文提出的方法
Figure5. De-noising waveform of three methods(a) original ECG signal; (b) noisy ECG signal; (c) de-noising based on EEMD; (d) de-noising based on wavelet transform with improved threshold function; (e) the proposed method


3 結論
本文提出了一種基于EEMD與改進閾值函數的小波變換ECG信號去噪方法。首先通過EEMD算法對帶10 dB高斯白噪聲的ECG信號分解,得到9個IMF,選取第2~9個IMF進行信號重構,得一個預處理ECG信號,克服了EMD算法存在的模態混疊現象。然后采用了一種改進閾值函數的小波變換,做進一步去噪處理。實驗結果表明,本文提出的方法對于ECG信號的噪聲抑制是非常有效的,并且在消除噪聲后保持了ECG信號的基本波形特征,與傳統的ECG信號去噪方法相比有明顯的優越性。
引言
心電圖(electrocardiogram,ECG)信號是一種非線性、非平穩的微弱信號,在采集過程中常常會摻雜進干擾信號,這些噪聲干擾會使ECG信號在形態和周期上發生畸變。如何有效地排除干擾和噪聲,準確提取出ECG信號波形,是心臟病智能診斷的一個重要內容[1]。常用的ECG信號去噪方法有形態學濾波法[2]、自適應濾波法[3]、小波閾值法[4]及基于Hilbert-Huang變換的經驗模態分解(empirical mode decomposition,EMD)法[5-6]。文獻[2]采用了形態學濾波對ECG信號進行處理,在濾除極限干擾信號時,效果良好;但在濾除高頻干擾信號時,則會產生截斷誤差。文獻[3]采用了自適應濾波對ECG信號進行處理,根據信號噪聲特點自動調節濾波器品質因數,去噪效果好且波形不易失真,但計算量龐大,實時性差。文獻[4]采用了小波閾值法去除噪聲干擾對應小波分解尺度上的細節分量,可以有效地去除ECG信號中的噪聲干擾,但是閾值的選擇是一個比較麻煩的過程,且對信號濾波效果有直接的影響。文獻[5-6]采用的EMD方法,適合處理非線性非平穩信號,克服了小波分析選擇基函數的盲目性,但EMD方法存在模態混疊現象,這大大限制了它在實際中的應用。針對EMD方法存在的問題,Norden E.Huang(黃鍔)等提出了改進的EMD (即集合經驗分解(ensemble empirical mode decomposition,EEMD))[7]算法,該方法利用高斯白噪聲具有頻率均勻分布的統計特性,使加入高斯白噪聲后的信號在不同尺度上具有連續性,從而有效地克服了EMD算法中模態混疊的問題。
針對上述問題,本文提出了一種基于EEMD與改進閾值函數的小波變換ECG信號去噪方法。先將ECG信號進行EEMD分解,對每一個固有模態函數(intrinsic mode function,IMF)進行分析,將含有QRS波信息的IMF進行疊加,得到一個預處理后的ECG信號;然后再通過改進的閾值函數對其進行進一步的去噪處理,最終得到較純凈的ECG信號。實驗中利用美國麻省理工MIT-BIH心電圖數據庫檢驗本文所提出的算法,并與EEMD和改進閾值函數的小波變換去噪方法進行比較。
1 方法
1.1 EEMD算法
EEMD是利用高斯白噪聲具有頻率均勻分布的統計特性,向信號中加入高斯白噪聲后,信號將在不同尺度上具有連續性,這樣可以促進抗混分解,避免了EMD算法的模態混淆現象。
算法流程如圖 1所示,具體分解過程如下:
(1)在目標數據x(t)上加入白噪聲序列w(t),且白噪聲序列均值為零、方差為常數,得到一個總體序列X(t),即:
$X(t)=x(t)+w(t)$ |
(2)將加入白噪聲的序列X(T)分解為一組固態模態函數IMF和殘余分量rc(t),即:
$X\left( T \right)=\sum\limits_{j=1}^{c}{IM{{F}_{j}}}+{{r}_{c}}\left( t \right)$ |
(3)每次加入不同的白噪聲序列,反復重復上述步驟,得到:
${{X}_{i}}\left( t \right)={{\sum\limits_{j=1}^{c}{IM{{F}_{j}}}}_{ij}}+{{r}_{ic}}\left( t \right)$ |
(4)把分解得到的各個IMF分量的均值作為目標信號的最終分解結果,其中N為總體的個數,即:
$IM{{F}_{j}}\left( t \right)=\frac{1}{N}\sum\limits_{j=1}^{c}{IM{{F}_{ij}}}$ |

1.2 改進的小波閾值函數
基于小波閾值去噪的關鍵在于閾值函數的選取,目前由Donoho提出的硬閾值函數和軟閾值函數在實際中得到廣泛應用[8]。本文結合了硬、軟閾值函數的不同特點,采用了一種改進的閾值函數[9],用于小波系數的估計,其形式為
${{{\tilde{\omega }}}_{j,k}}=\left\{ \begin{align} & sgn({{\omega }_{j,k}}|{{\omega }_{j,k}}|-tc({{\lambda }_{j}}-|{{\omega }_{j,k}}|){{\lambda }_{j}},|{{\omega }_{j,k}}|\ge {{\lambda }_{j}} \\ & 0|{{\omega }_{j,k}}|{{\lambda }_{j}} \\ \end{align} \right.,$ |
其中t=2lnN,N為信號長度;閾值函數中的ωj,k為第j尺度下的第k個小波系數,j,k為閾值函數處理后的小波系數; σj為噪聲的標準差,閾值為λj=σjt=σjlnN。
當|ωj,k|接近閾值λj時,j,k近似等于sgn(ωj,k)[|ωj,k|-λj],此時式(5)近似等于軟閾值函數;當|ωj,k|遠離閾值λj時,j,k近似等于ωj,k,此時式(5)近似等于硬閾值函數。改進的閾值函數與硬閾值、軟閾值對比示意圖如圖 2所示。

2 實驗及討論
本文采用MIT-BIH數據庫記錄的100號ECG數據進行實驗,信號的采樣率為360 Hz,分辨率為11 Bit。ECG信號去噪方法實驗均在MATLAB2010a環境下完成。ECG信號去噪實驗流程如圖 3所示。

2.1 EEMD去噪
截取100號ECG數據作為原始信號,信號長度(即采樣點個數)為n=800,并在該ECG信號上疊加10 dB的高斯白噪聲。利用EEMD算法對加噪聲后的ECG信號分解,得到20組IMF分量,再進行總體經驗運算,最終得到EEMD分解結果,如圖 4所示。 從圖 4可以看出,EEMD分解后得到9個IMF,第1個IMF大部分都是高頻噪聲,將其丟棄;第2個和第3個既包含高頻噪聲又包含QRS波的特征,為了避免信號失真,故將其保留下來。將第2~9個IMF進行疊加,得到一個預處理的ECG信號。

2.2 改進閾值函數的小波變換去噪
利用EEMD去噪后,得到一個預處理后的ECG信號,應用Sym8小波基,在分解尺度為5的情況下,再用改進閾值函數對預處理后的ECG信號進行去噪處理,其效果如圖 5(e)所示。實驗中通過用EEMD、改進閾值函數的小波變換去噪這兩種方法與本文提出的方法進行對比分析,實驗結果如圖 5所示。
為了定量的評估EEMD方法(方法1)、改進閾值函數的小波變換方法(方法2)以及本文提出方法(方法3)的去噪性能,對原始信號添加不同信噪比(signal to noise ratio,SNR)的高斯白噪聲(2~14 dB),重復多次實驗,分別計算這三種方法去噪后的SNR和均方誤差(mean square error,MSE),如表 1和表 2所示,SNR越大且MSE越小,去噪效果就越好。從表 1和表 2可知,采用本文提出的方法去噪效果最理想,能有效地去除噪聲干擾,且較好地保留了ECG信號的特征。

(a)原始ECG信號;(b)帶噪聲ECG信號;(c)基于EEMD去噪;(d)基于改進閾值函數的小波變換去噪;(e)本文提出的方法
Figure5. De-noising waveform of three methods(a) original ECG signal; (b) noisy ECG signal; (c) de-noising based on EEMD; (d) de-noising based on wavelet transform with improved threshold function; (e) the proposed method


3 結論
本文提出了一種基于EEMD與改進閾值函數的小波變換ECG信號去噪方法。首先通過EEMD算法對帶10 dB高斯白噪聲的ECG信號分解,得到9個IMF,選取第2~9個IMF進行信號重構,得一個預處理ECG信號,克服了EMD算法存在的模態混疊現象。然后采用了一種改進閾值函數的小波變換,做進一步去噪處理。實驗結果表明,本文提出的方法對于ECG信號的噪聲抑制是非常有效的,并且在消除噪聲后保持了ECG信號的基本波形特征,與傳統的ECG信號去噪方法相比有明顯的優越性。