torch.fft.rfftfreq¶
- torch.fft.rfftfreq(n, d=1.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) Tensor¶
计算具有大小为
n的信号的rfft()样本频率。注意
rfft()返回厄米单边输出,因此只返回正频率项。对于长度为n的实 FFT 以及以长度单位d间隔的输入,频率为:f = torch.arange((n + 1) // 2) / (d * n)
注意
对于偶数长度,
f[n/2]处的奈奎斯特频率可以认为是正的或负的。与fftfreq()不同,rfftfreq()总是返回正数。- 参数:
n (int) – 实际 FFT 长度
d (float,可选) – 样本长度尺度。FFT 输入个别样本之间的间距。默认假设单位间距,将结果除以实际间距,得到物理频率单位的结果。
- 关键字参数:
输出(张量,可选)- 输出张量。
dtype (
torch.dtype,可选) – 返回张量的期望数据类型。默认:如果None,则使用全局默认值(见torch.set_default_dtype())。layout (
torch.layout,可选) – 返回 Tensor 的期望布局。默认:torch.strided。device (
torch.device,可选) – 返回张量的期望设备。默认:如果None,则使用当前设备用于默认张量类型(见torch.set_default_device())。device将是 CPU 张量类型的 CPU 和 CUDA 张量类型的当前 CUDA 设备。requires_grad (bool,可选) – 如果 autograd 应记录对返回张量的操作。默认:
False。
示例
>>> torch.fft.rfftfreq(5) tensor([0.0000, 0.2000, 0.4000])
>>> torch.fft.rfftfreq(4) tensor([0.0000, 0.2500, 0.5000])
与
fftfreq()的输出相比,我们发现f[2]处的奈奎斯特频率的符号已改变:>>> torch.fft.fftfreq(4) tensor([ 0.0000, 0.2500, -0.5000, -0.2500])