Design of good QC-LDPC codes without small ... - Semantic Scholar

1 downloads 0 Views 470KB Size Report
the residual good points of every line in the p-plane will be found, respectively. The optimal point is also singled out according to the bit error rate (BER) ...
Journal of Systems Engineering and Electronics Vol. 22, No. 2, April 2011, pp.183–187 Available online at www.jseepub.com

Design of good QC-LDPC codes without small girth in the p-plane Lingjun Kong1, 2, * and Yang Xiao1 1. Institute of Information Science, Beijing Jiaotong University, Beijing 100044, P. R. China 2. Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500, P. R. China

Abstract: A construction method based on the p-plane to design high-girth quasi-cyclic low-density parity-check (QC-LDPC) codes is proposed. Firstly the good points in every line of the p-plane can be ascertained through filtering the bad points, because the designed parity-check matrixes using these points have the short cycles in Tanner graph of codes. Then one of the best points from the residual good points of every line in the p-plane will be found, respectively. The optimal point is also singled out according to the bit error rate (BER) performance of the QC-LDPC codes at last. Explicit necessary and sufficient conditions for the QC-LDPC codes to have no short cycles are presented which are in favor of removing the bad points in the p-plane. Since preventing the short cycles also prevents the small stopping sets, the proposed construction method also leads to QC-LDPC codes with a higher stopping distance.

Keywords: quasi-cyclic low-density parity-check (QC-LDPC) codes, circulant matrices, girth, stopping set, stopping distance. DOI: 10.3969/j.issn.1004-4132.2011.02.001

LDPC codes and manifest excellent performance under iterative decoding. In practical applications, they are strong competitors to the random codes, due to their simple encoding and low error floors. These codes also have advantages in high-speed very large scale integration (VLSI) implementations due to their cyclic symmetry, which results in simple regular wiring and modular structure [3–7]. With iterative decoding, the bad performance of the code is due primarily to the short cycles in the parity-check matrix of LDPC code [8, 9]. Although the girth is studied in many papers [5, 6, 10 – 15], there is no explicit necessary and sufficient conditions for the QC-LDPC codes to have no short cycles and no small stopping set. To solve the above problems, a construction method based on the p-plane is presented. According to the proposed method, we can design QC-LDPC codes with a higher stopping distance.

1. Introduction

2. QC-LDPC codes

Reference [1] is shown to form a class of Shannon-limit approaching codes with iterative message-passing decoding on the codes’ Tanner graph [2]. Various methods for constructing low-density parity-check (LDPC) codes are proposed. Based on the methods of construction, LDPC codes can be classified into two general categories: (i) random (or random-like) codes generated by computer search based on certain design guidelines and required structural properties of their Tanner graphs, such as the girth and degree distributions; (ii) structured codes constructed based on algebraic and combinatorial methods. Quasi-cyclic-LDPC (QC-LDPC) codes that allow low complexity encoding are a class of important structured

Regular QC-LDPC block codes with a variety of block lengths can be designed based on index matrices, P is given by ⎤ ⎡ 1 a ··· ak−1 ab ··· ak−1 b ⎥ ⎢ b (1) P =⎣ ··· ··· ··· ··· ⎦ j−1 j−1 k−1 j−1 b ab ··· a b where 0  t  k − 1, a, b ∈ {2, ..., m − 1}, a = b, m is prime. Ps,t = at bs ∈ GF (m), 0  s  j − 1. The parity-check matrix of the QC-LDPC code which is made up of a j × k array of circulant sub-matrices ⎡  ⎤ ⎡ ⎤ H0 Ia ··· Iak−1 I1  Iab ··· Iak−1 b ⎥ ⎢ H1 ⎥ ⎢ Ib ⎥ ⎢ ⎥ (2) H=⎢ .. .. .. ⎣ ... ⎦=⎣ ... ⎦ . . .

Manuscript received March 18, 2009. *Corresponding author. This work was supported by the National Natural Science Foundation of China (60572093) and Specialized Research Fund for the Doctoral Program of Higher Education (20050004016).

 Hj−1 Ibj−1 Iabj−1 · · · Iak−1 bj−1 where IPs,t is obtained by cyclically shifting the rows of the identity matrix I to the right by Ps,t places. Hx (y) = IPx,y (0  x  j − 1, 0  y  k − 1).

184

Journal of Systems Engineering and Electronics Vol. 22, No. 2, April 2011

An (N, j, k) regular QC- LDPC code is a code of block length N (N = p × k) that is described by a parity-check matrix containing j ones in every column and k ones in every row. Matrix H  of the reduction dimensions is given by ⎡ ⎤ ia ··· iak−1 i1 ⎢ ib iab ··· iak−1 b ⎥ ⎥ (3) H  = ⎢ ⎣ ··· ⎦ ··· ··· ··· ibj−1 iabj−1 · · · iak−1 bj−1 where iPs,t is a 1 × m unit row vector i with row shifted cyclically to the right by Ps,t (mod m) positions. A cycle in a Tanner graph refers to a finite set of connected edges that starts and ends at the same node, and satisfies the condition that no node (except the initial and final node) appears more than once. Definition 1 The length of the smallest cycle in Tanner graph is called the girth of the Tanner graph. There are six different kinds of figures of 6-cycles and only one kind of figure of 4-cycle in Tanner graph.

Fig. 1 Six kinds of 6-cycles with different figures

Definition 2 A stopping set S in an LDPC code is a subset of the variable nodes of the associated Tanner graph, such that all neighbors of S are connected to S at least twice. A stopping set in an LDPC code is a set of column indices such that the sub-matrix formed by the corresponding columns of H does not contain a row of weight one. So, S1 = {V1 , V2 } is not a stopping set, S2 = {V4 , V5, V6 } and S3 = {V7 , V8 } are stopping sets (see Fig. 2). By

default, we assume LDPC codes without singly connected variables, every stopping set contains cycles. Definition 3 The smallest size of a nonempty stopping set, denoted by dS , is called the stopping distance of the code. The stopping distance of S2 and S3 are 2 and 3, respectively.

3. Theorems of QC-LDPC codes Theorem 1 For integer a > 1 and b > 1, a necessary and sufficient condition for the QC-LDPC code to have a 6cycle in Tanner graph is: there is at least one set of integer (x, x , x , y, y  , y  ) which satisfies at least one following equations ⎧      (bx −bx )(ay −ay )+(bx −bx )(ay −ay ) = 0, mod m ⎪ ⎪ ⎪       ⎪ ⎪ (bx −bx )(ay −ay )−(bx −bx)(ay −ay ) = 0, mod m ⎪ ⎪       ⎨ x (b −bx )(ay −ay )+(bx −bx )(ay −ay ) = 0, mod m       ⎪ (bx −bx )(ay −ay )−(bx −bx )(ay −ay ) = 0, mod m ⎪ ⎪      ⎪ ⎪ (bx −bx)(ay −ay )+(bx −bx )(ay −ay ) = 0, mod m ⎪ ⎪   ⎩ x x y (b −b )(a −ay )+(bx −bx )(ay −ay ) = 0, mod m (4) for all x, 0  x  j − 3, all x , 1  x  j − 2, all x , 2  x  j − 1, with x = x = x , all y, 0  y  k − 3, all y  , 1  y   k − 2, all y  , 2  y   k − 1, with y = y  = y  , m is prime. Proof If and only if there exists ⎧    ⎨Hx,y (n) = Hx,y (n ) = 1 H   (n ) = Hx ,y (n ) = 1 (5) ⎩ x ,y Hx ,y (n) = Hx ,y (n ) = 1 QC-LDPC codes have a 6-cycle which forms the shape as the first upper-left pattern of the Fig. 1. Hx,y  (n ) can be obtained by Hx,y  (n) shifting to the right by n − n (modm) places. From (1) and (3) we have x y  = iPx,y = ib a Hx,y (6) x y Px,y  Hx,y = ib a  = i and hence 

bx ay − bx ay = (n − n), mod m

(7)

Similarly, we thus obtain 







bx ay − bx ay = (n − n ), mod m 





bx ay − bx ay = (n − n), mod m 

(8) (9)



where 0  n , n  m − 1, 0  n  m − 1. Considering about (7) and (8), the objective functions can be reduced to 









bx ay − bx ay + bx ay − bx ay = (n − n), mod m (10) Fig. 2 The parity-check matrix and Tanner graph of associated LDPC codes

From (9) and (10), we have 















bx ay −bx ay +bx ay −bx ay −bx ay +bx ay = 0, mod m

Lingjun Kong et al.: Design of good QC-LDPC codes without small girth in the p-plane

185

Consequently, we obtain 









(bx − bx )(ay − ay ) + (bx − bx )(ay − ay ) = 0, mod m In a similar way, we can prove other equations in (4). Corollary 1 For integer a > 1 and b > 1, a necessary and sufficient condition for the QC-LDPC codes to have no 6-cycle in Tanner graph is: for any set of (x, x , x , y, y  , y  ), there holds ⎧      (bx −bx )(ay −ay )+(bx −bx)(ay −ay ) = 0, mod m ⎪ ⎪ ⎪       ⎪ ⎪ (bx −bx )(ay −ay )−(bx −bx )(ay −ay ) = 0, mod m ⎪ ⎪    ⎨ x x y (b −b )(a −ay )+(bx −bx)(ay −ay ) = 0, mod m       ⎪ (bx −bx )(ay −ay )−(bx −bx )(ay −ay ) = 0, mod m ⎪ ⎪      ⎪ ⎪ (bx −bx )(ay −ay )+(bx −bx)(ay −ay ) = 0, mod m ⎪ ⎪      ⎩ x (b −bx )(ay −ay )+(bx −bx )(ay −ay ) = 0, mod m (11) Theorem 2 For integer a > 1 and b > 1, a sufficient condition for the QC-LDPC codes to have no stopping set whose stopping distance is equal to 3 is that there is not a set of integer (x, x , x , y, y  , y  ) which satisfies any equation in (4). Theorem 3 A necessary and sufficient condition for the QC-LDPC codes to have no 4-cycle is that for any set of (x, x , y, y  ), there holds 



(bx − bx )(ay − ay ) = 0, mod m

(12)

Corollary 2 For integer a > 1 and b > 1, a sufficient condition for the QC-LDPC codes to have no stopping set whose stopping distance is equal to 2 is that there is not a set of integer (x, x , y, y  ) which satisfies 



(bx − bx )(ay − ay ) = 0, mod m

(13)

Corollary 3 For any set of (x, x , x , y, y  , y  ), if (11) and (12) can be satisfied, QC-LDPC codes have no girth (girth 4 or 6) and stopping sets (stopping distance is equal to 2 or 3).

4. Construction procedures for good QC-LDPC codes A p-plane is composed of λ-axes and l-axes, which consists of (p − 2) × (p − 3) points. The prime p is the order of the identity matrix i in (2). Each point in the p-plane is uniquely by the index pair (λ, l) where λ = 2, 3, . . . , p−1, l = 2, 3, . . . , p − 1 and λ = l . The indices of point (λ, l) correspond to the shifted factor a and b, respectively. Based on the relationship between p and block length N , different p-plane corresponds to different codeword length of QC-LDPC code. If we find the point (λ, l) in p-plane, the parity-check matrix H is obtained from (2) as described in Section 2. A p-plane (p = 13) is illustrated in Fig. 3.

Fig. 3 The all points in the p-plane (p = 13)

One remaining issue here is how to select the optimal point (λ, l) to make QC-LDPC codes have good performance in p-plane. 4.1 Principle for constructing good QC-LDPC Codes (i) Filtering the bad points based on the Theorems and Corollaries as described in Section 3 so that the paritycheck matrixes constructed by the residual good points in the p-plane have no short cycles in Tanner graphs of codes. (ii) Selecting one of the best points from the residual good points of every line respectively which is based on the BER performance of the QC-LDPC codes designed by the residual good points in the p-plane. (iii) The optimal point is also singled out according to the BER performance of the QC-LDPC codes. Since the presence of short cycles and small stopping sets lead to a poor BER performance of LDPC codes, we delete the points in the p-plane firstly according to the Corollary 3. Note A major contribution of this paper is that it do not need to calculate the BER curves for the all the points in p-plane. To simplify the complexity of calculating, it follows that QC-LDPC code has the better BER performance if it has the lower BER performance for the given two SNR values based on error-correct theory. 4.2 The criterion for selecting the optimal point in the p-plane (i) For the smaller SNR value, the top three point of every line can be gotten for their BER performance. (ii) For the second given SNR value, the best point of every line can be gotten for the same reason. (iii) Compared with each other, the optimal point in the p-plane can be singled out. 4.3 Construction procedure Based on the principle, our construction procedure for good QC-LDPC codes in the p-plane is summarized as follows.

186

Journal of Systems Engineering and Electronics Vol. 22, No. 2, April 2011

(i) As a first step, filtering the bad points line by line in the p-plane. The bad point means that the designed paritycheck matrix has the short cycles in Tanner graph using the point in the p-plane. (ii) Next, finding one of the best points from the residual good points of every line, respectively. (iii) At last, optimal point (λ, l) is obtained from all the best points of all lines in p-plane. Based on the proposed method, the optimal point between p-planes can also be obtained.

5. Simulations results In this section, we present several QC-LDPC codes (rate-1/2) and their error performances with iterative decoding using sum-product algorithm (SPA). For performance computation, we assume binary phase shift keying (BPSK) transmission over an additive white Gaussion noise (AWGN) channel. (N, 3, 6) QC-LDPC codes are considered here. It is worth noting that it is very difficult to find the optimal point when the p-plane is large. Approximately, we search the optimal point of the segment of p-plane, through limited the λ, as the near optimal of p-plane. λ = 2, 3, . . . , p/3. In the following, we use examples to illustrate the above method of constructing QC-LDPC codes. Suppose we choose p-plane (p = 37) and λ = 2, 3, . . . , 13. The bad points are cut out in the segment of pplane based on the theorems and corollaries described above, while the residual good points are illustrated in Fig. 4.

(p = 37) is given by ⎡ i1 ⎣ H2 = i10 i26

i3 i30 i4

i9 i27 i16 i11 i12 i36 i34

⎤ i7 i21 i33 i25 ⎦ i28

We also find two sub-optimal points (A and C) in the p-plane (p = 37). The parity-check matrixes of A and C can also be constructed based on the Table 1. Table 1

Construction parameters for QC-LDPC codes

QC-LDPC1

Points A

λ 3

l 10

p 37

N 222

QC-LDPC2

B

13

18

37

222

QC-LDPC3

C

2

35

37

222

In Fig. 5, we show the BER performance of LDPC decoding with same code length based on QC-LDPC1 , QCLDPC2 and QC-LDPC3 , respectively. Firstly, from the Fig. 5 we can see that the all of the three QC-LDPC codes have better BER performance. The reason is that the bad points are filtered based on the Theorems and corollaries as described in Section 3 so that the paritycheck matrixes constructed by the residual good points(A, B and C) in the p-plane have no short cycles and no small stopping sets in tanner graphs of codes.

Fig. 5 The BER performance of the optimal QC-LDPC2 code and two sub-optimal codes with the same codes length (N = 222)

Fig. 4

The good points in the segment of p-plane (p = 37)

According to the construction procedure for good QCLDPC codes in the p-plane as given by Section 4, optimal point B (λ = 3, l = 10) is obtained from the residual good points in Fig. 4. The parity-check matrix H2 of the QCLDPC2 code, according to the optimal point in the p-plane

Secondly, the QC-LDPC2 (optimal point B) has much better performance in comparison with that of the other two sub-optimal points (A and C). The optimal point is singled out according to the BER performance of the QCLDPC codes. Thirdly, Fig. 5 shows that the QC-LDPC codes designed using our approach have a significantly low error floor than other codes designed with the same length of 222. It is verified that the small girth and small stopping sets have tangible effects on the BER performance of LDPC codes.

Lingjun Kong et al.: Design of good QC-LDPC codes without small girth in the p-plane

6. Conclusion We present a construction method based on the p-plane to design high-girth QC-LDPC codes. Explicit necessary and sufficient conditions for the QC-LDPC codes to have no short cycles are proposed which are in favor of removing the bad points in the p-plane. The simulation results show that the QC-LDPC codes can effectively avoid specified stopping sets and small girth, and have good “waterfall” BER performance.

[14]

References

[15]

[1] R. G. Gallager. Low-density parity-check codes. IRE Trans. on Information Theory, 1962, 8(1): 21–28. [2] T. Richardson, R. Urbanke. The capacity of low-density parity check codes under message-passing decoding. IEEE Trans. on Information Theory, 2001, 47(2): 599–618. [3] R. M. Tanner, D. Sridhara, A. Sridharan, et al. LDPC block and convolutional codes based on circulant matrices. IEEE Trans. on Information Theory, 2004, 50(12): 2966–2984. [4] Y. Xiao, H. H. Lee. Construction of good quasi-cyclic LDPC codes. Proc. of IET International Conference on Wireless Mobile and Multimedia Networks, 2006: 660–663. [5] M. P. C. Fossorier. Quasi-cyclic low-density parity-check codes from circulant permutation matrices. IEEE Trans. on Information Theory, 2004, 50(8): 1788–1792. [6] J. Fan, Y. Xiao. A method of counting the number of cycles in LDPC codes. Proc. of the 8th International Conference on Signal Processing, 2006: 2183–2186. [7] C. Di, D. Proietti, I. E. Telatar, et al. Finite-length analysis of low-density parity-check codes on the binary erasure channel. IEEE Trans. on Information Theory, 2000, 48(6): 1570–1579. [8] T. Tian, C. Jones, J. D. Villasenor, et al. Construction of irregular LDPC codes with low error floors. Proc. of IEEE International Conference on Communications, 2003: 3125–3129. [9] A. Ramamoorthy, R. Wesel. Construction of short block length irregular LDPC codes. Proc. of IEEE International Conference on Communications, 2004: 410–414. [10] J. L. Kim, U. Peled, I. Perepelitsa, et al. Explicit construction

[11] [12] [13]

187

of families of LDPC codes with no 4-cycles. IEEE Trans. on Information Theory, 2004, 50(10): 2378–2388. A. Orlitsky, R. Urbanke, K. Viswanathan, et al. Stopping sets and girth of Tanner graphs. Proc. of IEEE International Symposium Information Theory, 2002. M. Schwartz, A. Vardy. On the stopping distance and the stopping redundancy of codes. IEEE Trans. on Information Theory, 2006, 52(3): 922–933. A. Orlitsky, K. Viswanathan, J. Zhang. Stopping set distribution of LDPC code ensembles. IEEE Trans. on Information Theory, 2005, 51(3): 929–953. M. K. Krishnan, P. Shankar. On the complexity of finding stopping set size in tanner graphs. Proc. of 40th Annual Conference on Information Sciences and Systems, 2006: 157–158. K. Murali, L. Krishnan, S. Chandran. Hardness of approximation results for the problem of finding the stopping distance in tanner graphs. Proc. of 26th International Conference on Foundations of Software Technology and Theoretical Computer Science, 2006: 69–80.

Biographies Lingjun Kong was born in 1982. He is a Ph.D. in Beijing Jiaotong University. His research interests are LDPC codes and LTE/LTE-A. E-mail: [email protected]

Yang Xiao was born in 1955. He is a Ph.D. and professor in Beijing Jiaotong University. His research interests include space-time signal processing, communication signal processing and systems, multidimensional signal processing and systems. E-mail: [email protected]