基于Matlab GUI的心电信号QRS波群检测与心率分析系统
心电信号(Electrocardiogram, ECG)是临床诊断心脏疾病的重要依据,其中 QRS 波群的准确检测对于心率分析、心律失常诊断及自动化心电分析系统具有核心意义。本文设计并实现了一套基于 MATLAB GUI 的心电信号处理与分析系统,集成了数据导入、信号预处理、QRS 波群检测、心率计算及结果可视化等功能。系统在预处理阶段采用高通与低通滤波相结合的带通滤波方法,有效去除基线漂移与高频噪声;随后利用差分滤波、阈值判决与形态学约束方法对 Q、R、S 波进行逐一检测;最后计算 RR 间期并推导心率。为增强用户体验,本文基于 MATLAB GUIDE 构建了交互式图形界面,实现了信号波形展示、检测结果标注及频谱分析等功能。实验表明,本系统能够对不同采样率与噪声条件下的 ECG 数据进行稳定检测,具有较好的准确性和可视化效果,可为心电信号自动分析的教学与科研提供参考。
作者:张家梁(自研改进)
引言
心电信号(ECG)是临床医学和生物医学工程研究中应用最为广泛的生理信号之一。通过记录心脏在一次搏动周期中的电活动变化,心电图能够为心脏疾病的诊断与监测提供重要依据。在 ECG 波形中,P 波、QRS 波群和 T 波具有明确的生理学意义,其中 QRS 波群反映心室去极化过程,其形态与时间特征对于心率计算、心律失常检测及心脏功能评估至关重要。因此,如何在复杂环境和噪声干扰下实现 QRS 波群的准确检测,一直是心电信号自动处理的研究热点。
近年来,随着计算机技术与信号处理算法的不断发展,基于数字滤波、差分运算、阈值检测及人工智能方法的 QRS 检测算法层出不穷。在传统的 Pan–Tompkins 算法基础上,学者们通过引入自适应阈值、改进的滤波器组以及多尺度分析等方法,有效提升了检测精度。然而,在实际教学与应用中,研究人员和学生不仅需要算法本身,还需要一个直观的可视化平台,以便快速验证方法、展示检测效果并进行交互操作。
本文面向这一需求,设计并实现了一个基于 MATLAB GUI 的 ECG QRS 检测与心率分析系统。系统融合了滤波预处理、差分运算、QRS 波群检测、RR 间期计算及频谱分析等功能,并通过交互式界面实现信号加载、参数设置与检测结果展示。与单纯的算法实现相比,该系统具有可操作性强、可视化效果直观的特点,适用于教学演示、实验验证以及科研辅助分析。
系统架构
1.系统概述
本系统基于MATLAB平台,面向心电信号QRS波群检测与心率分析实验设计,主要实现对ECG信号的预处理、Q/R/S波检测、RR间期与心率计算,并通过GUI界面实现信号可视化与结果导出。系统由 参数设置模块、数据读入模块、信号预处理模块、QRS检测模块、心率分析模块、结果可视化模块与结果导出模块 构成。
参数设置模块:初始化系统关键参数,包括采样频率 (Fs)、高通与低通截止频率、是否启用陷波滤波、平滑窗口大小及检测阈值规则,为后续处理提供统一配置。
数据读入模块:支持加载实验数据文件(如 Time.mat 与 V1.mat),自动校验时间序列与电压信号长度一致性,并在 GUI 中展示原始 ECG 波形。
信号预处理模块:采用带通滤波(0.5–40 Hz)、可选工频陷波及轻量平滑,抑制基线漂移与高频噪声,确保后续 QRS 检测的稳定性与准确性。
QRS检测模块:利用差分滤波与自适应阈值方法,首先检测 R 峰位置,再在限定时间窗内定位 Q 波和 S 波,实现完整 QRS 波群识别。
心率分析模块:基于检测到的 R 波序列计算 RR 间期,得到平均心率与逐拍心率序列,并估计 QRS 宽度等关键参数。
结果可视化模块:在 GUI 界面直观展示原始与预处理信号、Q/R/S 标记位置及心率趋势曲线,并支持功率谱绘制以辅助频域分析。
结果导出模块:支持一键生成检测结果图与心率曲线图,同时绘制 ECG 信号功率谱,方便结果保存与后续报告撰写。
系统设计目标是实现一个 完整、可复现、可扩展的 ECG QRS 检测与心率分析实验平台,既能用于 心电信号处理与检测方法的研究,也可作为 医学信号处理课程教学与工程应用的参考工具。
2.系统流程图
研究方法
研究方法概括为:本系统依次经过数据加载、信号预处理、差分增强、QRS 波群检测、心率与 QRS 宽度计算,并通过 GUI 界面实现可视化与结果导出。
实验结果
实验结果表明:本系统能够在预处理后准确完成 QRS 波群检测与心率分析,所提取的心率、RR 间期和 QRS 宽度均符合正常生理范围,验证了系统的有效性与可靠性。
运行ProjectGui.m
图 1 原始心电信号显示界面
分析:系统加载 Time.mat 与 V1.mat 后,在 GUI 界面显示原始 ECG 波形。从图中可以看出,信号存在明显的基线漂移与高频噪声,这会干扰 QRS 波群的识别。因此必须经过预处理环节,以保证后续检测的准确性。检测结果区(下方编辑框)显示当前采样率为 250 Hz,而心率、RR 间期和 QRS 宽度尚未计算。
图 2 预处理后心电信号显示界面
分析:系统对原始信号进行带通滤波(0.5–40 Hz)、可选陷波与轻度平滑后,基线漂移得到明显抑制,高频噪声也大幅减少,波形更加清晰。虽然整体振幅有所降低,但 QRS 波群的形态更加突出,为检测算法提供了更稳定的输入。此时检测结果区仍未显示心率与 QRS 宽度,说明仅完成信号预处理。
图 3 QRS 检测与心率分析界面
分析:在预处理信号基础上,系统调用 QRS 检测模块完成 Q、R、S 波的定位:红圈标记 Q 波,绿色星标记 R 波,黄色加号标记 S 波。下方曲线展示了基于 RR 间期计算得到的逐拍心率变化趋势。检测结果区显示平均心率约为 75.7 次/分,RR 间期为 793 ms,平均 QRS 宽度为 85.4 ms,均处于正常生理范围。由此表明系统能够准确提取 QRS 波群并进行心率计算与可视化。
系统实现
本系统完全基于MATLAB平台开发,主要集成以下脚本与模块:
研究结论
本研究基于 MATLAB 平台实现了软阈值、硬阈值及软硬折衷阈值三种小波语音降噪方法,并通过 GUI 界面对处理过程与结果进行了可视化展示。实验结果表明,软阈值方法能够有效平滑语音波形但存在幅值偏差,硬阈值方法在去噪同时更好地保留了语音细节且取得最高的信噪比与最低的均方根误差,而折衷阈值方法则兼顾了平滑性与保真度,在多方面表现出较好的综合性能。总体来看,小波阈值方法能够显著改善语音信号质量,其中不同阈值策略各有优劣,适合在不同应用场景中选择使用,本系统为语音降噪算法的研究、教学与工程应用提供了有益的实验平台。
实验环境
硬件配置如表:实验所用硬件平台为惠普(HP)暗影精灵10台式机整机,运行 Windows 11 64 位操作系统,作为模型训练与测试的主要计算平台,能够良好支持Matlab的开发需求。
官方声明
实验环境真实性与合规性声明:
本研究所使用的硬件与软件环境均为真实可复现的配置,未采用虚构实验平台或虚拟模拟环境。实验平台为作者自主购买的惠普(HP)暗影精灵 10 台式整机,具体硬件参数详见表。软件环境涵盖操作系统、开发工具、深度学习框架、MATLAB工具等,具体配置详见表,所有软件组件均来源于官方渠道或开源社区,并按照其许可协议合法安装与使用。
研究过程中严格遵循学术诚信和实验可复现性要求,确保所有实验数据、训练过程与结果均可在相同环境下被重复验证,符合科研规范与工程实践标准。
版权声明:
本算法改进中涉及的文字、图片、表格、程序代码及实验数据,除特别注明外,均由7zcode.张家梁独立完成。未经7zcode官方书面许可,任何单位或个人不得擅自复制、传播、修改、转发或用于商业用途。如需引用本研究内容,请遵循学术规范,注明出处,并不得歪曲或误用相关结论。
本研究所使用的第三方开源工具、框架及数据资源均已在文中明确标注,并严格遵守其相应的开源许可协议。使用过程中无违反知识产权相关法规,且全部用于非商业性学术研究用途。