optic.comm.fec.minSumAlgorithm
- minSumAlgorithm(llrs, checkNodes, varNodes, maxIter, prec=<class 'numpy.float32'>)
Performs belief propagation decoding using the Min-Sum Algorithm (MSA) for multiple codewords. Optimized to use sparse edge-based message passing and O(d_c) check node updates.
- Parameters:
llrs (np.array of shape (n, numCodewords)) – Log-likelihood ratios (LLRs) of the received codeword bits.
checkNodes (list of np.array) – List of length \(m\), where each entry contains the indices of variable nodes connected to the corresponding check node.
varNodes (list of np.array) – List of length \(n\), where each entry contains the indices of check nodes connected to the corresponding variable node.
maxIter (int) – Maximum number of iterations for belief propagation.
prec (data-type, optional) – Numerical precision to use in computations (default is np.float32).
- Returns:
finalLLR (np.array of shape (n,)) – Updated LLR values for the decoded codeword after the final iteration.
numIter (int) – Number of iterations performed before successful decoding or reaching maxIter.
frameDecodingFail (np.array of shape (numCodewords,)) – Array indicating whether decoding was successful (0) or failed (1) for each codeword. A value of 0 indicates successful decoding, while 1 indicates failure.
References
[1] M. P. C. Fossorier, M. Mihaljevic and H. Imai, “Reduced complexity iterative decoding of low-density parity check codes based on belief propagation,” IEEE Transactions on Communications, vol. 47, no. 5, pp. 673-680, May 1999