Abstract

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 [1], 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 [210]. 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 [410] 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 [410] 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 𝑣 (𝑣>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 (𝑛,𝑗,𝑘) LDPC code has the parity-check matrix 𝐻 of 𝑛 columns, where 𝐻 has 𝑗 ones in each column, 𝑘 ones in each row, and zeros elsewhere, then the (𝑛,𝑗,𝑘) parity-check matrix has 𝑚=𝑛𝑗/𝑘 rows [1, 2]. A bipartite graph with 𝑚 check nodes and 𝑛𝑚 bit nodes can be created with the edges between the bit and check nodes if there are corresponding 1s in the parity-check matrix 𝐻. 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.

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

In Figure 1, two 1s (we mark them as 𝑚1 and 𝑚2) in row 𝑎 belong to column 𝑏 and 𝑐, respectively, two 1s (we mark them as 𝑚3 and 𝑚4) in row 𝑑 belong to column 𝑏 and 𝑐, 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 𝐺4(𝑚1,𝑚2,𝑚3,𝑚4).

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

Figure 4 shows that 𝑚1 and 𝑚2 in row 𝑎 belong to column 𝑏 and 𝑐, respectively, 𝑚3 in column 𝑏 belongs to row 𝑑, 𝑚4 in column 𝑐 belongs to row 𝑒, 𝑚5 in row 𝑑 and 𝑚6 in row 𝑒 belong to column 𝑓, where 𝑚1, 𝑚2, 𝑚3, 𝑚4, 𝑚5, 𝑚6 represent six 1s in 6-cycle, as shown in Figure 4. We denote 6-cycles as 𝐺6(𝑚1,𝑚2,𝑚3,𝑚4,𝑚5,𝑚6).

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.

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 𝐻, row weight is 𝑣 (𝑣>3), column weight is 3. We design three submatrices 𝐷, 𝐸, 𝐹, combine them into matrix 𝐻1, 𝐻1=[𝐷𝐸𝐹], transpose 𝐻1 into 𝐻2, expand 𝐻2 into desired parity-check matrix 𝐻 using identity matrices and cyclic shift matrices of the identity matrix randomly.

3.1. Design Algorithm of Submatrix 𝐷

The design algorithm of 𝐷 is as following.

(1)Design a matrix 𝐷0 with the dimension 𝑣×𝑣2. 𝐷0(1,1)=𝐷0(2,1)=𝐷0(3,1)==𝐷0(𝑣,1)=1, other elements are “0”𝐷0=10000010100000𝑣×𝑣2.(1)(2)Let 𝐷1=𝐷10, 𝐷2=𝐷20, 𝐷3=𝐷30,,𝐷𝑣21=𝐷𝑣201, where 𝐷𝑘0 represents circularly shift 𝐷0 in (1) for 𝑘 right-shifting steps circularly.(3)Let 𝐷=[𝐷0,𝐷1,𝐷2,,𝐷𝑣21]𝑇 and its dimension is 𝑣3×𝑣2.

3.2. Design Algorithm of Submatrix 𝐸

The design algorithm of 𝐸 is as following.

(1)Design a matrix 𝐸0 with the dimension 𝑣×𝑣2. 𝐸0(1,1)=𝐸0(2,2)=𝐸0(3,3)==𝐸0(𝑣,𝑣)=1, other elements are 0s𝐸0=1000001000100𝑣×𝑣2.(2)(2)Let 𝐸1=[𝐸0,𝐸0,,𝐸0]𝑇, the number of 𝐸0 included in 𝐸1 is 𝑣.(3)Let 𝐸2=𝐸𝑣1, 𝐸3=𝐸12𝑣,,𝐸𝑣=𝐸1(𝑣1)𝑣, where 𝐸𝑘1 represents circularly right-shifting 𝐸1 for 𝑘 steps.(4)Let 𝐸=[𝐸1,𝐸2,,𝐸𝑣]𝑇 with the dimension 𝑣3×𝑣2.

3.3. Design Algorithm of Submatrix 𝐹

The design algorithm of 𝐹 is as following.

(1)Designing a matrix 𝐹0 with dimension 𝑣×𝑣2. 𝐹0(1,1)=𝐹0(2,𝑣+1)=𝐹0(3,2𝑣+1)==𝐹0(𝑣,𝑣2𝑣+1)=1, other elements are “0.” For 𝑣=4, we can get 𝐹0 by the following way: 𝐹0=1000000000000000000010000000000000000000100000000000000000001000𝑣×𝑣2.(3)(2)Let 𝐹1=𝐹10, 𝐹2=𝐹20, 𝐹3=𝐹30,,𝐹𝑣1=𝐹0𝑣1, where 𝐹𝑘0 represents 𝐹0 with circularly right-shifting 𝑘 steps.(3)Let 𝐹𝑣=[𝐹0,𝐹1,,𝐹𝑣1]𝑇.(4)Let 𝐹=[𝐹𝑣,𝐹𝑣,,𝐹𝑣]𝑇, there are 𝑣 copies of 𝐹𝑣 in 𝐹, so the dimension of 𝐹 is 𝑣3×𝑣2.

We can get 𝐻1 by the following way:

𝐻1=𝐷0𝐸0𝐹0𝐷𝑣1𝐸0𝐹𝑣1𝐷𝑣𝐸2𝐹0𝐷𝑣21𝐸𝑣𝐹𝑣1𝑣3×3𝑣2.(4) Let 𝐻2=𝐻𝑇1, then the dimension of 𝐻2 is 3𝑣2×𝑣3.

3.4. Expansion of 𝐻2

The expansion algorithm is as follows.

(1)Select an identity matrix 𝐼 with dimension 𝑝×𝑝,𝐼=1000100001𝑝×𝑝.(5)(2)Let 𝐼1=𝐼1, 𝐼2=𝐼2,,𝐼𝑝1=𝐼𝑝1, where 𝐼𝑘 represents the matrix 𝐼 with circularly right-shifting 𝑘 steps.(3)Exchanging the 1s in 𝐻2 by the elements in the matrix set {𝐼,𝐼1,𝐼2,,𝐼𝑝1} randomly and exchanging 0s by null matrices with the same dimension as 𝐼, then we get the parity-check matrix 𝐻, whose dimension is 3𝑝𝑣2×𝑝𝑣3.

From the structure of the parity-check matrix 𝐻, 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 (3𝑝𝑣2), we can expand the 𝐻 by selecting the desired dimension p of the identity matrix 𝐼 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 𝐻 with girth 8 based on the submatrices’ shifting. In this section, we add three lemmas with theoretic proofs showing that the parity-check matrix 𝐻 does not contain 4-cycles and 6-cycles.

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

Proof. We can know from Figure 3 that if there are 4-cycles in the matrix 𝐻1 in (4), the edges connecting {𝑚1,𝑚3} and {𝑚2,𝑚4} must be in two different submatrices of 𝐷, 𝐸, 𝐹, because 𝑚1 and 𝑚2 are in the same row. The following formula must be true:
𝐿𝑚1,𝑚3𝑚=𝐿2,𝑚4.(6)
In the submatrix 𝐷, the lengths 𝐿(𝑚1,𝑚3) and 𝐿(𝑚2,𝑚4) could be 1,2,,𝑣1. In the submatrix 𝐸, the lengths 𝐿(𝑚1,𝑚3) and 𝐿(𝑚2,𝑚4) could be 𝑣,2𝑣,,(𝑣1)×𝑣. In the submatrix 𝐹, the lengths 𝐿(𝑚1,𝑚3) and 𝐿(𝑚2,𝑚4) could be 𝑣2,2𝑣2,,(𝑣1)×𝑣2. We can easily know that 𝐿(𝑚1,𝑚3)𝐿(𝑚2,𝑚4), so there is no 4-cycle in the matrix 𝐻1.

Lemma 2. If a matrix 𝐻1 is constructed by (4), there is no 6-cycle in 𝐻1.

Proof. As shown in Figure 4, if there are 6-cycles in the matrix 𝐻1, the edges connecting {𝑚1,𝑚3}, {𝑚2,𝑚4}, and {𝑚5,𝑚6} must be in 𝐷, 𝐸, and 𝐹, respectively. Without loss of generality, we assume that 𝐿(𝑚2,𝑚4) is the longest length among the three lengths. The following formula must be true:
𝐿𝑚1,𝑚3𝑚+𝐿5,𝑚6𝑚=𝐿2,𝑚4.(7)
In the submatrix 𝐷, the lengths 𝐿(𝑚1,𝑚3), 𝐿(𝑚5,𝑚6) and 𝐿(𝑚2,𝑚4) could be 1,2,,𝑣1. In the submatrix 𝐸, the length of 𝐿(𝑚1,𝑚3), 𝐿(𝑚5,𝑚6), and 𝐿(𝑚2,𝑚4) could be 𝑣,2𝑣,,(𝑣1)×𝑣. In the submatrix 𝐹, the lengths 𝐿(𝑚1,𝑚3), 𝐿(𝑚5,𝑚6), and 𝐿(𝑚2,𝑚4) could be 𝑣2,2𝑣2,,(𝑣1)×𝑣2. We can know that the edge of 𝐿(𝑚2,𝑚4) must be in 𝐹, or else
𝐿𝑚1,𝑚3𝑚+𝐿5,𝑚6𝑚>𝐿2,𝑚4.(8) We know that
𝑚1+𝑣𝐿1,𝑚3𝑚+𝐿5,𝑚6(𝑣1)(𝑣+1),(9) and 𝐿(𝑚2,𝑚4)𝑣2, so
𝐿𝑚1,𝑚3𝑚+𝐿5,𝑚6𝑚<𝐿2,𝑚4.(10) Thus there is no 6-cycle in the matrix 𝐻1, which means 𝐻 to be free from 6-cycles.

We know that 𝐻2=𝐻𝑇1, so the matrix 𝐻2 is also free of 4-cycles and 6-cycles.

Lemma 3. If there is no 4-cycle and 6-cycle in the matrix 𝐻2, there is no 4-cycle and 6-cycle in the parity-check matrix 𝐻.

Proof. If there is a 4-cycle 𝐺4(𝑚1,𝑚2,𝑚3,𝑚4) in the parity-check matrix 𝐻, from Figure 3 we can know that 𝑚1, 𝑚2, 𝑚3, and 𝑚4 must be in four different identity matrices or cyclic shift matrices of identity matrices. Since an identity matrix 𝐼 and a cyclic shift matrix of the 𝐼 in 𝐻 means a “1” in 𝐻2, there is a 4-cycle in 𝐻2. However, we know that there is no 4-cycle in 𝐻2, so there is no 4-cycle in the parity-check matrix 𝐻. Using the same method, we can know that there is no 6-cycle 𝐺6(𝑚1,𝑚2,𝑚3,𝑚4,𝑚5,𝑚6) in the parity-check matrix 𝐻.

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 [13]. 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.

Table 1 lists the typical values of the row weight 𝑘, the column weight 𝑗, the code length 𝑁, the code rate 𝑅, and the girth 𝑔 for the three codes. The girths of the LDPC codes in Table 1 are tested by the approach of [12]. Table 2 lists the typical values of the proposed codes for different high code and code lengths. In Tables 1 and 2, the New𝑛𝑚 means the proposed code with the code length n and m parity check bits, so do the Mac𝑛𝑚 and Qc𝑛𝑚.

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 (𝐸𝑏/𝑁0). 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 [10]. In the expansion algorithm of the proposed code, we replace “1” in 𝐻2 by the elements in the set {𝐼,𝐼1,𝐼2,,𝐼𝑝1} randomly, which will lead to the minimum weights of the obtained codes to be different, the shorter codes may have larger minimum weights.

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).