torch.fft.rfftfreq¶

torch.fft.rfftfreq(n, d=1.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)

Computes the sample frequencies for rfft() with a signal of size n.

Note

rfft() returns Hermitian one-sided output, so only the positive frequency terms are returned. For a real FFT of length n and with inputs spaced in length unit d, the frequencies are:

f = torch.arange((n + 1) // 2) / (d * n)


Note

For even lengths, the Nyquist frequency at f[n/2] can be thought of as either negative or positive. Unlike fftfreq(), rfftfreq() always returns it as positive.

Parameters:
• n (int) – the real 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 actual spacing gives the result in physical frequency units.

Keyword Arguments:

Example

>>> torch.fft.rfftfreq(5)
tensor([0.0000, 0.2000, 0.4000])

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


Compared to the output from fftfreq(), we see that the Nyquist frequency at f[2] has changed sign: >>> torch.fft.fftfreq(4) tensor([ 0.0000, 0.2500, -0.5000, -0.2500])