做 者:韓 昊 知 乎:Heinrich 微 博:@花生油工人 知乎專欄:與時間無關的故事 謹以此文獻給大連海事大學的吳楠老師,柳曉鳴老師,王新年老師以及張晶泊老師。 轉載的同窗請保留上面這句話,謝謝。若是還能保留文章來源就更感激涕零了。 ——更新於2014.6.6,想直接看更新的同窗能夠直接跳到第四章————
我保證這篇文章和你之前看過的全部文章都不一樣,這是 12 年還在果殼的時候寫的,可是當時沒有來得及寫完就出國了……因而拖了兩年,嗯,我是拖延症患者……
函數
這篇文章的核心思想就是:工具
要讓讀者在不看任何數學公式的狀況下理解傅里葉分析。學習
傅里葉分析不只僅是一個數學工具,更是一種能夠完全顛覆一我的之前世界觀的思惟模式。但不幸的是,傅里葉分析的公式看起來太複雜了,因此不少大一新生上來就懵圈並今後對它深惡痛絕。老實說,這麼有意思的東西竟然成了大學裏的殺手課程,不得不歸咎於編教材的人實在是太嚴肅了。(您把教材寫得好玩一點會死嗎?會死嗎?)因此我一直想寫一個有意思的文章來解釋傅里葉分析,有可能的話高中生都能看懂的那種。因此,無論讀到這裏的您從事何種工做,我保證您都能看懂,而且必定將體會到經過傅里葉分析看到世界另外一個樣子時的快感。至於對於已經有必定基礎的朋友,也但願不要看到會的地方就急忙日後翻,仔細讀必定會有新的發現。spa
————以上是定場詩————code
下面進入正題:orm
抱歉,仍是要囉嗦一句:其實學習原本就不是易事,我寫這篇文章的初衷也是但願你們學習起來更加輕鬆,充滿樂趣。可是千萬!千萬不要把這篇文章收藏起來,或是存下地址,內心想着:之後有時間再看。這樣的例子太多了,也許幾年後你都沒有再打開這個頁面。不管如何,耐下心,讀下去。這篇文章要比讀課本要輕鬆、開心得多……遊戲
p.s.本文不管是 cos 仍是 sin,都統一用「正弦波」(Sine Wave)一詞來表明簡諧波。圖片
1、什麼是頻域ci
從咱們出生,咱們看到的世界都以時間貫穿,股票的走勢、人的身高、汽車的軌跡都會隨着時間發生改變。這種以時間做爲參照來觀察動態世界的方法咱們稱其爲時域分析。而咱們也想固然的認爲,世間萬物都在隨着時間不停的改變,而且永遠不會靜止下來。但若是我告訴你,用另外一種方法來觀察世界的話,你會發現世界是永恆不變的,你會不會以爲我瘋了?我沒有瘋,這個靜止的世界就叫作頻域。animation
先舉一個公式上並不是很恰當,但意義上再貼切不過的例子:
在你的理解中,一段音樂是什麼呢?
這是咱們對音樂最廣泛的理解,一個隨着時間變化的震動。但我相信對於樂器小能手們來講,音樂更直觀的理解是這樣的:
好的!下課,同窗們再見。
是的,其實這一段寫到這裏已經能夠結束了。上圖是音樂在時域的樣子,而下圖則是音樂在頻域的樣子。因此頻域這一律唸對你們都從不陌生,只是歷來沒意識到而已。
如今咱們能夠回過頭來從新看看一開始那句癡人說夢般的話:世界是永恆的。
將以上兩圖簡化:
時域:
頻域:
在時域,咱們觀察到鋼琴的琴絃一會上一會下的擺動,就如同一支股票的走勢;而在頻域,只有那一個永恆的音符。
因此
你眼中看似落葉紛飛變化無常的世界,實際只是躺在上帝懷中一份早已譜好的樂章。
抱歉,這不是一句雞湯文,而是黑板上確鑿的公式:傅里葉同窗告訴咱們,任何周期函數,均可以看做是不一樣振幅,不一樣相位正弦波的疊加。在第一個例子裏咱們能夠理解爲,利用對不一樣琴鍵不一樣力度,不一樣時間點的敲擊,能夠組合出任何一首樂曲。
而貫穿時域與頻域的方法之一,就是傳中說的傅里葉分析。傅里葉分析可分爲傅里葉級數(Fourier Serie)和傅里葉變換(Fourier Transformation),咱們從簡單的開始談起。
2、傅里葉級數(Fourier Series)的頻譜
仍是舉個栗子而且有圖有真相纔好理解。
若是我說我能用前面說的正弦曲線波疊加出一個帶 90 度角的矩形波來,你會相信嗎?你不會,就像當年的我同樣。可是看看下圖:
第一幅圖是一個鬱悶的正弦波 cos(x)
第二幅圖是 2 個賣萌的正弦波的疊加 cos (x) +a.cos (3x)
第三幅圖是 4 個發春的正弦波的疊加
第四幅圖是 10 個便祕的正弦波的疊加
隨着正弦波數量逐漸的增加,他們最終會疊加成一個標準的矩形,你們從中體會到了什麼道理?
(只要努力,彎的都能掰直!)
隨着疊加的遞增,全部正弦波中上升的部分逐漸讓本來緩慢增長的曲線不斷變陡,而全部正弦波中降低的部分又抵消了上升到最高處時繼續上升的部分使其變爲水平線。一個矩形就這麼疊加而成了。可是要多少個正弦波疊加起來才能造成一個標準 90 度角的矩形波呢?不幸的告訴你們,答案是無窮多個。(上帝:我能讓大家猜着我?)
不只僅是矩形,你能想到的任何波形都是能夠如此方法用正弦波疊加起來的。這是沒
有接觸過傅里葉分析的人在直覺上的第一個難點,可是一旦接受了這樣的設定,遊戲就開始有意思起來了。
仍是上圖的正弦波累加成矩形波,咱們換一個角度來看看:
在這幾幅圖中,最前面黑色的線就是全部正弦波疊加而成的總和,也就是愈來愈接近矩形波的那個圖形。然後面依不一樣顏色排列而成的正弦波就是組合爲矩形波的各個份量。這些正弦波按照頻率從低到高從前向後排列開來,而每個波的振幅都是不一樣的。必定有細心的讀者發現了,每兩個正弦波之間都還有一條直線,那並非分割線,而是振幅爲 0 的正弦波!也就是說,爲了組成特殊的曲線,有些正弦波成分是不須要的。
這裏,不一樣頻率的正弦波咱們成爲頻率份量。
好了,關鍵的地方來了!!
若是咱們把第一個頻率最低的頻率份量看做「1」,咱們就有了構建頻域的最基本單元。
對於咱們最多見的有理數軸,數字「1」就是有理數軸的基本單元。
時域的基本單元就是「1 秒」,若是咱們將一個角頻率爲的正弦波 cos(t)看做基礎,那麼頻域的基本單元就是
。
有了「1」,還要有「0」才能構成世界,那麼頻域的「0」是什麼呢?cos(0t)就是一個週期無限長的正弦波,也就是一條直線!因此在頻域,0 頻率也被稱爲直流份量,在傅里葉級數的疊加中,它僅僅影響所有波形相對於數軸總體向上或是向下而不改變波的形狀。
接下來,讓咱們回到初中,回憶一下已經死去的八戒,啊不,已經死去的老師是怎麼定義正弦波的吧。
正弦波就是一個圓周運動在一條直線上的投影。因此頻域的基本單元也能夠理解爲一個始終在旋轉的圓
想看動圖的同窗請戳這裏:
File:Fourier series square wave circles animation.gif
以及這裏:
File:Fourier series sawtooth wave circles animation.gif
點出去的朋友不要被 wiki 拐跑了,wiki 寫的哪有這裏的文章這麼沒節操是否是。
介紹完了頻域的基本組成單元,咱們就能夠看一看一個矩形波,在頻域裏的另外一個模樣了:
這是什麼奇怪的東西?
這就是矩形波在頻域的樣子,是否是徹底認不出來了?教科書通常就給到這裏而後留給了讀者無窮的遐想,以及無窮的吐槽,其實教科書只要補一張圖就足夠了:頻域圖像,也就是俗稱的頻譜,就是——
再清楚一點:
能夠發現,在頻譜中,偶數項的振幅都是0,也就對應了圖中的彩色直線。振幅爲 0 的正弦波。
動圖請戳:
File:Fourier series and transform.gif
老實說,在我學傅里葉變換時,維基的這個圖尚未出現,那時我就想到了這種表達方法,並且,後面還會加入維基沒有表示出來的另外一個譜——相位譜。
可是在講相位譜以前,咱們先回顧一下剛剛的這個例子究竟意味着什麼。記得前面說過的那句「世界是靜止的」嗎?估計好多人對這句話都已經吐槽半天了。想象一下,世界上每個看似混亂的表象,實際都是一條時間軸上不規則的曲線,但實際這些曲線都是由這些無窮無盡的正弦波組成。咱們看似不規律的事情反而是規律的正弦波在時域上的投影,而正弦波又是一個旋轉的圓在直線上的投影。那麼你的腦海中會產生一個什麼畫面呢?
咱們眼中的世界就像皮影戲的大幕布,幕布的後面有無數的齒輪,大齒輪帶動小齒輪,小齒輪再帶動更小的。在最外面的小齒輪上有一個小人——那就是咱們本身。咱們只看到這個小人毫無規律的在幕布前表演,卻沒法預測他下一步會去哪。而幕布後面的齒輪卻永遠一直那樣不停的旋轉,永不停歇。這樣說來有些宿命論的感受。說實話,這種對人生的描繪是我一個朋友在咱們都是高中生的時候感嘆的,當時想一想似懂非懂,直到有一天我學到了傅里葉級數……
3、傅里葉級數(Fourier Series)的相位譜
上一章的關鍵詞是:從側面看。這一章的關鍵詞是:從下面看。
在這一章最開始,我想先回答不少人的一個問題:傅里葉分析到底是幹什麼用的?這段相對比較枯燥,已經知道了的同窗能夠直接跳到下一個分割線。
先說一個最直接的用途。不管聽廣播仍是看電視,咱們必定對一個詞不陌生——頻道。頻道頻道,就是頻率的通道,不一樣的頻道就是將不一樣的頻率做爲一個通道來進行信息傳輸。下面你們嘗試一件事:
先在紙上畫一個 sin(x),不必定標準,意思差很少就行。不是很難吧。
好,接下去畫一個 sin(3x)+sin(5x)的圖形。
別說標準不標準了,曲線何時上升何時降低你都不必定畫的對吧?
好,畫不出來沒關係,我把 sin(3x)+sin(5x)的曲線給你,可是前提是你不知道這個曲線的方程式,如今須要你把 sin(5x)給我從圖裏拿出去,看看剩下的是什麼。這基本是不可能作到的。
可是在頻域呢?則簡單的很,無非就是幾條豎線而已。
因此不少在時域看似不可能作到的數學操做,在頻域相反很容易。這就是須要傅里葉變換的地方。尤爲是從某條曲線中去除一些特定的頻率成分,這在工程上稱爲濾波,是信號處理最重要的概念之一,只有在頻域才能輕鬆的作到。
再說一個更重要,可是稍微複雜一點的用途——求解微分方程。(這段有點難度,看不懂的能夠直接跳過這段)微分方程的重要性不用我過多介紹了。各行各業都用的到。可是求解微分方程倒是一件至關麻煩的事情。由於除了要計算加減乘除,還要計算微分積分。而傅里葉變換則可讓微分和積分在頻域中變爲乘法和除法,大學數學瞬間變小學算術有沒有。
傅里葉分析固然還有其餘更重要的用途,咱們隨着講隨着提。
————————————————————————————————————
下面咱們繼續說相位譜:
經過時域到頻域的變換,咱們獲得了一個從側面看的頻譜,可是這個頻譜並無包含時域中所有的信息。由於頻譜只表明每個對應的正弦波的振幅是多少,而沒有提到相位。基礎的正弦波A.sin (wt+θ)中,振幅,頻率,相位缺一不可,不一樣相位決定了波的位置,因此對於頻域分析,僅僅有頻譜(振幅譜)是不夠的,咱們還須要一個相位譜。那麼這個相位譜在哪呢?咱們看下圖,此次爲了不圖片太混論,咱們用 7 個波疊加的圖。
鑑於正弦波是週期的,咱們須要設定一個用來標記正弦波位置的東西。在圖中就是那些小紅點。小紅點是距離頻率軸最近的波峯,而這個波峯所處的位置離頻率軸有多遠呢?爲了看的更清楚,咱們將紅色的點投影到下平面,投影點咱們用粉色點來表示。固然,這些粉色的點只標註了波峯距離頻率軸的距離,並非相位。
這裏須要糾正一個概念:時間差並非相位差。若是將所有周期看做 2Pi 或者 360 度的話,相位差則是時間差在一個週期中所佔的比例。咱們將時間差除週期再乘 2Pi,就獲得了相位差。
在完整的立體圖中,咱們將投影獲得的時間差依次除以所在頻率的週期,就獲得了最下面的相位譜。因此,頻譜是從側面看,相位譜是從下面看。下次偷看女生裙底被發現的話,能夠告訴她:「對不起,我只是想看看你的相位譜。」
注意到,相位譜中的相位除了0,就是 Pi。由於 cos(t+Pi)=-cos(t),因此實際上相位爲 Pi 的波只是上下翻轉了而已。對於週期方波的傅里葉級數,這樣的相位譜已是很簡單的了。另外值得注意的是,因爲 cos(t+2Pi)=cos(t),因此相位差是週期的,pi 和 3pi,5pi,7pi 都是相同的相位。人爲定義相位譜的值域爲(-pi,pi],因此圖中的相位差均爲 Pi。
最後來一張大集合:
4、傅里葉變換(Fourier Tranformation)
相信經過前面三章,你們對頻域以及傅里葉級數都有了一個全新的認識。可是文章在一開始關於鋼琴琴譜的例子我曾說過,這個栗子是一個公式錯誤,可是概念典型的例子。所謂的公式錯誤在哪裏呢?
傅里葉級數的本質是將一個週期的信號分解成無限多分開的(離散的)正弦波,可是宇宙彷佛並非週期的。曾經在學數字信號處理的時候寫過一首打油詩:
往昔連續非週期,
回憶週期不連續,
任你 ZT、DFT,
還原不回去。
(請無視我渣同樣的文學水平……)
在這個世界上,有的事情一期一會,永再也不來,而且時間始終未曾停息地將那些刻骨銘心的往昔連續的標記在時間點上。可是這些事情每每又成爲了咱們格外寶貴的回憶,在咱們大腦裏隔一段時間就會週期性的蹦出來一下,惋惜這些回憶都是零散的片斷,每每只有最幸福的回憶,而平淡的回憶則逐漸被咱們忘卻。由於,往昔是一個連續的非週期信號,而回憶是一個週期離散信號。
是否有一種數學工具將連續非週期信號變換爲週期離散信號呢?抱歉,真沒有。
好比傅里葉級數,在時域是一個週期且連續的函數,而在頻域是一個非週期離散的函數。這句話比較繞嘴,實在看着費事能夠乾脆回憶第一章的圖片。
而在咱們接下去要講的傅里葉變換,則是將一個時域非週期的連續信號,轉換爲一個在頻域非週期的連續信號。
算了,仍是上一張圖方便你們理解吧:
或者咱們也能夠換一個角度理解:傅里葉變換其實是對一個週期無限大的函數進行傅里葉變換。
因此說,鋼琴譜其實並不是一個連續的頻譜,而是不少在時間上離散的頻率,可是這樣的一個貼切的比喻真的是很難找出第二個來了。
所以在傅里葉變換在頻域上就從離散譜變成了連續譜。那麼連續譜是什麼樣子呢?
你見過大海麼?
爲了方便你們對比,咱們此次從另外一個角度來看頻譜,仍是傅里葉級數中用到最多的那幅圖,咱們從頻率較高的方向看。
以上是離散譜,那麼連續譜是什麼樣子呢?
盡情的發揮你的想象,想象這些離散的正弦波離得愈來愈近,逐漸變得連續……
直到變得像波濤起伏的大海:
很抱歉,爲了能讓這些波浪更清晰的看到,我沒有選用正確的計算參數,而是選擇了一些讓圖片更美觀的參數,否則這圖看起來就像屎同樣了。
不過經過這樣兩幅圖去比較,你們應該能夠理解如何從離散譜變成了連續譜的了吧?原來離散譜的疊加,變成了連續譜的累積。因此在計算上也從求和符號變成了積分符號。
不過,這個故事尚未講完,接下去,我保證讓你看到一幅比上圖更美麗壯觀的圖片,可是這裏須要介紹到一個數學工具才能然故事繼續,這個工具就是——
5、宇宙耍帥第一公式:歐拉公式
虛數i這個概念你們在高中就接觸過,但那時咱們只知道它是-1 的平方根,但是它真正的意義是什麼呢?
這裏有一條數軸,在數軸上有一個紅色的線段,它的長度是1。當它乘以 3 的時候,它的長度發生了變化,變成了藍色的線段,而當它乘以-1 的時候,就變成了綠色的線段,或者說線段在數軸上圍繞原點旋轉了 180 度。
咱們知道乘-1 其實就是乘了兩次 i 使線段旋轉了 180 度,那麼乘一次 i 呢——答案很簡單——旋轉了 90 度。
同時,咱們得到了一個垂直的虛數軸。實數軸與虛數軸共同構成了一個複數的平面,也稱複平面。這樣咱們就瞭解到,乘虛數i的一個功能——旋轉。
如今,就有請宇宙第一耍帥公式歐拉公式隆重登場——
這個公式在數學領域的意義要遠大於傅里葉分析,可是乘它爲宇宙第一耍帥公式是由於它的特殊形式——當x等於 Pi 的時候。
常常有理工科的學生爲了跟妹子表現本身的學術功底,用這個公式來給妹子解釋數學之美:」石榴姐你看,這個公式裏既有天然底數e,天然數 1 和0,虛數i還有圓周率 pi,它是這麼簡潔,這麼美麗啊!「可是姑娘們內心每每只有一句話:」臭屌絲……「
這個公式關鍵的做用,是將正弦波統一成了簡單的指數形式。咱們來看看圖像上的涵義:
歐拉公式所描繪的,是一個隨着時間變化,在複平面上作圓周運動的點,隨着時間的改變,在時間軸上就成了一條螺旋線。若是隻看它的實數部分,也就是螺旋線在左側的投影,就是一個最基礎的餘弦函數。而右側的投影則是一個正弦函數。
關於複數更深的理解,你們能夠參考:
複數的物理意義是什麼?
這裏不須要講的太複雜,足夠讓你們理解後面的內容就能夠了。
6、指數形式的傅里葉變換
有了歐拉公式的幫助,咱們便知道:正弦波的疊加,也能夠理解爲螺旋線的疊加在實數空間的投影。而螺旋線的疊加若是用一個形象的栗子來理解是什麼呢?
光波
高中時咱們就學過,天然光是由不一樣顏色的光疊加而成的,而最著名的實驗就是牛頓師傅的三棱鏡實驗:
因此其實咱們在很早就接觸到了光的頻譜,只是並無瞭解頻譜更重要的意義。
但不一樣的是,傅里葉變換出來的頻譜不只僅是可見光這樣頻率範圍有限的疊加,而是頻率從 0 到無窮全部頻率的組合。
這裏,咱們能夠用兩種方法來理解正弦波:
第一種前面已經講過了,就是螺旋線在實軸的投影。
另外一種須要藉助歐拉公式的另外一種形式去理解:
將以上兩式相加再除2,獲得:
這個式子能夠怎麼理解呢?
咱們剛纔講過,e^(it)能夠理解爲一條逆時針旋轉的螺旋線,那麼e^(-it)則能夠理解爲一條順時針旋轉的螺旋線。而 cos (t)則是這兩條旋轉方向不一樣的螺旋線疊加的一半,由於這兩條螺旋線的虛數部分相互抵消掉了!
舉個例子的話,就是極化方向不一樣的兩束光波,磁場抵消,電場加倍。
這裏,逆時針旋轉的咱們稱爲正頻率,而順時針旋轉的咱們稱爲負頻率(注意不是複頻率)。
好了,剛纔咱們已經看到了大海——連續的傅里葉變換頻譜,如今想想,連續的螺旋線會是什麼樣子:
想象一下再往下翻:
是否是很漂亮?
你猜猜,這個圖形在時域是什麼樣子?
哈哈,是否是以爲被狠狠扇了一個耳光。數學就是這麼一個把簡單的問題搞得很複雜的東西。
順便說一句,那個像大海螺同樣的圖,爲了方便觀看,我僅僅展現了其中正頻率的部分,負頻率的部分沒有顯示出來。
若是你認真去看,海螺圖上的每一條螺旋線都是能夠清楚的看到的,每一條螺旋線都有着不一樣的振幅(旋轉半徑),頻率(旋轉週期)以及相位。而將全部螺旋線連成平面,就是這幅海螺圖了。
好了,講到這裏,相信你們對傅里葉變換以及傅里葉級數都有了一個形象的理解了,咱們最後用一張圖來總結一下:
好了,傅里葉的故事終於講完了,下面來說講個人故事:
這篇文章第一次被卸下來的地方大家絕對猜不到在哪,是在一張高數考試的卷子上。當時爲了刷分,我重修了高數(上),可是後來時間緊壓根沒複習,因此我就抱着裸考的心態去了考場。可是到了考場我忽然意識到,不管如何我都不會比上次考的更好了,因此乾脆寫一些本身對於數學的想法吧。因而用了一個小時左右的時間在試卷上洋洋灑灑寫了本文的第一草稿。
大家猜個人了多少分?
6 分
沒錯,就是這個數字。而這 6 分的成績是由於最後我實在無聊,把選擇題所有填上了C,應該是中了兩道,獲得了這寶貴的 6 分。說真的,我很但願那張卷子還在,可是應該不太可能了。
那麼大家猜猜我第一次信號與系統考了多少分呢?
45 分
沒錯,剛剛夠參加補考的。可是我心一橫沒去考,決定重修。由於那個學期在忙其餘事情,學習真的就拋在腦後了。可是我知道這是一門很重要的課,不管如何我要吃透它。說真的,信號與系統這門課幾乎是大部分工科課程的基礎,尤爲是通訊專業。
在重修的過程當中,我仔細分析了每個公式,試圖給這個公式以一個直觀的理解。雖然我知道對於研究數學的人來講,這樣的學習方法徹底沒有前途可言,由於隨着概念越發抽象,維度愈來愈高,這種圖像或者模型理解法將徹底喪失做用。可是對於一個工科生來講,足夠了。
後來來了德國,這邊學校要求我重修信號與系統時,我完全無語了。可是沒辦法,德國人有時對中國人就是有種藐視,以爲你的教育不靠譜。因此沒辦法,再來一遍吧。
此次,我考了滿分,而及格率只有一半。
老實說,數學工具對於工科生和對於理科生來講,意義是徹底不一樣的。工科生只要理解了,會用,會查,就足夠了。可是不少高校卻將這些重要的數學課程教給數學系的老師去教。這樣就出現一個問題,數學老師講得天花亂墜,又是推理又是證實,可是學生內心就只有一句話:學這貨到底幹嗎用的?
缺乏了目標的教育是完全的失敗。
在開始學習一門數學工具的時候,學生徹底不知道這個工具的做用,現實涵義。而教材上有隻有晦澀難懂,定語就二十幾個字的概念以及看了就眼暈的公式。能學出興趣來就怪了!
好在我很幸運,遇到了大連海事大學的吳楠老師。他的課全程來看是兩條線索,一條從上而下,一條從下而上。先將本門課程的意義,而後指出這門課程中會遇到哪樣的問題,讓學生知道本身學習的某種知識在現實中扮演的角色。而後再從基礎講起,梳理知識樹,直到延伸到另外一條線索中提出的問題,完美的銜接在一塊兒!
這樣的教學模式,我想纔是大學裏應該出現的。
最後,寫給全部給我點贊並留言的同窗。真的謝謝你們的支持,也很抱歉不能一一回復。由於知乎專欄的留言要逐次加載,爲了看到最後一條要點不少次加載。固然我都堅持看完了,只是沒辦法一一回復。
本文只是介紹了一種對傅里葉分析新穎的理解方法,對於求學,仍是要踏踏實實弄清楚公式和概念,學習,真的沒有捷徑。但至少經過本文,我但願可讓這條漫長的路變得有意思一些。
最後,祝你們都能在學習中找到樂趣。
參考:http://chuansongme.com/n/470502