如前边所说,小波做的改变就在于,将无限长的三角函数基换成了有限长的会衰减的小波基。
这就是为什么它叫“小波”,因为是很小的一个波嘛~
从公式可以看出,不同于傅里叶变换,变量只有频率ω,小波变换有两个变量:尺度a(scale)和平移量 τ(translation)。尺度a控制小波函数的伸缩,平移量 τ控制小波函数的平移。尺度就对应于频率(反比),平移量 τ就对应于时间。
那么你可能会想到,让窗口大小变起来,多做几次STFT不就可以了吗?!
没错,小波变换就有着这样的思路。
但事实上小波并不是这么做的
关于这一点,方沁园同学的表述“小波变换就是根据算法,加不等长的窗,对每一小部分进行傅里叶变换就不准确了。小波变换并没有采用窗的思想,更没有做傅里叶变换。)
至于为什么不采用可变窗的STFT呢,我认为是因为这样做冗余会太严重,STFT做不到正交化,这也是它的一大缺陷。
于是小波变换的出发点和STFT还是不同的。STFT是给信号加窗,分段做FFT;而小波直接把傅里叶变换的基给换了将无限长的三角函数基换成了有限长的会衰减的小波基。
这样不仅能够获取频率,还可以定位到时间了~
【解释】
来我们再回顾一下傅里叶变换吧,没弄清傅里叶变换为什么能得到信号各个频率成分的同学也可以再借我的图理解一下。
傅里叶变换把无限长的三角函数作为基函数:
这个基函数会伸缩、会平移(其实本质并非平移,而是两个正交基的分解)。
缩得窄,对应高频;伸得宽,对应低频。
然后这个基函数不断和信号做相乘。
某一个尺度(宽窄)下乘出来的结果,就可以理解成信号所包含的当前尺度对应频率成分有多少。
于是,基函数会在某些尺度下,与信号相乘得到一个很大的值,因为此时二者有一种重合关系。
那么我们就知道信号包含该频率的成分的多少。
仔细体会可以发现,这一步其实是在计算信号和三角函数的相关性。
看,这两种尺度能乘出一个大的值(相关度高),所以信号包含较多的这两个频率成分,在频谱上这两个频率会出现两个峰。
以上,就是粗浅意义上傅里叶变换的原理。
如前边所说,小波做的改变就在于,将无限长的三角函数基换成了有限长的会衰减的小波基。
这就是为什么它叫“小波”因为是很小的一个波嘛~
从公式可以看出,不同于傅里叶变换,变量只有频率ω,小波变换有两个变量
尺度a(scale)和平移量 τ(translation)。尺度a控制小波函数的伸缩,平移量 τ控制小波函数的平移。
尺度就对应于频率(反比),平移量 τ就对应于时间。
当伸缩、平移到这么一种重合情况时,
也会相乘得到一个大的值。
这时候和傅里叶变换不同的是,这不仅可以知道信号有这样频率的成分,而且知道它在时域上存在的具体位置。
而当我们在每个尺度下都平移着和信号乘过一遍后,我们就知道信号在每个位置都包含哪些频率成分。
看到了吗?有了小波,我们从此再也不害怕非稳定信号啦!从此可以做时频分析啦!
做傅里叶变换只能得到一个频谱,做小波变换却可以得到一个时频谱!
↑:时域信号
↑:傅里叶变换结果
↑:小波变换结果
小波还有一些好处,
比如,我们知道对于突变信号,
傅里叶变换存在吉布斯效应,我们用无限长的三角函数怎么也拟合不好突变信号:
然而衰减的小波就不一样了:
小是指这个(窗口)函数具有有限长度(紧支撑)的条件。波是指该函数振荡的条件。