torch.fft.fft¶
- torch.fft.fft(input, n=None, dim=-1, norm=None, *, out=None) Tensor ¶
計算
input
的一維離散傅立葉轉換。注意
任何真實訊號的傅立葉域表示滿足 Hermitian 屬性:X[i] = conj(X[-i])。 即使對於真實輸入,負頻率是多餘的,此函數始終返回正頻率和負頻率項。
rfft()
返回更緊湊的單邊表示,其中僅返回正頻率。注意
在 GPU 架構 SM53 或更高版本的 CUDA 上支援 torch.half 和 torch.chalf。 但是,它僅支援每個轉換維度中的 2 的冪次訊號長度。
- 參數
input (Tensor) – 輸入張量
n (int, optional) – 訊號長度。如果給定,輸入將在計算 FFT 之前,被填充零或截斷至此長度。
dim (int, optional) – 執行一維 FFT 的維度。
norm (str, optional) –
標準化模式。對於正向轉換 (
fft()
),這些對應於"forward"
- 按1/n
標準化"backward"
- 不進行標準化"ortho"
- 按1/sqrt(n)
標準化 (使 FFT 正交)
使用相同的標準化模式呼叫反向轉換 (
ifft()
) 將在兩個轉換之間應用總體標準化1/n
。這是使ifft()
成為精確反向轉換所必需的。預設值為
"backward"
(不進行標準化)。
- 關鍵字參數
out (Tensor, optional) – 輸出張量。
範例
>>> t = torch.arange(4) >>> t tensor([0, 1, 2, 3]) >>> torch.fft.fft(t) tensor([ 6.+0.j, -2.+2.j, -2.+0.j, -2.-2.j])
>>> t = torch.tensor([0.+1.j, 2.+3.j, 4.+5.j, 6.+7.j]) >>> torch.fft.fft(t) tensor([12.+16.j, -8.+0.j, -4.-4.j, 0.-8.j])