開個玩笑啦,沒有任何瞧不起文科生的意思~
傅立葉變換是有史以來最偉大、最深刻的數學發現之一。但不幸的是,初次見它的公式似乎很難理解其中的內涵。例如,對滿足狄裡赫利(Dirichlet)條件的週期訊號做傅立葉變換可以得到一組傅立葉級數,其可以表示為:
Emmmmm…
數學中所謂的“變換”其實是在變換看待問題的角度,而並非變換問題自身,詳見:拉普拉斯變換中的S是個什麼鬼?。
舉個栗子
為了更好地理解“變換”的概念,現在給出一個Better Explained
[1]
上關於“變換”的簡單比喻:
假如有一種飲料叫做:
橘子香蕉牛奶冰沙
。
你很想喝,但是現在你發現市場上賣的簡直太貴啦,一杯不算稅居然都得10刀。
但有時候貧窮是件好事,因為貧窮會逼著你學會很多生活技能!
顯然,我們下一步要做的就是
自制橘子香蕉牛奶冰沙
了!
但是,就和炒菜一樣,即使是同樣的食材,給不同的人炒出來的味道也是千差萬別。想做出和市場上口感一樣的冰沙,最重要的是要知道原材料的種類和比例。那麼,這個從一杯橘子香蕉牛奶冰沙中獲取原材料和比例的過程也就可以類比於傅立葉變換的過程了。我們姑且稱之為“橘子香蕉牛奶冰沙的傅立葉變換”。
為了理清思路,先回答以下幾個問題:
1、 “橘子香蕉牛奶冰沙的傅立葉變換”是做什麼的?
答:得到一杯水果冰沙後,找出其中包含的各種成分及其性質。
2、怎麼做?
答:讓冰沙透過某種“過濾器”,以便提取出其中的每種成分。
3、為什麼這樣做?
答:各個單一的組成成分比冰沙本身更容易分析,比較和修改。
4、如何自制橘子香蕉牛奶冰沙?
答:將過濾得到的各個組成成分按分析所得的比例混合即可。
(圖片來源: betterexplained)
就像上面的示意圖,如果倒入了9個單位量的水果冰沙。
經過“香蕉過濾器”,得到1個單位量的香蕉;
經過“橘子過濾器”,得到2個單位量的橘子;
經過“牛奶過濾器”,得到3個單位量的牛奶;
經過“冰沙過濾器”,得到3個單位量的冰沙。
這樣,我們就獲得了製造冰沙的“配方”,只需將各個成分按過濾得到的比例加以混合,就可以得到和市場上一模一樣的橘子香蕉牛奶冰沙了!
從消費者的角度,看到的是包含有“香蕉”、“橘子”、“牛奶”和“冰沙”的水果冰沙;而從冰沙的製造者角度來說,關心的是製作冰沙的配方,即成分和比例!
“橘子香蕉牛奶冰沙的傅立葉變換”將我們的視角從消費者轉向生產者;從“我有水果冰沙。”轉向“水果冰沙是怎麼製作的?”。這就是兩種不同的角度,而實現這兩種角度切換的就是上圖中的“過濾器”(也即“變換”)。
在“過濾”(變換)的過程中,各個成分及比例並沒有改變。因此,我們可以透過這種變換來
逆向還原出配方
,這就是“過濾器”(變換)的意義之所在。
傅立葉簡介
好,明白了“變換”的意義之後,現在看看正經的傅立葉變換。首先,介紹一下大名鼎鼎的傅立葉
[2]
。
Jean-Baptiste Joseph Fourier 21 March 1768 - 16 May 1830 (圖片來源: Wikipedia)
傅立葉的一生很傳奇,幼年時父母相繼離世,二十多歲畢業後當了數學老師,後又被聘任為巴黎綜合理工學院的教授。但他並不是一個安分的人,20歲的血氣方剛恰逢當時的法國大革命,他的一些政治行動曾兩次險些將其送上斷頭臺,但他也因此獲得了拿破崙的器重。
三十歲時傅立葉跟隨拿破崙東征,被任命為下埃及總督,並負責為法軍的遠征部隊提供軍火。在此期間,這個教過書、造過反、還給拿破崙背過槍的人竟然還向開羅埃及學院遞交了幾篇有關數學的論文。內容主要是關於他在三角級數方面的貢獻。
拿破崙遠征軍失敗後,他回國並於1801年被任命為伊澤爾省格倫諾布林地方長官。到了1807年,傅立葉在研究中發現了一系列成諧波關係的正弦曲線可以用來表示物體內的溫度分佈。他還聲稱,“任何”週期訊號都可以用一系列成諧波關係的正弦曲線來表示。
他隨後向巴黎科學院呈交了這篇名為《熱的傳播》的論文,主審這篇文章的四個人中。拉克爾華(F。 Lacroix) 、蒙日(G。 Monge)和拉普拉斯(P。 S。 de Laplace)都贊成發表這篇論文,但是拉格朗日(J。 L。 Lagrange)堅持拒絕傅立葉提出的這一套三角級數理論,因為在他看來,三角級數的適用範圍及其有限,不可能把具有例如導數不連續的訊號表現出來(當然,拉格朗日也並沒有說錯,因為在用三角級數近似導數不連續訊號時,在不可導點附近會出現“吉布斯現象”,但是可以透過近似使兩者的能量差為零)。至於為什麼要用正弦(餘弦)函式近似,是因為三角級數具有很多特殊的性質,例如,它是線性時不變系統的特徵函式,也就是說向該系統輸入一個正弦(餘弦)函式,輸出依然是同頻率的正弦(函式),只是幅值和相位改變了(關於幅值、頻率、相位後面會說到),這是其他簡單訊號(方波、三角波等等)不具備的性質。還有就是三角級數自身構成了完備的正交基空間,該性質使其能夠在重構訊號的過程中既無洩漏也無冗餘。在小波變換出現之前,對人們來說,該完備正交基空間亦是可遇不可求的。
由於拉格朗日的強烈反對,導致傅立葉的這篇論文從未發表。在幾次嘗試讓法國學院接受和出版他的論文後,傅立葉著手撰寫他作品的另一個版本。1822年,傅立葉將這套理論寫在了他的著作:《熱的解析理論》之中。這距離他首次提出該理論已經過去了整整15年。
Théorie analytique de la chaleur
雖然他關於三角級數的論述很有意義,但隱藏在這一問題後面的很多基本概念已經被其他科學家們所發現;同時,傅立葉的數學證明也不是很完善。後來於1829年,狄裡赫利(Dirichlet)給出了若干精確的條件,在這些條件下,一個週期訊號才可以用一個傅立葉級數表示。
因此,傅立葉實際上並沒對傅立葉的數學理論做出什麼貢獻。然而,他確實洞察出級數表示法的潛在威力,並且由於其斷言,大大激勵和推動了傅立葉級數問題的深入研究。另外,傅立葉在這一問題上的研究成果比他的任何先驅者都大大前進了一步,這指的是他還得出了關於非週期訊號的表示——並非成諧波關係的正弦訊號的加權和,而是不全成諧波關係的正弦訊號的加權積分。
他的發現對19世紀及之後的數學、物理、化學及各個工程領域都產生了深遠影響,他是名字被刻在埃菲爾鐵塔的七十二位法國科學家與工程師之中。
傅立葉級數的直觀表達
前面說到傅立葉認為“任何”
週期訊號
都可以表示為一系列成“諧波關係”的正弦訊號的疊加
[3]
。(這個“諧波關係”後面會提到)
正弦函式無需多言,大家都清楚,但為了直觀化表達,這裡將正弦(或餘弦)訊號同時以兩種運動形式來表示,分別是:一種是以時間為橫軸、位移為縱軸,某一點的往復運動,也就是通常所說的正弦波,或者說是振盪訊號;
另一種為某一點繞另一點的勻速圓周運動。兩種情況綜合起來為下圖所示。正弦波就是一個圓周運動在一條直線上的投影。
正弦訊號的兩種圖形化表示 (圖片來源: http://1ucasvb。tumblr。com)
這兩種表示方法之間並沒有什麼本質上的區別,就如同描繪轉角大小,一圈可以用角度表示為360°,也可以用弧度表示為2π弧度一樣。只是採用了兩種不一樣的表達形式而已
[4]
,見:一圈為何是360°?。
弧度定義的演示 (圖片來源: http://1ucasvb。tumblr。com)
當我們描述不論是上述的往復運動還是勻速圓周運動,必須且只需三個量即可唯一確定該運動的狀態。
若要描述勻速圓周運動,需要知道圓周運動軌跡的大小(即半徑或幅度);圓周運動的快慢(即角速度或頻率);以及運動的起始位置(即初始相位角),兩訊號起始位置之間的角度差又稱為
相位差
。
(圖片來源: betterexplained)
公式表示為:
其中,
即為正弦波的幅值,
為角速度或角頻率,
為初始相位角,
為時間,
為轉角。
那麼所有圓周運動(或振盪訊號)組合起來得到的位置隨時間的變化情況也就是我們最終的訊號。這和從原材料得到最終的“橘子香蕉牛奶冰沙”過程類似。
同樣,如果反過來,傅立葉級數能夠將任何週期訊號分解成一個(甚至是由無窮多個元素組成的)簡單振盪訊號的集合。
為了展示效果和受眾,這裡儘量少地列公式,僅給出了三種比較常見且簡單的訊號的分解與合成過程,這三種訊號分別是方波、鋸齒波和三角波。這三種訊號有一個共同點是:它們都是由
無數
個
無相位差(假設初試相位角均為零)
、且
成諧波關係
的
正弦波
構成的
週期性
訊號。
01、方波
方波也稱為矩形波,但是這種“方方正正”的訊號的確可以分解為無限多個正弦訊號的組合。下圖展示了方波的傅立葉級數的前50項的疊加過程,如果項數繼續增加,則最終趨近方波。
(圖片來源: 1ucasvb)
雖然組成方波的這些訊號都是正弦訊號,但是這些正弦訊號之間還需要滿足一定的條件。考慮組成方波的正弦訊號,方波可由以下公式表示,其中
為奇數:
這裡,
稱為基波頻率,而
等均為
的整數倍。這些大於基波頻率,且是基波頻率整數倍的各次分量稱為
諧波
。對於方波,基波的各偶數次諧波的幅值為零。這些諧波成分也就是組成方波的
原材料
。
這裡,引入“頻域”的概念,如下圖。
左邊時域-右邊頻域
最前面
紅色的近似矩形波
就是其後所有
藍色的正弦波
線性疊加而成的總和,也就是越來越接近矩形波的那個圖形。而後面依不同顏色排列而成的正弦波就是組合為矩形波的各個分量。這些正弦波按照頻率從低到高從前向後排列開來,而每一個波的振幅滿足上面的合成公式。每兩個正弦波之間都還有一條直線,那並不是分割線,而是振幅為
的偶數諧波。(組成方波的正弦波中,偶數次諧波的幅值均為零)
如果不關心相位或假設所有正弦波之間的相位差為零,按照圖示方向看去,時域的方波訊號就被投影到了
頻域
。因為前面的方波訊號的橫軸為時間軸,而在頻域,橫軸為頻率。這樣,一組隨時間變化的時域正弦訊號被表示為了頻域的一組離散點。頻域每個離散點的橫座標代表一個諧波頻率,而其縱座標則代表該頻率的諧波所對應的振動幅度。
(圖片來源: Wikipedia)
上圖表示的是近似方波的函式
(紅色)是六個不同幅度的諧波關係的正弦函式的和。它們的和叫做傅立葉級數。傅立葉變換
(藍色),針對幅度與頻率進行描繪,顯示出6種頻率和它們對應的幅度。傅立葉變換將訊號由時域變換到頻域。
讓我們從另一個角度去看待合成的過程。前面說到,正弦波就是一個圓周運動在一條直線上的投影。而頻域各個離散點也可以理解為一個始終在繞一個圓旋轉的點。這些點轉動的速度就對應各個諧波頻率,而轉動的半徑就對應各個諧波的幅值
[5]
。只要將這些諧波疊加起來,就能最終的訊號
[6]
。
(圖片來源: Wikipedia)
(圖片來源: https://bl。ocks。org/jinroh/7524988)
02、鋸齒波
考慮組成鋸齒波的正弦訊號,鋸齒波可由以下公式表示, 這裡
為正整數:
下圖展示了鋸齒波的傅立葉級數的前50項的疊加過程,如果項數繼續增加,則最終趨近鋸齒波。
(圖片來源: 1ucasvb)
從圓周運動的角度看疊加過程如下圖所示:
(圖片來源: Wikipedia)
(圖片來源: https://bl。ocks。org/jinroh/7524988)
03、三角波
對於三角波,與上面的兩種類似,下圖展示了三角波的傅立葉級數的前25項的疊加過程,如果項數繼續增加,則最終趨近三角波。
(圖片來源: 1ucasvb)
從圓周運動的角度看疊加過程如下圖所示:
(圖片來源: https://bl。ocks。org/jinroh/7524988)
上面那些是簡單訊號的傅立葉級數近似。最近,我在學習 3Blue1Brown 的動畫引擎 manim ,利用裡面的素材製作了用傅立葉級數生成任意圖形的動畫演示,例如 Github 的吉祥物——章魚貓(Octocat):
如果你是初學者,可能會以為這個很難,但是實際上這個動畫做起來並沒有你們想象的那麼難,如果有興趣的話可以去我的知乎專欄看看,有 3B1B 動畫製作的詳細教程。
總結
透過上面的例子可以看到,對於滿足狄裡赫利(Dirichlet)條件的週期訊號,可以分解為一組成諧波關係的正弦訊號,或者說該週期訊號做傅立葉變換可以得到一組傅立葉級數。
對於週期訊號,既然知道了其中的各個成分是成諧波關係的,那麼頻率成分就確定了。所以在不考慮相位差的情況下,問題關鍵是如何得到這些成諧波關係的正弦訊號前的
係數
(或者說,諧波的幅值,也即是各個成分的大小)。而傅立葉變換的公式恰恰就給了我們解決該問題途徑。也就是本文最開始那個公式了。由待分析的週期訊號
,可以積分得到其中所包含的諧波成分的幅值
,而將這些頻率成分全部相加則可以重構出原週期訊號。
有人為了方便理解,將傅立葉級數的求解用下式表達:
(圖片來源: betterexplained)
注意,這裡用復指數訊號來表示正弦訊號,這也是兩種可以互相轉化的表達方法,見下圖,或見:“上帝公式”真的神到無法觸碰?。
(圖片來源: betterexplained)
寫在最後
寫這一篇推送的最初目的只是想自己總結一下傅立葉變換的思想。但後來找到了不少好的圖片和動態展示,自己也想把這一看似深奧的數學理論用最親民的方式表達出來,少了很多證明和公式,多了一些直觀認識。如有不妥之處歡迎指出,不過,槓精請退散。水平有限,考慮不周,請多包涵。
推薦閱讀
參考
^
An Interactive Guide To The Fourier Transform,
https://betterexplained。com/articles/an-interactive-guide-to-the-fourier-transform/
^
Joseph Fourier,
https://en。wikipedia。org/wiki/Joseph_Fourier
^
Alan V。 Oppenheim, Alan S。 Willsky。 Signals and systems。 Prentice-Hall, 2nd ed, 1997。
^
The additive synthesis, through Fourier series, of square, sawtooth and triangle waves,
http://1ucasvb。tumblr。com/page/2
^
Fourier series,
https://en。wikipedia。org/wiki/Fourier_series
^
Fourier series visualisation with d3,
https://bl。ocks。org/jinroh/7524988