当前位置:   article > 正文

用SMA(黏菌)优化VMD的Matlab源代码_优化vmd的matlab 程序

优化vmd的matlab 程序

VMD有了解的小伙伴们可能知道,相比于EMD的递归分解模式,VMD将信号分解转化为变分分解模式,其实质是多个自适应维纳(Wiener)滤波器组,VMD可以实现信号频域内各个分量的自适应分割,能够有效克服EMD分解中产生的模式混叠现象,比EMD更强的噪声鲁棒性以及更弱的端点效应。但在进行VMD代码运行之前,需要先确定分解模态数K与惩罚因子α,这就需要用到各种优化这两个参数的代码,比如说SSA(麻雀搜索算法)、AOA(阿基米德算法)、GWO(灰狼优化算法)、还有经典的PSO(粒子群算法)等。这些各有优缺点,感兴趣的可以自己去查找资料了解一下。在这里我使用SMA(黏菌优化算法)去优化VMD的两个参数,话不多说,直接上结果图。

 

 将优化出来的两个参数踩入到VMD中,就可以得到VMD的分解图

再将其进行希尔伯特变换(hilbert)得到边际谱图,

我的VMD程序中还包括了频谱、包络熵值、包络谱等程序,结果图如下面展示

顺带还附赠一份风电场数据,包括风速,功率等信息。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号