ifft#

sionna.phy.signal.ifft(tensor: torch.Tensor, axis: int = -1, precision: Literal['single', 'double'] | None = None) torch.Tensor[source]#

Computes the normalized IDFT along a specified axis.

This operation computes the normalized one-dimensional discrete inverse Fourier transform (IDFT) along the axis dimension of a tensor. For a vector \(\mathbf{X}\in\mathbb{C}^N\), the IDFT \(\mathbf{x}\in\mathbb{C}^N\) is computed as

\[x_n = \frac{1}{\sqrt{N}}\sum_{m=0}^{N-1} X_m \exp \left\{ j2\pi\frac{mn}{N}\right\},\quad n=0,\dots,N-1.\]
Parameters:
  • tensor (torch.Tensor) – Tensor of arbitrary shape (torch.complex)

  • axis (int) – Dimension along which the IDFT is taken

  • precision (Literal['single', 'double'] | None) – Precision used for internal calculations and outputs. If set to None, precision is used.

Outputs:

xtorch.complex. Tensor of the same shape as tensor.

Examples

import torch
from sionna.phy.signal import ifft

X = torch.randn(32, 64, dtype=torch.complex64)
x = ifft(X)
print(x.shape)
# torch.Size([32, 64])