函數 > 轉換與濾波器 > 數據的離散傅立葉轉換
數據的離散傅立葉轉換
dft(A), idft(Z)—傳回複值向量或矩陣的傅立葉轉換或傅立葉逆轉換。
如果 dft 的輸入是長度 r 的向量 V,則:
dft(V) 的輸出是長度 r 的向量 Z
idft(Z) 的輸出是長度 r 的向量
如果 dft 的輸入是具有 r 列和 c 欄的矩陣 M,則:
dft(M) 的輸出是具有 r 列和 c 欄的矩陣 P
idft(P) 的輸出是具有 r 列和 c 欄的矩陣。
dftr(B)idftr(Z)—傳回實值向量或矩陣的傅立葉正/逆轉換。
如果 dftr 的輸入是長度 r 的向量 V,則:
dftr(V) 的輸出是長度 Z 的向量 L,其中 L=floor(r/2)+1Z 的元素與 dft(V) 輸出的第一個 L 元素完全相同。
idftr(Z) 的輸出是長度 r=2(L-1) 的向量。
如果 dftr 的輸入是具有 r 列和 c 欄的矩陣 M,則:
dftr(M) 的輸出是具有 P 列和 r 欄的矩陣 L,其中 L=floor(c/2)+1P 的元素與·dft(M)·輸出的第一 L·欄完全相同。
idftr(P) 的輸出是具有 r 列和 c=2(L-1) 欄的矩陣。
引數
A 是任何大小的複值向量或矩陣
B 是實數向量或矩陣。任何虛數部分都會遭到忽略。如果 B 是向量,則列數必須是 2 的倍數。如果 B 是矩陣,則欄數必須是 2 的倍數
對於 AB,數據必須具有相容單位
向量的傅立葉轉換
A 是大小為 m 的向量,則向量 A 之一維 (1D) 正轉換的第 u 個元素得自 Zu,如下所示:
其中:
m 是列數,且 u 定義為:
i 是虛數單位,且 wm 定義為:
計算以上定義中的 Z 等同於將 dft 函數套用至向量 A
Z 是大小為 m 的向量,則向量 Z 之一維 (1D) 逆轉換的第 u 個元素得自 Au,如下所示:
其中:
muwm 的定義如上。
計算以上定義中的 A 等同於將 idft 函數套用至向量 Z
矩陣的傅立葉轉換
A 是大小為 mxn 的矩陣,則矩陣 A 之二維 (2D) 正轉換的第 (u,v) 個元素得自 Zu,v,如下所示:
其中:
muwm 的定義如上。
n 是欄數,且 v 定義為:
i 是虛數單位,且 wn 定義為:
計算以上定義中的 Z 等同於將 dft 函數套用至矩陣 A
Z 是大小為 mxn 的矩陣,則矩陣 A 之二維 (2D) 逆轉換的第 (u,v) 個元素得自 Au,v,如下所示:
其中:
mnuvwmwn 的定義如上。
計算以上定義中的 A 等同於將 idft 函數套用至矩陣 Z
其他資訊
當向量的列數及矩陣的欄數為 2 的次方時,傅立葉函數的執行速度會更快。
新的 dft/idft 數會取代已過時的 cfft/icfftCFFT/ICFFT 函數的功能,並大幅改善效能,特別是大型數據集與大小不是 2 的倍數之情況。
新的 dftr/idftr 函數會取代已過時的 fft/ifftFFT/IFFT 函數的功能。
函數 dftr 會在長度為偶數的實數向量上運算,並在具有偶數欄數的矩陣上運算。
函數 fft/FFT 只會在長度為 2 的次方的實數向量上運算。
函數 ifft/IFFT 只有一半是輸入向量長度加一,或是 2k-1+1,其中 k 為 > 1 的整數。您必須手動重新建構另一半 (第一部分的共軛部分但順序相反)。函數 dft/idft 會傳回完整的結果。
函數 dft/idft 的比例係數和指數正負號,與已過時的 fft/ifftFFT/IFFTcfft/icfftCFFT/ICFFT 皆不同。
正轉換的差異包括:
dft/dftr
fft/cfft
FFT/CFFT
比例係數
1
指數正負號
負數
正數
負數
逆轉換的差異包括:
idft/idftr
ifft/icfft
IFFT/ICFFT
比例係數
1
指數正負號
正數
負數
正數
為僅在向量上運算之函數 (1D 的情況) 計算比例係數時,會假設 n=1
這是否有幫助?