当前位置: 首页 > news >正文

「ECG信号处理——(22)Pan-Tompkins Findpeak 阈值检测 差分阈值算法——三种R波检测算法对比分析」2025年8月8日

目录

1、引言

2、算法原理

(1)Pan-Tompkins 算法(方法1)

(2)Findpeak 阈值检测算法(方法2)

(3)差分阈值算法(方法3)

3、算法性能评估

(1)评估指标

(2)实验结果对比

(3)综合分析与结论

1、引言

        心电图(ECG)是临床诊断心脏疾病的重要工具,R波检测作为其中的关键步骤,其准确性直接影响后续的心律失常分析等诊断过程。本文档介绍三种 R 波检测算法及其性能评估。

2、算法原理

(1)Pan-Tompkins 算法(方法1)

相关内容详情见我博客👇

「ECG信号处理——(10)Pan-Tompkins算法(R峰检测)」2025年3月17日-CSDN博客

(2)Findpeak 阈值检测算法(方法2)

  基于信号局部极大值特性,通过双阈值约束实现R波定位。其核心思想是找到信号中满足特定条件的局部极大值点。通过设置最小峰间距(MinPeakDistance)和最小峰高(MinPeakHeight)两个关键参数来筛选潜在的 R 波位置。

  • 幅值阈值:设置最小峰值高度MinPeakDistance=round(0.2×fs),过滤低幅噪声。

  • 位置阈值:设置最小峰间距MinPeakHeight=0.5(对应最大心率300bpm)。

        其中,fs 表示采样频率,MinPeakDistance是为了确保 R-R 间隔至少为 0.2 秒,MinPeakHeight是根据信号幅度设定的最小阈值。

(3)差分阈值算法(方法3)

        该方法通过信号微分和动态阈值调整来检测 R 波。基本流程如下:

  • 信号微分处理:对原始 ECG 信号进行微分操作,突出信号的突变部分,公式为:

diff_ecg=diff(ecg)

  • 移动平均滤波:对微分后的信号取绝对值并进行移动平均平滑处理,窗口长度设为 0.12 秒对应的采样点数,公式为:

smoothed=movmean(∣diff_ecg∣,window_length)

  • 动态阈值调整:在信号的前 10 秒学习阶段内,计算平滑信号的最大值并乘以 0.6 作为初始阈值,公式为:

threshold=0.6×max(smoothed(1:learning_phase))

  • 阈值检测与峰值确认:通过比较平滑信号与阈值确定潜在 R 波区间,并在每个区间内找到原始信号的最大值点作为 R 波位置。

3、算法性能评估

(1)评估指标

  • 灵敏度(Sen):衡量实际 R 波被正确检测的比例,公式为:

Sen=TP​/(TP+FN)×100%

  • 阳性预测值(PPV):衡量检测到的 R 波中实际正确的比例,公式为:

PPV=TP​/(TP+FP)×100%

  • 准确率(Acc):衡量整体检测的准确程度,公式为:

Acc=TP​/(TP+FP+FN)×100%

        其中,TP 表示真阳性数量,FN 表示假阴性数量,FP 表示假阳性数量。

(2)实验结果对比

        以下是上述三种R波检测算法在MIT-BIH心律失常数据库\mit-bih-arrhythmia-database-1.0.0上的性能评估结果。

图1:R波检测示例1

图2:R波检测示例2

表1:MIT-BIH心律失常数据库部分数据结果对比

整体性能对比:

评价指标1、Pan-Tompkins法2、Findpeaks法3、差分阈值法
平均灵敏度(Se)94.94%99.94%99.91%
平均PPV95.32%94.21%84.97%
平均准确率(Acc)91.66%94.00%84.89%
平均位置偏差0.45±1.382.12±1.400.45±1.33
平均幅值偏差0.07±0.08-0.99±0.170.06±0.07

灵敏度对比:

  • Findpeaks与差分阈值法表现相当(99.94% vs 99.91%)

  • Pan-Tompkins法在记录106出现严重漏检(Sen=65.56%)

  • 极端案例:记录106中差分阈值法保持100%灵敏度,而Pan-Tompkins降至65.56%

定位精度
  • 差分阈值法定位最精准(平均偏差0.45样本点)

  • Findpeaks法存在系统定位延迟(平均+2.12样本点)

  • 记录102中Findpeaks定位偏差最大(5.44±5.42样本点)

幅值估计
  • Findpeaks法存在显著幅值低估(平均-0.99mV)

  • 差分阈值法幅值偏差最小(0.06±0.07mV)

  • 记录107中Findpeaks幅值偏差达-1.51±0.25mV

(3)综合分析与结论

        方法3(差分阈值法)在多数数据集上表现最佳,具有较高的灵敏度和最佳的检测精度;方法1在时间准确性上表现较好,但在幅值准确性上稍差;方法2在某些数据集上表现优异,但在其他数据集上存在不稳定性。

        根据具体应用场景的需求:

  • 对灵敏度和检测精度要求极高时,选择方法3(差分阈值法);

  • 更注重时间准确性时,选择方法1(Pan-Tompkins法);

  • 需要在不同数据集上保持较好的稳定性时,选择方法3(差分阈值法)。

Tips:下一讲,我们将进一步探讨,心电信号处理与应用的其他部分。

以上就是Pan-Tompkins & Findpeak 阈值检测 & 差分阈值算法——三种R波检测算法对比分析的全部内容啦~

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

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

http://www.dtcms.com/a/321668.html

相关文章:

  • 宁商平台税务新政再升级:精准施策,共筑金融投资新生态
  • 创建MyBatis-Plus版的后端查询项目
  • 构网型逆变器三相共直流母线式光储VSG仿真模型【simulink实现】
  • 影刀 —— 练习 —— 读取Excel的AB两列组成字典
  • 【数值积分】如何利用梯形法则近似求解积分
  • Nearest Smaller Values(sorting and searching)
  • 专题二_滑动窗口_最大连续1的个数
  • 用户组权限及高级权限管理:从基础到企业级 sudo 提权实战
  • 基于 Vue + 高德地图实现卫星图与 Mapbox 矢量瓦片
  • Claude Code:智能代码审查工具实战案例分享
  • 流形折叠与条件机制
  • C++学习笔记
  • “鱼书”深度学习进阶笔记(1)第二章
  • 从零构建桌面写作软件的书籍管理系统:Electron + Vue 3 实战指南
  • 智慧农业温室大棚物联网远程监控与智能监测系统
  • Nginx反向代理教程:配置多个网站并一键开启HTTPS (Certbot)
  • git reset
  • Maven/Gradle常用命令
  • 14. isaacsim4.2教程-April Tags/给相机加噪声
  • GPT-5发布:AI竞赛进入新阶段
  • Spring Boot Redis 缓存完全指南
  • ApiPost 设置统一URL前缀
  • 计算机基础速通--数据结构·串的应用
  • 医防融合中心-智慧化慢病全程管理医疗AI系统开发(中)
  • 元数据管理与数据治理平台:Apache Atlas 构建与安装 Building Installing Apache Atlas
  • 有哪些产品需要遵循ASTM D4169-23e1
  • 【ee类保研面试】其他类---计算机网络
  • 操作系统:多线程模型(Multithreading Models)与超线程技术(Hyperthreading)
  • AI漫画翻译器-上传图片自动翻译,支持多语言
  • 学习Java的Day27