【MATLAB去噪算法】基于CEEMDAN联合小波阈值去噪算法(第四期)
CEEMDAN联合小波阈值去噪算法相关文献
一、EMD 与 EEMD 的局限性
(1)EMD (经验模态分解)
旨在自适应地将非线性、非平稳信号分解成一系列 本征模态函数 (IMFs),这些 IMFs 从高频到低频排列。
-
核心问题:模态混合 (Mode Mixing) 同一个 IMF 中包含尺度差异巨大的振荡,或者相似尺度的振荡分散在不同的 IMF 中。这破坏了IMF的物理意义,使后续分析(如希尔伯特谱分析)困难。
(2)EEMD (集成经验模态分解)
为了解决模态混合,EEMD 对原始信号添加 多次 不同的高斯白噪声实现,对每个“信号+噪声”组合独立进行完整的 EMD 分解,然后将所有实现对应的每个 IMF 取平均,得到最终的 IMF_k
。
-
改进: 噪声的加入填充了时频空间,利用了 EMD 的类二进滤波器组特性,有效缓解了模态混合。
-
新问题:
(1)残留噪声: 重构信号 不等于原始信号,存在残留噪声。
(2)模态数量不一致: 不同的噪声实现可能导致分解出的 IMF 数量不同,需要对齐才能平均,这会降低平均后低阶 IMF 的能量和精度,并可能导致非物理意义的 IMF。
(3)计算量大: 需要对 每个 噪声实现进行 完整的 EMD 分解,计算成本高。
二、 CEEMDAN的巧妙设计
CEEMDAN发表在 2011 IEEE 声学、语音和信号处理国际会议 (ICASSP),是一种基于集成经验模态分解的算法。EEMD 的关键思想依赖于将 EMD 获得的模式平均,这些模式应用于添加到原始信号中的高斯白噪声的几个实现。由此产生的分解解决了 EMD 模式混合问题,但它引入了新的问题。在这里提出的方法中,在分解的每个阶段添加一个特定的噪声,并计算一个唯一的残基以获得每种模式。生成的分解是完整的,但误差在数值上可以忽略不计。
CEEMDAN的核心是 “分阶段拆解+智能加噪声”,具体分三步:
(1)分阶段拆解,步步为营
-
传统EEMD:每次添加噪声后,都要把信号彻底拆完(所有IMF),再对所有结果取平均。
-
CEEMDAN:第一阶段:只拆出第一个IMF(高频部分),剩下的残差进入下一轮。第二阶段:对残差继续拆第二个IMF(中频部分),依此类推。
-
好处:像剥洋葱,一层层剥离,避免重复计算。
(2)自适应噪声:噪声也要“对号入座”
-
传统EEMD:每次加同样的白噪声(全频段干扰)。
-
CEEMDAN:拆第k个IMF时,只加和当前尺度匹配的噪声(用噪声的第
k-1
个IMF成分)。举例:拆低频IMF时,就加低频噪声,避免高频干扰。 -
效果:噪声更精准,分离更干净。
(3)单一残差链:确保“拼图”完整
-
传统EEMD:多次独立分解,残差无法对齐,重构有误差。
-
CEEMDAN:全程维护一条残差链,每步只更新当前残差。
-
结果:信号能完美重构(
原信号 = 所有IMF + 最终残差
),毫无遗漏。
(4)CEEMDAN优点
通过 “分层拆解+智能噪声+残差链” 三招,一举解决EEMD的三大痛点:
-
算得慢 → 分阶段拆解,减少冗余计算。
-
不精确 → 自适应噪声靶向干扰,模态更纯净。
-
不完整 → 单一残差链保证信号零误差重构。
三、CEEMDAN联合小波阈值去噪流程
尽管CEEMDAN进一步改善了模态混叠问题,但在某些IMF(本征模态函数)分量中仍可能包含噪声主导的高频成分,从而影响信号重构的质量。与此同时,小波阈值去噪(WTD)在噪声抑制方面表现优异,但单独使用时对非平稳信号的适应性较差,容易导致信号失真。针对这些问题,本文提出了一种基于CEEMDAN联合小波阈值去噪的创新算法。该算法充分利用CEEMDAN的自适应噪声分解能力,结合小波阈值去噪的精细噪声抑制特性,实现对非平稳信号的高效去噪。
算法流程
第一部分:首先,利用CEEMDAN对原始信号进行分解。CEEMDAN通过自适应地添加白噪声并进行多次集合平均,得到一组IMF分量和残差。相较于CEEMD,CEEMDAN的噪声添加方式更加高效,能够在较少的集合次数下实现更稳定的分解结果。由于CEEMDAN的自适应特性,高频噪声在IMF中更为集中,便于后续处理。
IMF分类与噪声识别第二部分:算法通过计算各IMF分量的样本熵、相关系数或方差贡献率等统计特征,对IMF进行分类,识别出噪声主导的分量。通常,高频IMF(如前几阶分量)主要包含噪声,可直接剔除,而低频IMF则主要包含有用信号,进一步用小波阈值去噪算法处理。
小波阈值去噪处理
第三部分:低频IMF可能依旧保留部分噪声,算法采用小波阈值去噪进行精细处理。在这一步骤中,选择合适的小波基(如db4、sym8等)和分解层数至关重要。为了提高去噪效果并避免硬阈值导致的信号畸变或软阈值的过度平滑,算法采用改进的半软阈值函数进行处理。
第四部分:信号重构,处理完成后,将去噪后的IMF分量与残差相加,最终得到高质量的去噪信号。
代码流程如下:
四、代码效果图
✅作者简介:信号处理方向在校博士研究生,目前专研于MATLAB算法及科学绘图等,熟知各种信号分解算法、神经网络时序、回归和分类预测算法、数据拟合算法以及滤波算法。提供一个可以相互学习相互进步的平台
🚩技术信仰:知行合一,让每一行代码都成为解决问题的利器
🔍后台私信备注个人需求(比如TOC-BP)定制以下TOC算法优化模型(看到秒回):
1.回归/时序/分类预测类:BP、RF、XGBoost、RBF、LSSVM、SVM、ELM、DELM、ESN、RELM等等均可,优化算法优化BP为例,可达到以下效果:
(1)优化BP神经网络的数据时序预测
(2)优化BP神经网络的数据回归(多输入多输出)预测
(3)优化BP神经网络的数据回归预测
2.分解类:EEMD、VMD、REMD、CEEMDAN、ICEEMDAN、SVMD等分解模型均可,优化算法优化VMD/ICEEMDAN为例,可达到以下效果:
(1)基于改进天鹰优化算法(IAO)优化的VMD参数
(2)基于改进天鹰优化算法(IAO)优化ICEEMDAN参数
3.去噪算法算法类:VMD/CEEMDAN/ICEEMDAN/SVMD+小波阈值/SVD去噪,可在去噪算法前加智能优化算法优化参数以VMD-WT/SVD为例,可达到以下效果:
(1)基于VMD-SpEn(样本熵)联合小波阈值去噪
(2)基于SVMD-SVD的信号去噪算法
(3)基于ZOA优化VMD-IAWT岩石声发射信号降噪算法