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()
總是將其視為正的。- 參數
- 關鍵字參數
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])