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()
返回厄密(Hermitian)一侧输出,因此只返回正频率项。对于长度为n
且输入间隔为长度单位d
的实数 FFT,频率为f = torch.arange((n + 1) // 2) / (d * n)
注意
对于偶数长度,
f[n/2]
处的奈奎斯特频率可以认为是负的或正的。与fftfreq()
不同,rfftfreq()
总是将其返回为正数。- 参数
- 关键字参数
out (Tensor, optional) – 输出张量。
dtype (
torch.dtype
, optional) – 返回张量的期望数据类型。默认值:如果为None
,则使用全局默认值(参见torch.set_default_dtype()
)。layout (
torch.layout
, optional) – 返回张量的期望布局。默认值:torch.strided
。device (
torch.device
, optional) – 返回张量的期望设备。默认值:如果为None
,则使用默认张量类型的当前设备(参见torch.set_default_device()
)。对于 CPU 张量类型,device
将是 CPU;对于 CUDA 张量类型,则是当前 CUDA 设备。requires_grad (bool, optional) – 如果 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])