Abstract

Quasi-cyclic (QC) LDPC codes play an important role in 5G communications and have been chosen as the standard codes for 5G enhanced mobile broadband (eMBB) data channel. In this paper, we study the construction of QC LDPC codes based on an arbitrary given expansion factor (or lifting degree). First, we analyze the cycle structure of QC LDPC codes and give the necessary and sufficient condition for the existence of short cycles. Based on the fundamental theorem of arithmetic in number theory, we divide the integer factorization into three cases and present three classes of QC LDPC codes accordingly. Furthermore, a general construction method of QC LDPC codes with girth of at least 6 is proposed. Numerical results show that the constructed QC LDPC codes perform well over the AWGN channel when decoded with the iterative algorithms.

1. Introduction

Low-density parity-check (LDPC) codes [1] are a class of modern channel coding. Because of the advantages of approaching the Shannon capacity and the iterative decoding algorithms with lower complexity, LDPC codes have been attracting great interests of the industries and academia. For various specific communication systems [24], LDPC codes have been well designed and chosen as their standard codes. As an important scenario of 5G communications, the enhanced mobile broadband (eMBB) data channel had adopted the LDPC coding scheme [5], and LDPC codes have recently been determined after several rounds of discussions [612]. However, the other two scenarios of 5G communications, that is, ultrareliable and low latency communications (URLLC) and massive machine-type-communication (mMTC), have no candidate channel coding at present. The promising coding techniques for 5G communication systems are turbo codes, binary/nonbinary LDPC codes, spatially coupled (SC) LDPC codes [13], block Markov superposition transmission (BMST) [14], and polar codes. The encoding/decoding complexity, performance, spectral efficiency, and robustness comparisons among them can be found in [15]. Recently, some low-complexity decoding algorithms of these modern channel codes have been proposed [16, 17]. These significant works can facilitate and accelerate the applications of these modern coding techniques in 5G communications. According to the definition and description of URLLC and mMTC provided by ITU-R [18], these two scenarios require low latency and high reliability. That is, short data package communication which has no visible error floor down to block error rate (BLER) of should be considered. Research results [19] show that LDPC codes have good performance in the waterfall and error-floor region. Moreover, LDPC codes have good robust property [15, 20] and then their good performance can be also obtained over various channels. Hence, LDPC coding still has a strong competitiveness in the applications of URLLC and mMTC.

LDPC codes can be divided into two major classes: random-like codes constructed by means of computer search under the efficient algorithms [21, 22] and structured codes constructed based on algebraic tools, combinatorial structures, and graphs, such as finite geometries [23], finite fields [24], balanced incomplete block designs (BIBDs) [20], resolvable group divisible designs (RGDDs) [25], and protographs [26, 27]. Research results show that well designed algebraic-based LDPC codes have no error floor at the bit error rate (BER) down to [28]. To facilitate implementation, LDPC codes usually have some special structures, such as diagonal structure and quasi-cyclic (QC) structure. In general, quasi-cyclic (QC) LDPC codes [29] have advantages of encoding and decoding with low complexity [30, 31], easy hardware implementation [32], and good iterative performance [33], and then they have attracted comprehensive attention.

In order to support lots of data packets with various lengths in the eMBB scenario of 5G communications, the designed 5G LDPC codes are chosen as rate-compatible (RC) QC LDPC codes. Notice that the number of expansion factors (or lifting degrees) of 5G QC LDPC codes is not much. On the other hand, some encoding algorithms [34] are only suitable for QC LDPC codes with certain expansion factor (or lifting degree). Furthermore, the encoding and decoding of QC LDPC codes with expansion factors (or lifting degrees) being the power of two can be easily implemented by linear shift registers. Hence, it is interesting to construct QC LDPC codes from an arbitrary given expansion factor (or lifting degree).

In this paper, we focus on the construction of QC LDPC codes from given expansion factors (or lifting degrees). We first introduce the fundamental theorem of arithmetic in number theory and divide the integer factorization into three categories. By analyzing the cycle structure of QC LDPC codes, we present three classes of QC LDPC codes based on three families of integers. Furthermore, a general construction of QC LDPC codes with girth of at least 6 based on the fundamental theorem of arithmetic is proposed. Finally, in order to show the good performance of our constructed QC LDPC codes, numerical simulation results are provided.

The rest of this paper is organized as follows. Section 2 introduces the fundamentals of number theory, the definitions, basic concepts, and cycle structure of QC LDPC codes. Section 3 presents three classes of QC LDPC codes and a general construction method. Numerical results are also provided in this section. Finally, Section 4 concludes this paper.

2. Preliminaries

2.1. Fundamentals of Number Theory

Theorem 1. Every composite number, which is greater than one, factors uniquely as a product of prime numbers.

This theorem is the well-known fundamental theorem of arithmetic in number theory, and it had been proved by Gauss and Clarke [36]. This theorem is also called the unique factorization theorem. That is, every integer greater than one is either prime itself or the product of the prime numbers and this product is unique, up to the order of the factors. For example, . This theorem is twofold: first, 1400 can be written as a product of the primes, and second, no matter how this is done, there will always be three 2s, two 5s, one 7, and no other primes in this product. Hence, for a given integer , can be represented by the unique product; that is,where are prime numbers.

The following three lemmas and one theorem are useful for constructing QC LDPC codes with girth of at least 6.

Lemma 2. Let be a prime, and let and be two positive integers. If and are two integers for and , then .

Proof. Since and are two integers with and , then That is, .

Lemma 3. Let and be two different primes, and let and be two positive integers. If and are two integers for and , then .

Proof. Since and are two integers with and , then That is, .

Lemma 4. Let be a positive integer where are different primes and are positive integers. If and with and , then .

Proof. Since and with and , thenThat is, .

Theorem 5. Let be a positive integer. If and are two positive integers and , then .

Proof. Since and are two positive integers and , then That is, .

2.2. QC LDPC Codes and Their Associated Tanner Graphs

A -regular quasi-cyclic (QC) LDPC code [29] of length can be completely specified by the null space of the following matrix over GF:where, for and , is an circulant permutation matrix (CPM) with a one at column- for row-, , and zero elsewhere. It is clear that represents the identity matrix. Notice that the parameter is referred to as the expansion factor (or lifting degree) [37]. It can be easily observed that the positions of nonzero elements in are uniquely determined by the following matrix, called permutation shift matrix or exponent matrix:That is, there is a one-to-one correspondence between and .

An LDPC code is commonly described by a bipartite graph known as Tanner graph [38] in coding theory. Tanner graph of , denoted by , consists of a set of variable nodes (containing code symbols of a code word) and a set of check nodes (containing local check-sum constraints on the code symbols). An edge in connects the variable node to the check node if and only if the element at column- and row- of is nonzero. A cycle is formed by a sequence of vertices (or edges) in which starts and ends at the same vertex (or edge) and contains other vertices (or edges) not more than once. The cycle of length is denoted as -cycle for short and the length of the shortest cycle is called the girth of (or an LDPC code). As an example, Figure 1 shows the Tanner graph of and an associate 6-cycle.

In graph theory, the biadjacency matrix of a bipartite graph can be constructed as follows. The rows of are labeled by the vertices in and the columns are labeled by vertices in . The element at the row labeled by the vertex and the column labeled by the vertex is 1 if and only if there exists an edge between the vertices and and otherwise 0. Actually, for an LDPC code given by the null space of , is the biadjacency matrix of its relevant Tanner graph .

Moreover, isomorphism theory of QC LDPC codes was proposed in [3941] based on the isomorphism of graphs in graph theory. According to the isomorphism of QC LDPC codes, the parity-check matrix in (6) can be simplified as the following matrix:That is, for . Equivalently, its exponent matrix isThat is why the elements in the first row and first column of the exponent matrix are usually set to 0 in the research process [29, 42]. Hence, we only consider such and in the following discussions.

2.3. Cycle Structure of QC LDPC Codes

Consider a QC LDPC code given by the null space of in (8). It can be seen from [29] that a cycle in the Tanner graph of is associated with a family of the ordered CPMs in . As shown in [29], a -cycle in the Tanner graph of the code (or ) is represented by an ordered sequence of CPMs where , and for . The above sequence can be simplified asIt can be seen that such a -cycle corresponds to the elements in the exponent matrix . Furthermore, short cycles of QC LDPC codes can be determined by the elements of [39, 40].

Let be the girth of the code . It can be seen from [43] that, for , the necessary and sufficient condition for the existence of a -cycle in the Tanner graph of the code (or ) can be generalized as follows:with , and . Note that (12) is not the sufficient condition for the existence of a -cycle in the Tanner graph of the code (or ) for , but it is the necessary condition. Here we give a counterexample. Consider a -cycle whose cycle structure is given in Figure 2. Clearly, (12) is satisfied. Let for , and . According to (12), we have where , for . That is, the ordered elements i.e., make (12) hold, but they do not determine a -cycle. A visual representation is depicted in Figure 2. Therefore, in [29] and in [39] are not applicable to the cycles with lengths larger than .

3. Construction of Quasi-Cyclic LDPC Codes with Girth of at Least 6

Based on the aforementioned, there exists a one-to-one correspondence between the exponent matrix and the parity-check matrix of a QC LDPC code. Hence, construction of a QC LDPC code is equivalent to the design of its exponent matrix . In this section, we present three classes of QC LDPC codes with girth of at least 6 and then give a general construction of QC LDPC codes with girth of at least 6 based on an arbitrary integer.

First, we design the exponent matrix in (9) as follows:where for . Second, we replace the 0s and in the designed exponent matrix with CPMs and of the same size , respectively, and then obtain a array of CPMs. This array is a matrix over GF with column and row weights and , respectively. The null space of this matrix gives a -regular QC LDPC code.

Remark 6. As shown in [44], girth and short cycles play an important role in the design of LDPC codes. If the above constructed -regular QC LDPC code does not have good iterative performance, we can replace some CPMs in the above array with zero matrices (ZMs) of the same size to reduce the number of short cycles and possibly enlarge the girth value. This replacement is called masking. On the other hand, if the lengths of the desired QC LDPC codes are shorter than or they require much higher code rates, then we can take a subarray of the designed array , where and . Notice that this subarray can be obtained from the following two steps: Choose the first row-CPMs of the designed array ; select column-CPMs from column-CPMs of the designed array . In this paper, both the masking technique and the selection method in [43] are employed to construct (or further optimize) QC LDPC codes.

3.1. Three Classes of QC LDPC Codes with Girth of at Least 6

Based on (12), we can see that Tanner graph of the designed array contains a 4-cycle if and only if the following equation is satisfied:where and . It can be observed that the existence of 4-cycles in the Tanner graph of the designed array is related to . According to the fundamental theorem of arithmetic, the values of can be divided into three categories and three classes of QC LDPC codes with girth of at least 6 are proposed. Notice that all numerical simulations in the following examples, binary phase shift keying (BPSK), additive white Gaussian noise (AWGN) channel, and the sum-product algorithm (SPA), are assumed.

3.1.1. The Case of

Let , where is a prime and is a positive integer, and let , where are two positive integers and . Consider and . Since , and , then and , where the calculation is taken modulo and modulo , respectively. Hence, (15) is not satisfied according to Lemma 2. That is, Tanner graph of the designed array has no 4-cycles and then the constructed QC LDPC codes have girth of at least 6.

Example 7. Consider . Let and . According to (14), we can obtain the exponent matrix of size . By employing the method in [43], we select the first 4 rows and the 2nd, 16th, 19th, 35th, 50th, 55th, 62nd, and 63rd columns of and construct a array of CPMs by replacing the elements of the selected submatrix with the corresponding CPMs. By using the matrix to mask , a matrix with column and row weights 3 and 6, respectively, is obtained. This matrix gives a -regular QC LDPC code. The bit error rates (BERs) of this code decoded by the SPA (5, 10, 20, and 50 iterations) are shown in Figure 3. Also shown in Figure 3 is the performance of the -regular algebraic QC LDPC code constructed based on finite field GF [35]. This comparable code is constructed from the prime field GF(257) and then the CPM size of its parity-check matrix is . Notice that the exponent matrix and masking matrix of this comparable code are respectively. It can be observed that these two codes have similar performance when decoded using the SPA with various iterations. It is well known that algebraic-based LDPC codes have fast decoding convergence [19, 45, 46]. That is, the SPA decoding of the proposed LDPC code also converges fast, as shown in Figure 3. We can see that the performance gap between 20 and 50 iterations is less than 0.15 dB at the BER of , and the gap is also less than 0.25 dB at the BER of ; hence this code achieves a fast rate of decoding convergence.

3.1.2. The Case of

Let , where are two different prime numbers and are two positive integers. Assume and . Without loss of generality, is assumed. Since , and , then and , where the calculation is taken modulo and modulo , respectively. Hence, (15) is not satisfied according to Lemma 3. That is, Tanner graph of the designed array does not contain 4-cycles and the girth of the constructed QC LDPC codes is at least 6.

Example 8. Consider . Since , let and . According to (14), we can obtain the exponent matrix of size . By employing the method in [43], we select the first 4 rows and the 1st, 2nd, 3rd, 4th, 5th, 6th, 12th, 13th, 15th, 16th, 17th, and 18th columns of and construct a array of CPMs by replacing the elements of the selected submatrix with the corresponding CPMs. By using the matrix to mask , a matrix with column and row weights 3 and 9, respectively, is obtained. This matrix gives a -regular QC LDPC code. The bit/word error rates (BERs/WERs) of this code decoded by the SPA with 50 iterations are shown in Figure 4. Also shown in Figure 4 is the performance of the -regular algebraic QC LDPC code constructed from the finite field GF(73) [35]. The exponent and masking matrices of this algebraic QC LDPC code are respectively. Notice that the CPM size of this algebraic code is . It can be observed that these two codes also have similar performance. Moreover, the cycle distributions of these two codes are given in Table 1. We can see that although the proposed code has fewer shortest cycles than the algebraic QC LDPC code, the proposed code has much more cycles of length 8 than the algebraic QC LDPC code. That is why the proposed code does not perform better than the algebraic QC LDPC code in the high-SNR region.

3.1.3. The Case of

Let , where are different prime numbers and are positive integers. Without loss of generality, we assume , where , and . Consider and . Since , and , then and , where the calculation is taken modulo and modulo , respectively. Hence, (15) is not satisfied according to Lemma 4. That is, Tanner graph of the designed array does not have 4-cycles and the constructed QC LDPC codes have girth of at least 6.

Example 9. Consider . Since , let and . According to (14), we can obtain the exponent matrix of size . By employing the method in [43], we select the first 5 rows and the 1st, 2nd, 3rd, 6th, 7th, 13th, 16th, 17th, 20th, and 21st columns of and construct a array of CPMs by replacing the elements of the selected submatrix with the corresponding CPMs. By using the matrix to mask , a matrix with column and row weights 3 and 6, respectively, is obtained. This matrix gives a -regular QC LDPC code of girth 8. For comparison, we simultaneously present the simulation for the -regular LDPC code constructed based on the progressive edge-growth (PEG) algorithm [22]. The bit/word error rates (BERs/WERs) of these two codes decoded with the SPA (50 iterations) are shown in Figure 5. It can be seen that although these two codes have similar performance in the waterfall region, the proposed code performs better than the PEG-LDPC code in the high-SNR region.

3.2. A General Construction of QC LDPC Codes from an Arbitrary Positive Integer

For a given positive integer , we in general find out two positive integers and such that and . Assume . Consider and , where , and . Since , and , then and , where the calculation is taken modulo and modulo , respectively. Hence, (15) is not satisfied according to Theorem 5. That is, Tanner graph of the designed array does not have 4-cycles and the constructed QC LDPC codes have girth of at least 6.

Example 10. Consider , and let . According to (14), we can obtain the exponent matrix of size . By employing the method in [43], we select the first 4 rows and the 1st, 2nd, 6th, 7th, 22nd, 26th, 29th, and 31st columns of and construct a array of CPMs by replacing the elements of the selected submatrix with the corresponding CPMs. By using the method in [43], we design a masking matrix, that is, to mask , a matrix with column and row weights 3 and 6, respectively, is obtained. This matrix gives a -regular QC LDPC code of girth 8. For comparison, we also construct a -regular QC LDPC code based on the partial geometry [28]. Note that the exponent matrix of this code is and the masking matrix is also in Example 7. The bit/word error performance of these two codes decoded by the SPA with 50 iterations is shown in Figure 6. It can be seen that these two codes have similar performance. We can also observe from Figure 6 that, for the proposed QC LDPC code, there are no error floors in the BER curves down to BER and in the WER curves down to WER .

4. Conclusion

In this paper, based on the fundamental theorem of arithmetic, we presented a method for constructing QC LDPC codes with girth of at least 6 from an arbitrary integer. According to the integer factorization, we divided the integers into three categories and then constructed three classes of QC LDPC codes. Furthermore, a general construction of QC LDPC codes with girth of at least 6 was proposed. Numerical results show that the constructed QC LDPC codes have good performance over the AWGN channel and converge fast under iterative decoding. In other words, for an arbitrary integer (), we can easily construct QC LDPC codes whose parity-check matrices consist of several CPMs and/or zero matrices of size , and the proposed method ensured that the resultant QC LDPC codes have girth of at least 6. Moreover, the proposed QC LDPC codes perform as well as the algebraic QC LDPC codes.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This work was supported in part by the National Natural Science Foundation of China under Grant 61103143, the Joint Funds of the National Natural Science Foundation of China under Grant U1504601, the Key Scientific and Technological Project of Henan under Grants 162102310589, 172102310124, and 182102310867, the Key Scientific Research Projects of Henan Educational Committee under Grant 18B510022, and the School-Based Program of Zhoukou Normal University under Grant ZKNUB2201705.