Optimized Min-sum Decoding Algorithm for Low Density Parity Check Codes

― Low Density Parity Check (LDPC) code approaches Shannon–limit performance for binary field and long code lengths. However, performance of binary LDPC code is degraded when the code word length is small. An optimized min-sum algorithm for LDPC code is proposed in this paper. In this algorithm unlike other decoding methods, an optimization factor has been introduced in both check node and bit node of the Min-sum algorithm. The optimization factor is obtained before decoding program, and the same factor is multiplied twice in one cycle. So the increased complexity is fairly low. Simulation results show that the proposed Optimized Min-Sum decoding algorithm performs very close to the Sum-Product decoding while preserving the main features of the Min-Sum decoding, that is low complexity and independence with respect to noise variance estimation errors.


INTRODUCTION
Among the error correction codes, Low Density Parity Check (LDPC) is one of the most efficient techniques.It was first introduced by Robert Gallager in 1962 in his PhD.Dissertation [1].It is the extreme sparseness of the parity check matrix for LDPC codes that make the decoding particularly attractive.LDPC codes have recently received a lot of attention because they can achieve a remarkable performance near Shannon limit over the binary symmetric channel (BSC) as well as the additive white Gaussian noise (AWGN) channel [2].The decoding of an LDPC code allows a high degree of parallelism, which makes it very suited for high data rate applications such as wide-band wireless multimedia communications and magnetic storage systems [3], [4].The low-density nature of the parity check matrix thus contributes both to good distance properties and the relatively low complexity of the decoding algorithm [5].Well-designed irregular LDPC codes demonstrate better performance than regular ones [6].
Among a variety of decoding algorithms, the well-known Sum Product (SP) algorithm [7] achieves a good decoding performance but requires a large hardware complexity.There are alternative methods such as several kinds of Min-Sum (MS) algorithms which can significantly reduce the hardware complexity of SP at the cost of acceptable performance degradation where complex computations at the check nodes are approximated by using simple comparison and summation operations.Recently, the modified MS algorithms using correction factors have been preferred for many practical applications since they offer comparable decoding performance compared to that of SP [7] for regular LDPC codes [8], [9].Also, for irregular LDPC codes, the improved normalized or offset MS algorithms exhibit small performance degradations [10], [11].Specifically, the offset MS algorithm has been implemented for several practical applications due to its better performance and simple computations.
The main decoding algorithms of LDPC codes include softdecision such as Sum Product (SP) algorithm [7] and harddecision such as Bit flipping.In iterative decoding, a critical tradeoff between "complexity" and "performance" is required.Based on these two issues, LDPC codes may be classified as optimal, sub-optimal or quasi-optimal.The optimal iterative decoding is performed by the Sum-Product algorithm [7] at the price of an increased complexity, computation instability, and dependence on thermal noise estimation errors.The Min-Sum algorithm [12] performs a suboptimal iterative decoding, less complex than the Sum-Product decoding.The sub-optimality of the Min-Sum decoding comes from the overestimation of check-node messages, which leads to performance loss with respect to the Sum-Product decoding.Several correction methods were proposed [13][14][15] in the literatures in order to recover the performance loss of the Min-Sum decoding with respect to the Sum-Product decoding which are called quasioptimal algorithms.An example is Normalized min-sum algorithm proposed by Chen and Fossorier [16].In this paper, we propose an optimized min-sum algorithm which has better performance not only from min-sum algorithm but also from normalized min-sum algorithm.
The rest of the paper is organized as follows.In section II, different LDPC decoding algorithms are discussed, and section III explains our proposed Optimized Min-sum algorithm.Section IV discusses the simulation results, and finally section V concludes the paper.

II. LDPC DECODING ALGORITHMS
Decoding of LDPC codes can be two types: hard decision decoding and soft decision decoding.

1) Hard Decision Decoding
For each bit , compute the checks for those checks that are influenced by .If the number of nonzero checks exceeds some threshold (say, the majority of the checks are nonzero), then the bit is determined to be incorrect.The erroneous bit is flipped, and correction continues.This simple scheme is www.ijacsa.thesai.orgcapable of correcting more than one error.Suppose that is in error and that other bits influencing its checks are also in error.Arrange the Tanner graph with as a root considering no cycle in the graph.In Fig. 1, suppose the bits in the shaded boxes are in error.The bits that connect to the checks connected to the root node are said to be in tier 1.The bits that connect to the checks from the first tier are said to be in tier 2.Then, decode by proceeding from the "leaves" of the tree (the top of the figure).By the time decoding on is reached, other erroneous bits may have been corrected.Thus, bits and checks which are not directly connected to can still influence .

Use this bits parity check
To fix these bits Then use these bits

Parity Check
To fix these bits Figure 1.A parity check tree associated with the Tanner graph [18] 2) Soft Decision Decoding In the Soft decision decoding, rather than flipping bits (a hard operation), we propagate probabilities through the Tanner graph, thereby accumulating evidence that the checks provide about the bits.The optimal (minimum probability of decoding error) decoder seeks a codeword ̂ which maximizes ( ̂ | ̂ .So, it seeks the most probable vector which satisfies the parity checks, given set of received data [ ] However, the decoding complexity for the true optimum decoding of an unstructured (i.e., random) code is exponential in , requiring an exhaustive search over all codewords.Instead, the decoder attempts to find a codeword having bits which maximize P ( | , all checks involving bit are satisfied), it is the posterior probability for a single bit given that only the checks on that bit are satisfied.As it turns out, even this easier, more computationally localized, task cannot be exactly accomplished due to approximations the practical algorithm must make.However, the decoding algorithm has excellent performance and the complexity of the decoding is linear in the code length.
LDPC decoding is based on the parity check matrix which can also be represented using a bipartite graph.Columns in the parity check matrix represent variable nodes and rows in the matrix represent check nodes.Each variable node corresponds to one bit of the codeword and each check node corresponds to one parity check equation.Edges in the graph connect variable nodes to check nodes and represent the nonzero entries in H matrix.The term "low density" conveys the fact that the fraction of nonzero entries in H is small, in particular it is linear in the block length n, Parity check matrix can be of regular and irregular types.In this paper, we use the regular codes.For regular codes, the corresponding H matrix has ones in each row and ones in each column.It means that every codeword bit participates in exactly d c parity check equations and that every such check equation involves exactly codeword bits.Low density parity check codes have been constructed mostly using regular random bipartite graphs, here is an example of a regular parity check matrix with and .

[ ]
A graph associated with a parity check matrix A is called the Tanner graph and it contains two sets of nodes.The first set consists of N nodes which represent the N bits of a codeword; nodes in this set are called "bit" nodes.The second set consists of M nodes, called "check" nodes representing the parity constraints.The graph has an edge between the th bit node and the m-th check node if and only if th bit is involved in the th check, that is, if .Thus, the Tanner graph is a graphical depiction of the parity check matrix.The bipartite graph corresponding to this parity check matrix is shown in Fig. 2. The following notations concern bipartite graphs and message-passing algorithms running on these graphs and will be used throughout the paper.
: A priori information of bit node, n ̅̅̅ : A posteriori information of bit node, n : The check to bit message from m to : The bit to check message from n to m

A. Sum Product Algorithm:
The Sum Product Algorithm [17] can be summarized in the following four steps.Otherwise, it goes to next iteration until the number of iteration reaches its maximum limit.

B. Log Likelihood Decoding Algorithm for Binary LDPC codes
Step 1: Initialization: for all with A( = 1.

Set
Set the loop counter 1 = 1. Step

C.
Min Sum Decoding The sum-product algorithm can be modified to reduce the implementation complexity of the decoder.This can be done by altering the Horizontal step: The Min-sum algorithm simplifies the calculation of (3) even further by recognizing that the term corresponding to the dominates the product term and so the product can be approximated by a minimum:

D. Normalized Min Sum Decoding
Normalized Min sum algorithm [16] further modifies the min sum algorithm by multiplying a normalizing factor (say υ) where in the horizontal step to achieve a better error performance closer to sum product algorithm.

∏ ( ( ( | | (
A flow chart of Normalized Min Sum algorithm is given below:

1) Motivation
The foundation of our work is based on the improvement in error performance of normalized min sum algorithm [16].From descriptions in previous sections, we have seen that the sum product decoding [7] has been reduced to different forms to reduce the complexity and through some compromise in performance.Min sum decoding [12] algorithm is one of them.Different works have been done on min sum decoding to improve its performance to get closer to sum product algorithm performance like normalized min sum decoding algorithm [16], adaptive min sum decoding algorithm [14], self-corrected min sum decoding algorithm [15] etc.In these papers, they proposed different factors which modifies and improves the error performance in different ways.In the normalized min-sum algorithm, a normalizing factor was proposed to be multiplied in check node.But, the error performance using normalized min-sum algorithm can be further modified to get closer to the error performance of sum product algorithm.

2) Optimization Factor,
The value of optimization factor varies for different Signal to Noise Ratio (SNR).For a particular SNR, we took the value of that causes the minimum Bit Error Rate (BER).Fig. 4 shows the variation of BER with respect to optimization factor, for 1dB Signal to Noise Ratio.Here = 0.8 is selected for which the BER is minimum.This same procedure is followed to calculate for different SNRs.

3) Proposed Algorithm
In line with our motivation and the previously explained normalized min-sum algorithm, we propose the optimized minsum algorithm.The main feature of our proposed algorithm is the use of the optimization factor.Multiplication of both in check node and bit node update is the basic difference between optimized min-sum algorithm and Normalized Min-sum algorithm.In the Normalized Min-sum algorithm, normalizing factor was used for check node update only [16].Also in 2 Dimensional Normalized Min Sum algorithm [19], two different factors for check and bit node updates are used and multiplied in 3 different places, check node processing, A posteriori information and bit node processing.The advantage of the proposed algorithm is that only the optimization factor is used for both bit node and check node updates.Also, the Optimization factor is not multiplied in a posteriori information which reduces complexity of the algorithm.The proposed algorithm is explained in Fig. 5 where a flow chart is shown.First we initialize the bit to check message.Then we update the check message in the horizontal step.In this step, we multiply the Optimization factor with the check message.After that, we proceed to the vertical step.In this step, we update the posteriori information with the help of check message and then we the bit node.Here, we multiply the Optimization factor with the check message.The last step is the decision making process.If the decoded codeword is correct, we stop there and take it as the output or otherwise repeat the whole decoding process until the iteration number reaches its maximum limit.The detailed version of the algorithm is shown in the following steps.Α is the optimization factor whose range is .
Step If ̅̅̅̅̅ Then the algorithm stops and ̅ is considered as a valid decoding result.Otherwise, it goes to next iteration until the number of iteration reaches its maximum limit.

A. Error Performance Analysis
In total, we observed 4 simulations.The first one is regular (1944, 972) LDPC codes for IEEE 802.16e with code rate 1/2, row weight 7 and column weight 11.The codes are transmitted on AWGN channel after BPSK modulation.We set the maximum number of iteration to 50.The comparison among Sum Product (SP) algorithm [7], Min-sum (MS) algorithm [12], Normalized Min-sum (NMS) algorithm [16], 2 Dimensional Normalized Min Sum (2D NMS) algorithm and proposed Optimized Min-Sum (OMS) algorithm are shown in the Fig. 6.Simulation results show that the Optimized Min-sum algorithm obtains much better performance than Min sum algorithm, comparatively better performance than Normalized min sum algorithm,2 Dimensional Normalized Min Sum (2D NMS) algorithm and closer to that of Sum Product algorithm.Fig. 6 shows that for the BER value, 10 -3 , our algorithm can achieve 0.05dB decoding gain over 2Dimensional Normalized Min Sum algorithm and 0.1dB gain over Normalized Min Sum algorithm.The second one is regular (1944, 1296) LDPC codes with code rate 2/3, row weight 11 and column weight 8 are used.The codes are also transmitted on AWGN channel after BPSK modulation and we set the maximum number of iteration to 50.The comparison among Sum Product (SP) [7], Min-sum (MS) [12], Normalized Min-sum (NMS) [16] and proposed Optimized Min-Sum (OMS) algorithms are shown in the Fig. 7.
Simulation results in Fig. 7 show that for the BER value, 10 -2 , our algorithm can achieve around 0.3dB decoding gain over Normalized Min sum algorithm which depicts that Optimized Min-sum algorithm significantly better than Normalized Min sum algorithm in error performance.The third one is regular (1944, 1458) LDPC codes with code rate 3/4, row weight 14 and column weight 6 are used.The codes are transmitted again on AWGN channel after BPSK modulation and we set the maximum number of iteration to 50.The comparison among Sum Product (SP) [7], Minsum (MS) algorithm [12], Normalized Min-sum (NMS) algorithm [16] and proposed Optimized Min-Sum (OMS) algorithms are shown in the Fig. 8. Simulation results show that the Optimized Min-sum obtains much better performance than Min sum algorithm, comparatively better performance than Normalized Min-sum algorithm and closer to that of Sum Product.Fig. 8 shows that for the BER value, 10 -2 , our algorithm can achieve 0.2dB decoding gain over Normalized Min-Sum algorithm.From the figures, it is clear that Optimized Min-Sum algorithm consistently shows better performance from Normalized Min-Sum algorithm and Min-Sum algorithm for different rates.We can also notice that for 1/2 rate code, Optimized Min-Sum algorithm has only -.03dB gain over Sum Product algorithm and for 2/3 and 3/4 code rates around -.05dB gain and -1dB gain respectively, So, if we take in account the reduction of complexity, it can be said that Optimized Min-Sum algorithm is almost comparable to Sum Product decoding algorithm.
The earlier simulations were run for AWGN channels.Practically, fading exists in channels.There are various types of fading channel models i.e.Rayleigh, Weibul, Log Normal etc.So to get a more practical view of Optimized Min-Sum Algorithm, error performance of the algorithm in AWGN, Rayleigh, Weibul and Log Normal channels are compared.Fig 9 shows that the error performance varies with variation in fading.Error performance is best when fading is ignored in AWGN channel.In case of other channel models with fading, error performance degrades according to the degree of fading.Optimized Min-Sum algorithm is a quasi optimal decoding algorithm which improves error performance from Min-Sum decoding algorithm through slight increase in complexity.A (6,3) regular LDPC code of code rate 1/2 was used to compare the complexity among different algorithms.Optimal Sum Product (SP) Algorithm has highest complexity and the Sub Optimal Min Sum (MS) algorithm has the lowest complexity.For quasi optimal codes, a good tradeoff between 'complexity' and 'Error Performance' is required, Normalized Min Sum (NMS) algorithm improves error performance from Min-Sum (MS) algorithm but, complexity increases as the table shows an increase in multiplication.For the proposed Optimized Min-Sum Algorithm table shows slight increase in multiplication

B. Complexity Analysis
stops and ̅ is considered as a valid decoding result.

Figure 3 .
Figure 3. Flow chart of Normalized Min Sum Algorithm.

Figure 4 .
Figure 4.The impact of the optimization factor in the Optimized Min-Sum algorithm on the BER for the (2000, 1000) LDPC codes

Figure 5 .
Figure 5. Flow chart of Optimized Min-Sum Algorithm