模态分解算法 EMD、EEMD、CEEMD

一、模态分解算法===============EMD算法介绍

(一)模态分解相关的算法有以下几类

IMF 固有模态函数\EMD经验模态分解\EEMD集合经验模态分解\CEEMD 互补集合经验\(EEMD的标准形式)CEEMDAN自适应噪声完备集合经验模态分解\VMD 变分模态分解

(二)本篇主要介绍EMD算法

IMF的定义:将待研究的信号分解为一个个单分量信号,每一个单分量信号只包含一种振荡模式(即单一的瞬时频率),这些分解后的分量称为固有模态函数

满足两点要求

1)极值点和过零点的数目应该相等,或者最多差一个

2)局部最大和局部最小的上下包络线均值为零

这两点要求是必要非充分条件,也就是IMF一定满足上面两个条件,但是满足上面两个条件的不一定是IMF。

(三)EMD的步骤

1)对信号x(t),找出局部最大值和局部最小值点

2)再利用三次样条函数分别对这些局部最大值和局部最小值点进行插值得到x(t)的上包络线u(t)和下包络线l(t),获取上下包络线的均值

m(t) = [u(t)+l(t)]/2,则m(t)为上下包络线的均值。

3)令h(t) = x(t)-m(t);检查h(t)是否满足IMF的条件,如果不满足,则继续上述迭代过程至到某h(t)符合IMF的条件

以某心电数据为例,展示EMD的效果图:

(四)EMD存在的问题

模式混合/模态混叠

1)一个单独的IMF信号中含有不同的时间尺度;

2)相同时间尺度出现在不同的IMF中。

matlab论坛上面有一幅图可以清楚地展现这两个问题

如上图所示,IMF2中存在两种模式,IMF2红色圈和MIF3蓝色圈中类似于一种模式。

我们在看EMD算法时,经常能够看到说单一模态、单一模式或者单一时间尺度,那么,单一模态,或者单一时间尺度的标准是什么?

1)信号中局部两个连续过零点之间的时间宽度一致

2)信号中两个连续峰值之间的时间宽度一致

3)曲率上两个连续峰值之间的时间宽度一致

为了解决EMD模式混叠的问题,学者们提出将正态分布的白噪声加到原始信号,于是EEMD分解算法产生了。

二、模态分解算法===============EEMD算法介绍

上面介绍了EMD算法,并分析了EMD算法的存在的问题,即分解后的IMF可能存在模式混叠。一旦IMF存在模式混叠,也就是IMF不是单一频率的分量,也就无法准确获取瞬时频率。为了解决这个问题,集合经验模态分解算法(EEMD)被提出。

(1)EEMD算法步骤如下:

1.将正态分布的白噪声加到原始信号;

2.将加入白噪声的信号作为一个整体,然后进行EMD分解,得到各IMF分量;

3.重复步骤1和2,每次加入新的正态分布白噪声序列;

4.将每次得到的IMF做集成平均处理后作为最终结果。

语言是苍白是,我们用图表示,如下:

集合经验模态分解算法流程

我们同样采样Matlab论坛里面的一张图

从上图可以看出,EMD存在的频谱混叠现象,而EEMD已经不存在。

(2)EEMD存在的问题

EEMD虽然解决了EMD出现的模式混叠问题,但是由于加入白噪声,因此也带来其他问题

1.集总平均后的IMF可能不再符合IMF的要求(偏差一般较小,不影响瞬时频率的计算)

2.集总平均次数一般在几百次以上,非常耗时;

3.白噪声在集总平均之后基本抵消,但存在残留,重建之后噪声不可忽略;

为了解决重建之后白噪声无法完全抵消,加和之后噪声过大的问题,CEEMD紧接着被提出。

三、模态分解算法===============CEEMD算法介绍

文章模态分解算法「一」EMD算法介绍介绍了EMD算法的流程,并分析了EMD算法存在的问题,即模式混叠,基于EMD存在的问题,文章模态分解算法「二」EEMD算法介绍介绍了在简单的EMD分解的基础上添加白噪声,从而使得分解的IMF是单一模式,优化了模式混叠,但是引入新的问题,即白噪声在集总平均之后不能完全抵消,而存在残留,导致重建之后的噪声不可忽略。因此互补集合经验模态CEEMD被提出。

CEEMD和EEMD流程相似,不同的是EEMD每次仅添加白噪声,CEEMD算法是将原信号加上白噪声和原信号减去白噪声两个信号同时经过EMD,求均值,用于抵消信号中加入的噪声。具体的算法流程如下所示:

互补集合经验模态分解

s(t)为原始信号,加入不同的白噪声,共加入n次,也就是集总平均次数为n。分别对加噪声和减噪声的信号做EMD分解,将分解之后的两组IMF求均值,再将n组IMF求平均值,即可获得最终的IMF组分量。

CEEMD是对EEMD的优化,集总平均次数会减少,从EEMD的百量级减小到CEEMD的几十的量级,重建后的信号噪声明显减少。通常情况,集总平均次数越多,重构后的信号噪声越小。

说明&致谢:

本文仅供学习参考之用,参考及致谢:XieHS

  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经验模态分解(Empirical Mode Decomposition,简称EMD)是一种非线性时频分析方法,用于将复杂的信号分解成多个本质模态函数(Intrinsic Mode Function,简称IMF)。IMF是指在时域上具有自适应调频特性,且频宽随着时间的推移逐渐变窄的函数。EMD方法通过迭代的方式,将信号中具有不同尺度的振动分离出来。 集合经验模态分解(Ensemble Empirical Mode Decomposition,简称EEMD)是对EMD方法的改进,解决了EMD方法在处理具有较高噪声水平的信号时的不稳定性问题。EEMD将信号分解成多个IMF的集合,在每次迭代时,对原信号加入噪声并进行分解,然后对多次分解的IMF进行平均,以减小噪声的影响。这样可以提高信号的分解稳定性,并且能够更好地处理具有较高噪声水平的信号。EEMD的具体步骤包括:1. 对原始信号加入随机噪声;2. 使用EMD方法对带噪声的信号进行分解;3. 重复步骤1和2多次,得到多组IMF;4. 对每组IMF进行平均,得到最终分解结果。 为了方便使用EEMD方法进行信号分解,可以使用EEMD工具包。EEMD工具包是针对EEMD方法进行实现的软件工具集合。它提供了一系列函数和算法,可以方便地进行信号的EEMD分解,并且可以进行参数的调节。使用EEMD工具包,可以通过简单的调用函数的方式,将信号分解成多个IMF,以便进行进一步的时频分析和信号处理。EEMD工具包通常提供了完整的文档和示例代码,使用户可以快速上手和理解EEMD方法的原理和应用。 总而言之,EEMD是一种对EMD进行改进的信号分解方法,可以更稳定地处理具有噪声的信号。EEMD工具包则是提供了方便易用的软件工具,用于实现EEMD方法,进行信号的分解和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值