VMD算法

目录

1.概念及原理

2.实现步骤

3.算法的优缺点

4.改进的方法及论文

5. VMD函数的参数含义

参考文献


1.概念及原理

概念:变分模态分解(Variational Modal Decomposition,VMD)是一种新的时频分析方法,能够将多分量信号一次性分解成多个单分量调幅调频信号,避免了迭代过程中遇到的端点效应和虚假分量问题。该方法能有效处理非线性、非平稳信号,但也存在对噪声敏感的特性,当存在噪声时,可能会使分解出现模态混叠现象。

原理:VMD的分解过程即变分问题的求解过程,在该算法中,本征模态函数(intrinsic mode function, IMF)被定义为一个有带宽限制的调幅-调频函数,VMD算法的功能便是通过构造并求解约束变分问题,将原始信号分解为指定个数的IMF分量。

2.实现步骤

VMD 方法分解的具体过程如下:

3.算法的优缺点

3.1优点

VMD将信号分量的获取过程转移到变分框架内,采用一种非递归的处理策略,通过构造并求解约束变分问题实现原始信号的分解,能有效避免模态混叠、过包络、欠包络、边界效应等问题,具有较好的复杂数据分解精度及较好的抗噪声干扰等优点。

3.2缺点

VMD对信号的分解层数K和惩罚因子a(分解完备性的平衡参数,通过选取参数a可以调节VMD方法的完备性)需要人为选取。

惩罚因子a和分解层数K的选择会影响VMD方法的分解效果,且参数的设置方法不能得到最优的参数组合。

4.改进的方法及论文

4.1基于VMD的故障特征信号提取方法_赵昕海

排列熵:一种检测动力学突变和时间序列随机性的方法,能够定量评估信号序列中含有的随机噪声。

Savitzky-Golay平滑法:广泛用于数据流平滑除噪。

1)选定合适的分解层数,利用VMD对含噪信号进行分解;2)利用排列熵来定量确定VMD分解后信号的含噪程度;3)对高噪分量直接剔除,对低噪分量进行Savitzky-Golay平滑处理;

4.2基于改进VMD的变形特征提取与分析_罗亦泳

利用样本熵、中心频率比及相关系数确定变分模态分解的K值建立IVMD。

样本熵:有效地表示时间序列的复杂性,越复杂的时间序列对应的样本熵越大;当VMD出现过分解时,VMD分量的中心频率接近;相关系数可有效分析分量与原始信号的相关性。

4.3基于改进VMD的风电齿轮箱不平衡故障特征提取_周福成

利用奇异值分解有效降噪阶次来确定VMD的分量个数。

奇异值分解后的突变点K值和VMD的分量个数K在信号处理过程中起的作用是一致的,所以VMD的分量个数K可以根据奇异值分解的有效阶次来定。

4.4基于参数优化VMD和样本熵的滚动轴承故障诊断_刘建昌

惩罚因子a和分解层数K的选择会影响VMD方法的分解效果,且参数的设置方法不能得到最优的参数组合,故采用遗传变异粒子群算法进行参数优化,获取最优的参数组合。

粒子群算法:具有参数较少,容易调整的优点,同时也容易陷入局部最优,无法获取全局最优近似解,所以在粒子群算法中引入遗传算法变异的思想,构造遗传变异粒子群算法。

4.5基于PSO_VMD_MCKD方法的风机轴承微弱故障诊断_张俊

针对VMD算法需要人为设置惩罚因子a和分解层数K,采用粒子群优化算法,以包络谱峰值因子作为适应度函数,对算法需要确定的参数进行全局寻优。

4.6基于VMD的激光雷达回波信号去噪方法研究_徐帆

针对VMD采用重构法去噪会导致信号的部分丢失,提出了一种VMD与巴氏距离、移动平均相结合的激光雷达回波信号去噪方法。

DFA:一种计算时间序列长程相关性标度指数的方法,它可以将各种不同阶的外来趋势从时间序列中清除,从而准确地观察到时间序列本身所具有的统计行为特征,更适于分析非平稳信号。

核密度估计:获得输入信号和每个模态的概率密度函数(PDF),通过计算它们之间的相似性,来区分相关模态和不相关模态;

巴氏距离:可用于测量两个PDF之间的距离,是证明相似性的一种有效方法;

通过两个模态与输入信号距离之间的最大斜率,作为相关模态和非相关模态的分割点。

移动平均法:将输入信号按照设定的滤波点数进行数学平均作为其输出信号。

该方法利用去趋势波动分析(DFA)对回波信号进行VMD分解,通过巴氏距离计算信号和对应的各个模态分量概率密度函数(PDF)之间的相似性,从而获得相关模态与非相关模态。在此基础上,采用移动平均法对非相关模态进行处理,提取其中的有用信号。最后,将相关模态和处理后的非相关模态进行重构实现去噪。

4.7基于反馈变分模式分解的单通道盲源分离算法_赵知劲

针对混合的源信号数未知,K值需由VMD得到的频谱判断,其值与算法预先设定的中心频率差值Δf有关,,所以Δf设置不合理,可能引起K判定失误,从而影响源信号分离。

基于反馈VMD的SCBSS算法:该算法无需预先设置Δf。反馈VMD就是将每次分解得到的最纯的模式分量反馈到VMD的输入端,并在VMD的输入端减去这个模式分量,将剩余的信号作为新的信号继续进行二模式的VMD,重复这个过程,直到混合信号分解完全。

5. VMD函数的参数含义


   
   
  1. function [u, u_hat, omega] = VMD(signal, alpha, tau, K, DC, init, tol)
  2. Variational Mode Decomposition
  3. Authors: Konstantin Dragomiretskiy and Dominique Zosso
  4. Input Parameters:
  5. signal:要分解的时域信号
  6. alpha: 惩罚因子,也称平衡参数
  7. tau:噪声容忍度
  8. K:分解的模态数
  9. DC:直流分量
  10. init:初始化中心频率
  11. 0 = all omegas start at 0
  12. 1 = all omegas start uniformly distributed
  13. 2 = all omegas initialized randomly
  14. tol:收敛准则容忍度;通常在 1e-6左右。
  15. Output Parameters:
  16. u:分解模式的集合
  17. u_hat:模式的频谱
  18. omega:估计模式中心频率

VMD的MATLAB代码见地址:基于VMD算法的信号降噪

参考文献

[1]Dragomiretskiy K, Zosso D. Variational Mode Decomposition[J]. IEEE Transactionson Signal Processing,2014,62(3):531-544.

[2]赵昕海,张术臣,李志深,等.基于VMD的故障特征信号提取方法[J].振动、测试与诊断,2018,38(1):11-13.

[3]罗亦泳,姚宜斌,黄城,张静影.基于改进VMD的变形特征提取与分析[J].武汉大学学报·信息科学版,2020,45(4):613.

[4]周福成,唐贵基,何玉灵.基于改进VMD的风电齿轮箱不平衡故障特征提取[J].振动与冲击,2020,39(5):170-176.

[5]刘建昌,权贺,于霞.基于参数优化VMD和样本熵的滚动轴承故障诊断[J].自动化学报,2019,45(8).

[6]张俊,张建群,钟敏,等.基于PSO_VMD_MCKD方法的风机轴承微弱故障诊断[J].振动、测试与诊断,2020,40(2):287-290.

[7]徐帆,常建华,刘秉刚.基于VMD的激光雷达回波信号去噪方法研究[J].激光与红外,2018,48(11):1444-1446.

[8]赵知劲,黄艳波,强芳芳,等.基于反馈变分模式分解的单通道盲源分离算法[J].振动与冲击,2019,38(13):269-271.

### VMD算法概述 变分模态分解(Variational Mode Decomposition, VMD) 是一种用于非平稳信号处理的强大工具[^1]。此算法能够将复杂的多分量信号自适应地分解为若干个本征模态函数(Intrinsic Mode Function, IMF),这些IMF代表了不同频率范围内的振荡模式。 VMD的核心在于构建了一个约束最优化模型来求解各模态的中心频率及其带宽,从而使得每一个分离出来的子信号都能保持较高的纯度并相互正交。相比于传统的经验模态分解(EMD),VMD不仅克服了前者存在的端点效应和模态混叠等问题,而且计算效率更高,在实际工程应用中表现出更好的稳定性和鲁棒性。 ### 应用领域 #### 故障诊断 在机械系统的健康监测方面,比如滚动轴承的状态评估,利用VMD可有效提取设备运行过程中产生的振动信号中的微弱故障特征,进而提前预警潜在的风险因素,保障生产安全与连续性。 #### 能源管理 对于新能源发电系统而言,如光伏发电输出功率波动较大,借助于VMD技术可以精确解析出短周期变化成分,辅助制定合理的调度策略;同样适用于混合储能装置内部荷电状态(SOC)估计及时序预测建模等工作场景之中。 #### 数据科学 除了上述工业界的具体案例外,任何涉及到一维或多维时间序列数据的研究课题都可以考虑采用VMD来进行预处理或者作为特征工程技术的一部分,提高后续机器学习或统计分析的效果质量。 ```matlab % MATLAB 实现VMD的一个简单例子 clear; clc; fs = 10e3; % Sampling frequency (Hz) t = linspace(0, 1, fs); % Time vector from 0 to 1 second with sampling rate of 'fs' f1 = 50; f2 = 200; % Two different frequencies components within the signal x = cos(2*pi*f1*t)+cos(2*pi*f2*t); alpha = 2000; tau = 0; K = 2; DC = 0; init = 1; tol = 1e-7; [u, u_hat, omega] = vmd(x, alpha, tau, K, DC, init, tol); plot(t,x,'k', t,u(:,1),'r--', t,u(:,2), 'b-.'); legend('Original Signal','Mode 1','Mode 2') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值