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)
注意
对于偶数长度,奈奎斯特频率在
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 张量类型,device将为当前 CUDA 设备。requires_grad (布尔值, 可选) – 是否应该记录对返回张量的操作。默认值:
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])