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的 FFT,並且輸入在長度單位d中間隔,頻率為f = [0, 1, ..., (n - 1) // 2, -(n // 2), ..., -1] / (d * n)
注意
對於偶數長度,奈奎斯特頻率
f[n/2]可以視為負頻率或正頻率。fftfreq()遵循 NumPy 的約定,將其視為負頻率。- 引數
- 關鍵字引數
out (Tensor, optional) – 輸出張量。
dtype (
torch.dtype, optional) – 返回張量的期望資料型別。預設值:如果None,則使用全域性預設值(參見torch.set_default_dtype())。layout (
torch.layout, 可選) – 返回張量的所需佈局。預設:torch.strided。device (
torch.device, optional) – 返回張量的期望裝置。預設值:如果為None,則使用預設張量型別的當前裝置(請參閱torch.set_default_device())。對於 CPU 張量型別,device將是 CPU,對於 CUDA 張量型別,將是當前 CUDA 裝置。requires_grad (bool, optional) – 如果 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])