目录
经验模态分解(Empirical Mode Decomposition, EMD)是一种自适应的数据分析方法,特别适合于非线性、非平稳信号的处理,如心电图(ECG)信号。ECG信号包含了心脏电活动的各种信息,如心跳节奏、传导异常等,EMD通过对ECG信号进行多层次分解,提取出不同尺度的内在模式,有助于临床诊断和研究。EMD的核心思想是通过一系列的“筛选”过程,将原始信号分解为一系列固有模态函数(Intrinsic Mode Functions, IMF)和一个残余分量(Residual)。每个IMF是一个局部均值为零的包络且具有不同频率特征的函数,能够反映信号在不同时间尺度上的动态特征。
1.EMD分解步骤
经验模式分解(EMD)域内心电(ECG)信号的去噪,通常为基于QRS特征波经验性识别固有模态函数(IMF)分量并重建ECG信号。由于该方法引入个人误差,因此识别不准确。针对此问题,本文提出利用EMD与IMF分量统计特性对ECG信号进行去噪。首先对含噪ECG信号进行EMD分解得到一系列IMF分量,然后利用IMF分量的统计特性识别IMF分量属性,并采用被识别为ECG信号的IMF分量重建ECG信号。该识别方法基于统计学方法,具有统计学和现实物理意义。
1.初始化:设原始信号为X(t)。
2.提取IMF:
-
对X(t)进行上包络(upper envelope)和下包络(lower envelope)的估计,通常通过局部极大值和极小值点插值得到。
-
计算包络的平均值(mean of envelopes),即包络包络。
-
从原始信号X(t)中减去包络平均值,得到一个新的信号h(t)=X(t)−Mean of Envelopes。
-
检查h(t)是否满足IMF的定义(局部均值为零,极值数目与过零点数目最多相差不超过一个)。如果满足,则h(t)即为第一个IMF;否则,将h(t)作为新的信号,重复步骤2。
-
第一个IMF记为C1(t),原始信号减去C1得到剩余信号R1(t)=X(t)−C1(t)。
3.递归分解:对剩余信号R1(t)重复步骤2,得到第二阶IMFC2(t),以此类推,直至剩余信号成为单调函数或极小的包络差值,这时的剩余即为残余分量RN。
虽然EMD本质上是一个迭代和直观的过程,难以用简洁的闭合形式数学公式完全描述,但可以概述关键步骤的数学框架:
2.EMD在ECG信号分析中的应用
- 噪声去除:通过分解ECG信号,低频的IMF往往对应基线噪声,去除这些成分可以提高信号质量。
- 特征提取:不同IMF代表不同频率的生理活动,对心律不齐、早搏等异常进行识别。
- 趋势分析:长期趋势(如残余分量)反映心率变化,对心脏健康评估有价值。
- 非线性动力学分析:IMFs的时频特性可用于研究心脏动力学行为,如心肌梗死的非线性预测。
3.MATLAB核心程序
clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
rng('default')
load ('ecg.mat');% 加载数据文件'ecg.mat'
% 设置CEEMDAN算法的参数
Nstd = 0.2;% 噪声强度因子
NR = 500;% 噪声实现数量
MaxIter = 5000;% 最大迭代次数
% 调用ceemdan函数进行信号分解
[modes its]=ceemdan(ecg,0.2,500,5000);
t=1:length(ecg);% 定义时间轴
% 获取分解后模态的行数
[a b]=size(modes);
% 绘制ECG信号及其各层模态分解结果
figure;
subplot(a+1,1,1);% 绘制原始ECG信号
plot(t,ecg);%% ECG信号位于子图的第一行
ylabel('ECG')
set(gca,'xtick',[])
axis tight;
% 循环绘制每一个固有模态分量(IMF)
for i=2:a
subplot(a+1,1,i);
plot(t,modes(i-1,:));
ylabel (['IMF ' num2str(i-1)]);% IMF标签
set(gca,'xtick',[])% 隐藏x轴刻度
xlim([1 length(ecg)])% 设置x轴范围与ECG信号一致
end;
% 绘制最后一个IMF(残留分量)
subplot(a+1,1,a+1)
plot(t,modes(a,:))
ylabel(['IMF ' num2str(a)])
xlim([1 length(ecg)])
% 另外创建图形展示各IMF分解所需的迭代次数分布
figure;
boxplot(its);% 使用箱线图展示迭代次数
up4087
4.仿真结果
数据端点均值误差导致 IMF2-IMF8 分量的均值在 0 均值周围微小波动,IMF9 分量数据端点均值误差导致 IMF2-IMF8 分量的均值在 0 均值周围微小波动,IMF9 分量.ECG信号的EMD分解提供了一种强有力的工具,不仅能够解析复杂的心脏电活动,还能揭示隐藏在信号内部的生理病理信息,对临床诊断和科研有着重要意义。