「Pan-Tompkins算法(R波定位与检测)——ECG信号处理-第十课」2025年3月17日

       在心电信号(ECG)处理中,R波的检测是一个关键步骤,因为它直接影响到心率计算和心律失常的检测。Pan-Tomkins算法是一种经典的实时QRS波检测算法,广泛应用于ECG信号处理中。本文将详细介绍Pan-Tomkins算法的原理及其实现过程。

 

一、Pan-Tompkins算法

       Pan-Tomkins算法是一种基于滤波和动态阈值的QRS波检测算法。其主要步骤包括信号预处理、动态阈值检测和R波定位。算法的核心思想是通过滤波去除噪声,增强QRS波的特征,并通过自适应阈值来检测R波。该算法的具体步骤为:带通滤波、差分放大、平方运算、移动窗口积分、阈值检测以及R波定位。

1.1 信号预处理

       ECG的主要特征波中QRS波群的频率范围大致为0~100Hz。ECG的噪声主要包括工频干扰、基线漂移、肌电干扰及电极移动产生的噪声。基线漂移和电极移动所产生的干扰通常小于5Hz,工频干扰一般在50Hz左右。肌电干扰是由于病人肌肉紧张,产生不规则的高频电干扰所致,表现为不规则的快速变化波形,频率范围宽,一般在5Hz~2kHz之间。

(1)带通滤波

       利用汉明窗设计级联的低通滤波器和高通滤波器,将信号的通带频率限制在5-15Hz。这一步可以有效去除基线漂移(通常小于5Hz)和高频噪声(如肌电干扰,频率范围为5Hz~2kHz)。

(2)微分处理

       为了进一步增强QRS波的特征,滤波后的信号经过微分处理,提取信号的斜率信息。微分后的信号能够更好地突出R波的上升沿和下降沿。

       差分方程如公式所示。

       其中,N是积分窗口宽度中的样本数。

(3)平方运算

       微分后的信号经过平方运算,进一步增强R波的幅度,同时抑制其他低频成分。

(4)滑动窗口积分

       通过移动窗口积分(窗口长度为0.150秒)对信号进行平滑处理,减少噪声的影响。

       其中,N是积分窗口宽度中的样本数。

 

1.2 动态阈值检测

       动态阈值检测是Pan-Tomkins算法的核心部分,其目的是通过自适应阈值来区分QRS波群和噪声。

       对移动窗口积分后提取预处理之后所有的峰值C1 ,取两秒内信号峰值最大值的三分之一作为初始信号阈值ST1 和信号水平SL1 ,取两秒内峰值平均值的二分之一作为初始噪声阈值NT1 和噪声水平NL1 。同理提取经过滤波器处理后的所有峰值C2 ,初始信号阈值ST2 和信号水平SL2 ,初始噪声阈值NT2 和噪声水平NL2 。判断每个峰值和阈值之间的关系,可分为以下几种情况:

(1)当峰值C1 大于信号阈值ST1 时,即可认定为R波峰,同时依据下列公式更新信号水平SL1

(2)当峰值C1 小于信号阈值ST1 时,对ST1 进行减半判断,当C1 大于0.5ST1 时,即认定为R波峰,同时依据下列公式更新信号水平SL1

(3)当峰值C1 小于0.5ST1 时,即认定为噪声峰值,同时依据下列公式更新信号水平SL1 和噪声水平NL1

       在进行下次判断时,依据下列公式更新信号阈值ST1

       同理,按照以上规则以及ST2SL2NL2 判断出C2 所有峰值。只有当同一时刻的C1C2 均被认为是R峰值时,此刻的峰值才被认为是R峰,否则被认为是噪声峰值,按照此规则执行直至信号被全部判断完毕。

       动态阈值法的的流程图如图2所示。

图1:动态阈值法流程图

       动态阈值法会产生误检和漏检的问题,会降低检测的准确率。产生错检的原因如下:

       误检产生的形态如图2所示。在QRS波群中,误检的产生是由于阈值设定过低,阈值无法及时调整,导致如b、f及g点被误检。

图2:误检产生的形态

       漏检产生形态如图3所示。由于b点峰值过高,而阈值无法快速降低,从而b点到c点之间会出现漏检点。

图3:漏检产生形态

1.3 R波定位

       在动态阈值检测的基础上,Pan-Tomkins算法通过以下步骤精确定位R波:

(1)搜索回溯:如果在一段时间内没有检测到R波峰,算法会假设漏检了一个QRS波群,并在该时间段内搜索最大峰值作为漏检的QRS波群。

  • 最小时间间隔为1.66倍的当前R峰到R峰的时间间隔(RR间隔)。

  • 漏检的QRS波群假设为该时间段内位于阈值之间的最高峰值

(2)消除多重检测:在200ms的不应期内,不可能出现合法的QRS波群。算法会删除在此期间检测到的QRS波群,以减少误检。

(3)T波判别:如果一个QRS候选波群出现在前一个QRS波群之后的360ms内,算法会通过比较波形的平均斜率来判断这是QRS波群还是异常的T波。

  • 如果当前波形的平均斜率小于前一个QRS波群平均斜率的一半,则认为是T波;否则,认为是QRS波群。

 

二、Matlab代码实现

2.1 算法实现结果

       以下是Pan-Tomkins算法的Matlab代码实现结果。实验使用了MIT-BIH心电数据库中的100号记录信号,采样频率为360Hz。

图4:心电信号R波定位

图5:心电信号R波检测

2.2 实验结果小结

      从上述结果可以看到,带通滤波成功去除了基线漂移和高频噪声,使QRS波群特征更加明显,滤波后的信号更加平滑。差分放大进一步增强了QRS波群的斜率变化,使其在信号中更加突出,便于后续检测。平方运算则进一步提升了QRS波群的幅度。移动窗口积分有效平滑了信号,进一步减少了噪声的干扰,使QRS波群的特征更加突出。

      算法成功检测到了心电信号中的R波位置,检测结果准确,误检和漏检率低,证明了Pan-Tomkins算法在心电信号处理中的高效性和实用性,适用于实时心电信号监测和分析。

 

Tips:下一讲,我们将进一步探讨,心电信号的心率变异性分析。

以上就是Pan-Tomkins算法(R波定位与检测)的全部内容啦~

我们下期再见,拜拜(⭐v⭐) ~

 

(Ps:有代码实现需求,请见主页信息,谢谢支持!~)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值