鲸鱼优化算法(WOA)优化变分模态分解(VMD)包络熵的特征提取及MATLAB代码实现

2021/9/15 14:05:19

本文主要是介绍鲸鱼优化算法(WOA)优化变分模态分解(VMD)包络熵的特征提取及MATLAB代码实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

1 简介

2 变分模态分解VMD原理

3 鲸鱼优化算法优化VMD原理

3.1. 鲸鱼优化算法优化VMD原理及流程 

3.2. 特征提取流程

4 优化效果

4.1. VMD各分量信号时域图

4.2. 鲸鱼优化算法优化VMD各分量信号时域图


1 简介

针对从滚动轴承振动信号中所提取的故障信息精度低的问题,利用鲸鱼优化算法对变分模态分解模态个数K和惩罚参数α 寻优,然后根据VMD处理信号得到若干模态分量,筛选后进一步提取能量熵作为特征向量。使用特征提取向量,可进行后续轴承故障诊断等工作。

2 变分模态分解VMD原理

VMD能够自适应匹配每种模态的最佳中心频率和有限带宽,实现固有模态分量(IMF)有效分离,
其核心思想是构建和求解变分问题。

VMD实现步骤为:

由VMD分解步骤可知,分解信号前需要设置合适的模态个数K和惩罚参数α,K取值过大会导致过分解,反之,则会欠分解,α 取值过大,会造成频带信息丢失,反之,会信息冗余,所以需要确定最佳参数组合[K,α]。目前多用中心频率观察法,通过观察不同K值下的中心频率确定K值,但该法具有偶然性,且只能确定模态个数K,无法确定惩罚参数α。

3 鲸鱼优化算法优化VMD原理

3.1. 鲸鱼优化算法优化VMD原理及流程 

使用鲸鱼优化算法(WOA)对VMD参数进行寻优,以包络熵极小值作为适应度函数,包络熵代表原始信号的稀疏特性,当IMF中噪声较多,特征信息较少时,则包络熵值较大,反之,则包络熵值较小。

信号x (i )(i = 1,2,…,N )包络熵EP 用以下公式计算,式中a (i ) 是由VMD 分解的k 个模态分量经Hilbert 解调后的包络信号,ε (i )是通过计算a (i )的归一化得到的概率分布序列,N 为采样点数,计算概率分布序列ε (i )的熵值即为包络熵EP。

 \left.\begin{array}{l} E_{p}=-\sum_{j=1}^{N} p_{j} \lg p_{j} \\ p_{j}=a(j) / \sum_{j=1}^{N} a(j) \end{array}\right\}

采用WOA优化VMD参数流程如图所示。首先初始化鲸群位置向量[K,α],以包络熵作为适应度函数,并计算每个鲸鱼适应度,然后通过判断收敛因子大小选择迭代公式进行迭代更新,直到满足终止条件,输出最优VMD参数。

3.2. 特征提取流程

VMD 利用WOA寻优后的参数组合[K,α]采用VMD对原信号分解,得到K个模态分量,计算每个IMF 峭度值,将其定义为:

K=\frac{E(x-\mu)^{4}}{\sigma^{4}}

式中:μ为信号x 的均值,σ 为信号x 的标准差。

4 优化效果

4.1. VMD各分量信号时域图

4.2. 鲸鱼优化算法优化VMD各分量信号时域图



这篇关于鲸鱼优化算法(WOA)优化变分模态分解(VMD)包络熵的特征提取及MATLAB代码实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程