傅里叶变换、短时傅里叶变换与小波变换详解
傅里叶变换、短时傅里叶变换与小波变换详解
一、傅里叶变换
1.1 原理
傅里叶变换的核心思想是将一个信号分解为多个正弦波的叠加。具体来说,傅里叶变换使用无限长的三角函数作为基函数,这些基函数可以伸缩和平移。当基函数与信号相乘时,乘积的结果反映了信号中包含的特定频率成分的多少。这个过程实际上是在计算信号与三角函数的相关性。如果某个频率成分在信号中占比较大,那么在频谱图上就会出现对应的峰值。
上图展示了对一个平稳信号进行傅里叶变换得到的频谱图,其中包含了10Hz、25Hz、50Hz和100Hz四个频率成分。
1.2 缺陷
傅里叶变换虽然能够揭示信号的频率成分,但存在一个致命的缺陷:它无法提供这些频率成分出现的具体时间。对于非平稳信号(即频率随时间变化的信号),这一点尤为致命。下图展示了三个在时域上差异巨大的信号,但它们的频谱图却几乎完全相同,都显示了相同的四个频率成分。
这表明,傅里叶变换只能告诉我们信号中包含哪些频率成分,却无法告诉我们这些成分出现的具体时间。
二、短时傅里叶变换(Short-time Fourier Transform, STFT)
2.1 概念
为了克服傅里叶变换的这一缺陷,人们提出了短时傅里叶变换(STFT)。STFT的基本思想是将整个信号分割成多个短小的、近似平稳的片段,然后对每个片段分别进行傅里叶变换。这样,我们不仅能够知道信号中包含哪些频率成分,还能知道这些成分出现的具体时间。
上图展示了对一个非平稳信号进行STFT后的时频图。从图中可以看出,不仅能够识别出10Hz、25Hz、50Hz和100Hz四个频率成分,还能看到它们出现的具体时间。
2.2 缺陷
然而,STFT也存在一个无法避免的缺陷:窗口大小的选择问题。对于时变的非稳态信号,高频成分需要较小的窗口以获得较高的时间分辨率,而低频成分则需要较大的窗口以获得较高的频率分辨率。但是,STFT采用的是固定窗口大小,这意味着在一次变换中窗口大小是不变的。这导致了一个两难的选择:如果选择较小的窗口,虽然时间分辨率较高,但频率分辨率会降低;如果选择较大的窗口,虽然频率分辨率较高,但时间分辨率会降低。
上图展示了对同一信号使用不同窗口大小进行STFT的结果。可以看出,窄窗口虽然在时间轴上分辨率很高,但频率分辨率较低;宽窗口虽然在频率轴上分辨率较高,但时间分辨率较低。
三、小波变换
小波变换是为了解决STFT的窗口大小选择问题而提出的。与傅里叶变换和STFT不同,小波变换使用的是有限长的、会衰减的小波基函数。小波变换有两个变量:尺度a(scale)和平移量τ(translation)。尺度a控制小波函数的伸缩,平移量τ控制小波函数的平移。尺度与频率成反比,平移量则对应于时间。
小波变换的优势在于它能够同时提供良好的时间分辨率和频率分辨率。当小波函数与信号在某个时间点重合时,相乘的结果会很大,这不仅告诉我们信号中存在某个频率成分,还告诉我们这个成分出现的具体时间。因此,小波变换能够生成时频谱,既能获取频率信息,又能定位到具体时间。
此外,对于突变信号,傅里叶变换存在吉布斯效应,即在信号突变处会出现振荡现象。而小波变换由于使用的是有限长的、会衰减的基函数,因此能够更好地处理突变信号。
总结
- 傅里叶变换:使用无限长的三角函数基,只能获取信号的频率成分,无法定位时间。
- 短时傅里叶变换(STFT):通过加窗的方式,能够获取信号的时频信息,但窗口大小的选择是一个两难问题。
- 小波变换:使用有限长的、会衰减的小波基,能够同时提供良好的时间分辨率和频率分辨率,适合处理非平稳信号。