torch.fft.rfftfreq#
- torch.fft.rfftfreq(n, d=1.0, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) Tensor#
Computes the sample frequencies for
rfft()with a signal of sizen.Note
rfft()returns Hermitian one-sided output, so only the positive frequency terms are returned. For a real FFT of lengthnand with inputs spaced in length unitd, 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. Unlikefftfreq(),rfftfreq()always returns it as positive.- 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 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.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 atf[2]has changed sign: >>> torch.fft.fftfreq(4) tensor([ 0.0000, 0.2500, -0.5000, -0.2500])