快速傅立葉轉換與譜方法

離散傅立葉轉換(discrete Fourier transform)

在鋼琴上按一個和弦,空氣傳來的只是一道混雜的壓力波,你的耳朵卻能毫不費力地聽出其中各別的音。離散傅立葉轉換對一串取樣數字做的正是這件事:它把一段以 N 個等間隔樣本記錄下來的訊號,分析出其中藏著「多少」各個純頻率。原始樣本告訴你每個時刻的值,而 DFT 告訴你每一個振盪的強度與相位——把它們疊加起來就能還原這些樣本。

具體來說,給定樣本 x_0、x_1、...、x_{N-1},DFT 透過公式 X_k = 對 n 從 0 到 N-1 求和 x_n * e^(-2*pi*i*k*n/N) 產生 N 個複數 X_0、...、X_{N-1}。把 e^(-2*pi*i*k*n/N) 想成一支單位長度的箭,當 n 跑遍 N 個樣本時,它繞圓轉了 k 整圈;X_k 衡量資料與這個特定旋轉速率對齊的強度。索引 k = 0 給出所有樣本之和(平均值,或稱直流分量);k 越大,探測的擺動越快。|X_k| 是該頻率出現的量,X_k 的角度則是它的相位(波從何處開始)。此轉換完全可逆:由 X_k 可用反 DFT 重建原始的 x_n。

DFT 是音訊等化器、影像壓縮、振動分析、無線電,以及任何週期或取樣資料分析背後的主力。若直接照定義計算,需要 O(N^2) 次運算——N 個輸出各是對 N 個輸入求和——對一首歌或一張照片的數百萬樣本而言代價高得驚人。快速傅立葉轉換摧毀的正是這個代價。一個誠實的細節:DFT 隱含假設你的 N 個樣本是某個永遠重複的訊號的一個週期,因此兩端接不齊的訊號會產生虛假的頻率(頻譜洩漏)。

在 N = 8 個點上取樣純音 x_n = cos(2*pi*3*n/8)。它的 DFT 除了 k = 3 與 k = 5(3 的鏡像)之外處處為零,這兩處各有大小 4。轉換精準指出了那八個原始數字所隱藏的單一頻率「每窗 3 個週期」。

八個時間樣本變成八個頻率振幅——一根尖峰標出隱藏的音。

DFT 的頻率格點只對「在窗內剛好整數個週期」的頻率是精確的。落在格點之間的真實世界音調會塗抹到許多格點上——這是洩漏,不是你資料的缺陷,而加窗能加以馴服。

又称
DFT離散傅立葉變換DFT