Shortcuts

torch.fft.fftfreq

torch.fft.fftfreq(n, d=1.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) 张量

计算大小为 n 的信号的离散傅里叶变换样本频率。

注意

按照惯例,fft() 首先返回正频率项,然后是负频率项,按相反顺序排列,因此 f[-i] 对于所有 0<in/20 < i \leq n/2 在 Python 中给出负频率项。对于长度为 n 的 FFT 以及在长度单位 d 中间隔的输入,频率为:

f = [0, 1, ..., (n - 1) // 2, -(n // 2), ..., -1] / (d * n)

注意

对于偶数长度,奈奎斯特频率在 f[n/2] 可以被认为是负数或正数。fftfreq() 遵循 NumPy 的惯例,将其视为负数。

Parameters
  • n (int) – FFT长度

  • d (float, 可选) – 采样长度尺度。 FFT输入的单个样本之间的间距。 默认假设单位间距,将结果除以实际间距即可得到物理频率单位的结果。

Keyword Arguments
  • 输出 (张量, 可选) – 输出张量。

  • dtype (torch.dtype, 可选) – 返回张量的所需数据类型。 默认值:如果 None,则使用全局默认值(参见 torch.set_default_dtype())。

  • 布局 (torch.layout, 可选) – 返回张量的所需布局。 默认值: torch.strided

  • 设备 (torch.device, 可选) – 返回张量所需的设备。 默认值:如果 None,则使用默认张量类型的当前设备 (参见 torch.set_default_device())。device 将是 CPU 用于 CPU 张量类型,以及当前 CUDA 设备用于 CUDA 张量类型。

  • requires_grad (布尔值, 可选) – 如果 autograd 应该记录对返回张量的操作。默认值:False

示例

>>> torch.fft.fftfreq(5)
张量([ 0.0000,  0.2000,  0.4000, -0.4000, -0.2000])

对于偶数输入,我们可以看到奈奎斯特频率在 f[2] 处被表示为负数:

>>> torch.fft.fftfreq(4)
张量([ 0.0000,  0.2500, -0.5000, -0.2500])
优云智算