Design LDPC Codes without Cycles of Length 4 and 6

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.


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 [2][3][4][5][6][7][8][9][10].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 [4][5][6][7][8][9][10] 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 [4][5][6][7][8][9][10] 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 paritycheck matrix.
Section 3 presents the design algorithm of the paritycheck 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.

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 = n j/k rows [1,2].A bipartite graph with m check nodes and n−m 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 [4][5][6][7][8][9][10]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 4cycle in a tree, and Figure 2 shows a 6-cycle in a tree.Variable node Check node 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.

Figures of 4-Cycles in Parity-Check Matrix
In Figure 1, two 1s (we mark them as m 1 and m 2 ) in row a belong to column b and c, respectively, two 1s (we mark them as m 3 and m 4 ) 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 G 4 (m 1 , m 2 , m 3 , m 4 ).six 1s in 6-cycle, as shown in Figure 4. We denote 6-cycles as

Figures of 6-Cycles in 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.
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.

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 expand H 2 into desired parity-check matrix H using identity matrices and cyclic shift matrices of the identity matrix randomly.

Design Algorithm of Submatrix D
The design algorithm of D is as following.

Design Algorithm of Submatrix E
The design algorithm of E is as following.
(1) Design a matrix other elements are 0s , where E k

Design Algorithm of Submatrix F
The design algorithm of F is as following.

Expansion of H 2
The expansion algorithm is as follows.
(1) Select an identity matrix I with dimension p × p, 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 (3pv 2 ), we can expand the H by selecting the desired dimension p of the identity matrix I in (5) with stochastically shifting.

The Demonstration of the Code with Girth 8
In Section 3, we present a method for constructing paritycheck 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.(4), there is no 4cycle in H 1 .

Lemma 1. If a matrix H 1 is constructed by
Proof.We can know from Figure 3 that if there are 4-cycles in the matrix H 1 in (4), the edges connecting {m 1 , m 3 } and {m 2 , m 4 } must be in two different submatrices of D, E, F, because m 1 and m 2 are in the same row.The following formula must be true: In the submatrix D, the lengths L(m 1 , m 3 ) and L(m 2 , m 4 ) could be 1, 2, . . ., v − 1.In the submatrix E, the lengths L(m 1 , m 3 ) and L(m 2 , m 4 ) could be v, 2v, . . ., (v − 1) × v.In the submatrix F, the lengths L(m 1 , m 3 ) and L(m 2 , m 4 ) could be v 2 , 2v 2 , . . ., (v − 1) × v 2 .We can easily know that L(m 1 , m 3 ) / = L(m 2 , m 4 ), so there is no 4-cycle in the matrix Proof.As shown in Figure 4, if there are 6-cycles in the matrix H 1 , the edges connecting {m 1 , m 3 }, {m 2 , m 4 }, and {m 5 , m 6 } must be in D, E, and F, respectively.Without loss of generality, we assume that L(m 2 , m 4 ) is the longest length among the three lengths.The following formula must be true: In the submatrix D, the lengths L(m 1 , m 3 ), L(m 5 , m 6 ) and L(m 2 , m 4 ) could be 1, 2, . . ., v − 1.In the submatrix E, the length of L(m 1 , m 3 ), L(m 5 , m 6 ), and L(m 2 , m 4 ) could be v, 2v, . . ., (v − 1) × v.In the submatrix F, the lengths L(m 1 , m 3 ), L(m 5 , m 6 ), and L(m 2 , m 4 ) could be v 2 , 2v 2 , . . ., (v − 1) × v 2 .We can know that the edge of L(m 2 , m 4 ) must be in F, or else We know that and Thus there is no 6-cycle in the matrix H 1 , which means H to be free from 6-cycles.
We know that H 2 = H T 1 , so the matrix H 2 is also free of 4-cycles and 6-cycles.Lemma 3. If there is no 4-cycle and 6-cycle in the matrix H 2 , there is no 4-cycle and 6-cycle in the parity-check matrix H.

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 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 [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 • n • m means the proposed code with the code length n and m parity check bits, so do the Mac • n • m and Qc • n • m.
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 sumproduct algorithm [2,3].Figure 6 shows the simulated BER versus signal-to-noise ratio (E b /N 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

Figure 4 4 Figure 3 :
Figure 4 shows that m 1 and m 2 in row a belong to column b and c, respectively, m 3 in column b belongs to row d, m 4 in column c belongs to row e, m 5 in row d and m 6 in row e belong to column f , where m 1 , m 2 , m 3 , m 4 , m 5 , m 6 represent

Figure 5 :
Figure 5: Six kinds of 6-cycles with different figures.

) ( 2 )
Let I 1 = I 1 , I 2 = I 2 , . . ., I p−1 = I p−1 , where I k represents the matrix I with circularly right-shifting k steps.(3)Exchanging the 1s in H 2 by the elements in the matrix set {I, I 1 , I 2 , . . ., I p−1 } randomly and exchanging 0s by null matrices with the same dimension as I, then we get the parity-check matrix H, whose dimension is 3pv 2 × pv 3 .

Table 2 :
Parameters of our codes with high-rate.Proof.If there is a 4-cycle G 4 (m 1 , m 2 , m 3 , m 4 ) in the paritycheck matrix H, from Figure3we can know that m 1 , m 2 , m 3 , and m 4 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 H 2 , there is a 4-cycle in H 2 .However, we know that there is no 4cycle in H 2 , so there is no 4-cycle in the parity-check matrix H. Using the same method, we can know that there is no 6cycle G 6 (m 1 , m 2 , m 3 , m 4 , m 5 , m 6 ) in the parity-check matrix H.