- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于LabVIEW8.2提取ECG特征点的新方法
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)本文所讨论的信号处理方法还可以拓展到一维时域信号特征点分析的相关领域。