torch.fft.fftfreq¶
- torch.fft.fftfreq(n, d=1.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) Tensor¶
計算大小為
n的訊號的離散傅立葉變換樣本頻率。注意
按照慣例,
fft()首先返回正頻率項,然後按反序返回負頻率項,因此在 Python 中,對於所有 ,f[-i]提供負頻率項。對於長度為n且輸入間隔長度單位為d的 FFT,頻率如下:f = [0, 1, ..., (n - 1) // 2, -(n // 2), ..., -1] / (d * n)
注意
對於偶數長度,奈奎斯特頻率 (Nyquist frequency) 在
f[n/2]可以被認為是負的或正的。fftfreq()遵循 NumPy 的慣例,將其視為負值。- 引數
- 關鍵字引數
out (Tensor, 可選) – 輸出張量。
dtype (
torch.dtype, 可選) – 返回張量所需的資料型別。預設值:如果為None,則使用全域性預設值(參見torch.set_default_dtype())。layout (
torch.layout, 可選) – 返回張量所需的佈局。預設值:torch.strided。device (
torch.device, 可選) – 返回張量所需的裝置。預設值:如果為None,則使用預設張量型別的當前裝置(參見torch.set_default_device())。對於 CPU 張量型別,device將是 CPU;對於 CUDA 張量型別,將是當前的 CUDA 裝置。requires_grad (bool, 可選) – 如果 autograd 應該記錄返回張量上的操作。預設值:
False。
示例
>>> torch.fft.fftfreq(5) tensor([ 0.0000, 0.2000, 0.4000, -0.4000, -0.2000])
對於偶數輸入,我們可以看到
f[2]處的奈奎斯特頻率被指定為負值>>> torch.fft.fftfreq(4) tensor([ 0.0000, 0.2500, -0.5000, -0.2500])