快捷方式

torch.fft.rfft

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

計算實值 input 的一維傅立葉變換。

實訊號的 FFT 具有 Hermitian 對稱性,X[i] = conj(X[-i]),因此輸出僅包含低於 Nyquist 頻率的正頻率。要計算完整的輸出,請使用 fft()

注意

支援在 GPU 架構 SM53 或更高版本的 CUDA 上使用 torch.half。但它僅支援轉換的每個維度中訊號長度為 2 的冪次方。

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

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

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

  • norm (str, 可選) –

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

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

    • "backward" - 無歸一化

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

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

    預設值為 "backward"(無歸一化)。

關鍵字引數

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

示例

>>> t = torch.arange(4)
>>> t
tensor([0, 1, 2, 3])
>>> torch.fft.rfft(t)
tensor([ 6.+0.j, -2.+2.j, -2.+0.j])

fft() 的完整輸出進行比較

>>> torch.fft.fft(t)
tensor([ 6.+0.j, -2.+2.j, -2.+0.j, -2.-2.j])

請注意,對稱元素 T[-1] == T[1].conj() 已被省略。在 Nyquist 頻率下,T[-2] == T[2] 是其自身的對稱對,因此必須始終是實數值。

文件

查閱 PyTorch 全面的開發者文件

檢視文件

教程

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

檢視教程

資源

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

檢視資源