Proceedings of the 9th WSEAS International Conference on APPLICATIONS of COMPUTER ENGINEERING
A Sub-Optimal Log-Domain Decoding Algorithm for Non-Binary LDPC Codes CHIRAG DADLANI and RANJAN BOSE Department of Electrical Engineering Indian Institute of Technology, Delhi INDIA Phone: +91-11-26591048, Email:
[email protected]
Abstract: - Low-Density Parity-Check (LDPC) codes have gained significant popularity recently and have been recommended for various wireless standards of the future. Non-binary LDPC codes provide all the well-known advantages of binary LDPC codes but allow for much shorter block lengths. The sum-product decoding algorithm for non-binary LDPC codes is too complex for efficient implementation. Hence, we have represented the sum-product algorithm in a novel logdomain form in terms of operators defined earlier in literature. This form greatly simplifies the key step in the check-node processing and allows us to replace a max* operation in the decoder by a max operation. This leads to a sub-optimal decoding algorithm which we propose in this paper. Key-Words: - Low Density Parity Check (LDPC) Codes, Decoding Algorithm
1
decoding algorithm in the log domain. This representation leads us to a sub-optimal decoding algorithm. Finally, we prove the convergence behaviour of this algorithm using EXIT charts.
Introduction
Low-Density Parity-Check Codes Low-Density ParityCheck (LDPC) Codes are linear block codes which are defined in terms of a very sparse parity-check matrix [16]. LDPC codes were discovered by R. G. Gallager [2], in 1962 who defined them as “A Low-Density ParityCheck Code is a code specified by a parity check matrix which has the following properties: each column contains a small fixed number j ≥ 3 of 1s and each row contains a small fixed number k > j of 1s .”
2
An important tool used to track the convergence behaviour of iterative decoding algorithms for LDPC code is EXIT (Extrinsic Information Transfer Function) charts [4]. Extrinsic Information Transfer Function (EXIT) Charts track the flow of mutual information in the decoder through the decoding iterations. EXIT charts provide us an effective tool to study the behaviour of decoders by tracking just one scalar parameter.
Regular LDPC codes are those in which the number of symbols participating in each parity check as well as the number of parity checks a symbol participates in is constant. Codes which do not satisfy this property are known as irregular codes [6]. These two values are respectively known as the check node degree (dc) and variable node degree (dv). LDPC codes have been shown to achieve arbitrarily low probability of error for transmission rates below but very close to the channel capacity as the block-length goes to infinity [5]. LDPC codes have been shown to be effective error-correcting codes when decoded using soft decoding.
EXIT charts have been used in this paper to study and compare the convergence properties of decoding algorithms. Hence, we have assumed that all messages which are fed to the component decoders (the variable node decoder and the check node decoder) are Gaussian distributed and independent[3]. Without loss of generality, all simulations have been carried out for regular LDPC codes with variable degree dv=3 and check degree dc=6 and hence the rate of the code is given by
This paper is organized as follows. We begin with an introduction to EXIT charts and their properties. We then present a novel representation of the sum-product
ISSN: 1790-5117
EXIT Charts
R = 1−
110
dv dc
(1)
ISBN: 978-960-474-166-3
Proceedings of the 9th WSEAS International Conference on APPLICATIONS of COMPUTER ENGINEERING
3
By definition, the result of the convolution operation on p and q probability vectors is given by:
The Sum-Product Decoding Algorithm
The sum-product algorithm for decoding non-binary LDPC codes has been studied widely in literature. The variable node processing step is simple and computationally light to implement. The check node decoding step on the other hand, requires a series of lengthy computations. The left-bound iteration of the sum-product algorithm in the probability domain, as described in literature, can be represented in a compact form as follows [1]:
[⊙
d j −1 n =1
(p ⊙ q ) = ( p0 q0 + p1q1 + p2 q2 + p3q3 , p0 q1 + p1q0 + p2 q3 + p3q2 , p0 q2 + p1q3 + p2 q0 + p3q1 , p0 q3 + p1q2 + p2 q1 + p3 q0 ) (6) The corresponding LLR vector of this convolution is given by:
−1 ( n ) × g n − (× g d j )
(r )
]
(2)
( p ⊙ q ) LLR =
(n)
where r is a right-bound message vector (input message to the left-bound step) and convolution operator operates on dj-1 incoming messages where dj is the check node degree. The + g operator used above is defined as follows [1]:
(0, log(
p0 q1 + p1q0 + p2 q3 + p3 q2 ), p0 q0 + p1q1 + p2 q2 + p3 q3 (21)
x
+g
( q −1) + g
≜ xg , x1+ g ,..., x
p q + p1q3 + p2 q0 + p3 q1 log( 0 2 ), p0 q0 + p1q1 + p2 q2 + p3 q3
(3)
Similarly, the × g operator is defined as follows:
log(
p0 q3 + p1q2 + p2 q1 + p3 q0 ) p0 q0 + p1q1 + p2 q2 + p3 q3 (22)
×g
( q −1) . g
x ≜ x0 , xg , x2. g ..., x
) (4)
Also, it must be noted that for any i and j ,
It should be noted that the key step in this processing is the convolution operator. Hence, we focus on writing the convolution operation in a simpler form.
4 Let
(7)
e
( wi + v j )
=
p0 q0 pi q j
(8)
Therefore, the LLR vector of the convolution of the two vectors can be written as:
Log-domain GF(q) Convolution us
consider
two
(p ⊙ q) LLR =
probability
vectors p = ( p0 , p1 , p2 , p3 ) and q = (q0 , q1 , q2 , q3 ) defined over GF(4). The corresponding GF(4) LLR vector elements can be written as follows:
p0 p ) = 0 w1 = log ( 0 ) p0 p1 p p w2 = log ( 0 ) w3 = log ( 0 ) p2 p3 q q v0 = log ( 0 ) = 0 v1 = log ( 0 ) q0 q1 q q v2 = log ( 0 ) v3 = log ( 0 ) q2 q3
(0 e − ( w0 + v1 ) + e− ( w1 + v0 ) + e− ( w2 + v3 ) e − ( w3 + v2 ) ), e − ( w0 + v0 ) + e− ( w1 + v1 ) + e− ( w2 + v2 ) e− ( w3 + v3 ) e − ( w0 + v2 ) + e− ( w1 + v3 ) + e− ( w2 + v0 ) e− ( w3 + v1 ) log ( − ( w0 + v0 ) − ( w1 + v1 ) − ( w2 + v2 ) − ( w3 + v3 ) ), e +e +e e − ( w0 + v3 ) − ( w1 + v2 ) − ( w2 + v1 ) − ( w3 + v0 ) e +e +e e log ( − ( w0 + v0 ) − ( w1 + v1 ) − ( w2 + v2 ) − ( w3 + v3 ) ), e +e +e e ) log (
w0 = log (
ISSN: 1790-5117
(9)
(5) ∗
We define the max operator as follows [6]:
111
ISBN: 978-960-474-166-3
Proceedings of the 9th WSEAS International Conference on APPLICATIONS of COMPUTER ENGINEERING
J
max∗j ( x j ) = log (∑ e j ) x
max∗ (a, b) = max(a, b) + ln[1 + exp (− | a − b |)] (13)
j =1 (10) Using this max* operator we redefine the convolution operator as:
From this alternate definition it can be seen that the max* operator can be split as the sum of the max operator and an additional term. Hence, if it can be shown that the contribution of the additional term is negligible, we will be able to optimize the sum-product decoding algorithm by approximating the max* operator with the max operator in the check node processing stage. It must be noted that this is possible only when the decoding is done in the LLR domain and is due to the representation of the GF(q) convolution operator as a series of max* operations.
(p ⊙ q) LLR = (0, max∗[−( w0 + v1 ), −( w1 + v0 ), −( w2 + v3 ), −( w3 + v2 )] − max∗ [−( w0 + v0 ), −( w1 + v1 ), −( w2 + v2 ), −( w3 + v3 )], max∗[−( w0 + v2 ), −( w1 + v3 ), −( w2 + v0 ), −( w3 + v1 )] − max∗ [−( w0 + v0 ), −( w1 + v1 ), −( w2 + v2 ), −( w3 + v3 )], max∗[−( w0 + v3 ), −( w1 + v2 ), −( w2 + v1 ), −( w3 + v0 )] − max∗ [−( w0 + v0 ), −( w1 + v1 ), −( w2 + v2 ), −( w3 + v3 )] )
The characteristics of the max* function can be studied by plotting a graph of the ln[1 + exp ( − | x |)] function in Fig.1 for varying values of x. Here x represents the difference between the inputs of the max* function. Hence, since the contribution of the second term in the max* operator is negligible for larger values, we have neglected it and significantly reduced the computational burden of the check node processing step.
(11)
Hence, the convolution operator can now be defined for the general GF(q) case as follows: (2) [x′(1) ⊙ x′(2)] = max* − ( x′(1) a + x′ k − a ) a∈GF( q )
k ∈ GF(q )
(12) It can be seen that the convolution operator in GF(q) now contains a series of max* operations when executed in the LLR domain as compared to a series of multiplication operations when executed in the probability domain. Therefore, by operating in the LLR domain we can reduce the computational complexity of the convolution operator. Our optimization of the sumproduct algorithm is based upon this particular structure of the convolution operator. Figure 1: Properties of the max* function
5
Sub-optimal Decoding Algorithm 6
The sub-optimal decoding algorithm for non-binary LDPC codes is based upon am approximation similar to the one made in the sum-min decoding algorithm for binary LDPC codes [6-9]. The algorithm works in the log-likelihood ratio domain. The key sub-optimal step in the algorithm is the replacement of a max∗ function by a max function. The max ∗ operator which was defined and used in the previous chapter for representing the convolution operator in the LLR domain can be alternately defined as follows [6]:
ISSN: 1790-5117
EXIT Chart Simulations
EXIT chart simulations for the sub-optimal algorithm are presented in Fig. 3 and Fig. 4 compares the check node decoder curves of the sub-optimal algorithm and the sum-product algorithm. The check node processing is the same in both algorithms and hence, only a change in the check node curve was observed. In case of the EXIT chart for sum-product decoding, the decoding trajectory has also been plotted along with the EXIT chart. Both decoders have been implemented in MATLAB and decoding has been tested for block-
112
ISBN: 978-960-474-166-3
Proceedings of the 9th WSEAS International Conference on APPLICATIONS of COMPUTER ENGINEERING
lengths of up to 50,000 symbols. The decoders converge in a finite number of steps.
Figure 2: EXIT chart for sum-product decoding of non-binary LDPC codes
Figure 4: Comparison of check node curves for sub-optimal and sum-product decoding
7
Conclusions
The check node curves for both decoders are compared in Fig. 4. Also, we see that there is a loss in threshold SNR of approximately 0.5 dB for the sub-optimal algorithm as seen from Fig. 5. The threshold of the sumproduct decoding lies at 1.8 dB whereas that of the suboptimal algorithm is at 2.3 dB. Hence, the sub-optimal algorithm requires an additional 0.5 dB of input SNR for the decoder to converge.
Figure 3: EXIT chart for sub-optimal decoding algorithm
Figure 5: Comparison of number of iterations needed by both algorithms
ISSN: 1790-5117
113
ISBN: 978-960-474-166-3
Proceedings of the 9th WSEAS International Conference on APPLICATIONS of COMPUTER ENGINEERING
However, a speedup of 7% (for 100 symbol long codes) and 9% (for 1000 symbol long codes) has been observed in the MATLAB implementation of the sub-optimal decoder. When the decoder is implemented on a DSP, significant performance improvements will be seen because the sub-optimal decoder now consists entirely of additions, subtractions, comparisons and log and division functions have been eliminated. References: [1] Bennatan and D. Burshtein, “Design and analysis of nonbinary LDPC codes for arbitrary discretememoryless channels,” IEEE Transactions on Information Theory, vol. 52, no. 2, pp. 549-583, February 2006 [2] R. G. Gallager, Low Density Parity Check Codes. Cambridge, MA MIT Press, 1963 [3] E. Sharon, A. Ashikhmin, and S. Litsyn, “EXIT functions for the Gaussian channel,” in Proc. 40th Annu. Allerton Conf. Communication, Control, and Computers, Allerton, IL, Oct. 2003, pp. 972–981 [4] S. ten Brink, G. Kramer, and A. Ashikhmin, “Design of low-density parity-check codes for modulation and detection,” IEEE Trans. Commun., vol. 52, no. 4, pp. 670–678, Apr. 2004 [5] S. ten Brink, “Convergence behavior of iteratively decoded parallel concatenated codes,” IEEE Trans. Commun., vol. 49, no. 10, pp. 1727–1737, Oct. 2001 [6] H. Wymeersch, H. Steendam, and M. Moeneclaey, “Log-domain decoding of LDPC codes over GF(q),” in Proc. IEEE Int. Conf. Communications, Paris, France, Jun. 2004, pp. 772–776 [7] M. C. Davey and D. MacKay, “Low-density paritycheck codes over GF(q),” IEEE Commun. Lett., vol. 2, pp. 165–167, June 1998 [8] T. J. Richardson and R. L. Urbanke, “The capacity of low-density parity check codes under messagepassing decoding,” IEEE Trans. Inform. Theory, vol. 47, pp. 619–637, Feb. 2001 [9] Byers, G.J.; Takawira, F., "EXIT charts for nonbinary LDPC codes," Communications, 2005. ICC 2005. 2005 IEEE International Conference on , vol.1, no.pp. 652- 657 Vol. 1, 16-20 May 2005
ISSN: 1790-5117
114
ISBN: 978-960-474-166-3