cn_update_minsum#

sionna.phy.fec.ldpc.cn_update_minsum(msg_v2c: torch.Tensor, mask: torch.Tensor, llr_clipping: float | None = None) torch.Tensor[source]#

Check node update function implementing the minsum update.

The function implements

\[\qquad y_{j \to i} = \alpha_{j \to i} \cdot \min_{i' \in \mathcal{N}(j) \setminus i} \left(|x_{i' \to j}|\right)\]

where \(y_{j \to i}\) denotes the message from check node (CN) j to variable node (VN) i and \(x_{i \to j}\) from VN i to CN j, respectively. Further, \(\mathcal{N}(j)\) denotes all indices of connected VNs to CN j and

\[\alpha_{j \to i} = \prod_{i' \in \mathcal{N}(j) \setminus i} \operatorname{sign}(x_{i' \to j})\]

is the sign of the outgoing message. For further details we refer to [Ryan] and [Chen].

Parameters:
  • msg_v2c (torch.Tensor) – Tensor of shape [batch_size, num_nodes, max_degree] representing v2c messages.

  • mask (torch.Tensor) – Tensor of shape [num_nodes, max_degree] indicating valid edges.

  • llr_clipping (float | None) – Clipping value used for internal processing. If None, no internal clipping is applied.