VMD确定分解个数K(matlab)

本文围绕VMD确定分解个数K展开。先介绍VMD基础概念,它能将时间序列分解成模态分量,分解过程有较强鲁棒性。接着阐述根据中心频率选取K,还可通过分析相邻模态分量相关性进一步确定K。此外,给出代码链接及中心频率计算的讨论链接。

VMD确定分解个数K

1. VMD基础概念

变模态分解(variational mode decomposition,VMD)
将一个时间序列f分解成k个具有固定中心频率ω_k的模态分量u_k (t),并使每个模态量的频率估计带宽之和最小。对各模态分量进行Hilbert变换得到其单边频谱,通过混合一估计中心频率,将各分量的单边频谱调制到基频带,再经过对解调信号梯度的L2正则化进行高斯平滑估计,得到风功率分量的带宽。对应的受约束的变分模型表示为:
在这里插入图片描述

其中,∂t表示求偏导,δ(t)表示狄拉克分布函数。
1.2变分问题的求解
引入拉格朗日乘子 和二次罚函数 ,将上述约束变分问题转化为无约束问题,即
在这里插入图片描述

利用乘数的交替方向法寻找扩展拉格朗日表达式(2)的鞍点,得到各模态的频域更新,则模态分量和中心频率的迭代表达式为:

在这里插入图片描述

其中, 表示分量的维纳滤波; 表示对应模态的中心频率;对 进行傅里叶逆变换,取实部{u_k (t)}得到时域模态分量;n表示迭代次数;ω表示频率值。最后通过傅里叶逆变换转换到时域,得到序列分解后的k各窄带IMF分量,完成了信号在频域内的自适应分割。
VMD是将序列从时域转换到频域内进行分解,对于这类非线性数据既能很好的保留原始信息,又能避免变量信息重叠,且分解过程具有较强的鲁棒性。

评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hahahahah123456

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值