【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岩石声发射信号降噪算法

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/83244.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    大话软工笔记—架构模型

    1. 架构模型1—拓扑图 (1)拓扑图概念 拓扑图,将多个软件系统用网络图连接起来的表达方式。 (2)拓扑图分类 总线型结构 比较普遍采用的方式,将所有的系统接到一条总线上。 星状结构 各个系统通过点到…

    24-Oracle 23 ai ​Lock-Free Reservations​(无锁列值保留)

    数据库领域为了解决ACID的平衡,尝试了各种锁、各种模式, 引擎技术特性、厂家实现方式各放异彩,被各种锁折磨的小伙伴,是不是感同身受。 一、数据库锁 1. 锁的类型与特点 ​全局锁​:锁定整个数据库实例,备…

    OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

    OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding

    从零写一个ALSA声卡驱动学习(1)

    前言: 本文档描述了如何编写 ALSA(高级 Linux 音频架构)驱动程序。文档主要聚焦于 PCI 声卡的实现。对于其他类型的设备,可能会使用不同的 API。不过,至少 ALSA 的内核 API 是一致的,因此本文档在编写这些驱…

    链结构与工作量证明7️⃣:用 Go 实现比特币的核心机制

    链结构与工作量证明:用 Go 实现比特币的核心机制 如果你用 Go 写过区块、算过哈希,也大致理解了非对称加密、数据序列化这些“硬核知识”,那么恭喜你,现在我们终于可以把这些拼成一条完整的“区块链”。 不过别急,这一节我们重点搞懂两件事: 区块之间是怎么连接成“链”…

    深入理解 React 样式方案

    React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…

    YOLO电力物目标检测训练

    最近需要进行电力物检测相关的业务,因此制作了一个电力物数据集,使用YOLO目标检测方法进行实验,记录实验过程如下: 数据集标注 首先需要对电力物相关设备进行标注,这里我们选用labelme进行标注,使用无人机…

    从阿里云域名解析异常事件看下域名解析过程

    近日阿里云核心域名aliyuncs.com解析异常,涉及众多依赖阿里云服务的网站和应用,故障从发现到修复耗时5个多小时。本文简要分析下整个事件的过程,并分析域名解析的过程,了解根域名服务器在其中的作用,以了解。 1、aliyu…

    应用分享 | 精准生成和时序控制!AWG在确定性三量子比特纠缠光子源中的应用

    在量子技术飞速发展的今天,实现高效稳定的量子态操控是推动量子计算、量子通信等领域迈向实用化的关键。任意波形发生器(AWG)作为精准信号控制的核心设备,在量子实验中发挥着不可或缺的作用。丹麦哥本哈根大学的研究团队基于单个量…

    基于规则的自然语言处理

    基于规则的自然语言处理 规则方法形态还原(针对英语、德语、法语等)中文分词切分歧义分词方法歧义字段消歧方法分词带来的问题 词性标注命名实体分类机器翻译规则方法的问题 规则方法 以规则形式表示语言知识,强调人对语言知识的理性整理&am…

    Vue Fragment vs React Fragment

    文章目录 前言🧩 一、概念对比:Vue Fragment vs React Fragment📦 二、使用示例对比✅ Vue 3 中使用 Fragment✅ React 中使用 Fragment 🔍 三、差异解析1. **使用方式**2. **传递属性(如 key)**3. **插槽系…

    3D图像渲染和threejs交互坐标系入门知识整理

    1. Games101 b站上面就有,看到第9节课基本对于图形渲染的原理和渲染过程有所了解。然后就可以使用openGL和GLSL。 点输入->投影到二维(生成三角形面)->光栅化为像素->z-buffer深度缓存判断层级->着色shading 2. openGL和GLSL 参…

    跨平台架构区别

    文章目录 重编译时轻运行时(uniapp)轻编译时重运行时(Taro) 重编译时轻运行时(uniapp) 对 vue 语法直接进行编译转换成对应平台代码,再通过添加运行时代码去补充能力,比如 nextTick…

    windows系统MySQL安装文档

    概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…

    macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

    文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…

    HarmonyOS 应用开发学习记录 - 从Windows开发者视角看鸿蒙开发

    起始 2024年6月21日召开的华为开发者大会2024上宣布Harmony OS NEXT(即鸿蒙星河版)面向开发者启动Beta版,这也被人们称为“纯血鸿蒙”,它基于鸿蒙内核,不再兼容安卓开发的APP应用。 时至今日近一年了,我也有…

    MySQL 事务管理与锁优化:确保数据一致性和并发性

    在多用户并发访问的数据库系统中,如何确保数据的**一致性(Consistency)和并发性(Concurrency)**是一个核心挑战。**事务(Transaction)和锁(Lock)**是 MySQL 应对这一挑战的两大利器。事务保证了操作的原子性、一致性、隔离性和持久性,而锁机制则在并发环境下协调不同…

    OpenPrompt 有没有实现连续提示词和提手动示词一起优化的

    OpenPrompt 有没有实现连续提示词和提手动示词一起优化的 OpenPrompt 中连续提示词与手动提示词的混合优化 OpenPrompt 确实支持同时优化连续提示词(Soft Prompt)和手动设计的离散提示词(Manual Prompt)。这种混合优化策略可以结合两者的优势: 连续提示词:通过梯度下降…

    Android添加语言列表

    方式一 frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.java Settings.System.putString(context.getContentResolver(),Settings.System.SYSTEM_LOCALES, "ru-RU,en-US"); 方式2 packages/apps/Settings/src/co…

    解决uniapp开发app map组件最高层级 遮挡自定义解决底部tabbar方法

    subNvue,是 vue 页面的原生子窗体,把weex渲染的原生界面当做 vue 页面的子窗体覆盖在页面上。它不是全屏页面,它给App平台vue页面中的层级覆盖和原生界面自定义提供了更强大和灵活的解决方案。它也不是组件,就是一个原生子窗体。 …