小波變換比傅里葉變換好在哪裡?
一個更有趣的比較:短時傅里葉變換 vs. 小波變換
與Fourier變換相比,小波變換是時間(空間)頻率的局部化分析,它通過伸縮平移運算對信號(函數)逐步進行多尺度細化,最終達到高頻處時間細分,低頻處頻率細分,能自動適應時頻信號分析的要求,從而可聚焦到信號的任意細節,解決了Fourier變換的困難問題,成為繼Fourier變換以來在科學方法上的重大突破。有人把小波變換稱為「數學顯微鏡」。
小波變換與傅里葉變換的區別
傅立葉分析中,以單個變數(時間或頻率)的函數表示信號,因此,不能同時作時域頻域分析.
小波分析中,利用聯合時間—尺度函數分析信號,通過平移和伸縮構造小波基,由於小波同時具有時間平移和多尺度解析度的特點,可以同時進行時頻域分析.
傅里葉變換的不足之處
- 如上圖,最上邊的是頻率始終不變的平穩信號。而下邊兩個則是頻率隨著時間改變的非平穩信號,它們同樣包含和最上信號相同頻率的四個成分。
- 做FFT後,我們發現這三個時域上有巨大差異的信號,頻譜(幅值譜)卻非常一致。尤其是下邊兩個非平穩信號,我們從頻譜上無法區分它們,因為它們包含的四個頻率的信號的成分確實是一樣的,只是出現的先後順序不同。
- 可見,傅里葉變換處理非平穩信號有天生缺陷。它只能獲取一段信號總體上包含哪些頻率的成分,但是對各成分出現的時刻並無所知。因此時域相差很大的兩個信號,可能頻譜圖一樣。
短時傅里葉變換(STFT)
如果我們還想知道各個成分出現的時間 ?
一個簡單可行的方法就是——加窗。把整個時域過程分解成無數個等長的小過程,每個小過程近似平穩,再傅里葉變換,就知道在哪個時間點上出現了什麼頻率了。
那麼問題又來了?我們選擇多大的窗口合適呢?
- 窗太窄,窗內的信號太短,會導致頻率分析不夠精準,頻率解析度差。窗太寬,時域上又不夠精細,時間解析度低。這也是一對不可兼得的矛盾體。我們不知道在某個瞬間哪個頻率分量存在,我們知道的只能是在一個時間段內某個頻帶的分量存在。
- 短時傅立葉變換(STFT)的核心就是加窗,然後滑動求得聯合時頻分布.當窗口函數g(t)確定後,STFT的時—頻窗口就固定不變,與頻率無關. STFT是一種單一解析度的分析,若要改變解析度,則必須重新選定窗函數g(t).我們不能同時獲取信號絕對精準的時刻和頻率。對於非穩信號,信號變化劇烈時,主頻是高頻,要求有較高的時間解析度( 要小),信號變化平緩時,主頻是低頻,要求有較高的頻率解析度(要小). STFT不能同時兼顧兩者.
小波分析是時間和頻率的局域變換,採用多解析度分析的思想,非均勻地劃分時頻空間.通過伸縮和平移對信號進行多尺度細化,可以在不同尺度上來觀察信號.
對低頻部分採取較高的頻率解析度和較低的時間解析度,在高頻部分採取較高的時間解析度和較低的頻率解析度.逐漸精細的時域步長,可以聚焦到被分析信號的任意細節,因而它比傅立葉分析更適合處理非平穩信號,被譽為「數學顯微鏡」.
三角函數sin(nωt)構成一組完備正交基,所以信號f(t)可以用三角函數表示—傅里葉變換. 小波函數能夠構成一組完備正交基,所以信號f(t)也可以用小波函數表示—小波變換.
小波對於分析瞬時時變信號非常有用. 它有效地從信號中提取信息,通過伸縮和平移等運算對信號進行多尺度細化分析.
為什麼叫小波???
所謂「小」是指它具有衰減性;而稱之為「波」則是指它的波動性,其振幅正負相間的震蕩形式。小波分析所用的波稱為小波,小波的能量有限,有限長且會衰減,集中在某一點附近. 即小波是一種能量在時域非常集中的波.
l從公式可以看出,不同於傅里葉變換,變數只有頻率ω,小波變換有兩個變數:尺度a和平移量 τ。尺度a控制小波函數的伸縮,平移量 τ控制小波函數的平移。尺度就對應於頻率(反比),平移量 τ就對應於時間。
傅里葉變換是全局的變換,函數的各個點的值都對變換後的結果有影響。小波使用的是局部基,對某個基的係數來說,函數只有在這個基的支撐上的點才對該係數有影響。這就導致小波不僅包含頻率信息(由基的頻率反應出來),也包含時間信息(由基所在的局部時間軸位置反應出來)。
直觀講,傅里葉變換後得到的是一維的頻域信息,因此你相當於一下彈奏一個超複雜的和聲,這個和聲混合了各個頻率的音符。但是由於沒有時間信息(2017-3-8更新:變換本身不損失任何信息,只是切換坐標軸的意義而已,因此嚴格來說變換後依然有時間信息,只是無法直接從坐標(頻域)上讀出),導致你只是瞬間一起彈出來。而小波變換後得到的則是二維的信息:橫軸是時間軸,縱軸是頻率。假設現在演奏到某一位置(即處在時間軸的某個局部區域),當前位置有一些頻率不同的小波基,你的演奏方式就是彈出一個和聲,這個和聲混合了當前局部時間內的所有小波基所對應的頻率,音符的強度則由頻率對應的小波基係數決定。隨著時間流逝,你不斷如此地彈出各種和聲,從而演奏了美妙的一曲。。。。
前面大家對小波的時頻的好處闡述的很多了。我從小波的一些特性來說說吧 。小波的的尺度收縮特性使得小波具有了分形的特性。這種特性能夠小波捕獲了信號和數據的局部相似性。這種能力可以用來壓縮和特徵提取,這是傅立葉所沒有的,小波也是有缺點的,在對信號頻域分析的時候,由於小波使用了下採樣,違反了柰圭斯特準則,造成了頻譜的混疊。另外由於小波是多解析度分析中的一種,能夠檢測出信號中的奇異點,當然檢測奇異點你可以理解為特徵提取的一種實例而已。
直觀理解,純拋磚。
傅里葉變換僅是頻域變換,僅是對信號的變換結果。比如1D信號,得到的是1D傅里葉變換結果。
小波變換是時頻域聯合分析,從不同的scale來看同一個信號,比如對1D信號,得到的是2D圖像。
這個2D圖是根據小波基分解得到的。而選擇不同的小波基得到的結果又會有略微的差異。
下面這個圖很直觀,每個頻率和它所處的時間都可以從這個圖中看出來,而傳統Fourier變換就不行,因為時域信息被壓縮了(來自http://person.hst.aau.dk/enk/ST8/Lecture5_Slides.pdf):從這個角度上看,時頻域聯合分析是將從時域和頻域兩個角度看到的「實際信號」的投影結合起來,並推斷這個「實際信號」的所有信息的過程。這個對於辨別不同頻率信號的時間位置很有幫助。小波變換就大概是這個意思。
下面是另一個關於小波問題的回答, 我覺得在這裡也適用, 所以一併粘貼過來了, 歡迎大家一起討論。
相信大家都看過油畫。 對於特別巨幅的油畫, 不知道有沒有過體會, 油畫是只可遠觀而不可褻玩? 當你在足夠遠的距離觀察油畫時, 油畫所表達的內容是有層次且內容豐富的, 但是當你靠近油畫甚至貼在油畫上看時, 你只能看到一個個的小色塊, 而此時這些小色塊此時變成毫無意義的無規則排列。 我們假設油畫中的每個小色塊都對應某一信號中的某個瞬時時間,那麼無數個小色塊就拼湊成了整幅畫, 相當於無數個瞬時時間片段組成了整個信號。那麼,當我們想看看在這個信號的某個時間發生了什麼的時候, 我們不得不試圖靠近這幅畫。
假設一個信號所包含的全部頻率信息包含在一副無邊無際的油畫之中, 辣么, 當你和油畫的距離為無窮遠的時候你能夠毫不費力的看清楚這幅畫的全貌,(相當於傅立葉變換,可獲得此信號的全部頻率信息), 但是你卻無法看清楚這幅畫的細節(無法得知此信號在某個時刻的瞬時頻率)。 當你慢慢走向這幅畫的時候(給傅立葉變換加窗), 你走得越近(窗長越短), 細節越清楚(信號的時間解析度越來越高), 也就是每個小色塊都越來越清晰, 但每個色塊所包含的信息量(頻率信息)也越來越少,這就是著名的海森堡測不準原理(你永遠無法得知一個信號之中任一時刻的準確頻率信息, 即瞬時頻率), 也就是說你永遠不可能在距離油畫0 cm的位置觀測出油畫所畫的內容。
如果,以上我的假設你都認同的話,辣么加窗傅立葉變換相當於你選擇了一個固定的距離觀察這幅油畫,當距離近時(窗長減少), 油畫的細節更加清楚, 但是油畫所表達的信息量隨之減少。
這時候就有人提出來了,這個問題還不容易嗎? 油畫在有的地方細節多,我們就離近一點看嘛(增大變換尺度,增加時間解析度);有的地方細節少,我們就離得稍微遠一點看嘛(減小變化尺度,縮減時間解析度),這樣,在細節和內容的信息量上都能兼顧,能夠更全面的欣賞這幅油畫,這就是所謂的小波變換啦!其實這個原理非常簡單, 題主可以想像我們看一副大型油畫時,通常都是先離遠點看看全貌, 然後對於一些細節豐富的地方,我們會走近觀察。
跑題一個,推薦幾本書吧:
The World According to Wavelets: The Story of a Mathematical Technique in the Making
The Story of a Mathematical Technique in the Making, Second Edition: Barbara Burke Hubbard: 9781568810720: Amazon.com: Books
Wavelets Through a Looking Glass: The World of the Spectrum
Amazon.com: Wavelets Through a Looking Glass: The World of the Spectrum (Applied and Numerical Harmonic Analysis) (9780817642808): Ola Bratteli, Palle Jorgensen, B. Treadway: Books
Ten Lectures on Wavelets
Ingrid Daubechies: 9780898712742: Amazon.com: Books
根據實際使用情況來看,小波變換能用更少的係數來近似原始信號(參考Jpeg2000圖像壓縮)
傅里葉變換是用「基函數」集表示一個信號,這些「基函數」是不同頻率的正弦和餘弦函數。然而,正弦和餘弦的時域範圍為無限長,因此傅里葉變換用於表示有限長的非周期函數或是有尖峰和不連續點的函數的效果較差。短時傅里葉變換STFT是在短時窗內進行傅里葉變換。然而,STFT也存在選擇窗口寬度問題,窄窗口的時間解析度高,但頻率解析度低;寬窗口的頻率解析度高,但時間解析度低。這一矛盾推動了小波變換的發展,小波變換試圖在時間解析度和頻率解析度之間尋找最佳的平衡點。
小波變換用基波來粗糙表示原信號,然後在此基礎上 不斷地旋轉 縮放 平移等 疊加基波來進行信號分析。
基波不再是正弦餘弦信號,是有限長的小波函數。
演算法不是電視劇人物,任何演算法沒有什麼好壞之分,只有應用場合不同。
傅立葉變換是把信號統計了變換成頻率,在連續實時信號時可以用窗口,適合成份簡單的宏觀特徵分析。
小波變換實際是用小波函數來分離出不同信號成分,主要思想是分離出不同成份區別分析,適合實時偵測信號特徵,適合成份複雜的分層分析。小波算是局部傅里葉變換的理論基礎吧。
傅里葉變換在理論上是對無限長度的信號進行的,一般在算的時候是按一個整周期來算,但是在實際問題中很難說一個整周期有多長。小波從理論上就是一個局部變換,實用性更強。
以上是我個人的理解,如有不對的地方請大家指正。傅里葉變化丟失了時域信息。
推薦閱讀: