#### Abstract

This correspondence presents a construction of quasicyclic (QC) low-density parity-check (LDPC) codes based on a special type of combinatorial designs known as block disjoint difference families (BDDFs). The proposed construction of QC-LDPC codes gives parity-check matrices with column weight three and Tanner graphs having a girth lower-bounded by 6. The proposed QC-LDPC codes provide an excellent performance with iterative decoding over an additive white Gaussian-noise channel. Performance analysis shows that the proposed short and moderate length QC-LDPC codes perform as well as their competitors in the lower signal-to-noise ratio (SNR) region but outperform in the higher SNR region. Also, the codes constructed are quasicyclic in nature, so the encoding can be done with simple shift-register circuits with linear complexity.

#### 1. Introduction

Low-density parity-check codes [1] are of vital importance for many modern communication systems because of their capacity-approaching performance and low-complexity iterative decoding over noisy information channels. LDPC codes were first discovered by Robert Gallager in the early 1960’s and rediscovered by Mackay [2] in 1990’s. LDPC codes provide many advantages over other error correction codes in terms of error performance, low-cost encoding and decoding, and a flexible scale for code length and rate selection. Therefore, LDPC codes have become a focal choice for many advanced communication standards such as Wi-Fi (802.11n/ac/ad), WiMAX (802.16e), and Gigabit Ethernet (802.3an). After several rounds of discussions, LDPC codes have been determined for 5G communications. LDPC codes have been adopted by an important scenario of 5G communications known as enhanced mobile broadband (eMBB). The most promising error correction codes for 5G communications are polar codes, spatially coupled LDPC codes, binary/nonbinary LDPC codes, block Markov superposition transmission (BMST), and turbo codes. Recently, in literature [3, 4], low-complexity decoding algorithms have been presented for LDPC codes. Because of these significant efforts, LDPC codes have been adopted for many next-generation communication systems.

A binary -regular LDPC code is defined by the null space of a parity-check matrix having constant column-weight and constant row-weight . The null space of a parity-check matrix having variable column and/or variable row weights gives an irregular LDPC code. If the parity-check matrix consists of an array circulant permutation matrices of same size over a finite field , the null space of this parity-check matrix gives a QC-LDPC code over [5–7]. An important constraint on parity-check matrix that any two rows or columns of can agree in at most one position, called Row-Column (RC)-constraint. The RC-constraint on parity-check matrix guarantees that the Tanner graph of an LDPC code has no length-4 cycles.

Based on the major construction methods, LDPC codes are categorized into two classes: (1) random-like LDPC codes are designed based on computer search, the most well-known random-like constructions are based on PEG [8] and protograph-based methods [9–11]; (2) structured LDPC codes are constructed based on algebraic techniques such as finite fields [5, 6, 12–20], finite geometries [21, 22], and combinatorial structures [23–32]. The QC-LDPC codes, also known as architecture-aware codes, are one of the most studied LDPC codes because their parity-check matrices have a special structure which facilitates the hardware implementations of an encoder and decoder. Compared to random-like LDPC codes, the QC-LDPC codes have generator matrices which are quasicyclic in nature, so encoding can be done with shift register circuits having linear complexity.

Recently, some researchers have focused on a special class of regular QC-LDPC codes with parity-check matrices composed of an array of circulant permutation matrices and proved that the minimum distance of any -regular QC-LDPC code is lower-bounded by and a girth of at most [33, 34]. In literature [23–32], QC-LDPC codes have been constructed based on the different combinatorial structures. In this correspondence, a construction method for binary QC-LDPC codes based on block disjoint difference families [35, 36] is presented. The proposed construction scheme gives length- cycles free QC-LDPC codes. The proposed QC-LDPC codes constructed for short and moderate length applications provide excellent error-correcting performance with iterative decoding over an channel. Based on numerical testing, the proposed QC-LDPC codes perform as well as their competitors in the lower SNR region but outperform in the higher SNR region. Also, the codes constructed are quasicyclic in nature, so the encoding can be done with simple shift-register circuits with linear complexity.

The remainder of this correspondence is arranged as follows: in Section 2, the basic concepts about design theory and cyclic difference families (CDFs) are given. The existence and construction of block disjoint difference families based on Skolem and Rosa Triple systems are given in Section 3. Section 4 presents the construction of QC-LDPC codes based on BDDFs for . Performance analysis based on numerical results is presented in Section 5, and the conclusion of this correspondence is presented in Section 6.

#### 2. Basic Concepts and Definitions

In this section, we discuss some basic concepts of design theory such as balanced incomplete block design (BIBD), cyclic difference families, and block disjoint difference families.

*Definition 1 (see [37]). *A design is a pair , where is a set of elements called points and is a collection of nonempty subsets of called blocks. Let , k, and be positive integers such that . A -BIBD is a design such that the following properties hold: (i),(ii)each block contains exactly points, and(iii)every pair of points appear in exactly blocks.

*Definition 2 (see [37]). *Let be an additive group. The k-element subsets of , , , , give a cyclic difference family represented as if all nonzero elements appear times among the differences , , , . This -CDF is called a planar CDF if .

In [26–30], -CDFs are used to construct QC-LDPC having a girth lower bounded by . The existences of -CDFs are given in Theorem 3.

Theorem 3. *Under any of the following conditions, a -CDF exists: *(i)*A cyclic difference family exists for all [38].*(ii)*A cyclic difference family exists for all [39].*(iii)*A cyclic difference family exists for and [40].*

In this correspondence, regular QC-LDPC codes of short and moderate lengths are constructed using a special class of cyclic difference families, called block disjoint difference families.

*Definition 4 (see [36]). *If is an additive group, then a family of -tuples of elements from is a -CDF if the collection of blocks of -tuples form a balanced incomplete block design. If this collection of blocks is disjoint, the family is known as a block disjoint difference family.

In next section, we review some constructions of -BDDFs based on Skolem Triple System and Rosa Triple System for and , respectively. Finally, we will use -BDDFs, , to desing lenght- cycles free binary QC-LDPC codes.

#### 3. Block Disjoint Difference Families (BDDFs)

##### 3.1. Construction of (v, 3, 1)-BDDFs for v= 1 mod 6

Based on Skolem Triple System, a class of -CDFs is used to construct -BDDFs for . First, we construct -CDFs based on Skolem Triple Systems, and then a linear translation of -CDFs gives -BDDFs for .

*Definition 5 (see [37]). *A sequence of elements taken from is known as a Skolem sequence of order if(i)every appears exactly twice in , and(ii)if for , then .Skolem sequences can also be represented as collections of ordered pairs with . Skolem sequences of order exist if and only if . Skolem sequences of order are constructed by a method given in [37]. (i)(ii)(iii)(iv)(v)

*Example 6. *We construct a Skolem sequence of order A Skolem sequence of order can be used to generate a Steiner Triple System (STS) of order using following construction:(i)for each , form pairs .(ii)transform each pair into triples , where .(iii)transform each triple into base blocks .(iv)each base block in (iii) is developed by adding under to generate an STS of order .

*Example 7. *We construct an STS(25). First, construct a skolem sequence of order , . From step (i), we obtain the pairs . Based on step (ii), we then convert these pairs into triples . Using transformation in step (iii), we construct the sets . We then add to each of these sets to obtain a STS of size .

From a STS of order , a -CDF can be obtained by letting , for , where ’s denote the base blocks of a -CDF. A construction of -BDDFs using a linear translation of -CDFs based on Skolem Triple System can be found in [35].

Theorem 8 (see [35]). *There exists a block disjoint difference family for .*

*Proof. *Beginning with a -CDF based on a Skolem Triple System of order that does not have disjoint blocks, the idea is to linearly translate the blocks such that no two blocks intersect. This construction requires that . The cases for smaller values of are treated separately.By linear translation of above cyclic difference family, we can obtain the following block disjoint difference family:where , and is defined as For : if for all then ; otherwise . For : if for all then ; otherwise . For : if for all then ; otherwise .Since by linear translation (and one flip) of cyclic difference family based on Skolem Triple Systems a block disjoint difference family is obtained, clearly, the new set of triples is also a difference family with disjoint blocks. The linear translation from cyclic difference family to block disjoint difference family is summarized in Table 1. In the following cases for small values of , : : (0,2,9), (6,10,16), (7,8,19), (12,15,20). : (0,4,19), (2,7,16), (3,9,25), (6,13,23), (8,44,46), (12,20,32), (17,35,37), (21,22,45).It is relatively easy to verify that the triples are all disjoint which complete the proof.

##### 3.2. Construction of (v, 3, 1)-BDDFs for v=3 mod 6

This subsection gives a construction of -BDDFs for . A class of -CDFs based on Rosa Triple Systems is used to construct -BDDFs for . First, we construct -CDFs based on Rosa Triple System, then by a linear translation of -CDFs we obtain -BDDFs for .

*Definition 9 (see [37]). *A sequence of elements taken from is said to be a Rosa sequence of order if all of the following hold: (i)every appears exactly twice in .(ii)if for , then .(iii)a hook or zero is inserted at position .

Rosa sequences can also be expressed as collections of ordered pairs with . Rosa sequences of order exist if and only if . A Rosa sequence of order can be constructed by a method given in [37].(1)(2)(3)(4)

*Example 10. *We construct a Rosa sequence of order 8 Rosa sequences of order can be used to generate Steiner Triple System of order using following construction [37]:(i)for each , form pairs .(ii)Transform each pair into triples , where .(iii)Transform each triple into sets .(iv)each base block in (iii) is developed by adding under .(v)Add triples of the form .(vi)Add 1 to this triple to generate the STS of order .It is important to note that, from step (i) to step (iv), the construction of STS of order is same as the construction of STS of order . But, step (v) and step (vi) are additionally added in the construction of STS of order . Since, the differences between elements of base blocks must exist in the difference set . Each base block of STS of order in step (iii) covers six differences of the difference set. Then, all the base blocks of STS of order cover differences of the difference set . So, there are two differences which are not covered by the base blocks in step (iii). To obtain the two missing differences, from step (v), a short block of the form is added. Finally, from step (vi), the short block is developed by adding of order which gives the missing blocks of STS of order .

*Example 11. *We construct an STS of order . First, construct a Rosa sequence of order , . From step (i), we obtain the pairs . Based on step (ii), we convert these pairs into triples . Using transformation in step (iii), we construct the base blocks . From step (iv), each base block obtained from step (iii) is developed by adding under . If we develop all base blocks in (iii) under 27, we obtain blocks. But, we know however that this is a BIBD and total number of blocks must be equal to . Also, the differences between elements of four base blocks in step (iii) cover differences of the difference set and two differences, , are missing. To obtain the two missing differences, from step (v), a short block of the form is added. Finally, from step (vi), the short block is developed by adding of order which gives the missing blocks of STS of order .

From a STS of order , a -CDF can be constructed by letting , for , where ’s are called the base blocks of a -CDF. Theorem 12 gives the construction of -BDDFs by linear translation of -CDFs based on Rosa Triple System.

Theorem 12 (see [36]). *There exists a block disjoint difference family for .**Beginning with a -CDF based on a Rosa Triple System of order that does not have disjoint blocks, the idea is to linearly translate the blocks such that no two blocks intersect. A detailed construction of -BDDFs based on Rosa Triple System can be found in [36].*

In next section, we construct two classes of binary QC-LDPC codes based on -BDDFs for .

#### 4. BDDFs-Based Construction of QC-LDPC Codes

Consider a parity-check matrix consisting of an array of circulant matrices given as follows:

Based on the block disjoint difference families for given in Sections 3.1 and 3.2, we construct a parity-check matrix where each , , represents a circulant permutation matrix whose each row is obtained from the right cyclic shift of the row above it. The first row of is obtained from one of the -element base blocks of the -BDDFs for . The null space of gives a QC-LDPC code of rate and a girth of at least .

To make the idea more clear, a detailed construction of parity-check matrices based on the -BDDFs is given in Example 13, as follows

*Example 13. *Consider a -BDDF with base blocks , , and for . The base blocks for a -BDDF are

Based on above construction, we can construct a matrix using a -BDDF for :

Theorem 14. *The parity-check matrix based on BDDFs for given in (9) has no length-4 cycles.*

*Proof. *To prove this theorem, we have to prove that ’s, for , of have no length- cycles.

Consider a submatrix given aswhere and , . The submatrix has cycles of length if and only if mod . Due to the property of BDDFs, all the elements of and are distinct. So, both of the differences satisfy the relation that . Therefore, the matrix has no length- cycles and provides a girth of at least .

##### 4.1. A Class of Binary QC-LDPC Codes: Method I

In this subsection, we give a construction of binary QC-LDPC codes based on the BDDFs for . Let be a finite field. For each nonzero element in , , form a -tuple over , , where all the components of are equal to zero except the component . Subscript “” stands for binary. This -tuple over is referred to as the binary location-vector of . The binary location-vector of additive identity of is an all-zero -tuple, .

Let be an element of . The right cyclic-shift of binary location vector of field element gives the binary location vector of field element . If is a primitive element of , then the -tuples of , give a circular permutation matrix over . The matrix is called a -fold binary dispersion of over . If , then the -fold binary dispersion of 0-element is a all-zero matrix over .

Next, replacing each element of given in (9) by its -fold binary matrix dispersion over . We obtain an array over :where is an circular permutation matrix over , for and . Array gives an matrix over . Since the matrix satisfies the RC-constraint, so the null space of gives an LDPC code whose Tanner graph has a girth of at least 6.

For any pair of integers and , for and . Let be a subarray of and give a matrix over . The null space of over gives a binary QC-LDPC code of length with rate at least and minimum distance lower bounded by . Since satisfies the RC-constraint, the Tanner graph of has a girth of at least . For different choices of and , the above construction method gives a class binary QC-LDPC codes for various lengths and rates.

##### 4.2. A Class of Binary QC-LDPC Codes: Method II

In this subsection, we use the concept of incidence matrices to construct QC-LDPC codes based on the -BDDFs. Let be a set of varieties or elements. A design with -subsets of , , called blocks, is known as -BIBD if the following properties hold: (1) each element appears in exactly blocks; (2) each pair of elements appears in exactly blocks; and (3) the block size is small compared to the cardinality of . A -BIBD can also be described by a matrix over defined by the following rule:where matrix is called the incidence matrix. The incidence matrix of a -BIBD satisfies the following properties: (1) each column of contains exactly 1’s; (2) each row of contains exactly 1’s; and (3) two distinct rows of can agree at most positions.

*Example 15. *Let be the following -BIBD: The incidence matrix of this -BIBD is given as follows:It is important to note that each row of is a right cyclic shift of the previous row and the right cyclic shift of last row returns the first row. Also, each column of is a downward cyclic shift of a column on its left. Therefore, is a circulant permutation matrix.

Consequently, for a -BDDF with , the incidence matrix satisfies all the required properties of a parity-check matrix. Therefore, the null space of gives a -LDPC code of length . Also, the incidence matrix satisfies the -constraint with . So, the Tanner graph of has a girth of at least .

Based on -BDDFs for , consider a parity-check matrix consisting of an array of circulant matrices given as follows:where each , , represents a incidence matrix over . Clearly, the matrix satisfies all the required properties of a parity-check matrix. The matrix is a matrix over with row and column weights and , respectively. The null space of gives a binary regular QC-LDPC with minimum distance at least , rate lower bounded by , and a girth of at least .

#### 5. Numerical Results

In this section, the error correction performance of two proposed classes of binary QC-LDPC codes, given in the Sections 4.1 and 4.2, is compared with randomly constructed LDPC codes and QC-LDPC codes obtained from design theoretic techniques. Simulation results are obtained by iterative decoding with maximum number of iterations equal to . Also, Binary-phase-shift-keying transmission is assumed over an channel.

Firstly, suppose we have a -BDDF for and is the code construction field. Choosing and , we construct a subarray of of circular permutation matrices over . Subarray is a matrix with row-weight and column-weight . The null space of gives a binary QC-LDPC code of rate . Assuming transmission over channel, the bit-error rate and block-error rate performance of proposed code decoded with Sum-product algorithm are shown in Figure 1. Also shown in Figure 1 are the error correcting performances of QC-LDPC codes constructed from design theoretic techniques in literature [28, 29] and a QC-LDPC code constructed based on the subsets with distinct differences between the elements [32]. Based on the numerical results, the proposed QC-LDPC codes perform almost the same or better than their competitors in the waterfall region but outperform in the higher SNR region.

Secondly, suppose we have a -BDDF for and is the code construction field. Choosing and , we construct a subarray of of circular permutation matrices over . Subarray is a matrix with row-weight equal to , column-weight . The null space of gives a binary QC-LDPC code of rate . The and performance of this code decoded with is shown in Figure 2. Also shown in Figure 2 are the error correcting performances of a PEG-LDPC code [8], a QC-LDPC code obtained from cyclic difference families [28], and a QC-LDPC code constructed from -designs [31]. Based on the simulation results, the proposed QC-LDPC codes perform as well as their counterparts in the waterfall region but outperform in the higher SNR region.

Finally, suppose we have a -BDDF for mod . For , we have the following parameters: , , , , and . Based on this design, the parity-check matrix consists of an array of circulant matrices over . is a matrix over whose null space gives a binary regular QC-LDPC code with rate and a girth of at least . The and performance of this code decoded with is shown in Figure 3. Also shown in Figure 3 are the error correcting performances of a PEG-LDPC code [8], and a QC-LDPC code constructed based on the subsets with distinct differences between the elements [32] and a QC-LDPC code obtained from cyclic difference families [28]. Based on the simulation results, the proposed QC-LDPC codes perform as well as their counterparts in the waterfall region but outperform in the higher SNR region.

#### 6. Conclusion

In this correspondence, two classes of binary QC-LDPC codes have been constructed based on a special type of combinatorial designs known as block disjoint difference families (BDDFs). Firstly, binary QC-LDPC codes are constructed using binary matrix dispersion of finite field elements based on BDDFs for . Secondly, binary QC-LDPC are constructed based on the incidence matrices obtained from -BDDFs for . The proposed QC-LDPC codes have parity-check matrices with column-weight three and their Tanner graphs provide a girth of at least . Also, the proposed QC-LDPC codes provide an excellent error performance with iterative decoding over an channel. Based on the simulation results, the performance analysis shows that the proposed QC-LDPC codes of short and moderate length perform as well as their competitors in lower SNR region but outperform in the higher SNR region. Also, the codes constructed are quasicyclic in nature, so the encoding can be done with simple shift-register circuits with linear complexity.

#### Data Availability

No data were used to support this study.

#### Disclosure

The current address of Muhammad Asif, Wuyang Zhou, Muhammad Ajmal, and Nauman Ali Khan is No. 96, JinZhai Road Baohe District, Hefei, Anhui, 230026, PR China.

#### Conflicts of Interest

The authors declare that they have no conflicts of interest regarding the publication this work.

#### Authors’ Contributions

Muhammad Asif, Wuyang Zhou, Muhammad Ajmal, Zain ul Abiden Akhtar, and Nauman Ali Khan conceived and designed this research work; Muhammad Asif and Wuyang Zhou participated in construction and performance analysis of this work. Muhammad Ajmal and Zain ul Abiden Akhtar participated in numerical analysis of this work; Muhammad Asif wrote the paper and Nauman Ali Khan technically reviewed the paper.

#### Acknowledgments

This work was partially supported by Natural Science Foundation of China under Grant number: 61461136002, Key Program of National Natural Science Foundation of China under Grant number: 61631018, and Fundamental Research Funds for the Central Universities and Huawei Innovation Research Program. Author Muhammad Asif acknowledges the support of the Chinese Academy of Sciences (CAS) and TWAS for his PhD studies at the University of Science and Technology, China, as a 2016 CAS-TWAS President’s Fellowship Awardee (CAS-TWAS No. 2016-48).