RLCResearch Letters in Communications1687-6741Hindawi Publishing Corporation35413710.1155/2008/354137354137Research LetterDesign LDPC Codes without Cycles of Length 4 and 6FanJun1XiaoYang2KimKiseon3YueGuosen1Office of Academic AffairsCentral University for NationalitiesBeijing 100081China2Institute of Information ScienceBeijing Jiaotong UniversityBeijing 100044China3Department of Information and CommunicationsGwangju Institute of Science and TechnologyGwangju 500712South Korea200802032008200802012008250220082008Copyright © 2008This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

We present an approach for constructing LDPC codes without cycles of length 4 and 6. Firstly, we design 3 submatrices with different shifting functions given by the proposed schemes, then combine them into the matrix specified by the proposed approach, and, finally, expand the matrix into a desired parity-check matrix using identity matrices and cyclic shift matrices of the identity matrices. The simulation result in AWGN channel verifies that the BER of the proposed code is close to those of Mackay's random codes and Tanner's QC codes, and the good BER performance of the proposed can remain at high code rates.

1. Introduction

LDPC codes can be described by a bipartite graph called Tanner graph , and the girth of a Tanner graph is the length of the shortest cycle in the graph. Girths in the Tanner graphs of LDPC codes prevent the sum-product algorithm from converging . Further, cycles, especially short cycles, degrade the performance of LDPC decoders, because they affect the independence of the extrinsic information exchanged in the iterative decoding [2, 3]. Hence, LDPC codes with large girth are desired. Most methods for designing LDPC codes are based on random construction techniques, the lack of structure implied by this randomness presents serious disadvantages in terms of storing and accessing a large parity-check matrix, encoding data, and analyzing code performance (e.g., determining a code’s distance properties). Recent research results  about LDPC codes with large girths show that there are many possible ways to construct the LDPC codes with large girths. However, some of the code constructions  are not satisfied for application due to the complicated constraints for the structures of parity-check matrices. To solve the problem, this letter provides a different construction of LDPC codes with large girth. The column weight of our codes is 3 and the row weight is v (v>3). The BER performance of the proposed codes is near to those of Mackay’s random codes and Tanner’s QC codes.

This letter is structured as follows. In Section 2, we analyze the figures of 4-cycles and 6-cycles in the parity-check matrix.

Section 3 presents the design algorithm of the parity-check matrix. Section 4 provides three lemmas show that the proposed codes do not contain 4-cycles and 6-cycles. Section 5 evaluates the BER performance of the proposed codes for AWGN channels via computer simulations. Finally, In Section 6 we make some conclusions.

2. Definitions of the Cycles

An (n,j,k) LDPC code has the parity-check matrix H of n columns, where H has j ones in each column, k ones in each row, and zeros elsewhere, then the (n,j,k) parity-check matrix has m=nj/k rows [1, 2]. A bipartite graph with m check nodes and nm bit nodes can be created with the edges between the bit and check nodes if there are corresponding 1s in the parity-check matrix H. Such a graph is frequently called a Tanner graph [1, 11]. A cycle in a Tanner graph refers to a finite set of connected edges, the edge starts and ends at the same node, and it satisfies the condition that no node (except the initial and final node) appears more than once [410, 12]. The length of a cycle is simply the number of edges of the cycle.

A cycle also can be shown in a tree. Figure 1 shows a 4-cycle in a tree, and Figure 2 shows a 6-cycle in a tree. Figures 1 and 2 are not general descriptions for a 4-cycle and 6-cycle in a tree. It is also possible that a 4-cycle or a 6-cycle starts from a variable (bit) node, similar to the trees in Figures 1 and 2. In a tree, check nodes represent rows in parity-check matrix, and variable (bit) nodes represent columns. We try to design a parity-check matrix without 4-cycles and 6-cycles.

A 4-cycle in tree.

A 6-cycle in tree.

2.1. Figures of 4-Cycles in Parity-Check Matrix

In Figure 1, two 1s (we mark them as m1 and m2) in row a belong to column b and c, respectively, two 1s (we mark them as m3 and m4) in row d belong to column b and c, respectively, so the figure of the 4-cycle in the parity-check matrix as shown in Figure 3. If there is no figure as shown in Figure 3 in parity-check matrix, there is no 4-cycle in the LDPC code. We denote 4-cycles as G4(m1,m2,m3,m4).

A 4-cycle in a parity-check matrix.

2.2. Figures of 6-Cycles in Parity-Check Matrix

Figure 4 shows that m1 and m2 in row a belong to column b and c, respectively, m3 in column b belongs to row d, m4 in column c belongs to row e, m5 in row d and m6 in row e belong to column f, where m1, m2, m3, m4, m5, m6 represent six 1s in 6-cycle, as shown in Figure 4. We denote 6-cycles as G6(m1,m2,m3,m4,m5,m6).

A 6-cycle in a parity-check matrix.

From Figure 4 we know that six 1s in a 6-cycle belong to 3 rows and 3 columns equally, so we can get the number of 6-cycles with different figures to be 6 from Figure 5.

Six kinds of 6-cycles with different figures.

Figure 5 shows six different kinds of figures of 6-cycles. If there is no figure as shown in Figure 5 in the parity-check matrix, there is no 6-cycle in the LDPC code.

3. Design Algorithm of Parity-Check Matrix

If there is a parity-check matrix H, row weight is v (v>3), column weight is 3. We design three submatrices D, E, F, combine them into matrix H1, H1=[DEF], transpose H1 into H2, expand H2 into desired parity-check matrix H using identity matrices and cyclic shift matrices of the identity matrix randomly.

3.1. Design Algorithm of Submatrix <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M60"><mml:mrow><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>

The design algorithm of D is as following.

Design a matrix D0 with the dimension v×v2. D0(1,1)=D0(2,1)=D0(3,1)==D0(v,1)=1, other elements are “0”

D0=v×v2.

Let D1=D01, D2=D02, D3=D03,,Dv21=D0v21, where D0k represents circularly shift D0 in (1) for k right-shifting steps circularly.

Let D=[D0,D1,D2,,Dv21]T and its dimension is v3×v2.

3.2. Design Algorithm of Submatrix <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M75"><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:math></inline-formula>

The design algorithm of E is as following.

Design a matrix E0 with the dimension v×v2. E0(1,1)=E0(2,2)=E0(3,3)==E0(v,v)=1, other elements are 0s

E0=v×v2.

Let E1=[E0,E0,,E0]T, the number of E0 included in E1 is v.

Let E2=E1v, E3=E12v,,Ev=E1(v1)v, where E1k represents circularly right-shifting E1 for k steps.

Let E=[E1,E2,,Ev]T with the dimension v3×v2.

3.3. Design Algorithm of Submatrix <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M93"><mml:mrow><mml:mi>F</mml:mi></mml:mrow></mml:math></inline-formula>

The design algorithm of F is as following.

Designing a matrix F0 with dimension v×v2. F0(1,1)=F0(2,v+1)=F0(3,2v+1)==F0(v,v2v+1)=1, other elements are “0.” For v=4, we can get F0 by the following way: F0=v×v2.

Let F1=F01, F2=F02, F3=F03,,Fv1=F0v1, where F0k represents F0 with circularly right-shifting k steps.

Let Fv=[F0,F1,,Fv1]T.

Let F=[Fv,Fv,,Fv]T, there are v copies of Fv in F, so the dimension of F is v3×v2.

We can get H1 by the following way:

H1=[D0E0F0Dv1E0Fv1DvE2F0Dv21EvFv1]v3×3v2. Let H2=H1T, then the dimension of H2 is 3v2×v3.

3.4. Expansion of <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M120"><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>

The expansion algorithm is as follows.

Select an identity matrix I with dimension p×p,

I=p×p.

Let I1=I1, I2=I2,,Ip1=Ip1, where Ik represents the matrix I with circularly right-shifting k steps.

Exchanging the 1s in H2 by the elements in the matrix set {I,I1,I2,,Ip1} randomly and exchanging 0s by null matrices with the same dimension as I, then we get the parity-check matrix H, whose dimension is 3pv2×pv3.

From the structure of the parity-check matrix H, we can see that the proposed code is a deterministic LDPC code, so the proposed code has the advantage for encoding. To get the LDPC code with the large length (3pv2), we can expand the H by selecting the desired dimension p of the identity matrix I in (5) with stochastically shifting.

4. The Demonstration of the Code with Girth 8

In Section 3, we present a method for constructing parity-check matrix H with girth 8 based on the submatrices’ shifting. In this section, we add three lemmas with theoretic proofs showing that the parity-check matrix H does not contain 4-cycles and 6-cycles.

Lemma 1.

If a matrix H1 is constructed by (4), there is no 4-cycle in H1.

Proof.

We can know from Figure 3 that if there are 4-cycles in the matrix H1 in (4), the edges connecting {m1,m3} and {m2,m4} must be in two different submatrices of D, E, F, because m1 and m2 are in the same row. The following formula must be true:

L(m1,m3)=L(m2,m4).

In the submatrix D, the lengths L(m1,m3) and L(m2,m4) could be 1,2,,v1. In the submatrix E, the lengths L(m1,m3) and L(m2,m4) could be v,2v,,(v1)×v. In the submatrix F, the lengths L(m1,m3) and L(m2,m4) could be v2,2v2,,(v1)×v2. We can easily know that L(m1,m3)L(m2,m4), so there is no 4-cycle in the matrix H1.

Lemma 2.

If a matrix H1 is constructed by (4), there is no 6-cycle in H1.

Proof.

As shown in Figure 4, if there are 6-cycles in the matrix H1, the edges connecting {m1,m3}, {m2,m4}, and {m5,m6} must be in D, E, and F, respectively. Without loss of generality, we assume that L(m2,m4) is the longest length among the three lengths. The following formula must be true:

L(m1,m3)+L(m5,m6)=L(m2,m4).

In the submatrix D, the lengths L(m1,m3), L(m5,m6) and L(m2,m4) could be 1,2,,v1. In the submatrix E, the length of L(m1,m3), L(m5,m6), and L(m2,m4) could be v,2v,,(v1)×v. In the submatrix F, the lengths L(m1,m3), L(m5,m6), and L(m2,m4) could be v2,2v2,,(v1)×v2. We can know that the edge of L(m2,m4) must be in F, or else

L(m1,m3)+L(m5,m6)>L(m2,m4). We know that

1+vL(m1,m3)+L(m5,m6)(v1)(v+1), and L(m2,m4)v2, so

L(m1,m3)+L(m5,m6)<L(m2,m4). Thus there is no 6-cycle in the matrix H1, which means H to be free from 6-cycles.

We know that H2=H1T, so the matrix H2 is also free of 4-cycles and 6-cycles.

Lemma 3.

If there is no 4-cycle and 6-cycle in the matrix H2, there is no 4-cycle and 6-cycle in the parity-check matrix H.

Proof.

If there is a 4-cycle G4(m1,m2,m3,m4) in the parity-check matrix H, from Figure 3 we can know that m1, m2, m3, and m4 must be in four different identity matrices or cyclic shift matrices of identity matrices. Since an identity matrix I and a cyclic shift matrix of the I in H means a “1” in H2, there is a 4-cycle in H2. However, we know that there is no 4-cycle in H2, so there is no 4-cycle in the parity-check matrix H. Using the same method, we can know that there is no 6-cycle G6(m1,m2,m3,m4,m5,m6) in the parity-check matrix H.

5. Performance Evaluation

To demonstrate the error-correcting performance, we constructed two rate-1/2 LDPC codes by the proposed method. For the purpose of comparison, we also construct two classes of Tanner’s QC codes and Mackay’s random codes [10, 11, 13]. We get Mackay’s random codes from . Tanner’s QC codes are constructed by the method introduced in Tanner’s paper [10, 11]. Both Mackay’s random codes and constructed Tanner’s QC codes for the comparison are good codes. The selected codes’ parameters are given in Table 1.

Parameters of example codes with rate-1/2.

kjNRg
New10805406310801/28
Mac10745376310081/26
QC10745376310021/28

Table 1 lists the typical values of the row weight k, the column weight j, the code length N, the code rate R, and the girth g for the three codes. The girths of the LDPC codes in Table 1 are tested by the approach of . Table 2 lists the typical values of the proposed codes for different high code and code lengths. In Tables 1 and 2, the Newnm means the proposed code with the code length n and m parity check bits, so do the Macnm and Qcnm.

Parameters of our codes with high-rate.

kjNRg
New510317019351030.678
New5000150010350000.78
New5184129612351840.758

We simulate the proposed code’s error-correcting performance with the assumption that each code is modulated by BPSK and transmitted over additive white Gaussian noise (AWGN) channel. All the codes are decoded with the sum-product algorithm [2, 3]. Figure 6 shows the simulated BER versus signal-to-noise ratio (Eb/N0). As shown in Figure 6. The BER performance of the proposed codes is very close to MacKay's random codes and Tanner’s QC codes. From Figure 7, it can be seen that the proposed codes also have a good BER performance at high code rates 0.67, 0.7, and 0.75. The BER curves of the two codes of at high code rates 0.67, 0.7 are close since two LDPC codes with different code lengths may have approximate minimum weights . In the expansion algorithm of the proposed code, we replace “1” in H2 by the elements in the set {I,I1,I2,,Ip1} randomly, which will lead to the minimum weights of the obtained codes to be different, the shorter codes may have larger minimum weights.

BER performance comparison of our code, Mackay’s random code and Tanner’s QC code.

BER performance of our codes at high code rate.

6. Conclusions

In this paper, we proposed a QC LDPC code without girth-4 and girth-6, three lemmas are provided to prove the short girths’ properties of the proposed codes. Simulation verified the good error-correcting performance of the proposed code, whose BER performance is near to those of Tanner’s QC codes and MacKay’s random codes [10, 11, 13]. The good BER performance can remain at high code rates.

ACKNOWLEDGMENTS

This paper is supported by the National Natural Science Foundation of China under Grant no. 60572093, Specialized Research Fund for the Doctoral Program of Higher Education (20050004016) of China, and IITA Professorship Program of Gwangju Institute of Science and Technology, South Korea. Part of contents of this paper was presented on IET International Conference on Wireless Mobile and Multimedia Networks Proceedings (ICWMMN 2006).

TannerR. M.A recursive approach to low complexity codesIEEE Transactions on Information Theory198127553354710.1109/TIT.1981.1056404MacKayD. J. C.mackay@mrao.cam.ac.ukGood error-correcting codes based on very sparse matricesIEEE Transactions on Information Theory199945239943110.1109/18.748992LucasR.FossorierM. P. C.KouY.LinS.Iterative decoding of one-step majority logic decodable codes based on belief propagationIEEE Transactions on Communications200048693193710.1109/26.848552KimS.nodoubt@snu.ac.krNoJ.-S.jsno@snu.ac.krChungH.habchung@wow.hongik.ac.krShinD.-J.djshin@hanyang.ac.krGirth analysis of Tanner's (3,5) QC LDPC codesProceedings of IEEE International Symposium on Information Theory (ISIT '05)September 2005Adelaide, SA, Australia1632163610.1109/ISIT.2005.1523621LuJ.jinlu@ece.cmu.eduMouraJ. M. F.moura@ece.cmu.eduNiesenU.uniesen@ece.cmu.eduGrouping-and-shifting designs for structured LDPC codes with large girthProceedings of IEEE International Symposium on Information Theory (ISIT '04)June-July 2004Chicago, Ill, USA23610.1109/ISIT.2004.1365275VasicB.vasic@ece.arizona.eduPedaganiK.karun@ece.arizona.eduIvkovicM.High-rate girth-eight low-density parity-check codes on rectangular integer latticesIEEE Transactions on Communications20045281248125210.1109/TCOMM.2004.833037SongH.hsong@agere.comLiuJ.jingfeng_liu@maxtor.comVijaya KumarB. V. K.kumar@ece.cmu.eduLarge girth cycle codes for partial response channelsIEEE Transactions on Magnetics20044043084308610.1109/TMAG.2004.829197LuJ.jinlu@ece.cmu.eduMouraJ. M. F.moura@ece.cmu.eduNiesenU.A class of structured LDPC codes with large girth1Proceedings of IEEE International Conference on CommunicationsJune 2004Paris, France42542910.1109/ICC.2004.1312524ZhangH.haotian@ece.cmu.eduMouraJ. M. F.moura@ece.cmu.eduThe design of structured regular LDPC codes with large girth7Proceedings of IEEE Global Telecommunications Conference (GLOBECOM '03)December 2003San Francisco, Calif, USA4022402710.1109/GLOCOM.2003.1258984XiaoY.yxiao@center.njtu.edu.cnLeeM. H.moonho@chonbuk.ac.krConstruction of good quasi-cyclic LDPC codesProceedings of IET International Conference on Wireless Mobile and Multimedia Networks (ICWMMN '06)November 2006Hangzhou, China17210.1049/cp:20061337TannerR. M.rmtanner@uic.eduSridharaD.dsridhar@math.iisc.ernet.inSridharanA.Arvind.Sridharan.1@nd.eduFujaT. E.Thomas.E.Fuja.1@nd.eduCostelloD.Jr.Costello.2@nd.eduLDPC block and convolutional codes based on circulant matricesIEEE Transactions on Information Theory200450122966298410.1109/TIT.2004.838370FanJ.fanjun562@126.comXiaoY.A method of counting the number of cycles in LDPC codes3Proceedings of the 8th International Conference on Signal Processing (ICSP '06)November 2006Guilin, China21832186MacKayD. J. C.Encyclopedia of sparse graph codes [EB/OL]http://www.inference.phy.cam.ac.uk/mackay/codes/data.html