王蔷薇,孙朋,庞宇,林金朝,周前能,李章勇,王伟,冉鹏
(1. 重庆邮电大学光电信息感测与传输技术重庆市重点实验室,重庆,400065;2. 解放军309医院,北京,100091)
QRS波是心电图心电(Electrocardiogram,ECG)信号的主要特征,而在心电信号中最重要的是检测出R波(图1)。这是因为只有在确定R波群后才能计算心率、检测心率变异,并进一步检测心电信号其他细节。ECG信号反映了心脏在兴奋产生、传导和恢复过程中的电变化,从心电信号中可以得到丰富的病理信息,但采集的信号中一般存在大量的噪声干扰。一般包括工频干扰、电极接触噪声、肌电干扰及人为运动等[1],使ECG信号相对应的心电图伴随较多的毛刺,波形变得模糊,这给R波的检测带来了极大的困难。
目前检测R波的主要算法有滤波器法、模板匹配法、小波分析法、神经网络法、数据融合检测法和差分阈值法等。以下是目前最具有代表性的几种R波检测算法[2~4]:
小波变换法[5]是近年来兴起的信号处理技术,已逐步应用在医学信号分析中。小波变换具有优良的时频局部化特点,其时频窗口面积不变,但是形状和尺度可变。
图1ECG信号中的R波
神经网络方法[6]是近年来迅速发展的一种用于模式识别的新型计算机和人工智能技术,其在ECG信号的处理分析方面主要是用于分类、重构和压缩。
差分阈值法[7]是一种简单、快速的QRS波群的检测算法,适用于实时性要求较高的心电监护设备。
传统的几种R波检测算法各有优缺点:小波变换法具有良好的时频局域化特性,检测准确度高,但对原始信号进行不同尺度的描述需要大量的存储空间,计算时间也比较长,增加硬件成本,不易于工程实现;神经网络法能够实现很好的判别效果,但算法复杂,且训练时间较长,实时性差[8,9]。差分阈值法算法简单,处理速度快,易于工程实现,但抗噪性差,检测率不高。
针对传统差分阈值算法的不足,为进一步避免该算法的多检及漏检率,本文对该算法进行了改进。对检测的ECG信号通过提升小波去噪,增强被检信号的纯净度;优化R波第一检测点检测时间窗宽度,提升R波检测率、实时性及识别率。
在传统小波算法的基础上,1996年Swelden等人提出了一种不依赖傅里叶变换的提升小波算法,该算法不需要做复杂的卷积运算,采用简单而有效的方法来构造双正交小波。与传统小波相比,提升小波的构造方法具有许多优越性[10~12]:在构造第一代小波基时,有了更大的空间,可根据需求设计;无需进行傅里叶分析,在时域进行所有的运算,算法简单快速,与快速的Mallat算法相比,运算复杂度低,计算量小;能够在当前的位置完成小波变换,在算法的实现上可以节省内存,提高小波消失矩阶数和对偶消失矩阶数,使小波具有更好的抗振荡性质等[13,14];第二代小波变换所有的变换过程均是可逆的,且在实现逆变换时方法简单快捷,可通过逆向的正变换实现。
在提升小波中,分解(Split)、预测(Predict)和修正(Update)为其提升方法的3个步骤,它的分解和重构流程如图2所示:
图2提升小波的分解与重构
(Ⅰ) 分裂就是将原始信号按照奇偶的性质分裂成两个较小的子集,且这两个子集互不相交。
差分阈值法是一种简单、快速的QRS波群的检测算法,适用于实时性要求较高的心电监护设备。QRS波群是心电信号特征波变化最剧烈的部分,其对应R波的上升斜率和下降斜率与其他特征波相比变化显著。差分阈值法就是运用这一特性来检测QRS波群中的R波,从计算心电信号序列对时间的导数即斜率可以得到,QRS波群中的R波在上升或者下降波形的斜率变化最大,其中一阶导数过零点或者二阶导数的极值点位置即是QRS波群中R波的位置。因此,对采集的心电信号先进行预处理,对处理后的心电信号采用一阶差分或二阶差分,再结合时间窗口和幅度阈值即可判断R波的位置。
差分阈值法R波检测可以通过多种形式来实现,利用心电信号的一阶差分平方和来进行QRS复合波中R波的检测,可明显的突出R波幅值变化最快的位置,根据输出脉冲的宽度,能够精确的估计R波的宽度。由于中心差分是误差平方的高阶无穷小,所以本文检测算法的一阶差分方程式,其表达式如下:
其中f(n)经过滤波处理后的心电信号序列。采用上述方法对采样并滤波后的心电信号进行求导,即求差分。根据经验R波下降部分是最大导数的位置,所以在求差分时,用前值减后值,且导数最大值为正值。其结果如图3所示,其中上图为心电信号,下图为心电信号差分;图中横坐标为采样点数,纵坐标为幅度。
图3心电信号及心电信号差分
针对传统的差分阈值R波检测算法流程进行改进,对采集的ECG信号首先经过提升小波去噪处理,得到纯净的ECG信号;在R波检测时,第一个检测起始点尤为重要,它关系到第一个R波的准确定位。本文针对该缺陷进行算法改进,使得第一个R波的检测起始点均处于心电信号平稳部分;单R波检测过程中的时间窗函数直接影响着R波的识别率,本文针对该问题对时间窗函数进行优化,来增强每个R波检测的识别率及鲁棒性,改进后的算法框架如下:
图4心电信号及心电信号差分
在进行R波检测时,若当检测起始点处于心电信号平稳部分,如图5(a)所示,则能简单的识别出R波;若检测起始点位于R波附近,如图5(b)所示,在比较差分最大值或最小值时,会出现最小值在最大值之后,而这种情况下会出现R波的误判或检测错误。
图5R波识别的起始位置
为避免第一R波检测在R波附近开始,本文对第一R波检测起始点算法进行了改进:①从起始点开始选取(1:t)时间段内的数据,记为A,并求此段数据内的最大值A-max;②选取(t+1:2*t)时间段内的数据,记为B,并求此段数据的最大值B-max;③若A-max>1.8*B-max,则起始点在R波附近,将检测起始点向后推迟一段数据,从2*t为检测起始点进行检测;若A-max<1.8*B-max,则起始点在心电信号的平稳部分,检测起始点从1开始检测。改进后的算法流程图如图6所示:
图6改进后R波检测起始点判断流程图
在确定了心电信号R波检测的起始点后,假定心电信号序列为x(t),以时间窗宽度Wf截取一段心电数据xwf(t),并求此段数据的最大值点,记为R1。按照公式(8)对xwf(t)做前向一阶差分运算,记为dif(t)。随后执行单R波检测算法,详情如下:
①找出一阶差分序列的最大值位置difmax(t)和最小值位置difmin(t);
②比较difmax(t)和difmin(t)之间的数据,找出此段数据中的最大值点,即为心电信号x(t)的第一个R'波位置;
③比较R1和R'是否为同一点,若为同一点则此点就为R波,若不是,在第一和二个R波时,则将最大值位置点记为R波,其他R波则计算R1R和R R'与上一个RR间期的差,差值较小点为R波。
单R波检测算法流程如图7所示:
图7单R波检测算法流程
以第1个R波位置后T1位置如下图8所示为起点,按照3.2、3.3节步骤找出心电信号x(t)的第2个R波位置。
图8第一个R波后起始点示意图
由第1、2个R位置,计算出这两个R之间的时间间隔,即RR间期,记为RR;以第2个R波位置后T1位置为起点,以时间窗宽度Wf=(Wf+RR)/2截取一段心电数据,按照3.2、3.3节步骤找出心电信号x(t)的R波位置,依次类推找出心电信号x(t)中所有的R波。
本文研究的所有心电信号数据均为实时采集的数据,因个体的差异,每个样本的RR间期都不一样,若采用固定的时间窗函数,在固定时间窗内可能会出现一个、两个或者没有R波,使算法的识别率降低,鲁棒性下降。因此本文改进了单R波检测时间窗函数,采用Wf=(Wf+RR)/2动态时间窗函数,其中Wf为当前时间窗宽度,RR为上一个RR间期宽度。RR间期因样本差异和每次心跳的差异在实时变化,所以时间窗Wf也在实时的调整宽度。在数据出现RR较大波动时,也能得到及时的修正,提高了算法的鲁棒性。
选取MIT-BIH数据库中含有噪声的203号心电信号,对其进行R波检测。首先对203号心电信号进行小波去噪处理,主要去除基线漂移和不同强度的高斯白噪声。随后使用本文改进后的R波检测算法对其进行R波检测,检测结果如图9所示:
图9去噪后203号心电信号R波检测
从R波检测结果来看,通过本文改进后的R波检测算法对MIT-BIH数据库的203号心电信号进行R波检测,其识别率为100%。
为了充分的证明本文改进后R波检测算法的良好性及稳定性,本文分别选取了T波倒置的心电信号数据,T波高大的心电信号数据以及含有严重基线漂移干扰的心电信号数据进行R波检测,检测结果分别如图10、图11及图12所示。
通过使用本文改进后的R波检测算法对不同类型的心电信号检测结果同样可以看出,本文改进后的R波检测算法具有强的R波识别率及R波检测的稳定性,本文改进后的R波检测算法的R波识别率均为100%。
图10T波倒置的心电信号R波检测
图11T波高大的心电信号R波检测
图12含有基线漂移干扰心电信号R波检测
为进一步论证本文改进后的R波检测算法的R波识别率,从MIT-BIH数据库中选取10种不同类型ECG信号,使用本文改进后的R波检测算法进行R波检测,检测后数据统计如表1所示。
表110种MIT-BIH数据库心电数据R波的检测统计
由表1可明显看出,经过本文改进后的R波检测算法检测的10种不同的ECG信号的R波识别率可达到99.8%,较改进前的99.4%提升了0.4个百分点。其中部分ECG信号的R波识别率在99.6%左右,其主要原因是这类ECG信号自身携带较强的噪声干扰,经过传统的提升小波去噪后,未能完全去除其噪声所致,如104号和105号ECG信号。
本文针对在传统差分阈值算法基础上进行了改进,首先在进行R波检测前通过提升小波算法对需检测的ECG信号进行去噪处理,去除检测ECG信号所携带的干扰噪声;其次对传统的差分阈值算法中的R波检测进行了改进,通过对R波第一检测点及时间窗宽度的精细优化,明显提升了传统R波检测算法的R波检测识别率及算法的抗鲁棒性。选取MIT-BIH数据库中的不同类型的ECG信号,使用本文改进后的R波检测算法对其进行R波检测,检测结果表明本文改进后的R波检测算法具有更强的R波识别率,且抗干扰能力明显增强。通过数据统计,本文改进后的R波检测算法的R波识别率较改进前提升了0.2个百分点,充分说明了本文改进后的R波检测算法具有更强的R波识别率,可用于ECG信号的R波检测。
[1] Sasikala P, Wahidabanu R S D. Robust R peak and QRS detection in electrocardiogram using wavelet transform[J]. International Journal of Advanced Computer Science and Applications-IJACSA, 2010,1(6): 48-53.
[2] Pan J, Tompkins W J. A real time QRS detection algorithm[J]. IEEE Trans. on BME, 1985, 32(3): 230-236.
[3] Li C W, Zheng C X, Tai C F. Detection of ECG characteristic points using wavelet transforms[ J] . IEEE Trans on BME, 1995, 42(1): 21-28.
[4] Shub H K. Wavelet transform-based QRS Complex Detector[J].IEEE Trans. on BME, 1999, 46(7): 838-848.
[5] 姚成, 司玉娟, 郎六琪.改进的基于小波变换的QRS波检测算法[J].吉林大学学报(信息科学版), 2011, 29(5):401-407.
[6] 王金亮.心电信号的预处理及R波检测的研究[D].济南:山东大学, 2011.
[7] 苏丽, 赵国良, 李东明.心电信号QRS 波群检测算法研究[J].哈尔滨工程大学学报, 2012, 26(4):513.
[8] TMS320C6000 Peripherals reference ruide[R].Texas Instruments,2004.
[9] TMS320C6713 Data sheet[R].Texas Instruments,2005.
[10] Swelden W. The lifting scheme: A new philosopy in biorthogonal wavelet construction[J]. Proc SPIE, 1995, 25(1): 68-79.
[11] Sweldens. The lifting Scheme: A construction of second generation wavelets[J]. SIAMJ. Math Anal, 1997, 29(2): 511-546.
[12] Keinert F. Raising Multiwavelet Approximation Order through Lifting[J]. Siam J. math. anal. extension of Two Scale Similarity Transforms, 2001, 11(5): 1032-1049.
[13] Sweldens W. The Lifting Scheme: A Custom- design Construction of Biorthogonal Wavelets[J]. Applied and Computational Harmonic Analysis (S1063-5203), 1996, 3(2): 186-200.
[14] Vullings R, De V B, Bergmans J W M. An adaptive Kalman fi lter for ECG signal enhancement[J]. Biomedical Engineering, IEEE Transactions on, 2011, 58(4): 1094-1103.