短时距傅里叶变换与小波变换

上回我们说到短时距傅里叶变换

短时距傅里叶变换提供了获取频率随时间变化的二维时频图。

但是,这个方案真的好吗?上次说到,短时距傅里叶变换对时间、频率的精确度,取决于窗函数的长度,越宽的窗对频率分辨越好,但对时间分辨越坏;

因此,我们需要根据频率的范围,选择合适长度的时窗。
并且由于不确定性原理,时间-频率的不确定性总是一个长方形。

由于时窗长度是固定的,当时间信号的频率范围很大时,我们就无法根据频率范围选择合适的时窗长度。
以高斯窗为例,我们看到参数a决定了窗函数的长度,a越大,时窗函数越宽。

再看高斯窗的频域函数:a越大,高斯窗的频域函数越窄。

可以看出,高斯窗本质上是一个低通滤波。因此当我们的信号频率范围相差数倍时,我们无法选择合适的时窗长度,因此会造成操作上的不便。
此时,一种根据频率自动选择时窗长度的方法——小波变换诞生了。它和短时距傅里叶变换源于完全不同的知识分支。
1910年,一个叫Haar的人想到,能不能把信号分解为一组宽度不同的矩形时窗,以此拟合信号的形状。答案是,可以的


Haar把它的小波定义为:

那么当我们对小波进行拉伸和位移变换,就得到:

实际上,Haar的思想就是构造一组规范正交基,把信号在正交基上展开。
首先我们定义基小波(wavelet):

再通过对基小波进行时间域的拉伸(参数a),和平移(参数b),生成一组小波。

再用这一组小波完全展开信号。

小波变换就是把时间信号变换到由伸展系数a和位置系数b组成的二维相空间中。
反变换如下:

那么如何用小波变换得到时频图呢?小波变换还满足下图关系:

也就是说,从时间信号的频域函数,同样可以得到相同的Wf(a,b)。因此,我们可以先把时间信号变换到(a,b)空间,再反变换回频率空间,就得到了频率随时间的分布。
由傅里叶变换的性质

我们发现小波变换实际上是对信号进行一系列的窄带滤波。

每一个小波基的时宽、频宽都不同,

小波变换最大的优点就是小波基含有不同长度的时窗,因此可以自动根据频率选择合适的小波基。
那么,基小波的具体函数呢?我举几个例子
Morlet小波

它是一个复数小波。它在时间域上是一个对称振荡函数。仔细观察其函数就会发现,它是一个衰减的高斯窗乘上一个振荡的正弦波,因此就形成了下图左边的样子。而右图是Morlet小波的傅里叶变换结果,可以看出Morlet小波在频率域上相当于一个带通滤波器。



还有柯西小波

它在时间域上不一定对称,但它在频率域上是一个左偏带通滤波。

我们利用小波变换,对信号进行变换,也就是进行一系列窄带滤波操作,由此可以得到对高频和低频同时精确的、逼近不确定性原理极限的时频图。
在matlab里自带cwt函数,就是小波变换函数。