You are on page 1of 3

IEEE COMMUNICATIONS LETTERS, VOL. 13, NO.

7, JULY 2009

531

A Class of Generalized LDPC Codes with Fast Parallel Decoding Algorithms


Xiuni Wang and Xiao Ma

AbstractGiven the Tanner graph of a generalized low-density parity-check (GLDPC) code, the decoding complexity is mainly dominated by the decoding algorithm of subcodes. In this paper, we propose a class of GLDPC codes with fast parallel decoding algorithm. The parity-check matrices of the newly constructed subcodes are composed of several square matrices, which can be viewed as elements of a nite eld. Therefore the FFT-based a posteriori probability (APP) algorithm for nonbinary codes can be applied to decode the subcodes. When compared with the trellis-based APP algorithm, the FFT-based APP algorithm can be implemented in parallel and has lower complexity. Simulation results show that the proposed GLDPC codes perform well on AWGN channels. Index TermsFFT-based APP algorithm, generalized lowdensity parity-check codes, iterative decoding algorithm.

of a subcode, the trellis-based APP algorithm and the FFTbased APP algorithm are compared in terms of computational complexity. It is shown that the FFT-based APP algorithm has lower decoding complexity. Furthermore, the FFT-based APP algorithm can be implemented in parallel. II. C ODE C ONSTRUCTION A. Subcode Construction Let GF(2q ) be the nite eld of 2q elements generated by a primitive polynomial f (x) = f0 + f1 x + + fq1 xq1 + fq xq F2 [x]. Let be a root of f (x), a so-called primitive element. Then we can nd the following facts [11][12]. 1) Every element GF(2q ) can be represented by a binary vector b = (b0 , b1 , , bq1 )T . That is, =
q1 i=0

I. I NTRODUCTION

OW-density parity-check (LDPC) codes invented by Gallager [1] have attracted considerable attention in the coding community. Based on graph representations, LDPC codes can be dened by a set of variable nodes, a set of constraint nodes and a set of edges. Usually, variable nodes and constraint nodes can be viewed as repetition codes and single parity check (SPC) codes, respectively. In [2], Tanner generalized the conventional LDPC construction by keeping the sparse graph representation but replacing the SPC constraint nodes with error-correcting block codes. Due to the exibility in terms of rate and length, Hamming/BCH/RS codes are usually considered as subcodes [3][4][5][6]. To implement the belief propagation (BP) decoding algorithm for GLDPC codes, the trellis-based a posteriori probability (APP) algorithmBCJR algorithm [7] for subcodes is commonly used. More complex APP decoders are needed for more complex subcodes. Thus decoding complexity may become a serious concern. A family of very low rate GLDPC codes with Hadamard constraints are proposed in [8]. The decoding complexity issue is circumvented by employing the fast APP decoding algorithm for Hadamard codes. In this paper, we propose a family of GLDPC codes with tailored shortened Hamming codes as subcodes. The associated parity-check matrices of subcodes are composed of several square matrices which can be viewed as elements of a nite eld. We show that these codes can be viewed as nonbinary SPC codes. Hence it is convenient to implement the FFTbased APP algorithm [9][10]. Given the parity-check matrix

bi i .

2) Every nonzero element GF(2q ) can be represented by = i for some i(0 i 2q 2). That is, GF(2q ) = {0, i , 0 i 2q 2}. 3) Dene the companion matrix of f (x) as 0 0 0 0 f0 1 0 0 0 f1 0 1 0 0 f2 . (1) A= . . . . . . . . . . . . . . . 0 0 0 1 fq1 Then GF(2 ) = {0, A , 0 i 2 2} with i Ai . 4) Let GF(2q ) and b be the associated binary vector. Then the binary vector of i is exactly Ai b. 5) Let b(i) be the binary vector of i GF(2q ). Then the matrix representation of i is Ai = [b(i) , b(i+1) , , b(i+q1) ]. Denition 1: Let A be the companion matrix of f (x) that generates the nite eld GF(2q ). Let 0 d 2q 2 and m (2q 1)/q be two integers. A tailored shortened Hamming code (denoted by Cq,d,m ) is dened as a binary linear block code specied by the parity-check matrix H = [Ad , Ad+q , Ad+2q , , Ad+(m1)q ]. We have the following observations. 1) The code Cq,d,m has length mq and dimension (m1)q. 2) There is no two identical columns in H = [Ad , Ad+q , Ad+2q , , Ad+(m1)q ] since Ad+kq = [b(d+kq) , b(d+kq+1) , , b(d+(k+1)q1) ] for 0 k m (2q 1)/q . Consequently, the dened code is a shortened Hamming code with minimum distance lower bounded by 3. It has been shown in [13] that the GLDPC code is asymptotically good if the subcodes have minimum distances 3.
q i q

Manuscript received April 15, 2009. The associate editor coordinating the review of this letter and approving it for publication was Z. Yan. This work is supported by NSFC No.60572059 and NSFC No.U0635003. The authors are with the Department of Electronics and Communication Engineering, Sun Yat-sen University, Guangzhou 510275, China (e-mail: wxiun@mail2.sysu.edu.cn, maxiao@mail.sysu.edu.cn). Digital Object Identier 10.1109/LCOMM.2009.090894

1089-7798/09$25.00 c 2009 IEEE

532

IEEE COMMUNICATIONS LETTERS, VOL. 13, NO. 7, JULY 2009

c0

c1

...
S0

cq

cq 1

...
S1

...

cmq

cmq 1

b1 (0)

b2 (0)

S ( 0)

b0 (0)
Sm
Ai m 1
1

Ai0

Ai1

(a)
Fig. 1.

b2 (1) S (3) b2 (0) S (4) b1 (0) b2 (1) b0 (1) S (5) b2 (0) S (6) b1 (1) b2 (1) S (7 )

b1 (1)

b2 (1) S (1) b2 (0) S (2)

TABLE I D ECODING COMPLEXITY OF TRELLIS - BASED APP ALGORITHM Operation Multiplications (mq 2q + 2)2q+1 (mq 2q + 2)2q+1 (mq 2q + 2)2q+1 total 3(mq 2q + 2)2q+1 Additions 6 (mq 2q + 1)2q 2 6 (mq 2q + 1)2q 2 4 (mq 2q + 2)2q mq 2 16 (3mq 6q + 4)2q mq 6

(b)

TABLE II D ECODING COMPLEXITY OF FFT- BASED APP ALGORITHM Operation SA FFT & IFFT P A SC total Multiplications Additions m(2q+1 2) 0 0 mq2q+1 (3m 2)2q 0 5m2q 8m 3m2q m(2q + 4) (10m 2)2q 10m m(2q + 3)2q m(2q + 4)

(a) Tanner graph of a constraint node. (b) A three-level binary tree.

3) Let c = (c0 , c1 , , cmq1 ) be a binary sequence of length mq. We may partition c into sub-vectors of length q, that is c = (c(0) , c(1) , , c(m1) ). Then c is a codeword in Cq,d,m if and only if
m1 k=0

Ad+kq (c(k) )T = 0T ,

(2)

where 0 represents the zero (row) vector of length q. If we treat both Ad+kq and (c(k) )T as elements in GF(2q ), the above condition denes a nonbinary SPC code. B. GLDPC Code Construction Given a low-density matrix H (called a base matrix) with row weights less than 2q 1 and dividable by q, the parity check matrix H of a GLDPC code can be constructed in the following manner. Each 1 in the i-th row of H is replaced with a column from the parity-check matrix of the i-th subcode and each zero is replaced with a zero column vector. Note that subcodes for different rows may be either identical or different. The encoding complexity of a GLDPC code depends on its base matrix. For a quasi-cyclic base matrix, the encoding process of the GLDPC code can be implemented efciently [6][14]. Similar to the LDPC decoding algorithm, the GLDPC code can be decoded iteratively by the message passing/processing algorithm based on the associated Tanner graph. The extrinsic messages are exchanged iteratively between variable nodes and constraint nodes. When a xed number of iterations have been completed or all constraint nodes are satised, the decoder makes decisions for all variable nodes. III. FFT-BASED APP A LGORITHMS FOR S UBCODES Given the Tanner graph of a GLDPC code, the decoding complexity is mainly dominated by the soft-input softoutput (SISO) decoding algorithm of subcodes. The SISO decoding algorithms take as input the soft messages from variable nodes and deliver as output the extrinsic messages to the variable nodes. This can be done by performing BCJR algorithm over a trellis. Given the parity-check matrix H of subcode Cq,d,m , the computational complexity of such a trellisbased APP algorithm is summarized in Table I, where , and represent the forward recursion variables, backward recursion variables and extrinsic output messages, respectively.

As mentioned in Subsection II-A, the subcode Cq,d,m can be viewed as a SPC code over GF(2q ). Therefore the FFTbased APP algorithm proposed for nonbinary codes can be used here. The Tanner graph of the code Cq,d,m is shown in Fig. 1 (a), where Sk = c(k) for 0 k m 1. Obviously, it is the graph representation of equation (2), which can be viewed as a SPC node with super-edges consisting of c(k) , Sk and Aik (ik = d + kq). (k) and A(ik ) be the nodes associated with the Let S element Sk and the square matrix Aik , respectively. Let P be the parity-check node. Denote XY [b] as the soft message (probability mass function of a variable b) from node X to node Y . Denote = [0 [], 1 [], , mq1 []] and = [0 [], 1 [], , mq1 []] as the soft-input messages to the subcode and extrinsic output messages from the subcode, respectively. The FFT-based APP algorithm is described as follows. 1) At each node S (k) , compute S (k) A(ik ) [b] =
q1 j=0

kq+j [bj ] for all b = (b0 , b1 , , bq1 ), bj {0, 1}.

2) At each node A(ik ) , compute A(ik ) P [ b] = S (k) A(ik ) [b], where = Aik bT . This step is the b permutation step (S2 ) as mentioned in [10]. 3) At node P of degree m, compute P A(ik ) [b] = F 1
m1 j=0,j=k

F (A(ij ) P [b])

for

0 k m 1. This step is the frequency-domain message update (S3 )F F T as mentioned in [10]. 4) At each node A(ik ) , compute A(ik ) S (k) [b] = P (k) A(ik ) [ where = Aik bT . b], b 5) At each node S (k) , the extrinsic output message of this subcode is computed as kq+i [x] =
bVx

A(ik ) S (k) [b]

q1 j=0,j=i

kq+j [bj ] ,

where 0 i q 1 and Vx is the set of binary vectors b with bi = x {0, 1}. Note that Step 1) and Step 5) can be implemented over the q-level binary tree as shown in Fig. 1 (b). The decoding complexity of the FFT-based APP algorithm1
1 We

do not count the normalization operations in Table I and Table II.

WANG and MA: A CLASS OF GENERALIZED LDPC CODES WITH FAST PARALLEL DECODING ALGORITHMS

533

TABLE III PARAMETER OF GLDPC CODES J 20 24 28 q 5 6 7 d1 3 5 3 d2 4 6 5 m 4 4 4 code length 2020 2424 2828 code rate 0.5025 0.5025 0.5025
FER

10

10

code1 code2 code3

code1 code2 code3 random bound

10

10

is summarized in Table II. We can see that, for m > 2 and q > 2, the complexity of the FFT-based APP algorithm is lower than that of the trellis-based APP algorithm. Furthermore, the computations of forward and backward recursion variables in the trellis-based APP algorithm are implemented in serial, while the computations at each super-edge in the FFT-based APP algorithm can be implemented in parallel. It is worth noting that the FFT-based APP decoding algorithm for the code Cq,d,m is equivalent to the trellis-based APP algorithm in terms of decoding performance since the Tanner graph as shown in Fig. 1 (a) is cycle-free. IV. E XAMPLES In this section, we will construct several GLDPC codes and simulate their performances over BPSK+AWGN channels. Consider the prime eld GF(p) with p = 101. It can be veried that a = 2 is a primitive element. Let J < p be a positive integer. Following the power method summarized in [15], we can construct a base matrix H= Ea 1 Ea
0

10

code1 code2 code3

10

10

10

0.4

0.6

0.8

1.2

1.4 1.6 Eb/N0 [dB]

1.8

2.2

2.4

Fig. 2.

FER performance of GLDPC codes.

ACKNOWLEDGMENT The authors would like to thank reviewers for their comments that help to improve this paper. R EFERENCES
[1] R. G. Gallager, Low-density parity-check codes, IRE Trans. Inform. Theory, vol. 8, no. 1, Jan. 1962. [2] R. M. Tanner, A recursive approach to low complexity codes, IEEE Trans. Inform. Theory, vol. 27, pp. 533-547, Sept. 1981. [3] J. Boutros, O. Pothier, and G. Zemor, Generalized low density (Tanner) codes, in Proc. Int. Conf. Commun., vol. 1, pp. 441-445, June 1999. [4] N. Miladinovic and M. Fossorier, Generalized LDPC codes with ReedSolomon and BCH codes as component codes for binary channels, in Proc. Global Telecommun. Conf., St. Louis, USA, Nov. 2005. [5] M. Lentmaier and K. S. Zigangirov, On generalized low-density paritycheck codes based on Hamming component codes, IEEE Commun. Lett., vol. 3, pp. 248-250, Aug. 1999. [6] G. Liva, W. E. Ryan, and M. Chiani, Quasi-cyclic generalized LDPC codes with low error oors, IEEE Trans. Commun., vol. 56, no. 1, pp. 49-57 Jan. 2008. [7] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, Optimal decoding of linear codes for minimizing symbol error rate, IEEE Trans. Inform. Theory, vol. 20, no. 2, pp. 284-287, Mar. 1974. [8] G. Yue, L. Ping, and X. Wang, Generalized low-density parity-check codes based on Hadamard constraints, IEEE Trans. Inform. Theory, vol. 53, no. 3, pp. 1058-1079, Mar. 2007. [9] D. J. C. MacKay and M. C. Davey, Evaluation of Gallager codes for short block length and high rate application, in Proc. IMA International Conference on Mathematic and its Applications: Codes, Systems and Graphincal Models, pp. 113-130, Springer-Verlag, New York, 2000. [10] D. Declercq and M. Fossorier, Decoding algorithms for nonbinary LDPC codes over GF(q), IEEE Trans. Commun., vol. 55, no. 4, pp. 633-643, Apr. 2007. [11] R. Lidl and H. Niederreiter, Introduction to Finite Fields and Their Applications. Cambridge University Press, 1994. [12] X. Ma and B. Bai, A unied decoding algorithm for linear codes based on partitioned parity-check matrices, in Proc. IEEE Information Theory Workshop (ITW07), Lake Tahoe, CA, pp. 19-23, Sept. 2007. [13] A. Barg and G. Zmor, Distance properties of expander codes, IEEE e Trans. Inform. Theory, vol. 52, no. 1, pp. 78-90, Jan. 2006. [14] Z. Li, L. Chen, L. Zeng, S. Lin, and W. H. Fong, Efcient encoding of quasi-cyclic low-density parity-check codes, IEEE Trans. Commun., vol. 54, no. 1, pp. 71-81, Jan. 2006. [15] M. Fossorier, Quasi-cyclic low-density parity-check codes form circulant permutation matrices, IEEE Trans. Inform. Theory, vol. 50, no. 8, pp. 1788-1793, Aug. 2004. [16] R. G. Gallager, Information Theory and Reliable Communication. New York: Wiley, 1968.

Ea 2 Ea

Ea J Ea

J1

(3)

where E is a (p p) square 0 . . E= . 0 1

matrix described as 1 0 . .. . . . . . . . 0 1 0 0

(4)

We construct two types of subcodes Cq,d1 ,m and Cq,d2 ,m , where Cq,d1 ,m is applied to the rst p rows of H and Cq,d2 ,m is applied to the rest p rows of H, respectively. The parameters of three GLDPC codes are listed in Table III. The frame error rate (FER) performance and associated random coding bound [16] are shown in Fig. 2. It can be seen that the proposed codes perform well in both waterfall and error oor regions on AWGN channels. V. C ONCLUSION In this paper, we have proposed a class of GLDPC codes with tailored shortened Hamming codes as subcodes. These subcodes can be viewed as nonbinary SPC codes and hence can be decoded conveniently by FFT-based APP algorithms. When compared with the trellis-based APP algorithms, the FFT-based APP algorithms have lower computational complexity. Furthermore, the FFT-based APP algorithms for the subcodes can be implemented in parallel. Simulation results show that the proposed GLDPC codes perform well on AWGN channels.

You might also like