完全搞懂傅立葉變換和小波(1)——總綱

2020-12-01 電子產品世界

  無論是學習信號處理,還是做圖像、音視頻處理方面的研究,你永遠避不開的一個內容,就是傅立葉變換小波。但是這兩個東西其實並不容易弄懂,或者說其實是非常抽象和晦澀的!

本文引用地址:http://www.eepw.com.cn/article/201702/344594.htm

  完全搞懂傅立葉變換小波,你至少需要知道哪些預備知識?主頁君從今天開始就將通過一些列文章告訴你他們之間的來龍去脈!本節是全部系列文章的第一節——總綱,日後我們也將按照這個思路一點一點講述所有的知識。需要說明的是,本文主要面向計算機專業或者電子信息專業的讀者,為此我們將儘量採取一些非常非常基礎的知識來幫助你理解。所以,題目裡面講的「完全搞懂」並非是從物理學或者純數學的角度去講的,因為傅立葉變換最初是法國科學家傅立葉在研究物理學(主要是熱力學)時創造出來的一套理論,如果要從這個角度去說「徹底搞懂」,肯定得需要很多物理知識、復變實變分析,之類的像天書一樣的東西。這樣牽扯下去,其實很多對於學計算機或者學電子信息的人來說,其實完全沒有必要。我們要做的,就是利用你已經掌握的知識來構建整個體系!

    

  金庸在他的武俠小說《天龍八部》裡塑造了一個吐蕃國師的人物形象——「鳩摩智」。鳩摩智練武急功近利,為了在短期內多煉成幾門功夫,往往基礎不打牢,就強行修煉上乘武學。用道家的小無相功催動少林的七十二絕技,看似威力無比,其實後患無窮。其實日常學習也是這樣,如果上來就記住幾個公式,然後單刀直入地去啃傅立葉變換或者小波,其實也能做出點東西來,但是由於基礎都是空的,所以內化的過程幾乎是斷裂的,缺損的。無論是傅立葉變換還是小波,它們的最基本理論全部都是數學。只是大部分學生很難建立起它們之間的聯繫。我們今天就從數學開始說起。

  圖中虛線框裡的內容,都應該是在高等數學裡必學的內容,這部分有啥不懂的,去問童校長應該最合適不過了。首先,你應該知道費馬定理(這個很簡單,說白了其實就是函數有極值的條件),通過費馬定理,你可以證明羅爾定理,然後通過羅爾定理,你又可以證明拉格朗日中值定理,通過拉格朗日中值定理,你又可以繼而證明柯西中值定理。證明柯西中值定理的意義在於,它可以被用來證明泰勒公式。泰勒公式當然是一個叫做泰勒的人提出來的,但是真正證明泰勒公式的人是柯西,因為柯西知道柯西中值定理,而要證明泰勒公式就需要用到柯西中值定理。泰勒公式在我們這裡有兩個用途,首先它可以用來證明歐拉公式,歐拉公式在傅立葉變換裡面也是必須要用到的。其次,通過泰勒公式可以得到冪級數的展開。這是一個先導,因為無論是小波展開,還是傅立葉展開,如果你理解泰勒展式或者冪級數展開式,那麼對應的就很容易解釋,人們設計傅立葉展式和小波展式的初衷和用意了。高數裡的級數主要學兩種,除了冪級數以外,另外一個就是傅立葉級數。到這裡你所需要的高數知識就已經足夠了。

  圖中黃色框圖裡的內容都是你在數位訊號處理課程裡應該學的。我們在學傅立葉變換之前,肯定要在高數裡先學一個傅立葉級數,但是傅立葉級數和傅立葉變換有啥關係呢?說白了,他們的本質是一樣一樣的,儘管它們各自公式的表達式好像差別還很大。通過傅立葉級數公式,其實你做一些化簡和變量替換(關於這部分內容,如果讀者有興趣,主頁君後續可以給出詳細證明過程),傅立葉級數就變成傅立葉變換了,當然是連續的。然後你根據數位訊號處理裡面學的採樣定理,就能到處傅立葉變換了,這就是DFT!但是DFT有個問題,如果按公式計算,效率太低,實用價值不高,後來人們就發明了一個快速算法,FFT!這一路下來,如果每一步,你都非常清楚,那你就已經算是對傅立葉變換理解的很到位了。

  然後說說小波,小波完全可以跟傅立葉變換對比著來理解,而且事實上,在小波出現之前,人們先創造出了一種叫短時傅立葉變換的東西,這可以被認為是二者之間的橋梁。當然,這部分內容,你不知道也沒關係,你甚至可以以泰勒公式和冪級數為起點來理解小波。小波級數展開對應的是傅立葉展開,連續小波對應連續傅立葉變換,DWT對應DFT。這些都非常容易理解。同樣,人們(其實主要是Mallat)也開發了一種小波的快速算法,FWT。FWT就像FFT在傅立葉變換中的地位。要理解FWT,你需要知道兩個基礎知識,一個叫做MRA,即多解析度分析,學習MRA對於理解小波也非常有意義。因為MRA是構建小波的一種方法。另外一個你必須要知道的東西叫做「子帶編碼」或者子帶分解。

  要想理解子帶分解,你就必須知道QMF,即正交鏡像濾波器,而QMF是多採樣率信號處理裡面的重要內容。所以你必須有多採樣率信號處理知識的基礎,而多採樣率信號處理的基礎又是數位訊號處理!另外,子帶編碼還有一個理論基礎,或者說,子帶編碼為啥被證明有效,這就必須要知道率失真理論的有關結論。率失真理論又是資訊理論的重要組成部分。所以,最後這條線路上,你的學習脈絡應該是從資訊理論出發的(其實主要是互信息和率失真方面的內容),然後才是信號處理,然後是多抽樣率處理,然後是子帶編碼和QMF,這些你都懂了之後,FWT就太Easy了!當然,你直接就學FWT的算法,而不去管它到底是怎麼來的,也是可以的,只是就像我之前說的,你的基礎基本上都是空的,你學了也只是學個招式,內功心法幾乎不會,所以再往上走可能會遇到很多困難。

  任何一門學科或者知識發展到現在少說都是幾十年了,讓我們在短短個把月之內就學完,其實很不容易。所以看起來自己要知道的東西實在太多了,而學習的時間又是這樣的有限。但是也沒辦法,樓宇要蓋的越高,地基就勢必要打得越深。

  另外:補充一點,後續在具體代碼實現時,我們採用的語言C++,在Visual C++下完成。


相關焦點

  • 完全搞懂傅立葉變換和小波(3)——泰勒公式及其證明
    書接上文,之前我們介紹了高等數學裡的三個中值定理,本節我們繼續按照總綱的思路,用柯西中值定理來證明泰勒公式。這是我們循序漸進引出傅立葉的最後一項任務,完成這一步的學習之後,你就可以從級數的角度,了解傅立葉的意義了。
  • 完全搞懂傅立葉變換和小波(4)——歐拉公式及其證明
    本文引用地址:http://www.eepw.com.cn/article/201703/345196.htm  本節我們介紹歐拉公式,它是複變函數中非常重要的一個定理,同時對於傅立葉變換的理解也必不可少。我們在高等數學裡學習的傅立葉級數通常都是用三角函數形式表示的,而傅立葉變換中的一般都是用冪指數形式的,歐拉公式的作用正是把三角函數與e的冪指數聯繫到一起。
  • 完全搞懂傅立葉變換和小波(2)——三個中值定理
    書接上文,本文章是該系列的第二篇,按照總綱中給出的框架,本節介紹三個中值定理,包括它們的證明及幾何意義。這三個中值定理是高等數學中非常基礎的部分,如果讀者對於高數的內容已經非常了解,大可跳過此部分。
  • 完全搞懂傅立葉變換和小波(6)——傅立葉級數展開之函數項級數的性質
    傅立葉級數是一種函數項(三角函數)級數,本質上來說,一幅圖像(或者一組信號)就是一個函數,我們研究圖像的傅立葉變換,就是要探討如何將圖像函數用三角函數進行展開。所以如果要徹底搞清楚傅立葉變換,那麼討論函數項級數的性質是非常有必要的。在此基礎上,我們將引入傅立葉級數的概念。
  • 完全搞懂傅立葉變換和小波(5)——傅立葉級數展開之函數項級數的概念
    1.4 傅立葉級數展開本文引用地址:http://www.eepw.com.cn/article/201703/345383.htm  之前我們在介紹泰勒展開式的時候提到過傅立葉級數。
  • 小波的秘密1-小波變換概況與綜述
    2.1 基  傅立葉變換和小波變換,都會聽到分解和重構,其中這個就是根本,因為他們的變化都是將信號看成由若干個東西組成的,而且這些東西能夠處理還原成比原來更好的信號。那怎麼分解呢?>小波變換就是把一個信號分解成一系列的小波(短時間),也許就會問,小波變換的小波是什麼啊,定義中就是告訴我們小波,因為這個小波實在是太多,一個是種類多,還有就是同一種小波還可以尺度變換,但是小波在整個時間範圍的幅度平均值是0,具有有限的持續時間和突變的頻率和振幅,可以是不規則,也可以是不對稱,很明顯正弦波就不是小波,什麼的是呢,看下面幾個圖就是:
  • 小波變換教程(一):為什麼需要小波變換
    連結:http://users.rowan.edu/~polikar/WTtutorial.html該教程的目錄如下,主要分為四個部分:1)概覽:為什麼需要小波變換;2)基礎:傅立葉變換及短時傅立葉變換;3)多尺度分析:連續小波變換;4)多尺度分析:離散小波變換這是一篇引導性的教程,作者將給出小波變換的基本原理,而不會涉及公式和理論的證明。
  • 小波變換通俗解釋
    從傅立葉變換到小波變換,並不是一個完全抽象的東西,可以講得很形象。小波變換有著明確的物理意義,如果我們從它的提出時所面對的問題看起,可以整理出非常清晰的思路。下面就按照傅立葉-->短時傅立葉變換-->小波變換的順序,講一下為什麼會出現小波這個東西、小波究竟是怎樣的思路。
  • 小波變換通俗解釋版
    從傅立葉變換到小波變換,並不是一個完全抽象的東西,可以講得很形象。
  • 小波變換教程(1):基本原理
    我剛開始接觸小波變換的時候,曾經為了搞清楚小波變換這個這個神奇的世界到底發生了什麼而苦苦掙扎,因為在這個領域的入門教材非常少。因而,我決定為新手們寫一份教程。我自認為也是一個新手,必須承認,我也有很多理論細節沒有弄清楚。不過,就工程應用而言,我認為弄清楚所有的理論細節大可不必。
  • 小波變換原理與應用_小波變換的基本原理_小波變換的應用
    小波變換(wavelet transform,WT)是一種新的變換分析方法,它繼承和發展了短時傅立葉變換局部化的思想,同時又克服了窗口大小不隨頻率變化等缺點,能夠提供一個隨頻率改變的「時間-頻率」窗口,是進行信號時頻分析和處理的理想工具。
  • 傅立葉變換、拉普拉斯變換、Z 變換的聯繫是什麼?為什麼要進行這些變換?
    不是很複雜吧,你是不是很疑惑,為什麼長得和傅立葉變換的標準公式差的有點多呢,標準公式不是長得是這樣麼:你看,最終還不是換湯不換藥,無非就是多了個複數,這個複數其實沒有別的其它意義,作用就是在計算中和cos區分開來,扯到複平面上繞圈圈?沒必要!真的,傅立葉搞懂了拉普拉斯變換基本上一句話就能講完,如果不扯點傅立葉變換的東西,我估計會因為回答問題過於簡短待會答案都被摺疊了。
  • 學好了傅立葉變換,你就能……做好一盤鍋包肉
    由法國數學家傅立葉提出的傅立葉變換、以及衍生出各種變換,到現在的快速傅立葉變換等等開始廣泛地被應用到各種利用計算機處理的信息中,高速計算機和這些算法的結合,開啟了信號與信息處理的一個嶄新時代。今天我們就來從做鍋包肉的角度理解一下傅立葉變換。
  • 傅立葉分析和小波分析的通俗演義
    不過更準確一點的表述應該是:一個信號不能在時空域和頻域上同時過於集中;一個函數時域越「窄」,它經傅立葉變換的頻域後就越「寬」。如果有興趣深入研究一下的話,這個原理其實非常耐人尋味。信號處理中的一些新理論在根本上都和它有所相連,比如壓縮感知。如果你剝開它複雜的數學描述,最後會發現它在本質上能實現就源於不確定性原理。
  • 基於離散小波變換的分布式光伏孤島檢測方法
    1 小波變換及其在電力系統中的應用小波變換[11-13]是一種類似傅立葉變換的線性變換,是對給定信號時頻的局部化,短時傅立葉變換也可以實現相同的功能,但是窗口的大小不隨頻率而變化。小波變換分析法又稱為小波時間和頻率變換法,在這種方法中高頻頻譜較窄,低頻頻譜較寬。
  • 小波變換和motion信號處理(一)
    我們實驗室主要是搞圖像的,實力在全國也是很強的,進去後和師兄師姐聊,大家都在搞什麼小波變換,H264之類的。當時的我心思都不在這方面,盡搞什麼作業系統移植,ARM+FPGA這些東西了。對小波變換的認識也就停留在神秘的「圖像視頻壓縮算法之王」上面。後來我才發現,在別的很廣泛的領域中,小波也逐漸開始流行。比如話說很早以前,我們接觸的信號頻域處理基本都是傅立葉和拉普拉斯的天下。
  • 應用傅立葉-小波檢測方式的並聯型有源電力濾波器,電能質量高
    並聯型有源電力濾波器(SAPF)是治理諧波汙染的有效手段,能有效地抑制和補償電網中的諧波成分。它的關鍵技術是檢測出補償對象電流中的諧波和無功等電流分量。由於常用小波變換對頻域劃分粗略,以及變換後不能直接得到頻譜信息,所以為了克服此缺點,提出一種傅立葉-小波檢測方法。
  • 傅立葉變換
    傅立葉級數實際實際是對周期函數和半周期函數的按基地函數去1、cosx、cos2x、...cosnx、sinx、sin2x、sinnx的展開式。如果定義在(-∞,∞)區間的非周期函數還能進行傅立葉展開嗎?傅立葉計算擴展到連續變換的情況後就是傅立葉積分。已知周期為2π的函數用傅立葉展開式形式如下:
  • 小波變換和motion信號處理:第一篇
    這是《小波變換和motion信號處理》系列的第一篇,基礎普及。第二篇我準備寫深入小波的東西,第三篇講解應用。我們實驗室主要是搞圖像的,實力在全國也是很強的,進去後和師兄師姐聊,大家都在搞什麼小波變換,H264之類的。當時的我心思都不在這方面,盡搞什麼作業系統移植,ARM+FPGA這些東西了。對小波變換的認識也就停留在神秘的「圖像視頻壓縮算法之王」上面。後來我才發現,在別的很廣泛的領域中,小波也逐漸開始流行。
  • Matlab傅立葉變換、餘弦變換和小波變換
    圖像小波變換的 Matlab 實現函數3.1 一維小波變換的 Matlab 實現(1) dwt 函數 Matlab功能:一維離散小波變換格式:[cA,cD]=dwt(X,'wname')[cA,cD]=dwt(X,Lo_D,Hi_D)別可以實現一維、二維和 N 維 DFT說明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函數 'wname