Literature DB >> 36236433

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

Kun Zhu1, Hongwen Yang1.   

Abstract

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.

Entities:  

Keywords:  full-length row multiplier matrix; globally coupled LDPC; greatest common divisor; large girth

Year:  2022        PMID: 36236433      PMCID: PMC9571483          DOI: 10.3390/s22197335

Source DB:  PubMed          Journal:  Sensors (Basel)        ISSN: 1424-8220            Impact factor:   3.847


1. 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 parity-check (LDPC) codes, polar codes, and quantum codes have been proposed together with various near-maximum likelihood(ML)-decoding algorithms such as belief-propagation, list-decoding, 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 well-designed 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 common divisor (GCD) scheme was proposed to construct the grith 8 FLRM matrix. As the general form of CPM, the affine permutation matrices (APMs) can also adopt the GCD scheme to construct LDPC code of girth 8 [23]. Recently, the authors of [18] optimized the row coefficient’s vector to find the lower bound of CPM size for each pair of and further confirmed the validity of the GCD construction method for the FLRM matrix with girth 8. A globally coupled (GC) LDPC code is a new type of coupled LDPC code proposed by Juane Li [24] where multiple short local LDPC codes are connected with a set of global check nodes. As a result, GC-LDPC can effectively realize a long code with multiple short component codes, avoiding the construction of a completely new longer LDPC code [25]. The GC-LDPC code is adept in correcting erasures clustered in bursts and performs greatly under additive white Gaussian noise (AWGN) channels and binary erasure channels (BECs). With local/global two-phase decoding, the decoders of the component LDPC codes are reusable [26]. In [27], the Reed–Solomon code-based construction of GC-LDPC code was proposed. In [26], the array dispersion was applied to scale the GC-LDPC code, which makes the design of the GC-LDPC code more flexible in code-length selection. With the Reed–Solomon-Like construction [28], local codes and global coupling part of GC-LDPC code can be constructed separately. In addition, the protograph-based GC-LDPC code [29] and tail-biting GC-LDPC code [30] perform well. In [26,31], GC-LDPC codes were used for NAND Flash, and the relative independent structure and local/global two-phase decoding can reduce the critical path and decoding latency. Recently, ref. [25] proposed the free-ride coding to realize an implicit GC-LDPC code, and parallel encoding and efficient decoding algorithms were proposed based on the unique structure of the GC-LDPC code. Since the existing GC-LPDC code cannot achieve girth 8, in this paper, we consider the construction of a GC-LDPC code based on the FLRM matrix. The main contributions of this paper are as follows: 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 . The two new methods for constructing the GC-LDPC code is proposed based on the FLRM matrix with a new lower bound. 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 . 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.

2. 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 . The elements of the exponent matrix is the product of the row and column coefficients: where , and are integers with and . The row coefficient vector is , and the column coefficients vector is . The column coefficients vector of the FLMR matrix is . 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 . A cycle in matrix is a sequence of the elements of such that [32] where is the length of cycle. A length of four cycles in forms a sub-matrix of . Let be a sub-matrix of , which consists of two distinct rows and two distinct columns of : where and . can form a length of four cycles if its elements satisfy (2). This is equivalent to . Hence, the condition for with no four-length cycle is that all submatrices of are non-singular. This condition can be equivalently expressed as follows: for all , and . A length of six cycles lies in a sub-matrix of . Consider the following: where . A path of length 6 in satisfying (2) will define a cycle of length 6. Similarly to (4), if we define the following: then any of 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 , and the ‘X’ type paths correspond to .
Figure 1

Possible paths of length 6 cycles corresponding to (6).

Since and , all are positive and are upper bounded. A sufficiently large P can guarantee or  and, thus, avoid the type ’L’ length 6 cycle. Even with infinite P, ’X’ type cycles may exist for , or may equal to zero. Let , , , and . and can be rewritten as follows. For the ’X’ type length 6 cycles, the condition or 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]) 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 equals . For the sake of simplicity, we use 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 , all and all for all submatrices. Thus, the real lower bound is given by the following. With the new lower bound , we can extend condition (9b) to the sufficient and necessary condition, as stated in the following theorem. The Tanner graph corresponds to the FLRM matrix for all triples 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 using the method stated in [16] and satisfies (9a). This matrix has no length 6 cycle with or . Then, we calculate path metrics defined in (6) for all submatrices and record the results in a accumulated vector Sum where the element, , is the number of length 6 paths for which for some . An example for is illustrated in Figure 2 with .
Figure 2

An example for the value of Sum for .

and construct satisfing (9a) as [18]; Initialize for () do For each submatrix, calculate path metric with (6); for () do end for end for for () do Candidate = True for () do if  then Candidate = False; break; end if end for if Candidate = True then for () do For each submatrix, calculate determinant if  then Candidate = False; break; end if end for end if if Candidate = True then ; break; end if end for If the Tanner graph has no length 6 cycle under CPM size P, then there will be no path metric such that , or , for and . This is reflected in as . 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 submatrices. The algorithm searches the indices of in range . The new lower bound 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: The cycles in the Tanner graph corresponding to FLRM matrix If If For index e, is the number of length 6 cycles under CPM size . 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 are shown in Table 1 and Table 2, where denotes the number of valid P below the original lower bound in [16]. From these Tables, it can be seen that the new lower bound is significantly smaller than the original one. In cases and , the new lower bound is about lower than . In the case of , the reduction is about for most values of L. The reduction ratio becomes even larger when J and L increase.
Table 1

(5, L) girth-eight FLRM code with minimum CPM size.

L a0a1a2a3a4 Pmin* Lower Bound in [18]Pmin New Lower BoundPN Number of P Below Pmin*
5 0,1,5,11,12 49490
6 0,1,8,9,14 71631
7 0,2,7,11,16 97675
8 0,1,8,11,18 1271114
9 0,2,9,13,20 1611039
10 0,1,10,11,23 2081438
11 0,1,11,18,23 2311658
12 0,1,14,15,26 28722110
13 0,2,13,17,28 33719921
14 0,1,14,17,30 39128519
15 0,1,17,18,32 44936816
16 0,1,16,23,33 49640715
17 0,1,17,22,35 56135721
18 0,1,18,23,37 63052921
19 0,1,19,32,39 70359521
20 0,1,20,23,42 79952541
Table 2

(6, L) girth-eight FLRM code with minimum CPM size.

L a0a1a2a3a4a5 Pmin* Lower Bound in [18]Pmin New Lower BoundPN Number of P Below Pmin*
6 0,2,7,11,16,18 91637
7 0,2,7,11,16,18 108678
8 0,1,8,11,18,19 1341340
9 0,2,9,13,20,22 17610313
10 0,1,10,11,23,24 2172170
11 0,1,11,14,24,25 2512510
12 0,2,13,17,28,30 33119924
13 0,2,13,17,28,30 36119926
14 0,1,14,17,30,31 4043151
15 0,2,15,19,32,34 47725934
16 0,5,16,23,34,39 58635749
17 0,1,17,22,38,39 6253994
18 0,1,18,23,40,41 6985016
19 0,2,19,23,40,42 75740353
20 0,1,20,23,42,43 8186931
High-rate LDPC codes require sufficiently large L. The lower bound in [16,18] is roughly in line with since and are very close to for even J. The code length grows with . With the new lower bound , 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 , we have for all L. This is because is small; hence, the summations of the paths are enough to iterate over all available values under .

3. Construct Girth-8 GC-LDPC with New Lower Bound

In general, the parity check matrix of the GC-LPDC has the following structure: where is the local parity check matrix of ith local codeword, and is the global parity check that connects all local codes together. The GC-LDPC codeword can be decoded globally with , or it firstly decodes each local codeword with and then decodes the entire codeword with . 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.
Figure 3

GC-LDPC’s Tanner graph.

3.1. Review of the Construction of GC-LDPC Code

The GC-LDPC code is generally derived from the well-designed 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, , and . Any submatrix of and is non-singular, which guarantees that and are free of length 4 cycles. A Reed–Solomon code has been used in [27] to construct the GC-LDPC code on GF(). Let be the primitive element of GF(), , c is the primitive factor of , and . The elements of vector are the cyclic elements over GF with order n. Since the n’s smallest prime factor is , given by the following: and it satisfies the constraint (4). The construction methods above are based on a matrix satisfying the 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 . 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 and , 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.

3.2. 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. We generate the girth 8 FLRM matrix through Algorithm 1 for the code with column weight L. The number of rows, . With Construction 1, the code rate is given by . Increasing requires an increase in J. Since the lower bound of P increases rapidly with the increase in J, the code length will soon become unacceptable. To address this problem, we provide Construction 2 as follows. In Construction 2, the FLRM matrix generated via Algorithm 1 is split into two parts, namelyand, with size the asand, respectively. Then, the two sub-matrices are copied t times and interleaved along columns, as shown in . The rate of this code is . In case , the code rate is . The global part is limited to having a 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 be the binary cyclic mask vector. The elements of cyclic mask matrix are given by where c is the randomly selected initial offset. For example, if all local codes have the same size of , the weight of is ; then, with the randomly generated and , the mask matrix is constructed as follows: where the entries with value ’1’ indicate the positions to be masked in local codes 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.

4. 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 is the variance of the LLR value.

4.1. 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 of size and the minimum CPM size of . Then, we perform Construction 2 with the number of local matrices as and the size of local matrices as . The girth of code1 is 8, the size of the exponential matrix is , the code length is 16,000, and the code rate is . The column weight of local matrices is , and the column weight of the entire matrix is . code2: This code is constructed with a Reed–Solomon-Like scheme [28]. E comprises three RS() local matrices and one RS() global matrix. Then, the code was slightly changed to match the parameters with code1. Finally, the size of exponential matrix is , the CPM size as 393, the code length is 15,720, and the code rate is . 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 with the vector of row indices and the vector of column indices . The CPM size is , the size of exponential matrix is , the code rate is , and the code length is 16,000. According to Theorem 2, this code has no length 4 cycle and no ’L’ type length 6 cycle. All 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 length 6 cycles in code3. code4: The matrix of code4 is constructed with the GCD method as in code1. The CPM size is , the code rate is , and the code length is . This code only has type ’L’ length 6 cycles. It was observed from the results of Sum in Algorithm 1 that the code has 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, , and 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 is relatively small may be sufficient.
Figure 6

Comparison of the GC-LDPC codes with different numbers of 6-cycles. (a) BER/FER performances. (b) EXIT chart.

4.2. 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 selected from Table 1 and Table 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.
Table 3

The parameters of code 5 and 6.

J×L P N r t
code5 5×14 28511,970 0.692 3
code6 5×16 40719,536 0.731 3
In the AWGN channel, the best range of column weight is . We use the column cyclic mask of to reduce to 3. The masked codes are denoted as code5 mask1 and code6 mask1. The code rate of code5 mask1 is , and it is 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.
Figure 7

Performance of code5, code6, code5 mask1, and code6 mask1 for . (a) BER. (b) FER.

In this case, the FLRM matrix is used to construct code7 with Construction 2. The CPM size is , the number of the local codes is , the code length is , and the code rate is . The column cyclic mask of weight or 2 is applied, and the masked codes are denoted as code7 mask1 and code7 mask2. The code rate of masked codes are both . 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.
Figure 8

Performance of code7, code7 mask1, and code7-mask2 for . (a) BER. (b) FER.

5. 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.
  2 in total

1.  Design and Analysis of Non-Binary LDPC-CPM System for Hybrid Check Matrix Construction Algorithm of WSN.

Authors:  Jiahui Meng; Danfeng Zhao; Liang Zhang
Journal:  Sensors (Basel)       Date:  2018-07-25       Impact factor: 3.576

2.  Constructing LDPC Codes with Any Desired Girth.

Authors:  Chaohui Gao; Sen Liu; Dong Jiang; Lijun Chen
Journal:  Sensors (Basel)       Date:  2021-03-12       Impact factor: 3.576

  2 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.