完整集合经验模态分解(CEEMD)详解

完整集合经验模态分解(CEEMD)详解


目录

  1. 前言
  2. 从EMD到EEMD再到CEEMD
    1. EMD(经验模态分解)回顾
    2. EEMD(集合经验模态分解)的改进与不足
  3. CEEMD(完整集合经验模态分解)的原理
    1. 噪声对(noise pairs)与对称性
    2. CEEMD的核心数学表达式
    3. 与EEMD的主要区别
  4. CEEMD算法流程与公式
  5. CEEMD分解过程中的详细推导
    1. 正负噪声加法及EMD展开
    2. IMF的最终计算公式
    3. 残差的平均处理
  6. CEEMD的优点与局限性
  7. 数值示例:CEEMD在信号分析中的应用
  8. 总结

前言

CEEMD(Complete Ensemble Empirical Mode Decomposition)是在EMD/EEMD的基础上进一步提升分解精度与稳定性的一种自适应信号分解算法。通过向原始信号添加正负成对的噪声并分别进行EMD分解,再对所有分解结果进行“对内平均”与“整体平均”,CEEMD可以在更大程度上抵消随机噪声的干扰,从而显著降低模态混叠(mode mixing)与重构误差。它在故障诊断、地震勘探、生物医学信号处理等领域有广泛应用价值。


从EMD到EEMD再到CEEMD

EMD(经验模态分解)回顾

EMD是Huang等人提出的,用于将非线性、非平稳信号自适应地分解成若干个本征模态函数(IMF)以及一个剩余(Residue)

  • 对信号 x ( t ) x(t) x(t)
    x ( t ) = ∑ k = 1 K I M F k ( t ) + r ( t ) . x(t) = \sum_{k=1}^{K} \mathrm{IMF}_k(t) + r(t). x(t)=k=1KIMFk(t)+r(t).
  • 获得每个IMF的关键在于**Sifting(筛分)**过程。对于当前信号(或剩余) x ( t ) x(t) x(t)
    1. 找出所有极大值和极小值。
    2. 分别用插值得到上包络 u ( t ) u(t) u(t) 和下包络 l ( t ) l(t) l(t),计算平均线
      m ( t ) = u ( t ) + l ( t ) 2 . m(t) = \frac{u(t) + l(t)}{2}. m(t)=2u(t)+l(t).
    3. 去掉该平均线:
      h 1 ( t ) = x ( t ) − m ( t ) . h_1(t) = x(t) - m(t). h1(t)=x(t)m(t).
      检查 h 1 ( t ) h_1(t) h1(t) 是否满足IMF条件(如过零点与极值数差不超过1、上包络与下包络局部对称等),若不满足则继续插值、再减平均线,经过若干迭代得到首个IMF:
      I M F 1 ( t ) . \mathrm{IMF}_1(t). IMF1(t).
    4. I M F 1 ( t ) \mathrm{IMF}_1(t) IMF1(t) x ( t ) x(t) x(t) 中减去得到剩余 r 1 ( t ) r_1(t) r1(t),然后对 r 1 ( t ) r_1(t) r1(t) 重复同样操作,直到剩余无明显振荡为止。

EMD虽然在理论上很好地保留了信号的瞬时特性,但易出现模态混叠(不同频率成分混在同一IMF里)与插值敏感等问题。

EEMD(集合经验模态分解)的改进与不足

EEMD通过在信号中添加白噪声并多次分解:

  1. 每次添加随机噪声 ϵ i ( t ) \epsilon_i(t) ϵi(t) 得到 x i ( t ) = x ( t ) + α   ϵ i ( t ) x_i(t) = x(t) + \alpha \,\epsilon_i(t) xi(t)=x(t)+αϵi(t)
  2. 对每个 x i ( t ) x_i(t) xi(t) 做EMD,获取 IMF。
  3. 对相同阶IMF做平均,得到最终分解。

EEMD的优点:

  • 通过对噪声的统计平均,可以部分抵消噪声引起的分解偏差,抑制模态混叠。

然而,EEMD仍可能存在:

  1. 残余噪声偏差:噪声幅度和试验次数选择不当,会在IMF中留下轻微偏差。
  2. 重构误差:对信号进行重构时,有时无法完全恢复到原信号,存在微小差异。

为进一步减少这种偏差,CEEMD提出了“噪声对”的概念。


CEEMD(完整集合经验模态分解)的原理

噪声对(noise pairs)与对称性

在CEEMD中,每一次试验并不是只添加单边噪声,而是对同一个噪声信号 ϵ i ( t ) \epsilon_i(t) ϵi(t) 同时添加正、负幅度,得到一对带噪信号:
x i + ( t ) = x ( t ) + α   ϵ i ( t ) , x i − ( t ) = x ( t ) − α   ϵ i ( t ) . x_i^+(t) = x(t) + \alpha\,\epsilon_i(t), \quad x_i^-(t) = x(t) - \alpha\,\epsilon_i(t). xi+(t)=x(t)+αϵi(t),xi(t)=x(t)αϵi(t).
正负噪声对的思想是:如果噪声是独立同分布且均值为0,那么在对称的加减操作下,相当于让噪声对IMF的贡献在统计上“更好地抵消”,从而能在重构时获得更精确的结果。

CEEMD的核心数学表达式

假设我们进行 N N N 组噪声对试验,那么每一对(第 i i i 对)有:
x i + ( t ) = x ( t ) + α   ϵ i ( t ) , x i − ( t ) = x ( t ) − α   ϵ i ( t ) , x_i^+(t) = x(t) + \alpha \,\epsilon_i(t), \quad x_i^-(t) = x(t) - \alpha \,\epsilon_i(t), xi+(t)=x(t)+αϵi(t),xi(t)=x(t)αϵi(t),
其中 α \alpha α 为噪声强度因子, ϵ i ( t ) \epsilon_i(t) ϵi(t) 为白噪声。对 x i + ( t ) x_i^+(t) xi+(t) x i − ( t ) x_i^-(t) xi(t) 分别进行EMD分解可得若干IMF序列:
x i + ( t ) = ∑ k = 1 K i + I M F k ( i , + ) ( t ) + r i + ( t ) , x i − ( t ) = ∑ k = 1 K i − I M F k ( i , − ) ( t ) + r i − ( t ) . x_i^+(t) = \sum_{k=1}^{K_i^+} \mathrm{IMF}_k^{(i,+)}(t) + r_i^+(t), \quad x_i^-(t) = \sum_{k=1}^{K_i^-} \mathrm{IMF}_k^{(i,-)}(t) + r_i^-(t). xi+(t)=k=1Ki+IMFk(i,+)(t)+ri+(t),xi(t)=k=1KiIMFk(i,)(t)+ri(t).
最后,对相同阶次的IMF做“对内平均”与“整体平均”:
I M F k ( t ) = 1 2 N ∑ i = 1 N [ I M F k ( i , + ) ( t ) + I M F k ( i , − ) ( t ) ] . \mathrm{IMF}_k(t) = \frac{1}{2N}\sum_{i=1}^{N} \Big[\mathrm{IMF}_k^{(i,+)}(t) + \mathrm{IMF}_k^{(i,-)}(t)\Big]. IMFk(t)=2N1i=1N[IMFk(i,+)(t)+IMFk(i,)(t)].
可见,正负噪声会在最终求和时呈现相反符号,对信号主体的贡献却相互抵消噪声偏差,从而达到比EEMD更好的分解稳健性和重构精度。

与EEMD的主要区别

  1. 噪声加法:EEMD每次加的是同向噪声;CEEMD则加的是对称噪声(+噪声和-噪声)。
  2. 误差抵消:CEEMD在理论上能更彻底地抵消噪声干扰,重构信号时的偏差更小,得到更准确的IMF。
  3. 计算量更大:CEEMD每组噪声要进行2次EMD(正噪声与负噪声),若原本EEMD就需要 N N N 次试验,则CEEMD需要做 2 N 2N 2N 次EMD,计算成本更高。

CEEMD算法流程与公式

总结上述思想,CEEMD的具体操作通常如下:

  1. 参数设置

    • 设定试验次数 N N N,以及噪声强度 α \alpha α
    • 常见做法: α \alpha α 为信号标准差的一定比例(如0.1~0.4倍)。
  2. 构造噪声对

    • 生成 N N N 组彼此独立的白噪声序列 ϵ 1 ( t ) , ϵ 2 ( t ) , … , ϵ N ( t ) \epsilon_1(t), \epsilon_2(t), \dots, \epsilon_N(t) ϵ1(t),ϵ2(t),,ϵN(t)
    • 对第 i i i 组,构造:
      x i + ( t ) = x ( t ) + α   ϵ i ( t ) , x i − ( t ) = x ( t ) − α   ϵ i ( t ) . x_i^+(t) = x(t) + \alpha\,\epsilon_i(t), \quad x_i^-(t) = x(t) - \alpha\,\epsilon_i(t). xi+(t)=x(t)+αϵi(t),xi(t)=x(t)αϵi(t).
  3. EMD分解

    • 分别对 x i + ( t ) x_i^+(t) xi+(t) x i − ( t ) x_i^-(t) xi(t) 做EMD:
      x i + ( t ) = ∑ k = 1 K i + I M F k ( i , + ) ( t ) + r i + ( t ) , x_i^+(t) = \sum_{k=1}^{K_i^+} \mathrm{IMF}_k^{(i,+)}(t) + r_i^+(t), xi+(t)=k=1Ki+IMFk(i,+)(t)+ri+(t),
      x i − ( t ) = ∑ k = 1 K i − I M F k ( i , − ) ( t ) + r i − ( t ) . x_i^-(t) = \sum_{k=1}^{K_i^-} \mathrm{IMF}_k^{(i,-)}(t) + r_i^-(t). xi(t)=k=1KiIMFk(i,)(t)+ri(t).
    • K i + K_i^+ Ki+ K i − K_i^- Ki 分解得到的IMF数可能不一致,需做对齐(比如对较短的IMF序列补零,或对多余的阶次舍弃)。
  4. 对IMF做平均

    • 对同一对噪声(第 i i i 对)先做内部平均:
      I M F k ( i ) ( t ) = I M F k ( i , + ) ( t ) + I M F k ( i , − ) ( t ) 2 . \mathrm{IMF}_k^{(i)}(t) = \frac{ \mathrm{IMF}_k^{(i,+)}(t) + \mathrm{IMF}_k^{(i,-)}(t)}{2}. IMFk(i)(t)=2IMFk(i,+)(t)+IMFk(i,)(t).
    • 再对所有 i = 1 , 2 , … , N i=1,2,\dots,N i=1,2,,N 做整体平均:
      I M F k ( t ) = 1 N ∑ i = 1 N I M F k ( i ) ( t ) = 1 2 N ∑ i = 1 N [ I M F k ( i , + ) ( t ) + I M F k ( i , − ) ( t ) ] . \mathrm{IMF}_k(t) = \frac{1}{N} \sum_{i=1}^{N} \mathrm{IMF}_k^{(i)}(t) = \frac{1}{2N}\sum_{i=1}^{N}\Big[\mathrm{IMF}_k^{(i,+)}(t) + \mathrm{IMF}_k^{(i,-)}(t)\Big]. IMFk(t)=N1i=1NIMFk(i)(t)=2N1i=1N[IMFk(i,+)(t)+IMFk(i,)(t)].
  5. 残差处理

    • 类似对IMF的处理方式,残差 r i + ( t ) , r i − ( t ) r_i^+(t), r_i^-(t) ri+(t),ri(t) 也可先做对内平均,再对所有对求平均,得到最终残差 r ^ ( t ) \hat{r}(t) r^(t)
  6. 重构信号

    • 最终,CEEMD分解形式可写为:
      x ( t ) ≈ ∑ k = 1 K I M F k ( t ) + r ^ ( t ) . x(t) \approx \sum_{k=1}^{K} \mathrm{IMF}_k(t) + \hat{r}(t). x(t)k=1KIMFk(t)+r^(t).
    • 在理论上,当 N N N 足够大、噪声幅度合适、EMD分解精确时,这一重构有较高的准确度。

CEEMD分解过程中的详细推导

正负噪声加法及EMD展开

设原信号 x ( t ) x(t) x(t),我们添加幅度为 α \alpha α 的噪声对 ϵ i ( t ) \epsilon_i(t) ϵi(t),则
x i + ( t ) = x ( t ) + α ϵ i ( t ) , x i − ( t ) = x ( t ) − α ϵ i ( t ) . x_i^+(t) = x(t) + \alpha \epsilon_i(t), \quad x_i^-(t) = x(t) - \alpha \epsilon_i(t). xi+(t)=x(t)+αϵi(t),xi(t)=x(t)αϵi(t).
对各自进行EMD展开:
x i + ( t ) = ∑ k = 1 K i + I M F k ( i , + ) ( t ) + r i + ( t ) , x_i^+(t) = \sum_{k=1}^{K_i^+} \mathrm{IMF}_k^{(i,+)}(t) + r_i^+(t), xi+(t)=k=1Ki+IMFk(i,+)(t)+ri+(t),
x i − ( t ) = ∑ k = 1 K i − I M F k ( i , − ) ( t ) + r i − ( t ) . x_i^-(t) = \sum_{k=1}^{K_i^-} \mathrm{IMF}_k^{(i,-)}(t) + r_i^-(t). xi(t)=k=1KiIMFk(i,)(t)+ri(t).
因为噪声对往往引起信号极值分布的扰动, K i + K_i^+ Ki+ K i − K_i^- Ki 可能不同,但为了后续平均,我们会在实现上做阶数统一。

IMF的最终计算公式

对同一阶 k k k 而言(经过对齐操作),将正噪声EMD负噪声EMD的对应IMF做平均:
I M F k ( i ) ( t ) = 1 2 [ I M F k ( i , + ) ( t ) + I M F k ( i , − ) ( t ) ] . \mathrm{IMF}_k^{(i)}(t) = \frac{1}{2}\Big[\mathrm{IMF}_k^{(i,+)}(t) + \mathrm{IMF}_k^{(i,-)}(t)\Big]. IMFk(i)(t)=21[IMFk(i,+)(t)+IMFk(i,)(t)].
然后,对所有 N N N 对做整体平均,即
I M F k ( t ) = 1 N ∑ i = 1 N I M F k ( i ) ( t ) = 1 2 N ∑ i = 1 N [ I M F k ( i , + ) ( t ) + I M F k ( i , − ) ( t ) ] . \mathrm{IMF}_k(t) = \frac{1}{N}\sum_{i=1}^{N} \mathrm{IMF}_k^{(i)}(t) = \frac{1}{2N}\sum_{i=1}^{N} \Big[\mathrm{IMF}_k^{(i,+)}(t) + \mathrm{IMF}_k^{(i,-)}(t)\Big]. IMFk(t)=N1i=1NIMFk(i)(t)=2N1i=1N[IMFk(i,+)(t)+IMFk(i,)(t)].
这就是CEEMD的核心IMF平均公式。由于 ϵ i ( t ) \epsilon_i(t) ϵi(t) 为白噪声且在 + / − +/- +/ 的形式出现,其对分解的偏移贡献会在统计意义上大幅抵消。

残差的平均处理

对残差(也称剩余)同理,若在第 i i i 对试验的EMD结果中有
r i + ( t ) = x i + ( t ) − ∑ k = 1 K i + I M F k ( i , + ) ( t ) , r i − ( t ) = x i − ( t ) − ∑ k = 1 K i − I M F k ( i , − ) ( t ) , r_i^+(t) = x_i^+(t) - \sum_{k=1}^{K_i^+}\mathrm{IMF}_k^{(i,+)}(t), \quad r_i^-(t) = x_i^-(t) - \sum_{k=1}^{K_i^-}\mathrm{IMF}_k^{(i,-)}(t), ri+(t)=xi+(t)k=1Ki+IMFk(i,+)(t),ri(t)=xi(t)k=1KiIMFk(i,)(t),
则先做对内平均:
r i ( t ) = r i + ( t ) + r i − ( t ) 2 , r_i(t) = \frac{r_i^+(t) + r_i^-(t)}{2}, ri(t)=2ri+(t)+ri(t),
再对 i = 1 , … , N i=1,\dots,N i=1,,N 做整体平均:
r ^ ( t ) = 1 N ∑ i = 1 N r i ( t ) . \hat{r}(t) = \frac{1}{N}\sum_{i=1}^{N} r_i(t). r^(t)=N1i=1Nri(t).
从而得到CEEMD的最终残差 r ^ ( t ) \hat{r}(t) r^(t)。如果在数值上剩余的能量已很小,也可以忽略不计。


CEEMD的优点与局限性

优点

  1. 更好的重构精度:与EEMD相比,CEEMD通过加噪声对的方式,能更彻底地抵消噪声对IMF的偏差,减少重构误差。
  2. 模态混叠更少:在对称噪声干预下,极值点分布会更加分散均匀,分解到的IMF分量往往频率特征更清晰,模态之间的能量泄漏更小。
  3. 稳定性好:多次实验显示,CEEMD在不同试验下得到的结果波动较小,可重复性好。

局限性

  1. 计算量更大:CEEMD相当于对每组噪声要做2次EMD,整体耗时是EEMD的2倍(甚至更高),在大规模数据上需合理安排。
  2. 噪声幅度与试验次数选择:若噪声幅度 α \alpha α 过小,则扰动不足以打破信号的原始极值结构;过大则引入过多随机波动; N N N 太小平均不充分,太大则计算量飙升。
  3. 端点插值和IMF阶对齐问题:本质上仍基于EMD,需要在插值和阶对齐策略上多加注意。

数值示例:CEEMD在信号分析中的应用

下面给出一个合成信号示例:
x ( t ) = sin ⁡ ( 2 π ⋅ 5 t ) + 0.5 sin ⁡ ( 2 π ⋅ 20 t ) + 0.2   r a n d n ( t ) , x(t) = \sin(2\pi \cdot 5t) + 0.5\sin(2\pi \cdot 20t) + 0.2\,\mathrm{randn}(t), x(t)=sin(2π5t)+0.5sin(2π20t)+0.2randn(t),
其中 r a n d n ( t ) \mathrm{randn}(t) randn(t) 表示白噪声。

  1. 设置CEEMD参数
    • 选噪声对数 N = 100 N=100 N=100,噪声强度 α = 0.3 \alpha=0.3 α=0.3(基于信号标准差的经验设置)。
  2. 构造噪声对并做EMD
    • 对每个 i ∈ { 1 , … , 100 } i\in \{1,\dots,100\} i{1,,100},生成 ϵ i ( t ) \epsilon_i(t) ϵi(t),构造
      x i + ( t ) = x ( t ) + 0.3   ϵ i ( t ) , x i − ( t ) = x ( t ) − 0.3   ϵ i ( t ) . x_i^+(t) = x(t) + 0.3\,\epsilon_i(t), \quad x_i^-(t) = x(t) - 0.3\,\epsilon_i(t). xi+(t)=x(t)+0.3ϵi(t),xi(t)=x(t)0.3ϵi(t).
    • 分别对 x i + ( t ) x_i^+(t) xi+(t) x i − ( t ) x_i^-(t) xi(t) 做EMD分解。
  3. 对IMF进行平均
    • 得到各阶IMF,先对同一个 i i i 的正负分解结果做加和/2,然后再对所有 i i i 求平均,得到CEEMD-IMFs:
      I M F k ( t ) = 1 2 N ∑ i = 1 N [ I M F k ( i , + ) ( t ) + I M F k ( i , − ) ( t ) ] . \mathrm{IMF}_k(t) = \frac{1}{2N} \sum_{i=1}^N \Big[\mathrm{IMF}_k^{(i,+)}(t) + \mathrm{IMF}_k^{(i,-)}(t)\Big]. IMFk(t)=2N1i=1N[IMFk(i,+)(t)+IMFk(i,)(t)].
  4. 分析结果
    • 常见情况下,第一层IMF会主要包含20Hz的成分(加上一点噪声),第二层IMF会对应5Hz的分量,后续IMF或残差可能捕捉到更低频或趋势信息。
    • 与EMD/EEMD相比,CEEMD可见模态间的重叠更少,重构后的误差更小。

总结

CEEMD(Complete Ensemble Empirical Mode Decomposition)是在EEMD的思路基础上,采用正负噪声对以进一步强化噪声抵消效果,提高分解的稳定性重构精度。其核心公式可概括为:

  1. 噪声对添加:对第 i i i 组白噪声 ϵ i ( t ) \epsilon_i(t) ϵi(t),构造
    x i + ( t ) = x ( t ) + α ϵ i ( t ) , x i − ( t ) = x ( t ) − α ϵ i ( t ) . x_i^+(t) = x(t) + \alpha \epsilon_i(t), \quad x_i^-(t) = x(t) - \alpha \epsilon_i(t). xi+(t)=x(t)+αϵi(t),xi(t)=x(t)αϵi(t).
  2. EMD分解:对 x i + ( t ) x_i^+(t) xi+(t) x i − ( t ) x_i^-(t) xi(t) 分别进行EMD,得到 I M F k ( i , + ) ( t ) \mathrm{IMF}_k^{(i,+)}(t) IMFk(i,+)(t) I M F k ( i , − ) ( t ) \mathrm{IMF}_k^{(i,-)}(t) IMFk(i,)(t)
  3. IMF平均
    I M F k ( t ) = 1 2 N ∑ i = 1 N [ I M F k ( i , + ) ( t ) + I M F k ( i , − ) ( t ) ] . \mathrm{IMF}_k(t) = \frac{1}{2N} \sum_{i=1}^{N} \Bigl[\mathrm{IMF}_k^{(i,+)}(t) + \mathrm{IMF}_k^{(i,-)}(t)\Bigr]. IMFk(t)=2N1i=1N[IMFk(i,+)(t)+IMFk(i,)(t)].

相较EEMD,CEEMD在保证对信号非平稳特征进行自适应分解的同时,能获得更低的重构误差与更稳定的模态分量。然而,其计算量增加约一倍,参数(噪声幅度、试验次数等)依然需要根据经验或数据特点进行选择。

你可能感兴趣的:(人工智能,算法,机器学习,信号处理,信息与通信)