網(wǎng)站的 BANNER
傅里葉變換是一種在各個領(lǐng)域都經(jīng)常使用的數(shù)學(xué)工具。這個網(wǎng)站將為你介紹傅里葉變換能干什么,為什么傅里葉變換非常有用,以及你如何利用傅里葉變換干漂亮的事。就像下面這樣:
漫畫與諧波分解
?
我將為你解釋這個動畫是如何工作的,沿途為你詳細(xì)地解釋傅里葉變換!
這次旅途結(jié)束后,你將會掌握下面這些知識:
- 什么是傅里葉變換傅里葉變換的一些實(shí)際用途傅立葉變換的一些很酷的用法(雖然有些沒有實(shí)際意義)
我們現(xiàn)在暫時不提那些復(fù)雜的數(shù)學(xué)公式。傅里葉背后的數(shù)學(xué)原理十分有趣,但最好還是先從它的實(shí)際應(yīng)用開始,以及為什么要使用它。如果你想了解更多,下面提供了一些進(jìn)一步的閱讀建議!
傅里葉變換是什么
簡而言之,傅里葉變換把一個輸入信號分解成一堆正弦波的疊加。就像大多數(shù)數(shù)學(xué)方法一樣,這個名字來自一個名叫傅立葉的人。
讓我們從一些簡單的例子開始,然后繼續(xù)前進(jìn)。首先,我們來看看什么是波 —— 波隨著時間的推移,一直按照某一規(guī)律變化。
這是一個波的例子:
周期波形示例
?
這個波可以分解為兩個正弦波的疊加。也就是說,當(dāng)我們將兩個正弦波相加時,就會得到原來的波。
?
簡單周期波形拆分成兩個正弦波的疊加
?
傅里葉變換可以讓我們從一個復(fù)雜的波形里面,把構(gòu)成這個波的單個正弦波分離出來。在這個例子中,你幾乎可以通過“腦補(bǔ)”完成這一操作。
為什么?事實(shí)證明,現(xiàn)實(shí)世界中的許多事物間的互相交互,都是基于正弦波。我們通常將這種波的快慢的性質(zhì),稱為波的頻率。
最明顯的例子就是聲音 —— 當(dāng)我們聽到聲音時,我們聽不到那條波浪線,但我們聽到構(gòu)成聲音的正弦波的不同頻率。
能夠在計(jì)算機(jī)上區(qū)分這兩個音調(diào),我們就可以了解一個人實(shí)際可以聽到的內(nèi)容。我們可以理解聲音的高低,或弄清楚這個波包含了什么音符。
一些波看起來不像由正弦波構(gòu)成,我們也可以用這個分解的過程來進(jìn)行分析。
我們來看看這個家伙吧。這個波稱為方波。
方波周期波形
?
雖然看起來不太可能,但它確實(shí)也可以分解成正弦波。
方波內(nèi)的正弦波分解
?
這次我們需要很多 —— 理論上是無限多的正弦波來完美地表達(dá)一個方波。隨著我們加入越來越多的正弦波,疊加出的波形就越來越接近方波。
有限個諧波合成方波
?
在視覺上,你會注意到前幾個正弦波的疊加可以在結(jié)果中產(chǎn)生最大差異?;瑝K滑到一半時,就有一些方波的樣子了,但它看起來搖擺不定。加上更多小的正弦波,組合出的波形看起來就平坦了。
當(dāng)播放這個波形時,你會發(fā)現(xiàn)使用的正弦波少時,聲音聽起來更低沉一些。這是因?yàn)槲覀儼迅哳l率的成分去掉了。
這一過程可以用來處理任何有周期的波。試一試,畫一個你喜歡的波形吧。
手工繪制任意波形進(jìn)行傅里葉級數(shù)分解
?
和上一個方波類似,除了有些額外的擺動之外,滑塊移動到中間位置,生成的波形就很接近你畫的了。
我們可以利用這個事實(shí):使用傅里葉變換,我們可以把音頻中最重要的成分表達(dá)出來,并且得到和原始聲音非常接近的波形。
在計(jì)算機(jī)中,波形以一系列數(shù)據(jù)點(diǎn)的形式來存儲。
波形存儲的數(shù)據(jù)點(diǎn)形式
?
我們可以做的是,將聲音表示為一堆正弦波。然后可以通過忽略掉較小幅度的高頻成分來壓縮聲音。盡管得出的波形與原始波形不一樣,但是聽起來將會和原始聲音很接近。
聲波中不同頻率分量
?
這基本上就是 MP3 做的事情。MP3 除此之外還可以更聰明地知道需要保留哪些頻率以及扔掉哪些頻率。
所以在這種情況下,我們可以使用傅里葉變換來理解波的基本屬性,然后我們可以將它用于數(shù)據(jù)的壓縮之類的事情。
好的,現(xiàn)在讓我們深入了解傅立葉變換。下一部分看起來很酷,也讓你更加了解傅立葉變換的作用。但大多只是“看起來”很酷。
周轉(zhuǎn)圓
在開始時,我介紹了傅里葉變換可以將事物分成正弦波。但更酷的是,它產(chǎn)生的正弦波不僅僅是一般的正弦波,它們都是“三維”的正弦波。你可以稱之為“復(fù)雜的”正弦曲線,或者,“螺旋”。
正弦螺旋線
?
如果我們從側(cè)面看,它們看起來像正弦波。但是,從正面看,它們看起來像圓圈。
不同角度觀看螺旋線
到目前為止,我們所做的一切只需要常規(guī)的 2D 正弦波。當(dāng)我們對 2D 波進(jìn)行傅里葉變換時,“復(fù)雜的”部分被忽略了,所以我們最終也只能得到正弦波。
但是我們可以使用 3D 正弦波來制作看起來很有趣的東西,就像這個:
3D 正弦波繪制 Yeah
?
這里發(fā)生了什么事情呢?
我們可以將一個手繪圖理解為一個 3D 的形狀,因?yàn)辄c(diǎn)的位置在隨時間移動。如果你想象一個人正在繪制一只手,那么這三個維度就代表了某一時刻鉛筆尖的位置。除了 x 和 y 維度告訴我們筆尖的位置,還有一個時間維度。
多了時間維度的 3D 形狀
?
現(xiàn)在我們有一個 3D 的形狀,我們不能使用常規(guī) 2D 正弦波把它表示出來。無論我們添加多少 2D 正弦波,我們都永遠(yuǎn)不會得到 3D。所以我們需要些別的東西。
我們可以使用的是之前的 3D 螺旋正弦波。如果我們添加很多這些螺旋,得到的東西就看起來像我們的 3D 形狀。
請記住,當(dāng)我們從前面看它們時,這些波浪看起來像圓圈。圍繞另一個圓圈移動的圓圈圖案,被稱為“周轉(zhuǎn)圓”。
不同諧波疊加后的 3D 圖形
?
像以前一樣,我們只用幾個圓圈就可以很好地近似表達(dá)出原始圖案。因?yàn)檫@是一個相當(dāng)簡單的形狀,所有后面添加的小圓都是使邊緣更加銳利。
這些適用于任何一個圖案。真的,現(xiàn)在你創(chuàng)作的機(jī)會來了。
任意形狀的諧波分解
?
同樣,你會發(fā)現(xiàn),對于大多數(shù)形狀,我們可以用很少的圓圈很好地近似表達(dá)它們,要保存一個形狀,我們不必保存形狀上所有的點(diǎn)。
這個方法可以應(yīng)用于實(shí)際數(shù)據(jù)嗎?答案是可以!實(shí)際上,我們有另一種稱為 SVG 的數(shù)據(jù)格式,比我們在這里繪制圖案更好用一些。所以目前,我們只是制作了些炫酷的小 GIF。
FOURIERTRANSFORMS
?
然而,還有另一種類型的視覺數(shù)據(jù)使用傅里葉變換。
JPEGs
你知道傅立葉變換除了可以表達(dá)簡單的手繪線條,還可以用于圖像嗎?事實(shí)上,我們一直都在使用它,因?yàn)檫@就是 JPEG 的工作原理!我們將相同的原理應(yīng)用于圖像 —— 將某些東西分成一堆正弦波,然后只存儲重要的東西。
要處理圖像,我們需要一種不同類型的正弦波。我們需要這樣的一種“正弦波”:無論我們有什么樣的圖像,我們都可以添加一堆這些正弦波來回到原始圖像。
要做到這一點(diǎn),我們使用的每個正弦波也將是一個個小圖像。我們現(xiàn)在使用一些黑白條紋的小圖像,這些更可以表達(dá)為“線”,而不是波。為了表示“波”的大小,每個圖像將具有或多或少的明暗對比。
我們也可以以類似的方式表示出顏色,但我們先從灰度圖像開始玩。為了表示灰度圖像,我們需要一些水平的波圖案,還有一些垂直的波圖案。
水平和垂直波形圖
水平和垂直圖像相乘
?
要得到一個 8x8 分辨率的圖像,這里是我們需要的所有小圖案。
8×8 圖像模塊
?
如果我們把這些小圖案的對比度調(diào)整到適當(dāng)?shù)闹?,然后將它們相加,我們就可以得出任意圖像。
讓我們從一個字母"A"開始。它非常小,但我們需要它很小,否則我們最終會得到太多其他的圖像。
字母 A
隨著我們添加越來越多的這些圖案,我們最終得到的東西越來越接近實(shí)際圖像。我覺得你只要添加很少一部分圖案,就能看出字母“A”的樣子來。
字母 A 不同頻率展開
?
對于實(shí)際的 JPEG 圖像來說,這就是基本原理,剩下的只有一些額外的細(xì)節(jié)。
圖像被分解為 8x8 塊,每個塊分別進(jìn)行分解。我們使用一組頻率來確定每個像素的亮度或暗度,然后是另外兩組用于顏色,一組用于紅綠色,另一組用于藍(lán)黃色。我們?yōu)槊總€塊使用的頻率個數(shù)決定了 JPEG 圖像的品質(zhì)。
這是一個實(shí)際的 JPEG 圖像,放大后我們可以看到細(xì)節(jié)。當(dāng)我們改變 JPEG 品質(zhì)水平時,可以觀察出畫質(zhì)的區(qū)別。
實(shí)際 JPEG 圖片
?
總結(jié)
讓我們回顧一下:
- 傅里葉變換讓我們輸入一個事物,并將其分解為不同頻率的成分頻率告訴我們有關(guān)數(shù)據(jù)的一些基本屬性并且可以通過僅存儲重要的成分來壓縮數(shù)據(jù)我們還可以用傅里葉變換的原理,通過一堆圓圈制作看起來很酷的動畫
這只是表面上的一些淺層次應(yīng)用。傅里葉變換是一個非常強(qiáng)大的工具,因?yàn)閷⑹挛锓纸獬刹煌l率是十分重要的分析方法。它們被用于許多領(lǐng)域,包括電路設(shè)計(jì),移動網(wǎng)絡(luò)信號,磁共振成像(MRI)和量子物理!
一些問題
我在這里跳過了大部分的數(shù)學(xué)原理。如果你對它的數(shù)學(xué)原理很感興趣,可以用以下這些問題來幫助你研究:
- 你如何在數(shù)學(xué)上表示傅里葉變換?連續(xù)時間傅立葉變換和離散時間傅立葉變換之間有什么區(qū)別?你如何計(jì)算傅里葉變換?你如何對整首歌曲進(jìn)行傅里葉變換?(不僅僅是單個音符)
拓展閱讀
要了解更多信息,你可以看看這些非常好的資源(作者推薦的這些資源是英文版的)。
An Interactive Guide To The Fourier Transform 從數(shù)學(xué)角度更加深刻地介紹傅里葉變換。
But what is the Fourier Transform? ?A visual introduction. 3Blue1Brown 制作的 YouTube 視頻,從音頻的角度解釋傅里葉變換的數(shù)學(xué)原理。
A Tale of Math & Art: Creating the Fourier Series Harmonic Circles Visualization 另一篇不錯的文章,從線性代數(shù)的角度解釋如何用周轉(zhuǎn)圓來畫出形狀。
Fourier transform (Wikipedia) 當(dāng)然,維基百科的解釋也很不錯。
傅里葉變換(維基百科) 譯者為你添加了中文維基的鏈接。