✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知,求助可私信。
🔥 内容介绍
心电信号(ECG)作为一种重要的生理信号,蕴含着丰富的心脏活动信息。心率(HR)和呼吸率(RR)是ECG信号中两个关键参数,它们能够反映心脏功能和呼吸系统的状况,对临床诊断和生理监测具有重要意义。本研究探讨了基于数字带通滤波器从ECG信号中提取HR和RR的方法。首先,对原始ECG信号进行预处理,包括去除基线漂移和工频干扰。接着,采用不同频率范围的数字带通滤波器,分别提取包含心率信息的窄带信号和包含呼吸率信息的低频信号。通过对滤波后的信号进行进一步分析,如R峰检测和呼吸包络提取,计算得到HR和RR。实验结果表明,所提出的方法能够有效且准确地提取心率和呼吸率,为后续的生理参数监测和临床应用提供了可靠的技术基础。
1. 引言
心电图(ECG)是利用心电图机从体表记录心脏电活动的时程曲线。ECG信号是诊断心脏疾病的重要依据,同时也是监测生理状态的重要生理参数。心率(HR),即每分钟心脏跳动的次数,是反映心脏功能的重要指标,其变化可以反映心脏的兴奋性和传导性。呼吸率(RR),即每分钟呼吸的次数,是反映呼吸系统功能的重要指标,其变化可以反映肺部的通气情况。传统的HR和RR测量方法,如手动计数或使用专门的呼吸传感器,往往耗时且不方便。而ECG信号中同时包含着心脏和呼吸的信息,通过合适的信号处理方法,可以同时提取HR和RR,实现更加便捷和高效的生理监测。
基于数字信号处理技术提取ECG信号中的HR和RR已成为近年来的研究热点。心率的提取通常基于检测ECG信号中的R波,即心室去极化产生的最大峰值。常用的R波检测方法包括阈值法、斜率法、小波变换法等。而呼吸率的提取则更为复杂,因为呼吸运动对ECG信号的影响通常是微弱且低频的。研究表明,呼吸运动会导致ECG信号的基线漂移和幅度调制,这些变化可以用于提取呼吸信息。
本文旨在探索基于数字带通滤波器从ECG信号中提取HR和RR的方法。通过设计合适的带通滤波器,分别提取包含HR和RR信息的信号,再通过进一步的分析,计算得到HR和RR。该方法具有计算简单、易于实现等优点,并且能够有效去除ECG信号中的噪声干扰,提高提取的精度。
2. 方法
本研究采用的信号处理流程主要包括以下几个步骤:
2.1 ECG信号预处理
原始ECG信号通常含有噪声和伪迹,主要包括以下几种:
-
基线漂移: 由呼吸运动和电极接触不稳定等因素引起,呈现低频慢变的特性。
-
工频干扰: 通常由电力线引起的50Hz或60Hz的干扰信号。
-
肌电干扰: 由肌肉活动产生的随机高频干扰。
为了提高信号质量,预处理是必要的。本研究采用以下方法:
-
基线漂移去除: 使用高通滤波器,例如截止频率为0.5Hz的Butterworth高通滤波器,去除低频基线漂移。
-
工频干扰去除: 使用带阻滤波器,例如中心频率为50Hz(或60Hz)的Butterworth带阻滤波器,抑制工频干扰。
-
肌电干扰去除: 如果肌电干扰较强,可以考虑使用低通滤波器进行抑制,或者采用小波去噪等更高级的方法。
经过预处理后,ECG信号的信噪比得到显著提高,有利于后续的HR和RR提取。
2.2 心率HR提取
心率的提取主要基于检测ECG信号中的R波。预处理后的ECG信号仍包含其他成分,如P波和T波,为了准确检测R波,需要设计带通滤波器。
-
带通滤波器设计: R波的频率成分主要集中在10-25Hz左右,因此,设计一个通带为10-25Hz的数字带通滤波器,可以有效提取R波。本研究采用Butterworth带通滤波器,通过调整滤波器的阶数和截止频率,可以得到理想的滤波效果。
-
R波检测: 滤波后的信号包含明显的R波峰值。采用自适应阈值法检测R波,首先计算信号的平均幅值,然后设置一个阈值,当信号幅值大于阈值时,则认为检测到一个R波。为了提高检测的鲁棒性,可以采用一些改进的阈值法,如动态阈值法或斜率阈值法。
-
心率计算: 记录连续两个R波的间隔时间(RR间期),计算其平均值。然后根据以下公式计算心率(HR):
HR (bpm) = 60 / 平均RR间期 (s)
其中,bpm表示每分钟跳动次数。
2.3 呼吸率RR提取
呼吸率的提取比心率的提取更具挑战性,因为呼吸运动对ECG信号的影响较为微弱,且频率较低。呼吸运动主要通过两种方式影响ECG信号:基线漂移和幅度调制。
-
带通滤波器设计: 呼吸频率通常在0.1-0.5Hz之间,因此,设计一个通带为0.1-0.5Hz的数字带通滤波器,可以有效提取呼吸信号。本研究采用Butterworth带通滤波器,并需要仔细选择滤波器的参数,以保证呼吸信号的有效提取,并尽可能减少其他低频噪声的干扰。
-
呼吸包络提取: 滤波后的信号近似于呼吸包络,其幅度变化反映了呼吸的快慢。为了更准确地提取呼吸信息,可以对滤波后的信号进行进一步处理,例如采用Hilbert变换提取信号的瞬时幅度,或者采用移动平均滤波器进行平滑处理。
-
呼吸率计算: 通过检测呼吸包络的峰值或谷值,计算连续两次呼吸的时间间隔,然后根据以下公式计算呼吸率(RR):
RR (bpm) = 60 / 平均呼吸周期 (s)
其中,bpm表示每分钟呼吸次数。
3. 实验结果与分析
为了验证所提出的方法的有效性,本研究使用了公开的心电图数据库(例如MIT-BIH心律失常数据库)进行实验。实验结果表明:
-
心率提取: 所提出的带通滤波R波检测方法能够准确地检测R波,并且对不同类型的ECG信号具有较强的鲁棒性。与传统方法相比,本方法计算效率高,易于实现。
-
呼吸率提取: 所提出的带通滤波呼吸包络提取方法,能够有效地提取呼吸信号,并且对噪声具有一定的抑制能力。实验结果表明,该方法提取的呼吸率与实际呼吸率具有较高的吻合度。
在实验中,我们对不同参数进行了调整,如滤波器的阶数、截止频率,以及R波检测的阈值等,并对结果进行了对比分析,以找到最佳参数组合。实验结果表明,合理选择滤波器参数对结果的准确性至关重要。同时,实验也表明了使用不同类型和不同阶数的滤波器会对结果产生一定的影响。
📣 部分代码
% length of data array
L = length(dataArray);
% sample frequency, either 5kHz or 1kHz
Fs = 5000;
% sample period
T = 1/Fs;
% bandpass filter for HR
% acceptance range 0.83Hz to 2.5Hz
% sampling range 5kHz or 1kHz, depends on data array
hrFlt = bandpass(dataArray,[0.83 2.5],Fs);
% bandpass filter for RR
% acceptance range 0.14Hz to 0.58Hz
% sampling range 2.5kHz or 0.5kHz, depends on data array
rrFlt = bandpass(dataArray,[0.14 0.58],Fs/2);
% FFT on HR filtered sensor signal
hrY = fft(hrFlt);
hrP2 = abs(hrY/L);
hrP1 = hrP2(1:L/2+1);
hrP1(2:end-1) = 2*hrP1(2:end-1);
hrf = Fs*(0:(L/2))/L;
% FFT on RR filtered sensor signal
rrY = fft(rrFlt);
rrP2 = abs(rrY/L);
rrP1 = rrP2(1:L/2+1);
rrP1(2:end-1) = 2*rrP1(2:end-1);
rrf = Fs*(0:(L/2))/L;
% calculate HR based on filtered sensor signal
[~, hrfL] = max(hrP1(2:200));
fHR = hrfL*Fs/L;
HR = 60/(1/(fHR));
% calculate RR based on filtered sensor signal
[~, rrfL] = max(rrP1(2:200));
fRR = rrfL*Fs/L;
RR = 60/(1/(fRR));
end
⛳️ 运行结果
🔗 参考文献
[1] 白丽荣.基于小波变换的心电信号处理技术的研究[D].山东科技大学[2025-01-26].DOI:CNKI:CDMD:2.2006.185046.
[2] 张扬.基于心率变异性的疲劳驾驶监测系统的研究[D].东北大学,2015.
🎈 部分理论引用网络文献,若有侵权联系博主删除
👇 关注我领取海量matlab电子书和数学建模资料
🎁 私信完整代码和数据获取及论文数模仿真定制
🌿 往期回顾可以关注主页,点击搜索
🏆团队擅长辅导定制多种科研领域MATLAB仿真,助力科研梦:
🌈 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱调度、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化、CVRP问题、VRPPD问题、多中心VRP问题、多层网络的VRP问题、多中心多车型的VRP问题、 动态VRP问题、双层车辆路径规划(2E-VRP)、充电车辆路径规划(EVRP)、油电混合车辆路径规划、混合流水车间问题、 订单拆分调度问题、 公交车的调度排班优化问题、航班摆渡车辆调度问题、选址路径规划问题、港口调度、港口岸桥调度、停机位分配、机场航班调度、泄漏源定位
🌈 机器学习和深度学习时序、回归、分类、聚类和降维
2.1 bp时序、回归预测和分类
2.2 ENS声神经网络时序、回归预测和分类
2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类
2.4 CNN|TCN|GCN卷积神经网络系列时序、回归预测和分类
2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类
2.7 ELMAN递归神经网络时序、回归\预测和分类
2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类
2.9 RBF径向基神经网络时序、回归预测和分类
2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
2.19 Transform各类组合时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
🌈图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
🌈 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
🌈 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
🌈 通信方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化、水声通信、通信上传下载分配
🌈 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化、心电信号、DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测
🌈电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电、MPPT优化、家庭用电
🌈 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌈 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌈 车间调度
零等待流水车间调度问题NWFSP 、 置换流水车间调度问题PFSP、 混合流水车间调度问题HFSP 、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP
👇