1.简述变分模态分解

变分模态分解--vmd,适用于非线性时间序列信号,主要是利用求解变分问题的思想去对信号进行提取,在不丢失原始信号特征的情况下,把一个原始信号分解成多个不同中心频率的信号,即不在同一个调制信号内。

2.以轴承信号为例

安装vmd库,直接pip install vmdpy 即可

import matplotlib.pyplot as plt
import numpy as np
from vmdpy import VMD

读取信号

ball_18_0 = np.loadtxt('E:/12k1/0HP/inner18.txt')
data = ball_18_0[2048*2:2048*3]

设置参数,但分解层数K和二次惩罚系数α需要仔细考虑设定,特别是K值,对分解效果影响巨大。

# 参数设置
alpha = 2000      # moderate bandwidth constraint
tau = 0.            # noise-tolerance (no strict fidelity enforcement)
K = 5            # 3 modes
DC = 0             # no DC part imposed
init = 1           # initialize omegas uniformly
tol = 1e-7u, u_hat, omega = VMD(data, alpha, tau, K, DC, init, tol)

绘制分解信号图

plt.figure(figsize=(10, 8))
for i in range(K):plt.subplot(K+1, 1, 1)plt.plot(data)plt.title("outer")plt.subplot(K+1, 1, i+2)plt.plot(u[i, :], linewidth=0.2, c='r')plt.ylabel('u{}'.format(i + 1))
plt.tight_layout()
plt.show()

最后绘出其频谱图

Fs = 12000
Ts = 1.0/Fs
t = np.arange(N)
k = np.arange(N)
T = N/Fs
frq = k/T
frq1 = frq[range(int(N/2))]lt.figure(figsize=(10, 8))
for i in range(K):plt.subplot(K + 1, 1, 1)data_f = abs(np.fft.fft(data)) / Ndata_f1 = data_f[range(int(N / 2))]plt.plot(frq1, data_f1)plt.title("outer")plt.subplot(K+1, 1, i + 2)data_f2 = abs(np.fft.fft(u[i, :])) / Ndata_f3 = data_f2[range(int(N / 2))]plt.plot(frq1, data_f3, 'red')plt.xlabel('pinlv(hz)')plt.ylabel('u{}'.format(i + 1))
plt.tight_layout()
plt.show()

由上述结果可知,分解出来的信号基本上不在同一个频率段,分解效果很好。

时间序列信号处理(一)-----变分模态分解(VMD)相关推荐

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

    目录 1 简介 2 变分模态分解VMD原理 3 鲸鱼优化算法优化VMD原理 3.1. 鲸鱼优化算法优化VMD原理及流程 3.2. 特征提取流程 4 优化效果 4.1. VMD各分量信号时域图 4.2. ...

  2. vmd变分模态分解程序matlab论坛_博士兼职辅导员论坛分享会第三期

    新一期经验分享报告会又来了!本次报告满满干货,快来看看都有些什么内容吧? 报告题目 齿轮箱关键零部件复合故障特征提取方法研究 报告摘要: 基于振动信号的复合故障特征提取技术一直以来都是旋转机械故障诊断 ...

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

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

  4. matlab中使用VMD(变分模态分解)

    最近我们被客户要求撰写关于VMD(变分模态分解)的研究报告,包括一些图形和统计输出. 拨号音信号的变模分解 创建一个以4 kHz采样的信号,类似于拨打数字电话的所有键.将信号另存为MATLAB®时间数 ...

  5. 利用智能算法优化参数的自适应变分模态分解,VMD实现混合储能系统的分频

    关键词:混合储能,VMD,麻雀搜索算法,遗传算法,混合储能容量配置优化,混合储能功率分配,利用智能算法优化参数的自适应变分模态分解,VMD实现混合储能系统的分频,高频分配给超级电容器,低频分配给蓄电池 ...

  6. 分解得到的时频域特征_【推荐文章】基于变分模态分解和广义Warblet变换的齿轮故障诊断...

    <机械传动>2018年  第42卷   第7期 文章编号:1004-2539(2018)07-0157-05 DOI:10.16578/j.issn.1004.2539.2018.07.0 ...

  7. 变分模态分解_Android小部件示例中的模态对话框(弹出)

    变分模态分解 在此示例中,我们将看到如何在主屏幕中创建一个可以打开弹出对话框的Android小部件. 如您所知,Android Widgets是小型应用程序,基本上可以做两件事. 按下时启动新的活动, ...

  8. linux环境vmd下载,VMD Linux版下载|VMD(变分模态分解程序) V1.9.3 Linux版 下载_当下软件园_软件下载...

    VMD Linux版是款适用于Linux操作系统的分子运动绘图分析模拟软件.它可以真实的模拟分析的运动场景,提供可视化的图形界面,帮助用户更好的理解分析变化,提高研究效率,操作简单,方便快捷,非常好用 ...

  9. VMD-SSA-LSTM基于变分模态分解和麻雀算法优化长短期记忆网络的时间序列预测MATLAB代码(含LSTM、VMD-LSTM、VMD-SSA-LSTM等模型的对比)。

    clc; clear all close all %% VMD-SSA-LSTM预测 tic load vmd_data.mat load lstm.mat disp('--------------- ...

  10. 【VMD-SSA-LSSVM】基于变分模态分解与麻雀优化Lssvm的负荷预测【多变量】(Matlab代码实现)

最新文章

  1. 快递信息css3手风琴代码_用纯CSS实现手风琴效果的示例代码
  2. 我也聊聊串口通信协议:用户层通信协议的编制
  3. oracle易忘函数用法(6)
  4. 【活动】AI人工智能技术沙龙 |杭州站
  5. eclipse把tomcant用到一个项目里_聊一个镜头工艺里容易被忽略,但很重要的项目...
  6. 【JAVA基础篇】抽象类和接口的区别
  7. 信息学奥赛一本通C++语言——1037:计算2的幂
  8. Mr.J--正则表达式
  9. 软件定义网络文章列表
  10. 晨哥真有料丨Ta是暧昧成瘾,你却动了真心!
  11. 以太坊2.0客户端Prysm缺陷导致信标链节点共损失15ETH,即将发布更新
  12. BI报表系统在银行业的应用
  13. 蓝桥杯 ADV-62算法提高 夺宝奇兵(动态规划)
  14. 想为自己设置的软件加一个属于自己的图标吗?使用AWT_Swing_图标解决你的问题(源码解析)
  15. 【class2src】Decompiler
  16. 邮件误删不用怕,试试这个方法帮你找回来
  17. php 数组排序以及按照某个字段排序
  18. SpringBoot法律知识分享问答论坛 lawbbs.liuyanzhao.com
  19. Unity3D 官方资源包Standard Assets导入
  20. Welcome home, Chtholly [Ynoi2018]五彩斑斓的世界

热门文章

  1. linux/windows查询文件特定内容并写入目标文件
  2. linux磁盘满了怎么转移,linux 磁盘转移空间的方法
  3. windows编程_WIN32_WINNT, _WIN32_IE,WINVER,_WIN32_WINDOWS(版本)的定义与取值
  4. win7 64位系统下载
  5. CSDN博客下载器v2.2发布
  6. 转发的 呀 犯法不 顶级 的 学学不错 【分享】各大资源论坛推荐及优势特点
  7. python基础--语句
  8. 离散数学1 命题逻辑-基本的概念
  9. notepad如何自动对齐_notepad怎么对齐
  10. 3个高级Excel图表技巧