经验模态分解(EMD)是一种信号处理方法,用于将非线性和非稳态信号分解为一组称为本征模态函数
(IMF)的固有模态函数。本文将重点讨论 EMD 及其改进分解方法,以及信号复原和误差对比。此外
,还探讨了如何克服信号分解过程中的端点效应,并提供了使用极值延拓进行 EMD 分解的方法和相关
Matlab 代码。
首先,EMD 是一种数据驱动的方法,可以自适应地将信号分解成多个 IMF 和一个残差项。IMF 是在不
同时间尺度上表现出明显特征的函数,其数量取决于信号的复杂程度。EMD 的主要步骤包括以下几个
方面:
1. 构建信号的上、下包络线,并计算包络线的平均值作为本征模态函数的初值。
2. 通过将信号与其包络线的差值作为新的信号,并迭代地执行步骤 1,直到所得的函数满足 IMF
的定义。
3. 将满足 IMF 定义的函数作为一个 IMF,并将其从原始信号中减去。重复上述步骤,直到得到所
有的 IMF 和残差项。
然而,EMD 方法可能存在一些问题,例如模态重叠和端点效应。为了改进 EMD 方法,出现了一些改进
的分解方法,如经验模态分解方法改进(EEMD)、对称经验模态分解方法(SEMD)和方差稳定经验
模态分解方法(VSEMD)等。
其中,EEMD 是通过对原始信号添加高斯噪声的方式来打破模态重叠问题。具体而言,它通过对多个
扰动信号进行 EMD 分解,然后对相同 IMF 进行平均,从而得到最终的 IMF。通过引入随机性,EEMD
能够有效地减小模态重叠和伪模态的影响。
另一种改进方法是对称经验模态分解方法(SEMD),它通过对原始信号的正向和反向 EMD 分解得到
的 IMF 进行平均,从而减小模态重叠问题。
此外,方差稳定经验模态分解方法(VSEMD)是通过引入方差标准化技术来解决模态重叠问题。具体
而言,它在 EMD 分解的每一步之后,对每个 IMF 的标准差进行归一化处理,以确保不同尺度的 IMF
具有相似的能量分布。
在进行信号复原时,可以将所有的 IMF 相加得到重构信号,然后与原始信号进行误差比较。通过比较
不同分解方法得到的重构信号,可以评估各种方法的性能和精度。
另外,信号分解过程中常会遇到的一个问题是端点效应。端点效应是指在信号两端由于缺少数据而导
致的不完整 IMF 生成。为了克服端点效应,可以使用极值延拓的方法,即在信号两端分别延拓一个周
期的数据,使得分解得到的 IMF 数量更加准确。