Skip to content

Implemented a new algorithm for ldpc decoding

4g5g Consultants requested to merge Suraj4g5g/ral:ldpc_decoder into main

Implemented a new algorithm for ldpc decoding.

LDPC decoder algorithm implements iterative message-passing layered decoding. Algorithm involves exchanging the belief information among the variable nodes and check nodes.

Input LLRs "l" provide intrinsic information. Extrinsic information "r" generated in check node is passed to variable nodes.

Belief information is updated iteratively in two steps:

  1. Variable-to-Check step: Variable nodes transmit their belief information to the connected check nodes.
  2. Check-to-Variable step: Check nodes process the received information, update it, and send it back to the connected variable nodes.

The offset min-sum algorithm is chosen for its computational efficiency and ease of implementation while maintaining reliable decoding performance.

Note: This patch removes the parity_check, as the CRC check is performed which is mandatory.

BER rates with the new implementation are shown in the table below,

n bg mod_type rv Eb/N0 ber_before ber_after
300 2 QPSK 0 1.0 0.217548 0.019789
396 1 QPSK 0 1.0 0.211515 0.027611
1400 2 QPSK 0 1.0 0.279014 0.008802
1848 1 QPSK 0 1.0 0.251669 0.017381
4400 2 QPSK 0 1.0 0.321063 0.002338
5808 1 QPSK 0 1.0 0.253866 0.008661
10400 2 QPSK 0 1.0 0.332846 0.000411
13728 1 QPSK 0 1.0 0.254120 0.004200
Edited by 4g5g Consultants

Merge request reports