離散傅立葉變換（，縮寫為），是傅立葉變換在時域和頻域上都呈離散的形式，將訊號的時域取樣變換為其 DTFT 的頻域取樣。 在形式上，變換兩端（時域和頻域上）的序列都是的，而實際上這兩組序列都應當被認為是離散週期訊號的主值序列。即使對有限長的離散訊號作 DFT，也應當將其看作其週期延拓的變換。在實際應用中通常採用快速傅立葉變換計算 DFT。 離散傅立葉轉換，是連續傅立葉轉換在離散樣本上的類比，目前廣泛應用於訊號處理、數值分析、數位通訊、音訊處理等領域，在快速演演算法問世，以及硬體裝置的提升後，能夠更廣泛的應用在人們的日常生活當中，也是個非常重要的學問之一。 定義 對於 N 點序列 leftx nright_0le n N，它的離散傅立葉變換（DFT）為 hat xksum_n0N1 eifrac 2piN nk x n qquad k 01ldotsN1 其中 e 是自然對數的底數，i 是虛數單位。通常以符號 mathcal F 表示這一變換，即 hat xmathcal F x 離散傅立葉變換的逆變換（IDFT）為： xleft nright1 over Nsum_k0N1 eifrac 2piN nkhat xk qquad n 01ldotsN1 可以記為： xmathcal F1hat x 實際上，DFT 和 IDFT 變換式中和式前面的歸一化係數並不重要。在上面的定義中，DFT 和 IDFT 前的係數分別為 1 和 frac 1N。有時會將這兩個係數都改成 frac 1sqrt N。 從連續到離散 連續時間訊號 x t 以及對應的連續傅立葉變換 hat xomega 都是連續函式。由於數位系統只能處理有限長的離散訊號，因此必須將 x 和 hat x 都離散化，並且建立對應的傅立葉變換。 假設 x t 時限於 0 L，再透過時域取樣將 x t 離散化，就可以得到有限長離散訊號，記為 x_discretet。設取樣週期為 T，則時域取樣點數 Nfrac LT。 x_discretet x tsum_n0N1delta tnTsum_n0N1 x nTdelta tnT 它的傅立葉變換為 hat x_discreteomega sum_n0N1 x nTmathcal Fdelta tnT sum_n0N1 x nT ei nomega T 這就是 x t 在時域取樣後的連續傅立葉變換，也就是離散時間傅立葉變換，它在頻域依然是連續的。 下面將頻域訊號轉化為有限長離散訊號。與對時域訊號的處理類似，假設頻域訊號是帶限的，再經過離散化，即可得到有限長離散訊號。依據取樣定理，頻域取樣若要能完全重建原訊號，頻域訊號 hat xomega 應當帶限於 0frac 12T。由於時域訊號時限於 0 L，由取樣定理以及時頻對偶的關係，頻域的取樣間隔應為 1L。故，頻域取樣點數為： frac 1T1LN 即頻域取樣的點數和時域取樣同為 N，頻域取樣點為 omega_k2pi kNT_0 le k N。 而 DTFT 在頻域上取樣： hat xk hat x_discreteomega_k frac1 T sum_n0N1 x nT eifrac 2piN nk 令 T1，將其歸一化，就得到前面定義的離散傅立葉變換。因此，DFT 就是先將訊號在時域離散化，求其連續傅立葉變換後，再在頻域離散化的結果。 DFT 與 CFT 下面考察離散傅立葉變換與連續傅立葉變換（CFT，Continuous Fourier Transform）的關係。連續傅立葉變換 mathcal F x that xomegafrac1 L int_0L x t eiomega t dt 的取樣為： hat xomega_kfrac1 L int_0L x t eiomega_k t dt 將這個積分以黎曼和的形式近似，有： hat xomega_k approx frac1 L sum_n0N1 x n eiomega_k nT Tfrac1 Nhat xk 這一結論指出離散傅立葉變換確實是連續傅立葉變換在某種意義上的近似。不過必須注意以下兩點： 時域取樣必須滿足取樣定理 離散傅立葉變換的處理物件是時限的 為此，通常對連續訊號的時域取樣再做一次加窗處理（Windowing），這樣就得到帶限的有限長離散訊號。 DFT 與 DTFT 離散時間傅立葉變換（DTFT）是在時域上對連續傅立葉變換的取樣。DFT 則是在頻域上對 DTFT 的均勻取樣。離散訊號 x n（n0N1）的 DTFT 為： hat xeiomega sum_n0N1 x n einomega 對 hat xeiomega 在離散的頻點 omega_kkfrac 2piN_0 le k N 上取樣 hat xkhat xeiomega_ksum_n0N1 x n eifrac 2piN kn qquad k0ldotsN1 即為 x 的 DFT。由於 DTFT 在頻域是週期的，所以在 DTFT 頻域上的均勻取樣也應是週期的。hat xk 實際上是這個週期序列的主值序列。 柵欄效應 N 點序列的 DFT 只能在有限的 N 個頻點上觀察頻譜，這相當於從柵欄的縫隙中觀察景色，對於瞭解訊號在整個頻域上的特性是不夠的。為了觀察到其他頻率的資訊，需要對原訊號 x n 做一些處理，以便在不同的頻點上取樣。 將原來在 DTFT 頻域上的取樣點數增加到 M 點，這樣取樣點位置變為 omega_k eikfrac 2piM_0 le k M。則對應的 DFT 成為 hat xkhat xeikomega_k sum_n0N1 x n eifrac 2piM kn 若在序列 x n 之後補上 MN 個零，設為 xn，則上式變為 hat xk sum_n0M1 xn eifrac 2piM kn mathcal F x 因此將 x n 補零再做 DFT 就可以得到 x n 的 DTFT 在其他頻率上的值，相當於移動了柵欄，因而能夠從其他位置進行觀察。 頻譜解析度 N 點 DFT 的頻譜解析度是 2piN。柵欄效應一節指出可以透過補零觀察到更多的頻點，但是這並不意味著補零能夠提高真正的頻譜解析度。這是因為 x n 實際上是 x t 取樣的主值序列，而將 x n 補零得到的 xn 週期延拓之後與原來的序列並不相同，也不是 x t 的取樣。因此 hat x 與 hat x 是不同離散訊號的頻譜。對於補零至 M 點的 x 的 DFT，只能說它的解析度 frac 2piM 僅具有計算上的意義，hat x 並不是真正的、物理意義上的頻譜。頻譜解析度的提高只能在滿足取樣定理的條件下增加時域取樣長度來實現。 從空間的角度分析 週期為 N 的離散訊號構成一個 N 維歐幾里得空間 mathbb CN。在這一空間上兩個訊號 x 和 y 的內積定義為 langle xy rangle sum_n0N1 x n yleft nright 下面給出 mathbb CN 上的一組正交基： e_k n eifrac 2piN kn_0 le k N 將訊號 x 在這組正交基上分解，得 x sum_k0N1frac langle xe_k rangleVert e_k Vert 2 e_k 令 hat xk langle x e_k rangle sum_n0N1 x n eifrac 2piN kn 此即為離散傅立葉變換。又 e_k 2N 則有 x n frac1 N sum_k0N1 hat xk eifrac 2piN kn 此即為離散傅立葉變換的逆變換。 由此可知，在正交分解的角度上說，離散週期訊號 x 的離散傅立葉變換 hat x 實質上是 x 在正交基 e_k 上的分量。而從線性變換的角度上說，e_k 是圓周卷積的特徵向量，hat x 則是對應的特徵值。 DFT 與圓周卷積 根據卷積定理，離散訊號 x 與 y 的圓周卷積對偶於頻域上 x 與 y 離散傅立葉變換的乘積。下面揭示 DFT 與圓周卷積的內在關係。 對長為 N 的離散訊號 tilde x 與 tilde y，如果要計算它們的卷積，就必須定義 tilde xn 與 tilde yn 在 0nN 之外的值。如果將 tilde x 與 tilde y 作週期為 N 的延拓，則有 x n tilde xn mod N qquad y n tilde yn mod N 如此，週期為 N 的圓周卷積： x otimes y n sum_m0N1 x m y nm sum_m0N1 x nm y m 卷積的結果仍然是以 N 為週期的離散訊號。 前面指出，e_k 是 DFT 的特徵向量，實際上它也是圓周卷積的特徵向量。定義 x 與 y 的圓周卷積運算元： L x n x otimes y n 則 e_k 與 y 的圓周卷積為 L e_k n e_k n cdot sum_m0N1 y m e_k m 顯然，y 的 DFT hat yk sum_m0N1 y m e_k m 就是圓周卷積的特徵值。 性質 完全性 離散傅立葉變換是可逆的線性變換 mathcal Fmathbf CN to mathbf CN 其中 C 表示複數集。即，任意 N 維復向量都存在 DFT 和 IDFT，而且其 DFT 和 IDFT 也是 N 維復向量。 正交性 向量組 exp（2πi knN）是 N 維複數空間上的一組正交基： sum_n0N1 left e frac 2pi iN knright left efrac 2pi iN knright Ndelta_kk 其中 δkn 是 Kronecker delta。 移位定理 時域訊號序列 x_n 的相位移動 exp 2pi i n mN（其中 m 為整數）在頻域反映為 迴圈移位，即：頻域訊號序列 X_k 變為 X_km_N，其中下標是指將 km 對 N 取餘。類似的，由對偶性，時域訊號序列的迴圈移位對應於頻域訊號序列的相移： 若 mathcal Fx_n_kX_k 則 mathcal F x_n efrac 2pi iN n m _kX_km 且有 mathcal Fx_nm_kX_k efrac 2pi iN k m 週期性 上文中 DFT 與 DTFT 一節已經證明，離散序列的傅立葉變換是週期的。有限長序列 x_n 的離散傅立葉變換 X_k 可以被看作是它的週期延拓序列 tilde x_n x_n mod N 的離散時間傅立葉變換 tilde X_k。由時頻對偶性可知 X_k 也可以被看作它的週期延拓的主值。 上一節的移位定理隱含著 DFT 的週期性，因為 DFT 的幅度 X_k 不受輸入訊號的迴圈移位的影響，因為時移在頻域對偶於相移，迴圈移位僅僅使 DFT 的相位產生平移。週期性的邊界條件在 DFT 的許多應用中有重要作用。解差分方程時，就假設邊界條件是滿足週期性的，這是一個很有用的性質（參見應用）。 普朗歇爾定理與帕塞瓦爾定理 如果 Xk 和 Yk 分別是 xn 和 yn 的離散傅立葉變換，那麼就有普朗歇爾定理： sum_n0N1 x_n y_n frac 1N sum_k0N1 X_k Y_k 其中星號表示復共扼。帕塞瓦爾定理是普朗歇爾定理的一個特例： sum_n0N1 x_n2 frac 1N sum_k0N1 X_k2 應用 DFT 在諸多多領域中有著重要應用，下面僅是頡取的幾個例子。需要指出的是，所有 DFT 的實際應用都依賴於計算離散傅立葉變換及其逆變換的快速演算法，即快速傅立葉變換。 快速傅立葉變換 簡介 快速傅立葉轉換（Fast Fourier Transform，簡稱 FFT）是一種用來高效計算離散傅立葉轉換（Discrete Fourier Transform，DFT）及其反轉換的演演算法。傅立葉轉換是一種數學變換，用來將訊號從時間域或空間域轉換到頻率域。這在訊號處理、影像處理、資料分析等領域有著廣泛的應用。傳統的 DFT 計算複雜度較高，約為 mathcal On2，而 FFT 將其降為 mathcal On log n，大大提高了計算效率。高效的計算能力使其在各種實際應用中扮演著關鍵角色。理解和應用 FFT 不僅能解決具體的技術問題，還能幫助我們更深入地瞭解訊號處理的基本原理和方法。FFT 的出現和應用，無疑是數學和工程領域的一大突破。 常見用於執行離散傅立葉轉換的演演算法 1 庫利 圖基演演算法 CooleyTukey algorithm 庫利－圖基演演算法是一種用於快速計算離散傅立葉轉換的方法，透過分治法策略 Divideandconquer 將一個長度為 N 的 DFT 分解為多個較小長度的 DFT。這使得它特別適合處理長度為 2 的冪次方的序列，但實際上也適用於其他因數分解形式的序列。庫利和圖基在 1965 年首次提出這個方法，但類似的概念早在 1805 年由高斯提出。 2 基數 4、8、16、 演演算法 Radix4 8 16 Algorithms 可以視為庫利－圖基演演算法的一種推廣，使用不只是以 2 作為基底，以其他數字做為基底的快速演演算法。 3 互質因子演算法 prime factor algorithm 互質因子演算法，又稱 GoodThomas 演算法，是一種用於快速傅立葉變換（FFT）的演算法。它將大小為 NN_1N_2 的 DFT 轉換為 N_1times N_2 的二維 DFT，前提是 N_1 和 N_2 必須是互質的。這種演算法在此特殊情況下比傳統的 CooleyTukey 演算法更有效。 4 格策爾演演算法 Goertzel Algorithm 此演演算法在 1958 年被傑拉德格策爾所提出。 此演算法，使用數字濾波方法計算離散傅立葉轉換（DFT）係數和訊號頻譜。修改後的格策爾演演算法可以用來計算訊號頻譜，而無需像 DFT 演算法那樣涉及複雜的代數計算。 5 啁啾 Z 轉換 Chirp Z transform CZT 啁啾 Z 轉換（ChirpZ transform）是一種離散傅立葉轉換（DFT）的擴充套件演算法，適用於當取樣頻率間隔與取樣時間間隔的乘積不等於訊號的時頻分佈面積時的情況。它利用卷積來實現任意大小的 DFT，從而加快計算速度，是一種基於快速傅立葉轉換（FFT）的高效演算法。 此外，啁啾 Z 變換也是一種用於評估非單位圓上的 Z 變換的演算法。 6 威諾格拉德演演算法 Winograd algorithm 由以色列裔美國電腦科學家 Shmuel Winograd 於 1976 年提出的，是一種改進型的快速傅立葉轉換（FFT）演算法，旨在進一步提高計算效率和速度。此演演算法使用的加法數量與庫利 圖基演演算法大致相同，但其所需的乘法數量只有其演演算法的約 20。 頻譜分析 前面指出，DFT 是連續傅立葉變換的近似。因此可以對連續訊號 x（t）均勻取樣並截斷以得到有限長的離散序列 x_n，對這一序列作離散傅立葉變換，可以分析連續訊號 x（t）頻譜的性質。前面還提到 DFT 應用於頻譜分析需要注意的兩個問題：即取樣可能導致訊號混疊和截斷訊號引起的頻譜洩漏。可以透過選擇適當的取樣頻率（見奈奎斯特頻率）消減混疊。選擇適當的序列長度並加窗可以抑制頻譜洩漏。 資料壓縮 由於人類感官的分辨能力存在極限，因此很多有失真壓縮演算法利用這一點將語音、音訊、影像、影片等訊號的高頻部分除去。高頻訊號對應於訊號的細節，濾除高頻訊號可以在人類感官可以接受的範圍內獲得很高的壓縮比。這一去除高頻分量的處理就是透過離散傅立葉變換完成的。將時域或空域的訊號轉換到頻域，僅儲存或傳輸較低頻率上的係數，在解壓縮端採用逆變換即可重建訊號。 解偏微分方程 離散傅立葉變換及其多維形式在偏微分方程的求解中也有應用。此時 DFT 被看作傅立葉級數的近似。傅立葉級數將函式在復指數 einx 上展開，這正是微分運算元的特徵方程：ddx einx in einx。因此，透過傅立葉級數的形式，線性常微分方程被轉換為代數方程，而後者是很容易求解的。此時得到的結果是偏微分方程解的級數表示，只要透過 DFT 逆變換即可得到其一般表示。這種方法被稱作譜方法或級數解法。 長整數與多項式乘法 目前長整數或多項式乘法最快速的演算法是基於離散傅立葉變換的。由於整數（或多項式）乘法是逐位（或逐項）乘累加的形式，因此整數（或多項式）乘積的數字（或係數）可以用乘數數字（或乘式係數）的卷積表示。利用卷積定理，只要將數字（或係數）序列透過離散傅立葉變換變到頻域，就可以將逐個乘累加的卷積變為對位的乘法，從而減少計算量，再以一次逆變換便可以得到乘法結果。需要注意整數乘法還有進位的問題。下面以多項式乘法為例說明這一應用： 假設需要計算多項式乘法 c x a xb（x），這一乘積結果的各項係數的表示式實際上是線性卷積的形式。由於離散傅立葉變換對應於圓周卷積，因此需要將這兩個乘式的係數按照次數升序排列，序列後 補零，使它們的長度 d 大於兩式最高項次數的和：d deg a x deg b x。然後作圓周卷積： mathbf c mathbf a otimes mathbf b 其中 c 就是 c x 係數的向量。由於圓周卷積的 DFT 是乘積，有： mathcal Fmathbf c mathcal Fmathbf a cdot mathcal Fmathbf b 則 mathbf c mathcal F1mathcal Fmathbf a cdot mathcal Fmathbf b 利用快速傅立葉變換，這一演算法的運算複雜度為 mathcal ON log N。 OFDM OFDM（正交頻分複用）在寬頻無線通訊中有重要的應用。這種技術將頻寬分為 N 個等間隔的子載波，可以證明這些子載波相互正交。尤其重要的是，OFDM 調製可以由 IDFT 實現，而解調可以由 DFT 實現。OFDM 還利用 DFT 的移位性質，在每個幀頭部加上迴圈字首（Cyclic Prefix），使得只要通道延時小於迴圈字首的長度，就能消除通道延時對傳輸的影響。 特殊例子 數論轉換 數論轉換是一種可以計算摺積的快速演演算法。計算摺積的快速演演算法中最常用的一種是使用快速傅裡葉變換，然而快速傅立葉變換具有一些實現上的缺點，舉例來說，資料向量必須乘上複數係數的矩陣加以處理，而且每個複數係數的實部和虛部是一個正弦及餘弦函式，因此大部分的係數都是浮點數，也就是說，必須做複數而且是浮點數的運算，因此計算量會比較大，而且浮點數運算產生的誤差會比較大。 而在數論轉換中，資料向量需要乘上的矩陣是一個整數的矩陣，因此不需要作浮點數的乘法運算，更進一步，在模數為的情況下，只有種可能的加法與種可能的乘法，這可以使用記憶體把這些有限數目的加法和乘法存起來，利用查表法來計算，使得數論轉換完全不須任何乘法與加法運算，不過需要較大的記憶體與消耗較大的存取記憶體量。 雖然使用數論轉換可以降低計算摺積的複雜度，不過由於只進行整數的運算，所以只能用於對整數的訊號計算摺積，而利用快速傅立葉變換可以對任何複數的訊號計算摺積，這是降低運算複雜度所要付出的代價，也不一定所有訊號都可以找到適合做數論轉換的質數。 FZp，此運算是根據模運算 而取得的，p 需要是質數 ，如此可以建構出有限域，並且存在 n 個可以整除 p1 的實數根。如此可以得到 pkcdot n1，k 為正整數。令 omega 為第 p1 個單位根，則第 n 個單位根 alpha 可以表示成 alphaomegak 。另外，再令 N 為 alpha 次方 p 模運算之迴圈個數。 數論轉換的公式 F ksum_n0N1 f nalphank pmod Mquad k012ldots N1 f nN1sum_k0N1 F kalphankpmod Mquad n012ldots N1 其中有幾點限制以及應該注意的事項 1M 應是一個質數 2N 應該是 M1 的因數 3N1 是滿足 N1 N modM1 的整數（當 N M1 時， N1 M1）。它也被稱為 N 的模 M 的逆元 4alpha 是 N 階的單位根。 舉個例子來說，當 p5alpha 2 則 alpha1 2 qquad mod quad 5 alpha2 4 qquad mod quad 5 alpha3 3 qquad mod quad 5 alpha4 1 qquad mod quad 5 因為 alpha4 經 5 的模運算為 1 ，因此可以判定此情況為 4 個次方一迴圈，所以 N4 ，N 可以整除 p1。則數論矩陣可以表示成 begin bmatrix F 0 F 1 F 2 F 3 end bmatrixbegin bmatrix 1 1 1 1 1 2 4 3 1 4 1 4 1 3 4 2 end bmatrixbegin bmatrix f 0 f 1 f 2 f 3 end bmatrix 在一些特殊的情況下，令 FZm ，而 m 不是值數也是有意義的。像是 Fermat Number Transform 中 m2k1，以及 Mersenne Number Transform 中 m2k1 數論轉換的數學性質 前面提到數論轉換是一種離散傅立葉轉換的特例，因此數論轉換具有許多離散傅立葉轉換的數學性質。 若 F k 為 f n 的數論轉換結果，即 f nF kNTT 1 正交性質 矩陣中的每個行或列，彼此正交，即任兩個行或列的內積為 0 sum_n0N1alphanlalphanksum_n0N1alphan klNdelta_kt 證明 當 k l，S_Nsum_n0N1alphan 0N 當 k neq 0，alphan kl1 S_Nalphan kl1sum_n0N1alphan kl alphaN kl1110 2 線性性質 NTT 符合線性轉換，即： F k_1k_2f n_1f n_2 並且對於常數 c 有： F ckcF k 若 f nleftrightarrow F k，則 f nleftrightarrow F k。 3 平移性質 若 f nleftrightarrow F k，則 f nlleftrightarrow alphalk F k，且 f nalphanlleftrightarrow F kl 4 可逆性質 NTT 變換是可逆的，存在反轉換 INTT 使得： INTT NTT nn 5 對稱性質 若 f n 具有對稱性質，即 f nf Nn，則 f n 的數論轉換 F k 也會有對稱性質，即 F kF Nk 的特性。 若 f nf Nn，則 f n 的數論轉換 F k 也會有 F kF Nk 的特性。 6 摺積性質 此性質線上性非時變系統當中非常重要，NTT 的主要應用多與此性質有關。 若考慮兩個訊號，f n_1leftrightarrow F k_1，f n_2leftrightarrow F k_2 f n_1f n_2 leftrightarrow F k_1 F k_2pmod m f n_1 f n_2 leftrightarrow F k_1F k_2pmod m 數論轉換的優缺點 優點 1 使用整數進行計算，計算較容易，也可以節省記憶體空間。 2 使用整數不會像浮點數一樣產生誤差，可以非常精確地計算。 3 很多性質都跟離散傅立葉轉換相同。 缺點 1 只能對整數做計算，若訊號為非整數，可能需要事先處理。 2 不容易找到 root of unity，即不容易找到合適的對數轉換。 3 相對而言缺乏物理意義。 參閱 傅立葉級數 傅立葉變換 快速傅立葉變換 數字訊號處理 ChirpZ 轉換 參考文獻 Oppenheim Alan V Schafer R W and Buck J R 1999 Discretetime signal processing Upper Saddle River NJ Prentice Hall ISBN 0137549202 Mallat S A Wavelet Tour of Signal Processing Second Edition Academic Press ISBN 012466606x Gill J Fourier Transform and Its Applications JianJiun Ding Advanced Digital Signal Processing class notethe Department of Electrical Engineering National Taiwan University NTU Taipei Taiwan 2024 Duhamel Pierre and Martin Vetterli Fast Fourier transforms a tutorial review and a state of the art Signal processing 194 1990 259299 L L Category 酉運算元 Category 時間序列降維方法 csFourierova transformaceDiskrétní Fourierova transformace fiFouriern muunnosDiskreetti Fouriern muunnos ptTransformada de FourierTransformada discreta de Fourier