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 termsfirst, followed by the negative frequencies in reverse order, so thatf[-i]for all in Python gives the negativefrequency terms. For an FFT of lengthnand 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 at
f[n/2]can be thought of aseither negative or positive.fftfreq()follows NumPy’sconvention 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_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()).devicewill 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 at
f[2]is given asnegative:>>>torch.fft.fftfreq(4)tensor([ 0.0000, 0.2500, -0.5000, -0.2500])