Constructing Grith Eight GC-LDPC Codes Based on the GCD FLRM Matrix with a New Lower Bound

By connecting multiple short, local low-density parity-check (LDPC) codes with a global parity check, the globally coupled (GC) LDPC code can attain high performances with low complexities. The typical design of a local code is a quasi-cyclic (QC) LDPC for which the code length is proportional to the size of circulant permutation matrix (CPM). The greatest common divisor (GCD)-based full-length row multiplier (FLRM) matrix is constrained by a lower bound of CPM size to avoid six length cycles. In this paper, we find a new lower bound for the CPM size and propose an algorithm to determine the minimum CPM size and the corresponding FLRM matrix. Based on the new lower bound, two methods are proposed to construct the GC-QC-LDPC code of grith 8 based on the GCD based FLRM matrix. With the proposed algorithm, the CPM size can be 45% less than that given by sufficient condition of girth 8. Compared with the conventional GC-LDPC construction, the codes constructed with the proposed method have improved performance and are more flexible in code length and code rate design.


Introduction
Channel coding has always been one of the most important underlying technologies in communication systems. Capacity-achieving codes such as turbo codes, low-density paritycheck (LDPC) codes, polar codes, and quantum codes have been proposed together with various near-maximum likelihood(ML)-decoding algorithms such as belief-propagation, listdecoding, guessing random additive noise decoding (GRAND), etc. [1][2][3]. LDPC codes have attracted much attention for its low decoding complexity and excellent performance [4][5][6][7]. The structure of quasi-cyclic (QC) LDPC code is relatively simple, so it is beneficial for hardware implementation. Therefore, QC-LDPC code plays an important role in many communication protocols, including wireless sensor networks [8][9][10]. Since regular LDPC codes have lower error-floor [11] and irregular LDPC codes can be easily obtained by transforming the welldesigned regular codes [12,13], the construction of regular full-ank QC-LDPC codes is a very popular topic [14][15][16][17][18].
The full-length row multiplier (FLRM) matrix is a typical regular matrix used in construction of QC-LDPC codes. The FLRM matrix consists of multiple circulant permutation matrices (CPMs) [15][16][17][18] arranged in J rows and L columns. The exponent matrix of FLRM matrix is derived from the product of row coefficient vector and column indexes. Girth in Tanner graph is one of the most important characters of LDPC codes for it determines the minimum distance of the code. In addition, short cycles will produce trapping sets, stopping sets, and absorption sets, resulting in heavy error-floor and performance degradation [19]. Hence, many scholars devote themselves to improving the girth of the LDPC code [20][21][22]. It has been shown in [17] that the girth of FLRM codes cannot exceed eight, since there exist cycles of length eight regardless of the CPM's size. In [16], the greatest 1.
We find a new lower bound of CPM size P to achieve girth 8 for the GCD-based FLRM matrix and propose an algorithm that can output the minimum P and the corresponding FLRM matrix for the given J, L.

2.
The two new methods for constructing the GC-LDPC code is proposed based on the FLRM matrix with a new lower bound. 3.
We find that the performance of GC-LPDC is more sensitive to the number of six length cycles than the girth.
The finding of this study is particularly meaningful for the code designer for they will have more freedom in choosing P, code length, or code rate. In addition, the simulation results show that the code constructed with proposed method has improved performances than the code constructed with existing methods.
The sections of this paper are organized as follows. In Section 2, we discuss cycles in the FLRM matrix and the new lower bound of CPM's size P. An algorithm is proposed to find the smallest P and the corresponding FLRM matrix for a given (J, L). In Section 3, two code construction methods are proposed for the GC-LDPC code based on the GCD-based FLRM matrix. In Section 4, we show the simulation results, and we conclude our paper in Section 5.

New Lower Bound of CPM Size
The parity check matrix of the QC-LPDC is generated through a CPM of size P and an exponent matrix of size J × L. The elements of the exponent matrix E is the product of the row and column coefficients: where a i , and b i are integers with 0 ≤ a 0 < a 1 < · · · < a J−1 and 0 ≤ b 0 < b 1 < · · · < b L−1 . The row coefficient vector is a = (a 0 , a 1 , · · · , a J−1 ), and the column coefficients vector is b = (b 0 , b 1 , · · · , b L−1 ). The column coefficients vector of the FLMR matrix is b = (0, 1, 2, · · · , L − 1). The maximum girth of FLRM codes is eight [17]. The GCD method [16] is an efficient framework for constructing FLRM codes, attaining girth eight. The girth of GC-LDPC code is essentially the length of the shortest cycle in E. A cycle W = {W 0 , W 1 , ..., W l−1 } in matrix E is a sequence of the elements of E such that [32] where l ∈ {4, 6, 8, · · · } is the length of cycle. A length of four cycles in E forms a 2 × 2 sub-matrix of E. Let E 4 be a 2 × 2 sub-matrix of E, which consists of two distinct rows and two distinct columns of E: where 0 ≤ i < j < J and 0 ≤ x < y < L. E 4 can form a length of four cycles if its elements satisfy (2). This is equivalent to det(E 4 ) = 0(mod P). Hence, the condition for E with no four-length cycle is that all 2 × 2 submatrices of E are non-singular. This condition can be equivalently expressed as follows: for all 0 ≤ i < j < J, and 0 ≤ x < y < L. A length of six cycles lies in a 3 × 3 sub-matrix of E. Consider the following: where 0 ≤ i < j < k < J, 0 ≤ x < y < z < L. A path of length 6 in E 6 satisfying (2) will define a cycle of length 6. Similarly to (4), if we define the following: then any of S 1 , S 2 , · · · , S 6 being zero (module P) indicates the existence of P cycles of length 6. The possible paths of these cycles are illustrated in Figure 1. These cycles can be classified into two types: the 'L' type paths correspond to S 1 , S 2 , S 3 , S 4 , and the 'X' type paths correspond to S 5 , S 6 . Since a i < a j < a k and b x < b y < b z , all S 1 , S 2 , S 3 , S 4 are positive and are upper bounded. A sufficiently large P can guarantee S i (modP) = S i or S i = 0(modP) and, thus, avoid the type 'L' length 6 cycle. Even with infinite P, 'X' type cycles may exist for S 5 , or S 6 may equal to zero. Let n a = a j − a i , m a = a k − a j , n b = b y − b x , and m b = b z − b y . S 5 and S 6 can be rewritten as follows.
For the 'X' type length 6 cycles, the condition S 5 = 0 or S 6 = 0 can be equivalently expressed as the difference ratio as follows.
The condition for the girth 8 FLRM matrix can be derived from the analysis above, and the conclusion is summarized as (Lemmas 1 and 2 of [16]) (n a + m a )/ gcd(n a , m a ) ≥ L, (9a) Equation (9a) is the necessary and sufficient condition for avoiding the type 'X' cycle of length 6. However, (9b) is only a sufficient condition to avoid type 'L' cycle of length 6.
The type 'L' cycle of length 6 exists if and only if any of {S 1 , S 2 , S 3 , S 4 } equals 0(modP). For the sake of simplicity, we use P * min to denote the lower bound in (9b).
However, (9b) is only a sufficient condition for avoiding the length 6 cycle. It is possible that, for some P < P * min , all P < P * min and all S i = 0(modP), i ∈ {1, 2, · · · , 6} for all 3 × 3 submatrices. Thus, the real lower bound is given by the following.
With the new lower bound P † min , we can extend condition (9b) to the sufficient and necessary condition, as stated in the following theorem. Theorem 1. The Tanner graph corresponds to the FLRM matrix E and has no 'L' type cycle of length 6 if and only if the following is the case: We propose the Algorithm 1 shown in the next page to find the minimum. The input of Algorithm 1 is the the size of FLRM matrix. The algorithm starts from constructing an FLRM matrix E using the method stated in [16] and E satisfies (9a). This matrix has no length 6 cycle with S 5 = 0 or S 6 = 0. Then, we calculate path metrics defined in (6) for all 3 × 3 submatrices and record the results in a accumulated vector Sum where the e th element, Sum(e), is the number of length 6 paths for which S i = e for some i ∈ {1, 2, · · · , 6}. An example for Sum is illustrated in Figure 2 with J = 5, L = 20.

20:
if D = 0(mod)e then 21: Candidate = False; break; 22: end if 23: end for 24: end if 25: if Candidate = True then If the Tanner graph has no length 6 cycle under CPM size P, then there will be no path metric such that S i = 0(modP), or S i = rP, for i ∈ {1, 2, · · · , 6} and r ∈ {1, 2, · · · }. This is reflected in Sum as Sum(P) = Sum(2P) = Sum(3P) = · · · = 0. In Algorithm 1, the lines 11∼15 check this condition. Note that if the FLRM matrix contains no length 6 cycle, it does not mean that it contains no length 4 cycle. Thus, in lines 17∼23, we check (4) for all 2 × 2 submatrices. The algorithm searches the indices of Sum in range max{a J−1 , L − 1} ≤ e < P * min . The new lower bound P † min is the minimum index of the zero elements of Sum.
It is possible that the Tanner graph corresponding to the FLRM matrix has only 'X' type cycles or only 'L' type cycles. Combining Theorems 1 and 2, the properties concerning these cases are summarized as the following theorem: Theorem 2. The cycles in the Tanner graph corresponding to FLRM matrix E have the following properties: 1.
If P ≥ P * min and there exists triple (a i , a j , a k ), 0 ≤ i < j < k < J such that (n a + m a )/ gcd(n a , m a ) < L, then all cycles of length 6 are type 'X' cycle.

2.
If P < P * min and (n a + m a )/ gcd((n a , m a ) ≥ L for all triples (a i , a j , a k ), 0 ≤ i < j < k < J, then the number of 6 length cycles equals to Sum(P) × P.
For index e, Sum(e) is the number of length 6 cycles under CPM size P = e. It can be seen from Figure 2 that, as the CPM size increase, the number of length 6 cycles decrease rapidly. Latter in Section IV, we can see that number of length 6 cycles has critical influences on the performance.
Some results on the new lower bound P † min are shown in Tables 1 and 2, where P N denotes the number of valid P below the original lower bound P * min in [16]. From these Tables, it can be seen that the new lower bound is significantly smaller than the original one. In cases J = 5 and L = 13, the new lower bound P † min is about 40% lower than P * min . In the case of J = 6, the reduction is about 45% for most values of L. The reduction ratio becomes even larger when J and L increase.  High-rate LDPC codes require sufficiently large L. The lower bound P * min in [16,18] is roughly in line with L 2 × (J − 1)/2 since a 2i > L × i and a J−1 are very close to a J−2 for even J. The code length N = P × L ≈ L 3 × (J − 1)/2 grows with L 3 . With the new lower bound P † min , the limitation on N can be greatly reduced, which is significant for the construction of high-rate girth-8 QC-LDPC with small FLRM matrix sizes.
Note that when J ≤ 4, we have P * min = P † min for all L. This is because a J−1 − a 0 is small; hence, the summations of the paths are enough to iterate over all available values under (a J−1 − a 0 )(L − 1) + 1.

Construct Girth-8 GC-LDPC with New Lower Bound
In general, the parity check matrix of the GC-LPDC has the following structure: where H i L , i = 0, 1, · · · , t − 1 is the local parity check matrix of ith local codeword, and H G is the global parity check that connects all local codes together. The GC-LDPC codeword can be decoded globally with H gc , or it firstly decodes each local codeword with H i L and then decodes the entire codeword with H G . Figure 3 illustrates the Tanner graph of GC-LDPC code with a general structure. The circle/square symbol indicates the variable/check nodes, respectively. From Figure 3, it can be seen more intuitively that local codes update and exchange information through the global check node.

Review of the Construction of GC-LDPC Code
The GC-LDPC code is generally derived from the well-designed J × L regular matrix with girth six. The designed matrix is then deformed into the GC-LDPC code using displacement, masking, and dispersion.
In [24], the GC-LDPC code is constructed on GF(q), and the matrices are provided by the following: where α is a primitive element over GF(q), β = α e , andq − 1 = pe. Any 2 × 2 submatrix of B 1 and B 2 is non-singular, which guarantees that B 1 and B 2 are free of length 4 cycles. A Reed-Solomon code has been used in [27] to construct the GC-LDPC code on GF(2 s ). Let α be the primitive element of GF(2 s ), 2 s − 1 = c × n, c is the primitive factor of 2 s − 1, and γ = α c . The elements of vector s = (1, γ, γ 2 , ..., γ n−1 ) are the cyclic elements over GF(2 s ) with order n. Since the n's smallest prime factor is p s > d, B RS (d, n) given by the following: and it satisfies the 2 × 2 constraint (4). The construction methods above are based on a matrix satisfying the 2 × 2 constraint, and then we obtain all local codes and global parts using segmentation, masking, and re-organization. The Reed-Solomon-Like construction is proposed in [28] which makes the design of GC-LDPC code more flexible. The local and global codes can be individually designed as follows: where a denotes the scaling factor, and b and d are the numbers of columns and rows of RS(a, b, d).
To avoid the length 4 cycles between global and local parts, the number of rows of local codes and global check should be constrained to d L < b L a L and d G < min{a L }, respectively, where the subscript L and G indicate that the parameter belongs to local codes or global part. With the same set of parameters, the codes derived from above methods have a similar performance. For this reason, only the Reed-Solomon-Like method is used as the comparison scheme since this construction method is more flexible.

GCD-Based GC-LDPC Code
The GC-LDPC can be obtained through the matrices designed above with some operations without changing the property of the cycle. In the following, we will apply the GCD method to construct girth eight GC-LDPC codes.

Construction 1.
We generate the girth 8 FLRM matrix through Algorithm 1 for the code with column weight L. The number of rows, d i L , i ∈ [0, t), and d G is set in accordance to the code rate's requirement. The first d LMax rows of the matrix are split into Finally, E i L is rearranged into diagonal forms, as shown in Figure 4. With Construction 1, the code rate is given by r 1 1 − ∑(d i L )/J. Increasing r 1 requires an increase in J. Since the lower bound of P increases rapidly with the increase in J, the code length N = P min × J will soon become unacceptable. To address this problem, we provide Construction 2 as follows.

Construction 2.
In Construction 2, the FLRM matrix generated via Algorithm 1 is split into two parts, namely E G and E Max L , with size the as 1 × J and (L − 1) × J, respectively. Then, the two sub-matrices are copied t times and interleaved along columns, as shown in Figure 5II. According to the requirements of each sub-matrix, each interleaved copy is cut, and then global and local sub-matrices are obtained as illustrated in Figure 5II. At last, these matrices are rearranged into the form as illustrated in Figure 5III. Figure 5. Illustration of Construction 2.
The rate of this code is r 2 = ∑(d i L )/(t × J). In case d i L = L − 1, the code rate is r 2 = [t(L − 1) + 1]/(t × J). The global part is limited to having a d G = 1 row to ensure that no new cycles occur in the global part.
If necessary, the column cyclic mask can be used in the construction to reduce the column's weight. Let m = (m 0 , ..., m J−1 ) T be the binary cyclic mask vector. The elements of cyclic mask matrix M are given by M i,j = m (i+j+c)(mod J) , i ∈ [0, J), j ∈ [0, L) where c is the randomly selected initial offset. For example, if all local codes have the same size of 5 × 8, the weight of m is M n = 1; then, with the randomly generated m = (0, 0, 1, 0, 0) T and c = 0, the mask matrix is constructed as follows: where the entries with value '1' indicate the positions to be masked in local codes H i L of the same positions.
The focus of the code's construction is to achieve girth 8. For the decoding of LDPC codes, the short cycles will lead to inappropriate messages passing among nodes or error propagation. Moreover, these short cycles can form the local structure of trapping set and stopping set. All these issues will cause performance degradation. Therefore, the LDPC code should be carefully designed to avoid short cycles.

Simulation Results
In this section, we use simulations to verify the proposed GC-LDPC code. All codes in this section were simulated in the AWGN channel with BPSK modulations. The min-sum algorithm with a scaling factor 0.55 is used in decoding, and the maximum iteration number of local/global decoding is 50.
We also use the extrinsic information transfer (EXIT) chart to compare the conventional GC-LDPC code and the proposed codes. The mutual information is given by the following: where σ 2 is the variance of the LLR value.

Comparison of Grith 8 and Grith 6 GC-LDPC Codes
In the following, the proposed code is referred to as code1. We use notation code2, code3, and code4 to denote the baseline codes used for the comparison. The details of these codes are as follows.
code1: The construction of code1 begins with Algorithm 1, which outputs the matrix E of size J × L = 4 × 20 and the minimum CPM size of P = P min = 400. Then, we perform Construction 2 with the number of local matrices as t = 2 and the size of local matrices as 3 × 20. The girth of code1 is 8, the size of the exponential matrix is 7 × 40, the code length is N 1 = 16,000, and the code rate is r 1 = 0.829. The column weight of local matrices is w L = 3, and the column weight of the entire matrix is w w = 4.
code2: This code is constructed with a Reed-Solomon-Like scheme [28]. E comprises three RS(3, 131, 3) local matrices and one RS(1, 393, 1) global matrix. Then, the code was slightly changed to match the parameters with code1. Finally, the size of exponential matrix is 7 × 40, the CPM size as 393, the code length is N 2 = 15,720, and the code rate is r 2 = 0.834.
code3: This code is constructed to observe the relationship between the performance of GC-LDPC code and the number of length 6 cycles. We construct the grith 6 FLRM matrix B with the vector of row indices a = (0, 1, 2, 3) and the vector of column indices b = (0, 1, . . . , 19). The CPM size is P = 400, the size of exponential matrix is 7 × 40, the code rate is r 3 = 0.825, and the code length is N 3 = 16,000. According to Theorem 2 , this code has no length 4 cycle and no 'L' type length 6 cycle. All 3 × 3 sub-matrices involve a large number of length 6 cycles of type 'X'. According to the statistics data obtained in simulation, there is a total of 1.08 × 10 7 length 6 cycles in code3.
code4: The matrix E of code4 is constructed with the GCD method as in code1. The CPM size is P = 393, the code rate is r 4 = 0.825, and the code length is N 4 = 15, 720. This code only has type 'L' length 6 cycles. It was observed from the results of Sum in Algorithm 1 that the code has 3.2 × 10 3 length 6 cycles. Figure 6a compares simulated bit error rate (BER) and frame error rate (FER) performance of code1∼code4. From this figure, we can see that the proposed code1 has the best performance, code4 is in the second position, and code3 is the worst. Note that code1, code3, and code4 are all constructed with the GCD method. The difference mainly lies in the number of length 6 cycles, which is 0, 1.08 × 10 7 , and 3.2 × 10 3 for code1, code3, and code4, respectively. The comparison in Figure 6a indicates that the performance of the GC-LDPC code is seriously affected by the number of length 6 cycles. The reason that code3 has the worst performance is that this code contains more length 6 cycles than other codes. It is worth noting that although the girth of code1 is 8, while the girth of code2 and code3 is 6, the performance of code1 is only slightly improved compared to the other two. The EXIT charts of codes 1, 2, 4 also indicate that the GCD-based GC-LDPC and Reed-Solomn-Like GC-LDPC have nearly the same performance. An interest observation from Figure 6 is that the dominant factor affecting the error rate's performance is the number of length 6 cycles rather than the girth. Therefore, the designer does not have to guarantee girth 8. The more important concern should be the number of length 6 cycles. In other words, it may not be necessary to select a P corresponds to the zero element of Sum in Algorithm 1. A P value for which ∑ r (Sum(P × r)) is relatively small may be sufficient.

GC-LDPC Code with Minimum Size CPM
In this section, we consider some GC-LDPC codes for which GCD-based FLRM matrices are generated with L and a selected from Tables 1 and 2. The code is constructed with Construction 2 mentioned in the last section, and the column cyclic mask is used to mitigate the column's weight.
In this case, we consider two codes, code5 and code6, with parameters listed in Table 3. In the AWGN channel, the best range of column weight is w c = [3,4]. We use the column cyclic mask of M n = 1 to reduce w c to 3. The masked codes are denoted as code5 mask1 and code6 mask1. The code rate of code5 mask1 is r = 0.69, and it is r = 0.729 for code6 mask1. Figure 7 indicates that both the original codes and the masked codes have shown good BER/FER performances without an error floor. Note that code 5 has short lengths but improved performances than code 6. This is because code 5 has a smaller code rate. With a code length as large as code 5, the performance is dominated by the code rate.  In this case, the 6 × 13 FLRM matrix is used to construct code7 with Construction 2. The CPM size is P = 199, the number of the local codes is t = 3, the code length is N = 7761, and the code rate is r = 0.591. The column cyclic mask of weight M n = 1 or 2 is applied, and the masked codes are denoted as code7 mask1 and code7 mask2. The code rate of masked codes are both r = 0.59. The simulated error rate performance is shown in Figure 8. This results indicates that the GC-LPDC codes with different column weight requirements can be obtained using the method of GCD-based FLRM matrices and column cyclic masks, and these codes have good performances without ab error floor.

Conclusions
In this paper, we show that the lower bound of CPM's size can be even lower than what we known from the previous literature. An algorithm is proposed to find the minimum size of CPM for the GCD-based FLRM matrix. Based on this algorithm, two construction methods were proposed to construct girth 8 GC LPDC codes. In addition, we find that the dominant factor that affects the performance is the number of length 6 cycles rather than the girth. With the proposed algorithm, the CPM size can be 45% less than that given by a sufficient condition of girth 8. Compared with the conventional GC-LDPC construction, the codes constructed with the proposed method have better performances and are more flexible in code length and code rate design.