torch.fft.fftfreq¶
-
torch.fft.
fftfreq
(n, d=1.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor¶ Computes the discrete Fourier Transform sample frequencies for a signal of size
n
.Note
By convention,
fft()
returns positive frequency terms first, followed by the negative frequencies in reverse order, so thatf[-i]
for all in Python gives the negative frequency terms. For an FFT of lengthn
and with inputs spaced in length unitd
, the frequencies are:f = [0, 1, ..., (n - 1) // 2, -(n // 2), ..., -1] / (d * n)
Note
For even lengths, the Nyquist frequency at
f[n/2]
can be thought of as either negative or positive.fftfreq()
follows NumPy’s convention of taking it to be negative.- Parameters
- Keyword Arguments
out (Tensor, optional) – the output tensor.
dtype (
torch.dtype
, optional) – the desired data type of returned tensor. Default: ifNone
, uses a global default (seetorch.set_default_tensor_type()
).layout (
torch.layout
, optional) – the desired layout of returned Tensor. Default:torch.strided
.device (
torch.device
, optional) – the desired device of returned tensor. Default: ifNone
, uses the current device for the default tensor type (seetorch.set_default_tensor_type()
).device
will be the CPU for CPU tensor types and the current CUDA device for CUDA tensor types.requires_grad (bool, optional) – If autograd should record operations on the returned tensor. Default:
False
.
Example
>>> torch.fft.fftfreq(5) tensor([ 0.0000, 0.2000, 0.4000, -0.4000, -0.2000])
For even input, we can see the Nyquist frequency at
f[2]
is given as negative:>>> torch.fft.fftfreq(4) tensor([ 0.0000, 0.2500, -0.5000, -0.2500])