cn_update_offset_minsum#
- sionna.phy.fec.ldpc.cn_update_offset_minsum(msg_v2c: torch.Tensor, mask: torch.Tensor, llr_clipping: float | None = None, offset: float = 0.5) torch.Tensor[source]#
Check node update function implementing the offset corrected minsum.
The function implements
\[\qquad y_{j \to i} = \alpha_{j \to i} \cdot \max \left( \min_{i' \in \mathcal{N}(j) \setminus i} \left(|x_{i' \to j}| \right)-\beta , 0\right)\]where \(\beta=0.5\) and \(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 [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.
offset (float) – Offset value to be subtracted from each outgoing message.