小波变换浅析

156 阅读6分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 ——————————————————————————————————————————

1 小波变换简介

小波变换(wavelet transform,WT)是一种新的变换分析方法,它继承和发展了短时 傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随 频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是 通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸 缩平移运算对信号(函数) 逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细 分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier 变换 的困难问题,成为继Fourier 变换以来在科学方法上的重大突破。

2 小波变换原理

在详细阐述小波变换之前,我们有必要先介绍一下傅里叶变换、短时傅里叶变换。

2.1 傅里叶变换

傅里叶变换实际上是将信号 f(t)f(t) 与一组不同频率的负正弦作内积,这一组负正弦是变 换的基向量,傅里叶系数或傅里叶变换是 f(t)f(t) 在这一组基向量上的投影,离散傅里叶正、反变换的公式如下所示。

F(u)=x=0M1f(x)ej2πuxMF(u) = \sum_{x=0}^{M-1} f(x) \cdot e^{\frac{-j2{\pi}ux}{M}}
f(x)=1Mx=0M1F(u)ej2πuxMf(x) = \frac{1}{M} \cdot \sum_{x=0}^{M-1} F(u) \cdot e^{\frac{-j2{\pi}ux}{M}}

进一步地,我们可以通过图1来描述图像每一行进行傅里叶变换的过程。我们假设要处 理的图像为256 个灰度级的灰度图,提取其第一行的灰度数据 f(t)f(t)f(t)f(t) 的第一个数据对应坐标系中 xx 轴的 00 位置,第二个数据对应坐标系中 xx 轴的 11 位置,依此类推。然后对 f(t)f(t) 进行奇延拓,那么实际上我们所做的不就是用一系列正弦信号通过组合来重建 f(t)f(t) 奇延拓后的结果吗?

既然如此,我们就再仔细观察一下前面的公式,其不就是先将 f(x)f(x) 与某个频率的正弦信号相乘,得到 f(x)f(x) 在该频率正弦信号下的系数嘛。再观察傅里叶反变换过程中所存在的 1M\frac{1}{M} ,这里又是为什么呢? 回到前面的公式,我们可以知道的是 F(u)F(u) 的实际长度为 MM ,也就是说 f(x)f(x) 是与 MM 个不同频率的正弦信号相乘,如果我们直接将 F(u)F(u) 与不同频率的正弦信号相乘用于重建 f(x)f(x) ,那么是不是相当于将原始信号的幅值变为原来的 MM 倍,所以,这也就是为什么傅里叶反变换过程中会存在 1M\frac{1}{M} 这样一个归一化因子。

图一: 图像每一行进行傅里叶变换示意图

图1: 图像每一行进行傅里叶变换示意图

2.2 短时傅里叶变换

到这里我们算是基本了解了傅里叶变换的原理,那么为什么我们要在傅里叶变换的基础上提出短时傅里叶变换、小波变换呢?

如图 2 所示,信号 1 和信号 2 在时域空间内是有着明显的不同的,但是经过离散傅里叶变换之后,其在频域的信号却极为相似,因此,我们可以这样讲——经过离散傅里叶变换后,我们丢失了时域信息,即我们不知道某个频率的信号发生于何处。

为了解决这个问题,后人又提出了短时傅里叶变换——其实就是加窗的傅里叶变换,通过分析窗口内信号的傅里叶变换,我们可以同时获取时域信息和频域信息。

如图 3 所示,通过在原始信号上平移窗口,我们间接地获取了时域信息(窗口平移量可表示信号在时域中的大概位置),但仔细观察后,我们发现问题并没有我们想象的那么简单。

在一次短时傅里叶变换中,我们所选择的窗口是固定的,那么问题来了,现实中的信号往往是分布在各个频率上。假设对于某低频信号,我们加窗分析后结果很不错——时域信息和频域信息都有了,但是对于高频信号呢?呜呼,我们发现还是丢了时域信息;换个角度,假设对于某高频信号,我们加窗分析后结果很不错——时域信息和频域信息都有了,但是对于低频信号呢?呜呼,我们发现又丢了频域信息。因此,我们已经发现了短时傅里叶变换的不足——对于一个信号,我们无法同时获取其时域信息和频域信息。

123.PNG

图2: 传统傅里叶变换所存在的问题

123.PNG

图3: 短时傅里叶变换示意图

2.3 小波变换

那么我们能不能设计一个窗口,它是可以变化的,具体来讲就是它既可以检测低频信号又可以检测高频信号,那么它该如何实现呢?看到图 4 ,有没有什么想法,聪明的你也许已经发现了,这里面存在许多不同纵横比的长方形,有没有什么新的想法冒出来的?对的,这就是小波变换的基本思想呀——采用一系列不同大小窗函数对原信号 f(x)f(x) 作离散傅里叶变换,但不要高兴的太早,实际上小波函数并非如此,其要复杂许多。 在详细解释小波变换之前,请先看一下图 5、图 6、图 7。是的,如你所猜测的那样,我们采用的是不同形状的小波。假设我们现在给定某尺度空间下的小波 WW ,那么更高尺度空间下的小波则是由 WW 经过平移和放缩得到的——具体表现为高尺度空间下的小波要比低尺度空间下的小波更“瘦”更“高”。我们以常见的哈尔小波作示例,哈尔小波如图 8 所示。到这里,小波变换的原理基本介绍完了。需要注意的是,本文不去介绍小波变换的数学过程,如果对这些复杂冗长的内容感兴趣,请自行研究,当然,你也可以随时联系我,一起交流。

picture7.jpg

图4: 纵横比变换的窗口示意图

picture8.jpg

图5: 小波变换示意图1

picture9.jpg

图6: 小波变换示意图2

picture10.jpg

图7: 小波变换示意图3

picture11.png

图8: 哈尔小波示意图