j_fun_inv#

sionna.phy.fec.utils.j_fun_inv(mi: torch.Tensor) torch.Tensor[source]#

Computes the inverse of the J-function.

The J-function relates mutual information to the mean of Gaussian-distributed Log-Likelihood Ratios (LLRs) using the Gaussian approximation. This function computes the inverse J-function based on the approximation proposed in [Brannstrom]:

\[J(\mu) \approx \left( 1 - 2^{H_\text{1}(2\mu)^{H_\text{2}}}\right)^{H_\text{3}}\]

where \(\mu\) is the mean of the LLR distribution, and constants are defined as \(H_\text{1}=0.3073\), \(H_\text{2}=0.8935\), and \(H_\text{3}=1.1064\).

Input values are clipped to [1e-10, 1] for numerical stability. The output is clipped to a maximum LLR of 20.

Parameters:

mi (torch.Tensor) – Tensor of arbitrary shape, representing mutual information values.

Outputs:

mu – Tensor of the same shape and dtype as mi, containing the computed mean values of the LLR distribution.

Examples

import torch
from sionna.phy.fec.utils import j_fun_inv

mi = torch.tensor([0.1, 0.5, 0.9])
mu = j_fun_inv(mi)
print(mu)