首页 > 其他分享 >时序数据EMD,VMD,小波,傅里叶分解

时序数据EMD,VMD,小波,傅里叶分解

时间:2022-11-30 15:35:40浏览次数:37  
标签:EMD 信号 IMF 变换 VMD 时序 频率

EMD分解: https://www.bilibili.com/video/BV1iu411f7m7/?spm_id_from=333.337.search-card.all.click&vd_source=bdbb5be671dc7bcfadbe64bf3d0d2f95

VMD分解:https://www.bilibili.com/video/BV14F41147eE/?spm_id_from=333.337.search-card.all.click&vd_source=bdbb5be671dc7bcfadbe64bf3d0d2f95

小波分解和重构:https://www.bilibili.com/video/BV1q54114744/?spm_id_from=333.337.search-card.all.click&vd_source=bdbb5be671dc7bcfadbe64bf3d0d2f95

傅里叶变换:https://www.bilibili.com/video/BV1aW4y1y7Hs/?spm_id_from=333.337.search-card.all.click&vd_source=bdbb5be671dc7bcfadbe64bf3d0d2f95

 

理论:https://zhuanlan.zhihu.com/p/150705777

傅里叶变换,小波变换,EMD,HHT,VMD(经典和现代信号处理方法基本原理概念)

 

对于信号的处理,经常可以用到如下几种方法,比如傅里叶变换、小波变换、经验模式分解(Empirical Mode Decomposition)、变分模式分解(Variational Mode Decomposition)和Hilbert-Huang变换(Hilbert-Huang Transform,HHT)。

对于傅里叶变换而言,是目前所接触到应用最多的信号处理法。通过傅里叶变换可以获取信号的频率信息。但是,傅里叶变换对于非平稳信号(频率随时间变化的信号)的处理能力不足,且只能获取一段信号总体上包含哪些频率成分,对各成分出现的时刻并无所知。

小波变换的数学基础是傅里叶变换,其被称为数学显微镜。小波变换是时间和频率的局部变换。小波变换换掉傅里叶变换的基,将无限长的三角函数基变换成了有限长的会衰减的小波基,不仅能够获取频率,还可以定位时间。通过小波变换,不仅可以知道信号的频率部分,还知道其在时间上的具体位置。对于突变信号,小波变换的效果要好于傅里叶变换。小波变换的一个要点是寻找一个小波函数。但是小波变换也有缺点和不足,就是小波基需要人为选择,同时和HHT相比,小波变换因为受到Heisenberg测不准原理(一个信号不能同时在时域和频域上过于集中)的制约,在提高时间精度的时候就要牺牲掉频率精度。同时,在处理含有突变信号的时候,HHT要比小波变换效果更好。

Hilbert-Huang变换是一种新的非平稳信号的时频分析方法,以瞬态频率为基本量,以固有模式信号为基本信号。也就是说,在HHT中表征信号交变的基本量不是频率二是瞬时频率。HHT是由EMD和Hilbert变换组成,通过EMD将信号分解为不同的基本模式分量IMF,然后使用Hilbert变换来对每个IMF进行处理,可以得知每个IMF的时间-频率关系。

EMD在HHT中起到关键的作用。EMD方法可以将非平稳信号平稳化,得到一系列不同频率的分量(IMF)。通过这样的方法可以将非平稳、非线性的信号(这里的信号就是时间序列)分解成不同时间尺度的平稳信号。最初的IMF分量代表原始信号的高频部分,随着分解的深入,相应IMF的频率变小,周期增大。这些IMF可以作为原信号的一组完全或几乎正交的展开基,这种正交变换实际上保证了信号在变换前后的能量不变。当一个信号的极大值(或极小值的数目)比过零点数目多2个以上(包括2个),则可以判定该信号就是平稳的。找出中的所有局部极大值点,并将其用三次样条插值形成上包络线;找出中的所有局部极小值点形成下包络线。上下包络线的均值为平均包络线。将原信号减去该平均包络线,得到一个去掉低频的新序列,也就是=-,重复上述过程次,直到平均包络线趋于0,这样就得到了第一个IMF分量,=-。代表高频成分,用-得到去掉高频成分的差值序列,对上得到第2个IMF分量直到不能分解为止(剩余信号极值点数小于等于2个)。于是可以得出=。其中为残余函数,代表信号的平均趋势,在进行分析的时候一般不考虑残余函数。经过EMD分解后,每个IMF分量都可能对应一个物理背景。IMF通过Hilbert变换得到Hilbert谱,谱结构特征就可进一步揭示隐藏在信号中特定的物理过程。每个IMF分量进行Hilbert变换求出瞬时频率和瞬时幅值,从而可以得知完整的时频分布。

但是EMD也有缺点,比如存在模式混叠现象,端点效应和停止条件难以判定等。为了克服上述的缺点有学者提出了VMD。相比于EMD的递归分解模式,VMD将信号分解转化为变分分解模式,其实质是多个自适应维纳(Wiener)滤波器组,VMD可以实现信号频域内各个分量的自适应分割,能够有效克服EMD分解中产生的模式混叠现象,比EMD更强的噪声鲁棒性以及更弱的端点效应。在进行VMD分解的过程中涉及经典维纳(Wiener)滤波、Hilbert变换和频率混合。假设多分量信号是由个有限带宽的模态分量组成,且各IMF的中心频率为,分解的约束条件是各模态之和等于输入信号。VMD的具体实现步骤如下所示。经过Hilbert变换之后,得到的解析信号并计算单边谱,再乘以将的中心频带调制到相应的基频带上。,计算上述解调信号梯度的范数,估计各模态的信号带宽,受约束的变分问题如下:

 

其中,。为了求受约束变分问题的最优解,引入拉格朗日乘法算子和二次惩罚因子α,将约束变分问题转化为非约束变分问题,α在高斯噪声存在的情况下保证信号的重构精度。使约束条件保持严整性。增广拉格朗日表达式如下:

 然后利用乘子交替方向算法来求解上述问题,不断更新各分量及其中心频率,最终求得该无约束模型的鞍点,即为原问题的最优解。 

其中,分别为分别为的傅里叶变换。可以看成当前剩余量通过维纳滤波器的结果。根据各分量功率谱的重心重新估计中心频率,更新。

VMD是将待分解信号转化为非递归、变分模态的分解模式,能很好地对噪声信号进行分解。VMD的整体框架是变分问题,假设每个模式是具有不同中心频率的有限带宽,通过采用乘法算子交替方向法不断地更新各个模态及其相应的中心频率,在对噪声信号进行分解后,可以得到各个变模式分量及其中心频率。

但是VMD方法也有缺点,就是不是对于所有的非平稳信号都是可以直接使用的,对一些非平稳信号需要进行预处理,另外在对VMD中的K参数进行选择时,没有一个准则,需要经验知识来进行调整。

由于在进行Hilbert变换求瞬时频率时,有时会出现负瞬时频率的现象,在使用EMD时进行了条件限定,这样瞬时功率才有实际的物理意义。

限定条件1:在整个序列中,极值点的数量(包括极大值、极小值点)与过零点的数量必须相等,或最多相差1个。

限定条件2:在任意时间点上,信号局部最大值确定的上包络线和局部极小值确定的下包络线的均值为0。

然而对于VMD,任何时刻的瞬时功率都有实际的物理意义。

 

 

 

参考文献:

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

[2] Norden E. Huang et. al. The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time seri[M]. The Royal Society,1998.

[3] 胡广书. 数字信号处理:理论、算法与实现.第2版[M]. 清华大学出版社, 2003.

标签:EMD,信号,IMF,变换,VMD,时序,频率
From: https://www.cnblogs.com/chentianyu/p/16938586.html

相关文章

  • 用神经网络做运动时序序列。
    代码importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspddf=pd.read_csv('train.csv')df=df.drop(['ID'],axis=1)nmp=df.to_numpy()feature=......
  • Systemd 服务管理器
    项目中遇到有些脚本需要通过后台进程运行,保证不被异常中断,变成守护进程的第一步,就是把它改成"后台任务"(backgroundjob)。传统上我们是用以下的方法来做:&只要在命令的尾部加......
  • systemd进程管理工具实战教程【转】
    1.0systemd介绍·systemd是目前Linux系统上主要的系统守护进程管理工具,由于init一方面对于进程的管理是串行化的,容易出现阻塞情况,另一方面init也仅仅是执行启动脚本,并不......
  • PlantUML画类图、流程图、时序图使用详解
    程序员难免要经常画流程图,状态图,时序图等。以前经常用visio画,经常为矩形画多大,摆放在哪等问题费脑筋。有时候修改文字后,为了较好的显示效果不得不再去修改图形。今天介绍......
  • 复杂时序逻辑电路
    1.时序逻辑电路的基本结构和分类1-1.基本结构时序逻辑电路由组合电路和存储电路两部分组成,通过反馈回路将两部分连成一个整体。时序逻辑电路的一般结构如下图所示。图中,X~......
  • 时序数据增强 for 深度学习
    前言最近,深度学习在许多时间序列分析任务中表现出色。深度神经网络的优越性能严重依赖于大量训练数据以避免过度拟合。然而,许多现实世界时间序列应用的标记数据可能受到限......
  • 时序数据库 influxdb 教程
    十年河东,十年河西,莫欺少年穷学无止境,精益求精时序数据库influxdb适用于物联网、等大数据行业,支持亿级数据中文参考文档​​https://jasper-zhang1.gitbooks.io/influxdb/c......
  • 拓端tecdat|matlab代写使用VMD(变分模态分解)
    matlab中使用VMD(变分模态分解)拨号音信号的变模分解创建一个以4kHz采样的信号,类似于拨打数字电话的所有键。将信号另存为MATLAB®时间数据。fs=......
  • 简单时序逻辑电路
    1.时序逻辑电路概念在前述的组合逻辑中,任意时刻的输出只与该时刻的输入信号所决定;而在接下来要讲的时序电路中,任意时刻的输出信号不仅与当时刻的输入有关,而且与电路原来的......
  • Systemd简要介绍
      Systemd为Linux中的初始化init系统,用于启动与停止服务进程,设计目标为:尽可能启动更少进程、更多进程并行启动;Systemd使用Linux的CGroup特性用来跟踪与管理进程的生命周......