• 正文
    • 網(wǎng)站的 BANNER
    • 傅里葉變換是什么
    • 周轉(zhuǎn)圓
    • JPEGs
    • 總結(jié)
    • 一些問題
    • 拓展閱讀
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

有趣的交互式傅里葉變換網(wǎng)站

2020/03/26
192
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

網(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)然,維基百科的解釋也很不錯。

傅里葉變換(維基百科) 譯者為你添加了中文維基的鏈接。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

公眾號TsinghuaJoking主筆。清華大學(xué)自動化系教師,研究興趣范圍包括自動控制、智能信息處理、嵌入式電子系統(tǒng)等。全國大學(xué)生智能汽車競賽秘書處主任,技術(shù)組組長,網(wǎng)稱“卓大大”。