各种时频分析方法-不定期更新

引言

目前,我所知道的时频分析方法有短时傅里叶变换(STFT)、小波变换(WT)、Wigner-Ville分布(WVD)、经验模态分解(EMD)、集合经验模态分解(EEMD)、补充总体经验模态分解(CEEMD)、完全自适应噪声集合经验模态分解(CEEMDAN)、变分模态分解(VMD)
网页上关于这些时频分析方法的介绍数不胜数,我在查阅的时候每个都看过,觉得应该整理一下分析的比较清楚的链接,方便以后参考。

一、短时傅里叶变化(STFT)

1、介绍

优点: 短时傅里叶变换是最早提出的,仍然基于傅里叶变换的,所以其算法易于理解。
缺点: 时频分辨率不能兼得,窗长越长,时间分辨率越低,窗长越短,频率分辨率越低。

2、链接

  1. 先来好好理解一下什么是傅里叶频谱分析,只能分析信号的固有震动频率,频谱分析。
  2. 时频分析之STFT:短时傅里叶变换的原理与代码实现(非调用Matlab API)
    这篇文章通俗易懂,举例说明傅里叶变换的缺陷和为什么我们需要时频分析来引入,详细的讲解了短时傅里叶变换及其的matlab实现。
  3. 时频分析之短时傅里叶变换(STFT)
    详细讲解了matlab中的 spectrogram函数的用法。

二、小波变换(WT)

1、介绍

小波变换超出了傅里叶变换的范畴,是将信号分解为一系列的小波函数的叠加(或者说不同尺度、时间的小波函数拟合),
优点: 比起用正余弦函数拟合信号,小波基更能反应信号的突变细节。
缺点: 小波基是基于经验提出的,不具有自适应性,不能用一种小波基拟合所有类型的信号。

2、链接

  1. 小波变换和小波阈值法去噪,这篇文章讲解的很全面,关于小波变换和小波阈值去噪以及matlab中所包含的所有有关小波的函数。
  2. 小波去噪软阈值和硬阈值的matlab仿真程序,这篇程序可以参考,主要是matlab中软硬阈值函数 wthresh 的使用。
  3. 数字图像处理——第七章(小波变换和多分辨率处理),详细讲解了小波变换原理,小波多分辨率分析 ,以及matlab中小波工具包和小波包工具包的使用。

三、经验模态分解(EMD)及其改进算法

1、介绍

经验模态分解是1998年黄锷提出HHT( Hilbert - Huang Transform)中对于非稳态信号作希尔伯特谱分析的一个基础。
优点: EMD依据数据自身的 时间尺度特征来进行信号分解,无须预先设定任何基函数,自适应地进行信号主要成分分析。
缺点: 没有任何理论基础,且容易受到模态混叠、端点效应的影响。
EEMD原理: 白噪声以不同尺度均匀填充在整个时频空间,EMD每一次分解都包含原信号和添加的白噪声。由于白噪声是相互独立且均值为0,多次分解求平均之后噪声被相互抵消。
CEEMDAN原理:
各种时频分析方法-不定期更新_第1张图片
各种时频分析方法-不定期更新_第2张图片

2、链接

  1. 经验模态分解-基础理论篇,这篇文章能让你通过图形直观的理解什么是本征模态分量(IMF)和 EMD分解过程。(宝藏博主更新了很多后序改进算法的讲解,可以逐一查看,并且公众号还封装了代码,点赞)
  2. EMD 经验模态分解,这篇文章教你如何将matlab中的MED工具箱转换为c代码。
  3. 信号处理笔记(1)EMD经验模态分解,文章讲解了EMD算法的 python代码 实现。
  4. 对HHT中EMD处理的理解,从数学定义式角度详细讲解了EMD算法中涉及到的解析信号以及IMF概念。
  5. 希尔伯特-黄变换(HHT)的前世今生——一个从瞬时频率讲起的故事,很有意思的一篇文章。
  6. EMD——EEMD——CEEMD语音增强算法基础,有基础的情况下,一下就可以看懂三种算法的区别。
  7. G-Rilling EMD工具箱 ,详细的讲解了G-Rilling工具箱各个函数的使用方法,搭配Matlab Hilbert-Huang 变换分析总结食用更香,这两篇文章看完你可以大致对matlab中EMD的使用通透了。安装时候如果显示如下情况,到附加功能中搜索 MinGW 进行下载安装后,重新进行emd工具包的安装。
    各种时频分析方法-不定期更新_第3张图片
  8. 信号处理——Hilbert变换及谱分析,对Hilbert方法解调进行分析,并且对求信号瞬时频率给了对比。

四、变分模态分解(VMD)及其改进方法

1、介绍

变分模态分解是在EMD基础上提出的,定义了约束条件更为严格的本征模态分量(IMF),主要是想使各模态的估计带宽之和达到最小。
优点:
(1)自适应、完全非递归的模态变分和信号处理的方法;
(2)数学理论完整,对IMF和带宽定义明确且最终得到各模态的推导过程明确;
(2)可以指定模态最终分解为多少个模态(既是优点也是缺点);

缺点: 模态数量 K 和惩罚系数 α 的确定比较困难。

2、链接

  1. 信号分解 —> 变分模态分解(VMD)学习笔记,详细分析了原论文中为什么要这样构造变分问题来约束带宽,也提供了资源对VMD代码进行了详细注释。
  2. 类EMD的“信号分解方法”及MATLAB实现(第四篇)——VMD,对VMD做了总结,忽略了其中的数学推导过程,介绍了VMD所需要的几个参数的含义。
  3. 信号处理——EMD、VMD的一点小思考,对 VMD 分解个数K的确定给出了自己的一点小思考,可以借鉴一下。

参考文献:

  1. The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis [J]
  2. Variational Mode Decomposition [J]
  3. The Fourier decomposition method for nonlinear and non-stationary time series analysis [J]
  4. 杨宏. 经验模态分解及其在水声信号处理中的应用 [D]. 西北工业大学

你可能感兴趣的:(信号时频分析,matlab)