On Advisability of Designing Short Length QCLDPC Codes Using Perfect Difference Families
Abstract
A simple and general definition of quasi cyclic lowdensity paritycheck (QCLDPC) 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 multipleedge 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 multipleedge CPMQCLDPC 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.
I Introduction
After rediscovery of lowdensity paritycheck (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 capacityachieving and also their intrinsic property of practically implementable decoding algorithm, QCLDPC 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 QCLDPC codes are, graphtheoretic and protographbased methods [7, 11, 6, 21, 18, 20, 22, 27, 29, 32], as well as, combinatoricbased and algebraic methods [5, 9, 12, 15, 8, 14, 25, 26, 30]. Recently, designing short to moderate length QCLDPC 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 CPMQCLDPC 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 QCLDPC codes is finding their minimum distances[24, 19, 17, 8]. Minimum distance plays a direct and significant role in biterrorrate (BER) performances of the codes. Simulation results exhibit high minimum distance of a code affects its performance even under suboptimal belief propagation (BP) decoding algorithms. In fact, given a fixed length, degree distribution and girth of a QCLDPC code, the higher minimum distance of the code the lower BER curve of the code is. For singleedge 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 multipleedge CPMQCLDPC 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 singleedge protograph codes in [18, 29, 32], as well as, considering our new experimental results for multipleedge protograph codes, it seems that, as long as we try to find the shortest possible length of a CPMQCLDPC 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 CPMQCLDPC 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 CPMQCLDPC 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 SumProduct (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 CPMQCLDPC codes (called Construction 2) that use PDF’s as their shiftvalues 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 QCLDPC 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 CPMQCLDPC codes using PDF’s by name Construction 1. In the following and using Construction 1, we introduce a flexible method for constructing a CPMQCLDPC 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 QCLDPC codes. Section V concludes the paper.
Ii Preliminaries
Iia Perfect Difference Families
Definition 1.
[13] Let be a group of order . A collection of subsets of form a difference family (DF) if every nonidentity 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 nonzero 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 quasiperfect, where we denote it by QPDF.
Considering references [4, 2, 1, 22, 13] the following two theorems are wellknown 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].
IiB CPMQCLDPC Codes And Inevitable Cycles
Let be a binary LDPC code whose paritycheck matrix is an array of matrices as follows:
(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 QCLDPC code. The bipartite graph which is constructed based on biadjacency matrix is the socalled Tanner graph of . Within our context, we assume that each one of the nonzero circulant matrices is a combination (a matrix summation) of some circulant permutation matrices (CPM’s) as follow:
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 CPMQCLDPC code and the number is lifting degree of the code. Note that our definition of CPMQCLDPC codes covers all types of singleedge protograph codes ([29]) and multipleedge protograph codes ([20]) that are produced by lifting each edge of their corresponding base graphs.
The matrix corresponds to the following exponent matrix
(2) 
where, , corresponding to any nonzero circulant matrices in equation (1), as well as, if is a zero matrix. It is obvious that the paritycheck 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 CPMQCLDPC code is a singleedge protograph code. If none of the elements in are infinity (i.e., is a fullyconnected singleedge protograph code), then, it is wellknown [9] that the necessary and sufficient condition for the existence of a cycle of length in the Tanner graph of , corresponding to , is
(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 biadjacency 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 CPMQCLDPC code is a multipleedge protograph code. It has been shown (Lemma 1 in [20]) that with a slight difference, equation (3) is also true for the case of multipleedge protograph codes. Lemma 1 in [20] provides a graphical representation of the new equation (3) for multipleedge protograph codes, however, here we need to consider an equivalent version of this lemma, which is:
(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 CPMQCLDPC 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 CPMQCLDPC 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:
where, is an exponent matrix for a regular level Type CPMQCLDPC 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 nonzero 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 CPMQCLDPC code of lifting degree with an exponent matrix , the Length () of is equal to .
IiC Expected Number of Simple Cycles in Regular Tanner Graphs
Let be a regular paritycheck matrix of a code with columnweight and rowweight . 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 QCLDPC code constructed based on DF’s [8] and also PDF’s [22] as a special case of our level Type CPMQCLDPC 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 CPMQCLDPC codes with girth given a level Type CPMQCLDPC 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 columnblocks and are two different CD for
Proposition 1.
Let , and . Suppose that is a exponent matrix of a level Type CPMQCLDPC 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 CPMQCLDPC 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;
(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 ^{1}^{1}1By 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 . ∎
Iiia 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 CPMQCLDPC code of lifting degree and length where its Tanner graph has no inevitable cycle of length [8]. In order to prevent those remaining 4cycles 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 QCLDPC 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 CPMQCLDPC 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 CPMQCLDPC code with girth , and lifting degree .
IiiB Construction 2
Let be the level Type CPMQCLDPC 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 CPMQCLDPC code of lifting degree , girth and minimum distance where, , , and .
Example 4.
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 CPMQCLDPC 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 distance^{2}^{2}2All 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 CPMQCLDPC 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 CPMQCLDPC codes using PDF’s as explanatory notes.
Type  Difference Set’s  

QPDF  
QPDF  
QPDF  
QPDF  
QPDF  
Type  Difference Set’s  


None  
DF  
QPDF  
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’s^{3}^{3}3For 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 CPMQCLDPC 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 CPMQCLDPC code with girth for the case . When , we also found a DF. The results for both of these cases are provided in Table II.
SNRBER  SNRFER  
