快捷方式

torch.fft.fft

torch.fft.fft(input, n=None, dim=-1, norm=None, *, out=None) Tensor

計算 input 的一維離散傅立葉變換 (DFT)。

注意

任何實訊號的傅立葉域表示都滿足 Hermitian 特性:X[i] = conj(X[-i])。儘管對於實數輸入,負頻率是冗餘的,但此函式始終返回正頻率和負頻率項。rfft() 返回更緊湊的單邊表示,其中僅返回正頻率。

注意

在 GPU 架構為 SM53 或更高版本的 CUDA 上支援 torch.half 和 torch.chalf。但是,它僅支援在每個變換維度上訊號長度為 2 的冪次方。

引數
  • input (Tensor) – 輸入張量

  • n (int, 可選) – 訊號長度。如果給定,在計算 FFT 之前,輸入將被零填充或截斷到此長度。

  • dim (int, 可選) – 進行一維 FFT 的維度。

  • norm (str, 可選) –

    歸一化模式。對於正向變換 (fft()),它們對應於

    • "forward" - 按 1/n 歸一化

    • "backward" - 不進行歸一化

    • "ortho" - 按 1/sqrt(n) 歸一化(使 FFT 正交歸一化)

    使用相同的歸一化模式呼叫反向變換 (ifft()) 將在兩個變換之間應用總體的 1/n 歸一化。這是使 ifft() 成為精確逆變換所必需的。

    預設為 "backward"(不進行歸一化)。

關鍵字引數

out (Tensor, 可選) – 輸出張量。

示例

>>> 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])

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取適合初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源