资讯动态

【心电信号处理】基于matlab心电图信号处理、心脏特征提取、心率率分析、伪影检测及信号质量评估【含Matlab源码 16044期】含报告

发布时间:2026/10/9 22:41:02 来源:尧图企业网站定制
欢迎来到海神之光博客之家✅博主简介热爱科研的Matlab仿真开发者修心和技术同步精进个人主页海神之光代码获取方式海神之光Matlab王者学习之路—代码获取方式Matlab毕设Matlab毕设系列–说明期刊发表发表北大核心SCI不是梦⛳️座右铭行百里者半于九十。更多Matlab信号处理仿真内容点击①Matlab信号处理 进阶版②付费专栏Matlab信号处理初级版⛳️关注CSDN海神之光更多资源等你来⛄一、心电图信号处理、心脏特征提取、心率率分析、伪影检测及信号质量评估整体概述本代码实现一套基于数字信号处理的 ECG 心电信号处理流水线生成仿真干净 ECG 信号 → 叠加三类常见心电噪声 → 设计巴特沃斯高通 低通滤波器去除干扰 → 使用经典Pan-Tompkins 算法增强 QRS 波群并检测 R 波峰 → 计算心率 BPM 并做心律分类 → 时域波形绘图 FFT 频域频谱分析。Pan-Tompkins心电领域最经典 QRS 波检测算法核心流程微分→平方→移动窗口积分放大 QRS 能量便于 R 峰识别。心电常见噪声基线漂移、工频干扰、肌电 EMG 噪声。逐段代码解析clc;clear;close all;fprintf(‘ ECG Signal Analysis System Initialized \n’);清空命令行、工作区、关闭已有图窗打印系统初始化提示。%% 1. LOAD / GENERATE ECG SIGNALFs 500; % Sampling Frequencydur 10; % Duration in secondsN Fs * dur;t (0:N-1)/Fs;% Synthetic ECG Generationecg_clean …0.6sin(2pi1.2t) … 0.25exp(-((mod(t,0.833)-0.10).2)/(2*0.0052)) … 1.5exp(-((mod(t,0.833)-0.15).2)/(2*0.0032)) … 0.35exp(-((mod(t,0.833)-0.22).2)/(2*0.0082)) …- 0.15exp(-((mod(t,0.833)-0.29).2)/(2*0.0122));ecg_clean ecg_clean - mean(ecg_clean);参数采样率 Fs500Hz信号时长 10s总采样点 N5000t生成时间轴。合成 ECG利用周期高斯脉冲 正弦分量模拟心电 P 波、QRS 波、T 波。mod(t,0.833)实现周期重复周期 0.833s对应基础心率约 72 次 / 分。ecg_clean ecg_clean - mean(ecg_clean)去除信号直流分量。%% 2. ADD REALISTIC NOISE% Baseline Wanderbaseline 0.5sin(2pi0.3t);% Powerline Interferencepowerline 0.2sin(2pi50t);% Muscle Noiseemg 0.1*randn(1,N);% Final Noisy ECGecg_noisy ecg_clean baseline powerline emg;叠加三种心电采集典型噪声基线漂移 Baseline Wander0.3Hz 低频正弦由呼吸、电极晃动引起表现为信号缓慢上下漂移工频干扰 Powerline50Hz 正弦噪声市电引入肌电噪声 EMG高斯白噪声肌肉抖动产生高频随机噪声ecg_noisy最终带噪心电信号。%% 3. DIGITAL FILTER DESIGN% High-Pass Filter% Removes baseline wander (0.5 Hz)[bHP,aHP] butter(4, 0.5/(Fs/2), ‘high’);% Low-Pass Filter% Removes high-frequency EMG noise (40 Hz)[bLP,aLP] butter(4, 40/(Fs/2), ‘low’);设计4 阶巴特沃斯滤波器高通滤波器截止频率 0.5Hz滤除低频基线漂移低通滤波器截止频率 40Hz滤除大于 40Hz 肌电噪声butter 函数输入频率需要归一化到奈奎斯特频率Fs/2。%% 4. APPLY FILTERSecg_hp filtfilt(bHP, aHP, ecg_noisy);ecg_filt filtfilt(bLP, aLP, ecg_hp);filtfilt零相位滤波正向 反向两次滤波不会引入信号相位延迟心电波形不会发生时间偏移。先高通去除基线漂移再低通滤除高频 EMG得到滤波后干净 ECG ecg_filt。%% 5. PAN-TOMPKINS QRS ENHANCEMENT% (i) Derivative Filterh_d [-1 -2 0 2 1] * (1/8);ecg_diff conv(ecg_filt, h_d, ‘same’);% (ii) Squaringecg_sq ecg_diff.^2;% (iii) Moving Window IntegrationW round(0.150 * Fs);ecg_mwi conv(ecg_sq, ones(1,W)/W, ‘same’);Pan-Tompkins QRS 增强三步微分使用差分滤波器[-1,-2,0,2,1]/8QRS 波斜率大微分可以突出 QRS 陡峭变化抑制 P、T 波平方ecg_diff.^2把所有值变为正数进一步放大大斜率的 QRS 分量压低小幅度干扰移动窗口积分窗口长度 150ms对平方后信号做滑动平均得到 QRS 波能量包络ecg_mwi。%% 6. R-PEAK DETECTIONthr 0.30 * max(ecg_mwi);minDist round(0.25 * Fs);[~,locs] findpeaks(ecg_mwi, …‘MinPeakHeight’, thr, …‘MinPeakDistance’, minDist);R 波峰定位阈值thr取增强后信号最大值的 30%只有高于阈值的才认为是候选 R 峰MinPeakDistance最小峰间距0.25s防止同一个 QRS 波识别出多个伪峰findpeaks寻找峰值locs保存 R 波峰值对应的采样点下标。%% 7. HEART RATE CALCULATIONRR diff(locs) / Fs;HR_inst 60 ./ RR;BPM mean(HR_inst);% Heart Condition Classificationif BPM 60status ‘Bradycardia (Slow Heart Rate)’;elseif BPM 100status ‘Tachycardia (Fast Heart Rate)’;elsestatus ‘Normal Heart Rate’;end心率计算diff(locs)得到相邻 R 峰采样点间隔除以采样率 Fs 得到 RR 间期单位秒瞬时心率HR_inst 60/RR单位次 / 分钟 BPMBPM为平均心率心律判断标准- BPM60心动过缓 Bradycardia- BPM100心动过速 Tachycardia- 60~100正常心率%% 8. DISPLAY RESULTSfprintf(‘\n ECG ANALYSIS RESULT\n’);fprintf(‘Detected Beats : %d\n’, length(locs));fprintf(‘Average BPM : %.2f\n’, BPM);fprintf(‘Condition : %s\n’, status);fprintf(\n’);命令行输出检测到的心搏个数、平均心率、心律状态。%% 9. FFT FREQUENCY ANALYSISY_noisy fft(ecg_noisy);Y_filt fft(ecg_filt);P2_noisy abs(Y_noisy/N);P2_filt abs(Y_filt/N);P1_noisy P2_noisy(1:N/21);P1_filt P2_filt(1:N/21);P1_noisy(2:end-1) 2 * P1_noisy(2:end-1);P1_filt(2:end-1) 2 * P1_filt(2:end-1);f Fs * (0:(N/2)) / N;FFT 频谱分析对含噪 ECG 和滤波 ECG 做傅里叶变换计算单边幅值谱。FFT 输出是双边谱取前半段转为单边谱并校正幅值f频率轴后续绘制频谱图观察噪声去除效果。%% 10. PLOT RESULTSfigure(‘Name’,‘ECG DSP Pipeline’, …‘Color’,‘w’, …‘Position’,[100 50 1300 900]);% 1. Noisy ECGsubplot(4,1,1);plot(t, ecg_noisy, ‘r’);grid on;title(‘1) Noisy ECG Signal’);xlabel(‘Time (s)’);ylabel(‘Amplitude’);xlim([0 5]);% 2. Filtered ECGsubplot(4,1,2);plot(t, ecg_filt, ‘b’, ‘LineWidth’,1.2);grid on;title(‘2) Filtered ECG Signal’);xlabel(‘Time (s)’);ylabel(‘Amplitude’);xlim([0 5]);% 3. Pan-Tompkins Outputsubplot(4,1,3);plot(t, ecg_mwi, ‘k’);grid on;title(‘3) QRS Enhanced Signal’);xlabel(‘Time (s)’);ylabel(‘Energy’);xlim([0 5]);% 4. R-Peak Detectionsubplot(4,1,4);plot(t, ecg_filt, ‘b’);hold on;plot(t(locs), …ecg_filt(locs), …‘rv’, …‘MarkerFaceColor’,‘r’);grid on;title([‘4) Detected R-Peaks | Heart Rate ‘, …num2str(BPM,’%.1f’), …’ BPM’]);xlabel(‘Time (s)’);ylabel(‘Amplitude’);xlim([0 5]);legend(‘Filtered ECG’,‘Detected Peaks’);绘制 4 张子图时域波形只展示 0~5s 方便观察红色带噪原始 ECG蓝色滤波后 ECG黑色Pan-Tompkins 处理后的 QRS 能量包络蓝色滤波 ECG 红色倒三角标记检测到的 R 波峰。%% 11. FREQUENCY SPECTRUMfigure(‘Name’,‘Frequency Spectrum’, …‘Color’,‘w’, …‘Position’,[200 100 1200 700]);% FFT of Noisy ECGsubplot(2,1,1);stem(f, P1_noisy, ‘r’);grid on;title(‘FFT of Noisy ECG’);xlabel(‘Frequency (Hz)’);ylabel(‘|X(f)|’);xlim([0 20]);% FFT of Filtered ECGsubplot(2,1,2);stem(f, P1_filt, ‘b’);grid on;title(‘FFT of Filtered ECG’);xlabel(‘Frequency (Hz)’);ylabel(‘|X(f)|’);xlim([0 20]);新建图窗绘制频谱对比上图含噪 ECG 单边频谱下图滤波后 ECG 单边频谱横坐标限制 0~20Hz可以直观看到低频基线漂移噪声被滤除。整体流程总结生成仿真干净 ECG 信号叠加基线漂移、50Hz 工频、肌电三类噪声4 阶巴特沃斯高通 低通零相位滤波降噪Pan-Tompkins 算法微分→平方→移动积分增强 QRS 波阈值 最小峰间距寻找 R 波峰计算 RR 间期、平均心率自动判断心动过缓 / 正常 / 心动过速时域波形可视化 FFT 频域分析对比滤波前后信号。⛄二、部分源代码和运行步骤1 部分代码2 通用运行步骤1直接运行main.m即可一键出图⛄三、运行结果⛄四、matlab版本及参考文献1 matlab版本2019b2 参考文献[1]夏海燕,孙万捷,王杰华,陈虹云.基于EMD和SVD的光电容积脉搏波信号去噪方法[J].现代电子技术. 2018[2]冯冬青,杜云龙.心电信号处理数字滤波方法研究[J].科技与创新. 20083 备注简介此部分摘自互联网仅供参考若侵权联系删除⛄五、仿真咨询与程序定制1 各类智能优化算法改进及应用1.1 PID优化1.2 VMD优化1.3 配电网重构1.4 三维装箱1.5 微电网优化1.6 优化布局1.7 优化参数1.8 优化成本1.9 优化充电1.10 优化调度1.11 优化电价1.12 优化发车1.13 优化分配1.14 优化覆盖1.15 优化控制1.16 优化库存1.17 优化路由1.18 优化设计1.19 优化位置1.20 优化吸波1.21 优化选址1.22 优化运行1.23 优化指派1.24 优化组合1.25 车间调度1.26 生产调度1.27 经济调度1.28 装配线调度1.29 水库调度1.30 货位优化1.31 公交排班优化1.32 集装箱船配载优化1.33 水泵组合优化1.34 医疗资源分配优化1.35 可视域基站和无人机选址优化2 机器学习和深度学习分类与预测2.1 机器学习和深度学习分类2.1.1 BiLSTM双向长短时记忆神经网络分类2.1.2 BP神经网络分类2.1.3 CNN卷积神经网络分类2.1.4 DBN深度置信网络分类2.1.5 DELM深度学习极限学习机分类2.1.6 ELMAN递归神经网络分类2.1.7 ELM极限学习机分类2.1.8 GRNN广义回归神经网络分类2.1.9 GRU门控循环单元分类2.1.10 KELM混合核极限学习机分类2.1.11 KNN分类2.1.12 LSSVM最小二乘法支持向量机分类2.1.13 LSTM长短时记忆网络分类2.1.14 MLP全连接神经网络分类2.1.15 PNN概率神经网络分类2.1.16 RELM鲁棒极限学习机分类2.1.17 RF随机森林分类2.1.18 SCN随机配置网络模型分类2.1.19 SVM支持向量机分类2.1.20 XGBOOST分类2.2 机器学习和深度学习预测2.2.1 ANFIS自适应模糊神经网络预测2.2.2 ANN人工神经网络预测2.2.3 ARMA自回归滑动平均模型预测2.2.4 BF粒子滤波预测2.2.5 BiLSTM双向长短时记忆神经网络预测2.2.6 BLS宽度学习神经网络预测2.2.7 BP神经网络预测2.2.8 CNN卷积神经网络预测2.2.9 DBN深度置信网络预测2.2.10 DELM深度学习极限学习机预测2.2.11 DKELM回归预测2.2.12 ELMAN递归神经网络预测2.2.13 ELM极限学习机预测2.2.14 ESN回声状态网络预测2.2.15 FNN前馈神经网络预测2.2.16 GMDN预测2.2.17 GMM高斯混合模型预测2.2.18 GRNN广义回归神经网络预测2.2.19 GRU门控循环单元预测2.2.20 KELM混合核极限学习机预测2.2.21 LMS最小均方算法预测2.2.22 LSSVM最小二乘法支持向量机预测2.2.23 LSTM长短时记忆网络预测2.2.24 RBF径向基函数神经网络预测2.2.25 RELM鲁棒极限学习机预测2.2.26 RF随机森林预测2.2.27 RNN循环神经网络预测2.2.28 RVM相关向量机预测2.2.29 SVM支持向量机预测2.2.30 TCN时间卷积神经网络预测2.2.31 XGBoost回归预测2.2.32 模糊预测2.2.33 奇异谱分析方法SSA时间序列预测2.3 机器学习和深度学习实际应用预测CPI指数预测、PM2.5浓度预测、SOC预测、财务预警预测、产量预测、车位预测、虫情预测、带钢厚度预测、电池健康状态预测、电力负荷预测、房价预测、腐蚀率预测、故障诊断预测、光伏功率预测、轨迹预测、航空发动机寿命预测、汇率预测、混凝土强度预测、加热炉炉温预测、价格预测、交通流预测、居民消费指数预测、空气质量预测、粮食温度预测、气温预测、清水值预测、失业率预测、用电量预测、运输量预测、制造业采购经理指数预测3 图像处理方面3.1 图像边缘检测3.2 图像处理3.3 图像分割3.4 图像分类3.5 图像跟踪3.6 图像加密解密3.7 图像检索3.8 图像配准3.9 图像拼接3.10 图像评价3.11 图像去噪3.12 图像融合3.13 图像识别3.13.1 表盘识别3.13.2 车道线识别3.13.3 车辆计数3.13.4 车辆识别3.13.5 车牌识别3.13.6 车位识别3.13.7 尺寸检测3.13.8 答题卡识别3.13.9 电器识别3.13.10 跌倒检测3.13.11 动物识别3.13.12 二维码识别3.13.13 发票识别3.13.14 服装识别3.13.15 汉字识别3.13.16 红绿灯识别3.13.17 虹膜识别3.13.18 火灾检测3.13.19 疾病分类3.13.20 交通标志识别3.13.21 卡号识别3.13.22 口罩识别3.13.23 裂缝识别3.13.24 目标跟踪3.13.25 疲劳检测3.13.26 旗帜识别3.13.27 青草识别3.13.28 人脸识别3.13.29 人民币识别3.13.30 身份证识别3.13.31 手势识别3.13.32 数字字母识别3.13.33 手掌识别3.13.34 树叶识别3.13.35 水果识别3.13.36 条形码识别3.13.37 温度检测3.13.38 瑕疵检测3.13.39 芯片检测3.13.40 行为识别3.13.41 验证码识别3.13.42 药材识别3.13.43 硬币识别3.13.44 邮政编码识别3.13.45 纸牌识别3.13.46 指纹识别3.14 图像修复3.15 图像压缩3.16 图像隐写3.17 图像增强3.18 图像重建4 路径规划方面4.1 旅行商问题TSP4.1.1 单旅行商问题TSP4.1.2 多旅行商问题MTSP4.2 车辆路径问题VRP4.2.1 车辆路径问题VRP4.2.2 带容量的车辆路径问题CVRP4.2.3 带容量时间窗距离车辆路径问题DCTWVRP4.2.4 带容量距离车辆路径问题DCVRP4.2.5 带距离的车辆路径问题DVRP4.2.6 带充电站时间窗车辆路径问题ETWVRP4.2.7 带多种容量的车辆路径问题MCVRP4.2.8 带距离的多车辆路径问题MDVRP4.2.9 同时取送货的车辆路径问题SDVRP4.2.10 带时间窗容量的车辆路径问题TWCVRP4.2.11 带时间窗的车辆路径问题TWVRP4.3 多式联运运输问题4.4 机器人路径规划4.4.1 避障路径规划4.4.2 机器人轨迹跟踪4.4.3 机器人编队4.4.4 机器人导航4.4.5 机器人定位4.4.6 机器人控制4.4.7 机器人路径规划4.4.8 机器人任务分配4.4.9 机器人搜索4.4.10 机器人运输4.4.11 迷宫路径规划4.4.12 水下机器人路径规划4.4.13 栅格地图路径规划4.5 配送路径规划4.5.1 冷链配送路径规划4.5.2 外卖配送路径规划4.5.3 口罩配送路径规划4.5.4 药品配送路径规划4.5.5 含充电站配送路径规划4.5.6 连锁超市配送路径规划4.5.7 车辆协同无人机配送路径规划4.6 无人机路径规划4.6.1 飞行器仿真4.6.2 无人机飞行作业4.6.3 无人机轨迹跟踪4.6.4 无人机集群仿真4.6.5 卡车无人机4.6.6 目标搜索4.6.7 三维路径规划4.6.8 无人机编队4.6.9 无人机导航4.6.10 无人机吊运4.6.11 无人机对抗4.6.12 无人机覆盖4.6.13 无人机检测4.6.14 无人机控制4.6.15 无人机求援4.6.16 无人机位姿估计4.6.17 无人机系统4.6.18 无人机侦查4.6.19 无人机联盟4.6.20 无人机协同任务4.6.21 异构无人机4.7 水下飞行器4.8 无人车路径规划4.9 无人艇路径规划4.10 物流选址4.11 车辆控制4.12 多智能体路径规划4.12.1 多智能体编队4.12.2 多智能体控制4.12.3 多智能体路径规划4.12.4 多智能体协同5 语音处理5.1 语音情感识别5.2 声源定位5.3 特征提取5.4 语音编码5.5 语音处理5.6 语音分离5.7 语音分析5.8 语音合成5.9 语音加密5.10 语音去噪5.11 语音识别5.12 语音压缩5.13 语音隐藏6 元胞自动机方面6.1 元胞自动机病毒仿真6.2 元胞自动机城市规划6.3 元胞自动机交通流6.4 元胞自动机气体6.5 元胞自动机人员疏散6.6 元胞自动机森林火灾6.7 元胞自动机生命游戏7 信号处理7.1 机械振动信号处理7.1.1 故障信号7.1.1.1 齿轮损伤识别7.1.1.2 异步电机转子断条故障诊断7.1.1.3 滚动体内外圈故障诊断分析7.1.1.4 电机故障诊断分析7.1.1.5 轴承故障诊断分析7.1.1.6 齿轮箱故障诊断分析7.1.1.7 三相逆变器故障诊断分析7.1.1.8 柴油机故障诊断7.1.2 管道泄漏7.1.3 振动信号7.2 生物医学信号处理7.2.1 肌电信号EMG7.2.2 脑电信号EEG7.2.3 乳腺癌诊断7.2.4 生物电信号7.2.5 心电信号ECG7.2.6 心血管7.2.7 心脏仿真7.2.8 血压7.3 声呐探测信号处理7.3.1 声呐7.3.2 水声通信7.4 通信工程信号处理7.4.1 超声波信号处理7.4.2 导航定位7.4.3 航天航空7.4.4 空间识别7.4.5 雷达通信7.4.5.1 FMCW仿真7.4.5.2 GPS抗干扰7.4.5.3 雷达LFM7.4.5.4 雷达MIMO7.4.5.5 雷达测角7.4.5.6 雷达成像7.4.5.7 雷达定位7.4.5.8 雷达回波7.4.5.9 雷达检测7.4.5.10 雷达数字信号处理7.4.5.11 雷达通信7.4.5.12 雷达相控阵7.4.5.13 雷达信号分析7.4.5.14 雷达预警7.4.5.15 雷达脉冲压缩7.4.5.16 天线方向图7.4.5.17 雷达杂波仿真7.4.6 模拟信号处理7.4.7 时差绘制7.4.8 数字信道处理7.4.9 数字信号处理7.4.10 无线通信7.4.11 姿态解算**7.4.12 资源分配 **7.5 自动测量信号处理**7.5.1 参数估计 ****7.5.2 电动汽车动力电池管理 ****7.5.3 高度预估 **8 物理应用8.1 物理学分支力学8.1.1 材料力学8.1.2 弹性力学8.1.3 动力学8.1.4 分析力学8.1.5 固体力学8.1.6 结构力学8.1.7 静力学8.1.8 空气动力学8.1.9 流体力学8.1.10 塑性力学8.1.11 运动学8.2 物理学其他分支8.2.1 表面物理学8.2.2 超声学8.2.3 次声学8.2.4 电磁学8.2.5 电动力学8.2.6 电学8.2.7 高压物理学8.2.8 金属物理学8.2.9 光学8.2.10 核物理学8.2.11 金属物理学8.2.12 量子力学8.2.13 热力学8.2.14 热学8.2.15 声学8.2.16 水声学8.3 物理应用8.3.1 地理学8.3.2 化学化工8.3.3 生物8.3.4 其他

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑