Rate this Page

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 sizen.

Note

By convention,fft() returns positive frequency termsfirst, followed by the negative frequencies in reverse order, so thatf[-i] for all0<in/20 < i \leq n/2` in Python gives the negativefrequency terms. For an FFT of lengthn and with inputs spaced inlength unitd, the frequencies are:

f=[0,1,...,(n-1)//2,-(n//2),...,-1]/(d*n)

Note

For even lengths, the Nyquist frequency atf[n/2] can be thought of aseither negative or positive.fftfreq() follows NumPy’sconvention of taking it to be negative.

Parameters:
  • n (int) – the FFT length

  • d (float,optional) – The sampling length scale.The spacing between individual samples of the FFT input.The default assumes unit spacing, dividing that result by the actualspacing gives the result in physical frequency units.

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_dtype()).

  • 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_device()).device will be the CPUfor CPU tensor types and the current CUDA device for CUDA tensor types.

  • requires_grad (bool,optional) – If autograd should record operations on thereturned 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 atf[2] is given asnegative:

>>>torch.fft.fftfreq(4)tensor([ 0.0000,  0.2500, -0.5000, -0.2500])