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 lengthn
and 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_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.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])