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
的 FFT,并且输入在长度单位d
中间隔,频率为f = [0, 1, ..., (n - 1) // 2, -(n // 2), ..., -1] / (d * n)
注意
对于偶数长度,奈奎斯特频率
f[n/2]
可以视为负频率或正频率。fftfreq()
遵循 NumPy 的约定,将其视为负频率。- 参数
- 关键字参数
out (Tensor, optional) – 输出张量。
dtype (
torch.dtype
, optional) – 返回张量的期望数据类型。默认值:如果None
,则使用全局默认值(参见torch.set_default_dtype()
)。layout (
torch.layout
, 可选) – 返回张量的所需布局。默认:torch.strided
。device (
torch.device
, optional) – 返回张量的期望设备。默认值:如果为None
,则使用默认张量类型的当前设备(请参阅torch.set_default_device()
)。对于 CPU 张量类型,device
将是 CPU,对于 CUDA 张量类型,将是当前 CUDA 设备。requires_grad (bool, optional) – 如果 autograd 应记录在返回的张量上的操作。默认值:
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])