捷徑

torch.fft.rfftfreq

torch.fft.rfftfreq(n, d=1.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) Tensor

計算大小為 n 的訊號,使用 rfft() 函數的樣本頻率。

注意

rfft() 傳回 Hermitian 單邊輸出,因此只會傳回正頻率項。對於長度為 n 且輸入間隔為長度單位 d 的實數 FFT,其頻率為

f = torch.arange((n + 1) // 2) / (d * n)

注意

對於偶數長度,奈奎斯特頻率在 f[n/2] 可以被視為是負的或正的。與 fftfreq() 不同的是,rfftfreq() 總是將其視為正的。

參數
  • n (int) – 實數 FFT 長度

  • d (float, optional) – 採樣長度比例。FFT 輸入的各個樣本之間的間距。預設值為單位間距,將結果除以實際間距會得到物理頻率單位的值。

關鍵字參數
  • out (Tensor, optional) – 輸出張量。

  • dtype (torch.dtype, optional) – 期望傳回的張量資料類型。預設值:如果 None,則使用全域預設值 (請參閱 torch.set_default_dtype())。

  • layout (torch.layout, optional) – 期望傳回的張量佈局。預設值:torch.strided

  • device (torch.device, optional) – 期望傳回的張量裝置。預設值:如果 None,則使用預設張量類型的目前裝置 (請參閱 torch.set_default_device())。device 對於 CPU 張量類型將會是 CPU,對於 CUDA 張量類型則會是目前的 CUDA 裝置。

  • requires_grad (bool, optional) – 如果 autograd 應該記錄傳回張量的操作。預設值:False

範例

>>> torch.fft.rfftfreq(5)
tensor([0.0000, 0.2000, 0.4000])
>>> torch.fft.rfftfreq(4)
tensor([0.0000, 0.2500, 0.5000])

fftfreq() 的輸出相比,我們可以看到奈奎斯特頻率在 f[2] 的符號已變更:>>> torch.fft.fftfreq(4) tensor([ 0.0000, 0.2500, -0.5000, -0.2500])

文件

存取 PyTorch 的完整開發人員文件

檢視文件

教學課程

取得針對初學者和進階開發人員的深入教學課程

檢視教學課程

資源

尋找開發資源並取得問題解答

檢視資源