Shortcuts

torch.fft.rfftfreq

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

计算信号大小为 nrfft() 的样本频率。

注意

rfft() 返回厄米特单边输出,因此只返回正频率项。对于长度为 n 的实数 FFT 和以长度单位 d 间隔的输入,频率为:

f = torch.arange((n + 1) // 2) / (d * n)

注意

对于偶数长度,奈奎斯特频率在 f[n/2] 可以被认为是 负数或正数。与 fftfreq() 不同, rfftfreq() 总是将其返回为正数。

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.rfftfreq(5)
张量([0.0000, 0.2000, 0.4000])
>>> torch.fft.rfftfreq(4)
张量([0.0000, 0.2500, 0.5000])

fftfreq()的输出相比,我们看到在f[2]处的奈奎斯特频率符号发生了变化: >>> torch.fft.fftfreq(4) tensor([ 0.0000, 0.2500, -0.5000, -0.2500])

优云智算