ArticlePDF Available

Algebraic Quasi-Cyclic LDPC Codes: Construction, Low Error-Floor, Large Girth and a Reduced-Complexity Decoding Scheme

Authors:

Abstract and Figures

This paper presents a simple and very flexible method for constructing quasi-cyclic (QC) low density parity-check (LDPC) codes based on finite fields. The code construction is based on two arbitrary subsets of elements from a given field. Some well known constructions of QC-LDPC codes based on finite fields and combinatorial designs are special cases of the proposed construction. The proposed construction in conjunction with a technique, known as masking, results in codes whose Tanner graphs have girth 8 or larger. Experimental results show that codes constructed using the proposed construction perform well and have low error-floors. Also presented in the paper is a reduced-complexity iterative decoding scheme for QC-LDPC codes based on the section-wise cyclic structure of their parity-check matrices. The proposed decoding scheme is an improvement of an earlier proposed reduced-complexity iterative decoding scheme.
Content may be subject to copyright.
2626 IEEE TRA NSA CTI ON S ON COM MUN ICATION S, VOL. 62, NO. 8, AUGUST 2014
Algebraic Quasi-Cyclic LDPC Codes:
Construction, Low Error-Floor, Large
Girth and a Reduced-Complexity
Decoding Scheme
Juane Li, Student Member, IEEE,KekeLiu,Student Member, IEEE, Shu Lin, Life Fellow, IEEE,and
Khaled Abdel-Ghaffar, Senior Member, IEEE
Abstract—This paper presents a simple and very flexible
method for constructing quasi-cyclic (QC) low density parity-
check (LDPC) codes based on finite fields. The code construction
is based on two arbitrary subsets of elements from a given field.
Some well known constructions of QC-LDPC codes based on
finite fields and combinatorial designs are special cases of the
proposed construction. The proposed construction in conjunction
with a technique, known as masking, results in codes whose Tanner
graphs have girth 8 or larger. Experimental results show that codes
constructed using the proposed construction perform well and
have low error-floors. Also presented in the paper is a reduced-
complexity iterative decoding scheme for QC-LDPC codes based
on the section-wise cyclic structure of their parity-check matrices.
The proposed decoding scheme is an improvement of an earlier
proposed reduced-complexity iterative decoding scheme.
Index Terms—Binary codes, channel coding, parity-check
codes, iterative coding.
I. INTRODUCTION
LOW DENSITY parity-check (LDPC) codes, discovered
by Gallager in 1962 [1], are currently the most promis-
ing coding technique for error control in communication and
data storage systems due to their capacity-approaching per-
formances and practically implementable decoding algorithms.
Since their rediscovery in the late 1990’s [2], [3], a great deal
of research effort has been expended in design, analysis, con-
struction, decoding, generalizations and applications of these
codes. Many LDPC codes have been adopted as the standard
codes for various next generations of communication systems.
Applications of these codes to storage systems, such as flash
memories, have now been seriously investigated and evaluated.
Aq-ary LDPC code with symbols from a finite field GF(q)
where qis a power of a prime is referred to as a q-ary LDPC
Manuscript received January 30, 2014; revised May 12, 2014; accepted
July 6, 2014. Date of publication July 15, 2014; date of current version
August 20, 2014. This work was supported in part by the NSF under Grant
CCF-1015548 and in part by gift grants from Northrop Grumman Corporation,
LSI Corporation and SanDisk. The editor coordinating the review of this paper
and approving it for publication was L. Dolecek.
The authors are with the Department of Electrical and Computer Engi-
neering, University of California, Davis, CA 95616 USA (e-mail: jueli@
ucdavis.edu; kkeliu@ucdavis.edu; shulin@ucdavis.edu; ghaffar@ucdavis.edu).
Color versions of one or more of the figures in this paper are available online
at http://ieeexplore.ieee.org.
Digital Object Identifier 10.1109/TCOMM.2014.2339329
code. A q-ary LDPC code is given by the null space of a sparse
parity-check matrix Hover GF(q). If the parity-check matrix H
ofaq-ary LDPC code is an array of sparse circulant matrices
ofthesamesizeoverGF(q), then the LDPC code over GF(q)is
called a q-ary quasi-cyclic (QC) LDPC code [4]–[7]. An LDPC
code whose parity-check matrix has constant column weight
γand constant row weight ρis said to be regular and called
a(γ,ρ)-regular LDPC code. An LDPC code whose parity-
check matrix has multiple column and/or multiple row weights
is called an irregular LDPC code [7].
Major methods for constructing LDPC codes can be di-
vided into two general categories, graph-theoretic-based and
algebraic-based methods. Most well known graph-theoretic-
based construction methods are PEG (progressive edge growth)
[8] and protograph-based methods [9]–[12]. Algebraic con-
structions of LDPC codes are mainly based on finite fields,
finite geometries, and combinatorial designs [4], [5], [13]–
[22]. These algebraic constructions mostly result in QC-LDPC
codes.
QC-LDPC codes have advantages over other types of LDPC
codes in hardware implementations of encoding and decoding.
Encoding of a QC-LDPC code can be efficiently implemented
using simple shift registers [23]. In hardware implementation
of a QC-LDPC decoder, the quasi-cyclic structure of the code
simplifies the wire routing for message passing [24]. In a recent
paper [25], we devised a reduced-complexity iterative decoding
scheme, called the revolving iterative decoding (RID) scheme,
which significantly reduces the hardware implementation com-
plexity of a QC-LDPC decoder in terms of the number of
message processing units and the number of wires required
to connect the message processing units with very little, if
any, noticeable performance degradation. Furthermore, well
designed QC-LDPC codes perform as well as any other types
of LDPC codes in the waterfall region. All these advantages
inevitably will make QC-LDPC codes the mainstream LDPC
codes for future applications in communication and storage
systems.
This paper is concerned with algebraic construction and
reduced-complexity decoding of binary QC-LDPC codes
whose parity-check matrices are arrays of circulant permuta-
tion matrices (CPMs). In code construction, we present a simple
and very flexible method for constructing QC-LDPC codes
0090-6778 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
LI et al.: ALGEBRAIC QUASI-CYCLIC LDPC CODES 2627
based on finite fields. The code construction is based on two
arbitrary subsets of elements from a given finite field. We
will show that some well known algebraic constructions of
QC-LDPC codes based on finite fields and combinatorial de-
signs are special cases of the proposed construction. The pro-
posed construction in conjunction with a technique, known as
masking [16], results in codes whose Tanner graphs [26] have
girth (the length of the smallest cycle) 8 or larger. Experimental
results show that the codes constructed using the proposed
method perform well and have low error-floors [28]. In decod-
ing of a QC-LDPC code, we propose an improvement of the
reduced-complexity decoding scheme devised in [25].
The rest of the paper is organized as follows. Section II
presents a general matrix-theoretic method for constructing
QC-LDPC codes based on finite fields. Section III gives a spe-
cific method for constructing a QC-LDPC code based on two
arbitrary subsets of a finite field. Section IV presents QC-LDPC
codes whose Tanner graphs have girth 8 or larger. In Section V,
we propose an improvement of the reduced-complexity iterative
decoding scheme devised in [25]. Section VI concludes the
paper with some remarks.
II. A MAT R I X -THEORETIC CONSTRUCTION
OF QC-LDPC CODES
A. Construction by Matrix-Dispersion
Let GF(q)be a field with qelements where qis a prime or
a power of a prime. Let αbe a primitive element of GF(q).
Then, the powers of α,α−∞ Δ
=0,α0=1,α1
2,...,α
q2,
give all the qelements of GF(q)and αq1=α0=1.LetA
bea(q1) ×(q1) CPM with the zero and unit elements
of GF(q)as entries. We label both rows and columns of A
from 0 to q2. A CPM is uniquely specified by the location of
the unique 1-component in its top row (or the 0-th row). There
are exactly q1distinct CPMs of size (q1) ×(q1).For
0j<q1, we represent the nonzero element αjof GF(q)
bya(q1) ×(q1) CPM, denoted by A(αj), for which the
single 1-component of its top row is at the location j.This
matrix representation is referred to as the (q1)-fold CPM-
dispersion of the field element αj[17], [18]. Since there are
q1nonzero elements in GF(q)and there are exactly q1
different CPMs over GF(2) of size (q1) ×(q1), there
is a one-to-one correspondence between a nonzero element
of GF(q)and a CPM of size (q1) ×(q1). Therefore,
each nonzero element of GF(q)is uniquely represented by a
CPM of size (q1) ×(q1). For the zero element of GF(q),
its matrix-dispersion is defined as the (q1) ×(q1) zero
matrix (ZM), denoted by A(α−∞).
For 1m,nq,letB=[bi,j ]0i<m,0j<n be an m×n
matrix over GF(q).Weformanm×narray Hof CPMs
and/or ZMs from Bby replacing the (i, j)-th entry bi,j in B
by the (q1) ×(q1) CPM A(αli,j )if bi,j =αli,j where
0li,j <q1, and by the (q1) ×(q1) ZM A(α−∞)
if bi,j =0.Hconsists of mrow-blocks of CPMs and/or ZMs
and ncolumn-blocks of CPMs and/or ZMs. It is an m(q1) ×
n(q1) matrix over GF(2), which can be considered to be
sparse for q7. The null space of Hgives a binary QC-LDPC
code Cof length n(q1). Such a QC-LDPC code Cis called
a CPM-QC-LDPC code hereafter. The parity-check array H
is called the matrix-dispersion of B, and Bis called the base
matrix of the CPM-QC-LDPC code C.
The above construction of a CPM-QC-LDPC code Creduces
to the construction of the base matrix B. The error performance
of an LDPC code with iterative decoding is determined by a
number of structural properties of its parity-check matrix H.
One such property is the girth of the Tanner graph Gassociated
with the parity-check matrix H. A girth 6 or 8 is generally re-
quired to ensure good error performance if H(or its associated
Tanner graph) has other good structural properties, such as no
small harmful trapping sets [27], [28]. For a CPM-QC-LDPC
code constructed by dispersing a base matrix B, the girth of the
Tanner graph of the code is related to the choice of the base
matrix B. The following two theorems give the necessary and
sufficient conditions on Bfor the Tanner graph of a CPM-QC-
LDPC code to have girth at least 6 and 8, which are Corollaries 1
and 2 (with rewording) of Theorem 4 proved in [29].
Theorem 1: Let Bbe the base matrix of a CPM-QC-LDPC
code Cwhose parity-check matrix His the CPM-dispersion of
B. A necessary and sufficient condition for the Tanner graph G
of Cto have girth at least 6 is that every 2 ×2 submatrix in the
base matrix Bcontains at least one zero entry or is nonsingular.
Theorem 2: A necessary and sufficient condition for the
Tanner graph Gof a CPM-QC-LDPC code Cwith base matrix
Bto have girth at least 8 is that no 2 ×2or3×3 submatrix
in the base matrix Bhas two identical nonzero terms in its
determinant expansion.
For convenience, we refer to the condition on 2 ×2 subma-
trices in the base matrix Bgiven by Theorem 1 as the 2 ×2
SM-constraint, and the condition on 3 ×3 submatrices in the
base matrix Bgiven by Theorem 2 as the 3 ×3SM-constraint.
Theorems 1 and 2 will be used for checking the girth of the
Tanner graphs of the CPM-QC-LDPC codes constructed in later
sections.
If the base matrix Bsatisfies Theorem 1 but not Theorem 2,
then the Tanner graph Gof the CPM-QC-LDPC code Ccon-
structed based on Bhas girth 6, i.e., it contains cycles of
length 6 but not shorter. The number of cycles of length 6 can
be enumerated from the number of 3 ×3 submatrices of B
which do not satisfy the 3 ×3 SM-constraint. Let τbe the
number of pairs of terms in the determinant expansion of a 3 ×
3 submatrix, denoted by B(3,3),ofBsuch that each pair
consists of identical nonzero terms. Let H(3,3) be the CPM-
dispersion of B(3,3). Then, the Tanner graph Gassociated
with H(3,3) is a subgraph of the Tanner graph Gof C.It
follows from the proof of Theorem 4 in [29] that the subgraph
Gof Gcontains τ(q1) cycles of length 6. Consequently,
by enumerating the number of 3 ×3 submatrices in Bwhich
do not satisfy the 3 ×3 SM-constraint and determining τfor
each of these 3 ×3 submatrices, we can compute the number
of cycles of length 6 in the Tanner graph Gof C.
B. Masking
Suppose we replace a nonzero entry in Bby the zero element
of GF(q). In the CPM-dispersion Hof B, this replacement
2628 IEEE TRA NSA CTI ON S ON COM MUN ICATION S, VOL. 62, NO. 8, AUGUST 2014
results in replacing a (q1) ×(q1) CPM in Hby a (q
1) ×(q1) ZM which is referred to as masking [16]. Let λbe
a nonnegative integer less than the number of nonzero entries
in B. The replacement of λnonzero entries in Bby λzeros
amounts to replacing λCPMs by λZMs at the locations in H
corresponding to the locations of the λnonzero entries in B
which are replaced by zeros. Masking λCPMs in Hamounts
to removing λ(q1) edges from the Tanner graph Gassociated
with the parity-check array H. Removing these edges from
Gmay break many short cycles in G. Therefore, the resultant
Tanner graph, denoted by Gmask, may have a much smaller
number of short cycles, or a larger girth, or both. The subscript
mask” stands for “masking”.
The operation of masking the base matrix B=
[bi,j ]0i<m,0j<n can be modeled mathematically as a
Hadamard matrix product [30]. Let Z(m, n)=[zi,j ]0i<m,0j<n
be an m×nmatrix with the zero and unit elements of GF(q)as
entries. Define the following product of Z(m, n)and B:
Bmask =Z(m, n)B=[zi,j bi,j ]0i<m,0j<n where zi,j bi,j =
bi,j if zi,j =1 and zi,j bi,j =0 if zi,j =0. In this matrix product,
some nonzero entries in Bat the locations corresponding to the
locations of zero entries in Z(m, n)are masked by zeros. The
(q1)-fold CPM-dispersion of Bmask gives an m×nmasked
array Hmask of CPMs and ZMs of size (q1) ×(q1).We
call Z(m, n)and Bmask the masking matrix and the masked
base matrix, respectively. The null space of Hmask also gives
a CPM-QC-LDPC code, denoted by Cmask.
CPM-dispersions of properly chosen base matrices in con-
junction with masking can result in CPM-QC-LDPC codes with
good error performances as will be shown in later sections. The
concept of masking was first introduced in [16] and later was
used in several algebraic methods to construct LDPC codes for
improving their error performances [17]–[21], [31].
III. CPM- QC-LDPC C ODES ON TWO ARBITRARY
SUBSETS OF A FIELD
A. Basic Code Construction
Let αbe a primitive element of GF(q).For1m,nq,let
S1={αi0
i1,...,α
im1}and S2={αj0
j1,...,α
jn1}
be two arbitrary subsets of elements in GF(q)with ikand
jlin LΔ
={−∞,0,1,2,...,q2},i0<i
1<···<i
m1and
j0<j
1<···<j
n1.Letηbe a nonzero element in GF(q).
We form the following m×nmatrix over GF(q):
B(η)=ηαik+αjl0k<m,0l<n .(1)
From (1), we can easily see or prove that the matrix B(η)has
the following structural properties: 1) all the entries in a row (or
a column) of B(η)are distinct elements in GF(q); 2) each row
(or each column) of B(η)contains at most one zero element;
3) no two rows (or two columns) in B(η)have identical entries
at any position, and 4) any 2 ×2 submatrix of Bis nonsingular.
It follows from the structural properties 2) and 4) that B(η)
satisfies the 2 ×2 SM-constraint, i.e., the condition given in
Theorem 1. The nonzero element ηused in forming B(η)is
called the multiplication factor (MF) of the matrix B(η).
Using B(η)as a base matrix, we construct a CPM-QC-LDPC
code. Let H(η)be the (q1)-fold CPM-dispersion of B(η).
Then, H(η)is an m×narray of CPMs and/or ZMs of size
(q1) ×(q1), i.e., an m(q1) ×n(q1) matrix. The
null space of H(η)gives a CPM-QC-LDPC code of length
n(q1), denoted by C(η), whose Tanner graph G(η)has girth
at least 6. If B(η)does not contain zeros, then H(η),asan
m(q1) ×n(q1) matrix, has constant column weight m
and row weight n, i.e., C(η)is an (m, n)-regular CPM-QC-
LDPC code.
With different choices of the MF ηin GF(q), we obtain dif-
ferent base matrices in the form of (1) which result in different
(q1)-fold CPM-dispersions with different constituent CPMs.
Consequently, we can construct a very large class of CPM-QC-
LDPC codes.
B. Special Cases
Some well known constructions of CPM-QC-LDPC codes
based on finite fields and combinatorial designs are special
cases of the proposed construction. In the following, we give
five different special cases.
Case 1: If S1=S2=GF(q)={0,1
1
2,...,α
q2},
the base matrix B(η)defined by (1) is a q×qmatrix over
GF(q)in which each row and each column contains every
element of GF(q)exactly once. In this case, B(η)is simply
aLatin square over GF(q)[32]. The construction of CPM-QC-
LDPC codes using Latin squares as base matrices was proposed
in [20].
Case 2: Let S1and S2be two additive subgroups of the
additive group of GF(q)with order mand n, respectively,
such that m+nqand S1S2={0}.Letαi0=αj0=0.
Then the first row of matrix B(η)defined by (1) contains
the elements of the subgroup S2and all the other rows of
B(η)are cosets of S2with the elements in the set ηS1=
{ηαi0α
i1,...,ηα
im1}as coset leaders. The construction
of CPM-QC-LDPC codes based on two additive subgroups of
the additive group of GF(q)with orders mand n=qm,
respectively, and η=1, was first proposed in [18] and later
generalized in [19].
Suppose the set S1does not contain the zero element of
GF(q).For0k<m, if we multiply the k-th row of the base
matrix B(η)given by (1) by αik(the inverse of αik), the
base matrix B(η)becomes the following m×nmatrix in the
product-form:
Bp(η)=αikαjl+η0k<m,0l<n
=αq1ikαjl+η0k<m,0l<n .(2)
This matrix also satisfies the 2 ×2 SM-constraint and can be
used as the base matrix for constructing CPM-QC-LDPC codes
by matrix-dispersion and masking.
Case 3: Let S1={αq1=α0
q2
q3,...,α
2
1},
S2={α0
1
2,...,α
q3
q2}, and η=1. In this case,
Bp(1) given by (2) is the base matrix given by [17, Eq. (4)].
Case 4: Let S1and S2be two cyclic subgroups of the mul-
tiplicative group of GF(q)with orders mand n, respectively,
such that S1S2={1}, and mand nare relatively prime
LI et al.: ALGEBRAIC QUASI-CYCLIC LDPC CODES 2629
factors of q1.Letαq1i0=αj0=1and η=1. Then, all
the entries in the matrix Bp(1) defined by (2) are distinct
elements in GF(q). The construction of CPM-QC-LDPC codes
based on two cyclic subgroups of the multiplicative group of
GF(q)with orders mand n, respectively, such that m×n=
q1was first proposed in [18] and later extended in [21].
Case 5: Let αj1
j2,...,α
jkbe all the primitive elements
of GF(q)where k=(q1) t
i=1(1 (1/pi)) and p1,p
2,...,
ptare all the prime factors of q1.LetS1=S2={αj0,
αj1,...,α
jk}with j0=0 and η=1. Using these two
sets of elements of GF(q), the base matrix B(1) constructed
from (2) is exactly the base matrix given by [18, Eq. 4] or
[7, Eq. (11.17)].
Besides the five special cases given above, there are other al-
gebraic constructions of CPM-QC-LDPC codes that are special
cases of the construction based on two arbitrary subsets of a
finite field, which will not be included here. Therefore, the con-
struction given in Section III-A is a very general construction
which puts almost all previous major algebraic constructions of
CPM-QC-LDPC codes under a single framework.
C. Examples and Experimental Results
In the following, we will give two examples to illustrate the
effectiveness of the above construction. For the simplicity of
notations, in the rest of this paper, when we choose η=1for
the base matrix construction, we use the symbol Binstead of
B(1) for the base matrix, Hinstead of H(1) for the CPM-
dispersion of B(1) and Cinstead of C(1) for the CPM-QC-
LDPC code with H(1) as parity-check matrix.
Example 1: Let αbe a primitive element of GF(331). Let
S1={α112
115
148
317}and S2={α24
112
115
234,
α236
274
316
320}be two arbitrary subsets of elements
chosen randomly from GF(331). The two sets have two ele-
ments in common. We set η=1. Based on the two chosen sets
S1,S2and η=1,weforma4×8 base matrix Bover GF(331)
in the form of (1). All the entries of Bare nonzero elements in
GF(331). The CPM-dispersion of Bresults in a 4 ×8 array H
of CPMs of size 330 ×330 which is a 1320 ×2640 matrix
with column and row weights, 4 and 8, respectively. The null
space of Hgives a (4, 8)-regular (2640,1323) CPM-QC-LDPC
code Cwith rate 0.501 whose Tanner graph Ghas girth at
least 6. There are three 3 ×3 submatrices in Bwhich do not
satisfy the 3 ×3 SM-constraint, each containing two identical
terms in its determinant expansion. Therefore, the Tanner graph
Gof the code Chas girth 6 and contains 3×330 = 990 cycles
of length 6. Using the algorithm for enumerating cycles given
in [33], we find that Gcontains 24,750 cycles of length 8 and
389,400 cycles of length 10 besides 990 cycles of length 6.
Suppose we mask the base matrix Bwith the following
4×8 matrix:
Z(4,8) =
10101111
01011111
11111010
11110101
.(3)
This masking matrix is designed to increase the girth of the
Tanner graph of the (4, 8)-regular CPM-QC-LDPC code C.
(Design of masking matrices will be explained in later
Fig. 1. Bit error performances of the (2640,1323) CPM-QC-LDPC code, two
(2640,1320) CPM-QC-LDPC codes, the (2640,1320) Margulis code given in
Example 1 and the (2640,1320) CPM-QC-LDPC code given in Example 3.
sections.) Masking Bwith Z(4,8) results in a masked matrix
Bmask with column and row weights, 3 and 6, respectively.
From the structure of the masking matrix Z(4,8) given by (3),
we see that any 3 ×3 submatrix of Bmask contains at least one
zero entry. Through computations, we find that Bmask satisfies
the 3 ×3 SM-constraint.
The CPM-dispersion of Bmask gives a 4 ×8 array Hmask
of CPMs and ZMs of size 330 ×330. This array Hmask is a
1320 ×2640 matrix with constant column and row weights,
3 and 6, respectively. The null space of Hmask gives a (3, 6)-
regular (2640,1320) CPM-QC-LDPC code Cmask with rate
0.5. Since the masked base matrix Bmask satisfies the 3 ×3
SM-constraint, the Tanner graph of Gmask of Cmask has girth
at least 8. Using the algorithm for enumerating cycles given
in [33], we find that Gmask has girth exactly 8 and contains
990 cycles of length 8 and 8,580 cycles of length 10. We see
that masking the 4 ×8 base matrix Bwith the masking matrix
Z(4,8) given by (3) not only increases the girth of the Tanner
graph, from 6 to 8, but also greatly reduces the number of short
cycles, e.g., from 24,750 cycles of length 8 to 990 cycles of
length 8, and from 389,400 cycles of length 10 to 8,580 cycles
of length 10. This shows that the masking matrix Z(4,8) given
by (3) is very effective in enlarging the girth of a Tanner graph
and reducing the number of short cycles.
The bit error rate (BER) of the (4, 8)-regular CPM-QC-
LDPC code Cand the (3, 6)-regular CPM-QC-LDPC code
Cmask decoded with 50 iterations of a scaled min-sum algo-
rithm (MSA) [34] are shown in Fig. 1. We see that the (3, 6)-
regular CPM-QC-LDPC code Cmask obtained by masking
outperforms the (4, 8)-regular CPM-QC-LDPC code Cby
0.7 dB at BER of 106. We also see that the code Cmask
achieves a BER of almost 1010 without a visible error-floor.
In Fig. 1, the bit error performance of the well known
Margulis LDPC code [35], denoted by Cmgl,isalsoin-
cluded. The Margulis code Cmgl is a structured (3, 6)-regular
(2640,1320) LDPC code with rate 0.5 whose parity-check
matrix is a 120 ×240 array of permutation matrices (PMs)
2630 IEEE TRA NSA CTI ON S ON COM MUN ICATION S, VOL. 62, NO. 8, AUGUST 2014
and ZMs of size 11 ×11. The Margulis code has the same
rate and length as those of the (2640,1320) CPM-QC-LDPC
code Cmask. The Tanner graph of the Margulis code Cmgl also
has girth 8. From Fig. 1, we see that the Margulis code Cmgl
slightly outperforms the (2640,1320) CPM-QC-LDPC code
Cmask in the waterfall region by less than 0.05 dB. However,
the Margulis code starts to have a visible error-floor at the BER
of 107. Below the BER of 107, the (2640,1320) CPM-QC-
LDPC code Cmask outperforms the Margulis code Cmgl.
To demonstrate the flexibility of the proposed construction,
we construct another (3, 6)-regular (2640,1320) CPM-QC-
LDPC code. This time, we arbitrarily choose another two
sets of elements from GF(331), S1={α4
139
29
322}
and S2={α0
27
58
74
213
254
262
308}. Based
on these two sets and η=α14 (arbitrarily chosen), we form
another 4 ×8 base matrix B(α14)in the form of (1). All
the entries of B(α14)are again nonzero elements in GF(331).
Masking this base matrix with the same masking matrix Z(4,8)
given by (3), we obtain a masked base matrix Bmask(α14).
The CPM-dispersion of Bmask(α14 )gives another 4 ×8array
Hmask(α14 )of CPMs and ZMs of size 330 ×330. The null
space of Hmask(α14 )gives another (3, 6)-regular (2640,1320)
CPM-QC-LDPC code Cmask(α14 )whose Tanner graph also
has girth 8 but contains only 330 cycles of length 8. The bit
error performance of this code is also included in Fig. 1. From
Fig. 1, we see that the performance curves of the two CPM-QC-
LDPC codes, Cmask and Cmask(α14 ), overlap with each other.
Both codes achieve a BER of almost 1010 without a visible
error-floor.
Example 2: In this example, we show that a high-rate code
with a very low error-floor can be constructed with the proposed
construction method. Structured CPM-QC-LDPC codes with
rate 0.93 or higher are currently desired for applications in
optical communication and data storage systems, such as 400-G
Ethernet and flash memory.
We choose the prime field GF(131) for code construction
with αas a primitive element of this field. Let S1={α0=1,
α1
2
3
4
5}and S2={α6
7,...,α
128
129}for the
base matrix construction and set η=1. (In this example, we
choose the sets S1and S2to be disjoint and each consisting
of consecutive powers of α. This is convenient for expression.)
Based on these two sets and η=1, we form the following 6 ×
124 matrix over GF(131) in the form of (1): B=[αi+
αj]0i5,6j129. All entries in Bare nonzero elements in
GF(131). The 130-fold CPM-dispersion of Bgives a 6 ×124
array Hof CPMs of size 130 ×130. The array His a 780 ×
16120 matrix over GF(2) with constant column weight 6 and
constant row weight 124.
The null space of Hgives a (6,124)-regular (16120, 15345)
QC-LDPC code Cof length 16120 with rate 0.952. Let Gbe the
Tanner graph of C. Using the algorithm given in [33], we find
that Ghas girth 6 and contains a very large number, namely,
37,796,720, of cycles of length 6. Each variable node (VN) of
the Tanner graph Gis on 7,034 cycles of length 6. On a cycle
of length 6, each VN is connected to two other VNs by paths of
length 2. Two such cycles of length 6 may have two common
VNs. Therefore, for each VN, there are at least 7,034 other
VNs connected to it by paths of length 2, a very high-degree
Fig. 2. (a) Bit and block error performances of the (16120,15345) CPM-QC-
LDPC code given in Example 2 decoded with 5, 10, and 50 iterations of a scaled
MSA; and (b) performance comparison of the (16120,15345) CPM-QC-LDPC
code and the (16129,15372) CPM-QC-LDPC code given in [22].
of connectivity. This high-degree of connectivity allows rapid
exchange of information between all the VNs. Consequently,
in a few decoding iterations, each VN processing unit collects
enough information from the other VN processing units to
update the reliability of the VN being processed to a level to
make a correct hard-decision with high probability. As a result,
the decoding process can converge into a codeword with a small
number of decoding iterations. The large number of cycles of
length 6 contained in the Tanner graph Gof the constructed
code, of course, causes correlation in the messages passed
during iterative decoding (after a few iterations). However, the
rapid exchange of information between all the VNs due to
the high-connectivity between all the VNs of the Tanner graph
offsets the effect of the large number of cycles of length 6.
The bit and block error performances of the code decoded
with 5, 10, and 50 iterations of the MSA, with a scaling factor
0.75 (optimized) are shown in Fig. 2(a). The error performances
LI et al.: ALGEBRAIC QUASI-CYCLIC LDPC CODES 2631
are computed by an FPGA decoder. We denote the block error
rate by BLER. From Fig. 2(a), we see that the decoding of
the code converges fast. The performance gap between 5 and
10 iterations is less than 0.2 dB and the performance gap
between 10 and 50 iterations is less than 0.1 dB. With
50 iterations of the scaled MSA, the code achieves a BER
of 1014 without a visible error-floor. At the BER of 1014,
the code performs 1.4 dB away from the Shannon limit and
achieves a 8.5 dB coding gain over the uncoded BPSK system.
Fig. 2(b) gives a comparison of the performances of the
above code and the (6,127)-regular (16129,15372) CPM-QC-
LDPC code Crs given in [22, Example 1] with rate 0.953
whose parity-check matrix Hrs is the CPM-dispersion of the
conventional parity-check matrix of the triple error-correcting
Reed-Solomon (RS) code over GF(27). (The performance of
the (16129,15372) CPM-QC-LDPC code is extended using an
FPGA decoder below the error rates given in [22].) Notice that
the base matrix in the form of the conventional parity-check
matrix of an RS code is not a special case of the construction
of the base matrices given in (1). The two codes have about the
same length and the same rate. The parity-check matrices of the
two codes have the same column weight 6. Fig. 2(b) shows that
the two codes perform almost the same.
IV. CONSTRUCTION CPM-QC-LDPC CODES
WITH GIRTH EIGHT OR LARGER
Constructing LDPC codes with girth larger than 6 is always
an interesting problem. In general, LDPC codes with large girth
and small number of short cycles do perform better (assuming
they do not have small trapping sets [28]).
A. Construction of Rate 1/2 CPM-QC-LDPC Codes With
Girth 8 and 10
For 0k<mand 0s<n,letαlk,s =ηαik+αjs(the
element at the k-th row and s-th column of B(η)given by (1)).
We express the m×nbase matrix given by (1) in the form
B(η)=[αlk,s ]0k<m,0s<n, where lk,s L={−∞,0,1,2,
...,q2}.
In this section, we present a construction of a class of (3,
6)-regular CPM-QC-LDPC codes with rate-1/2, whose Tanner
graphs have girth at least 8. Each such code is constructed by
maskinga4×8 base matrix over GF(q)in the form given
by (1), denoted by B(4,8). In doing so, we choose a matrix
B(η)=[αlk,s ]0k<m,0s<n in the form given by (1) with m
4and n8. Then, we search through B(η)to find all possible
4×8 submatrices in B(η)from which, with proper masking,
masked matrices with column weight 3 and row weight 6 can
be obtained and they satisfy the 3 ×3 SM-constraint. Con-
sequently, the null space of the (q1)-fold CPM-dispersion
Hmask(4,8) of each of these 4 ×8 masked base matrices gives
a (3, 6)-regular CPM-QC-LDPC code of length 8(q1) with
girth at least 8. Using the cycle enumeration algorithm given in
[33], we find the number of the shortest cycles of the Tanner
graph of each of these codes and determine its girth.
Tomaska4×8 submatrix B(4,8) of B(η), we need a 4 ×
8 masking matrix Z(4,8) such that the masked 4 ×8matrix
Bmask(4,8) = Z(4,8) B(4,8) has column and row weights,
3 and 6, respectively. There are many such 4 ×8 possible
masking matrices. The masking matrix given by (3) is one of
them. In Example 1, we showed that masking a 4 ×8 base
matrix in the form given by (1) with the masking matrix given
by (3) not only enlarges the girth of the Tanner graph of the
code constructed based on B(4,8) but also reduces the number
of the short cycles drastically. In our construction, we will use
this masking matrix for constructing 4 ×8 base matrices that
satisfy the 3 ×3 SM-constraint.
From the structure of the masking matrix Z(4,8) given by
(3), we can easily see that every 3 ×3 submatrix of the masked
matrix Bmask(4,8) contains at least one zero entry. In fact,
there are 24 3 ×3 submatrices of Bmask(4,8), each containing
a single zero entry, 120 3 ×3 submatrices of Bmask(4,8),
each containing two zero entries, and 80 3 ×3 submatrices of
Bmask(4,8), each containing three zero entries. Therefore, in
the determinant expansion of a 3 ×3 submatrix of Bmask(4,8),
there are at most 4 nonzero terms. Hence, to check whether
Bmask(4,8) satisfies the 3 ×3 SM-constraint, the number of
computations required is relatively small.
Any row permutation of the masking matrix Z(4,8) given
by (3) can also be used as a masking matrix to reduce the
number of short cycles. The masking matrix Z(4,8) and/or its
row-permuted versions can also be used as a building block to
construct a larger masking matrix as will be shown later.
To avoid masking a zero entry in the base matrix B(4,8) (or
masking a nonzero entry in a column of B(4,8) which already
contains a zero entry), we restrict ourselves to only find those
4×8 submatrices in B(η)which contain no zero entry and
mask them with the masking matrix Z(4,8) given by (3).
This ensures that the masked matrix Bmask(4,8) has constant
column and row weights, 3 and 6, respectively. Any masked
matrix found that satisfies the 3 ×3 SM-constraint gives a
CPM-QC-LDPC code whose Tanner graph has girth at least 8.
The search for the 4 ×8 masked matrices, Bmask(4,8)’s ,
in B(η)that satisfy the 3 ×3 SM-constraint can be carried out
systematically. To simplify the search process, we only consider
those 4 ×8 submatrices which are taken from 4 consecutive
rows and 8 consecutive columns in B(η)(no end around rows
or columns). The search begins from the first four rows (the
0-th to the 3-rd rows) of B(η)and moves from the leftmost
edge of B(η)to the right, one position (or one column) at a
time. Each time, we mask a 4 ×8 submatrix B(4,8) with the
masking matrix given by (3) and check whether the masked 4 ×
8 submatrix Bmask(4,8) satisfies the 3 ×3 SM-constraint.
After checking the last 4 ×8 submatrix of the first four rows
of B(η), we start to search across the next 4 consecutive rows
(1-st to the 4-th rows) of B(η)from left to right. We move
one position at a time until we reach and test the last 4 ×
8 submatrix. Then, we move back to the leftmost edge of B(η)
and start to search across the next 4 consecutive rows (2-nd to
the5-throws)ofB(η)from left to right. This searching process
continues until we finish searching the last four consecutive
rows of B(η).
An algorithm to perform the above search for the 4 ×8
masked matrices, Bmask(4,8)’s, in B(η)that satisfy the 3 ×3
SM-constraint is given below as Algorithm 1. We call it the
2632 IEEE TRA NSA CTI ON S ON COM MUN ICATION S, VOL. 62, NO. 8, AUGUST 2014
TAB L E I
NUMBERS OF 4×8MASKED BASE MATRICES OVER VARIOUS FIELDS GF(q)THAT GIVE
RATE -1/2 CPM-QC-LDPC CODES WITH GIRTH 8OR 10 FOR η=1
3×3SM-constraint 4×8Masked Matrix Search Algorithm,
in short 3 ×3 SM-MMSA.
Algorithm 1 The 3×3SM-MMSA
for s=0:n4do
for k=0:m8do
// Take a 4 ×8 submatrix from B(η)
Bmask(4,8) = B(η)(s:s+3,k :k+7)
// Masking
for ss =1:4do
for kk =1:8do
if Z(ss, kk)==0then
Bmask(4,8)(ss, k k)=0
end if
end for
end for
// Two methods to check the girth of the Tanner graph
corresponding to the base
matrix Bmask(4,8):
// Method-1
(1) Check whether every 3 ×3 submatrix of
Bmask(4,8) satisfies the 3 ×3 SM-constraint
// Method-2
(2) Disperse Bmask(4,8) into an array Hmask (4,8),
and use a cycle counting algorithm
to find the girth of the Tanner graph corresponding
to Hmask(4,8)
if (1) holds or girth in (2) 8 then
Save sand k
end if
end for
end for
Table I gives a list of numbers of 4 ×8 masked base
matrices Bmask(4,8)’s constructed from various fields with
S1=S2=GF (q)and η=1, which give (3, 6)-regular CPM-
QC-LDPC codes with girth 8 or 10. The second and sixth
columns of Table I contain the number of Bmask(4,8)’s w hic h
give codes with girth 8 and 10, denoted by #Bmask(4,8)8and
#Bmask(4,8)10 , respectively. The third and seventh columns
contain the smallest numbers of cycles of length 8 and 10 for
each category of 4 ×8 masked base matrices, denoted by
#cyc8smallest and #cyc10smallest , respectively. The fourth
and fifth columns of the table give the smallest numbers of
cycles of length 6 and 8, denoted by #cyc6unmasked and
#cyc8unmasked , respectively, among all unmasked 4 ×8 base
matrices B(4,8).
For example, consider the 4 ×8 masked matrices constructed
based on the field GF(331). Using the 3 ×3 SM-MMSA de-
vised above, we find 65,373 4 ×8 masked base matrices which
give codes with girth 8 and 8,970 masked base matrices which
give codes with girth 10. Among these masked matrices, the
smallest numbers of cycles of length 8 and 10 are 330 and
11,220, respectively. Consider an unmasked 4 ×8 base matrix
B(4,8) that produces a masked base matrix Bmask(4,8) re-
sulting in a code with girth 8 and the smallest number of cycles
of length 8. From Table I, we find that the numbers of cycles of
length 6 and 8 in the Tanner graph associated with an unmasked
base matrix B(4,8) are at least 7,920 and 34,320, respectively.
However, the number of cycles of length 8 in the Tanner graph
associated with the masked base matrix Bmask(4,8) is only
330. So, masking not only increases the girth, from 6 to 8,
but also reduces the number of cycles of length 8, from 34,320
to 330.
Example 3: In Example 1, we constructed two (3, 6)-regular
(2640,1320) CPM-QC-LDPC codes based on two different
pairs of subsets of elements in GF(331). For each pair, the
elements in each subset are chosen randomly from GF(331).
We showed these two codes perform almost the same down
to the BER of 1010.Usingthe3×3 SM-MMSA with η=
1, we find a 4 ×8 masked base matrix Bmask(4,8) con-
structed based on the following two sets of elements in
GF(331): S1={α0
1
2
3}and S2={α8
9
10
11,
α12
13
14
15}. The two sets are disjoint and consist of
consecutive powers of α, a primitive element of GF(331).
Using this masked base matrix, we construct a (3, 6)-regular
(2640,1320) CPM-QC-LDPC code C
mask whose Tanner graph
has girth 8 and 330 cycles of length 8. The bit error performance
of this code decoded with 50 iterations of a scaled MSA is
almost the same as those of the two (2640,1320) CPM-QC-
LDPC codes constructed in Example 1 with randomly chosen
construction sets of elements in GF(331) as shown in Fig. 1 (all
decoded with the MSA using the same scaling factor).
Example 4: In this example, we give another CPM-QC-
LDPC code with rate 1/2 whose Tanner graph has girth 8. Let
GF(577) be the field for code construction and αbeaprimitive
element of the field. Let S1={α0
1
2
3},S2={α7
8,
α9
10
11
12
13
14}and η=1. Based on S1,S2,η=
1and the masking matrix Z(4,8) given by (3), we can construct
a (3, 6)-regular (4608,2304) CPM-QC-LDPC code Cmask
LI et al.: ALGEBRAIC QUASI-CYCLIC LDPC CODES 2633
Fig. 3. Bit and block error performances of the (4608,2304) CPM-QC-
LDPC code given in Example 4 and the (4608,2304) CPM-QC-LDPC code
constructed based on an RS code with two information symbols given in [13].
whose Tanner graph has girth 8 and contains 576 cycles of
length 8 and 19,008 cycles of length 10. The bit and block
error performances of Cmask are shown in Fig. 3. The code
achieves a BER of almost 1010 without a visible error-floor.
Also included in Fig. 3 is a (3, 6)-regular (4608,2304) CPM-
QC-LDPC code constructed based on the (72,2) RS code over
GF(73) with two information symbols [13] and a masking
matrix that consists of two circulants of size 32 ×32 given in
Example 11.2 in [7]. We see that the performance curves of the
two codes almost overlap with each other.
B. Other CPM-QC-LDPC Codes With Girth 8
The 3 ×3 SM-MMSA can be extended to construct CPM-
QC-LDPC codes with rates higher than 1/2 and girth 8 or larger
using the base matrices in the form given by (1). To do so, we
need to design masking matrices of appropriate sizes. As shown
earlier, the 4 ×8 masking matrix Z(4,8) given by (3) is very
effective for masking the 4 ×8 base matrices in the form of (1)
to produce CPM-QC-LDPC codes of rate 1/2 with girth 8 or
10. We could use this masking matrix and/or its row-permuted
versions as building blocks to construct masking matrices of
larger sizes. Let Zl(4,4) and Zr(4,4) be the two submatri-
ces of Z(4,8) which consist of the left 4 and right 4 col-
umns of Z(4,8), respectively. We can construct a masking
matrix with alternating Zl(4,4)’s and Zr(4,4)s in the form
of [Zl(4,4),Zr(4,4),Zl(4,4),Zr(4,4),Zl(4,4),...].Usinga
masking matrix of this form, we can construct a sequence
of codes with rates 1/2, 2/3, 3/4, .... For example, based on
GF(28), we can construct a sequence of CPM-QC-LDPC codes
of various lengths whose bit error performances are shown in
Fig. 4. The longest code in this sequence is a (5080,4572) CPM-
QC-LDPC code with rate 0.9 whose bit error performance
is almost the same as the (5080,4575) CPM-QC-LDPC code
constructed in [17, Example 3] as shown in Fig. 4.
Fig. 4. Bit error performances of a sequence of codes with rates 1/2, 2/3, 3/4,
..., 8/9, 9/10 constructed using GF(28)and the (5080,4575) CPM-QC-LDPC
code given in [17].
Another way of constructing masking matrices based on the
masking matrix Z(4,8) given by (3) is to repeat the first pair
of columns and the third pair of columns in Z(4,8)ktimes to
obtain a 4 ×4kmasking matrix, Z(4,4k), with column weight
3 and row weight 3k. For example, setting k=2 gives the
matrix Z(4,8) while setting k=3gives the masking matrix:
Z(4,12) =
101010111111
010101111111
111111101010
111111010101
.
(4)
Example 5: Again, consider the field GF(331) for code
construction and let αbe a primitive element of GF(331). We
extend the 3 ×3 SM-MMSA using the masking matrix Z(4,12)
given by (4) to find masked base matrices Bmask(4,12)’s
which satisfy the 3 ×3 SM-constraint. There are 20,343 such
Bmask(4,12)’s. Each one of these masked base matrices gives
a (3, 9)-regular (3960,2640) CPM-QC-LDPC code Cmask with
rate 2/3, whose Tanner graph has girth 8. One such masked
base matrix Bmask(4,12) is constructed based on the following
two sets of elements in GF(331): S1={α0
1
2
3}and
S2={α14
15
16,...,α
24
25}. The Tanner graph of the
code Cmask has girth 8 and contains 3,960 cycles of length 8
and 117,480 cycles of length 10. The bit error performance
of this code is shown in Fig. 5. Also included in Fig. 5 is the
bit error performance of a (3960,2640) PEG code with column
weight 3 and average row weight 9. From Fig. 5, we see that the
two codes perform the same above the BER of 107. However,
starting from the BER of 107, the code Cmask outperforms the
PEG code.
Using performance simulations, we also found the following
construction of masking matrices to be quite effective. Let
Abe the 4 ×4 matrix consisting of zeros on the main
diagonal and ones everywhere else and let A
lbe the (4 + l)×
4matrix obtained from Aby adding to it lrows of zeros
at the bottom. Let A
l(k)bea(4 + l)×4matrix obtained
2634 IEEE TRA NSA CTI ON S ON COM MUN ICATION S, VOL. 62, NO. 8, AUGUST 2014
Fig. 5. Bit error performances of the (3960,2640) and the (5280,3302)
CPM-QC-LDPC codes given in Example 5 and comparable (3960,2640) and
(5280,3302) PEG codes.
by cyclically downshifting the rows of A
lkrows. Then,
for t2, define the (4 + l)×4tmasking matrix Z(4 + l,
4t)=[A
l(0),A
l(k),A
l(2k),...,A
l((t1)k)]. For various
choices of l,k, and t, we obtain a sequence of matrices of
the form Z(4 + l, 4t)that can be used as masking matrices
in the construction of a sequence of codes of various lengths
and rates. For example, choosing l=2,k=1, and t=4,we
obtain the masking matrix Z(6,16). Using this matrix, we can
construct a (5280,3302) CPM-QC-LDPC code of rate slightly
greater than 5/8 and whose Tanner graph has girth 8. The bit
error performance of this code along with a comparable PEG
code is shown in Fig. 5.
V. A R EDUCED-COMPLEXITY ITERATIVE
DECODING SCHEME
Recently, we presented a reduced-complexity iterative de-
coding scheme for CPM-QC-LDPC codes, called the revolving
iterative decoding (RID) scheme [25]. This decoding scheme
significantly reduces the hardware implementation complexity
of a CPM-QC-LDPC decoder in terms of the number of check-
node (CN) message processing units and the number of wires
required to connect the CN and the VN message processing
units. To apply this decoding scheme, its parity-check array H
must have the row-block cyclic structure, i.e., each row-block
of His the cyclic-shift of the row-block above it to the right
by a fixed number of positions, say lpositions, and the first
row-block is the cyclic-shift of the last row-block to the right
by lpositions. Suppose the parity-check array Hconsists of
mrow-blocks. Then, the entire parity-check array Hcan be
generated by cyclically shifting its first row-block m1times.
As a result, the iterative decoding of the CPM-QC-LDPC code
given by the null space of Hcan be carried out based on the first
row-block of Hrather than the entire H. The RID scheme given
in [25] is devised based on this row-block cyclic structure.
However, most of the proposed constructions of CPM-QC-
LDPC codes give parity-check arrays with CPM-structure.
These arrays, in general, do not have the row-block cyclic struc-
ture. To acquire the row-block cyclic structure, specific column
and row permutations must be performed to transform an array
of CPMs and/or ZMs into another array Hperm of submatrices
of the same size [25]. The permuted array Hperm possesses
row-block cyclic structure but its nonzero submatrices are no
longer CPMs. Consequently, in the hardware implementation
of an RID-decoder based on the row-block cyclic structure of
Hperm,theadvantage of simple wire routing due to the CPM-
structure of the parity-check array H[24] is lost.
In the following, we present an improvement of the RID
scheme, called the CPM-RID scheme, for CPM-QC-LDPC
codes whose parity-check arrays possess the CPM-structure.
The CPM-RID scheme is simply devised based on the CPM-
structure of the parity-check array Hof a CPM-QC-LDPC code
without column and row permutations. This CPM-RID scheme
not only has the same advantage in reduction of decoding
hardware complexity as the RID scheme proposed in [25] but
also maintains the advantage of simple wire routing due to the
CPM-structure.
Let Hbe an m×narray of CPMs and/or ZMs of size (q
1) ×(q1).LetH0,H1,...,Hm1denote the mrow-
blocks of H, each consisting of nCPMs and/or ZMs of size
(q1)×(q1).For0k<mand 0s<q1,lethk,s =
(hk,s,0,hk,s,1,...,hk,s,n1)be the s-th row in the k-th row-
block Hkwhich consists of nsections, hk,s,0,hk,s,1,...,
hk,s,n1, each containing q1components. Each section is
the s-th row of either a CPM or a ZM in the k-th row-block Hk.
If we cyclically shift all the nsections of hk,s simultaneously
one place to the right within the sections, we obtain the (s+1)-
th row hk,s+1 of Hkwhich also consists of nsections and each
section is the (s+1)-th row of either a CPM or a ZM. The
above cyclic-shift within each section of hk,s is referred to as
the section-wise cyclic-shift of the row hk,s.Fors=q2,the
section-wise cyclic-shift of hk,q2results in the top row hk,0
of Hk. Consequently, all the rows of the k-th row-block Hk
can be obtained by section-wise cyclically shifting the top row
hk,0q2times. This section-wise cyclic-shift of the rows of
Hmaintains the CPM-structure of each row-block of H.The
top row hk,0of Hkis called the generator of the row-block Hk.
Let H
0(1) be an m×n(q1) matrix which consists of
the top rows h0,0,h1,0,...,hm1,0of the mrow-blocks
H0,H1,...,Hm1of the parity-check array H. Then, it fol-
lows from the section-wise cyclic structure of Hthat the entire
array Hcan be obtained by section-wise cyclically shifting
H
0(1) q2times. This section-wise cyclic structure allows us
to decode the CPM-QC-LDPC code given by the parity-check
array Hbased on the submatrix H
0(1) alone in a revolving
manner similar to the RID scheme given in [25].
Each decoding iteration based on H
0(1) is called a decoding
sub-iteration. At the end of each decoding sub-iteration, the
reliabilities of the received symbols are updated with a chosen
reliability updating algorithm, such as the SPA [3] or the MSA
[34]. Then, the reliability vector (n(q1) components in n
sections) and the received sequence (n(q1) symbols in n
sections) are section-wise cyclically shifted to the left by one
position and used as the input information to carry out the
next decoding sub-iteration based on H
0(1). It is clear that any
LI et al.: ALGEBRAIC QUASI-CYCLIC LDPC CODES 2635
q1consecutive decoding sub-iterations performed based on
H
0(1) are equivalent to one decoding iteration based on the
entire parity-check array H. At the end of each decoding sub-
iteration, the syndrome sof the hard-decision of the received
sequence (after section-wise cyclically shifting one position to
the left) is computed based on the entire parity-check array
H.Ifs=0, we stop the decoding process; otherwise, we
continue the decoding process until a preset maximum number
of decoding sub-iterations is reached. The decoding process
simply revolves around H
0(1) iteratively similar to the RID
scheme. Since it is devised based on the CPM-structure (or
section-wise cyclic-structure) of the parity-check array H,we
call it CPM-RID scheme. The submatrix H
0(1) is called the
decoding matrix of the CPM-RID scheme.
The advantage of the CPM-RID scheme over the RID
scheme devised in [25] is that no column and row permutations
of the parity-check array Hare required. Consequently, the
CPM-structure of the parity-check matrix array His preserved
and the simple wire routing advantage due to the CPM-structure
of the parity-check array [24] is maintained.
The implementation of a CPM-RID decoder is based on the
structure of H
0(1) and the algorithm chosen for updating the
reliabilities of the received symbols. Based on the structure
of H
0(1), we can easily see that the number of rows and the
number of 1-entries in H
0(1) are 1/(q1)-th of those of H.
Therefore, in implementing a CPM-RID decoder of a CPM-
QC-LDPC code, the number of CN message processing units
and the number of wires required to connect the CN and the
VN message processing units are reduced by a factor of q1
of those required in implementing a CPM-QC-LDPC decoder
based on the entire parity-check array Hof the code. For large
q, there is a tremendous reduction in hardware implementation
complexity of a CPM-QC-LDPC decoder using the CPM-RID
scheme.
Any known reliability updating algorithm can be incorpo-
rated in the CPM-RID scheme to form an algorithm for decod-
ing a CPM-QC-LDPC code. Such a decoding algorithm with
the MSA for updating reliabilities of the received symbols in
each decoding sub-iteration was recently devised by us [36].
We call this decoding algorithm the CPM-RMSA. The details
of this decoding algorithm can be found in [36] and will not be
included in this paper.
Example 6: In this example, we apply the CPM-RID scheme
to decode the (6,124)-regular (16120,15345) CPM-QC-LDPC
code Cgiven in Example 2 using the CPM-RMSA. Recall that
the parity-check matrix array His a 6 ×124 array of CPMs
of size 130 ×130. It consists of 6 row-blocks, each containing
124 CPMs. The submatrix H
0(1) used to carry out the CPM-
RMSA decoding consists of 6 rows, each being the top row
of a row-block of H.Itisa6×16120 submatrix of H.The
number of 1-entries in H
0(1) is 744. To implement a CPM-
RMSA decoder based on H
0(1), it requires only 6 CN message
processing units and 744 wires to connect the 6 CN message
processing units to the 744 VN message processing units. We
see that, using the CPM-RMSA based on H
0(1) to decode C,
there is a factor of 130 reduction in the number of the CN
message processing units and the number of the wires required
to connect the CN and the VN message processing units
Fig. 6. Block error performances of the (16120,15345) CPM-QC-LDPC code
given in Example 2 decoded with 50 iterations of the CPM-RMSA and the
MSA.
compared to using the conventional MSA based on the entire
parity-check matrix Hto decode the code (see Example 2).
Furthermore, there is also a large reduction in the VN message
processing units (from 16120 to 744).
The block error performance of the code decoded with
50 iterations of the CPM-RMSA (equivalent to 6500 sub-
iterations based on H
0(1)) is shown in Fig. 6. For comparison,
in Fig. 6, we also include the block error performance of the
code decoded with 50 iterations of the MSA based on the entire
parity-check matrix H. We see the block error performance
curves of the code decoded with both decoding algorithms
overlap with each other.
From the above example, we see that the CPM-RMSA not
only reduces decoder implementation complexity but also per-
forms as well as the conventional MSA. This large reduction
in complexity is achieved at the expense of larger decoding
latency. To reduce the decoding latency, we can increase the
size of the decoding matrix. Let lbe a factor of q1and
q1=cl. Suppose we take the first top lrows of each row-
block of Hand form an ml ×n(q1) submatrix, denoted by
H
0(l),ofH. Then, it follows from the section-wise cyclic-
structure that if we section-wise cyclically shift all the rows
of H
0(l)simultaneously ctimes, each time to the right l
positions, we obtain the entire parity-check array H. Based on
this structure, we can use H
0(l)as the matrix for decoding
the CPM-QC-LDPC code Cgiven by the null space of Hin
a revolving manner similar to the decoding based on H
0(1)
described above. After each sub-iteration decoding based on
H
0(l), the reliability and the hard-decision vector must be
section-wise cyclically shifted to the left lpositions for the next
sub-iteration decoding. The CPM-RID decoding scheme based
on H
0(l)reduces the decoder hardware complexity compared
to decoding based on Hby a factor of crather than q1
and reduces the decoding latency compared to that based on
H
0(1). This gives a trade-off between the decoder complexity
and decoding latency. In the above example, we could choose
l=13. With this choice, we reduce the decoder complexity by
a factor of 10.
2636 IEEE TRA NSA CTI ON S ON COM MUN ICATION S, VOL. 62, NO. 8, AUGUST 2014
VI. CONCLUSION AND REMARKS
In this paper, we presented a simple, flexible, and also very
general method for constructing CPM-QC-LDPC codes based
on any two arbitrary subsets of a finite field. We showed that
several major algebraic construction methods are special cases
of the proposed construction. Using the proposed construction,
we constructed a high-rate code that achieves a very low error
rate without a visible error-floor. Combining the proposed code
construction method and masking, we constructed a class of
CPM-QC-LDPC codes whose Tanner graphs have girth 8 and
10. By examples, we showed that the constructed codes perform
well compared to the codes of the same length and rates
constructed using other construction methods and, furthermore,
they have low error-floors. Also presented in this paper is
an improvement of the reduced-complexity iterative decoding
scheme recently devised by us.
REFERENCES
[1] R. G. Gallager, “Low density parity-check codes,” IRE Trans. Inf. Theory,
vol. IT-8, no. 1, pp. 21–28, Jan. 1962.
[2] D. J. C. MacKay and R. M. Neal, “Near Shannon limit performance of
low density parity-check codes,” Electron. Lett., vol. 32, no. 18, pp. 1645–
1646, Aug. 1996.
[3] D. J. C. MacKay, “Good error-correcting codes based on very sparse
matrices,” IEEE Trans. Inf. Theory, vol. 45, no. 2, pp. 99–432, Mar. 1999.
[4] Y. Kou, S. Lin, and M. P. C. Fossorier, “Low density parity-check codes
based on finite geometries: A rediscovery and new results,” IEEE Trans.
Inf. Theory, vol. 47, no. 7, pp. 2711–2736, Nov. 2001.
[5] L. Chen, J. Xu, I. Djurdjevic, and S. Lin, “Near-Shannon-limit quasi-
cyclic low-density parity-check codes,” IEEE Trans. Commun., vol. 52,
no. 7, pp. 1038–1042, Jul. 2004.
[6] M. P. C. Fossorier, “Quasi-cyclic low-density parity-check codes from
circulant permutation matrices,” IEEE Trans. Inf. Theory, vol. 50, no. 8,
pp. 1788–1793, Aug. 2004.
[7] W. E. Ryan and S. Lin, Channel Codes: Classical and Modern.
New York, NY, USA: Cambridge Univ., 2009.
[8] X.-Y. Hu, E. Eleftheriou, and D.-M. Arnold, “Progressive edge-growth
Tanner graphs,” in Proc. IEEE GlobeCom, San Antonio, TX, USA,
Nov. 25–29, 2001, pp. 995–1001.
[9] J. Thorpe, “Low-Density Parity-Check (LDPC) Codes Constructed From
Protographs,” Jet Propulsion Lab., Pasadena, CA, USA, IPN Progr.
Rep. 42-154, Aug. 2003.
[10] D. Divsalar, S. Dolinar, and C. Jones, “Construction of protograph LDPC
codes with linear minimum distance,” in Proc. IEEE Int. Symp. Inf.
Theory, Seattle, WA, USA, Jul. 9–14, 2006, pp. 664–668.
[11] D. Divsalar, S. Dolinar, C. R. Jones, and K. Andrews, “Capacity-
approaching protograph codes,” IEEE Sel. Areas Commun., vol. 27, no. 6,
pp. 876–888, Aug. 2009.
[12] S. Abu-Surra, D. Divsalar, and W. E. Ryan, “Enumerators for protograph-
based ensembles of LDPC and generalized LDPC codes,” IEEE Trans.
Inf. Theory, vol. 57, no. 2, pp. 858–886, Feb. 2011.
[13] I. Djurdjevic, J. Xu, K. Abdel-Ghaffar, and S. Lin, “A class of low-density
parity-check codes constructed based on Reed-Solomon codes with two
information symbols,” IEEE Commun. Lett., vol. 7, no. 7, pp. 317–319,
Jul. 2003.
[14] B. Vasic and O. Milenkovic, “Combinatorial constructions of low-density
parity check codes for iterative decoding,” IEEE Trans. Inf. Theory,
vol. 50, no. 6, pp. 1156–1176, Jun. 2004.
[15] Y. Y. Tai, L. Lan, L. Zheng, S. Lin, and K. Abdel-Ghaffar, “Alge-
braic construction of quasi-cyclic LDPC codes for the AWGN and era-
sure channels,” IEEE Trans. Commun., vol. 54, no. 10, pp. 1765–1774,
Oct. 2006.
[16] J. Xu, L. Chen, I. Djurdjevic, S. Lin, and K. Abdel-Ghaffar, “Construc-
tion of regular and irregular LDPC codes: Geometry decomposition and
masking,” IEEE Trans. Inf. Theory, vol. 53, no. 1, pp. 121–134, Jan. 2007.
[17] L. Lan et al., “Construction of quasi-cyclic LDPC codes for AWGN and
binary erasure channels: A finite field approach,” IEEE Trans. Inf. Theory,
vol. 53, no. 7, pp. 2429–2458, Jul. 2007.
[18] S. Song, B. Zhou, S. Lin, and K. Abdel-Ghaffar, “A unified approach
to the construction of binary and nonbinary quasi-cyclic LDPC codes
based on finite fields,” IEEE Trans. Commun., vol. 57, no. 1, pp. 84–93,
Jan. 2009.
[19] J. Kang, Q. Huang, L. Zhang, B. Zhou, and S. Lin, “Quasi-cyclic LDPC
codes: An algebraic construction,” IEEE Trans. Commun., vol. 58, no. 5,
pp. 1383–1396, May 2010.
[20] L. Zhang, Q. Huang, S. Lin, and K. Abdel-Ghaffar, “Quasi-cyclic LDPC
codes: An algebraic construction, rank analysis, codes on Latin squares,”
IEEE Trans. Commun., vol. 58, no. 11, pp. 3126–3139, Nov. 2010.
[21] L. Zhang, S. Lin, K. Abdel-Ghaffar, Z. Ding, and B. Zhou, “Quasi-cyclic
LDPC codes on cyclic subgroups of finite fields,” IEEE Trans. Commun.,
vol. 59, no. 9, pp. 2330–2336, Sep. 2011.
[22] Q. Diao, Q. Huang, S. Lin, and K. Abdel-Ghaffar, “A matrix-theoretic ap-
proach for analyzing quasi-cyclic low-density parity-check codes,” IEEE
Trans. Inf. Theory, vol. 58, no. 6, pp. 4030–4048, Jun. 2012.
[23] Z. Li, L. Chen, L. Zeng, S. Lin, and W. Fong, “Efficient encoding of quasi-
cyclic low-density parity-check codes,” IEEE Trans. Commun., vol. 54,
no. 1, pp. 71–81, Jan. 2006.
[24] Y. Chen and K. Parhi, “Overlapped message passing for quasi-cyclic low-
density parity check codes,” IEEE Trans. Circuits Syst. I, Reg. Papers,
vol. 51, no. 6, pp. 1106–1113, Jun. 2004.
[25] K. Liu. S. Lin and K. Abdel-Ghaffar, “A revolving iterative algorithm for
decoding algebraic cyclic and quasi-cyclic LDPC codes,” IEEE Trans.
Commun., vol. 61, no. 12, pp. 4816–4827, Dec. 2013.
[26] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE
Trans. Inf. Theory, vol. IT-27, no. 5, pp. 533–547, Sep. 1981.
[27] D. MacKay and M. S. Postol, “Weaknesses of Margulis and Ramanujan-
Margulis low-density parity-check codes,” Electron. Notes Theoretical
Comput. Sci., vol. 74, pp. 97–104, 2003.
[28] T. Richardson, “Error floor of LDPC codes,” in Proc. 41st Annu. Allerton
Conf. Commun., Control, Comput., Menticello, IL, USA, Oct. 1–3, 2003,
pp. 1426–1435.
[29] Q. Diao, Q. Huang, S. Lin, and K. Abdel-Ghaffar, “A transform ap-
proach for analyzing and constructing quasi-cyclic low-density parity-
check codes,” in Proc. IEEE Inf. Theory Appl. Workshop, San Diego, CA,
USA, Feb. 6–11, 2011, pp. 1–8.
[30] R. A. Horn and C. R. Johnson, Matrix Analysis. Cambridge, U.K.:
Cambridge Univ., 1985.
[31] Y. Liu and Y. Li, “Design of masking matrix for QC-LDPC
codes,” in Proc. IEEE Inf. Theory Workshop, Seville, Spain, Sep. 9–13,
2013, pp. 1–5.
[32] R. Lidl and H. Niederreiter, Introduction to Finite Fields and Their Appli-
cations, revised ed. Cambridge, U.K.: Cambridge Univ., 1994.
[33] M. Karimi and A. H. Banihashemi, “Counting short cycles of quasi cyclic
protograph LDPC codes,” IEEE Commun. Lett., vol. 16, no. 3, pp. 400–
403, Mar. 2012.
[34] J. Chen and M. P. C. Fossorier, “Near optimum universal belief propaga-
tion based decoding of low-density parity-check codes,” IEEE Trans. Inf.
Theory, vol. 50, no. 3, pp. 406–414, Mar. 2002.
[35] G. A. Margulis, “Explicit constructions of graphs without short cycles and
low density codes,” Combinatorics, vol. 2, no. 1, pp. 71–78, 1982.
[36] J. Li, K. Liu, S. Lin, and K. Abdel-Ghaffar, “Decoding of quasi-cyclic
LDPC codes with section-wise cyclic structure,” in Proc. Inf. Theory Appl.
Workshop, San Diego, CA, USA, Feb. 9–14, 2014.
Juane Li received the B.E. degree in electrical and
computer engineering from Harbin Institute of Tech-
nology, Harbin, Heilongjiang, China, in 2010. She
is currently working towards the Ph.D. degree in
electrical and computer engineering in the University
of California, Davis.
Her current research interests are in the general
area of channel coding for communication and stor-
age systems, and the hardware implementation of
encoder and decoder of LDPC codes.
Keke Liu received the B.E. and M.E. degrees in elec-
trical engineering from Beijing Institute of Technol-
ogy, Beijing, China, in 2007 and 2009, respectively.
He is currently working towards the Ph.D. degree in
electrical and computer engineering in the University
of California, Davis.
From 2009 to 2010, he joined Datang Mobile,
Beijing, China, as a Physical Protocol Engineer. His
current research interests are in the general area
of channel coding for communication and storage
systems.
LI et al.: ALGEBRAIC QUASI-CYCLIC LDPC CODES 2637
Shu Lin (S’62–M’65–SM’78–F’80–LF’00) re-
ceived the B.S.E.E. degree from the National Taiwan
University, Taipei, Taiwan, in 1959, and the M.S.
and Ph.D. degrees in electrical engineering from
Rice University, Houston, TX, in 1964 and 1965,
respectively.
In 1965, he joined the Faculty of the University
of Hawaii, Honolulu, as an Assistant Professor of
Electrical Engineering. He became an Associate Pro-
fessor in 1969 and a Professor in 1973. In 1986,
he joined Texas A & M University, College Station,
as the Irma Runyon Chair Professor of Electrical Engineering. In 1987, he
returned to the University of Hawaii. From 1978 to 1979, he was a Visiting
Scientist at the IBM Thomas J. Watson Research Center, Yorktown Heights,
NY, where he worked on error control protocols for data communication
systems. He spent the academic year of 1996–1997 as a Visiting Professor
at the Technical University of Munich, Munich, Germany. He retired from
University of Hawaii in 1999 and he is currently an Adjunct Professor at
University of California, Davis. He has published numerous technical papers
in IEEE Transactions and other refereed journals. He is the author of the book,
An Introduction to Error-Correcting Codes (Englewood Cliff, NJ: Prentice-
Hall, 1970). He also co-authored (with D. J. Costello) the book, Error Control
Coding: Fundamentals and Applications (Upper Saddle River, NJ: Prentice-
Hall, 1st edition, 1982, 2nd edition, 2004), (with T. Kasami, T. Fujiwara, and
M. Fossorier) the book, Trellises and Trellis-Based Decoding Algorithms,
(Boston, MA: Kluwer Academic, 1998), and (with W. E. Ryan) the book,
Channel Codes: Classical and Modern, (Cambridge University Press, 2009).
His current research areas include algebraic coding theory, coded modulation,
error control systems, and satellite communications. He has served as the
Principle Investigator on 32 research grants.
Dr. Lin is a Member of the IEEE Information Theory Society and the
Communication Society. He served as the Associate Editor for Algebraic
Coding Theory for the IE EE TRANSACTIONS ON INFORMATION THEORY
from 1976 to 1978, and as the Program Co-Chairman of the IEEE International
Symposium of Information Theory held in Kobe, Japan, in June 1988. He was
the President of the IEEE Information Theory Society in 1991. In 1996, he
was a recipient of the Alexander von Humboldt Research Prize for U.S. Senior
Scientists and a recipient of the IEEE Third-Millennium Medal, 2000. In 2007,
he was a recipient of The Communications Society Stephen O. Rice Prize in
the Field of Communications Theory.
Khaled Abdel-Ghaffar received the B.Sc. degree
from Alexandria University, Alexandria, Egypt, in
1980, and the M.S. and Ph.D. degrees from the
California Institute of Technology, Pasadena, CA,
in 1983 and 1986, respectively, all in electrical
engineering.
In 1988, he joined the University of California,
Davis, where he is now a Professor of Electrical and
Computer Engineering. He did research at the IBM
Almaden Research Center, San Jose, CA, Delft Uni-
versity of Technology, The Netherlands, University
of Bergen, Norway, and Alexandria University, Egypt. His main interest is
coding theory.
Dr. Abdel-Ghaffar served as an Associate Editor for Coding Theory for the
IEEE TRANSACTIONS ON INFORMATION THEORY from 2002 to 2005. He
is a co-recipient of the IEEE Communications Society 2007 Stephen O. Rice
Prize paper award.
... It is well-known that low-density parity-check (LDPC) codes with iterative decoding have the performance extremely close to Shannon capacity [1]. Under the frame of iterative decoding, some structural properties of an LDPC code affect the performance, such as cycle distribution and girth of its Tanner graph [2], variable node (VN) connectivity, row redundancy of its parity-check matrix and other structures [3]. Girth plays an important role in the design and construction of LDPC codes [4]. ...
... In 2006, Kim presented the girth distribution of Tanner (3,5)-regular QC-LDPC codes of code length 5p with p being a prime and p ≡ 1 (mod 15) [11]. The girth distribution of Tanner (3,5)-regular QC-LDPC codes is given as follows: 1) The minimum girth of Tanner (3, 5)-regular QC-LDPC codes is 8, and there is only one code with girth 8; 2) There are two Tanner (3,5)-regular QC-LDPC codes with girth 10; 3) The other Tanner (3,5)-regular QC-LDPC codes have girth 12. ...
... In 2006, Kim presented the girth distribution of Tanner (3,5)-regular QC-LDPC codes of code length 5p with p being a prime and p ≡ 1 (mod 15) [11]. The girth distribution of Tanner (3,5)-regular QC-LDPC codes is given as follows: 1) The minimum girth of Tanner (3, 5)-regular QC-LDPC codes is 8, and there is only one code with girth 8; 2) There are two Tanner (3,5)-regular QC-LDPC codes with girth 10; 3) The other Tanner (3,5)-regular QC-LDPC codes have girth 12. This result shows that most of Tanner (3,5)-regular QC-LDPC codes have the largest girth value 12. ...
Article
Full-text available
This paper studies on a class of quasi-cyclic LDPC (QC-LDPC) codes, i.e., Tanner (3, 23)-regular QC-LDPC codes of code length 23 p with p being a prime and p ≡ 1 (mod 69). We first analyze the cycle structure of Tanner (3, 23)-regular QC-LDPC codes, and divide their cycles of lengths 4, 6, 8, and 10 into five equivalent types. We propose the sufficient and necessary condition for the existence of these five types of cycles, i.e., the polynomial equations in a 69th unit root of the prime field F <sub xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink"> p </sub> . We check the existence of solutions for such polynomial equations by using the Euclidean division algorithm and obtain the candidate girth values of Tanner (3, 23)-regular QC-LDPC codes. We summarize the results and determine the girth distribution of Tanner (3, 23)-regular QC-LDPC codes.
... The BATS code can be described and decoded graphically according to the Tanner graph [33], similar to the Low-Density Parity-Check (LDPC) code [34]- [36]. Motivated by the protograph LDPC [23], [37]- [41], [42] explored the design of a structured BATS code to increase the decoding rate when the number of input symbols is small. The authors in [42] used a reinforcement learning approach to explore the graphical space, trying to find graphs that give a higher decoding rate and coding efficiency than the randomly constructed BATS code. ...
Preprint
Full-text available
In coding theory, codes are usually designed with a certain level of randomness to facilitate analysis and accommodate different channel conditions. However, the resulting random code constructed can be suboptimal in practical implementations. Represented by a bipartite graph, the Batched Sparse Code (BATS Code) is a randomly constructed erasure code that utilizes network coding to achieve near-optimal performance in wireless multi-hop networks. In the performance analysis in the previous research, it is implicitly assumed that the coded batches in the BATS code are independent. This assumption holds only asymptotically when the number of input symbols is infinite, but it does not generally hold in a practical setting where the number of input symbols is finite, especially when the code is constructed randomly. We show that dependence among the batches significantly degrades the code's performance. In order to control the batch dependence through graphical design, we propose constructing the BATS code in a structured manner. A hardware-friendly structured BATS code called the Cyclic-Shift BATS (CS-BATS) code is proposed, which constructs the code from a small base graph using light-weight cyclic-shift operations. We demonstrate that when the base graph is properly designed, a higher decoding rate and a smaller complexity can be achieved compared with the random BATS code.
... Counting number of cycles of length equal to the girth or slightly larger is a fundamental problem of interest in information theory, particularly in the analysis and design of low-density CONTACT Sasmita Barik sasmita@iitbbs.ac.in School of Basic Sciences, IIT Bhubaneswar, Bhubaneswar, 752050, India parity-check codes, see [12,16,18,20,24]. For two graphs of the same girth, the one with the fewer cycles of length equal to the girth or girth plus two, might be the preferable. ...
Article
Let $G$ be a simple undirected graph. In this article, we obtain an explicit formula for the number of $8$-cycles in $G$ in terms of the entries of its adjacency matrix. We provide new formulae to find the number of cycles of length $4, 5$ and $6$ in $G$. When the girth of $G$ is $10$ (resp. $12$), an explicit formula for the number of cycles of length $10$ (resp. $12$) is given. New formulae to find the number of paths of length $3, 4$ and $5$ in $G$ are also obtained.
... Certain algebraic and geometric designs have the potential to support QC-LDPC code development methods [16,17]. However, such approaches do not produce flexible code lengths and submatrix sizes, and the resultant regular degree distribution limits the waterfall correction performance in comparison with irregular distributions. ...
... In general, LDPC codes of the random type are constructed by means of a computer search, e.g. a progressive growth algorithm (PEG) [10], under certain rules which can ensure good circumference values. Like another type of LDPC codes, structured codes constructed from algebraic tools, such as combinatorial design [11], finite field [12], graph theory [13], and finite geometry [14], naturally have a good circumference. The numerical results show that these two classes of well-designed LDPC codes perform well. ...
Article
Full-text available
Cooperative communication is a kind of virtual MIMO communication. This technique has attracted the attention of the scientific community in recent years because of the many advantages it provides. Several studies have shown that this communication technique has better performance compared to conventional techniques. Among the most recent, the use of LDPC codes with jayakody et al and Amzi et al have shown that these codes can achieve a remarkable BER efficiency. In this work we propose a new approach (decomposition) of the use of LDPC codes at the relay level. We have studied and evaluated the performance of relay cooperative networks using AF or DF for transmissions. We considered the case where LDPC codes are used at the relay level to increase the reliability of communication. Thus we can say that this work has highlighted the performance of LDPC codes in cooperative relay systems in mobile telephony. We will also present the performances of our method.
... 5. Revolving iterative decoding [58][59][60][61] is an effective reduced-complexity algorithm for decoding QC-LDPC codes based on the block cyclic structure and cyclic grouping of the rows of their PCMs. ...
Thesis
Full-text available
Wireless communication has become an indispensable part of our life and the demand for achieving higher throughput with lower energy consumption is ever growing. The ambitious throughput of 100 Gb/s and beyond is now becoming a modest goal thanks to comprehensive advances in transmission technologies and protocols. One important aspect of these advances is with regard to channel coding methods and the ability to detect and correct errors at the receiver. Computations needed by such methods become generally more complicated as they become more powerful in their performance. This imposes a great challenge for researchers attempting to devise practical methods for encoding and decoding Forward-error Correction (FEC) techniques tailored for high-throughput scenarios. In this work we focus on high-throughput Quasi-Cyclic LDPC (QC-LDPC) codes, as they have been selected as one of the main FEC techniques for the two major next generation wireless technologies, namely Wi-Fi 6 (IEEE 802.11ax) and 5G. Our target is to develop complete encoding and decoding design for these codes in order to reach the throughput of 100 Gb/s with affordable power consumption. Toward this goal, we investigate first the appropriate encoder design for these codes which can be used at such high data-rate with reasonably low power consumption. Then we propose several novel ideas for improving the decoding performance and complexity of QC-LDPC codes. The proposed novel ideas collectively facilitate a decoder able to run at 50 Gb/s with less than 12 pJ/b energy consumption for a Latin squares QC-LDPC code. All the proposed methods are practical and implementable and their effectiveness are showcased by either Field Programmable Gate Array (FPGA) or Application-Specific Integrated Circuit (ASIC) synthesis.
Article
Full-text available
Channel coding plays a pivotal role in ensuring reliable communication over wireless channels. With the growing need for ultra-reliable communication in emerging wireless use cases, the significance of channel coding has amplified. Furthermore, minimizing decoding latency is crucial for critical-mission applications, while optimizing energy efficiency is paramount for mobile and the Internet of Things (IoT) communications. As the fifth generation (5G) of mobile communications is currently in operation and 5G-advanced is on the horizon, the objective of this paper is to assess prominent channel coding schemes in the context of recent advancements and the anticipated requirements for the sixth generation (6G). In this paper, after considering the potential impact of channel coding on key performance indicators (KPIs) of wireless networks, we review the evolution of mobile communication standards and the organizations involved in the standardization, from the first generation (1G) to the current 5G, highlighting the technologies integral to achieving targeted KPIs such as reliability, data rate, latency, energy efficiency, spectral efficiency, connection density, and traffic capacity. Following this, we delve into the anticipated requirements for potential use cases in 6G. The subsequent sections of the paper focus on a comprehensive review of three primary coding schemes utilized in past generations and their recent advancements: low-density parity-check (LDPC) codes, turbo codes (including convolutional codes), and polar codes (alongside Reed-Muller codes). Additionally, we examine alternative coding schemes like Fountain codes (also known as rate-less codes), sparse regression codes, among others. Our evaluation includes a comparative analysis of error correction performance and the performance of hardware implementation for these coding schemes, providing insights into their potential and suitability for the upcoming 6G era. Lastly, we will briefly explore considerations such as higher-order modulations and waveform design, examining their contributions to enhancing key performance indicators in conjunction with channel coding schemes.
Article
In this letter, we present an efficient method for constructing a family of quasi-cyclic low-density parity-check (QC-LDPC) codes specified only by one single exponent matrix that can support multiple lifting sizes. Our method adopts the small-lifting-size-first design strategy and the resulting exponent matrix of larger lifting size has non-decreasing girth. Numerical results show that all constituent codes can perform as well as (outperform) the CCSDS (5G) LDPC codes over the AWGN channel with the iterative decoding algorithms. This fact demonstrates the feasibility and validity of our proposed method and makes it competitive in some applications, e.g., enhancing short and medium-length LDPC codes to support longer length.
Article
M. Fossorier proposed how to determine the necessary and sufficient conditions for the existence of cycles in the Tanner graph of quasi‐cyclic LDPC (QC‐LDPC) codes, which has been widely investigated in the study of LDPC codes. This paper presents some new necessary and sufficient conditions for the existence of cycles with arbitrary lengths and proposes a simple and novel method for counting cycles of QC‐LDPC codes based on the improved conditions. Numerical results show that, compared with the existing methods, the presented method is effective and feasible and can enumerate cycles of QC‐LDPC codes in a cyclic‐shift way.
Article
This paper proposes a new low-density parity-check (LDPC) code called Matryoshka globally-coupled (MGC) LDPC code. We give the definition of $N$ -fold MGC-LDPC code which consists of $N$ layers Matryoshka-style codes, i.e., $\mathcal {C}_{\mathrm {mgc}}\left ({1}\right), \mathcal {C}_{\mathrm {mgc}}\left ({2}\right),\ldots,\mathcal {C}_{\mathrm {mgc}}\left ({N}\right)$ . Moreover, the $N$ Matryoshka-style codes can form a Matryoshka chain $\mathcal {C}_{\mathrm {mgc}}\left ({1}\right) \prec \mathcal {C}_{\mathrm {mgc}}\left ({2}\right) \prec \cdots \prec \mathcal {C}_{\mathrm {mgc}}\left ({N}\right)$ , which indicates that a high-layer Matryoshka-style code contains a low-layer Matryoshka-style code just like the Matryoshka dolls. Thus, the proposed $N$ -fold MGC-LDPC code naturally has rate-compatible feature. Based on the superposition (SP) construction, we present truncating and masking methods to construct the base matrices (BMs) of MGC-LDPC codes. More importantly, we introduce the double lower triangular (DLT) form of parity-check matrix for further developing a recursive encoding scheme for MGC-LDPC codes. With the help of the proposed encoding scheme, the local codes of MGC-LDPC code can be independently encoded, and the $n$ th layer Matryoshka-style codeword can be recursively obtained by the $\left ({n - 1}\right)$ th layer Matryoshka-style code and the local codes in $n$ th layer Matryoshka-style code for $2 \leq n \leq N$ . Simulations show that MGC-LDPC codes can perform well over both the additive white Gaussian noise channel (AWGNC) and binary erasure channel (BEC), and provide a flexible rate-compatible feature to satisfy the requirements of different scenarios.
Conference Paper
Full-text available
Presented in this paper is a reduced-complexity iterative decoding scheme for quasi-cyclic (QC) LDPC codes. This decoding scheme is devised based on the section-wise cyclic structure of the parity-check matrix of a QC-LDPC code. Using this decoding scheme, the hardware implementation complexity of a QC-LDPC decoder can be significantly reduced without performance degradation. A high-rate QC-LDPC code that can achieve a very low error-rate without a visible error-floor is used to demonstrate the effectiveness of the proposed decoding scheme. Also presented in this paper are two other high-rate QC-LDPC codes and a method for constructing rate -1/2 QC-LDPC codes whose Tanner graphs have girth 8. All the codes constructed perform well with low error-floor using the proposed decoding scheme.
Article
Full-text available
Channel coding lies at the heart of digital communication and data storage, and this detailed introduction describes the core theory as well as decoding algorithms, implementation details, and performance analyses. Known for their writing clarity, Professors Ryan and Lin provide the latest information on modern channel codes, including turbo and low-density parity-check (LDPC) codes. They also present detailed coverage of BCH codes, Reed-Solomon codes, convolutional codes, finite geometry codes, and product codes, providing a one-stop resource for both classical and modern coding techniques. Assuming no prior knowledge in the field of channel coding, the opening chapters begin with basic theory to introduce newcomers to the subject. Later chapters then extend to advanced topics such as code ensemble performance analyses and algebraic code design. 250 varied and stimulating end-of-chapter problems are also included to test and enhance learning, making this an essential resource for students and practitioners alike.
Conference Paper
The masking matrix plays an important role in constructing new classes of regular and irregular quasi-cyclic low density parity check (QC-LDPC) codes. By coupling two identical graphs in a special way, we present a new structure of the masking matrix, whose Tanner graph can be seen as a protograph. From this perspective, we propose a Gaussian Approximation algorithm for protograph-based LDPC codes to analyze the asymptotic performance of this class of codes. It is shown that, although the proposed structure of the masking matrix has almost the same convergence threshold as the conventional one produced randomly by progressive edge growth (PEG) algorithm, the former converges faster than the latter. Simulation results illustrate that the QC-LDPC code constructed by the proposed structure of the masking matrix has about 0.2dB coding gains compared with the conventional one.
Article
Cyclic and quasi-cyclic algebraic LDPC codes constructed based on finite fields, finite geometries, and combinatorial designs can achieve excellent performance in terms of error rate, error floor and rate of decoding convergence with iterative decoding. However, the relatively high density of the parity-check matrix of an algebraic cyclic or quasi-cyclic LDPC code makes the hardware implementation complexity of the decoder quite large, which may be a critical issue in practical applications. This paper presents an effective reduced-complexity algorithm for decoding algebraic cyclic and quasi-cyclic LDPC codes based on the block cyclic structure and cyclic grouping of the rows of their parity-check matrices. The decoding of a code is carried out based on a single small submatrix of the parity-check matrix of the code in a revolving manner. The proposed decoding algorithm significantly reduces the hardware implementation complexity and the size of memory required to store information.
Article
An efficient method for counting short cycles in the Tanner graphs of quasi cyclic (QC) protograph low-density parity-check (LDPC) codes is presented. The method is based on the relationship between the number of short cycles in the graph and the eigenvalues of the directed edge matrix of the graph. We demonstrate that for a QC protograph LDPC code, the complexity of computing such eigenvalues can be reduced significantly by representing the directed edge matrix as a block circulant matrix. Numerical results are presented to show the lower complexity of the proposed method compared to the existing algorithms for counting short cycles. These results also reveal that QC LDPC codes on average have a superior short cycle and girth distribution compared to similar randomly constructed codes.
Article
The authors report the empirical performance of Gallager's low density parity check codes on Gaussian channels. They show that performance substantially better than that of standard convolutional and concatenated codes can be achieved; indeed the performance is almost as close to the Shannon limit as that of turbo codes
Article
The authors report the empirical performance of Gallager's low density parity check codes on Gaussian channels. It is shown that performance substantially better than that of standard convolutional and concatenated codes can be achieved, indeed the performance is almost as close to the Shannon limit as that of Turbo codes