5G NR QC-LDPC decoding method (BF algorithm) (3)

For linear block codes, the complexity of decoding increases exponentially with code length. Traditional decoding algorithms based on Maximum Likelihood Decoding (MLD) criteria are very difficult for long codes such as LDPC codes. Is unrealistic. The decoding algorithm of the LDPC code is usually called the Belief Propagatiol Algorithm, which is an alternative probabilistic decoding method. It is one of the characteristics of the LDPC code and one of the reasons for its superior performance.

Hard decision bit flip decoding

First introduce a simple LDPC code decoding algorithm, which is named Gallager hard decision decoding algorithm proposed by Gallager in his paper. This algorithm is only applicable to the BSC channel, and is also called the Bit Flipping Algorithm (Bit Flipping Algorithm), which can be regarded as a simplified form of the belief propagation algorithm.

Assuming that the hard decision value of the codeword vector x received through the BSC channel is z, and s is the adjoint sub-vector, the bit flip (BF) algorithm can be simply described as:

  1. First, calculate the equation s = z* (transpose of H), and count the number of times the received value y of each bit is less than the calibration equation.
  2. Find out the z with the largest number of unsatisfied check equations. If the number of unsatisfied is greater than a certain set value, flip it to get a new vector z'.
  3. Judgment condition: Calculate the equation s= z*(transpose of H) by the quantity substitute z'. If s=0, the output will be correctly decoded. Otherwise, repeat steps 1 to 3 and iterate repeatedly until the maximum number of iterations is reached.

The specific algorithm operation steps are as follows:
Step 1:
Insert picture description here
Insert picture description here
Step 2: Substitute the acceptance sequence z into s = z* (transpose of H), if a vector of all zeros is obtained, stop and output the reception sequence z, otherwise go to the next step.
Step 3: Calculate the number of each symbol in the received sequence that does not satisfy the check matrix equation

by f=s H, and find the largest element fi. Step 4: Reverse zi corresponding to fi. Step 5: Replace the original sequence with the newly obtained sequence, and recalculate s = z (transpose of H). If the syndrome is a vector of all 0s, stop decoding successfully; if the syndrome is a vector of non-all 0s, judge whether When the maximum number of iterations is reached, the iteration is stopped, and the result of the last time is used as the decoding result, otherwise, go to step 3.

Small example:
Insert picture description here

Soft decision bit flipping decoding

The bit-flip decoding algorithm mentioned earlier is a simple hard decision method, which can be improved by adding credibility information of the received signal during decoding.

Considering the AWGN channel with a mean value of 0 and a variance of N0/2, the log-likelihood function of the symbol is
Insert picture description here
calculated as: the maximum and minimum values ​​of yi are
Insert picture description here
calculated : the metric for the l-th codeword bit is calculated:
Insert picture description here
each of them The value of the element can be obtained by the following formula:
Insert picture description here
where s is obtained by the formula s = z*(transpose of H).

The steps of the soft decision decoding algorithm are as follows:
Step 1: First obtain the hard decision binary vector sequence Z, calculate the y sequence, set the iteration count to 0 and the maximum number of iterations.

Step 2: Calculate the syndrome s, if s=0, stop the iteration, otherwise go to the next step.

Step 3: Calculate the Θ for each information and find the smallest Θ.
Insert picture description here
Step 4: Flip the received codeword corresponding to the smallest Θ and mark the information element in the i-th iteration. Then:
Insert picture description here
e in the formula is a K-dimensional vector, which is 1 in the i-th bit, and the remaining bits are 0. (This formula is the flip operation)

Step 5: Replace the newly obtained sequence with the original sequence. If the syndrome is a vector of all 0s, the decoding is successful; if the syndrome is a vector of non-all 0s, judge whether the maximum number of iterations is reached, and if yes, stop the iteration , Take the last result as the decoding result, otherwise go to step 3.

Performance comparison of soft and hard decision flipping decoding algorithms

Insert picture description here

Guess you like

Origin blog.csdn.net/daijingxin/article/details/115292737