变分模态分解 python_浅谈VMD(变分模态分解)

学号:19011210554   姓名:袁博

【嵌牛导读】:好多人看着VMD看博客最想知道的就是这东西的应用和大概步骤原理,而具体原理算法不太感兴趣,而且也不太容易看懂。本文既然是浅谈,就讲解一下VMD的步骤和应用。

【嵌牛鼻子】:VMD(变分模态分解)

【嵌牛提问】:VMD是什么?怎么用?

【嵌牛正文】:

VMD是一种新的自适应信号处理方法,对非平稳、非线性信号具有良好处理效果。

VMD工作原理步骤

步骤

VMD是通过迭代搜寻变分模型(具体怎么搜寻,请亲们自己看,我主要讲他的大概)最优解, 来确定我们所知的模态uk(t)及其对应的中心频率ωk和带宽。

每个模态都是具有中心频率的有限带宽(就是在频域中有在一定的宽度)。所有模态之和为源信号。

而对求最优解采用二次惩罚和拉格朗日乘数将上诉约束问题转换为非约束问题,并用交替方向乘子法求解这个非约束问题, 通过迭代更新最终得到信号分解的所有模态。分解的所有模态中有包含主要信号的模态和包含噪声的模态。将包含主要信号的模态进行重构,从而达到去噪的效果。

如何判断相关模态

判断

用信号与模态的相似程度来判断信号与噪声 。推荐一篇论文,他对VMD进行了一些优化。例如:在VMD中一般采用局部重构,即将与原信号相似的模态就认为是信号,与原信号相差大的模态认为噪声,然而噪声模态中其实还含有一些信号,用一定方法提取信号,可增加信噪比和可信度。同理(我自己的看法),采用定的滤波器处理信号模态来去除其中的噪声会不会提高信噪比。这是一个方向。

推荐论文:基于VMD的激光雷达回波信号去噪方法研究

应用

其实看了上面的原理,其实大家都该有一个基本的想法,VMD将信号分解与重构,用的最多就是来去噪。

我准备用来进行心率提取

其他应用:谐波提取、用的最多的滚动轴承检测、故障检测等等

VMD原文

下面是原文链接,可以自行下载,也可以联系我,还有我自己的译文,翻译一班不是太准确,但能帮助你更好的理解。

缺点及解决方法

1、最大的局限性是边界效应和突发的信号。这与基于L2平滑阶段的使用密切相关,该阶段过度惩罚了域边界和内部的跳跃。

2、长期模态的光谱带会随着时间的推移而急剧变化,并且会在全局范围内重叠。在这里,直接的解决方案是将信号分解成较短的块,在这些块上信号足够稳定。

3、要求预先定义模态数K。这是我们与许多成功的聚类和分段算法(例如k-means)共享的缺点。

补充

在写论文,通常拿VMD与EMD(经验模态分解)、EWT(经验小波变换)进行性能对比。

对于预定义模态数K的解决方法,推荐一篇论文:基于反馈变分模式分解的单通道盲源分离算法,他采用反馈模式对K自动识别定义,解除了预定义的先验模式。

  • 0
    点赞
  • 0
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值