本项目提供了一种基于MATLAB的算法,用于高效地从心电图(ECG)、动脉血压(ABP)、光电容积脉搏波(PPG)及每搏输出量(SV)信号中检测单位抽样峰值。此代码具有高度灵活性和准确性,适用于医疗与生物医学工程领域的科研人员和技术开发人员。
这个存储库包含用于多模式R峰检测的MATLAB代码。R峰是QRS波群中的突出部分,在心电图(ECG)上常常与心跳相对应。这里的软件不仅使用ECG,还利用动脉血压(ABP)、光电容积描记图(PPG)和每搏量(SV)来精确定位R峰。简而言之,该技术旨在根据信号质量的估计值——称为信号质量指标(SQI),融合各种类型的信号。对于每种类型的数据源如ECG、ABP等,都会估算出一个SQI,并且只有当其SQI超过预设阈值时才会将其峰值检测结果纳入考虑。
此外还编写了额外代码来解决在非直接心跳测量的信号上出现的时间延迟问题(例如PPG中的脉冲波形通常比ECG中对应的QRS复合波群晚得多)。要运行此存储库内的所有代码,需要WFDB工具箱。下载并安装后,请确保子文件夹“mcode”已添加到您的MATLAB路径当中。
该资料库包含四个主要功能:
- detect.m: 主函数,在可读的WFDB记录上执行算法。
- detect_matlab.m:与detect.m相同的功能,但在具有关联标头和采样频率的MATLAB数据矩阵中运行算法。
- detect_sqi.m:用于评估信号质量指标(SQI)并依据其结果决定是否融合峰值检测结果。