【自适应分解+智能停止】基于逐次变分模态分解和自适应准则的非平稳信号分解方法(MATLAB)

作品简介

逐次变分模态分解是1种自适应的非递归信号分解方法,通过逐次提取单个模态并更新残差信号,克服了传统变分模态分解需预设模态数的缺陷。该方法在变分框架下引入可变的保真项权重系数,并通过内循环迭代优化当前模态的中心频率和频谱,同时采用对偶上升法增强约束。外循环根据用户定义的停止准则(如噪声功率、重构误差、贝叶斯信息准则或最后一个模态的功率变化)自动确定模态数量,最终实现信号的自适应分解与近似重构,兼顾了分解的完备性与模态间的谱分离特性,适用于非平稳、非线性信号分析。

算法步骤

信号预处理:将输入信号镜像扩展以消除边界效应;使用 Savitzky-Golay 滤波器估计噪声功率。

参数初始化:设定模态紧致性参数 maxAlpha、对偶上升步长 tau、收敛容差 tol 及停止准则类型 stopc;初始化当前模态的中心频率(可设为零或随机)。

内循环迭代(固定 Alpha)

更新当前模态的频谱(维纳滤波形式);

更新中心频率(重心频率法);

更新对偶变量 lambda(对偶上升);

计算频谱更新前后的相对变化量,若小于 tol 则内循环收敛。

Alpha 自适应增长:若当前模态不够纯净(即带宽过宽),按指数策略增大 Alpha 值,并重置内循环重新求解,直至达到 maxAlpha。

模态存储与残差更新:将收敛后的模态频谱及中心频率存入结果集;将当前模态从原始信号中“滤除”的思想通过滤波器叠加实现,等效于更新残差。

停止准则判断:根据用户指定的准则(噪声功率门限、重构误差阈值、贝叶斯信息准则拐点或最后一个模态功率趋于平稳)决定是否终止外循环。

信号重构与输出:将所有提取的模态从镜像域恢复至原始时域,并按中心频率升序排列;输出模态时域波形 u、频谱 u_hat 及中心频率 omega。






创作时间: