获取完整数据和代码,请直接加
kang20224
多变量跳变模态分解是一种基于交替方向乘子法ADMM的自适应信号分解技术,能够将多通道非平稳信号同时分解为若干个窄带本征模态分量和一个稀疏的跳变分量。该方法通过构建包含带宽惩罚项和总变分正则项的约束优化问题,在频域利用维纳滤波迭代更新各模态的中心频率和频谱,同时在时域通过软阈值收缩提取具有分段常数特性的跳变成分,从而实现对复杂混合信号的有效分离,尤其适用于含瞬态冲击或阶跃变化的机械振动、生物电信号等分析场景。
算法步骤
信号预处理:将输入的多变量信号整理为通道×样本的矩阵,移除每个通道的均值,并进行镜像扩展以抑制边界效应。
参数初始化:设定模态个数 KK、带宽控制参数 αα、跳变稀疏参数 ββ 和 bb、对偶步长 ττ 以及收敛容差。初始化所有模态的中心频率(可选为零、均匀或随机),并将拉格朗日乘子及辅助变量置零。
模态谱更新:在傅里叶域固定当前跳变分量和其他模态,利用维纳滤波求解每个模态的正频率部分,使其逼近原信号扣除其余分量后的残差。
中心频率更新:根据新得到的模态谱,计算其功率加权平均频率,作为该模态的新中心频率,并对不同模态施加最小间隔约束以避免频率混叠。
时域模态重建:将更新后的模态谱通过共轭对称补齐负频率,再经逆傅里叶变换得到时域的模态分量。
跳变分量更新:在时域固定所有模态,通过求解包含一阶差分惩罚项的线性系统得到候选跳变信号,并利用软阈值收缩算子增强其稀疏性,同时更新对偶变量(拉格朗日乘子)。
收敛性判断:计算当前迭代与前一次迭代之间模态谱和跳变谱的均方误差,若小于预设容差或达到最大迭代次数则终止,否则返回步骤3继续迭代。
结果裁剪与输出:去除镜像扩展部分,将跳变分量加回原始均值,按中心频率升序排列各模态,最终输出分解得到的多变量模态集合和跳变分量。