理解離散傅立葉變換(一. 傅立葉變換的由來)

理解離散傅立葉變換(一)                      ------傅立葉變換的由來        關於傅立葉變換,不管是書本仍是在網上能夠很容易找到關於傅立葉變換的描述,可是大都是些故弄玄虛的 文章,太過抽象,滿是一些讓人看了就望而生畏的公式的羅列,讓人很難可以從感性上獲得理解,最近,我偶爾從網上看到一個關於數字信號處理的電子書籍,是一 個叫Steven W. Smith,  Ph.D.外國人寫的,寫得很是淺顯,裏面有七章由淺入深地專門講述關於離散信號的傅立葉變換,雖然是英文文檔,我仍是硬着頭皮看完了有關傅立葉變換的有 關內容,看了有茅塞頓開的感受,在此把我從中獲得的理解拿出來跟你們分享,但願不少被傅立葉變換迷惑的朋友可以獲得一點啓發,這電子書籍是免費的,有興趣 的朋友也能夠從網上下載下來看一下,URL地址是: http://www.dspguide.com/pdfbook.htm          要理解傅立葉變換,確實須要必定的耐心,別一會兒想着傅立葉變換是怎麼變換的,固然,也須要必定的高等數學基礎,最基本的是級數變換,其中傅立葉級數變換是傅立葉變換的基礎公式。   1、傅立葉變換的提出          讓咱們先看看爲何會有傅立葉變換?傅立葉是一位法國數學家和物理學家的名字,英語原名是Jean  Baptiste Joseph Fourier(1768-1830),  Fourier對熱傳遞很感興趣,於1807年在法國科學學會上發表了一篇論文,論文裏描述運用正弦曲線來描述溫度分佈,論文裏有個在當時具備爭議性的決 斷:任何連續週期信號均可以由一組適當的正弦曲線組合而成。當時審查這個論文的人,其中有兩位是歷史上著名的數學家拉格朗日(Joseph Louis  Lagrange, 1736-1813)和拉普拉斯(Pierre Simon de Laplace,  1749-1827),當拉普拉斯和其它審查者投票經過並要發表這個論文時,拉格朗日堅定反對,在近50年的時間裏,拉格朗日堅持認爲傅立葉的方法沒法表 示帶有棱角的信號,如在方波中出現非連續變化斜率。法國科學學會屈服於拉格朗日的威望,否認了傅立葉的工做成果,幸運的是,傅立葉還有其它事情可忙,他參 加了政治運動,隨拿破崙遠征埃及,法國大革命後因怕會被推上斷頭臺而一直在逃避。直到拉格朗日死後15年這個論文才被髮表出來。          誰是對的呢?拉格朗日是對的:正弦曲線沒法組合成一個帶有棱角的信號。可是,咱們能夠用正弦曲線來很是逼近地表示它,逼近到兩種表示方法不存在能量差異,基於此,傅立葉是對的。          爲何咱們要用正弦曲線來代替原來的曲線呢?如咱們也還能夠用方波或三角波來代替呀,分解信號的方法 是無窮多的,但分解信號的目的是爲了更加簡單地處理原來的信號。用正餘弦來表示原信號會更加簡單,由於正餘弦擁有原信號所不具備的性質:正弦曲線保真度。 一個正餘弦曲線信號輸入後,輸出的還是正餘弦曲線,只有幅度和相位可能發生變化,可是頻率和波的形狀還是同樣的。且只有正餘弦曲線才擁有這樣的性質,正因 如此咱們纔不用方波或三角波來表示。   2、傅立葉變換分類          根據原信號的不一樣類型,咱們能夠把傅立葉變換分爲四種類別:數組

1 非週期性連續信號 傅立葉變換(Fourier Transform)
2 週期性連續信號 傅立葉級數(Fourier Series)
3 非週期性離散信號 離散時域傅立葉變換(Discrete Time Fourier Transform)
4 週期性離散信號 離散傅立葉變換(Discrete Fourier Transform)

       下圖是四種原信號圖例:    這四種傅立葉變換都是針對正無窮大和負無窮大的信號,即信號的的長度是無窮大的,咱們知道這對於計算機處理來講是不可能的,那麼有沒有針對長度 有限的傅立葉變換呢?沒有。由於正餘弦波被定義成從負無窮小到正無窮大,咱們沒法把一個長度無限的信號組合成長度有限的信號。面對這種困難,方法是把長度 有限的信號表示成長度無限的信號,能夠把信號無限地從左右進行延伸,延伸的部分用零來表示,這樣,這個信號就能夠被當作是非週期性離解信號,咱們就能夠用 到離散時域傅立葉變換的方法。還有,也能夠把信號用複製的方法進行延伸,這樣信號就變成了週期性離解信號,這時咱們就能夠用離散傅立葉變換方法進行變換。 這裏咱們要學的是離散信號,對於連續信號咱們不做討論,由於計算機只能處理離散的數值信號,咱們的最終目的是運用計算機來處理信號的。          可是對於非週期性的信號,咱們須要用無窮多不一樣頻率的正弦曲線來表示,這對於計算機來講是不可能實現 的。因此對於離散信號的變換隻有離散傅立葉變換(DFT)才能被適用,對於計算機來講只有離散的和有限長度的數據才能被處理,對於其它的變換類型只有在數 學演算中才能用到,在計算機面前咱們只能用DFT方法,後面咱們要理解的也正是DFT方法。這裏要理解的是咱們使用週期性的信號目的是爲了可以用數學方法 來解決問題,至於考慮週期性信號是從哪裏獲得或怎樣獲得是無心義的。          每種傅立葉變換都分紅實數和複數兩種方法,對於實數方法是最好理解的,可是複數方法就相對複雜許多 了,須要懂得有關複數的理論知識,不過,若是理解了實數離散傅立葉變換(real  DFT),再去理解複數傅立葉變換就更容易了,因此咱們先把複數的傅立葉變換放到一邊去,先來理解實數傅立葉變換,在後面咱們會先講講關於複數的基本理 論,而後在理解了實數傅立葉變換的基礎上再來理解複數傅立葉變換。          還有,這裏咱們所要說的變換(transform)雖然是數學意義上的變換,但跟函數變換是不一樣的, 函數變換是符合一一映射準則的,對於離散數字信號處理(DSP),有許多的變換:傅立葉變換、拉普拉斯變換、Z變換、希爾伯特變換、離散餘弦變換等,這些 都擴展了函數變換的定義,容許輸入和輸出有多種的值,簡單地說變換就是把一堆的數據變成另外一堆的數據的方法。   3、一個關於實數離散傅立葉變換(Real DFT)的例子          先來看一個變換實例,下圖是一個原始信號圖像:        這個信號的長度是16,因而能夠把這個信號分解9個餘弦波和9個正弦波(一個長度爲N的信號能夠分解 成N/2+1個正餘弦信號,這是爲何呢?結合下面的18個正餘弦圖,我想從計算機處理精度上就不難理解,一個長度爲N的信號,最多隻能有N/2+1個不 同頻率,再多的頻率就超過了計算機所能所處理的精度範圍),以下圖:        9個餘弦信號:    9個正弦信號:        把以上全部信號相加便可獲得原始信號,至因而怎麼分別變換出9種不一樣頻率信號的,咱們先不急,先看看對於以上的變換結果,在程序中又是該怎麼表示的,咱們能夠看看下面這個示例圖:          上圖中左邊表示時域中的信號,右邊是頻域信號表示方法,從左向右表示正向轉換(Forward  DFT),從右向左表示逆向轉換(Inverse DFT),用小寫x[]表示信號在每一個時間點上的幅度值數組,  用大寫X[]表示每種頻率的副度值數組,  由於有N/2+1種頻率,因此該數組長度爲N/2+1,X[]數組又分兩種,一種是表示餘弦波的不一樣頻率幅度值:Re  X[],另外一種是表示正弦波的不一樣頻率幅度值:Im  X[],Re是實數(Real)的意思,Im是虛數(Imagine)的意思,採用複數的表示方法把正餘弦波組合起來進行表示,但這裏咱們不考慮複數的其 它做用,只記住是一種組合方法而已,目的是爲了便於表達(在後面咱們會知道,複數形式的傅立葉變換長度是N,而不是N/2+1)。        下一節咱們未來看一下實數傅立葉變換的具體方法。ide

相關文章
相關標籤/搜索