In this study, we propose a “New Reliability Ratio Weighted Bit Flipping” (NRRWBF) algorithm for Low-Density Parity-Check (LDPC) codes. This algorithm improves the “Reliability Ratio Weighted Bit Flipping” (RRWBF) algorithm by modifying the reliability ratio. It surpasses the RRWBF in performance, reaching a 0.6 dB coding gain at a Binary Error Rate (BER) of 10^{−4} over the Additive White Gaussian Noise (AWGN) channel, and presents a significant reduction in the decoding complexity. Furthermore, we improved NRRWBF using the sum of the syndromes as a criterion to avoid the infinite loop. This will enable the decoder to attain a more efficient and effective decoding performance.

Low-Density Parity-Check (LDPC) codes form a block code class characterized by the null space of sparse parity-check matrix

LDPC codes can be decoded mainly by two algorithms’ families. The first one is the so-called soft decision algorithms. Their original algorithm is called Belief Propagation (BP) [

The BP algorithm is known for its effective performance in error correction, but it takes a lot of multiplications to update the variable nodes and controls, which makes it difficult to use in an efficient hardware implementation. Different variants have been proposed for reducing its complexity and improving its performance. Despite these attempts to achieve these goals, this family of decoding algorithms remains much higher in complexity compared to the second decoding family.

This second one includes the algorithms known as the hard decision which originated from the Bit Flipping (BF) algorithm [

Researchers in this field continued to propose decoding algorithms to improve the BF algorithm by minimizing the difference in performance compared to the SP one. Among these proposed algorithms in recent years, and which present interesting results, we can cite the following:

Within this sense, in the current paper, we propose an improvement of the RRWBF algorithm called “New Reliability Ratio Weighted Bit Flipping” (NRRWBF). In this algorithm, we propose a change in the inversion function, especially in the syndrome’s weight (reliability ratio), to improve the performance and to minimize, even more, the difference in performance between the SP algorithms and the BF ones. In a second step, we added an improvement to our algorithm by using the criterion of the syndrome’s sum to avoid falling into the infinite loop of decoding. We called this new proposition “Improvement of the New Reliability Ratio Weighted Bit Flipping” (INRRWBF).

After the first section which established an introduction for this study, the rest of this document is organized as follows. Section

LDPC codes are defined by a hollow matrix (the number of zeros greater than the number of ones) called the parity-check matrix

It is assumed that the binary codeword message is

The following are defined:

An example of an

This regular dimension matrix (

Tanner graph of matrix

In this section, we provide the steps of the BF decoding algorithm and some of its derivatives in general. After receiving the information from the channel, the initialization step is performed to find the estimated values that will be used in the decoding steps.

We initialize a variable

The iterative process (decoding steps in general) includes the following:

We calculate the syndrome bits:

We calculate the inversion function (the error term) for each variable node as follows:

We determine which variable node has the highest value of

We repeat steps 1-3 until all parity control equations are satisfied or a predefined number of iterations is reached

The inversion function (IF) of the decoding algorithm differs from one algorithm to another depending on the relationships or values given to the parameters

For the original BF algorithm,

The IF becomes

For the WBF algorithm, we find

The IF becomes

For the MWBF algorithm, we find

The IF becomes

For the IMWBF algorithm, we find

The IF becomes

For the RRWBF algorithm, we find

The IF becomes

For the ILCHWBF algorithm, we find

The IF becomes

For MMWBF [

The inversion function is calculated for each variable node as follows:

In the main algorithm,

In the auxiliary algorithm,

According to

If

Hard decision decoding algorithms are based on the calculation of the inversion function. This function determines the least reliable bit to be flipped at each iteration. Because of this, the parameters used in this function are very important; they must be chosen intelligently.

After exploring several algorithms known in the literature, such as MS [

Henceforth, we chose the RRWBF algorithm to improve it by integrating the

The RRWBF algorithm, which performs well against some variants of WBF, uses the inversion function

So, we replace the weight

Therefore, we simplified the sum of messages

The inversion function

The NRRWBF algorithm is summarized in Algorithm

In this section, we analyze the complexity of calculating the inversion function and syndrome to determine which bit will be flipped for iteration. We consider a LDPC code with the weight of the column

The operations for an iteration in WBF, RRWBF, and NRRWBF algorithms are grouped in Table

Complexity for different algorithms with AWGN channels.

Operation | Algorithm | ||
---|---|---|---|

WBF | RRWBF | NRRWBF | |

Addition | |||

Multiplication | |||

Division | 0 | ||

Comparison | 0 |

The operations in the WBF, RRWBF, and NRRWBF algorithms for code 1 (

The number of required operations for different algorithms.

WBF | RRWBF | NRRWBF | |
---|---|---|---|

Addition | 6900 | 21300 | 6900 |

Multiplication | 7200 | 7200 | 7200 |

Division | 0 | 600 | 600 |

Comparison | 1650 | 0 | 1650 |

To see the difference between RRWBF and NRRWBF, we calculate

For RRWBF, we find

For NRRWBF, we find

This is due to the use of the minimum value

During the LDPC decoding process, the decoder may fall into an infinite decoding loop before reaching the predefined maximum iteration number limit. In other words, the decoder may sometimes reverse an already-corrected bit, and this can be repeated several times during the decoding steps. Then, the decoding loop will cause a decoding failure when the maximum number of iterations is reached. To avoid such a situation of the infinite loop, we will adopt a method that allows preventing this problem:

This method is based on the calculation of the sum of the syndromes. As the syndrome is a vector of 0 and 1, if it contains only 0s, the sum of the syndromes is 0 and the estimated codeword is valid; otherwise, it is invalid

In this algorithm, we propose to calculate the sum of the syndromes at each iteration

The INRRWBF algorithm is summarized in Algorithm

In this section, we introduce the simulation results found by MATLAB software, using BPSK and AWGN channels.

The parameters used in the simulations for the three codes are presented in Table

Parameters used in simulations.

Code 1 | Code 2 | Code 3 | |
---|---|---|---|

Number of bits of information | 450 | 750 | 1050 |

Number of parity-check equations | 150 | 150 | 150 |

Length of the codeword | 600 | 900 | 1200 |

Coding rate | 0.75 | 0.83 | 0.875 |

Column weight | 3 | 3 | 3 |

Row weight | 12 | 18 | 24 |

To evaluate our NRRWBF algorithm, we need to compare it with algorithms from the two LDPC decoding families cited in the introduction. For the soft decision, the Min-Sum (MS) algorithm was chosen as a good variant of the original Sum-Product (SP) algorithm. For the hard decision, we chose the following algorithms, RRWBF and WBF.

The MS is characterized by a normalization factor noted as

Then, before running the simulation, we must find the normalization factor

Figures

Normalization factor for code 1.

Normalization factor for code 2.

Normalization factor for code 3.

The optimum values of the normalization factor

The simulation results are illustrated in Figures

BER performance of different decoding algorithms for code 1.

BER performance of different decoding algorithms for code 2.

The simulation results are illustrated in Figures

BER performance of different decoding algorithms for code 3.

Figures

Simulation results show that the NRRWBF algorithm gives the same performance as the RRWBF algorithm for the low SNR because the decoders in this interval do not distinguish between wrong and correct bits during the flipping step as long as the noise is higher. In this same interval, we observe that our algorithm surpasses the WBF algorithm by 0.7 dB and presents a mediocrity in performance compared to MS by 0.8 dB.

For the loud signal-to-noise ratio, it is noted from Figure ^{-4} value of BER, that the NRRWBF algorithm surpasses the RRWBF algorithm by 0.3 dB and far by 1.1 dB of the MS algorithm.

From Figure ^{-4} BER value; it is found that the NRRWBF algorithm surpasses the RRWBF algorithm by 0.5 dB and far by 0.8 dB of the MS algorithm.

From Figure ^{-4} BER value. It is found that the NRRWBF algorithm surpasses both the RRWBF algorithm by 0.6 dB and the ILCHWBF algorithm by 0.3 dB, but it is lower by 0.7 dB compared to the MS algorithm.

All simulations reveal the good performance for our algorithm compared to the WBF algorithm.

Results indicate that there is a critical performance improvement when using the large line weight

These results are due to the importance of using the minimum of the absolute value of the received values by variable nodes for each control node in the inversion function. This makes it possible to determine the least reliable bit, which increases the probability of determining exactly the erroneous bit at each iteration so that it can be corrected. This method is more effective when the size of the codeword

Figure

BER convergence comparison on code 1 at

In addition, for the same number of iterations (100 in this case), the BER in our case is better.

In Figure

BER performance of different decoding algorithms for code 2.

We observe that there is a 0.25 dB performance gain at a 10^{-4} BER for the INRRWBF compared to the NRRWBF. This shows firstly the importance of using the sum of the syndromes as a decoding loop detector and secondly that there is an addition of performance compared to the NRRWBF algorithm, which mainly comes down to the sum of the syndromes as a criterion to avoid the infinite loop. Therefore, in this way, we have to take advantage of all the efficiency of our first algorithm to correct the errors found during the decoding step.

In this article, we have, in a first step, proposed the NRRWBF algorithm to improve the performance of LDPC codes. The simulation results show that this algorithm gives good performance compared to the RRWBF algorithm at a high SNR for different line weights, with a significant reduction in complexity. In a second step, we present an amelioration of the proposed algorithm called the INRRWBF algorithm. This proposition has increased performance thanks to the criterion of avoiding the infinite loop which results in greatly enhancing the efficiency of the decoder.

The data used in our work are declared in the manuscript, and the matrices used in the simulations to evaluate our algorithm against the algorithms found in the literature are available from us.

The authors declare that they have no conflicts of interest.