On Advisability of Designing Short Length QC-LDPC Codes Using Perfect Difference Families

# On Advisability of Designing Short Length QC-LDPC Codes Using Perfect Difference Families

Alireza Tasdighi and Mohammad-Reza Sadeghi A. Tasdighi and M. R. Sadeghi are with the Department of Mathematics & Computer Science, Amirkabir University of Technology, Tehran, Iran (e-mails: a.tasdighi@aut.ac.ir, msadeghi@aut.ac.ir)
###### Abstract

A simple and general definition of quasi cyclic low-density parity-check (QC-LDPC) codes which are constructed based on circulant permutation matrices (CPM) is proposed. As an special case of this definition, we first represent one type of so called combinatorially designed multiple-edge protograph codes. The code construction is mainly based on perfect difference families (PDF’s) and is called Construction 1. Secondly, using the proposed Construction 1 along with a technique named as column dispersion technique (CDT), we design several types of multiple-edge CPM-QC-LDPC codes (codes with Construction 2) in a wide range of rates, lengths, girths and minimum distances. Parameters of some of these codes are reported in tables. Also included in this paper are the multiplicities of short simple cycles of length up to in Tanner graph of our constructed codes. Our experimental results for short to moderate length codes show that although minimum distances of codes play an important role in waterfall region, the higher the number of short simple cycles is, the better (sharper) the waterfall is. The performances of many codes such as WiMAX, PEG, array, MacKay, algebraic and combinatorial, and also, symmetrical codes have compared with our constructed codes. Based on our numerical results and regardless of how a code is constructed, those with higher number of short simple cycles and higher minimum distances, have better waterfalls. As, high number of short simple cycles cause error floor phenomenon, we show that our constructed codes based on applying CDT on PDF’s have a property that we can gradually increase their number of short simple cycles to outperform many of the codes in the literature whilst, preventing them to have very high number of short cycles and thus avoiding undesirable error floors.

QC-LDPC codes, QC-LDPC code construction, Perfect difference families, Girth, Minimum distance, Inevitable cycle, Error floor

## I Introduction

After rediscovery of low-density parity-check (LDPC) codes in the late 1990’s [3], a great deal of research effort has been expended in design and construction of these codes. Among designing all branches of LDPC codes, quasi cyclic (QC) codes have been allocated much more efforts of the researchers. Indeed, due to their capacity-achieving and also their intrinsic property of practically implementable decoding algorithm, QC-LDPC codes have been adopted as the standard codes for various next generations of communication systems [35]. Applications of these codes to storage systems, such as flash memories, have now been seriously investigated [28].

Of famous methods in constructing QC-LDPC codes are, graph-theoretic and protograph-based methods [7, 11, 6, 21, 18, 20, 22, 27, 29, 32], as well as, combinatoric-based and algebraic methods [5, 9, 12, 15, 8, 14, 25, 26, 30]. Recently, designing short to moderate length QC-LDPC codes based on circulant permutation matrices (CPM’s) have found much attraction among the researchers[15, 27, 29, 32, 21, 18, 31]. In almost all of these cited works, they attempt to find shortest possible length of CPM-QC-LDPC codes, given an specific girth and degree distribution. Short to moderate length codes may not approach very closely to the Shannon limits, however, one advantage of designing such codes is lowering the encoding and decoding complexity and so latency.

Another area in investigating QC-LDPC codes is finding their minimum distances[24, 19, 17, 8]. Minimum distance plays a direct and significant role in bit-error-rate (BER) performances of the codes. Simulation results exhibit high minimum distance of a code affects its performance even under sub-optimal belief propagation (BP) decoding algorithms. In fact, given a fixed length, degree distribution and girth of a QC-LDPC code, the higher minimum distance of the code the lower BER curve of the code is. For single-edge protograph codes it has established that the minimum Hamming distance is always upper bounded by [9, 10]. In addition, Smarandache et al. [19] showed that for a multiple-edge CPM-QC-LDPC code of maximum column weight , the maximum reachable minimum distance could be even superior to . However, looking at numerical results reported for minimum distances of single-edge protograph codes in [18, 29, 32], as well as, considering our new experimental results for multiple-edge protograph codes, it seems that, as long as we try to find the shortest possible length of a CPM-QC-LDPC code (given a fixed girth and degree distribution), its minimum distance tends to be decreased.

In this work we put our concentration on investigating other features of CPM-QC-LDPC codes of short to moderate lengths that may improve BER of the codes and thus compensating the lack of low minimum distance of such codes. Roughly speaking, we observed that if multiplicities of short simple cycles in Tanner graph of a code are high enough (approximately higher than the average possible ones, given a fixed length, degree distribution and minimum distance), then, BER curve of the code will be much lower than another code with similar parameters but with considerable smaller number of simple cycles.

To construct short length CPM-QC-LDPC codes with high number of short simple cycles, we took benefits of perfect difference families (PDF’s) and quasi perfect difference families (QPDF’s). We regenerate one previously known of this type of the codes with girth 6, as well as, we introduce a new flexible design of such codes with girth at least 6. Due to the existence of high number of inevitable short cycles in Tanner graph of our constructed codes, we are able to extend the length of our primary constructed code with short length to the moderate length one by increasing , where, is the lifting degree of our primary code. The inevitable short simple cycles will not vanish by increasing , instead, their multiplicities will linearly increase by enlarging . Although minimum distances of our codes are small, due to the high number of their simple cycles, BER performances of these codes outperform their counterparts in the literature. Table III has summarized the details of many of compared codes which are decoded in an Additive White Gaussian Noise (AWGN) channel under Sum-Product (SP) algorithm.

High number of short cycles in Tanner graph of LDPC codes may cause error floor phenomenon in BER curve of the codes. Thanks to our flexible design of CPM-QC-LDPC codes (called Construction 2) that use PDF’s as their shift-values of CPM’s, we show that starting from a primary QC code and without decreasing its girth and minimum distance, it is possible to design a range of QC codes, where, their number of simple cycles could be gradually increased. Our software simulations reveal that with a subtly design of the base matrix of the codes, and simultaneously, by gradually augmentation of their short cycles, it is possible to reach a target BER (down to for short to moderate length codes) without observing error floor and these codes still outperform almost all of their counterpart codes in waterfall region. Figures of some of the simulated codes are added in section IV.

The rest of the paper is organized as follows. Section II presents a primary definition of difference families, theorems to show their existence, definition to CPM based QC-LDPC codes and a general formula for calculating expected values of simple cycles in Tanner graph of a regular code. In section III we first represent one previously known construction of CPM-QC-LDPC codes using PDF’s by name Construction 1. In the following and using Construction 1, we introduce a flexible method for constructing a CPM-QC-LDPC code name Construction 2. Section IV contains all of the experimental results such as examples, tables, figures, and our justification in advantages of using PDF’s in designing short length QC-LDPC codes. Section V concludes the paper.

## Ii Preliminaries

### Ii-a Perfect Difference Families

###### Definition 1.

[13] Let be a group of order . A collection of -subsets of form a difference family (DF) if every non-identity element of occurs times in , where, . The sets are base blocks.

If group in previous definition is considered to be additive group , then -element subsets of , , form a cyclic difference family (CDF) if every non-zero element of occurs times among the differences , . We, hereafter and without loss of generality will work with CDF and refer to it simply by DF. In addition, if , then blocks form a perfect difference family (PDF) over if the differences cover the set . If instead, they cover the set , the difference family is quasi-perfect, where we denote it by QPDF.

Considering references [4, 2, 1, 22, 13] the following two theorems are well-known for the existence of DF and/or PDF:

###### Theorem 1.

The existence of DFs is given as:

• There exists a DF for all .

• A DF exists for all , except for .

• A DF exists for and .

###### Theorem 2.

The existence of PDFs is given as:

• A PDF exists, if and only if, .

• A PDF exists for .

• PDFs are known for but for no other values in .

• There is no PDF for .

Just like [22] and since there are no PDFs for , as well as, no sufficiently many PDFs for from Theorem 2, we put our concentration on investigation of two cases and . Moreover, given , for those cases of ’s that a PDF does not exist, we focus on an existing QPDF, instead. Some of the PDF’s/QPDF’s are provided in section IV (Tables I and II) using Skolem sequences and gracefully labelling prisms technique that are presented in [4, 2, 1]. Interested reader is also referred to [13].

### Ii-B CPM-QC-LDPC Codes And Inevitable Cycles

Let be a binary LDPC code whose parity-check matrix is an array of matrices as follows:

 H=⎡⎢ ⎢ ⎢ ⎢ ⎢ ⎢⎣H00H01⋯H0(n−1)H10H11⋯H1(n−1)⋮⋮⋱⋮H(m−1)0H(m−1)1⋯H(m−1)(n−1)⎤⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦, (1)

where, is either a circulant matrix that each row is a cyclically right shift of the row above it, or, a zero square matrix of size . As there are row blocks in , such an LDPC code is named as -level QC-LDPC code. The bipartite graph which is constructed based on bi-adjacency matrix is the so-called Tanner graph of . Within our context, we assume that each one of the non-zero circulant matrices is a combination (a matrix summation) of some circulant permutation matrices (CPM’s) as follow:

 Hij=Ip1ij+Ip2ij+⋯+Iplij,

where, and for . is a CPM of size which its first row is cyclically right shifts of an identity matrix of size . Let so, such an LDPC code is known as -level Type- CPM-QC-LDPC code and the number is lifting degree of the code. Note that our definition of CPM-QC-LDPC codes covers all types of single-edge protograph codes ([29]) and multiple-edge protograph codes ([20]) that are produced by lifting each edge of their corresponding base graphs.

The matrix corresponds to the following exponent matrix

 P=⎡⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢⎣→P00→P01⋯→P0(n−1)→P10→P11⋯→P1(n−1)⋮⋮⋱⋮→P(m−1)0→P(m−1)1⋯→P(m−1)(n−1)⎤⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦, (2)

where, , corresponding to any non-zero circulant matrices in equation (1), as well as, if is a zero matrix. It is obvious that the parity-check matrix will uniquely be identified if its exponent matrix is known. If , then each is an integer or an infinity symbol where the resulting -level CPM-QC-LDPC code is a single-edge protograph code. If none of the elements in are infinity (i.e., is a fully-connected single-edge protograph code), then, it is well-known [9] that the necessary and sufficient condition for the existence of a cycle of length in the Tanner graph of , corresponding to , is

 k′−1∑i=0(Pmini−Pmini+1)=0modN, (3)

where , , and is the -th entry of . In the case that and contains infinity elements, equation (3) is also reliable in determining a cycle of length where, we just need to ignore those summations that contain even one infinity symbol. Indeed, as each infinity symbol is corresponded to a zero matrix in bi-adjacency matrix , the Tanner graph of has no edge between those vertices that are corresponded to the columns and rows of . Therefore, these type of summations will not result in a cycle of length . In the case , there are some vectors ’s of lengths greater than one. It means that the resulting -level CPM-QC-LDPC code is a multiple-edge protograph code. It has been shown (Lemma 1 in [20]) that with a slight difference, equation (3) is also true for the case of multiple-edge protograph codes. Lemma 1 in [20] provides a graphical representation of the new equation (3) for multiple-edge protograph codes, however, here we need to consider an equivalent version of this lemma, which is:

 k′−1∑i=0(Primini−Pr′imini+1)=0modN, (4)

where , if , if , is the -th entry of and is the -th entry of . Although, equation (4) defines a necessary and sufficient condition for the existence of a cycle of length in the Tanner graph of when is an arbitrary -level Type- CPM-QC-LDPC code, we again need to ignore those summations that contain even one infinity symbol.

Similar to the definition 1 in [20], here we define an inevitable cycle which is needed in our context.

###### Definition 2.

An inevitable cycle of length in Tanner graph of an -level Type- CPM-QC-LDPC code of lifting degree is a cycle that always appear in Tanner graph of the code regardless of how high the lifting degree is. That is the equation (4) is always equal to zero, regardless of the size of .

###### Example 1.

Let , and . Consider the matrix:

 P=⎡⎢⎣(0,1,8)(−∞)(0)(−∞)(−∞)(8,12)(0,4)(−∞)(−∞)(5)(−∞)(4,9,10)⎤⎥⎦,

where, is an exponent matrix for a -regular -level Type- CPM-QC-LDPC code . In this case, below equations I and II of type in equation (4), respectively indicate the existence of inevitable cycles of lengths and in Tanner graph of .

Before terminating this part, we briefly notify some parameters of a linear code . Regardless whether a cycle is inevitable or not, the girth () of a code is given to be the length of shortest cycle in Tanner graph of the code. Also, minimum Hamming distance () of a linear code is the minimum weight of all codewords in , where, weight of each codeword is the number of non-zero elements in a vector representation of that codeword. Dimension () of a linear code is the number of linearly independent codewords in vector space of the code. Finally, in the case where is a CPM-QC-LDPC code of lifting degree with an exponent matrix , the Length () of is equal to .

### Ii-C Expected Number of Simple Cycles in Regular Tanner Graphs

Let be a regular parity-check matrix of a code with column-weight and row-weight . Suppose that the number of columns and the number of rows of are and , respectively. It is shown [23] that the number of simple cycles of length which are included in Tanner graph of have a Poisson’s distribution with expected number:

 (5)

where, is the number of edges of Tanner graph of . Note that in a -regular Tanner graph. Table IV in section IV contains the expected values of simple cycles that they are in Tanner graphs of the investigated codes with different lengths and degree distributions.

## Iii Code Construction

In this section, we represent one type of previously known QC-LDPC code constructed based on DF’s [8] and also PDF’s [22] as a special case of our -level Type- CPM-QC-LDPC codes. However, first we introduce a new simple technique named column dispersion technique (CDT). Using CDT, it is possible to design new ensembles of -level Type- CPM-QC-LDPC codes with girth given a -level Type- CPM-QC-LDPC codes with girth , where, , and .

###### Definition 3.

Let be an arbitrary element of exponent in equation (2) and . -column dispersion (-CD) of partitions all the elements of this vector into pieces of smaller vectors to first, and secondly, put them in a column of size , respectively from down to . Also, partitioning doesn’t necessarily mean a conventional partitioning. Instead, there may be one or more empty sets in this partition, that is, vector(s) with one infinity symbol, only.

###### Example 2.

Let be an arbitrary element of exponent matrix . Below column-blocks and are two different -CD for

 D1=⎡⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢⎣(0)(3,11)(−∞)(17)(4)⎤⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦andD2=⎡⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢⎣(0)(3)(4)(11)(17)⎤⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥⎦.
###### Proposition 1.

Let , and . Suppose that is a exponent matrix of a -level Type- CPM-QC-LDPC code with lifting degree , girth and minimum distance . If for each , -th column of exponent matrix is produced by applying -CDT on , then results in an -level Type- CPM-QC-LDPC code with lifting degree girth and minimum distance , where, and .

###### Proof.

From the definition of column dispersion of entry () it is obvious that by partitioning each one of these vectors into smaller vectors, their maximum length is less than or at most equal to the maximum length of the vectors in . To see that , it is sufficient to show that equation (4) is not equal to zero (module ) for those cycles of Tanner graph of code which have lengths less than . Let . Also, let and be respectively, the and elements () of vectors and , where, and are the and entries of . Then;

 k′−1∑i=0(P∗rimini−P∗r′imini+1)=k′−1∑i=0(P¯ri1ni−P¯r′i1ni+1) (6)

where, and are respectively, the and elements () of vectors and in . Moreover, if () when (), then, (). As the right hand side of equation (6) is always unequal to zero module ( is of girth ), so, the left hand side of this equation is not equal to zero module . To demonstrate that , we first consider the parity check matrices and of type in equation (1) that are respectively lifted based on exponent matrices and given a lifting degree . It is sufficient to show that if the set () forms a set of dependent columns of then the set constitutes a set of dependent columns of where both columns and () are in a similar location, respectively, in and 111By a set of dependent columns we mean that the summation of all columns in that set is equal to an all zero column vector module .. Note that () consists of () row block(s) and () column blocks. Since is constructed by applying -CDT on , shift values in each column of (correspondingly the CPM’s in each column block of ) are exactly the same as those ones in each column (column block) of (). We consider two facts: 1) if two columns and () intersect in a common row in , their corresponding columns and will intersect in a common row as a part of row block in . Note that since the girths of and are greater than or equal to , so, each two different columns of their parity check matrices will intersect in at most one common row. 2) assuming that two columns and () intersect in a common row () of a row block number () of . So, none of these columns intersect in another column in prespecified common row of any row block (). It is because, none of the CPM’s in each column block of are the same. Facts (1) and (2) guarantee that if the summation is equal to a zero vector module then the summation is also equal to a zero vector module . This means that for any set of dependent columns of of cardinality there is a set of dependent columns of of the same cardinality. However, there may be set’s of dependent columns of with smaller cardinality. Thus . ∎

### Iii-a Construction 1

Given a DF with blocks , each of size and let be a exponent matrix, where, entries of vector are exactly those integer numbers in . If is taken to be greater than all of the elements in ’s, then results in a -regular -level Type- CPM-QC-LDPC code of lifting degree and length where its Tanner graph has no inevitable cycle of length [8]. In order to prevent those remaining 4-cycles that are not inevitable (i.e., in order to has a girth ), we have to pick in a way that equation (4) is not equal to zero module when . It is known [22] that if our considered DF is a PDF, then with any lifting degree result in a code of girth at least 6. In addition, from the definition of QPDF it is clear that if we consider a QPDF instead of PDF, then with any lifting degree results in a code of girth at least 6. Note that Construction 1 was first introduced in [8] considering BIBD’s and later in [22], so we leave its prove for the sake of brevity. Also, Construction 1 results in QC-LDPC codes with [8]. Tables I and II in section IV contains many PDF’s (and/or QPDF’s) along with a range of accurate lifting degrees that are used to construct girth -level Type- CPM-QC-LDPC codes, when . Also included in these tables are the minimum distances of such codes for which the lifting degrees are given to be the minimum possible ones.

###### Example 3.

Let be QPDF in Table I where . Based on Construction 1, below exponent matrix: results in a -regular -level Type- CPM-QC-LDPC code with girth , and lifting degree .

### Iii-B Construction 2

Let be the -level Type- CPM-QC-LDPC code of lifting degree , girth and minimum distance constructed based on Construction 1. Subject to the Proposition 1 and considering , it is possible to construct a new -level Type- CPM-QC-LDPC code of lifting degree , girth and minimum distance where, , , and .

###### Example 4.

Let be the exponent matrix in Example 3. Given , and , then, the following matrix

 P2=⎡⎢⎣00000016910111581912141617⎤⎥⎦

which is constructed by applying -CDT (described in Proposition 1) on , is an exponent matrix to a -regular -level Type- CPM-QC-LDPC code with girth at least and minimum distance at least .

###### Remark 1.

Proposition 1 shows that it is possible to preserve or probably improve the girth of the code that is constructed based on CDT without changing its lifting degree . However, based on how we disperse the underlying primary exponent matrix to the desired (second) exponent matrix, there may exist integer numbers smaller than which taking them as accurate lifting degrees for second exponent matrix, result in CPM-QC-LDPC codes with girth at least . For example, using a computer search it is easy to check that exponent matrix in Example 4 with lifting degrees also results in girth codes.

###### Remark 2.

As it was previously expressed, codes constructed with Construction 1 have an upper bound minimum distance equal to where was the column weight of the codes. However, codes constructed by Construction 2 (i.e., by applying Proposition 1 on the codes of Construction 1) may have larger minimum distances. For instance, we found out exponent matrix in Example 4 with lifting degree and results in a code with minimum distance222All the reported (upper bound or exact) minimum distances of simulated codes have been found by MAGMA [33]. equal to and , respectively.

## Iv Numerical and Experimental Results

This section comprises numerical results to PDF’s and QPDF’s when (Tables I and II), our examples in constructing CPM-QC-LDPC codes of various lengths and rates using Constructions 1 and 2, tables to summarize the parameters of all of the simulated codes (Tables III and IV) and several figures of BER performances of some of the simulated codes. Moreover, we put our justifications on advisability of designing CPM-QC-LDPC codes using PDF’s as explanatory notes.

Considering the results in [1, 2, 4, 13] we reproduced many PDF’s and QPDF’s. Tables I and II contain these PDF’s and QPDF’s333For the cases that a PDF doesn’t exist, we consider a QPDF one., respectively for and . Also included in these tables are accurate lifting degrees, dimensions and minimum distances of -level Type- CPM-QC-LDPC codes with girth that are constructed based on the Construction 1 using PDF’s and/or QPDF’s. Note that all of the reported dimensions and minimum distances are calculated for those constructed codes with smallest lifting degrees. Based on the definition of a PDF (QPDF), CPM based QC codes of the form in Construction 1 are of smallest possible lengths when their lifting degrees are taken to be the smallest accurate ones in the tables. Moreover, from [8] we know that codes constructed based on DF’s have an upper bound minimum distance equal to . From the results we see that codes constructed based on PDF’s (QPDF’s) also may have such optimum minimum distances. Based on the theorem 2, there are two exceptions for the existence of a PDF (QPDF) when and . Using a computer search we found the smallest possible integers where they don’t form a DF but lead to a -level Type- CPM-QC-LDPC code with girth for the case . When , we also found a DF. The results for both of these cases are provided in Table II.