形象易懂讲解算法I——小波变换

转载自:https://zhuanlan.zhihu.com/p/22450818算法

【嵌牛导读】从傅里叶变换到小波变换,并非一个彻底抽象的东西,能够讲得很形象。小波变换有着明确的物理意义,若是咱们从它的提出时所面对的问题看起,能够整理出很是清晰的思路ide

【嵌牛鼻子】小波变换函数

【嵌牛提问】小波变换是什么ui

【嵌牛正文】从傅里叶变换到小波变换,并非一个彻底抽象的东西,能够讲得很形象。小波变换有着明确的物理意义,若是咱们从它的提出时所面对的问题看起,能够整理出很是清晰的思路。orm

下面我就按照傅里叶-->短时傅里叶变换-->小波变换的顺序,讲一下为何会出现小波这个东西、小波到底是怎样的思路。事件

下面咱们主要将傅里叶变换的不足。即咱们知道傅里叶变化能够分析信号的频谱,那么为何还要提出小波变换?答案就是,“对非平稳过程,傅里叶变换有局限性”。看以下一个简单的信号:图片

 

 
图片发自简书App

作完FFT(快速傅里叶变换)后,能够在频谱上看到清晰的四条线,信号包含四个频率成分。io

一切没有问题。可是,若是是频率随着时间变化的非平稳信号呢?入门

 

 
图片发自简书App

如上图,最上边的是频率始终不变的平稳信号。而下边两个则是频率随着时间改变的非平稳信号,它们一样包含和最上信号相同频率的四个成分。form

作FFT后,咱们发现这三个时域上有巨大差别的信号,频谱(幅值谱)却很是一致。尤为是下边两个非平稳信号,咱们从频谱上没法区分它们,由于它们包含的四个频率的信号的成分确实是同样的,只是出现的前后顺序不一样。

可见,傅里叶变换处理非平稳信号有天生缺陷。它只能获取一段信号整体上包含哪些频率的成分,可是对各成分出现的时刻并没有所知。所以时域相差很大的两个信号,可能频谱图同样。

然而平稳信号大可能是人为制造出来的,天然界的大量信号几乎都是非平稳的,因此在好比生物医学信号分析等领域的论文中,基本看不到单纯傅里叶变换这样naive的方法。

 

 
图片发自简书App

上图所示的是一个正常人的事件相关电位。对于这样的非平稳信号,只知道包含哪些频率成分是不够的,咱们还想知道各个成分出现的时间。知道信号频率随时间变化的状况,各个时刻的瞬时频率及其幅值——这也就是时频分析。

2、短时傅里叶变换(Short-time Fourier Transform, STFT)

一个简单可行的方法就是——加窗。我又要套用方沁园同窗的描述了,“把整个时域过程分解成无数个等长的小过程,每一个小过程近似平稳,再傅里叶变换,就知道在哪一个时间点上出现了什么频率了。”这就是短时傅里叶变换。

看图:

 

 
图片发自简书App

时域上分红一段一段作FFT,不就知道频率成分随着时间的变化状况了吗!

用这样的方法,能够获得一个信号的时频图了:

 

 
图片发自简书App

——此图像来源于“THE WAVELET TUTORIAL”

图上既能看到10Hz, 25 Hz, 50 Hz, 100 Hz四个频域成分,还能看到出现的时间。两排峰是对称的,因此你们只用看一排就好了。

是否是棒棒的?时频分析结果到手。可是STFT依然有缺陷。

使用STFT存在一个问题,咱们应该用多宽的窗函数?

窗太宽太窄都有问题:

 
图片发自简书App

 

 
图片发自简书App

窗太窄,窗内的信号过短,会致使频率分析不够精准,频率分辨率差。窗太宽,时域上又不够精细,时间分辨率低。

(这里插一句,这个道理能够用海森堡不肯定性原理来解释。相似于咱们不能同时获取一个粒子的动量和位置,咱们也不能同时获取信号绝对精准的时刻和频率。这也是一对不可兼得的矛盾体。咱们不知道在某个瞬间哪一个频率份量存在,咱们知道的只能是在一个时间段内某个频带的份量存在。 因此绝对意义的瞬时频率是不存在的。)

看看实例效果吧:

 

 
图片发自简书App

 

 
图片发自简书App

 

 
图片发自简书App

——此图像来源于“THE WAVELET TUTORIAL”

上图对同一个信号(4个频率成分)采用不一样宽度的窗作STFT,结果如右图。用窄窗,时频图在时间轴上分辨率很高,几个峰基本成矩形,而用宽窗则变成了绵延的矮山。可是频率轴上,窄窗明显不以下边两个宽窗精确。

因此窄窗口时间分辨率高、频率分辨率低,宽窗口时间分辨率低、频率分辨率高。对于时变的非稳态信号,高频适合小窗口,低频适合大窗口。然而STFT的窗口是固定的,在一次STFT中宽度不会变化,因此STFT仍是没法知足非稳态信号变化的频率的需求。

3、小波变换

那么你可能会想到,让窗口大小变起来,多作几回STFT不就能够了吗?!没错,小波变换就有着这样的思路。

但事实上小波并非这么作的(关于这一点,方沁园同窗的表述“小波变换就是根据算法,加不等长的窗,对每一小部分进行傅里叶变换”就不许确了。小波变换并无采用窗的思想,更没有作傅里叶变换。)

至于为何不采用可变窗的STFT呢,我认为是由于这样作冗余会太严重,STFT作不到正交化,这也是它的一大缺陷。

因而小波变换的出发点和STFT仍是不一样的。STFT是给信号加窗,分段作FFT;而小波直接把傅里叶变换的基给换了——将无限长的三角函数基换成了有限长的会衰减的小波基。这样不只可以获取频率,还能够定位到时间了~

【解释】

来咱们再回顾一下傅里叶变换吧,没弄清傅里叶变换为何能获得信号各个频率成分的同窗也能够再借个人图理解一下。傅里叶变换把无限长的三角函数做为基函数:

 

 

 
图片发自简书App

这个基函数会伸缩、会平移(其实本质并不是平移,而是两个正交基的分解)。缩得窄,对应高频;伸得宽,对应低频。而后这个基函数不断和信号作相乘。某一个尺度(宽窄)下乘出来的结果,就能够理解成信号所包含的当前尺度对应频率成分有多少。因而,基函数会在某些尺度下,与信号相乘获得一个很大的值,由于此时两者有一种重合关系。那么咱们就知道信号包含该频率的成分的多少。

仔细体会能够发现,这一步实际上是在计算信号和三角函数的相关性。

 

 
图片发自简书App

 

 
图片发自简书App

看,这两种尺度能乘出一个大的值(相关度高),因此信号包含较多的这两个频率成分,在频谱上这两个频率会出现两个峰。

以上,就是粗浅意义上傅里叶变换的原理。

如前边所说,小波作的改变就在于,将无限长的三角函数基换成了有限长的会衰减的小波基

 

 

 
图片发自简书App

 

 
图片发自简书App

从公式能够看出,不一样于傅里叶变换,变量只有频率ω,小波变换有两个变量:尺度a(scale)和平移量 τ(translation)。尺度a控制小波函数的伸缩,平移量 τ控制小波函数的平移。尺度就对应于频率(反比),平移量 τ就对应于时间。

 

 
图片发自简书App

当伸缩、平移到这么一种重合状况时,也会相乘获得一个大的值。这时候和傅里叶变换不一样的是,这不只能够知道信号有这样频率的成分,并且知道它在时域上存在的具体位置。

而当咱们在每一个尺度下都平移着和信号乘过一遍后,咱们就知道信号在每一个位置都包含哪些频率成分。

看到了吗?有了小波,咱们今后不再惧怕非稳定信号啦!今后能够作时频分析啦!

作傅里叶变换只能获得一个频谱,作小波变换却能够获得一个时频谱!

 

 
图片发自简书App

↑:时域信号

 

 
图片发自简书App

↑:傅里叶变换结果

 

 
图片发自简书App

——此图像来源于“THE WAVELET TUTORIAL”

↑:小波变换结果

小波还有一些好处,好比,咱们知道对于突变信号,傅里叶变换存在吉布斯效应,咱们用无限长的三角函数怎么也拟合很差突变信号:

 

 
图片发自简书App

然而衰减的小波就不同了:

 

 
图片发自简书App

以上,就是小波的意义。

-----------------------------------------------------------------------------------------------------------

以上只是用形象地给你们展现了一下小波的思想,但愿能对你们的入门带来一些帮助。毕竟若是对小波一无所知,直接去看那些堆砌公式、照搬论文语言的教材,必定会痛苦不堪。

在这里推荐几篇入门读物,都是以感性介绍为主,易懂但并不深刻,对你们初步理解小波会颇有帮助。文中有的思路和图也选自于其中:

1. THE WAVELET TUTORIAL (强烈推荐,点击连接:INDEX TO SERIES OF TUTORIALS TO WAVELET TRANSFORM BY ROBI POLIKAR)

2. WAVELETS:SEEING THE FOREST AND THE TREES

3. A Really Friendly Guide to Wavelets

4. Conceptual wavelets

可是真正理解透小波变换,这些还差得很远。好比你至少还要知道有一个“尺度函数”的存在,它是构造“小波函数”的关键,而且是它和小波函数一块儿才构成了小波多分辨率分析,理解了它才有可能利用小波作一些数字信号处理;你还要理解离散小波变换、正交小波变换、二维小波变换、小波包……这些内容国内教材上讲得也很糟糕,你们就一点一点啃吧~

相关文章
相关标签/搜索