基準點選擇對三次樣條插值法去噪的效果有重要影響。本文針對通常的三次樣條插值濾波方法, 提出一種改進的心電(ECG)信號濾波算法, 能適應更寬范圍的基線噪聲頻率分布。算法通過對原始ECG信號求一階導數, 得到每一個心拍周期內的最大和最小值點, 其對應的位置作為基準點的位置。然后對原始ECG信號通過截止頻率為1.5 Hz的高通濾波器, 將濾波前后基準點所對應信號幅值的差值作為基準點的幅度。對這些基準點進行三次樣條插值曲線擬合, 所得擬合曲線為基線漂移曲線。改進算法與原單點法相比, 在模擬兩種基線漂移情況下, 改進樣條差值的擬合基線漂移曲線對模擬基線漂移的相關系數分別提高了0.242和0.13;真實基線漂移的情況下, 多個臨床數據實驗顯示改進樣條差值法平均相關系數達到0.972。
引用本文: 萬相奎, 唐文普, 張賴, 武明虎. 改進的三次樣條插值心電基線漂移濾波法. 生物醫學工程學雜志, 2016, 33(2): 227-231. doi: 10.7507/1001-5515.20160040 復制
引言
心電圖(electrocardiogram, ECG)信號在診斷心血管疾病、評估各種治療方法的有效性等臨床應用中有重要意義。ECG信號具有以下特點:①具有很強的非平穩性,隨時都處于變化中;②受噪聲干擾嚴重,ECG信號屬于低幅、低頻的微弱信號,通常頻率在0.05~100 Hz,幅值不超過4 mV,其有用信號往往淹沒在許多噪聲干擾信號中,不易檢測。對ECG信號影響較大的主要有基線漂移噪聲、工頻噪聲、肌電干擾噪聲等,其中尤以基線漂移噪聲影響最為嚴重。基線漂移信號頻率多在0.05~1.5 Hz,而ECG信號ST段的頻率多在0.7~2 Hz,兩者的頻率范圍存在重疊,因此基線漂移會對ST~T段的正確檢測產生較大影響,甚至影響醫生對心肌損傷或缺血等病變的判別[1]。因此,消除基線漂移影響非常重要。用濾波方法消除基線漂移時,要求有陡直的幅頻特性和線性相頻特性,以減少體表ECG信號的幅度和相位的失真,避免ST段等低頻部分產生明顯變形而帶來檢測失真。
對于ECG信號基線漂移的處理方法有很多種,傳統方法如:有限長單位沖激響應(finite impulse response, FIR)濾波[2-3]、中值濾波[4]、小波濾波[5-6]、形態學濾波[7]、三次樣條插值濾波[1, 8],以及近年的小波自適應濾波[9]、自適應濾波器[10]等。以上各種方法都各自存在優缺點,如FIR濾波器設計簡單,但是截止頻率固定,在噪聲頻率超過其截止頻率時無法發揮濾波作用。小波自適應濾波精度相對較高,但需要與噪聲有關而與信號無關的參考信號,從體表采集到的ECG信號難以滿足要求。三次樣條插值方法濾除基線漂移的關鍵在于是否準確找到基準點[1]。本文是對文獻[1]中的單點三次樣條插值方法提出改進,使之適應更廣的基線頻率分布,進而更準確和剔除基線漂移噪聲,提高ECG信號的信噪比。
1 方法
1.1 三次樣條插值
三次樣條插值是基于一個特定的數據集合,如果給出n個給定點的數據,就可以利用這n個給定點將數據集合分為n-1段,用n-1段三次多項式即可在每兩個連續給定數據點之間構建一個三次樣條。三次樣條函數的構造過程如下所述:
設有x1 < x2 <…xn-1 < xn共n個插值節點,則經過數據點(x1, y1),(x2, y2),…,(xn-1, yn-1),(xn, yn)的三次樣條S(x)是一組三次多項式:
$ \left\{ {\begin{array}{*{20}{c}} {{S_1}\left(x \right)={a_1} + {b_1}\left({x-{x_1}} \right) + {c_1}{{\left({x-{x_2}} \right)}^2} + {d_1}{{\left({x-{x_3}} \right)}^3}, \;\; x \in \left[{{x_1}, {x_2}} \right]}\\ {{S_2}\left(x \right)={a_2} + {b_2}\left({x-{x_1}} \right) + {c_2}{{\left({x-{x_2}} \right)}^2} + {d_2}{{\left({x-{x_3}} \right)}^3}, \;\; x \in \left[{{x_2}, {x_3}} \right]}\\ {\begin{array}{*{20}{c}} \vdots \\ {{S_{n-1}}\left(x \right)={a_{n-1}} + {b_{n-1}}\left({x-{x_1}} \right) + {c_{n-1}}{{\left({x-{x_2}} \right)}^2} + {d_{n-1}}{{\left({x-{x_3}} \right)}^3}, \;\; x \in \left[{x, x} \right]} \end{array}} \end{array}} \right. $ |
該多項式有節點處的連續性和節點處一階導和二階導的光滑性。由邊界條件可以求得ai, bi, ci以及di的值。求得Si(x)的表達式,進而得到擬合后的光滑曲線。
1.2 改進的三次樣條插值濾波法
三次樣條插值擬合曲線法在濾除ECG信號低頻噪聲時較好,但是當遇到帶其它噪聲或者PR段不平直的信號時,由于找“基準點”變得很困難,其濾波性能會有所下降。文獻[1]提出先通過一個固定截止頻率為1.5 Hz的FIR高通濾波器,消除ECG信號中的基線。然后根據QRS波的頻率和基線的頻率基本沒有重疊的特點,把QRS波段內頻率最高的R峰位置及其幅度在濾波前后的變化值認為是一個“基準點”的位置和幅度。通過這些基準點用三次樣條插值的方法擬合出一條基線曲線。再將原ECG信號減去擬合后的曲線就得到了去除基線漂移的ECG信號。這種方法(以下簡稱單點法)對于低頻的基線(如0.3 Hz)能取得比較好的效果,但是尋找R波峰的準確性也會受到各種因素的影響,如高大T波等。
基于以上考慮,本文提出了一個改進方法。采用一個心拍周期內的兩個基準點用三次樣條插值法進行曲線擬合(簡稱兩點法)。具體方法步驟如下。
(1)?由于ECG信號的能量主要集中在0.5~50 Hz頻帶范圍內,因此本文將原始ECG信號通過截止頻率為45 Hz的FIR低通濾波,除去可能存在的工頻和高頻干擾。
(2)?對第一次濾波后的ECG信號求導,取得每個心拍周期內的頻率變化最大的位置(一般是R波前后)即求導后的最大和最小值。
(3)?參考文獻[1]的單點法,將第一次濾波信號通過固定截止頻率為1.5 Hz的高通濾波器,實現ECG信號的第二次濾波,并將第二次濾波前后的ECG信號相減。
(4)?將步驟(2)中每個心拍周期內得到的最大和最小值的位置作為基準點位置,它們所對應的幅值與步驟(3)中相應位置對應幅值相減后所獲得值作為基準點的幅度。確定每個心拍內的兩個基準點及其對應的幅值。
(5)?將得到的所有基準點(一個心動周期內有最小和最大兩個基準點),用三次樣條插值的方法進行曲線擬合,得到一條光滑的曲線就是基線。
(6)?用原ECG信號減去基線就得到濾除基線漂移的“干凈”的ECG信號。
以上算法流程如圖 1所示。

2 實驗設計
2.1 實驗數據
實驗數據分為兩類:人工合成的模擬基線漂移與模擬ECG數據疊加構成的第一類實驗ECG數據,以及來自臨床的基線漂移噪聲與模擬ECG數據疊加構成的第二類實驗ECG數據。模擬ECG通過以下方式實現:用專用高信噪比采集設備以250 Hz采樣頻率從健康受試者體表采集多段ECG信號。從中選擇一個“干凈”的ECG節拍,時長為1 s。對該節拍重復60次后,構成一個1 min時長的合成ECG信號。
2.1.1 第一類實驗ECG數據
第一類實驗ECG數據中,采用了兩種人工合成漂移基線的方法。第一種方法是將0.3 Hz、200 μV的正弦信號,疊加0.6 Hz、150 μV的余弦信號,再疊加0.45 Hz、100 μV的正弦信號(模擬情況1)。第二種方法是采用文獻[1]中的方案,把0.20 Hz、330 μV正弦波和0.45 Hz、220 μV余弦波進行疊加(模擬情況2)。它們與模擬ECG疊加構成第一類實驗ECG數據的過程如圖 2所示。

2.1.2 第二類實驗ECG數據
第二類實驗ECG數據是含臨床基線漂移的合成ECG數據,其基線漂移來自美國PhysioBank數據庫的MIT-BIH心電噪聲測試數據庫[11]中臨床提取的30分鐘的基線漂移信號。
2.2 實驗結果
2.2.1 模擬ECG基線漂移數據實驗結果
對模擬情況1,分別用單點法和兩點法進行實驗,算法擬合的基線漂移與人工模擬基線漂移的結果如圖 3所示。從圖中可以看到除了剛開始一段(一個心拍左右)的數據出現較大偏差之外,兩點法所擬合的基線漂移曲線與人工模擬基線漂移近似吻合。分別計算它們擬合的曲線與人工模擬基線漂移曲線的相關系數,兩點法為0.993,而單點法為0.751。

對模擬情況2,分別用單點法和兩點法進行擬合實驗,擬合的基線漂移與人工模擬基線漂移的結果如圖 4所示。分別計算單點法和兩點法所擬合的基線與人工模擬基線漂移的相關系數,兩點法為0.986,而單點法為0.853。

2.2.2 臨床ECG噪聲數據實驗結果
從MIT-BIH的心電噪聲數據庫獲得的30 min時長的臨床采集基線漂移數據bw.dat, 將其等分成6段,分別以ew1, ew2, …, ew6表示。將其分別獨立與同一合成的等時長ECG信號混合疊加,構成6段帶有臨床基線漂移的ECG信號。分別用單點法和兩點法對其進行基線漂移擬合實驗,其結果與對應的臨床基線漂移進行相關性分析,獲得的相關系數對比如表 1所示。

兩點法擬合的基線漂移與臨床基線漂移的相關系數普遍大于單點法擬合的基線漂移與臨床基線漂移的相關系數,兩點法取得了0.972的平均相關系數,單點法取得了0.894的平均相關系數。
3 結論
本文在研究單點法濾除ECG信號中基線漂移算法的基礎上,主要對利用三次樣條插值的方法除去ECG信號中的基線漂移噪聲的基準點選取進行了討論,提出了基于兩個基準點的三次樣條插值濾除基線漂移的方法,并通過實驗證實了方法的可行性。對于三次樣條插值曲線擬合,基準點的正確選取直接影響著曲線擬合的準確性。本文中基準點的選取采用ECG信號中一個節拍內斜率最大和最小的兩個點,即一個節拍內變化最激烈的兩個位置。通過求導可以獲得這樣兩個點(一般在R波前后),然后用文獻[1]所提到的固定截止頻率為1.5 Hz的高通濾波器對ECG信號進行濾波。由于本身ECG信號頻率的分布特點,基線漂移噪聲的頻率在0.05~1.5 Hz之間,而ECG信號本身的高頻成分在17 Hz左右,并沒有重疊的部分,所以進行高通濾波時基本上不會對ECG信號本身的高頻成分造成影響。對濾波前后的ECG信號相減,求得以上每個節拍內兩個點的值,從而得到了三次樣條插值曲線擬合所需的基準點。對所有基準點進行擬合得到的曲線就是基線。實驗結果表明,本文方法比文獻[1]中的方法更為準確。
引言
心電圖(electrocardiogram, ECG)信號在診斷心血管疾病、評估各種治療方法的有效性等臨床應用中有重要意義。ECG信號具有以下特點:①具有很強的非平穩性,隨時都處于變化中;②受噪聲干擾嚴重,ECG信號屬于低幅、低頻的微弱信號,通常頻率在0.05~100 Hz,幅值不超過4 mV,其有用信號往往淹沒在許多噪聲干擾信號中,不易檢測。對ECG信號影響較大的主要有基線漂移噪聲、工頻噪聲、肌電干擾噪聲等,其中尤以基線漂移噪聲影響最為嚴重。基線漂移信號頻率多在0.05~1.5 Hz,而ECG信號ST段的頻率多在0.7~2 Hz,兩者的頻率范圍存在重疊,因此基線漂移會對ST~T段的正確檢測產生較大影響,甚至影響醫生對心肌損傷或缺血等病變的判別[1]。因此,消除基線漂移影響非常重要。用濾波方法消除基線漂移時,要求有陡直的幅頻特性和線性相頻特性,以減少體表ECG信號的幅度和相位的失真,避免ST段等低頻部分產生明顯變形而帶來檢測失真。
對于ECG信號基線漂移的處理方法有很多種,傳統方法如:有限長單位沖激響應(finite impulse response, FIR)濾波[2-3]、中值濾波[4]、小波濾波[5-6]、形態學濾波[7]、三次樣條插值濾波[1, 8],以及近年的小波自適應濾波[9]、自適應濾波器[10]等。以上各種方法都各自存在優缺點,如FIR濾波器設計簡單,但是截止頻率固定,在噪聲頻率超過其截止頻率時無法發揮濾波作用。小波自適應濾波精度相對較高,但需要與噪聲有關而與信號無關的參考信號,從體表采集到的ECG信號難以滿足要求。三次樣條插值方法濾除基線漂移的關鍵在于是否準確找到基準點[1]。本文是對文獻[1]中的單點三次樣條插值方法提出改進,使之適應更廣的基線頻率分布,進而更準確和剔除基線漂移噪聲,提高ECG信號的信噪比。
1 方法
1.1 三次樣條插值
三次樣條插值是基于一個特定的數據集合,如果給出n個給定點的數據,就可以利用這n個給定點將數據集合分為n-1段,用n-1段三次多項式即可在每兩個連續給定數據點之間構建一個三次樣條。三次樣條函數的構造過程如下所述:
設有x1 < x2 <…xn-1 < xn共n個插值節點,則經過數據點(x1, y1),(x2, y2),…,(xn-1, yn-1),(xn, yn)的三次樣條S(x)是一組三次多項式:
$ \left\{ {\begin{array}{*{20}{c}} {{S_1}\left(x \right)={a_1} + {b_1}\left({x-{x_1}} \right) + {c_1}{{\left({x-{x_2}} \right)}^2} + {d_1}{{\left({x-{x_3}} \right)}^3}, \;\; x \in \left[{{x_1}, {x_2}} \right]}\\ {{S_2}\left(x \right)={a_2} + {b_2}\left({x-{x_1}} \right) + {c_2}{{\left({x-{x_2}} \right)}^2} + {d_2}{{\left({x-{x_3}} \right)}^3}, \;\; x \in \left[{{x_2}, {x_3}} \right]}\\ {\begin{array}{*{20}{c}} \vdots \\ {{S_{n-1}}\left(x \right)={a_{n-1}} + {b_{n-1}}\left({x-{x_1}} \right) + {c_{n-1}}{{\left({x-{x_2}} \right)}^2} + {d_{n-1}}{{\left({x-{x_3}} \right)}^3}, \;\; x \in \left[{x, x} \right]} \end{array}} \end{array}} \right. $ |
該多項式有節點處的連續性和節點處一階導和二階導的光滑性。由邊界條件可以求得ai, bi, ci以及di的值。求得Si(x)的表達式,進而得到擬合后的光滑曲線。
1.2 改進的三次樣條插值濾波法
三次樣條插值擬合曲線法在濾除ECG信號低頻噪聲時較好,但是當遇到帶其它噪聲或者PR段不平直的信號時,由于找“基準點”變得很困難,其濾波性能會有所下降。文獻[1]提出先通過一個固定截止頻率為1.5 Hz的FIR高通濾波器,消除ECG信號中的基線。然后根據QRS波的頻率和基線的頻率基本沒有重疊的特點,把QRS波段內頻率最高的R峰位置及其幅度在濾波前后的變化值認為是一個“基準點”的位置和幅度。通過這些基準點用三次樣條插值的方法擬合出一條基線曲線。再將原ECG信號減去擬合后的曲線就得到了去除基線漂移的ECG信號。這種方法(以下簡稱單點法)對于低頻的基線(如0.3 Hz)能取得比較好的效果,但是尋找R波峰的準確性也會受到各種因素的影響,如高大T波等。
基于以上考慮,本文提出了一個改進方法。采用一個心拍周期內的兩個基準點用三次樣條插值法進行曲線擬合(簡稱兩點法)。具體方法步驟如下。
(1)?由于ECG信號的能量主要集中在0.5~50 Hz頻帶范圍內,因此本文將原始ECG信號通過截止頻率為45 Hz的FIR低通濾波,除去可能存在的工頻和高頻干擾。
(2)?對第一次濾波后的ECG信號求導,取得每個心拍周期內的頻率變化最大的位置(一般是R波前后)即求導后的最大和最小值。
(3)?參考文獻[1]的單點法,將第一次濾波信號通過固定截止頻率為1.5 Hz的高通濾波器,實現ECG信號的第二次濾波,并將第二次濾波前后的ECG信號相減。
(4)?將步驟(2)中每個心拍周期內得到的最大和最小值的位置作為基準點位置,它們所對應的幅值與步驟(3)中相應位置對應幅值相減后所獲得值作為基準點的幅度。確定每個心拍內的兩個基準點及其對應的幅值。
(5)?將得到的所有基準點(一個心動周期內有最小和最大兩個基準點),用三次樣條插值的方法進行曲線擬合,得到一條光滑的曲線就是基線。
(6)?用原ECG信號減去基線就得到濾除基線漂移的“干凈”的ECG信號。
以上算法流程如圖 1所示。

2 實驗設計
2.1 實驗數據
實驗數據分為兩類:人工合成的模擬基線漂移與模擬ECG數據疊加構成的第一類實驗ECG數據,以及來自臨床的基線漂移噪聲與模擬ECG數據疊加構成的第二類實驗ECG數據。模擬ECG通過以下方式實現:用專用高信噪比采集設備以250 Hz采樣頻率從健康受試者體表采集多段ECG信號。從中選擇一個“干凈”的ECG節拍,時長為1 s。對該節拍重復60次后,構成一個1 min時長的合成ECG信號。
2.1.1 第一類實驗ECG數據
第一類實驗ECG數據中,采用了兩種人工合成漂移基線的方法。第一種方法是將0.3 Hz、200 μV的正弦信號,疊加0.6 Hz、150 μV的余弦信號,再疊加0.45 Hz、100 μV的正弦信號(模擬情況1)。第二種方法是采用文獻[1]中的方案,把0.20 Hz、330 μV正弦波和0.45 Hz、220 μV余弦波進行疊加(模擬情況2)。它們與模擬ECG疊加構成第一類實驗ECG數據的過程如圖 2所示。

2.1.2 第二類實驗ECG數據
第二類實驗ECG數據是含臨床基線漂移的合成ECG數據,其基線漂移來自美國PhysioBank數據庫的MIT-BIH心電噪聲測試數據庫[11]中臨床提取的30分鐘的基線漂移信號。
2.2 實驗結果
2.2.1 模擬ECG基線漂移數據實驗結果
對模擬情況1,分別用單點法和兩點法進行實驗,算法擬合的基線漂移與人工模擬基線漂移的結果如圖 3所示。從圖中可以看到除了剛開始一段(一個心拍左右)的數據出現較大偏差之外,兩點法所擬合的基線漂移曲線與人工模擬基線漂移近似吻合。分別計算它們擬合的曲線與人工模擬基線漂移曲線的相關系數,兩點法為0.993,而單點法為0.751。

對模擬情況2,分別用單點法和兩點法進行擬合實驗,擬合的基線漂移與人工模擬基線漂移的結果如圖 4所示。分別計算單點法和兩點法所擬合的基線與人工模擬基線漂移的相關系數,兩點法為0.986,而單點法為0.853。

2.2.2 臨床ECG噪聲數據實驗結果
從MIT-BIH的心電噪聲數據庫獲得的30 min時長的臨床采集基線漂移數據bw.dat, 將其等分成6段,分別以ew1, ew2, …, ew6表示。將其分別獨立與同一合成的等時長ECG信號混合疊加,構成6段帶有臨床基線漂移的ECG信號。分別用單點法和兩點法對其進行基線漂移擬合實驗,其結果與對應的臨床基線漂移進行相關性分析,獲得的相關系數對比如表 1所示。

兩點法擬合的基線漂移與臨床基線漂移的相關系數普遍大于單點法擬合的基線漂移與臨床基線漂移的相關系數,兩點法取得了0.972的平均相關系數,單點法取得了0.894的平均相關系數。
3 結論
本文在研究單點法濾除ECG信號中基線漂移算法的基礎上,主要對利用三次樣條插值的方法除去ECG信號中的基線漂移噪聲的基準點選取進行了討論,提出了基于兩個基準點的三次樣條插值濾除基線漂移的方法,并通過實驗證實了方法的可行性。對于三次樣條插值曲線擬合,基準點的正確選取直接影響著曲線擬合的準確性。本文中基準點的選取采用ECG信號中一個節拍內斜率最大和最小的兩個點,即一個節拍內變化最激烈的兩個位置。通過求導可以獲得這樣兩個點(一般在R波前后),然后用文獻[1]所提到的固定截止頻率為1.5 Hz的高通濾波器對ECG信號進行濾波。由于本身ECG信號頻率的分布特點,基線漂移噪聲的頻率在0.05~1.5 Hz之間,而ECG信號本身的高頻成分在17 Hz左右,并沒有重疊的部分,所以進行高通濾波時基本上不會對ECG信號本身的高頻成分造成影響。對濾波前后的ECG信號相減,求得以上每個節拍內兩個點的值,從而得到了三次樣條插值曲線擬合所需的基準點。對所有基準點進行擬合得到的曲線就是基線。實驗結果表明,本文方法比文獻[1]中的方法更為準確。