陳茜 歐陽繩武 馬新宇 謝泉



關鍵詞: 心電信號; 醫療診斷; 數字濾波算法; 整形IIR濾波器; 多階反饋; 原始信號
中圖分類號: TN911.72?34 ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)04?0045?04
Digital filtering algorithm optimization for ECG signal acquisition
CHEN Qian, OUYANG Shengwu, MA Xinyu, XIE Quan
(College of Big Data and Information Engineering, Guizhou University, Guiyang 550025, China)
Abstract: There exist various random noises in ECG signals as the actual environmental condition of ECG signal detection is not ideal. These noises make ECG signals fuzzy and seriously affect the reliability of medical diagnosis. The current problem that needs to be optimized is how to better suppress the noises that seriously affect the ECG signal detection waveforms. Though the filtering algorithm in this respect has got a certain achievements, the detail characteristics of ECG signals are not handled carefully enough. Therefore, a design method of a multi?order feedback shaping IIR filter is researched in this paper on the basis of analyzing the IIR digital filtering and IIR direct design method from the digital filtering perspective, so as to improve the feature point definition of ECG signals. The simulation results show that the multi?order feedback shaping IIR filter can retain the characteristics of original signals more obviously and clearly, which is beneficial to the latter diagnosis.
Keywords: ECG signal; medical diagnosis; digital filtering algorithm; shaping IIR filter; multi?order feedback; original signal
當今社會正迅速發展,同時對人們工作要求越來越高,大家的壓力也越來越大,導致到了一定年紀后心臟病發作比例越來越高[1]。同時追求更高生活質量的人類越發看重醫療健康,但是醫院的繁瑣醫療程序與高成本的醫療檢查并不能滿足大部分患者的需求,所以促使了便攜性家庭形式的醫療產品迅速發展,家庭式的心電監護儀器就是其中一種。如何從低成本、高效率、高準確度上考慮醫療儀器是現在需要研究的問題[2?3]。在臨床治療分析病患病因時,心電信號(ECG)的監測與波形分析占據很重要的位置。ECG包含了大量的心臟疾病信息,能幫助了解心臟臨床診斷,包括快速定位功能與狀況、幫助診測和判斷心血管疾病、提高對治療方法的有效性判斷。
心電濾波常用的是IIR濾波器和FIR濾波器[4]。IIR濾波器的特點是在同階數的算法中有較好的濾波能力,但對于濾波器的相位特性沒有很好的控制效果,在自適應IIR濾波器的研究中發現,在反饋回路時因為極點有可能散落到穩定區域外,造成濾波器的不穩定[5]。FIR濾波器的首要優點是因為沒有設計反饋回路,不存在不穩定的問題;而且,FIR濾波器有準確的線性相位特性,同時幅度特性任意選取。由此可見,相比IIR濾波器,FIR濾波在穩定和線性相位特性有著顯著優勢。其他優點還包含:線性的設計結構、對硬件要求低、濾波器過渡過程具有有限區間。不過FIR濾波器階次很高,因此造成了延遲過長。IIR與FIR復合自適應濾波器克服了各自的缺點,能夠在低配置硬件條件下得到比較真實可視化的心電圖形,但是在一些心電信號細節特征上卻沒能做到很好的優化[6]。
心電信號細節特征主要包括T,P,Q,R,S波峰細節特征。本文從數字濾波角度出發,研究了一種多階反饋式整形IIR濾波器設計方法,提高心電信號特征點清晰度。
遞歸是IIR濾波器的特性,其輸出結果不僅僅受到輸入數據的影響,而且還與之前的輸出結果有關聯,它以FIR一種經典的線性濾波器為基礎[7]。IIR濾波器具有遞歸結構,在相同的濾波器結構中, IIR濾波器比FIR濾波器具有更好的濾波效果。由于IIR濾波器的設計比FIR濾波器的設計更加復雜,不僅要考慮信號的衰減系數,而且還要考慮IIR濾波器帶有反饋環。通過濾波器穩定理論可以發現它是不穩定的。整個濾波器的穩定性至關重要,以此目的來約束極點位置:首先必須是在單位圓的域內,然后由相應的極點和零點的設計相互抵消[8]。雖然軟件濾波器在理論上可以達到任意衰減系數,但在工程實現中還必須考慮到計算的復雜度,處理器的字長。在信號處理中采用傳遞函數描述一個信號的轉換過程,其公式為:
[H(z)=b0+b1z-1+…+bNz-Na0+a1z-1+…+aMz-M] ? ? ? (1)
因為上述IIR數字濾波器的計算量相對比較大,故而不能滿足對實時輸出心電波形高要求的環境。在20世紀末提出一個由約束零極點位置設計一個函數的變量整形濾波器的傳遞函數系數。由于系數為整數,所以不需要浮點運算,使計算大大降低,這個設計可滿足本文的心電圖數字濾波器[9]。
整數型數字濾波器的設計方法是,根據需要濾除噪聲頻率來計算單位圓上每個位置的頻率,在這些位置上的布零和重疊,并與頻率極點配置的頻率,讓極點零點互相偏移[10?11]。在該域中,每個信號被壓縮到單位圓的邊緣,并用邊緣上的每個點表示對應的數字角頻率。每個點具有零點的距離相乘作為分子,再與多個極點距離的分母相比,就得到頻率在傳遞函數的過渡系數,這也是一個遞歸濾波器結構[12]。
2.1 ?IIR整形低通濾波器的設計實現
z域中的數字角頻率:
[Ω=1fad·fs·2πn, ? n=0,1,2,…] (2)
式中:[fad]為采樣頻率;[fs]為當前頻率。需要濾除的頻率為[fc=50] Hz,頻率采樣為[fad=480] Hz時,對應的[Ωc=15πn],其中[n=0,1,2,…]。
為了最大幅度[fad=480 Hz] 消除50 Hz噪聲。在z平面的單位圓中放置n個零點(n=0,1,2,…)。但這時又有一個問題,即0 Hz與50 Hz在(1,0)處重合。為了避免頻率重合,在(1,0)處放置一個極點與零點相互抵消。同時為了使傳遞函數穩定且傳遞函數的分子為整數形式,又必須在原點(0,0)處放置極點。

從圖1可以看到小圈是零點、小叉為極點,單位圓上顯示的是50 Hz的數字角頻率0.2 πn,n=0,1,2,…,9,所以均勻分布了10個零點。由于(1,0)這個點是0 Hz的數字角速度所在位置,而且0 Hz是通帶頻率。為了不濾除0 Hz,在(1,0)處放置極點與零點相互抵消。最后為了使得整個傳遞函數穩定,在單位圓內部的原點處放置9個極點。這樣傳遞函數可以寫成:
[H(jΩ)=(ej0-ejΩ)(ej15π-ejΩ)(ej25π-ejΩ)…(ej35π-ejΩ)(ej0-ejΩ)ej9Ω ? ? ? ? ? ? ?=ej10Ω-1ej10Ω-ej9Ω] ? (3)
令[z=ejΩ],得:
[H(z)=z10-1z10-z9=1-z-101-z-1=Y(N)X(N)] ?(4)
式(5)為二階低通數字濾波器,增加濾波器階數的目的是增加低通濾波器滾降特性,其傳遞函數為:
[H(z)=(1-z-10)2(1-z-1)2=1-2z-10+z-201-2z-1+z-2=Y(N)X(N)] ?(5)
得到差分方程為:
[y(n)=2y(n-1)-y(n-2)+x(n)- ? ? ? ? ? ? ?2x(n-10)+x(n-20)] (6)
通過差分方程實現低通濾波器Java源代碼,如下:
private static int OyLowPassFilter1(int data) {
int y0;
x2[n2 + 21] = data;
x2[n2] = x2[n2 + 21];
y0 = (y12 << 1) ? y22 + x2[n2] ? (x2[n2 + 10] << 1) + ? ? ? ? ? ? ? ? ? ? ?x2[n2 + 20];
y22 = y12;
y12 = y0;
y0 /= 100;
if (??n2 < 0)
n2 = 20;
return y0;
}
private static int OyLowPassFilter2(int data) {
int y0;
x1[n1 + 11] = data;
x1[n1] = x1[n1 + 11];
y0 = y11 + x1[n1] ? x1[n1 + 10];
y11 = y0;
y0 = y0 / 40;
if (??n1 < 0)
n1 = 10;
return y0;
}
2.2 ?IIR整形高通濾波器的設計實現
首先設計一個低通濾波器,因為截止頻率為2 Hz,需要濾除的頻率為[fc=2] Hz,采樣頻率為[fad=480] Hz時,對應的[Ωc≈1120πn],其中[n=0,1,2,…] 。
根據整數型濾波器設計原則:
[Hlp(z)=Y(z)X(z)=1-z-2401-z-1] ? (7)
利用全通濾波器與低通濾波器作差設計高通濾波器可得[10]:
[Hhp(z)=P(z)X(z)=z-120-Hlp(z)240] ? (8)
而高通濾波器的傳遞函數化為差分方程:
[y(n)=y(n-120)-y(n-1)+x(n)-y(n-240)240] ?(9)
實現高通濾波器Java源代碼,如下:
private static int OyHighPassFilter(int data) {
int y0, Z;
x[n] = x[n + 241] = data;
y0 = y1 + x[n] ? x[n + 240];
y1 = y0;
if (??n < 0) {
n = 240;
}
Z = (x[n + 70] ? (y0 / 240)) ? 250;
// if(Z<0) Z=0;
return Z;
}
3 ?多階反饋式整形IIR濾波器的設計
整形IIR濾波器處理后的ECG信號會產生一些失真,改進整形IIR濾波器設計會得到更完整的心電信號。整形IIR濾波器會濾除很多信號細節特征(如QRS特征點),所以為了保留更多信號細節特征,提出一種多階反饋式整形IIR濾波器[4]如圖2所示。

反饋式整形IIR濾波設計步驟:
1) 心電信號In(n)通過IIR整形濾波器濾波得到信號Out1(n);
2) 將原始心電信號減去濾波后信號得到差值信號Sub(n):
[Sub(n)=In(n)-Out1(n)] (10)
3) 將差值信號Sub(n)繼續進行IIR整形濾波得到的信號Out2(n),加到第一次濾波后的信號之上得到濾波信號Out(n):
[Out(n)=Out2(n)+Out1(n)] (11)
4) 將原始心電信號減去Out(n)信號得到差值信號Sub1(n):
[Sub1(n)=In(n)-Out(n)] (12)
5) 將差值信號Sub1(n)再進行IIR整形濾波得到信號Out3(n),加到Out(n)信號之上得到濾波信號Out4(n):
[Out4(n)=Out3(n)+Out(n)] (13)
6) 以此循環。
以圖3結構進行心電信號處理,結果如圖4所示。


從MIT/BIH標準心律失常數據庫中取一組標準的ECG真實測試數據,用來驗證所提出的多階反饋式整形濾波去噪性能。圖4中a)為有工頻干擾的原始心電信號In(n);圖4中b)是經過未改進低通濾波后的心電信號Out1(n);圖4中e)是經過改進低通濾波后的心電信號Out(n),以及其他濾波過程。
結合之前的分析,從圖4中可以看出,Out2(n)是被整形濾波器濾出過多的部分,導致了Out1(n)某些細節特征點消失,變得平滑,不利于醫生做詳細觀察,因此Out1(n)加上Out2(n)這部分才是還原到較為真實的心電波形。所設計的低通濾波器可以很好地濾除掉工頻干擾,并且心電圖信號很好地保留了細節特征。多階反饋式整形IIR濾波器使細節可以達到更好的效果。
本文從數字濾波角度出發,基于分析IIR數字濾波和IIR直接設計方法,研究一種多階反饋式整形IIR濾波器設計方法,以提高心電信號特征點清晰度。由仿真結果可以看出,多階反饋式整形IIR濾波器能夠更加明顯清晰地保留原始信號特征,有利于后期診斷。
參考文獻
[1] 蒙俊甫.基于嵌入式的醫療監護PDA無線終端設計[D].成都:成都理工大學,2010.
MENG Junfu. The design of wireless medical PDA based on ?embedded system [D]. Chengdu: Chengdu University of Technology, 2010.
[2] 谷蓉.心電信號處理算法與應用的研究[D].南京:南京郵電大學,2014.
GU Rong. Research of ECG processing algorithm and its application [D]. Nanjing: Nanjing University of Posts and Telecommunications, 2014.
[3] 石進平.心電圖機計量指標的臨床意義[J].大眾標準化,2009(z2):41?43.
SHI Jinping. Clinical significance of measuring index of electrocardiograph [J]. Popular standardization, 2009(S2): 41?43.
[4] 歐陽繩武.便攜式移動醫療心電診斷系統研究與設計[D].貴陽:貴州大學,2016.
OUYANG Shengwu. Research and design of portable mobile medical ECG diagnosis system [D]. Guiyang: Guizhou University, 2016.
[5] 鄭蕾.基于小波變換的心音信號分析方法的研究[D].蘭州:蘭州理工大學,2010.
ZHENG Lei. Research of heart sound signal analysis method based on wavelet transform [D]. Lanzhou: Lanzhou University of Technology, 2010.
[6] 彭云.基于EEMD消除ECG基線漂移的新算法[J].信息系統工程,2014(8):128?129.
PENG Yun. A new algorithm based on EEMD to eliminate ECG baseline drift [J]. China CIO news, 2014(8): 128?129.
[7] 宋春麗.怎樣識讀MIT?BIH中的心電信號[J].科技資訊,2010(9):27.
SONG Chunli. How to read the ECG signal in MIT?BIH [J]. Science & technology information, 2010(9): 27.
[8] 汪學東,向晉濤,熊軍.利用時間RR間期散點圖及逆向技術分析和診斷房性并行心律[J].中國心臟起搏與心電生理雜志,2013,27(1):79?82.
WANG Xuedong, XIANG Jintao, XIONG Jun. Analysis and diagnosis of atrial concurrent arrhythmia using time RR interval diagram and reverse technique [J].Chinese journal of cardiac pacing and electrophysiology, 2013, 27(1): 79?82.
[9] KANG W S, ?YUN S, ?CHO K. ECG denoise method based on wavelet function learning [C]// Proceedings of IEEE sensors. [S.l.]: IEEE, 2012: 1?4.
[10] 毛玲,張國敏,孫即祥.心電圖ST段形態分析方法研究[J].信號處理,2009,25(9):1360?1365.
MAO Ling, ZHANG Guomin, SUN Jixiang. Research on shape analysis of ST segments in ECG signal [J]. Signal processing, 2009, 25(9): 1360?1365.
[11] 宋晉忠,嚴洪,姚宇華,等.基于心電圖ST?T段的心肌缺血檢測方法研究進展[J].航天醫學與醫學工程,2011,24(2):146?150.
SONG Jinzhong, YAN Hong, YAO Yuhua, et al. Research ?progress in detecting ?methods for myocardial ischemia based on electrocardiogram ST?T complex [J]. Space medicine & medical engineering, 2011, 24(2): 146?150.
[12] MUKHERJEE A, GHOSH K K. An efficient wavelet analysis for ECG signal processing [C]// Proceedings of International Conference on Informatics, Electronics & Vision. Dhaka: IEEE, 2012: 411?415.