心電圖(ECG)信號在采集、轉換過程中,容易受到50 Hz的工頻干擾。本文在Levkov算法的基礎上,結合正弦波的反對稱和正弦波幅度不發生突變的特點,提出Levkov改進算法。利用ECG信號的信噪比(SNR)、均方誤差(RMSE)以及信號的吻合程度對這二種算法進行比較。通過實驗比較發現,改進算法不僅對ECG信號的吻合程度高,而且對于ECG信號的一些細節也能給予保留,取得了較好的濾波效果。
引用本文: 劉勝洋, 張根選, 曹陽. 心電信號中的工頻干擾濾除方法. 生物醫學工程學雜志, 2014, 31(3): 577-582. doi: 10.7507/1001-5515.20140108 復制
引言
心腦血管疾病一直是威脅人類身體健康和生命安全的主要疾病之一。隨著人類生活水平的提高、生活壓力的增大以及不合理飲食的出現,心血管疾病的發病率呈快速上升趨勢。心臟性猝死(sudden cardiac death,SCD)是心腦血管疾病死亡的主要疾病。由于心臟性猝死具有突發性、迅速性和不可預測性的特征,是直接危及人類生命的一大殺手[1]。
心電圖(electorcardiogrma,ECG)是從體表記錄心臟電位隨時間變化的曲線,可以反映心臟的生物電位變化,進而有利于心臟疾病的診斷,是目前用于診斷心臟病的主要技術之一。但是ECG采集、轉化過程中容易受到環境和設備的影響,產生噪聲,特別是50 Hz的工頻干擾[2-4]。
目前濾除工頻干擾的主要方法包括: 平滑濾波法[5]、小波變換法[5]、自適應濾波法[6]、自適應相干模板法[7]和Levkov算法[8]。平滑濾波法算法簡單,處理速度快,濾波效果較好,但該法存在通帶很窄,雖然能較好地濾除50 Hz工頻干擾,卻對ECG信號中的QRS波群有較大削峰,信號衰減很大,在實際使用中有一定的局限性[9]。 基于小波的去噪方法計算量比較大,小波基的選擇及設定合適的閾值都需要大量的實驗進行討論[10]。自適應濾波法需要一個與噪聲有關而與信號無關的參考信號,從體表采集到的ECG信號難以滿足要求,必須添加額外的測量電極采集這個參考信號。這樣不僅增加電路的成本,而且降低儀器的穩定性。自適應模板法,抑止工頻干擾的效果較好,算法也簡單,其缺點是低頻與窄帶干擾信號處的抑制帶寬必須相等,導致截止頻率高于0.05 Hz的限制。
1 Levkov算法
1.1 Levkov的基本方法
1984年,Levkov首先提出ECG信號分線性段和非線性段,并且對不同的段采用不同處理方式的數字濾波法。但是信號必須滿足以下三個條件: ① 采樣頻率fs必須是工頻干擾f的整數倍M; ② 在一個工頻干擾周期T內,工頻干擾采樣點的幅值的代數和為0; ③ 在一個線性段中,要求濾波前相鄰的ECG信號采樣點幅度差值相等。
在濾波過程中,首先要識別出一個線性段,該線性段濾波后的值為這個線性段原始數據的平均值。假設采樣頻率fs除以工頻頻率f的值是M的整數倍,采集獲取的信號是Wi,其中噪聲信號是Ni,ECG信號是Si。一維ECG信號是線性系統滿足疊加原理,則有
${{W}_{i}}={{S}_{i}}+{{N}_{i}},i\in 0,1,\ldots ,M-1,$ |
根據條件③ ,線性段內的ECG信號應該有
${{S}_{M-1}}-{{S}_{M-2}}={{S}_{M-2}}-{{S}_{M-3}}=\ldots ={{S}_{1}}-{{S}_{0}}=d,$ |
式(2)中d為固定的步長。根據條件② 則有
$\sum\limits_{i=0}^{M-1}{{{N}_{i}}}=0~$ |
根據疊加原理,有
$\sum\limits_{i=0}^{M-1}{{{W}_{i}}}=\text{ }\sum\limits_{i=0}^{M-1}{{{S}_{i}}}+\text{ }\sum\limits_{i=0}^{M-1}{{{N}_{i}}}$ |
將式(3)帶入式(4)中,可以得到
$\sum\limits_{i=0}^{M-1}{{{W}_{i}}}=\text{ }\sum\limits_{i=0}^{M-1}{{{S}_{i}}},$ |
如果M是2的倍數,將式(2)帶入式(5)中,可得到
$\sum\limits_{i=0}^{M-1}{{{W}_{i}}}=\text{ }\sum\limits_{i=0}^{M-1}{{{S}_{i}}}=M\cdot {{S}_{\frac{M}{2}-1}}+\frac{M}{2}d,$ |
WM-W0=SM-S0=M·d,將此式帶入式(6)中,可以得到
${{S}_{\frac{M}{2}-1}}=\frac{\left( \sum\limits_{i=0}^{M-1}{{{W}_{i}}}-\frac{({{W}_{M}}-{{W}_{0}})}{2} \right)}{M},$ |
推廣為一般通用式,則可以得到
${{S}_{\frac{M}{2}-1+k}}=\text{ }\frac{\left( \sum\limits_{i=0}^{M-1}{{{W}_{i+k}}}-\frac{({{W}_{M+k}}-{{W}_{k}})}{2} \right)}{M},$ |
式( 8) 表明,每計算一個采樣點濾波后的值需要利用該點前(M/2)-1和后M/2點的原始值。該算法是把這些點的連線近似看成一條直線,在處理遠離奇異點的波形時誤差較小,濾波效果也很好。但是在處理靠近奇異點比如R波波峰時,由于這些點的連線屬于非線性段,不在一條直線上,按基本Levkov算法會發現,R波幅度被消減。因而需要對基本Levkov算法進行必要的改進。
1.2 Levkov算法改進
Levkov算法改進就是利用正弦波的反對稱特點來進行修改,即需要對上面三個條件做適當的修改:
修改條件① :采樣頻率fs必須是工頻干擾f的2N倍(N為整數,2N=M)。 對于條件② 、③ 保持不變。則存在如下關系,即:
${{N}_{i}}={{N}_{i-M}}=-{{N}_{i-N}}$ |
$\begin{align} & {{W}_{i}}-{{W}_{i-M}}={{S}_{i}}-{{S}_{i-N}}+{{N}_{i}}-{{N}_{i-M}}= \\ & M\cdot d=2N\cdot d \\ \end{align}$ |
$\begin{align} & {{W}_{i}}+{{W}_{i-N}}={{S}_{i}}+{{S}_{i-N}}+{{N}_{i}}+{{N}_{i-N}}= \\ & 2{{S}_{i}}-N\cdot d \\ \end{align}$ |
將式(10)和式(11)合并來推導,然后疊加可以得到:
${{S}_{i}}=\frac{3{{W}_{i}}+2{{W}_{i-N}}-{{W}_{i-M}}}{4}$ |
或者
${{N}_{i}}=\frac{{{W}_{i}}-2{{W}_{i-N}}+{{W}_{i-M}}}{4}$ |
由條件② 說明工頻信號的幅度在一個周期內保持不變,則令
$\begin{align} & e=\frac{{{W}_{i}}-2{{W}_{i-N}}+{{W}_{i-M}}}{4}\text{ } \\ & {{N}_{i}}=\frac{k3\cdot {{N}_{i-M}}-k4\cdot {{N}_{i-N}}+k5\cdot e}{k3+k4+k5}, \\ \end{align}$ |
式中的k3、k4和k5分別是該函數的收斂速度,則:
${{S}_{i}}={{W}_{i}}-{{N}_{i}}$ |
2 實驗驗證
為了驗證基本Levkov算法和改進后算法濾波效果之間的比較,首先采用構建正常ECG信號并加載0.5 mV工頻信號,比較濾波后的信號與原始信號之間的信噪比(signal to noise ratio,SNR)、均方誤差(root mean square error,RMSE)和相關系數,其次通過有疾病患者、沒有工頻干擾的ECG信號濾波來比較算法的效果。
2.1 構建ECG信號并加載固定工頻信號
為了較為準確地驗證該方法的效果,首先構建標準的ECG信號,并在標準的ECG信號上加載幅度固定的工頻信號(見圖 1),分別來驗證這二種濾波的效果。

(a)標準ECG信號;(b)標準ECG信號中加載0.5 mV工頻
Figure1. Mix 0.5 mV power frequency in standard ECG signal(a) standard ECG signal; (b) mix 0.5mV power frequency in standard ECG signal
2.2 Levkov和改進的Levkov濾波信號比較
為了較好的比較二者濾波后的效果,將原始的ECG(藍色),Levkov濾波后的ECG(紅色)和改進Levon濾波后的ECG(粉紅色)放在一張圖中進行比較,如圖 2所示。

為了更加準確的表示ECG信號的濾波效果,通過計算原始信號與噪聲信號的比率--SNR和RMSE進行參數值的比較。當SNR越大,RMSE越小,表明效果越好。反之則較差。對于SNR和RMSE的定義如下,即:
$\begin{align} & SNR=10log\left( \frac{\Sigma w{{\left( i \right)}^{2}}}{\Sigma {{\left( w\left( i \right)-s\left( i \right) \right)}^{2}}} \right) \\ & RMSE=\frac{1}{n}\sqrt{\Sigma {{\left( W\left( i \right)-s\left( i \right) \right)}^{2}}} \\ \end{align}$ |
由上面的公式分別計算二個濾波方法的SNR和RMSE,如表 1所示。

從SNR和RMSE的比較中可以看出,改進后的算法性能有了較明顯的改進。
如果比較原始的標準ECG信號和處理后ECG信號的吻合性,需要將圖放大來比較圖形的細節,為了較為詳細的比較,取圖 2中1.1~1.25 s的采樣點放大比較,如圖 3所示。

從圖 2、3中可以看出,原始的ECG信號(藍色),Levkov濾波后的ECG信號(紅色),在PQRS段,對原始的信號有所消弱。而改進的Levkov濾波則消弱較少,只是在峰值向右稍微有移動,并且在峰值有加強的趨勢。從信號的相關系數來比較二者的吻合程度,根據相關系數公式
${{\rho }_{xy}}=\frac{\Sigma x\left( i \right)y\left( i \right)}{\sqrt{\Sigma {{x}^{2}}\left( i \right)\Sigma {{y}^{2}}\left( i \right)}},$ |
可以分別計算出Levkov濾波后的信號和原始信號的相關系數是0.993 1,而改進的Levkov濾波后的相關系數是0.999 9。在R峰時,波形變化較大,計算它們的相關系數(1.125~1.2 s),得到Levkov的濾波,改進濾波與原始信號的相關系數分別是0.992 5和0.999 9。
2.3 Levkov和改進Levkov算法/剔除工頻信號的比較
在對濾波后ECG信號之間的比較后,再對濾除出來的工頻信號進行比較。將原始的構建的工頻信號、Levkov算法濾除出來的工頻信號和改進算法濾除出來的工頻信號放在一張圖上(見圖 4a)并對局部放大(見圖 4b)比較。

(a)濾波后的工頻信號與0.5 mV工頻信號比較;(b)局部放大比較
Figure4. Comparison of filtered signal(a) comparison of the power frequency after filtering and 0.5 mV; (b) comparison of local zoom
可以看出:Levkov濾波后的工頻信號(紅色)不僅在R峰偏差原始的工頻信號(藍色)的幅度較大,而且較早的就開始偏差原始工頻信號。如果利用SNR和RMSE來比較,如表 2所示。

從SNR和RMSE的比較中可以看出,改進后的算法性能有了較明顯的改進。 標準ECG信號(見圖 1a)加載工頻信號后的ECG(見圖 1b)信號,經過濾波后和標準ECG信號進行誤差比較,發現,使用改進Levkov濾波后的誤差在-0.003892~0.002723 mV范圍內,而基本Levkov濾波后的誤差在-0.2321~0.3253 mV范圍內。
2.4 患者ECG信號處理的比較
從上面的分析可以看出,基本Levkov算法和實際信號存在較大的差異,為了更清晰地顯示和更為詳細地比較,這里選擇一個有切跡的ECG信號來比較,如圖 5(原始采集信號)、圖 6(Levkov算法后信號)和圖 7(改進算法后的信號)所示。從圖 5和圖 6的比較中可以明顯的看出,利用基本Levkov算法將忽略了原來ECG信號的切跡,這給醫生的診斷帶來了很大麻煩。而利用改進算法卻能很好地保留這些切跡,給醫生的診斷提供了更接近真實的ECG信號。



當然對于正常ECG信號,改進算法也不會增加額外的信號,圖 8(a)是一組正常ECG信號,經過改進算法后得到圖 8(b)。從圖 8中可以看出并沒有額外的增加一些切跡之類的信號。

(a)采集的ECG;(b)濾波后的ECG
Figure8. Comparison of the improvement of normal ECG signal filter(a) the ECG sampled; (b) ECG after filtering
2.5 Levkov和改進的Levkov濾波信號的低頻損失比較
對于ECG信號來說,低頻成分含有重要信息,如ECG信號中ST段就是低頻信號,其包含的信息非常重要[11]。ECG信號的ST段代表了心室除極結束后、心室復極開始的一段時間內的電位變化情況,它是診斷心肌缺血的重要指標。因此,有必要對低頻信號的損失進行必要的比較。比較的方法:(1)采用ECG信號濾除前后低頻頻譜誤差,以及該誤差占該頻率的百分比。(2)ECG信號濾波前后ST段的線性相關性比較(注:使用沒有工頻信號的測量數據)。
首先從信號濾波前后的頻譜上來辨別,如圖 9所示(圖 9a藍色是濾波前的頻譜,粉紅色是濾波后的頻譜。圖 9b是濾除的工頻頻譜)。從圖 9(a)的頻譜比較中可以看出,在低頻中幾乎沒有信號的損失。在64組數據中,0~1 Hz的信號損失最大是0.32%,平均值最大的0.0312%。在ST段濾波前后線性相關性的比較(12組數據),相關系數都在0.9999~1.0之間。

(a)ECG信號濾波前后的頻譜;(b)濾除的頻譜
Figure9. ECG spectrum comparison before and after filtering(a) spectrum of ECG signal before and after filtering; (b) the spectrum filtered
3 結果與討論
從上面的實驗驗證中可以看出,基本的Levkov算法雖然能很好濾除工頻干擾,但是QRS波的幅度將消弱,并且一些ECG信號的細節也被刪除或消弱,給患者的疾病診斷帶來潛在的危險。然而改進算法卻能很好地保留這些細節,具有更好的利用價值和實際意義。
在程序的算法上,改進算法的乘除次數要比基本Levkov算法多。同時改進算法對于干擾的工頻信號突變的濾除效果不如基本Levkov響應得快。如圖 10(a)中,采集的信號有工頻干擾,并且還有驟然減小。通過這二種算法濾除后分別得到圖 10(b)(Levkon算法)和圖 10(c)(改進算法)。從圖 10(b)可以看出,在工頻信號發生突變,但是濾波的相關并沒有受到太大影響,相反,改進算法濾波(見圖 10c)卻將干擾工頻向后延遲一段時間才消失。

(a)工頻幅度變化的ECG;(b)基本Levkov濾波;(c)改進Levkov濾波
Figure10. Comparison of ECG signal of power frequency mutations(a) ECG with change of power frequency amplitude; (b) basic Levkov filter; (c) improved Levkov filter
引言
心腦血管疾病一直是威脅人類身體健康和生命安全的主要疾病之一。隨著人類生活水平的提高、生活壓力的增大以及不合理飲食的出現,心血管疾病的發病率呈快速上升趨勢。心臟性猝死(sudden cardiac death,SCD)是心腦血管疾病死亡的主要疾病。由于心臟性猝死具有突發性、迅速性和不可預測性的特征,是直接危及人類生命的一大殺手[1]。
心電圖(electorcardiogrma,ECG)是從體表記錄心臟電位隨時間變化的曲線,可以反映心臟的生物電位變化,進而有利于心臟疾病的診斷,是目前用于診斷心臟病的主要技術之一。但是ECG采集、轉化過程中容易受到環境和設備的影響,產生噪聲,特別是50 Hz的工頻干擾[2-4]。
目前濾除工頻干擾的主要方法包括: 平滑濾波法[5]、小波變換法[5]、自適應濾波法[6]、自適應相干模板法[7]和Levkov算法[8]。平滑濾波法算法簡單,處理速度快,濾波效果較好,但該法存在通帶很窄,雖然能較好地濾除50 Hz工頻干擾,卻對ECG信號中的QRS波群有較大削峰,信號衰減很大,在實際使用中有一定的局限性[9]。 基于小波的去噪方法計算量比較大,小波基的選擇及設定合適的閾值都需要大量的實驗進行討論[10]。自適應濾波法需要一個與噪聲有關而與信號無關的參考信號,從體表采集到的ECG信號難以滿足要求,必須添加額外的測量電極采集這個參考信號。這樣不僅增加電路的成本,而且降低儀器的穩定性。自適應模板法,抑止工頻干擾的效果較好,算法也簡單,其缺點是低頻與窄帶干擾信號處的抑制帶寬必須相等,導致截止頻率高于0.05 Hz的限制。
1 Levkov算法
1.1 Levkov的基本方法
1984年,Levkov首先提出ECG信號分線性段和非線性段,并且對不同的段采用不同處理方式的數字濾波法。但是信號必須滿足以下三個條件: ① 采樣頻率fs必須是工頻干擾f的整數倍M; ② 在一個工頻干擾周期T內,工頻干擾采樣點的幅值的代數和為0; ③ 在一個線性段中,要求濾波前相鄰的ECG信號采樣點幅度差值相等。
在濾波過程中,首先要識別出一個線性段,該線性段濾波后的值為這個線性段原始數據的平均值。假設采樣頻率fs除以工頻頻率f的值是M的整數倍,采集獲取的信號是Wi,其中噪聲信號是Ni,ECG信號是Si。一維ECG信號是線性系統滿足疊加原理,則有
${{W}_{i}}={{S}_{i}}+{{N}_{i}},i\in 0,1,\ldots ,M-1,$ |
根據條件③ ,線性段內的ECG信號應該有
${{S}_{M-1}}-{{S}_{M-2}}={{S}_{M-2}}-{{S}_{M-3}}=\ldots ={{S}_{1}}-{{S}_{0}}=d,$ |
式(2)中d為固定的步長。根據條件② 則有
$\sum\limits_{i=0}^{M-1}{{{N}_{i}}}=0~$ |
根據疊加原理,有
$\sum\limits_{i=0}^{M-1}{{{W}_{i}}}=\text{ }\sum\limits_{i=0}^{M-1}{{{S}_{i}}}+\text{ }\sum\limits_{i=0}^{M-1}{{{N}_{i}}}$ |
將式(3)帶入式(4)中,可以得到
$\sum\limits_{i=0}^{M-1}{{{W}_{i}}}=\text{ }\sum\limits_{i=0}^{M-1}{{{S}_{i}}},$ |
如果M是2的倍數,將式(2)帶入式(5)中,可得到
$\sum\limits_{i=0}^{M-1}{{{W}_{i}}}=\text{ }\sum\limits_{i=0}^{M-1}{{{S}_{i}}}=M\cdot {{S}_{\frac{M}{2}-1}}+\frac{M}{2}d,$ |
WM-W0=SM-S0=M·d,將此式帶入式(6)中,可以得到
${{S}_{\frac{M}{2}-1}}=\frac{\left( \sum\limits_{i=0}^{M-1}{{{W}_{i}}}-\frac{({{W}_{M}}-{{W}_{0}})}{2} \right)}{M},$ |
推廣為一般通用式,則可以得到
${{S}_{\frac{M}{2}-1+k}}=\text{ }\frac{\left( \sum\limits_{i=0}^{M-1}{{{W}_{i+k}}}-\frac{({{W}_{M+k}}-{{W}_{k}})}{2} \right)}{M},$ |
式( 8) 表明,每計算一個采樣點濾波后的值需要利用該點前(M/2)-1和后M/2點的原始值。該算法是把這些點的連線近似看成一條直線,在處理遠離奇異點的波形時誤差較小,濾波效果也很好。但是在處理靠近奇異點比如R波波峰時,由于這些點的連線屬于非線性段,不在一條直線上,按基本Levkov算法會發現,R波幅度被消減。因而需要對基本Levkov算法進行必要的改進。
1.2 Levkov算法改進
Levkov算法改進就是利用正弦波的反對稱特點來進行修改,即需要對上面三個條件做適當的修改:
修改條件① :采樣頻率fs必須是工頻干擾f的2N倍(N為整數,2N=M)。 對于條件② 、③ 保持不變。則存在如下關系,即:
${{N}_{i}}={{N}_{i-M}}=-{{N}_{i-N}}$ |
$\begin{align} & {{W}_{i}}-{{W}_{i-M}}={{S}_{i}}-{{S}_{i-N}}+{{N}_{i}}-{{N}_{i-M}}= \\ & M\cdot d=2N\cdot d \\ \end{align}$ |
$\begin{align} & {{W}_{i}}+{{W}_{i-N}}={{S}_{i}}+{{S}_{i-N}}+{{N}_{i}}+{{N}_{i-N}}= \\ & 2{{S}_{i}}-N\cdot d \\ \end{align}$ |
將式(10)和式(11)合并來推導,然后疊加可以得到:
${{S}_{i}}=\frac{3{{W}_{i}}+2{{W}_{i-N}}-{{W}_{i-M}}}{4}$ |
或者
${{N}_{i}}=\frac{{{W}_{i}}-2{{W}_{i-N}}+{{W}_{i-M}}}{4}$ |
由條件② 說明工頻信號的幅度在一個周期內保持不變,則令
$\begin{align} & e=\frac{{{W}_{i}}-2{{W}_{i-N}}+{{W}_{i-M}}}{4}\text{ } \\ & {{N}_{i}}=\frac{k3\cdot {{N}_{i-M}}-k4\cdot {{N}_{i-N}}+k5\cdot e}{k3+k4+k5}, \\ \end{align}$ |
式中的k3、k4和k5分別是該函數的收斂速度,則:
${{S}_{i}}={{W}_{i}}-{{N}_{i}}$ |
2 實驗驗證
為了驗證基本Levkov算法和改進后算法濾波效果之間的比較,首先采用構建正常ECG信號并加載0.5 mV工頻信號,比較濾波后的信號與原始信號之間的信噪比(signal to noise ratio,SNR)、均方誤差(root mean square error,RMSE)和相關系數,其次通過有疾病患者、沒有工頻干擾的ECG信號濾波來比較算法的效果。
2.1 構建ECG信號并加載固定工頻信號
為了較為準確地驗證該方法的效果,首先構建標準的ECG信號,并在標準的ECG信號上加載幅度固定的工頻信號(見圖 1),分別來驗證這二種濾波的效果。

(a)標準ECG信號;(b)標準ECG信號中加載0.5 mV工頻
Figure1. Mix 0.5 mV power frequency in standard ECG signal(a) standard ECG signal; (b) mix 0.5mV power frequency in standard ECG signal
2.2 Levkov和改進的Levkov濾波信號比較
為了較好的比較二者濾波后的效果,將原始的ECG(藍色),Levkov濾波后的ECG(紅色)和改進Levon濾波后的ECG(粉紅色)放在一張圖中進行比較,如圖 2所示。

為了更加準確的表示ECG信號的濾波效果,通過計算原始信號與噪聲信號的比率--SNR和RMSE進行參數值的比較。當SNR越大,RMSE越小,表明效果越好。反之則較差。對于SNR和RMSE的定義如下,即:
$\begin{align} & SNR=10log\left( \frac{\Sigma w{{\left( i \right)}^{2}}}{\Sigma {{\left( w\left( i \right)-s\left( i \right) \right)}^{2}}} \right) \\ & RMSE=\frac{1}{n}\sqrt{\Sigma {{\left( W\left( i \right)-s\left( i \right) \right)}^{2}}} \\ \end{align}$ |
由上面的公式分別計算二個濾波方法的SNR和RMSE,如表 1所示。

從SNR和RMSE的比較中可以看出,改進后的算法性能有了較明顯的改進。
如果比較原始的標準ECG信號和處理后ECG信號的吻合性,需要將圖放大來比較圖形的細節,為了較為詳細的比較,取圖 2中1.1~1.25 s的采樣點放大比較,如圖 3所示。

從圖 2、3中可以看出,原始的ECG信號(藍色),Levkov濾波后的ECG信號(紅色),在PQRS段,對原始的信號有所消弱。而改進的Levkov濾波則消弱較少,只是在峰值向右稍微有移動,并且在峰值有加強的趨勢。從信號的相關系數來比較二者的吻合程度,根據相關系數公式
${{\rho }_{xy}}=\frac{\Sigma x\left( i \right)y\left( i \right)}{\sqrt{\Sigma {{x}^{2}}\left( i \right)\Sigma {{y}^{2}}\left( i \right)}},$ |
可以分別計算出Levkov濾波后的信號和原始信號的相關系數是0.993 1,而改進的Levkov濾波后的相關系數是0.999 9。在R峰時,波形變化較大,計算它們的相關系數(1.125~1.2 s),得到Levkov的濾波,改進濾波與原始信號的相關系數分別是0.992 5和0.999 9。
2.3 Levkov和改進Levkov算法/剔除工頻信號的比較
在對濾波后ECG信號之間的比較后,再對濾除出來的工頻信號進行比較。將原始的構建的工頻信號、Levkov算法濾除出來的工頻信號和改進算法濾除出來的工頻信號放在一張圖上(見圖 4a)并對局部放大(見圖 4b)比較。

(a)濾波后的工頻信號與0.5 mV工頻信號比較;(b)局部放大比較
Figure4. Comparison of filtered signal(a) comparison of the power frequency after filtering and 0.5 mV; (b) comparison of local zoom
可以看出:Levkov濾波后的工頻信號(紅色)不僅在R峰偏差原始的工頻信號(藍色)的幅度較大,而且較早的就開始偏差原始工頻信號。如果利用SNR和RMSE來比較,如表 2所示。

從SNR和RMSE的比較中可以看出,改進后的算法性能有了較明顯的改進。 標準ECG信號(見圖 1a)加載工頻信號后的ECG(見圖 1b)信號,經過濾波后和標準ECG信號進行誤差比較,發現,使用改進Levkov濾波后的誤差在-0.003892~0.002723 mV范圍內,而基本Levkov濾波后的誤差在-0.2321~0.3253 mV范圍內。
2.4 患者ECG信號處理的比較
從上面的分析可以看出,基本Levkov算法和實際信號存在較大的差異,為了更清晰地顯示和更為詳細地比較,這里選擇一個有切跡的ECG信號來比較,如圖 5(原始采集信號)、圖 6(Levkov算法后信號)和圖 7(改進算法后的信號)所示。從圖 5和圖 6的比較中可以明顯的看出,利用基本Levkov算法將忽略了原來ECG信號的切跡,這給醫生的診斷帶來了很大麻煩。而利用改進算法卻能很好地保留這些切跡,給醫生的診斷提供了更接近真實的ECG信號。



當然對于正常ECG信號,改進算法也不會增加額外的信號,圖 8(a)是一組正常ECG信號,經過改進算法后得到圖 8(b)。從圖 8中可以看出并沒有額外的增加一些切跡之類的信號。

(a)采集的ECG;(b)濾波后的ECG
Figure8. Comparison of the improvement of normal ECG signal filter(a) the ECG sampled; (b) ECG after filtering
2.5 Levkov和改進的Levkov濾波信號的低頻損失比較
對于ECG信號來說,低頻成分含有重要信息,如ECG信號中ST段就是低頻信號,其包含的信息非常重要[11]。ECG信號的ST段代表了心室除極結束后、心室復極開始的一段時間內的電位變化情況,它是診斷心肌缺血的重要指標。因此,有必要對低頻信號的損失進行必要的比較。比較的方法:(1)采用ECG信號濾除前后低頻頻譜誤差,以及該誤差占該頻率的百分比。(2)ECG信號濾波前后ST段的線性相關性比較(注:使用沒有工頻信號的測量數據)。
首先從信號濾波前后的頻譜上來辨別,如圖 9所示(圖 9a藍色是濾波前的頻譜,粉紅色是濾波后的頻譜。圖 9b是濾除的工頻頻譜)。從圖 9(a)的頻譜比較中可以看出,在低頻中幾乎沒有信號的損失。在64組數據中,0~1 Hz的信號損失最大是0.32%,平均值最大的0.0312%。在ST段濾波前后線性相關性的比較(12組數據),相關系數都在0.9999~1.0之間。

(a)ECG信號濾波前后的頻譜;(b)濾除的頻譜
Figure9. ECG spectrum comparison before and after filtering(a) spectrum of ECG signal before and after filtering; (b) the spectrum filtered
3 結果與討論
從上面的實驗驗證中可以看出,基本的Levkov算法雖然能很好濾除工頻干擾,但是QRS波的幅度將消弱,并且一些ECG信號的細節也被刪除或消弱,給患者的疾病診斷帶來潛在的危險。然而改進算法卻能很好地保留這些細節,具有更好的利用價值和實際意義。
在程序的算法上,改進算法的乘除次數要比基本Levkov算法多。同時改進算法對于干擾的工頻信號突變的濾除效果不如基本Levkov響應得快。如圖 10(a)中,采集的信號有工頻干擾,并且還有驟然減小。通過這二種算法濾除后分別得到圖 10(b)(Levkon算法)和圖 10(c)(改進算法)。從圖 10(b)可以看出,在工頻信號發生突變,但是濾波的相關并沒有受到太大影響,相反,改進算法濾波(見圖 10c)卻將干擾工頻向后延遲一段時間才消失。

(a)工頻幅度變化的ECG;(b)基本Levkov濾波;(c)改進Levkov濾波
Figure10. Comparison of ECG signal of power frequency mutations(a) ECG with change of power frequency amplitude; (b) basic Levkov filter; (c) improved Levkov filter