快速傅立葉轉換與譜方法
反離散傅立葉轉換(inverse discrete Fourier transform)
如果正向 DFT 是把和弦拆成各別的音,反 DFT 就是反過來:給它一份頻率配方以及每個頻率的響度,它把這些純音重新加總,重建出原始的聲音。這是合成步驟,保證什麼都沒丟失——分析再合成,會讓你精確回到出發點。
給定 N 個頻率係數 X_0、...、X_{N-1},反 DFT 透過 x_n = (1/N) * 對 k 從 0 到 N-1 求和 X_k * e^(+2*pi*i*k*n/N) 重建時間樣本。注意與正向轉換的兩個差別:指數符號由負翻為正(旋轉的箭現在朝反方向轉),以及多出一個 1/N 因子縮放結果。那個 1/N 正是讓往返精確的記帳:先做 DFT,再做反 DFT,你就在捨入誤差之內還原出原始的 x_n。無論某個函式庫採用哪種正規化慣例——反向放 1/N、對稱拆成 1/sqrt(N)、或正向放 1/N——唯一的鐵則是正向與反向因子相乘要等於 1/N。
反 DFT 讓整套「轉換、處理、轉換回來」的策略派上用場。你之所以進入頻域,是因為某些運算在那裡輕而易舉——把不要的頻率歸零來濾波、用單純乘法做卷積、用除法解某些微分方程——接著反 DFT 把結果帶回你真正關心的時間或空間域。它的成本與正向轉換相同,所以快速傅立葉轉換對它加速的程度也一樣;相同的蝶形機制只需調整符號與縮放即可運作。
取任意訊號,計算其 DFT 得到 X_k,然後立即套用反 DFT。你會在浮點捨入之內(雙精度約 15 至 16 位)取回原始樣本。資訊守恆;轉換只是改變你檢視它所用的基底。
先正向再反向就是恆等變換——改變的只是觀點。
各軟體套件的正規化慣例不同;放錯位置的 1/N 或 sqrt(N) 是經典臭蟲,會讓你的答案被縮放 N 倍。務必確認你的函式庫把因子放在正向、反向、還是對半拆開。
又稱
另見