【MATLAB去噪算法】基于CEEMD联合小波阈值去噪算法(第三期)

article/2025/6/10 9:12:52

02.去噪算法原理

1.引言

传统EMD方法存在模态混叠问题,即信号成分在不同IMF分量中出现碎片化分布。为改进这一问题,Huang等(1999)提出间歇性测试算法,但效果有限。Wu和Huang(2009)发展的集合经验模态分解(EEMD)通过添加白噪声有效缓解了模态混叠,其核心思想是将噪声辅助分析结果在无限次集合平均后收敛为真实分解。然而,EEMD存在两个显著缺陷:一是实际应用中有限次集合平均会导致IMF分量残留噪声污染,严重影响信号重构质量;二是要求添加的噪声必须满足独立同分布(IID)条件,这限制了算法的优化空间。

因此,提出的互补集合经验模态分解(CEEMD)通过创新性噪声配对机制实现了重要改进:首先,采用完全反相关的正负噪声对代替传统噪声,通过成对噪声的对称性在信号重构阶段实现噪声的精确抵消,显著提升了降噪效率;其次,该方法在保持与EEMD相同集合次数的前提下,通过噪声的互补特性有效消除残余噪声,尤其改善了低频分量重构精度。数值实验证明,CEEMD不仅继承了EEMD抑制模态混叠的优势,更通过噪声互补机制将重构信号的均方根误差降低至可忽略水平。这种改进使得在临床血压数据分析等需要高精度重构的应用场景中,能够以更少的计算量获得更纯净的物理特征提取,为非线性非平稳信号处理提供了新的技术路径。

2.CEEMD算法原理

在CEEMD中,将白噪声成对添加到原始数据(即一个正和一个负)中,以生成两组集合IMF。 因此,我们可以得出两种由原始数据组成的混合物,并通过

其中S是原始数据; N是添加的白噪声; M1是带有正噪声的原始数据的总和,M2是带有负噪声的原始数据的总和。

然后,从这些正混合物中获得的集合IMF促成了一组IMF,并带有添加白色噪声的阳性残基。 同样,从那些负混合物获得的集合IMF促成了另一组添加白色噪声的负残基的集合IMF。 因此,最终IMF是具有正声和负噪声的IMF的合奏。

图1 CEEMD模拟信号的分解IMF

 图1显示了使用20对添加的白色噪声从模拟信号分解的IMF。 通过Ceemd我们还获得了四个IMF,它们与EEMD生产的IMF相似。 同样,IMF 1显示了间歇性信号的混合物和添加的白色噪声的某些残基。 IMFS 2–4是模拟信号的正弦波的组成部分。 EEMD结果的视觉比较CEEMD没有显着差异。 但是,通过IMF的重建信号与原始信号之间存在显着差异。 定义为原始信号和重建信号之间差异的最终残留物是非常不同的,如图2所示。虽然EEMD的残基的平均振幅约为0.03,而CEEMD的相应残留物的平均幅度接近0,这种误差可以很好地归因于计算中产生的数值误差。因此,CEEMD可以通过消除加性白噪声的残留来改善分解结果。

图2 由EEMD和CEEMD得出的添加白色噪声的残基

3.CEEMD的优势

将CEEMD的结果与EEMD的结果进行比较,我们可以得出结论,如果最终结果重建是一个问题,可能会节省计算时间,因为配对的噪声可以有效地减少最终的白噪声残基。 作为CEEMD优势的证明,我们进行了数值实验。 在这个数值实验中,使用了不同数量(从100.2到104)添加的白色噪声来评估以百分比为百分比表示的添加的白色噪声的残基。 我们的实验结果如图6所示,表明对于EEMD,残基取决于集合中的成员,如预期。 与EEMD相比,CEEMD可以完全消除添加的白色噪声的残留物,无论使用多少噪声。 除了消除最终残基噪声外,EEMD和CEEMD的性能在每个IMF的RMS错误方面都可以比较。 表1总结了每个主要成分的平方误差的结果以及在此测试中添加的白色噪声的残基。 当然,大量平方误差值表明分解和原始组件之间存在显着差异,因此分解性能较差。 根据表1中所示的结果,当使用白色噪声时,EEMD和CEEMD在单次组件中具有相似的性能。

相关论文如下:

Complementary Ensemble Empirical Mode Decomposition: a Novel Noise Enhanced Data Analysis Method.

https://www.researchgate.net/publication/220531136_Complementary_Ensemble_Empirical_Mode_Decomposition_a_Novel_Noise_Enhanced_Data_Analysis_Method

此外,尽管CEEMD改善了模态混叠问题,某些IMF分量中仍可能包含噪声主导的高频成分,从而影响信号重构的质量。与此同时,小波阈值去噪(WTD)在噪声抑制方面表现优异,但单独使用时对非平稳信号的适应性较差,容易导致信号失真。

针对这些问题,本文提出了一种基于CEEMD联合小波阈值去噪的创新算法。该算法首先利用CEEMD对原始信号进行分解,通过添加互补噪声对并进行多次集合平均,得到一组IMF分量和残差。由于CEEMD的噪声互补特性,高频噪声在IMF中更为集中,便于后续处理。接下来,算法通过计算各IMF分量的能量熵或相关系数,对IMF进行分类,识别出噪声主导的分量。通常,高频IMF如前几阶分量主要包含噪声,需要进一步处理,而低频IMF则主要包含有用信号,可直接用于重构。

对于识别出的噪声主导IMF分量,算法采用小波阈值去噪进行精细处理。在这一步骤中,选择合适的小波基和分解层数至关重要,常用的有db4、sym8等小波基。为了提高去噪效果并避免硬阈值导致的信号畸变或软阈值的过度平滑,算法采用改进的半软阈值函数进行处理。处理完成后,将去噪后的IMF分量与未处理的低频IMF及残差相加,最终得到高质量的去噪信号。

与传统的单一去噪方法相比,CEEMD-WTD联合算法展现出多方面的优势。首先,通过CEEMD的初步分解,噪声被集中到高频IMF分量中,再经小波阈值去噪进一步去除残余噪声,避免了直接全局小波去噪可能导致的信号失真。其次,算法具有更强的自适应性,仅对噪声主导的IMF分量进行小波去噪,有效保留了有用信号成分,显著提高了信噪比。此外,CEEMD的噪声互补特性减少了所需的集合次数,而小波去噪仅作用于部分IMF分量,从而优化了计算效率,降低了计算负担。

代码流程如下:

03.代码效果与指标对比

✅作者简介:信号处理方向在校博士研究生,目前专研于MATLAB算法及科学绘图等,熟知各种信号分解算法、神经网络时序、回归和分类预测算法、数据拟合算法以及滤波算法。提供一个可以相互学习相互进步的平台

🚩技术信仰:知行合一,让每一行代码都成为解决问题的利器

🔍后台私信备注个人需求


http://www.hkcw.cn/article/cpxhduRCpG.shtml

相关文章

Semi-Supervised Neuron Segmentation via Reinforced Consistency Learning

perturbed counterpart x u ′ ^{u} u′ waterz环境不好满足,不建议复现

R语言使用随机过采样(Random Oversampling)平衡数据集

随机过采样(Random Oversampling)是一种用于平衡数据集的技术,常用于机器学习中处理类别不平衡问题。当某个类别的样本数量远少于其他类别时(例如二分类中的正负样本比例悬殊),模型可能会偏向多数类&#x…

pcie 日常问答-20250528

问题均来自工作总结,面经问题;多为发散性问题;大多均会结合S IP rtl实现进行细致分析。 1. dllp包有哪些类型?dllp主要功能是干甚呢的? dllp是一个点到点的传输(传输过程中没有任何标识)&#…

ADK实战-基于ollama+qwen3实现外部工具串行调用

0 环境准备 1 开发环境准备 1.1 创建项目python环境 1.2 在pycharm创建项目 1.3 安装项目依赖 2 资源准备 3 adk agent构建 3.1 新建adk_agent_tool_serial python包 3.2 编辑__init__.py文件 4 配置env 4.1 新建.env文件 4.2 编辑.env文件 5 agent逻辑实现 5.1 …

降本增效的新引擎:GEO如何提升企业营销ROI

在当前经济环境下,企业面临着前所未有的成本压力和效率挑战。深耕数字营销二十余年,我们见证了从传统广告到数字营销,再到如今生成式AI时代的每一次效率变革。在这个新阶段,生成式引擎优化(GEO)正在成为企业…

Blinko智能笔记系统实现跨平台同步与隐私保护的完整技术方案解析

文章目录 前言1. Docker Compose一键安装2. 简单使用演示3. 安装cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 推荐 ​ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站 前言 是否…

OpenCV CUDA模块特征检测------创建Harris角点检测器的GPU实现接口cv::cuda::createHarrisCorner

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 该函数创建一个 基于 Harris 算法的角点响应计算对象,专门用于在 GPU 上进行高效计算。 它返回的是一个 cv::Ptrcv::cuda::Cornernes…

013旅游网站设计技术详解:打造一站式旅游服务平台

旅游网站设计技术详解:打造一站式旅游服务平台 在互联网与旅游业深度融合的时代,旅游网站成为人们规划行程、预订服务的重要工具。一个功能完备的旅游网站,通过用户管理、订单管理等核心模块,实现用户与管理员的高效交互。本文将…

Linux运维笔记:1010实验室电脑资源规范使用指南

文章目录 0. 检查资源使用情况,避免冲突检查在线用户检查 CPU 使用情况检查 GPU 使用情况协作建议 1. 备份重要文件和数据2. 定期清理硬盘空间3. 退出 ThinLinc 时注销,释放内存4. 校外使用时配置 VPN注意事项总结 实验室的电脑配备了 CPU 和 GPU 资源&a…

Nginx + Tomcat负载均衡群集

目录 一、案例环境 二、部署 Tomcat(102/103) 1、准备环境 (1)关闭firewalld 防火墙 (2)安装JDK 2、安装配置 Tomcat (1)Tomcat 的安装和配置 (2)移动…

每日算法-250603

每日算法学习 今天学习了两道关于子数组和的 LeetCode 题目。 1524. 和为奇数的子数组数目 题目 思路 💡 前缀和 核心思想:子数组 arr[i..j] 的和可以表示为两个前缀和之差,即 prefixSum[j1] - prefixSum[i] (假设 prefixSum[k] 表示 arr[0…

【T2I】InteractDiffusion: Interaction Control in Text-to-Image Diffusion Models

CODE: CVPR 2024 https://jiuntian.github.io/interactdiffusion Abstract 大规模文本到图像(t2i)扩散模型在基于文本描述生成连贯图像方面展示了令人难以置信的能力,从而在内容生成方面实现了广泛的应用。虽然最近的进步已经引入了对物体定位、姿态和图像轮廓等因…

今日行情明日机会——20250603

上证指数放量收阳线,阳包阴,量能超过5天均量,个股涨多跌少,行情有所回暖。 深证指数缩量收阳线,再次回打支撑位。 2025年6月3日涨停股主要行业方向分析(基于图片数据) 1. 医药(政策…

Foundation Models for Generalist Geospatial Artificial Intelligence论文阅读

文章目录 摘要1. 引言2. 研究背景3. 预训练数据3.1 HLS-2数据3.2 高效数据采样3.3 预处理程序 4. 模型结构和预训练4.1 时空数据考虑4.2 预训练4.3 预训练结果 5. 下游任务5.1 任务微调数据集5.2 微调模型设置5.3 微调任务结果5.3.1 云插补任务5.3.2 洪水映射任务5.3.3 火灾痕迹…

C++实现汉诺塔游戏用户交互

目录 一、模型调整(一)模型定义(二)模型实现1.电脑自动完成部分2.SDL图形显示2.1拿起放下盘子的函数2.2左右移动手指的函数 二、处理用户输入,进行人机分流三、总结四、源码下载 上篇文章使用C语言实现汉诺塔游戏电脑自动完成的步骤,还没有实现用户交互&…

嵌入式学习 D32:系统编程--进程间通信IPC

引言--进程间通信管道的概念管道相关操作有名管道及其相关操作信号通信 一、引言--进程间通信 1)因为空间是独立和隔绝的,数据发不过去,需要进程间的通信来交互,所以需要通信。 2)linux进程间通信的常用几种方式&…

黑马Java面试笔记之 消息中间件篇(Kafka)

一. Kafka保证消息不丢失 Kafka如何保证消息不丢失 使用Kafka在消息的收发过程中都会出现消息丢失,Kafka分别给出了解决方案 生产者发送消息到Brocker丢失消息在Brocker中存储丢失消费者从Brocker接收消息丢失 1.1 生产者发送消息到Brocker丢失 设置异步发送 消息…

java的SPI机制

SPI(Service Provider Interface)是java提供的一种服务发现机制。允许你定义一个接口或抽象类,然后由第三方实现这个接口,并在运行时动态加载这些实现类 核心思想是:面向接口编程,解耦接口与实现 核心组件…

SpringCloud 分布式锁Redisson锁的重入性 高并发 获取锁

介绍 Redisson 的锁支持 可重入性,这意味着同一个线程在获取锁后,如果再次尝试获取该锁,它可以成功地获得锁,而不会被阻塞。 每次一个线程成功获取锁后,它的持有次数会增加。当线程再次获取该锁时,Rediss…

PyTorch--池化层(4)

池化层(Pooling Layer) 用于降低特征图的空间维度,减少计算量和参数数量,同时保留最重要的特征信息。 池化作用:比如1080p视频——720p 池化层的步长默认是卷积核的大小 ceil 允许有出界部分;floor 不允许…