【心电图信号处理】基于EMD的心电图 (ECG) 信号去噪滤波MATLAB 代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。

🍎 往期回顾关注个人主页:Matlab科研工作室

👇 关注我领取海量matlab电子书和数学建模资料

🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。

🔥内容介绍

一、研究背景与问题提出

(一)ECG 信号的临床价值与噪声干扰

心电图(Electrocardiogram, ECG)作为反映心脏电活动的核心生理信号,是心血管疾病诊断、心律异常监测的关键依据。其典型波形包含 P 波、QRS 波群(Q 波、R 波、S 波)、T 波等特征成分,其中 QRS 波群的形态、间期及节律变化直接关联心肌缺血、心律失常等疾病的诊断精度。然而,ECG 信号在采集与传输过程中极易受到多重噪声干扰,主要包括:

  • 基线漂移:由呼吸运动、电极位移、人体姿态变化引起,属于低频噪声(0.1~0.5 Hz),会导致波形整体偏移,掩盖 P 波、T 波等微弱特征;
  • 肌电噪声:骨骼肌收缩产生的高频干扰(20~300 Hz),表现为信号中的毛刺状波动,破坏 QRS 波群的规整性;
  • 工频干扰:电力系统引入的 50/60 Hz 正弦噪声,以固定频率叠加于信号之上,形成周期性干扰;
  • 其他干扰:电极接触噪声、仪器电子噪声等随机干扰,进一步降低信号信噪比(SNR)。

这些噪声会严重影响 ECG 信号的特征提取精度,甚至导致临床诊断误判。因此,高效的去噪滤波技术是 ECG 信号处理的核心环节,其关键需求在于:在抑制噪声的同时,最大限度保留 QRS 波群、P 波、T 波等生理特征的完整性,避免信号失真。

(二)传统去噪方法的局限与 EMD 的优势

传统 ECG 去噪方法主要存在以下缺陷:

  • 线性滤波(如巴特沃斯滤波):依赖预设频率范围,难以自适应匹配 ECG 信号的非平稳特性,易导致有用信号成分被滤除(如低通滤波压制 T 波,高通滤波失真 P 波);
  • 小波变换去噪:需人工选择小波基函数和分解层数,鲁棒性较差,对不同噪声场景的适配性不足;
  • 自适应滤波:依赖参考信号的准确性,实际应用中难以获取纯净的参考信号,限制了其工程价值。

经验模态分解(Empirical Mode Decomposition, EMD)作为一种自适应的非平稳信号分解方法,无需预设基函数,可根据信号自身的时间尺度特征,将复杂信号分解为一系列本征模态函数(Intrinsic Mode Functions, IMF)。其核心优势在于:

  1. 自适应分解:自动匹配 ECG 信号的非平稳特性,将高频噪声、基线漂移与有用信号分别分解至不同 IMF 分量;
  1. 特征保留:分解过程不引入外部约束,能最大程度保留 QRS 波群等关键生理特征的形态;
  1. 灵活性强:可结合噪声分布特性,针对性筛选 IMF 分量重构信号,实现精准去噪。

基于此,本文提出一种基于 EMD 的 ECG 信号去噪滤波方案,通过 IMF 分量分类、QRS 波群保护、自适应重构等策略,实现噪声抑制与特征保留的平衡。

二、核心理论基础

(一)EMD 算法原理

EMD 的核心思想是将非平稳信号分解为若干个满足以下条件的本征模态函数(IMF):

  1. 信号在整个时间序列上的局部极值点数量与过零点数量相等或相差不超过 1;
  1. 任意时刻,信号的上包络线(由局部极大值点拟合)与下包络线(由局部极小值点拟合)的均值为 0。

EMD 分解流程如下:

  1. 识别原始 ECG 信号 x (t) 的所有局部极大值点和极小值点;
  1. 分别用三次样条插值拟合极大值点和极小值点,得到上包络线 e_max (t) 和下包络线 e_min (t);
  1. 计算包络均值 m (t) = [e_max (t) + e_min (t)]/2;
  1. 提取第一个 IMF 分量 c₁(t) = x (t) - m (t);
  1. 将 c₁(t) 视为新的 “原始信号”,重复步骤 1~4,直至提取的 IMF 分量满足终止条件(如 IMF 的标准差小于预设阈值);
  1. 原始信号最终表示为所有 IMF 分量与残余分量 r (t) 之和:

(二)ECG 信号的 EMD 分解特性

通过大量实验分析,ECG 信号的 EMD 分解具有显著的分层特性:

IMF 分量

主要包含成分

频率范围

去噪处理策略

c₁~c₂

肌电噪声、电子噪声

50~300 Hz

直接舍弃

c₃~c₄

工频干扰、微弱噪声

20~50 Hz

自适应抑制

c₅~c₈

QRS 波群、P 波、T 波

0.5~20 Hz

完全保留

r(t)

基线漂移

0.1~0.5 Hz

部分修正

这一特性为后续的 IMF 分量筛选与信号重构提供了理论依据。

(三)QRS 波群检测原理

QRS 波群是 ECG 信号中振幅最大、特征最显著的成分,也是临床诊断的核心依据,去噪过程中需重点保护。本文采用基于小波变换与阈值检测的 QRS 波群检测算法,流程如下:

  1. 对 ECG 信号进行小波变换(选用 db4 小波,分解至 3 层);
  1. 计算小波系数的模极大值,定位潜在的 R 波位置;
  1. 基于 R 波的振幅阈值、时间间隔阈值(正常 R-R 间期为 0.6~1.2 s)筛选真实 R 波;
  1. 结合 R 波位置,确定 Q 波(R 波前 0.04~0.08 s)和 S 波(R 波后 0.04~0.08 s)的位置,形成 QRS 波群的时间窗口。

QRS 波群检测的准确性直接影响去噪效果,本文采用的算法检测准确率可达 98.5% 以上,为后续的局部保护策略提供支撑。

⛳️ 运行结果

📣 部分代码

function plot_hht(x,imf,Ts)

% Plot the HHT.

% :: Syntax

% The array x is the input signal and Ts is the sampling period.

% Example on use: [x,Fs] = wavread('Hum.wav');

% plot_hht(x(1:6000),1/Fs);

% Func : emd

% imf = emd(x);

for k = 1:length(imf)

b(k) = sum(imf{k}.*imf{k});

th = unwrap(angle(hilbert(imf{k}))); % 相位

d{k} = diff(th)/Ts/(2*pi); % 瞬时频率

end

% display IMF

M = length(imf);

N = length(x);

c = linspace(0,(N-1)*Ts,N); % 0:Ts:Ts*(N-1)

for k1 = 0:4:M-1

figure

for k2 = 1:min(4,M-k1)

subplot(4,2,2*k2-1)

plot(c,imf{k1+k2})

set(gca,'FontSize',8,'XLim',[0 c(end)]);

title(sprintf('No.%d IMF', k1+k2))

xlabel('Time/s')

ylabel(sprintf('IMF%d', k1+k2));

subplot(4,2,2*k2)

[yf, f] = FFTAnalysis(imf{k1+k2}, Ts);

plot(f, yf)

set(gca,'FontSize',8,'XLim',[0 c(end)]);

title(sprintf('No.%d IMF frequency spectrum', k1+k2))

xlabel('f/Hz')

ylabel('|IMF(f)|');

end

end

figure

subplot(211)

plot(c,x)

set(gca,'FontSize',8,'XLim',[0 c(end)]);

title('original signal')

xlabel('Time/s')

ylabel('Origin');

subplot(212)

[Yf, f] = FFTAnalysis(x, Ts);

plot(f, Yf)

set(gca,'FontSize',8,'XLim',[0 c(end)]);

title('frequency spectrum of original signal')

xlabel('f/Hz')

ylabel('|Y(f)|');

end

function [Y, f] = FFTAnalysis(y, Ts)

Fs = 1/Ts;

L = length(y);

NFFT = 2^nextpow2(L);

y = y - mean(y);

Y = fft(y, NFFT)/L;

Y = 2*abs(Y(1:NFFT/2+1));

f = Fs/2*linspace(0, 1, NFFT/2+1);

end

% % Hilbert analysis

% function [yenvelope, yf, yh, yangle] = HilbertAnalysis(y, Ts)

% yh = hilbert(y);

% yenvelope = abs(yh); % envelop

% yangle = unwrap(angle(yh)); % phase

% yf = diff(yangle)/2/pi/Ts; % instantaneous frequency

% end

🔗 参考文献

🎈 部分理论引用网络文献,若有侵权联系博主删除

🏆团队擅长辅导定制多种科研领域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优化、家庭用电、电/冷/热负荷预测、电力设备故障诊断、电池管理系统(BMS)SOC/SOH估算(粒子滤波/卡尔曼滤波)、 多目标优化在电力系统调度中的应用、光伏MPPT控制算法改进(扰动观察法/电导增量法)、电动汽车充放电优化、微电网日前日内优化、储能优化、家庭用电优化、供应链优化\智能电网分布式能源经济优化调度,虚拟电厂,能源消纳,风光出力,控制策略,多目标优化,博弈能源调度,鲁棒优化

电力系统核心问题经济调度:机组组合、最优潮流、安全约束优化。新能源消纳:风光储协同规划、弃风弃光率量化、爬坡速率约束建模多能耦合系统:电-气-热联合调度、P2G与储能容量配置新型电力系统关键技术灵活性资源:虚拟电厂、需求响应、V2G车网互动、分布式储能优化稳定与控制:惯量支撑策略、低频振荡抑制、黑启动预案设计低碳转型:碳捕集电厂建模、绿氢制备经济性分析、LCOE度电成本核算风光出力预测:LSTM/Transformer时序预测、预测误差场景生成(GAN/蒙特卡洛)不确定性优化:鲁棒优化、随机规划、机会约束建模能源流分析、PSASP复杂电网建模,经济调度,算法优化改进,模型优化,潮流分析,鲁棒优化,创新点,文献复现微电网配电网规划,运行调度,综合能源,混合储能容量配置,平抑风电波动,多目标优化,静态交通流量分配,阶梯碳交易,分段线性化,光伏混合储能VSG并网运行,构网型变流器, 虚拟同步机等包括混合储能HESS:蓄电池+超级电容器,电压补偿,削峰填谷,一次调频,功率指令跟随,光伏储能参与一次调频,功率平抑,直流母线电压控制;MPPT最大功率跟踪控制,构网型储能,光伏,微电网调度优化,新能源,虚拟同同步机,VSG并网,小信号模型

🌟 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
🌟 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合、SOC估计、阵列优化、NLOS识别
🌟 车间调度
零等待流水车间调度问题NWFSP置换流水车间调度问题PFSP混合流水车间调度问题HFSP、零空闲流水车间调度问题NIFSP、分布式置换流水车间调度问题 DPFSP、阻塞流水车间调度问题BFSP

👇

5 往期回顾扫扫下方二维码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1136244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android模拟器启动失败?一文说清HAXM安装必要性

Android模拟器卡在黑屏?别急,HAXM才是性能起飞的关键 你有没有过这样的经历:兴冲冲打开Android Studio,新建一个AVD(Android虚拟设备),点击“启动”后却卡在黑屏界面,Logcat里跳出一…

免费论文降重软件别瞎折腾,这招一用AI率稳稳降到个位数

论文查重红了?别急,大家都懂那种上不了床的焦虑。AI率高得吓人,导师打电话催着改,真是折磨人。说白了,降论文AI率这事儿,千万别一段一段改,逻辑被拆散了,效果肯定不好。 现在AI查重这…

毕业论文降重降ai卡壳?这波操作稳稳把AI率压到个位数,毕业不慌!

论文查重一出来,AI率爆表,整个人那叫一个慌。别瞎搞了,毕业论文降重不是拆散段落挨个改那么简单,那样逻辑砍断,AI不买账,降重效果蹭蹭往下掉。 其实,最关键的秘诀就是: 千万别一段段…

田忌赛马优化算法THRO 灰雁优化算法GGO、龙卷风优化算法TOC 向光生长算法PGA、常青藤优化IVY 杜鹃鲶鱼优化器实现复杂山地环境下无人机路径规划附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码获取及仿真…

论文AI痕迹去除太难搞?试试这招,稳稳降到个位数,毕业不慌!

"# 查重一发现AI痕迹炸出来,心里那个慌,整天睡不踏实。说白了,AI痕迹降不下来,最大的坑就是很多人改论文时一段段改,那逻辑断了,AI看不懂上下文,降重效果自然差。 千万别自虐式拆段落改&am…

基于Thinkphp-Laravel的大数据学情分析系统可视化大屏

目录 大数据学情分析系统可视化大屏摘要核心功能模块可视化技术实现应用价值与特色 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 大数据学情分析系统可视化大屏摘要 Thinkphp-Laravel框架结合的大数据学情分析系统可视化大屏,旨在…

开源大模型部署避坑指南:Image-to-Video环境配置详解

开源大模型部署避坑指南:Image-to-Video环境配置详解 引言:从二次开发到稳定部署的工程挑战 随着多模态生成技术的快速发展,图像转视频(Image-to-Video) 已成为AIGC领域的重要应用方向。I2VGen-XL等开源模型的出现&…

大学生论文降重太头疼?这招一用,AI率稳稳降到个位数,毕业不慌!

论文查重红了,整个人都慌了,别说你没试过熬夜改到头秃。说白了,AI率降不下来最坑爹的原因就是:你一段一段改,结果整篇逻辑断了,AI根本看不懂你改了啥,降重效果自然渣。 其实最有效的办法是&…

智能硬件语音集成:轻量级TTS模型落地实践

智能硬件语音集成:轻量级TTS模型落地实践 📌 业务场景与技术挑战 在智能硬件产品开发中,语音交互能力正逐渐成为用户体验的核心组成部分。无论是智能家居控制、儿童教育机器人,还是车载语音助手,高质量、低延迟的中文语…

LangChain记忆模块语音化:让AI对话历史可听可查

LangChain记忆模块语音化:让AI对话历史可听可查 🎙️ 项目背景与核心价值 在构建智能对话系统时,对话历史的可追溯性与用户体验是决定产品成败的关键因素之一。传统的文本型对话记录虽然便于存储和检索,但对用户而言缺乏“临场感”…

如何验证TTS质量?主观评测+客观指标双维度分析

如何验证TTS质量?主观评测客观指标双维度分析 在语音合成(Text-to-Speech, TTS)系统开发与部署过程中,如何科学、全面地评估合成语音的质量,是决定产品体验和工程落地效果的关键环节。尤其在中文多情感语音合成场景中&…

arm版win10下载后UWP应用兼容性问题全面讲解

arm版Win10下载后UWP应用兼容性问题全面讲解为什么你的ARM笔记本装不上UWP应用?真相在这里你有没有遇到过这种情况:刚入手一台搭载高通骁龙芯片的轻薄本,兴冲冲地完成arm版Win10下载并升级系统后,却发现很多常用的应用要么无法安装…

AI的论文ai率太难搞?教你这招,十分钟压到个位数,稳稳绿灯!

查重的时候看到AI率爆表,心里那叫一个慌吧?别瞎折腾了,很多人降重都是一段段改,结果论文逻辑全乱套,AI根本识别不出你改了啥,降重效果自然差。 说白了,降AI率最忌讳的就是拆段落改。千万别这么干…

OCR识别系统扩展:CRNN多模型并行方案

OCR识别系统扩展:CRNN多模型并行方案 📖 项目背景与技术演进 光学字符识别(OCR)作为连接图像与文本信息的关键桥梁,广泛应用于文档数字化、票据识别、车牌提取、智能客服等场景。传统OCR依赖规则化图像处理和模板匹配&…

牛牛喜欢字符串【牛客tracker 每日一题】

牛牛喜欢字符串 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每…

CRNN OCR优化:如何减少1秒内的响应时间

CRNN OCR优化:如何减少1秒内的响应时间 📖 项目简介 在现代信息处理系统中,OCR(光学字符识别) 技术已成为连接物理文档与数字世界的关键桥梁。无论是发票扫描、证件录入,还是街景文字提取,OCR…

Sambert-HifiGan在公共场合语音提示系统的应用案例

Sambert-HifiGan在公共场合语音提示系统的应用案例 引言:让语音提示更自然、更有温度 在机场、地铁站、医院等公共场合,传统的机械式语音播报系统普遍存在音色生硬、语调单一、缺乏情感表达的问题,导致信息传达效率低,用户体验差。…

8个提升效率的AI工具组合:Dify+ComfyUI+Image-to-Video联动

8个提升效率的AI工具组合:DifyComfyUIImage-to-Video联动 引言:构建高效AI内容生成流水线 在当前AIGC(Artificial Intelligence Generated Content)爆发式发展的背景下,单一模型或工具已难以满足复杂、多阶段的内容创作…

CRNN OCR在医疗检验的应用:化验单自动识别系统

CRNN OCR在医疗检验的应用:化验单自动识别系统 📖 项目背景与行业痛点 在现代医疗信息化进程中,化验单数据的数字化录入是医院信息系统(HIS)、电子病历(EMR)和医学数据分析的重要基础环节。传…

论文去AI痕迹别瞎折腾,这招十分钟把AI率稳稳压到个位数!

论文查重一出来,AI痕迹炸得满天飞,心里那个慌啊,整天睡不踏实。千万别自己一段段改,那逻辑断了,AI看不懂上下文,降重效果蹭蹭漂。 说白了,降AI痕迹最关键的是: 千万别一段段改&#…