Abstract
This paper presents a combinatorial construction of low-density parity-check (LDPC) codes from partially balanced incomplete block designs. Since Gallager’s construction of LDPC codes by randomly allocating bits in a sparse parity-check matrix, many researchers have used a variety of more structured combinatorial approaches. Many of these constructions start with the Galois field; however, this limits the choice of parameters of the constructed codes. Here we present a construction of LDPC codes of length \(4n^2 - 2n\) for all n using the cyclic group of order 2n. These codes achieve high information rate (greater than 0.8) for \(n \ge 8\), have girth at least 6 and have minimum distance 6 for n odd. The results provide proof of concept and lay the groundwork for potential high performing codes
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
Since the introduction of low-density parity-check (LDPC) codes by Gallager in 1962 [4], and subsequent reintroduction by McKay and Neal [10, 11] in the 1990s, researchers have expended much effort on the design and construction of these codes. The main attraction of these codes is their ability to achieve rates close to the Shannon limit. The codes originally designed by Gallager were pseudorandom and good LDPC codes were found mainly through computer searches [4, 5]. Such randomly generated codes do not lend themselves to easy encoding due to the lack of structure. In addition, it is hard to determine the minimum distances of these codes.
Since that time there have been many constructions of LDPC codes using a variety of different approaches, such as those constructed from finite geometries by Kou, Lin and Fossorier [7], those with group-structure [15] and those from Ramanujan graphs [14]. Furthermore, starting with Johnson and Weller [8] researchers have looked to combinatorial designs to construct well-structured LDPC codes, with Vasic and Milenkovic [16] using balanced incomplete block designs (BIBDs) and Zhang et al. [19] constructing quasi-cyclic LDPC (QC-LDPC) codes based on Latin squares over finite fields. Most recently Park et al. [12] used hooked Skolem sequences that give the starter blocks of Steiner Triple Systems (STSs) to construct QC-LDPC. One of the main constraints with many of these constructions is they start with a Galois field, which limits the parameters of the constructed codes. For example, Zhang et al.’s [19] construction uses complete sets of mutually orthogonal Latin squares that are only known to exist for orders a power of a prime. In addition, thus far, researchers have found it difficult to analyse the rank of the constructed codes, mainly doing so numerically [2].
In this paper we use partially balanced incomplete block designs arising from difference covering arrays to construct LDPC codes that are more prolific than the combinatorial structures used previously, for example in [16, 19, 20]. The QC-LDPC codes of length \(m = 4n^2 - 2n\) constructed here, using the cyclic group of order 2n, exist for all \(n \in {\mathbb Z}^+\). In the past, to achieve rates over 0.8, codes of length approximately 5000 bits were required. In addition, it has been very difficult to establish the minimum distance of such codes. Here, unlike past combinatorial constructions, we are able to give and fully verify explicit algebraic expressions for the rate of the code as well as the minimum distance of the code. These codes achieve high information rate (\(\ge 0.8\)) for \(n \ge 8\) (code length \( m \ge 240\)) and for n odd, have minimum distance 6. These improved results are directly related to the choice of the underlying combinatorial design. Properties such as constant block size c, constant replication number r, and index \(\lambda \le 1\) ensure the parity check matrix has fixed row and column sum, and that the Tanner graph has cycles of minimum length 6.
Ordered blocks within the design allow us to systematically increase the number of points in the design and hence the number of rows in the parity-check matrix H, while keeping the number of blocks (columns in H) constant. In contrast, in [20], the number of blocks increases when the number of points is increased. Furthermore, the cyclic nature of the designs we use, allows us to prove that, for a particular class of codes, almost all the rows of the parity-check matrix are linearly independent. This gives an exact way of calculating the rank of the parity-check matrices for this particular class of codes. Finally, knowing the exact cyclic structure allows us to get the analytical results.
Thus the techniques developed in this paper advance the theory, providing insights that will allow for more explicit formulations, and hence give larger and more general families than previous results, information that can be capitalised on by future research.
The next section gives the preliminary definitions. The main ingredients for our construction, partially balanced incomplete block designs (PBIBDs) developed from difference covering arrays are defined in the following section. The construction of LDPC codes from PBIBDs is then detailed in Sect. 4. Finally, the conclusion is given in Sect. 5.
2 Background
We start with the preliminary definitions.
A \((m,\gamma , \rho )\)-regular binary LDPC code \(\mathcal{C}\) [4] of block length m is given by the null space of a sparse parity-check matrix H over GF(2) where the row weight (\(\rho \)) and column weight (\(\gamma \)) are both constant.
A quasi-cyclic LDPC code is defined to be an LDPC code in which the parity-check matrix can be written as a \(K \times L\) array of \(z \times z\) circulant matrices \(H_{(i,j)}\), where each circulant \(H_{(i,j)}\) for \(1\le i\le K\), \(1\le j\le L\) is a square matrix with each row a cyclic shift of the previous. Hence \(H_{(i,j)}\) is the zero matrix, a circulant permutation matrix, or the sum of \(1\le \lambda \le z\) disjoint circulant permutation matrices. In this paper, all the submatrices will be circulant permutation matrices. Thus the general structure of the parity-check matrices is
Note that each circulant \(H_{(i,j)}\) is entirely described by the positions of the nonzero elements in its first column.
The distance of the code is taken to be the minimum Hamming distance between any two code words. Since the zero vector is a code word, the distance of the code is equal to the minimum weight over all the nonzero code words. The aim here is to construct codes with \(\rho \) and \(\gamma \) small compared to the code length m, and that satisfy the RC-constraint; that is, the inner product of any two distinct rows or any two distinct columns of the parity-check matrix H is less than or equal to 1 in \(\mathbb {Z}\).
Parity-check matrices are often visualised as Tanner bipartite graphs with vertex set \(B\cup V\) where B is comprised of code bits and V is comprised of parity-check equations. An edge \(\{U,w\}, \; U\in B\) and \(w\in V\), exists in this bipartite graph if and only if U is a term in the check equation w. The RC-constraint on H implies that the Tanner graph of the LDPC code has no cycles of length less than 6, giving a Tanner graph of girth at least 6 [19].
It is known that the incidence matrix of a balanced incomplete block design (BIBD) or partially balanced incomplete block design (PBIBD) can be used to construct a parity-check matrix for an LDPC code, see for example [16]. A \((v,c,\lambda )\) balanced incomplete block design (BIBD) is an ordered pair (V, B), where V is a point set of size v and B is a set of b \(\;\;c\)-subsetsFootnote 1 of V, called blocks, chosen in such a way that each pair of elements of V occurs together in \(\lambda \) blocks. For a BIBD it can be shown that each element of V occurs in \(r=\lambda (v-1)/(c-1)\) blocks with the total number of blocks given by \(b=\lambda (v^2-v)/(c^2-c).\) A BIBD is said to be resolvable if the b blocks can be partitioned into bc/v sets of blocks, called parallel classes, such that every point of V occurs in some block of each parallel class.
In a partially balanced incomplete block design (PBIBD) the value of \(\lambda \) may vary across the pairs of points in V. A PBIBD is said to be resolvable if its b blocks can be partitioned into bc/v parallel classes in such a way that every point of V occurs in one block of the parallel class.
The incidence matrix of a BIBD (PBIBD) (V, B) with blocks \(B=\{B_1,\ldots ,B_b\}\), is a \(v\times b\) matrix \(A=[a_{ij}]\) such that
with rows indexed by points \(i\in V\) and columns indexed by blocks \(B_j\). For more details on the construction of LDPC codes from block designs see [9] or [16]. In this setting, the Tanner graph contains an edge from U to w if point \(w\in V\) occurs in block \(U\in B\). In particular, Vasic and Milenkovic [16] construct parity-check matrices with column sum \(\gamma =c=3\) using the incidence matrix A of cyclic (v, 3, 1) BIBDs. It is known that cyclic (v, 3, 1) BIBDs exist for all \(v\equiv 1\,(\text{ mod } 6)\). However any cyclic (v, 3, 1) BIBD containing a Pasch configuration (a set of 4 blocks of the form \(\{0,y,z\},\{0,u,w\},\{x,y,u\},\{x,z,w\}\)) will have minimum distance 4. Vasic and Milenkovic use three different constructions for Pasch free (v, 3, 1) BIBDs, but these Pasch free designs are for the restricted orders: v is a power of a prime of the form \(v\equiv 1\, (\text{ mod } 6)\) or \(v \equiv 7\,(\text{ mod } 12)\), or \(v = p^n\) where \(p \equiv 7\,(\text{ mod } 12)\). Vasic and Milenkovic [16] suggest that not enough of these designs are known to allow for flexibility in code length and column weight especially for constructing codes with high-rate and/or moderate length. In [16] the rate of the code constructed is defined to be \(R=(b-\mathrm{rank}(A))/b\).
Zhang et al. [19] use Latin squares to construct \((m,\gamma , \rho )\)-regular binary LDPC codes, with information rate at least \((\rho -\gamma )/\rho \). While this construction technique delivers useful LDPC codes, it is restricted by the fact that it uses complete sets of mutually orthogonal Latin squares which are constructed from finite fields of order a power of a prime.
In this paper we use PBIBD obtained from the cyclic group of even order 2n, which are more ubiquitous. This construction gives a QC-LDPC code and has the added advantage that the arithmetic is simplified as it is taken as addition modulo 2n. This simplified setting allows us to provide transparent arguments for the rank of the parity-check matrix and the size of the null space, as well as the distance and rate of the code. Full explicit formulations for the distance and rate of the code have not been possible in earlier constructions. A number of papers, for example, Park et al. [12] admit that it is difficult to analyse the rank of the QC-LDPC codes they propose, others such as Djurdjevic et al. [3] give a lower bound on the rate, while Kamiya [6] gives an expression that indicates change in the coding rate but not an expression for the rate. Thus, our construction is a step forward in providing combinatorial constructions of LDPC codes that are more prolific as well as being more algebraically exact.
3 Difference covering arrays and partially balanced incomplete block designs
The main ingredients of our construction are specific difference covering arrays that can then be used to build PBIBDs. We start with the definition of difference covering arrays.
Let \((G,*)\) be an abelian group with \(|G| = m\). A difference covering array DCA\((k,\eta ;m)\) is an \(\eta \times k\) matrix \(\mathcal{Q}=[q(i,j)]\) with entries from G such that,
-
for all distinct pairs of columns \(0\le j,j^\prime \le k-1\) the difference set \(\Delta _{j,j^\prime }=\{q(i,j)*(q(i,j^\prime ) )^{-1} \mid 0\le i\le \eta -1\}\) contains every element of G at least once.
For the remainder of this paper we take \((G,*)\) to be the cyclic group \(({\mathbb Z}_{2n},*)\) where \(n\ge 2\) and \(*\) is addition modulo 2n. In this case the difference covering array is said to be cyclic. The set \(\Delta _{j,j^\prime }\) is not altered by adding a constant vector over \({\mathbb Z}_{2n}\) to any row or any column. To see this, note that for row i and a constant c, \((c+q(i,j))-(c+q(i,j^\prime ))=q(i,j)-q(i,j^\prime )\) for all \(j\ne j^\prime \). On the other hand, since \(\Delta _{j,j^\prime }=\{q(i,j)-q(i,j^\prime ) \mid 0\le i\le \eta -1\}={\mathbb Z}_{2n}\), for any constant c and columns j and \(j^\prime \), we have \(\{c+q(i,j)-q(i,j^\prime ) \text{ mod } 2n \mid 0\le i\le \eta -1\}={\mathbb Z}_{2n}\). See also [17]. Hence, we may assume that the first row and first column contain only 0. To reduce notation, we delete the first row and only work with arrays \(Q=[q(i,j)]\) with 2n rows that satisfy the following properties:
- P1.:
-
The first column of Q contains only 0 and the remaining columns contain each entry of \({\mathbb Z}_{2n}\) precisely once.
- P2.:
-
For all pairs of distinct columns, \(j, j^\prime >0\), \(\Delta _{j,j^\prime }=\{q(i,j)-q(i,j^\prime ) \text{ mod } 2n\mid 0\le i\le 2n-1\}={\mathbb Z}_{2n}\setminus \{0\}\).
As it is easy to reinstate the row of all zeros, we will abuse the definition and call Q a DCA\(^*(k,2n;2n)\) with rows and columns labelled \(0,\ldots , 2n-1\) and \(0,\ldots , k-1,\) respectively.
Example 1
\(Q_4\) is an example of a cyclic DCA\(^*(3, 4;4)\), whereas \(Q_6\) is a cyclic DCA\(^*(4, 6;6)\), both of which satisfy properties P1 and P2 (both taken from [13]).
Using properties P1 and P2 it can be shown that \(\Delta _{j,j^\prime }=\{1,2,\ldots , n, n,\ldots ,2n-1\}\) for any cyclic DCA\(^*(k,2n;2n)\) and any pair of distinct columns \(j,j^{\prime }>0\), with repetition (of n as listed above) retained (see [1] for a proof).
For results on difference covering arrays see [17, 18], but for general k not a lot is known.
There are a large number of DCA\(^*(3,2n;2n)\) that satisfy P1 and P2 and, with modification, they can be used to construct PBIBDs. The modification requires the removal of a row, \(r_0\), for which the difference \(q(r_0,1)-q(r_0,2)=n\mod 2n\). Note we only remove one such row.
Take a DCA\(^*(3,2n;2n), Q\) and construct \(2n-1\) ordered starter block as follows:
for \( j \in {\mathbb Z}_{2n} \setminus \{r_0\}\). Next these starter blocks are used to generate orbits. If a group G acts on a set X, then the set \(O_x = \{gx \mid g \in G\}, \; x \in X\), is called the orbit of x. Using this definition each of the starter blocks in Eq. 3 can be developed into an orbit. First, take a starter block \(SB_j\) and construct the sets of blocks \(B_{ja}\), for \(0 \le a \le 2n - 1, \; a \in {\mathbb Z}_{2n}\) as follows:
where \((0,\; j,\; q(j,2)) = SB_j\). Then the orbit of j, for \( j \in {\mathbb Z}_{2n}\setminus \{r_0\},\) is given by
Note that the starter block \((0,q(r_0,1),q(r_0,2))\) and the corresponding orbit have been omitted. Finally the blocks of a partial block design are obtained by taking the union of the orbits. Recall that property P2 of the difference covering array implies that for each \(g, g' \in \{0, \ldots , k-1\},\) and \(g\ne g'\) if there exists \(j, j'\in {\mathbb Z}_{2n}\setminus \{r_0\}\) such that \(q(j,g) - q(j, g^\prime ) = q(j^\prime ,g) - q(j^\prime , g^\prime )\), then \(j=j^\prime \). Thus the set
is a set of \( b = 4n^2-2n,\) \(\;\; 3\)-subsets (blocks) of \( V = {\mathbb Z}_{6n}\) with the property that pairs of points \(y,z \in {\mathbb Z}_{6n}\) occur together in \(\lambda _{y,z}\) blocks where
Further each orbit defines a parallel class, that is, the orbits partition the set of blocks, \(\mathcal{B}\), into parallel classes. Hence \(({\mathbb Z}_{6n},\mathcal{B})\) is a PBIBD(6n, 3) with \(\lambda \le 1\) that is resolvable into \(2n-1\) parallel classes.
Example 2
Take \(Q_4\) as set out in Eq. 2 with \(n=2\). For \(j\in {\mathbb Z}_4\setminus \{2\}\), we get the starter blocks \(SB_0,\; SB_1,\) and \(SB_3\), and Orbits \(O_0,\; O_1,\) and \(O_3\):
Taking the union of these orbits we obtain a PBIBD on the point set \(V=\{0,\ldots ,3,4,\ldots ,7,8,\ldots ,11\}\) with the set of blocks \(\mathcal{B}=\cup _{j\in \{0,1,3\}}\;O_j\). Note that each orbit forms a parallel class.
We now follow the work of Vasic and Milenkovic [16] and construct an incidence matrix \(H=[h(i,j)]\) where the columns are indexed by the blocks \(B_{ja}\in \mathcal{B}\) and set
The incidence matrix obtained is quasi-cyclic.
Example 3
The incidence matrix for the PBIBD in Example 2 is
Note that the first column of each circulant matrix \(H_i\) corresponds to the starter block \(B_{i0}\), for \( i = 0,1,3.\)
In the next section, we use DCA\(^*(3,2n;2n)\) and PBIBD interchangeably. In the proofs that follow we use the PBIBD notation preferentially as the proofs are easier with this notation.
4 QC-LDPC codes from DCA\(^*(3,2n;2n)\)
In this section we construct our proposed QC-LDPC codes from PBIBDs constructed in the previous section. We show that, for any given n, the incidence matrix H as defined in Eq. 4 for the PBIBD constructed as in the previous section from a DCA\(^*(k,2n;2n)\) is a \(6n \times (4n^2-2n)\) parity-check matrix of a (\(m,\gamma ,\rho \))-regular binary QC-LDPC code with \(m = 4n^2 - 2n\), \(\rho =2n-1\) and \(\gamma =3\). We prove that this QC-LDPC code has no cycles of length less than 6 in its Tanner graph, and that the rank of the parity-check matrix H is \(R\le 6n-2\). Furthermore, we show that the dimension of the null space of H is greater than or equal to \(4n^2-8n+2\), which gives the rate of the code as greater than or equal to \((4n^2-8n+2)/(4n^2 - 2n)\). For a particular class of DCA\(^*(k,2n;2n)\) that satisfy properties P1 and P2, we then show that the rank is exactly \(6n-2\) and hence the rate is exactly \((4n^2-8n+2)/(4n^2 - 2n)\). Finally we give an algebraic proof for the minimum distance of these codes. We will use an example to illustrate the proof as we go along. Below is an outline of the steps of the proof:
-
1.
We use the property that all pairs of points of the constructed PBIBD occur in at most one block to show that the Tanner graph has girth at least 6.
-
2.
We use the property that each block of the PBIBD contains one point from each of the sets \(V_1=\{0,\ldots , 2n-1\}\), \(V_2=\{2n,\ldots , 4n-1\}\) and \(V_3=\{4n,\ldots , 6n-1\}\) to prove that there are at least two linearly dependent rows and hence the rank is at most \(6n-2\).
-
3.
For a particular class of DCA\(^*(k,2n;2n)\), by taking the entire orbit \(O_0\), along with all but the last block of orbit \(O_1\), together with all but the last three blocks of the orbit \(O_2\) combined with the first two blocks of the orbit \(O_{n+1}\), we get a set of \(6n-2\) linearly independent columns in the parity-check matrix, giving the rank of this matrix as at least \(6n -2\).
-
4.
From steps (2) and (3) the rank of H is exactly \(6n-2\), for these particular DCA\(^*(k,2n;2n)\)
-
5.
Finally, for these DCA\(^*(k,2n;2n)\) we identify specific sets of 6 blocks for n odd (4 for n even) and hence 6 (respectively, 4) columns of the parity-check matrix that are linearly dependent. The sum of these columns is thus zero, and they correspond to a code word of minimum weight establishing the minimum distance for the code.
We start by showing that the girth of the Tanner graph is at least six.
Lemma 1
The LDPC code defined by the parity-check matrix H given by Eq. 4 constructed using any DCA\(^*(k,2n;2n)\) has girth at least 6.
Proof
Since each block of \(\mathcal{B}\) has precisely 3 entries, every column of H sums to \(\gamma =3\). There are \(2n-1\) parallel classes, and each element of V is contained in precisely one block of each parallel class. Thus each row of H will sum to \(\rho =2n-1\). For any pair \(y,z\in V,\) \(\lambda _{y,z}\le 1\); hence, the inner product of any two rows of the incidence matrix is less than or equal to 1. If the inner product of any two columns is greater than or equal to 1, then there exists two blocks of \(\mathcal{B}\) that intersect in two or more elements, but this contradicts the fact that \(\lambda _{y,z}\le 1\) for all \(y,z\in V\). As the Tanner graph is a bipartite graph, it cannot have cycles of odd length. Thus the Tanner graph has no cycles of length less than 6. \(\square \)
Next we show in Lemma 2 that the matrix H as given in Eq. 4 has rank at most \(6n - 2\). Recall that if A is a matrix with m columns then \(\text{ rank }(A)+\text{ nullity }(A)=m.\) Hence we then give, in Proposition 2, a set of \(6n - 2\) columns that are linearly independent. Note that the parity-check matrix consists of 0s and 1s and the rank of the matrix will be calculated over the binary field \({\mathbb Z}_2\).
Lemma 2
The rank of the parity-check matrix H constructed using any \(DCA^*\) (k, 2n; 2n) is at most \(6n - 2\).
Proof
Since the size of H is \(6n\times (4n^2-2n)\), the rank of H is at most 6n.
H is constructed from the blocks of \(\mathcal{B}\), and each block contains exactly one element from each of the sets of points: \(V_1 = \{0,\ldots ,2n-1\}\), \(V_2 = \{2n,\ldots ,4n-1\},\) and \(V_3 = \{4n,\ldots ,6n-1\}\). Thus the sets of rows of H, \(R_{1,2}=\{0,\ldots ,4n-1\}\), \(R_{2,3}=\{2n,\ldots ,6n-1\}\) and \(R_{1,3}=\{0,\ldots ,2n-1,4n,\ldots ,6n-1\}\) (the rows corresponding to the points from any two of the above sets \(V_1, V_2,\) and \(V_3\)) are each linearly dependent since the column sum of H restricted to any of these sets of rows is 2. Hence, there are at least 2 linearly dependent rows in H, which implies there are at most \(6n-2\) linearly independent rows. \(\square \)
Proposition 1
The LDPC code defined by the parity-check matrix H constructed using any DCA\(^*(k,2n;2n)\) has rate at least \((4n^2-8n+2)/(4n^2-2n)\).
Proof
From Lemma 2, the \(\text{ nullity }(H) = b-\text{ rank }(H) \ge 4n^2-8n+2\), where \(b = 4n^2 - 2n\) is the number of blocks in the PBIBD. Thus the rate of the code is at least \( (b-\text{ rank }(H))/b = (4n^2-8n+2)/(4n^2-2n)\). \(\square \)
4.1 LDPC codes from a particular class of DCA\(^*(k,2n;2n)\)
It is known that when \(k=3\) the matrix \(Q=[q(j,g)]\), where
forms a DCA\(^*(3,2n;2n)\) satisfying properties P1 and P2. For the DCA\(^*(3,2n;\) 2n) constructed in Eq. 5, we now show that the rank of H is exactly \(6n-2\). We do this by showing that, in this case, H contains a linearly independent set of columns (blocks) of size \(6n-2\). We give the proof for \(n\ge 6\), though the proof follows similarly for smaller sizes, which can be seen by direct calculation.
We start by taking particular sets of blocks; the blocks corresponding to the entire orbit \(O_0\) (call this set \(C_1\)), all but the last block of orbit \(O_1\) (called set \(C_2\)), all but the last three blocks of the orbit \(O_2\) (called set \(C_3\)), combined with the first two blocks of the orbit \(O_{n+1}\) (called set \(C_4\)).
Thus, let \(\mathcal{I} =C_1\cup C_2 \cup C_3 \cup C_4\) be the set of blocks where
We next look at the number of times each of the elements (points) \(1, 2, \ldots , 6n-1 \) appear in these blocks.
Let \(E=\{x\in B \mid B\in \mathcal{I}\}\). The elements of E have replication number \(r=1, 2, 3, 4\) in the blocks of \(\mathcal{I}\). The following table categorizes the elements of E according to their replication number, for \(n \ge 6\). Note that the replication numbers are only very slightly different for \(n =3, 4,5\).
Replication numbers for \(n \ge 6\) | ||||
---|---|---|---|---|
r | 1 | 2 | 3 | 4 |
\(2n-1,\) | \(2n-3,\) | \(2,\ldots ,2n-4,\) | 0, 1 | |
2n | \(2n-2, 2n+1,\) | \(2n+2,\ldots ,3n,\) | \(3n+1, \) | |
E | \(4n-1, \) | \(3n+3, \ldots , 4n-2,\) | \(3n+2\) | |
\(4n+2, \) | \(4n,4n+1,4n+3,\) | |||
\(4n+4 \) | \(4n+5, \ldots , 6n-1\) |
Example 4
The block sets \(C_1, C_2, C_3\) and \(C_4\) are given for \(n = 6\). The elements of the blocks are arranged in different rows to make it easy to see the repetition in the elements. Each block is read off by reading corresponding cells in groups of rows. For example, block \(B_{0,0} = \mathbf {\{0,12,25\}} \in C_1\) is read from rows 1, 5 and 9 as highlighted in boldface. In the corresponding parity-check matrix H, the block \(B_{0,0} = \mathbf {\{0,12,25\}} \in C_1\) would correspond to the first column, with 1s in rows 0, 12 and 25 and all other entries being 0.
We claim that the set of blocks \(\mathcal{I}\) corresponds to a linearly independent set of columns of H, giving the rank of H as exactly \(6n-2\). We prove this result in Proposition 2 where we show that no subset of \(\,\mathcal{I}\) corresponds to a linearly dependent set of columns.
Proposition 2
The parity-check matrix H, as given by Eq. 4, for the LDPC code constructed from the DCA\(^*(3,2n;2n)\) given by Eq. 5, has rank \(6n - 2\).
Proof
Let \(\mathcal{D}\subset \mathcal{I}\), with D representing the corresponding set of columns in H. We will assume that D is a linearly dependent set and show that this leads to a contradiction. The assumption that D is a linearly dependent set implies that any row y, restricted to the columns of D, contains either 0 or an even number of 1s.
The two blocks \(\{0,\;2n,\;4n+1\}\) and \(\{2n-1,\; 4n-1,\;4n\}\) in \(C_1\) (\(a = 0\) and \(a = n-1\)), respectively, contain the entries \(2n-1\) and 2n with replication number 1 in \(\mathcal{I}\). This precludes these two blocks from being in \(\mathcal{D}\). This immediately results in the block \(\{2n-2,\; 4n-1,\; 4n+1\}\) in \( C_2\) (\(b = 2n-2\)) being excluded from \(\mathcal{D}\) since if not, the point \( 4n - 1\) would have replication number 1 in \(\mathcal{D}\). Likewise \(\{2n-2,\; 2n+ (2n-2),\; 4n + (1 + 2n-2\, \text{ mod } 2n) \}\) of \(C_1\) (\(a = 2n-2\)) also gets excluded from \(\mathcal{D}\).
Proceeding in this manner, we sequentially take the triple of values \(c,\ b,\ a\), for \(c = 2n - 4,\; 2n-5, \ldots , n\); \(b = 2n-3,\; 2n-4, \ldots , n+2\); \(a = 2n-3,\; 2n-4, \ldots , n+2\), and exclude from \(\mathcal{D}\) the corresponding blocks from \(C_3\), \(C_2\) and \(C_1\), respectively.
Thus all the singly occurring elements and the corresponding blocks have been excluded from \(\mathcal{D}\). Hence, if \(\mathcal{D}\) exists, then \(\mathcal{D}\) must be a subset of \(\,\mathcal{I}^\prime = C_1^\prime \cup C_2^\prime \cup C_3^\prime \cup C_4\), where
where \(C_i^\prime \subset C_i\) for \(i = 1, 2, 3\). Let \(E^\prime =\{x\in B \mid B\in \mathcal{I}^\prime \}\). There are no singly occurring elements in \(E^\prime \), and the replication numbers r of the \(x \in E^\prime \) for \(n \ge 6\) are as in the table.
Replication numbers for the elements in \(E^\prime \) for \(n \ge 6\) | |||
---|---|---|---|
r | 2 | 3 | 4 |
\(n, n+1,\) | \(0, 2, 3, \ldots , n - 1,\) | 1, | |
\(E^\prime \) | \(2n + 1, 3n+2,\) | \(2n+2,\ldots , 3n,\) | \(3n+1\) |
\(4n+2, 4n+4, \) | \(4n+3,\) | ||
\(5n+3, 5n+4\) | \(4n+5,\ldots , 5n+2\) |
Noting that the two blocks in \(C_4\) have elements with replication numbers 3 (0 and \(4n+3\)), and 4 (1 and \(3n+ 1\)), we next consider the cases when either one or both or none of the blocks of \(C_4\) are in \(\mathcal{D}\). That is, the following four cases: Case 1), both \(\{0,3n+1,4n+2\},\;\{1,3n+2,4n+3\}\in \mathcal{D}\); Case 2), \(\{0,3n+1,4n+2\}\in \mathcal{D}\) and \(\{1,3n+2,4n+3\}\notin \mathcal{D}\); Case 3), \(\{1,3n+2,4n+3\}\in \mathcal{D}\) and \(\{0,3n+1,4n+2\}\notin \mathcal{D}\); Case 4), \(\{0,3n+1,4n+2\},\;\{1,3n+2,4n+3\}\notin \mathcal{D}\), and show that every case leads to a contradiction.
Case 1: Suppose that both \(\{0,3n+1,4n+2\},\;\{1,3n+2,4n+3\}\in \mathcal{D}\). This assumption implies \(\{1,2n+1,4n+2\},\;\{(0,2n+1,4n+3\}\in \mathcal{D}\). This results in \(\{e,2n+2+e,4n+5+e\},\;\{e+2,2n+2+e,4n+3+e\},\;\{e+1,2n+2+e,4n+4+e\}\notin \mathcal{D}\) consecutively, for \(e=0,\ldots , n-2\).
This leaves only the entries \(\{n-1,3n+1,5n+4\},\;\{n,3n+1,5n+3\},\;\{n+1,3n+1,5n+2\},\;\{n+1,3n+2,5n+4\}\). If \(\mathcal{{D}}\) is to be a dependent set, the block \(\{n+1,3n+2,5n+4\}\) as well as one of the other three blocks must be in \(\mathcal{D}\). But no matter which of the three blocks is chosen it results in one of \(n,\; n-1,\; n+1,\; 5n+ 2,\; 5n+3,\; 5n+4 \in E^\prime \) occurring in a single block in \(\mathcal{D}\), a contradiction.
Case 2: Suppose \(\{0,3n+1,4n+2\}\in \mathcal{D}\) but \(\{1,3n+2,4n+3\}\notin \mathcal{D}\). This implies \(\{1,2n+1,4n+2\},\;\{0,2n+1,4n+3\}\in \mathcal{D}\) and subsequently that \(\{0,2n+2,4n+5\}\notin \mathcal{D}\). Then for \(e=0,\ldots , n-2,\; \{e+2,2n+2+e,4n+3+e\},\;\{e+1,2n+2+e,4n+4+e\}\in \mathcal{D}\) and \(\{e+1,2n+3+e,4n+6+e\}\notin \mathcal{D}\).
This only leaves the blocks \(\{n,3n+1,5n+3\},\; \{n+1,3n+1,5n+2\},\;\{n+1,3n+2,5n+4\}\). Now \( \{n+1,3n+2,5n+4\}\) cannot be in \(\mathcal{D}\) as \(3n+2 \in E^\prime \) would then occur in only one block in \(\mathcal{D}\). To get a matching pair to the block containing \(3n + 1 \text{ in } \mathcal{D}\), we need only one of the other two blocks. But whichever choice we make results in one of \(n,\; n+1,\; 5n+3 \in E^\prime \) occurring in only one block of \(\mathcal{D}\), a contradiction to D being linearly dependent.
Finally reviewing the blocks that are in \(\mathcal{D}\) we see that \(5n+2\in E^\prime \) now occurs in only one block of \(\mathcal{D}\), which is also a contradiction. Hence, D cannot be linearly dependent.
Case 3: Suppose \(\{1,3n+2,4n+3\}\in \mathcal{D}\) but \(\{0,3n+1,4n+2\}\notin \mathcal{D}\). Then \(\{1,2n+1,4n+2\}\notin \mathcal{D}\) and consequently \(\{0,2n+1,4n+3\}\notin \mathcal{D}\) and \(\{0,2n+2,4n+5\}\notin \mathcal{D}\). Then, arguing similarly to case 2, \(\{e+2,\;2n+2+e,\;4n+3+e\},\;\{e+1,\;2n+2+e,\;4n+4+e\}\in \mathcal{D}\) and \(\{e+1,\;2n+3+e,\;4n+6+e\}\notin \mathcal{D}\) for \(e=0,\ldots , n-2\), and the result follows.
Case 4: Suppose that both \(\{0,3n+1,4n+2\},\;\{1,3n+2,4n+3\}\notin \mathcal{D}\). Then it follows that \(\{1,2n+1,4n+2\}\notin \mathcal{D}\) and so \(\{0,2n+1,4n+3\}\notin \mathcal{D}\) and for \(e=0,\ldots , n-2\), this implies \(\{e,\;2n+2+e,\;4n+5+e\},\{e+2,\;2n+2+e,\;4n+3+e\},\{e+1,\;2n+2+e,\;4n+4+e\}\notin \mathcal{D}\), reducing, as in the previous cases, to a contradiction.
Thus the columns of H that correspond to \(\mathcal{I}\) form a linearly independent set of vectors and the rank of H is \(6n - 2\). \(\square \)
Using this information we obtain an algebraic expression for the rate of the code.
Corollary 1
The rate of the LDPC code with parity-check matrix H as given by Eq. 4, for the DCA\(^*(3,2n;2n)\) given by Eq. 5, is \((4n^2-8n+2)/(4n^2-2n)\).
Table 1 lists the rate of the code for \(6 \le n \le 15\) for the DCA\(^*(3,2n;2n)\) given in Eq. 5. The codes constructed here achieve high rate for much shorter lengths than previous LDPC codes obtained by combinatorial constructions.
Finally we show that, when n is odd, the minimum distance of the code is 6, by showing that there exists 6 columns of H that are linearly dependent, but no 5 columns are linearly dependent. From [16, Theorem 3.1] the LDPC code with parity-check matrix H as given in Eq. 4 has minimum distance \(d \le 6\). The next lemma establishes the exact value of d for the given parity-check matrix H.
Lemma 3
The LDPC code with parity-check matrix H as given by Eq. 4, for the DCA\(^*(3,2n;2n)\) given by Eq. 5 has minimum distance 6 when n is odd, and 4 when n is even.
Proof
It is also easy to see that columns of H corresponding to the blocks
sum to zero mod 2 and thus form a linearly dependent set of columns. Hence, there exists a code word of weight 6.
Now assume that there exists a set D of 5 or less linearly dependent columns with the corresponding set of blocks denoted \(\mathcal{D}\). The sum of any row of H restricted to the columns of D must be even, thus D is made up of precisely four linearly dependent columns and, consequently, \(\mathcal{D}=\{\{0,y+2n,q(y,2)+4n\},\{0,z+2n,q(z,2)+4n\},\{c,y+2n,q(z,2)+4n\},\{c,z+2n,q(y,2)+4n\}\}\), \(1\le c\le 2n-1\) and \(y,z\in \{0,1,\ldots , 2n-1\}\).
When n is even the set of columns of H corresponding to the following blocks is a linearly dependent set:
Thus assume that n is odd. The orbit structure of the PBIBD implies the elements of a block of \(\mathcal{D}\) satisfy one of two equations; that is, if \(\{c,y+2n,q(z,2)+4n\}\in \mathcal{D}\), then
The argument is now split into four cases (1), (2), (3) and (4) as set out in Table A, and in each case applying Eq. 6 leads to four subcases (a), (b), (c) and (d) as set out in Table B.
Table A | ||
---|---|---|
Case | q(y, 2) | q(z, 2) |
(1) | \(2y+1\) | \(2z+1\) |
(2) | \(2y+1\) | \(2(z-n)\) |
(3) | \(2(y-n)\) | \(2z+1\) |
(4) | \(2(y-n)\) | \(2(z-n)\) |
Table B | ||
---|---|---|
Subcase | q(z, 2) | q(y, 2) |
(a) | \(2y+1-c\,(\text{ mod }\,2n)\) | \(2z+1-c\,(\text{ mod }\,2n)\) |
(b) | \(2y+1-c\,(\text{ mod }\,2n)\) | \(2(z-n)-c\,(\text{ mod }\,2n)\) |
(c) | \(2(y-n)-c\,(\text{ mod }\,2n)\) | \(2z+1-c\,(\text{ mod }\,2n)\) |
(d) | \(2(y-n)-c\,(\text{ mod }\,2n)\) | \(2(z-n)-c\,(\text{ mod }\,2n)\) |
Without loss of generality we may assume \(0\le y<z<2n-1\). Hence Case (3) becomes redundant.
For Case (1), we have \(q(y,2)=2y+1\) and \(q(z,2)=2z+1\), implying \(0\le y<z\le n-1\). Hence \(0<z-y\le n-1\) and
In Subcase (1a) we equate terms and subtract Eqs. 8 and 9 to obtain Eq. 10:
Hence, \(4(z-y)=2n\) by Eq. 7. This leads to a contradiction, as n is odd. This same argument applies in Subcase (1d).
Using similar arguments in Subcase (1b):
implying \(4(z-y)=2n\alpha +1\) for some \(\alpha \in Z,\) which is a contradiction. This same argument applies in Subcases (1c), (2a), (2d), (4b) and (4c).
Now for Subcase (2b) summing up Eqs. 12 and 13 we have
implying \(c=n\). Hence, \(\{n,y+2n,\;q(z,2)+4n\}\;=\;\{n,y+2n,\;2(z-n)+4n\}\) is a block of \(\mathcal{D}\). We have assumed \(q(y,2)=2y+1\) thus \(0\le y\le n-1\). Now \(y-n \equiv \, y+n\,(\text{ mod } 2n)\) and hence, there exists a column in H corresponding to the block \(\{0,\;y+n+2n,\;2(z-n)-n\,(\text{ mod } 2n)+4n\}\). Then \(q(y+n,2)=2(y+n-n)\equiv \,2(z-n)-n\,(\text{ mod } 2n)\). This implies \(2(y-z)\equiv \, n\, (\text{ mod } 2n)\). Leading to a contradiction, as n is odd.
A similar argument works for Subcase (2c).
For Case (4), we have \(q(y,2)=2(y-n)\) and \(q(z,2)=2(z-n)\) so \(n+1\le y<z\le 2n-1\). Hence \(0<z-y\le n-1\) and we have \(0<4(z-y)<4n\) as in Eq. 7. So Subcases (4a) and (4d) follow as in Subcase (1a). \(\square \)
Thus we have proven the following theorem:
Theorem 1
Let H be the incidence matrix given by Eq. 4 for the DCA\(^*(3,2n;2n)\) given by Eq. 5. Then H is the parity-check matrix of an LDPC code of length \(4n^2 - 2n\), girth at least 6, rate \((4n^2 - 8n + 2)/(4n^2 - 2n)\) and minimum distance \(d = 6\) when n is odd. When n is even, the code has minimum distance \(d =4\).
5 Conclusion
Past constructions of LDPC codes have ranged from random constructions of parity-check matrices at the start to more structured combinatorial constructions including the use of finite geometries. A significant number of authors have constructed QC-LDPC codes using finite fields. A natural step forward is the use of more prolific allied combinatorial structures that have many of the properties of the previously used structures. By using the partially balanced incomplete block designs (PBIBDs) arising from difference covering arrays (DCA) we were able to find an infinite family of QC-LDPC codes that give high information rates at lower code lengths. We showed that these codes have Tanner graphs of girth at least 6 and minimum distance 6 when n is odd. Unlike previous combinatorial constructions we were able to give, explicitly, the rate of the code. All of these properties were established by using the cyclic group \({\mathbb Z}_{2n}\), with the binary operation being addition modulo 2n. In addition, in the past, combinatorial (based on finite fields) QC-LDPC codes have needed to be quite long (\(> 5000\) bits) to get high rates (\(\ge 0.8\)). The codes we obtain achieve rate \(\ge 0.8\) for codes of length \(4n^2 - 2n \ge 240 \), that is, for \(n \ge 8\).
The work covered in this paper provides proof of concept and lays the groundwork for potential high performing codes. Future work would be needed to explore possibilities to improve the minimum distance of these codes as well as constructing codes that have larger column sum.
Data availability
There are no associated data with this manuscript. This is a mathematical paper. No data were gathered, analysed, or used in any manner.
Notes
It is usual for the subset size to be denoted by k, but we use c instead, since in coding theory, k is normally reserved for the dimension of the code.
References
Demirkale, F., Donovan, D., Hall, J., Khodkar, A., Rao, A.: Difference covering arrays and pseudo-orthogonal Latin squares. Graphs Comb. 32(4), 1353–1374 (2016)
Diao, Q., Zhou, W., Lin, S., Abdel-Ghaffar, K.: A transform approach for constructing quasi-cyclic Euclidean geometry LDPC codes. In: Proceedings of the Information Theory and Applications Workshop, pp. 204–211. San Diego, CA (2012)
Djurdjevic, I., Xu, J., Abdel-Ghaffar, K., Lin, S.: A class of low-density parity-check codes constructed based on Reed-Solomon codes with two information symbols. In: International Symposium on Applied Algebra, Algebraic Algorithms, and Error-Correcting Codes, pp. 98–107 (2003)
Gallager, R.G.: Low density parity check codes. IRE Trans. Inf. Theory IT–8, 21–28 (1962)
Gallager, R.G.: Low Density Parity Check Codes. MIT Press, Cambridge (1963)
Kamiya, N.: High-rate quasi-cyclic low-density parity-check codes derived from finite affine planes. IEEE Trans. Inf. Theory 53(4), 1444–1459 (2007)
Kou, Y., Lin, S., Fossorier, M.P.C.: Low-density parity-check codes based on finite geometries: a rediscovery and new results. IEEE Trans. Inf. Theory 47, 2711–2736 (2001)
Johnson, S.J., Weller, S.R.: Regular low-density parity-check codes from combinatorial designs. In: Proceedings of the IEEE Information Theory Workshop, Cairns, Australia, pp. 90–92 (2001)
Mahadevan, A., Morris, J.M.: On RCD SPC codes as LDPC codes based on arrays and their equivalence to some codes constructed from Euclidean geometries and partial BIBDs. Technical Reports No.: CSPL TR:2002-1, Communication Signal Process Labview, CS and EE Department, University of Maryland, USA
MacKay, D.J.C., Neal, R.M.: Near Shannon limit performance of low density parity-check codes. Electron. Lett. 33(6), 457–458 (1997)
MacKay, D.J.C.: Good error-correcting codes based on very sparse matrices. IEEE Trans. Inf. Theory 45(2), 399–432 (1999)
Park, H., Hong, S., No, J.S., Shin, D.J.: Construction of high-rate regular quasi-cyclic LDPC codes based on cyclic difference families. IEEE Trans. Commun. 61(8), 3108–3113 (2013)
Raghavarao, D., Shrikhande, S.S., Shirkhande, M.S.: Incidence matrices and inequalities for combinatorial designs. J. Combin. Des. 10, 17–26 (2002)
Rosenthal, J., Vontobel, P.O.: Construction of LDPC codes using Ramanujan graphs and ideas from Margulis. In: Proceedings of the 2001 IEEE International Symposium Information Theory, Washington, DC, p. 4 (2001)
Tanner, R.M., Sridhara, D., Fuja, T.: A class of group-structured LDPC codes. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.8232
Vasic, B., Milenkovic, O.: Combinatorial constructions of low-density parity-check codes for iterative decoding. IEEE Trans. Inf. Theory 50(6), 1156–1176 (2004)
Yin, J.: Construction of difference covering arrays. J. Comb. Theory Ser. A 104, 327–339 (2003)
Yin, J.: Cyclic difference packing and covering arrays. Des. Codes Crypt. 37, 281–292 (2005)
Zhang, L., Huang, Q., Lin, S., Abdel-Ghaffar, A., Blake, I.F.: Quasi-cyclic LDPC codes: an algebraic construction, rank analysis, and codes on Latin squares. IEEE Trans. Commun. 58(11), 3126–3139 (2010)
Zhang, M., Wang, Z., Huang, Q., Wang, S.: Time-invariant quasi-cyclic spatial couples LDPC codes based on packings. IEEE Trans. Commun. 64(12), 4936–4945 (2016)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Donovan, D., Price, A., Rao, A. et al. High-rate LDPC codes from partially balanced incomplete block designs. J Algebr Comb 55, 259–275 (2022). https://doi.org/10.1007/s10801-021-01111-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10801-021-01111-0