完全搞懂傅里葉變換和小波(1)——總綱
無論是學(xué)習(xí)信號處理,還是做圖像、音視頻處理方面的研究,你永遠(yuǎn)避不開的一個(gè)內(nèi)容,就是傅里葉變換和小波。但是這兩個(gè)東西其實(shí)并不容易弄懂,或者說其實(shí)是非常抽象和晦澀的!
本文引用地址:http://m.butianyuan.cn/article/201702/344594.htm完全搞懂傅里葉變換和小波,你至少需要知道哪些預(yù)備知識?主頁君從今天開始就將通過一些列文章告訴你他們之間的來龍去脈!本節(jié)是全部系列文章的第一節(jié)——總綱,日后我們也將按照這個(gè)思路一點(diǎn)一點(diǎn)講述所有的知識。需要說明的是,本文主要面向計(jì)算機(jī)專業(yè)或者電子信息專業(yè)的讀者,為此我們將盡量采取一些非常非?;A(chǔ)的知識來幫助你理解。所以,題目里面講的“完全搞懂”并非是從物理學(xué)或者純數(shù)學(xué)的角度去講的,因?yàn)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/傅里葉變換">傅里葉變換最初是法國科學(xué)家傅里葉在研究物理學(xué)(主要是熱力學(xué))時(shí)創(chuàng)造出來的一套理論,如果要從這個(gè)角度去說“徹底搞懂”,肯定得需要很多物理知識、復(fù)變實(shí)變分析,之類的像天書一樣的東西。這樣牽扯下去,其實(shí)很多對于學(xué)計(jì)算機(jī)或者學(xué)電子信息的人來說,其實(shí)完全沒有必要。我們要做的,就是利用你已經(jīng)掌握的知識來構(gòu)建整個(gè)體系!
金庸在他的武俠小說《天龍八部》里塑造了一個(gè)吐蕃國師的人物形象——“鳩摩智”。鳩摩智練武急功近利,為了在短期內(nèi)多煉成幾門功夫,往往基礎(chǔ)不打牢,就強(qiáng)行修煉上乘武學(xué)。用道家的小無相功催動少林的七十二絕技,看似威力無比,其實(shí)后患無窮。其實(shí)日常學(xué)習(xí)也是這樣,如果上來就記住幾個(gè)公式,然后單刀直入地去啃傅里葉變換或者小波,其實(shí)也能做出點(diǎn)東西來,但是由于基礎(chǔ)都是空的,所以內(nèi)化的過程幾乎是斷裂的,缺損的。無論是傅里葉變換還是小波,它們的最基本理論全部都是數(shù)學(xué)。只是大部分學(xué)生很難建立起它們之間的聯(lián)系。我們今天就從數(shù)學(xué)開始說起。
圖中虛線框里的內(nèi)容,都應(yīng)該是在高等數(shù)學(xué)里必學(xué)的內(nèi)容,這部分有啥不懂的,去問童校長應(yīng)該最合適不過了。首先,你應(yīng)該知道費(fèi)馬定理(這個(gè)很簡單,說白了其實(shí)就是函數(shù)有極值的條件),通過費(fèi)馬定理,你可以證明羅爾定理,然后通過羅爾定理,你又可以證明拉格朗日中值定理,通過拉格朗日中值定理,你又可以繼而證明柯西中值定理。證明柯西中值定理的意義在于,它可以被用來證明泰勒公式。泰勒公式當(dāng)然是一個(gè)叫做泰勒的人提出來的,但是真正證明泰勒公式的人是柯西,因?yàn)榭挛髦揽挛髦兄刀ɡ?,而要證明泰勒公式就需要用到柯西中值定理。泰勒公式在我們這里有兩個(gè)用途,首先它可以用來證明歐拉公式,歐拉公式在傅里葉變換里面也是必須要用到的。其次,通過泰勒公式可以得到冪級數(shù)的展開。這是一個(gè)先導(dǎo),因?yàn)闊o論是小波展開,還是傅里葉展開,如果你理解泰勒展式或者冪級數(shù)展開式,那么對應(yīng)的就很容易解釋,人們設(shè)計(jì)傅里葉展式和小波展式的初衷和用意了。高數(shù)里的級數(shù)主要學(xué)兩種,除了冪級數(shù)以外,另外一個(gè)就是傅里葉級數(shù)。到這里你所需要的高數(shù)知識就已經(jīng)足夠了。
圖中黃色框圖里的內(nèi)容都是你在數(shù)字信號處理課程里應(yīng)該學(xué)的。我們在學(xué)傅里葉變換之前,肯定要在高數(shù)里先學(xué)一個(gè)傅里葉級數(shù),但是傅里葉級數(shù)和傅里葉變換有啥關(guān)系呢?說白了,他們的本質(zhì)是一樣一樣的,盡管它們各自公式的表達(dá)式好像差別還很大。通過傅里葉級數(shù)公式,其實(shí)你做一些化簡和變量替換(關(guān)于這部分內(nèi)容,如果讀者有興趣,主頁君后續(xù)可以給出詳細(xì)證明過程),傅里葉級數(shù)就變成傅里葉變換了,當(dāng)然是連續(xù)的。然后你根據(jù)數(shù)字信號處理里面學(xué)的采樣定理,就能到處傅里葉變換了,這就是DFT!但是DFT有個(gè)問題,如果按公式計(jì)算,效率太低,實(shí)用價(jià)值不高,后來人們就發(fā)明了一個(gè)快速算法,F(xiàn)FT!這一路下來,如果每一步,你都非常清楚,那你就已經(jīng)算是對傅里葉變換理解的很到位了。
然后說說小波,小波完全可以跟傅里葉變換對比著來理解,而且事實(shí)上,在小波出現(xiàn)之前,人們先創(chuàng)造出了一種叫短時(shí)傅里葉變換的東西,這可以被認(rèn)為是二者之間的橋梁。當(dāng)然,這部分內(nèi)容,你不知道也沒關(guān)系,你甚至可以以泰勒公式和冪級數(shù)為起點(diǎn)來理解小波。小波級數(shù)展開對應(yīng)的是傅里葉展開,連續(xù)小波對應(yīng)連續(xù)傅里葉變換,DWT對應(yīng)DFT。這些都非常容易理解。同樣,人們(其實(shí)主要是Mallat)也開發(fā)了一種小波的快速算法,F(xiàn)WT。FWT就像FFT在傅里葉變換中的地位。要理解FWT,你需要知道兩個(gè)基礎(chǔ)知識,一個(gè)叫做MRA,即多分辨率分析,學(xué)習(xí)MRA對于理解小波也非常有意義。因?yàn)镸RA是構(gòu)建小波的一種方法。另外一個(gè)你必須要知道的東西叫做“子帶編碼”或者子帶分解。
要想理解子帶分解,你就必須知道QMF,即正交鏡像濾波器,而QMF是多采樣率信號處理里面的重要內(nèi)容。所以你必須有多采樣率信號處理知識的基礎(chǔ),而多采樣率信號處理的基礎(chǔ)又是數(shù)字信號處理!另外,子帶編碼還有一個(gè)理論基礎(chǔ),或者說,子帶編碼為啥被證明有效,這就必須要知道率失真理論的有關(guān)結(jié)論。率失真理論又是信息論的重要組成部分。所以,最后這條線路上,你的學(xué)習(xí)脈絡(luò)應(yīng)該是從信息論出發(fā)的(其實(shí)主要是互信息和率失真方面的內(nèi)容),然后才是信號處理,然后是多抽樣率處理,然后是子帶編碼和QMF,這些你都懂了之后,F(xiàn)WT就太Easy了!當(dāng)然,你直接就學(xué)FWT的算法,而不去管它到底是怎么來的,也是可以的,只是就像我之前說的,你的基礎(chǔ)基本上都是空的,你學(xué)了也只是學(xué)個(gè)招式,內(nèi)功心法幾乎不會,所以再往上走可能會遇到很多困難。
任何一門學(xué)科或者知識發(fā)展到現(xiàn)在少說都是幾十年了,讓我們在短短個(gè)把月之內(nèi)就學(xué)完,其實(shí)很不容易。所以看起來自己要知道的東西實(shí)在太多了,而學(xué)習(xí)的時(shí)間又是這樣的有限。但是也沒辦法,樓宇要蓋的越高,地基就勢必要打得越深。
另外:補(bǔ)充一點(diǎn),后續(xù)在具體代碼實(shí)現(xiàn)時(shí),我們采用的語言C++,在Visual C++下完成。
評論