1、引言
目前的心電圖(ECG)還主要依賴于人工讀圖,而且對相關人員所具備的專業知識水平要求很高。在計算機自動分析識別方面,雖有研究但技術尚不成熟[1],對心電波形的自動識別還不準確,使得計算機自動診斷心電圖還未能有效應用于臨床[2],[3]。在ECG信號的自動識別領域,有關P-QRS-T各波(群)的識別已經有很多研究成果,如可變閾值法[3]、自適應閾值的方法[4]、差分閾值法[5]、模板匹配法[6]、小波變換法[7,8]、神經網絡法[8]等。這些方法各有所長,但還沒有一種堪稱完美。在數據分析過程中,這些方法都要對時域內包括噪聲在內的所有信號樣本點進行檢測、判別。
2、LabVIEW8.2中Waveform Peak Detection VI簡介
在LabVIEW8.2中,新增了一個功能強大的“Waveform Peak Detection VI”,這一VI的功能是檢測出輸入波形中設定閾值范圍內的所有波峰點(Peak)或波谷點(Valley)。該VI如圖1所示。
圖1 LabVIEW8.2中的Waveform Peak Detection.vi
在該VI的輸出中,包含了以下重要信息:
1)所有波峰/波谷點的幅值(Amplitudes);
2)所有波峰/波谷點的二階導數(2nd Derivatives);
3)所有波峰/波谷點的位置索引(在波形數據序列中的序號);
4)找到的波峰/波谷點總數。
這些數據均以數組的形式同時輸出,相互對應,提供用戶直接使用。
3、使用Waveform Peak Detection VI檢測ECG特征點的方法
3.1 信號波形特征點的提取依據
如果同時使用兩個Peak Detection VI,將給定的閾值條件分別設定為:
VI1:大于零的波峰(Peak/Valley=Peak,Threshold>0 ),
VI2:小于零的波谷(Peak/Valley= Valley,Threshold<0 )。
則在該VI的輸出序列中,就包含了所有的大于零的波峰點和小于零的波谷點,方法如圖2所示。
圖2 Waveform Peak detection VI 抽取輸入波形的波峰/波谷點示意圖
對于一段正常典型的心電波形來說,經該VI處理后的結果,可形象地用圖3表示出來。
圖3 標準ECG波形經Waveform Peak detection VI 處理的前后對比圖
當然,對于實際的ECG信號,不可避免地會存在干擾和漂移,很顯然,這不會影響到PQRST各特征點的正確抽取,只不過,對于存在干擾、漂移的ECG,經Peak Detection VI輸出的點序列中,不僅包括需要的特征點部份,而且還包括那些干擾波的波峰點和波谷點,此時應加以區分。
根據正常ECG的特點,R峰點特征最為突出,具體表現為:
1 幅值最大
2 波形最尖銳
所以,可以在經VI提取出的點序列數組中,以幅值最大值或二階導數最小值為判別依據來認定為R峰點。
3.2 ECG特征點的提取方法
因為Peak Detection VI的輸出中已包含有相應點的幅值、二階導數及位置索引信息,在確定R峰點后,可進一步根據ECG的特點確定出其它各特征點。完整的ECG特征點判別方法及步驟為:
(1)幅值最大或二階導數最小(或兩者同時滿足)的波峰點判定為R峰點;
(2)R峰點之前的第一個小于零的波谷點(Valley)為Q點;
(3)R峰點之后第一個小于零的波谷點(Valley)為S點;
(4)Q點之前合理時限內的最大波峰點為P點;
(5)S點之后合理時限內的最大波峰點為T點。
(U波幅度較小且目前對其認識還不清楚,本文不作討論。)
4、基于虛擬儀器LabVIEW8.2的編程實現
按圖2流程編制LabVIEW8.2程序,考慮到實際ECG波形中存在干擾,閾值(Threshold)不宜取零。程序中采用本周期段數據中最小波谷點的0.02倍作為Valley點閾值,最大波峰點的0.03倍作為Peak點的閾值,這樣可將基線附近的絕大多數高頻干擾點避開,這些干擾點將不會出現在輸出序列中。
采用美國麻省理工學院的MIT-BIH數據庫中的心電信號(ECG)進行實驗,其中某一典型的實驗輸出結果界面如圖4所示。
圖4 MIT-BIH 209-MLII中的一段心電波形處理結果
a.輸入信號波形 b.輸出波峰點(實心點)及波谷點(空心點)序列,箭頭所
指即為PQRST各特征點。 c.分離出的P-Q-R-S-T特征點(從左至右)
在圖4所示的ECG(圖4-a)經該VI輸出的序列點(圖4-b)中,雖然輸出點還包括其它非特征點在內,但運用前述的判定方法不難發現,PQRST各特征點依然可以唯一確定,結果如圖4-c所示。
圖4-b中箭頭所指即為PQRST各特征點,其判斷方法見前文所述,判別如圖4-c所示。
5、結論
對于一個正常的心電波形,經Waveform Peak Detection VI處理后,所有特征點都會被提取出來,如果采用合適的算法,僅僅針對輸出的若干特征點序列(如圖4-b)進行分析判斷,可在最小數據冗余的條件下,將PQRST各波的峰點識別出來。
因為這種方法只須針對為數量極少的點進行分析,不像其它方法一樣要遍歷整個時域內的信號點,處理速度將大大加快;并且在舍去大量無關數據的同時,絕大多數的干擾噪聲也同時被舍去了,從而提高了識別過程的抗干擾力。
6、本方法的適宜領域和重要保證
(1)最好在識別前進行波形調理;
(2)只能進行時域內的分析;
(3)讀取數據時盡量保證在1~2周期內,且大于1個周期的數據段讀取,要進行時限上的閾值判斷。
(4)本文所討論的信號處理方法還可以拓展到一維時域信號特征點分析的相關領域。