當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch rfft用法及代碼示例


本文簡要介紹python語言中 torch.fft.rfft 的用法。

用法:

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

參數

  • 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,可選的) -輸出張量。

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

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

示例

>>> 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()。在奈奎斯特頻率 T[-2] == T[2] 是它自己的對稱對,因此必須始終是實值。

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.fft.rfft。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。