当前位置: 首页 > news >正文

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

VMD联合小波阈值去噪算法相关文献

(注:目前比较火热,应用该套代码结合实际工程可发较好的期刊)

一、VMD算法

传统经验模态分解(EMD)及其衍生方法(如EEMD、CEEMD)在解决非线性非平稳信号分解时,存在依赖于信号极值点、抗噪性有限以及对模态混叠(即信号成分在不同本征模态函数IMF中出现碎片化或重叠分布)改进仍不彻底等问题。为从根本上克服这些局限,并寻求更鲁棒、更具数学基础的分析框架,Dragomiretskiy和Zosso于2014年提出了变分模态分解(VMD)。VMD摒弃了EMD的递归筛选思路,创新性地将信号分解问题转化为变分优化问题,其核心思想是通过预设IMF的带宽限制,并联合优化所有模态及其中心频率,实现信号在变分框架下的自适应、准正交分解。

VMD的主要优势在于:其一,通过严格的数学模型(维纳滤波、希尔伯特变换、频率混合)约束每个IMF的紧致性(有限带宽),从理论上避免了模态混叠的产生;其二,对噪声的鲁棒性显著增强,分解稳定性优于EMD类方法,尤其在处理低信噪比信号时表现更佳;其三,分解过程是非递归的、可全局收敛的,结果具有唯一性,避免了EMD对端点效应和筛选停止准则的敏感性。数值实验及广泛应用(如故障诊断、生物医学信号处理、金融时间序列分析)证明,VMD能够有效提取信号的物理本质特征,在重构精度、模态分离度及计算效率上展现出优越性,为非线性非平稳信号处理提供了新的理论工具和更可靠的技术途径。

变分模态分解(VMD)是一种以经典维纳滤波、希尔伯特变换和频率混合这三个概念为基础的变分问题求解方法,该方法将原信号分解成K个IMF分量。其中把模态函数定义为一个调频调幅信号,记为:

(1)利用Hilbert变换计算得到每一个模态分量信号对应解析信号,得到其单边频:

 (2)进一步加入指数项模态函数对应解析信号的预估中心频率,将每个模态的频谱转移至基带:

(3)变分模态分解可写成如下含有约束的最优化问题:

(4)引入二次惩罚因子和增广Lagrange函数,解决上述约束变分问题,将变分问题转变为非约束性变分问题,组成扩展的Lagrange表达式:

(5)得到约束变分模型的最优解:

变分模态分解的算法的具体流程,如图所示:

二、小波阈值去噪

小波阈值去噪方法是由Donoho提出的,其实质是抑制信号中无用部分、增强有用部分的过程。小波阈值去噪过程如图所示。

影响小波阈值去噪效果主要有以下三个方面的因素:

①去噪效果也依赖于阈值的选取,如果阈值选取过小,会导致去噪效果不理想,如果阈值选取过大当会导致消除部分有效信号。

②在小波分解、重构这两个步骤中,小波基类型的不同直接影响信号的分解和重构的效果,决定了去噪后信号的质量好坏

③分解层数一般根据信号特性和经验事先进行选择,但这样得到的只能是固定值,往往去噪效果不佳,因此最优分解层数是小波阈值去噪算法性能的关键指标之一;

(1)小波阈值的选取准则

在小波阈值去噪的过程中,小波阈值选取准则的确定是一个关键的步骤,小波阈值的选取方法一般包括无偏风险估计阈值、固定阈值、启发式阈值、以及极大极小阈值等四种准则,该四种阈值选取准则如表1所示

无偏风险阈值主要针对噪声近似于加性高斯白噪,有固定的频谱,噪声强度比较大的情况,对高频信息保留较多,适用于高频信号。极大极小阈值不需要知道噪声方差,具有比较小的噪声依赖性,更适合于低信噪比信号滤波去噪。固定阈值在工程上应用较多,在噪声较多时降噪效果明显。启发式阈值是无偏风险估计阈值和固定阈值的综合,可以在保留更多高频信息的前提下得到更好的去噪。无偏风险估计阈值和极大极小阈值都比较保守,可以将微弱的信号提取出来,但去除噪声的效果往往不佳。固定阈值和启发式阈值去噪比较彻底,而桥梁的环境振动固有频率比较低,因此相比启发式阈值,使用固定阈值准则在去噪时显得更为有效。同时王海波[14]等认为对于桥梁振动信号来说,使用固定式阈值选取准则去噪相对于其余三种准则有明显的优势,因此本文选用固定式阈值估计方法对桥梁信号进行去噪处理。

(2)小波阈值函数选 

根据软、硬阈值函数的定义可以发现:硬阈值函数是保留高于设定阈值的小波系数,将各个空间低于阈值的小波系数置零;软阈值函数是将小波系数按照设定的固定量收缩然后由新的小波系数重构得到去噪后的信号,使用软阈值函数去噪后的信号具有更好的平滑性与连续性。因此,本文选择软阈值函数来对桥梁信号进行去噪。

(3)小波基函数的选择

对信号进行去噪时,小波基函数一般都是通过经验去选取,往往难以选择到最优的小波基函数。童敏明等提出通过信噪比来判断小波基函数的选取是否最优。这种方法以去噪之后的信号与原始信号的接近程度来衡量去噪效果,接近程度最大时的小波基就是最优小波基。

(4)小波分解层数的选择

小波的分解层数一般都是通过经验去选取,而采用固定的分解层数,必然有其局限性。用不同分解层数对信号进行分解时,发现分解层数越多,去掉的桥梁信号中的噪声也会越多,但是超过某个临界值时,就会将信号中有用的部分滤除。因此,随着分解层数的增加,去噪后的信号的信噪比会出现一个先上升后下降的趋势。根据不同分解层数的去噪后信号信噪比的峰值,可以推算出小波分解层数,使信号特征量完全展现出来。

三、VMD联合小波阈值去噪流程

代码流程如下:

本算法结合变分模态分解(VMD)的频带自适应性、噪声分离能力以及小波阈值去噪在精细噪声抑制方面的优势,实现对含噪信号的有效去噪。其核心流程分为四个部分:

第一部分:VMD信号分解

首先,应用变分模态分解(VMD) 算法对输入的原始含噪信号进行自适应分解。VMD的核心思想是将信号分解转化为一个变分优化问题,通过求解约束变分模型,将原始信号同步自适应地分解为一系列具有中心频率和有限带宽的本征模态函数。这些分量在频域具有更优的紧致性和正交性特点。在分解前,需要预先设定两个关键参数:模态分量数 K(决定分解出的IMF数量)和惩罚因子 α(控制带宽大小和分解保真度)。合理的 K 值选择至关重要,它直接影响噪声与有效信号的分离效果。过多会引入虚假分量,过少则导致信号成分混杂。VMD通过迭代搜寻变分模型的最优解,最终输出一系列中心频率由高到低(或由低到高可设)排列的IMFs。相较于传统EMD类方法,VMD能更有效地抑制模态混叠,并倾向于将高频噪声能量更集中地分离到特定阶数的IMF中,为后续噪声识别奠定了良好基础。

第二部分:IMF分类与噪声主导分量识别

分解完成后,对 K 个IMF分量进行特征计算与分析,以区分噪声主导分量和信号主导分量。

  • 计算各IMF分量的关键统计特征,例如:

  • 样本熵(Sample Entropy): 度量序列的复杂性。噪声主导分量通常具有较高的样本熵值。

  • 与原始信号的相关系数: 衡量分量的信息贡献。信号主导分量通常具有较高的相关系数(绝对值)。

  • 方差贡献率/能量比例: 计算各分量能量(或方差)占总信号能量的百分比。信号主导分量通常占据较高比例。

基于上述特征的综合评估(可结合阈值判定或多特征融合分类器),将BLIMFs分为两类:

  • 噪声主导IMFs(通常是前若干阶,如IMF1-IMF3): 表现出高样本熵、低相关系数、低方差贡献率的特征。这些分量被视为以噪声能量为主。

  • 信号主导IMFs(中低频分量): 表现出低样本熵(反映确定性较高)、高相关系数、显著方差贡献/能量比例的特征。这些分量主要承载信号的有效信息。

识别出的噪声主导IMF分量将被直接舍弃,避免在重构过程中引入噪声污染。

第三部分:信号主导IMF的小波阈值去噪

识别出的信号主导IMF分量虽然包含了核心的有效信号信息,但仍可能残留一定量的、与信号频带重叠的噪声或边带噪声。为获得更纯净的信号成分,对筛选出的每一阶信号主导IMF分量逐一进行小波阈值去噪处理

    第四部分:信号重构

    经过上述处理后:

    • 噪声主导的IMF分量已被舍弃

    • 信号主导的IMF分量已完成精细的小波阈值去噪处理

    将处理后的信号主导BLIMF分量(即完成小波去噪的BLIMFs)进行线性叠加。

    最终重构出的信号 x_denoised(t) 即为去除高频噪声并有效保留了主要信号特征的目标去噪信号

    四、代码效果图

    ✅作者简介:信号处理方向在校博士研究生,目前专研于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.xdnf.cn/news/1057771.html

    相关文章:

  • VS2022 C++动态库制作和使用指南
  • 【深度学习】TensorFlow全面指南:从核心概念到工业级应用
  • 【C++】vector的模拟实现(详解)
  • 记一次用飞算JavaAI助力项目部分重构的过程
  • 从C++编程入手设计模式——外观模式
  • 0616---0617C#实训课总结摘要
  • 【前端基础】摩天之建的艺术:html(上)
  • MIT 6.S081 2020 Lab8 locks 个人全流程
  • <script setup> 和在 <script> 中使用 setup() 函数有什么区别
  • vite的分包
  • 使用 React-i18next 在 TypeScript 的 Next.js 应用中实现国际化
  • ARM单片机启动流程(一)(万字解析,纯干货分享)
  • CVPR 2025最佳论文详解|VGGT:纯前馈Transformer架构,3D几何感知「大一统」模型来了!
  • 精益数据分析(108/126):媒体网站用户参与时间优化与分享行为解析
  • 【Unity笔记】Unity URP 渲染中的灯光数量设置— 场景、使用方法与渲染原理详解
  • Python 列表与元组的性能差异:选择合适的数据结构
  • 人机交互的趋势判断-范式革命的推动力量
  • SCRM客户关系管理软件的界面设计原则:提升用户体验与交互效率
  • 【Mysql】MySQL的MVCC及实现原理,核心目标与全流程图解
  • 获取ip地址安全吗?如何获取静态ip地址隔离ip
  • 常见航空数码相机
  • 基于SpringBoot的民宿管理平台-037
  • 【Linux指南】文件内容查看与文本处理
  • 操作系统引导和虚拟机(包含os结构,选择题0~1题无大题)
  • 编译链接实战(27)动态库实现变了,可执行程序需要重新编译吗
  • 互联网思维概念和落地
  • 如何写一个简单的python类class
  • 影视剧学经典系列-梁祝-《闲情赋》
  • 如何让DeepSeek-R1-Distill-Qwen-32B支持Function calling
  • 学习昇腾开发的第三天--将服务器连接网络