0% found this document useful (0 votes)
109 views21 pages

Design of LDPC Codes: A Survey and New Results

This document provides a survey of techniques for designing low-density parity-check (LDPC) codes. It begins by summarizing the extrinsic information transfer (EXIT) chart technique for determining near-optimal degree distributions for LDPC code ensembles. The paper then discusses approaches such as protograph-based codes, accumulator-based codes including quasi-cyclic accumulator codes, codes based on finite geometries, and codes based on Reed-Solomon codes. It focuses on techniques that are most suitable for practical applications, including codes with low-complexity encoding and good error correction performance. The survey covers several code design methods and points to further literature on the topic.

Uploaded by

kunduru_reddy_3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views21 pages

Design of LDPC Codes: A Survey and New Results

This document provides a survey of techniques for designing low-density parity-check (LDPC) codes. It begins by summarizing the extrinsic information transfer (EXIT) chart technique for determining near-optimal degree distributions for LDPC code ensembles. The paper then discusses approaches such as protograph-based codes, accumulator-based codes including quasi-cyclic accumulator codes, codes based on finite geometries, and codes based on Reed-Solomon codes. It focuses on techniques that are most suitable for practical applications, including codes with low-complexity encoding and good error correction performance. The survey covers several code design methods and points to further literature on the topic.

Uploaded by

kunduru_reddy_3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO.

3, SEPTEMBER 2006 191

Design of LDPC Codes: A Survey and New Results


Gianluigi Liva, Shumei Song, Lan Lan, Yifei Zhang, Shu Lin, and William E. Ryan
Original scientific paper

Abstract— This survey paper provides fundamentals in the results as well. While it is tutorial in some aspects, it is not
design of LDPC codes. To provide a target for the code designer, entirely a tutorial paper, and the reader is expected to be fairly
we first summarize the EXIT chart technique for determining versed on the topic of LDPC codes. Tutorial coverages of
(near-)optimal degree distributions for LDPC code ensembles.
We also demonstrate the simplicity of representing codes by LDPC codes can be found in [7][8]. The purpose of this paper
protographs and how this naturally leads to quasi-cyclic LDPC is to give the reader a detailed overview of various LDPC code
codes. The EXIT chart technique is then extended to the design approaches and also to point the reader to the literature.
special case of protograph-based LDPC codes. Next, we present While our emphasis is on code design for the binary-input
several design approaches for LDPC codes which incorporate AWGN channel (BI-AWGNC), the results in [9][10][11][12]
one or more accumulators, including quasi-cyclic accumulator-
based codes. The second half the paper then surveys several demonstrate that a LDPC code that is good on the BI-AWGNC
algebraic LDPC code design techniques. First, codes based on tends to be universally good and can be expected to be good
finite geometries are discussed and then codes whose designs on most wireless, optical, and storage channels.
are based on Reed-Solomon codes are covered. The algebraic We favor code designs which are most appropriate for appli-
designs lead to cyclic, quasi-cyclic, and structured codes. The cations, by which we mean codes which have low-complexity
masking technique for converting regular quasi-cyclic LDPC
codes to irregular codes is also presented. Some of these results encoding, good waterfall regions, and low error floors. Thus,
and codes have not been presented elsewhere. The paper focuses we discuss quasi-cyclic (QC) codes because their encoders
on the binary-input AWGN channel (BI-AWGNC). However, may be implemented by shift-register circuits [13]. We also
as discussed in the paper, good BI-AWGNC codes tend to be discuss accumulator-based codes because low-complexity en-
universally good across many channels. Alternatively, the reader coding is possible from their parity-check matrices, whether
may treat this paper as a starting point for extensions to more
advanced channels. The paper concludes with a brief discussion they are quasi-cyclic or not. The code classes discussed tend
of open problems. to be the ones (or related to the ones) used in applications
or adopted for standards. Due to time and space limitations,
we cannot provide a complete survey. The present survey is
I. I NTRODUCTION biased toward the expertise and interests of the authors.
The class of low-density parity-check (LDPC) codes repre- Before a code can be designed, the code designer needs
sents the leading edge in modern channel coding. They have to know the design target. For this reason, Section II first
held the attention of coding theorists and practitioners in the briefly reviews the belief propagation decoder for LDPC
past decade because of their near-capacity performance on a codes and then presents the so-called extrinsic information
large variety of data transmission and storage channels and transfer (EXIT) chart technique for this decoder. The EXIT
because their decoders can be implemented with manageable chart technique allows one to obtain near-optimal parameters
complexity. They were invented by Gallager in his 1960 for LDPC code ensembles which guide the code designer.
doctoral dissertation [1] and were scarcely considered in the The EXIT technique is extended in Section III to the case
35 years that followed. One notable exception is Tanner, who of codes based on protographs. Section IV considers LDPC
wrote an important paper in 1981 [2] which generalized LDPC codes based on accumulators. The code types treated in that
codes and introduced a graphical representation of LDPC section are: repeat-accumulate, irregular repeat-accumulate,
codes, now called Tanner graphs. Apparently independent of irregular repeat-accumulate-accumulate, generalized irregular
Gallager’s work, LDPC codes were re-invented in the mid- repeat-accumulate, and accumulate-repeat-accumulate. That
1990’s by MacKay, Luby, and others [3][4][5][6] who noticed section also gives examples of quasi-cyclic code design using
the advantages of linear block codes which possess sparse protograph (or base matrix) representations. Section V surveys
(low-density) parity-check matrices. the literature on cyclic and quasi-cyclic LDPC code design
This papers surveys the state-of-the-art in LDPC code based on finite geometries. Section VI presents several LDPC
design for binary-input channels while including a few new code design techniques based on Reed-Solomon codes. Section
VII presents the masking technique for converting regular QC
Manuscript received July 04, 2006; revised August 25, 2006. This work codes to irregular QC codes to conform to prescribed code
was supported by the University of Bologna, NASA-Goddard, and NSF. parameters. Section VIII contains some concluding remarks
This paper has been approved by F. Chiaraluce. and some open problems.
Gianluigi Liva is with the University of Bologna (email:
gliva@deis.unibo.it).
Shumei Song, Lan Lan, and Shu Lin are with the University of Cal-
ifornia at Davis (e-mail: ssmsong@ece.ucdavis.edu, squashlan@gmail.com, II. D ESIGN VIA EXIT C HARTS
shulin@ece.ucdavis.edu).
Yifei Zhang and William E. Ryan are with the University of Arizona, U.S.A. We start with an m × n low-density parity-check matrix
(e-mail: {yifeiz, ryan}@ece.arizona.edu). H, which corresponds to a code with design rate (n − m)/n,
c 2006 CCIS
1845-6421/06/6101 °
192 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

C1 C2 Cm We now discuss the EXIT chart technique [14][15][11] for


... this decoder and channel model. The idea is that the VNDs
and the CNDs work cooperatively and iteratively to make
bit decisions, with the metric of interest generally improving
with each half-iteration. A transfer curve which plots the
input metric versus the output metric can be obtained for
both the VNDs and the CNDs, where the transfer curve for
the VNDs depends on the channel SNR. Further, since the
l l l l l output metric for one processor is the input metric for its
...
companion processor, one can plot both transfer curves on
V1 V2 V3 Vn−1 Vn the same axes, but with the abscissa and ordinate reversed
for one processor. Such a chart aids in the prediction of the
Fig. 1. Tanner graph representation of LDPC codes. decoding threshold of the ensemble of codes characterized by
given VN and CN degree distributions: the decoding threshold
is the SNR at which the two transfer curves just touch,
which could be less than the actual rate, R = k/n, where k precluding convergence of the two processors. EXIT chart
is the number of information bits per codeword. H gives rise computations are thus integral to the optimization of Tanner
to a Tanner graph which has m check nodes, one for each graph node degree distributions for LDPC codes and are the
row of H, and n variable nodes, one for each column of H. main computation in the optimization process. We emphasize
Considering the general case in which H has non-uniform row that decoding threshold prediction techniques such as EXIT
and column weight, the Tanner graph can be characterized charts or density evolution [16] assume a graph with no
by degree assignments {dv (i)}ni=1 and {dc (j)}m j=1 , where cycles, an infinite codeword length, and an infinite number
dv (i) is the degree of the i-th variable node and dc (j) is the of decoding iterations.
degree of the j-th check node. Such a graph, depicted in Fig. An EXIT chart example is depicted in Fig. 2 for the
1, is representative of the iterative decoder, with each node ensemble of regular LDPC codes on the BI-AWGNC with
representing a soft-in/soft-out processor (or node decoder). dv (i) = dv = 3 for i = 1, ..., n, and dc (j) = dc = 6 for
We shall assume the BI-AWGNC in our description of the j = 1, ..., m. In the figure, the metric used for the transfer
LDPC iterative decoder. In this model, a received channel curves is extrinsic mutual information, giving rise to the name
sample y is given by y = x + w, where x = (−1)c ∈ {±1} extrinsic information transfer (EXIT) chart. (The notation
is the bipolar representation of the transmitted code bit c ∈ used in the figure is explained below.) Also shown in the
{0, 1}
¡ and ¢w is a white Gaussian noise sample distributed figure is the decoding trajectory corresponding to these EXIT
as η 0, σ 2w , where σ 2w = N0 /2, following convention. The curves. As the SNR increases, the top curve shifts upwards,
channel bit log-likelihood ratios (LLRs) are computed as increasing the ”tunnel” between the two curves and thus the
µ ¶ decoder convergence rate. The SNR for this figure is just
p (x = +1 | y) 2y
Lch = log = 2. (1) above the decoding threshold for codes with (dv , dc ) = (3, 6),
p (x = −1 | y) σw
(Eb /N0 )thres = 1.1 dB. Other metrics, such as SNR and mean
In one iteration of the conventional, flooding-schedule iter- [17][18] and error probability [19] are possible, but mutual
ative decoder, the variable node decoders (VNDs) first process information generally gives the most accurate prediction of the
their input LLRs and send the computed outputs (messages) to decoding threshold [14][20] and is a universally good metric
each of their neighboring check node decoders (CNDs); then across many channels [9][10][11][12].
the CNDs process their input LLRs and send the computed To facilitate EXIT chart computations, the following Gaus-
outputs (messages) to each of their neighboring VNDs. More sian assumption is made. First, we note that the LLR Lch
specifically, the message from the i-th VND to the j-th CND in (1) corresponding to the BI-AWGNC is Gaussian with
is X mean µch = 2x/σ 2w and variance σ 2ch = 4/σ 2w . From this
Li→j = Lch,i + Lj 0 →i (2) and the usual assumption that the all-zeros codeword was
j 0 6=j transmitted (thus, xi = +1 for i = 1, ..., n), σ 2ch = 2µch .
This is equivalent to the symmetric condition of [16] which
where Lj 0 →i is the incoming message from CND j 0 to VND
states that the conditional pdf of an LLR value L must satisfy
i and where the summation is over the dv (i) − 1 check node
pL (l | x) = pL (−l | x) exl . Now, it has been observed that
neighbors of variable node i, excluding check node j. The
under normal operating conditions and after a few iterations,
message from CND j to VND i is given by
à ! the LLRs Li→j and Lj→i are approximately Gaussian and,
−1 Q further, if they are assumed to be symmetric-Gaussian, as
Lj→i = 2 tanh tanh (Li0 →j ) (3) is the case for Lch , the decoding threshold predictions are
i0 6=i
very accurate (e.g., when compared to the more accurate,
where Li0 →j is the incoming message from VND i0 to CND but more computationally intensive density evolution results
j and where the product is over the dc (j) − 1 variable node [16]). Moreover, the symmetric-Gaussian assumption vastly
neighbors of check node j, excluding variable node i . This simplifies EXIT chart analyses.
decoding algorithm is called the sum-product algorithm (SPA). We now consider the computation of EXIT transfer curves
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 193

1
For convenience we write this as
0.9
µq ¶
IE,V = J (σ) = J 2 2
(dv − 1) σ A + σ ch , (5)
0.8
IEV(Eb/N0, IAV)

0.7 following [15]. To plot IE,V versus IA,V , where IA,V is the
IEV(Eb/N0, IAV) or IAC(IEC)

0.6
mutual information between the VND inputs Lj→i and the
decoding channel bits xi , we apply the symmetric-Gaussian assumption
0.5 trajectory
to these inputs so that
0.4 IAC(IEC) dv = 3, dc = 6
IA,V = J (σ A ) (6)
0.3 Eb/N0 = 1.1 dB

and
0.2 µq ¶
2
0.1 IE,V = J (σ) = J (dv − 1) [J −1 (IA,V )] + σ 2ch . (7)
0
0 0.1 0.2 0.3 0.4
I
AV
0.5
or I
EC
0.6 0.7 0.8 0.9 1
The inverse function J −1 (·) exists since J (σ A ) is monotonic
in σ A . Lastly, IE,V can be parameterized by Eb /N0 for
Fig. 2. EXIT chart example for (dv , dc ) = (3, 6) regular LDPC code. a given code rate R since σ 2ch = 4/σ 2w = 8R (Eb /N0 ) .
Approximations of the functions J (·) and J −1 (·) are given
in [15].
for both VNDs and the CNDs, first for regular LDPC codes To obtain the CND EXIT curve, IE,C versus IA,C , we can
and then for irregular codes. Following [14][15], excluding the proceed as we did in the VND case, e.g., begin with the
inputs from the channel, we consider VND and CND inputs to symmetric-Gaussian assumption. However, this assumption is
be a priori information, designated by ‘A’, and their outputs to not sufficient because determining the mean and variance for
be extrinsic information, designated by ‘E’. Thus, an extrinsic a CND output Lj→i is not straightforward, as is evident from
information transfer curve for the VNDs plots the extrinsic the computation for CNDs in (3). Closed-form expressions
information IE as a function of its input a priori information, have been derived for the check node EXIT curves [21][22].
IA , and similarly for the CNDs. Computer-based numerical techniques can also be used to
The VND EXIT curve, IE,V versus IA,V , under the obtain these curves. However, the simplest technique exploits
symmetric-Gaussian assumption for VND inputs, Lch,i and the following duality relationship (proven to be exact for the
{Lj 0 →i }, and outputs, Li→j , can be obtained as follows. binary erasure channel [11]): the EXIT curve for a degree-dc
From (2) and an independent-message assumption, Li→j is check node (i.e., rate-(dc − 1)/dc single-parity check (SPC)
Gaussian with variance σ 2 = σ 2ch + (dv − 1) σ 2A (hence, mean code) and that of a degree-dc variable node (i.e., rate-1/dc
σ 2 /2). The mutual information between the random variable repetition code) are related as
X (corresponding to the realization xi ) and the extrinsic LLR IE,SP C (dc , IA ) = 1 − IE,REP (dc , 1 − IA ) .
Li→j is therefore (for simplicity, we write L for Li→j , x for
xi , and pL (l | ±) for pL (l | x = ±1)) This relationship was shown to be very accurate for the BI-
AWGNC in [21][22]. Thus,
IE,V = H(X) − H(X | L)
£ ¡ ¢¤ IE,C = 1 − IE,V (σ ch = 0, dv ← dc , IA,V ← 1 − IA,C )
= 1 − E log2 1/pX | L (x | l) µq ¶
X 1Z ∞ = 1−J
2
(dc − 1) [J −1 (1 − IA,C )] . (8)
= 1− pL (l | x)
2 −∞
x=±1
µ ¶ For irregular LDPC codes, IE,V and IE,C are computed as
pL (l | +) + pL (l | −) weighted averages. The weighting is given by the coefficients
· log2 dl
pL (l | x) of the P ”edge perspective” degreePdistribution polynomials
Z ∞ µ ¶ dv dc
pL (l | −) λ(z) = d=1 λd z d−1 and ρ(z) = d=1 ρd z d−1 , where λd is
= 1− pL (l | +) log 1 + dl the fraction of edges in the Tanner graph connected to degree-d
pL (l | +)
Z−∞∞ variable nodes, ρd is the fraction of edges connected to degree-
¡ ¢
= 1− pL (l | +) log 1 + e−l dl d check nodes, and λ(1) = ρ(1) = 1. Then, for irregular
−∞ LDPC codes,
where the last line follows from the symmetry condition and dv
X
because pL (l | x = −1) = pL (−l | x = +1) for Gaussian IE,V = λd IE,V (d, IA,V ) (9)
densities. ¡ ¢
d=1

Since Li→j ∼ η σ 2 /2, σ 2 (when conditioned on xi = where IE,V (d) is given by (7) with dv replaced by d, and
+1), we have dc
X
Z ∞ IE,C = ρd IE,C (d, IA,C ) (10)
1 2 ¡ ¢
e−(l−σ /2) /2σ log 1 + e−l dl .
2 2
IE,V = 1 − √ d=1
−∞ 2πσ
(4) where IE,C (d) is given by (8) with dc replaced by d.
194 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

0.9
I (I , E /N )
EV AV b 0
0.8
)
AC EC

0.7
(I
(I , E /N ) or I

0.6
Eb/N0 = 0.55 dB
I (I )
0

0.5 AC EC (Threshold = 0.414 dB)


b

Node perspective degree distributions:


0.4
EV AV

2 3 9
VNs: 0.5z + 0.22z + 0.12z + 0.16z
4 7
CNs: 0.17z + 0.83z
0.3
I

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1
IAV or IEC Fig. 4. Illustration of the protograph copy and permute procedure with q = 4
copies.
Fig. 3. EXIT chart for rate-1/2 irregular LDPC code. (Ack: S. AbuSurra)

preserves the decoding threshold properties of the protograph.


It has been shown [11] that to optimize the decoding A protograph can possess parallel edges, i.e., two nodes can
threshold on the binary erasure channel, the shapes of the VND be connected by more than one edge. For LDPC codes,
and CND transfer curves must be well matched in the sense the copy-and-permute procedure must eliminate such parallel
that the CND curve fits inside the VND curve (an example connections in order to obtain a derived graph appropriate for
will follow). This situation has also been observed on the BI- a parity-check matrix.
AWGNC [15]. Further, to achieve a good match, the number It is convenient to choose the parity-check matrix H as an
of different VN degrees need only be about 3 or 4 and the M × N array of Q × Q (weight-one) circulant permutation
number of different CN degrees need only be 1 or 2. matrices (some of which may be the Q × Q zero matrix).
Example 1: We consider the design of a rate-1/2 irreg- When H is an array of circulants, the LDPC code will be
ular LDPC code with four possible VN degrees and two quasi-cyclic. Such a structure has a favorable impact on both
possible CNR degrees. Given than λ(1) = ρ(1) = 1 and the encoder and the decoder. The encoder for QC codes can
R1
1
R = 1 − 0 ρ(z)dz/ 0 λ(z)dz [16],[4], only two of the be implemented with shift-register circuits with complexity
four coefficients for λ(z) need be specified and only one of linearly proportional to m for serial encoding and to n for
the two for ρ(z) need be specified. A non-exhaustive search parallel encoding [13]. By contrast, encoders for unstructured
yielded λ(z) = 0.267z + 0.176z 2 + 0.127z 3 + 0.430z 9 and LDPC codes require much more work. The decoder for QC
ρ(z) = 0.113z 4 + 0.887z 7 with a decoding threshold of LDPC codes can be implemented in a modular fashion by
(Eb /N0 )thres = 0.414 dB. The EXIT chart for Eb /N0 = 0.55 exploiting the circulant-array structure of H [28][29].
dB is presented in Fig. 3. The figure also gives the ”node Below we present an extension of the EXIT approach
perspective” degree distribution information. ¤ to codes defined by protographs. This extension is a multi-
The references contain additional information on EXIT dimensional numerical technique and as such does not have
charts, including the so-called area property, EXIT charts for a two-dimensional EXIT chart representation of the itera-
the Rayleigh channel, for higher-order modulation, and for tive decoding procedure. Still, the technique yields decoding
multi-input/multi-output channels [14][15][11][23]. thresholds for LDPC code ensembles specified by protographs.
This multi-dimensional technique is facilitated by the rela-
tively small size of protographs and permits the analysis of
III. D ESIGN OF P ROTOGRAPH -BASED C ODES protograph code ensembles characterized by the presence of
A. Definition and Problem Statement critical node types, i.e., node types which can lead to failed
EXIT-based convergence of code ensembles. Examples of
A protograph [24][25][26][27] is a relatively small bipartite
critical node types are degree-1 variable nodes and punctured
graph from which a larger graph can be obtained by a copy-
variable nodes.
and-permute procedure: the protograph is copied Q times,
A code ensemble specified by a protograph is a refinement
and then the edges of the individual replicas are permuted
(sub-ensemble) of a code ensemble specified simply by the
among the replicas (under restrictions described below) to
protograph’s (hence, LDPC code’s) degree distributions. To
obtain a single, large graph. An example is presented in Fig.
demonstrate this, we introduce the adjacency matrix B = [bji ]
4. The permuted edge connections are specified by the parity-
for a protograph, also called a base matrix [25], where bji is
check matrix H. Note that the edge permutations cannot be
the number of edges between CN j and VN i. As an example,
arbitrary. In particular, the nodes of the protograph are labeled
for the protograph at the top of Fig. 4,
so that if variable node V is connected to check node C in µ ¶
the protograph, then variable node V in a replica can only 2 1 1
B= .
connect to one of the Q replicated C check nodes. Doing so 1 1 1
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 195

Consider also an alternative protograph and base matrix spec- code bits associated with “type i” VNs and the LLRs Lj→i
j→i
ified by µ ¶ sent from “type j” CNs to these VNs. Then, because IE,C
0 2 0 2 i→j
acts as a priori mutual information in the calculation of IE,V ,
B = .
1 2 0 following (7) we have (given an edge exists between CN j
The degree distributions of both of these protographs are and VN i, i.e., given bji 6= 0)
identical and are easily seen to be vuM 
u X ³ ´2
λ(z) =
4 3
z + z2
i→j
IE,V = J t c→i )
(bci − δ cj ) J −1 (IE,C + σ 2ch,i  ,
7 7 c=1
3 2 4 3 (11)
ρ(z) = z + z .
7 7 where δ cj = 1 when c = j and δ cj = 0 when c 6= j. σ 2ch,i is
i→j
However, the ensemble corresponding to B has a threshold set to zero if code bit i is punctured. Similarly, because IE,V
j→i
of Eb /N0 = 0.78 dB and that corresponding to B0 has a acts as a priori mutual information in the calculation of IE,C ,
threshold at 0.83 dB. (For reference, density evolution [16] following (8) we have (when bji 6= 0)
applied to the above degree distributions gives 0.817 dB.) vuN 
As another example, let u X ³ ´2
 
j→i
IE,C = 1 − J t v→j
(bjv − δ ci ) J −1 (1 − IE,V ) .
1 2 1 1 0 v=1
B = 2 1 1 1 0  (12)
1 2 0 0 1 The multidimensional EXIT algorithm can now be presented
and as follows.
 
1 3 1 0 0 1) Initialization. Select Eb /N0 . Initialize a vector σ ch =
B0 =  2 1 1 1 0 , (σ ch,0 , . . . , σ ch,N −1 ) such that
1 1 0 1 1 µ ¶
Eb
noting that they have identical degree distributions. We also σ ch,i = 8R
N0 i
puncture the bits corresponding to the second column in
each base matrix. Using the multidimensional EXIT algorithm where (Eb /N0 )i equals zero when xi is punctured and
described below, the thresholds for B and B0 in this case were equals the selected Eb /N0 otherwise.
computed to be 0.48 dB and +∞, respectively. 2) VN to CN. For i = 0, . . . , N − 1 and j = 0, . . . , M − 1,
Thus, standard EXIT analysis based on degree distributions compute (11).
is inadequate for protograph-based LDPC code design. In fact, 3) CN to VN. For i = 0, . . . , N − 1 and j = 0, . . . , M − 1,
the presence of degree-1 variable nodes as in our second compute (12).
example implies that there is a term in the summation in (9) 4) Cumulative mutual information. For i = 0, . . . , N − 1,
of the form compute
vuM ³ 
λ1 IE,V (1, IA,V ) = J (σ ch ) . uX ´2
i
ICM I =J
t c→i )
J −1 (IE,C + σ 2ch,i  .
Since J (σP ch ) is always less than one for 0 < σ ch < ∞ c=1
dv
and since d=1 λd = 1, the summation in (9), that is, IE,V ,
i
will be strictly less than one. Again, standard EXIT analysis 5) If ICM I = 1 (up to desired precision) for all i, then
implies failed convergence for codes with the same degree stop; otherwise, go to step 2.
distributions as B and B0 . This is in contrast with the fact This algorithm converges only when the selected Eb /N0
that codes in the B ensemble do converge when the SNR is above the threshold. Thus, the threshold is the lowest
exceeds the threshold of 0.48 dB. i
value of Eb /N0 for which all ICM I converge to 1. As
In the following, a multidimensional EXIT technique shown in [30][31], the thresholds computed by this algorithm
[30][31] will be presented which overcomes this issue and are typically within 0.05 dB of those computed by density
allows the determination of the decoding threshold for codes evolution. Recalling that many classes of multi-edge type
based on protographs (possibly with punctured nodes). (MET) [26] LDPC codes rely on simple protographs, the
above algorithm provides an accurate threshold estimation for
B. Multidimensional EXIT Analysis MET ensembles, with a remarkable reduction in computational
complexity relative to the density evolution analysis proposed
The algorithm presented in [30][31] eliminates the average in [26].
in (9) and considers the propagation of the messages on a
decoding tree which is specified by the protograph of the
IV. ACCUMULATOR -BASED C ODE D ESIGNS
ensemble. Let B = [bji ] be the M × N base matrix for the
protograph under analysis. Let IE,V i→j
be the extrinsic mutual A. Repeat-Accumulate Codes
information between code bits associated with “type i” VNs This section provides an overview of the design of LDPC
and the LLRs Li→j sent from these VNs to “type j” CNs. codes that can be considered to be a concatenation of a set
j→i
Similarly, let IE,C be the extrinsic mutual information between of repetition codes with one or more accumulators, through
196 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

an interleaver. The first example of accumulator-based codes


were the so-called repeat-accumulate (RA) codes [32]. Despite
their simple structure, they were shown to provide good
performance and, more importantly, they paved a path toward
the design of efficiently encodable LDPC codes. RA codes
and other accumulator-based codes are LDPC codes that can
be decoded as serial turbo codes or as LDPC codes.
An RA code consists of a serial concatenation of a single
rate-1/q repetition code through an interleaver with an accu-
mulator having transfer function 1/(1 ⊕ D). RA codes can
be either non-systematic or systematic. In the first case, the
accumulator output, p, is the codeword and the code rate is
1/q. For systematic RA codes, the information word, u, is
combined with p to yield the codeword c = [u p] and so
that the code rate is 1/(1 + q). RA codes perform reasonably
well on the AWGN channel, and they tend to approach the
channel capacity as their rate R → 0 and their block length
n → ∞. Their main limitations are the code rate, which cannot
be higher than 1/2, and the performance of short and medium-
length RA codes. The following subsections will present a
brief overview of the major enhancements to RA codes which Fig. 5. Tanner graph (a) and encoder (b) for irregular repeat-accumulate
permit operation closer to capacity for both high and low rates. codes.

and ā as the average of the degrees {dc,j },


B. Irregular Repeat-Accumulate codes
m
1 X
The systematic irregular repeat-accumulate (IRA) codes ā = dc,j .
generalize the systematic RA codes in that the repetition m j=1
rate may differ across the k information bits and that a Then the code rate for systematic IRA codes is
variable number of bits in the repeated word are combined
(modulo 2) prior to sending them through the accumulator. 1
R= .
Irregular repeat-accumulate [33] codes provide several ad- 1 + q/ā
vantages over RA codes. They allowing both flexibility in For non-systematic IRA codes, R = ā/q.
the choice of the repetition rate for each information bit so The parity-check matrix for systematic RA and IRA codes
that high rate codes may be designed and capacity is more has the form
easily approached. 57.8317in;original-height 7.0188in;cropleft H = [Hu Hp ], (13)
”0”;croptop ”1”;cropright
The Tanner graph for IRA codes is presented in Fig. 5(a) where Hp is an m × m ”dual-diagonal” square matrix,
and the encoder structure (to be discussed further later) is  
1 (1)
depicted in Fig. 5(b). The variable repetition rate is accounted  1 1 
for in the graph by letting db,i vary with i. The accumulator  
 . .. . .. 
is represented by the right-most part of the graph, where the Hp =   , (14)
 
dashed edge is added to include the possibility of a tail-biting  1 1 
trellis. Also, we see that dc,j interleaver output bits are added 1 1
(modulo 2) to produce the j-th accumulator input. Fig. 5 also where the upper-right 1 is included for tailing-biting ac-
includes the representation for RA codes. As indicated in the cumulators. For RA codes, Hu is a regular matrix having
table in the figure, for an RA code, each information bit node column weight q and row weight 1. For IRA codes, Hu has
connects to exactly q check nodes (db,i = q) and each check column weights {db,i } and row weights {dc,j }. The encoder
node connects to exactly one information bit node (dc,j = 1). of Fig. 5(b) is obtained by noting£ that the generator matrix
We remark that {db,i } and {dc,j } can be related to our earlier ¤
corresponding to H in (13) is G = I HTu H−T p and writing
notation, {dv (i)} and {dc (j)}, as follows: dv (i) = db,i for Hu as ΠT AT , where Π is a permutation matrix. Note also
i = 1, ..., k, dv (i) = 2 for i = k + 1, ..., n, and dc (j) = that H−T performs the same computation as 1/(1 ⊕ D) (and
p
dc,j + 2 for j = 1, ..., m. H−T exists only when the ”tail-biting 1” is absent). Two
p
To determine the code rate for an IRA code, define q to be encoding alternatives exist: (1) When the accumulator is not
the average repetition rate of the information bits tail-biting, one may use H to encode since one may solve
k for the parity bits sequentially from the equation cHT = 0
1X starting with the top row of H and moving on downward.
q= db,i ,
k i=1 (2) As discussed in the next section, quasi-cyclic IRA code
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 197

0
designs are possible, in which case the techniques of [13] may 10
SW:BER
be used. SW:FER
HW:BER
We remark that the choice of the degree distributions of −2
10
HW:FER
Shannon limit
the variable nodes for an IRA code are constrained by the
presence of (at least) n − k − 1 degree-2 variable nodes.
Although such a constraint ostensibly limits the code designer, −4
10

BER/FER
for rates R ≥ 1/2, EXIT analysis leads to optimized degree
distributions having approximately n − k − 1 degree-2 variable −6
10
nodes. Moreover, when the number of degree-2 variable nodes
is exactly n−k−1, the edge connections involving the degree-
2 variable nodes induced by the IRA structure are optimal in −8
10
the sense of avoiding low weight codewords [34][35].
IRA codes and a generalization will be discussed in the −10
next two sections. Additional information may be found in 10
0 0.5 1 1.5 2 2.5 3 3.5
Eb/N0 (dB)
the following references: [33][35][36][24][40][41] [42][43].
Fig. 6. Performance of a (2044,1024) S-IRA code on the BI-AWGNC.
HW=hardware simulator. SW=software simulator.
C. Structured IRA and IRAA Codes
Given the code rate, length, and degree distributions, an
IRA code is defined entirely by the matrix Hu (equivalently, where we have used the fact that Π−T = Π. Finally, we
by A and Π). While a random-like Hu would generally permute only the columns corresponding to the parity part of
give good performance, it is problematic for both encoder Hb , which gives
and decoder implementations. For, in this case, a substantial HS-IRA = [P ΠHp ΠT ]. (17)
amount of memory would be required to store the connection
information implicit in Hu . In addition, although standard It is easily shown that the parity part of HS-IRA , that is,
message-passing decoding algorithms for LDPC codes are ΠHp ΠT , is exactly in QC form,
inherently parallel, the physical interconnections required to  
I0 I1
realize a code’s bipartite graph becomes an implementation  I0 I0 
bottleneck and prohibits a fully parallel decoder [29]. Using a  
 . .. . .. 
structured Hu matrix mitigates these problems.  , (18)
 
Tanner [24] was the first to consider structured RA codes,  I0 I0 
more specifically, quasi-cyclic RA codes, which require tailbit- I0 I0
ing in the accumulator. Simulation results in [24] demonstrate where I0 is the Q × Q identity matrix and I1 is obtained from
that the QC-RA codes compete well with random-like RA I0 by cyclically shifting all of its rows leftward. Therefore,
codes and surpass their performance at high SNR values. HS-IRA corresponds to a quasi-cyclic IRA code since P is also
Similar ideas were applied to IRA codes in [29][44][36]. an array of Q×Q circulant permutation matrices. Observe that,
In [36], IRA codes with quasi-cyclic structure are called except for a re-ordering of the parity bits, HS-IRA describes the
structured IRA (S-IRA) codes. same code as Ha and Hb .
Toward the goal of attaining structure in H, one cannot As described in [36], in addition to simplifying encoder
simply choose Hu to be an array of circulant permutation and decoder implementations, the QC structure simplifies the
matrices. For, it is easy to show that doing so will produce a code design process. Simulation results for the example codes,
poor LDPC code in the sense of minimum distance (consider which are produced by the design algorithms proposed in
weight-2 encoder inputs with adjacent ones). Instead, the [36][37][38][39], show that the S-IRA codes perform as well
following strategy is proposed in [36]. Let P be an L×J array as IRA codes in the waterfall region and possess very low
of Q × Q circulant permutation matrices (for some convenient error floors. As an example, Fig. 6 depicts the performance of
Q). (Conditions for designing P to avoid 4-cycles, etc., are a rate-1/2 (2044, 1024) S-IRA code simulated in software and
described in [36].) Then set AT = P so that Hu = ΠT P hardware.1 It is seen that the floors, both bit error rate (BER)
and and frame error rate (FER), are quite low (it can be lower or
£ ¤
Ha = ΠT P Hp , (15) higher depending on the decoder implementation). Lastly, S-
IRA codes are suitable for rate-compatible code family design
where Hp represents the tailbiting accumulator. Note that m = [36].
L × Q and k = J × Q. We now consider irregular repeat-accumulate-accumulate
We now choose Π to be a standard deterministic ”row- (IRAA) codes which are obtained by concatenating the parity
column” interleaver so that row lQ + q in P becomes row arm of the IRA encoder of Fig. 5(b) with another accumulator,
qL + l in ΠT P, for all 0 ≤ l < L and 0 ≤ q < Q. Next, we through a permuter, as shown in Fig. 7. (ARAA codes were
permute the rows of Ha by Π−T to obtain
1 Acknowledgment to C. Jones of JPL for simulating this code for us on an
Hb = Π−T H = [P ΠHp ], (16) FPGA decoder.
198 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

0
10

−1
10

−2
10

−3
10
Fig. 7. IRAA encoder.

BER/FER
−4
10

−5
10

−6
BER:S−IRA(db,i=5)
10 FER:S−IRA(db,i=5)
BER:S−IRAA(d =3)
−7 b,i
10 FER:S−IRAA(db,i=3)

−8
10
0.5 1 1.5 2 2.5 3
E /N [dB]
b 0

Fig. 8. Rate-1/2 SIRA and SIRAA protographs for the codes in Fig. 9.
The shaded node in the SIRAA protograph represents punctured bits. SIRA: Fig. 9. Performance comparison between rate-1/2 S-IRA and S-IRAA codes
(Eb /N0 )thres = 0.97 dB. SIRAA: (Eb /N0 )thres = 1.1 dB. on the BI-AWGNC, n = 2048 and k = 1024.

considered in [49].) The IRAA codeword can be either c =


[u p] or c = [u b p], depending on whether the intermediate
parity bits b are punctured or not. The parity-check matrix of
the general IRAA code corresponding to Fig. 7 is
· ¸
Hu Hp 0
HIRAA = , (19)
0 ΠT1 Hp
Fig. 10. Rate-1/3 SIRA and SIRAA protographs for the codes in Fig. 11.
where Π1 is the interleaver between the two accumulators. SIR: (Eb /N0 )thres = 0.40 dB. SIRAA: (Eb /N0 )thres = 0.83 dB.
When the parity bits b are not transmitted, they are considered
to be punctured, that is, the log-likelihood ratios for these bits
are initialized by zeros before decoding. When an IRAA code IRAA code will outperform the S-IRA code due to its lower
is structured, we use the notation S-IRAA. error floor. ¤
Example 2: We compare the performance of rate-1/2 (2048,
1024) S-IRA and S-IRAA codes in this example. For the S- D. Generalized IRA codes
IRA code, db,i = 5 for all i and for the S-IRAA code, db,i = 3 Generalized IRA (G-IRA) codes [40][41] increase the flex-
for all i, and the intermediate parity vector b is not transmitted ibility in choosing degree distributions relative to IRA codes,
to maintain the code rate at 1/2. The protographs for these allowing, for example, the design of near-regular efficiently
codes are given in Fig. 8. Because decoder complexity is encodable codes. The encoding algorithms for G-IRA codes
proportional to the number of edges in a code’s parity-check are similar to those of IRA codes. For G-IRA codes, the
matrix, the complexity of the S-IRAA decoder is slightly accumulator 1/(1⊕D) in Fig. 5(b) is replaced by a generalized
greater than the complexity of the S-IRA decoder, even though accumulator with transfer function 1/g(D) where g(D) =
the column weight in Hu is 3 for the former versus 5 for the P t j
j=0 gj D and gj ∈ {0, 1}, except g0 = 1. The systematic
latter. We observe in Fig. 9 that, for both codes, there are no encoder therefore
error floors in the BER curves down to BER = 5 × 10−8 £ ¤ has the same generator matrix format, G =
I HTu H−T p , but now
and in the FER curves down to FER = 10−6 . While the  
S-IRAA code is 0.2 dB inferior to the S-IRA code in the 1
waterfall region, we conjecture that it has a lower floor (which  g1 1 
 
is difficult to measure), which would be due to the second  . 
 g2 g1 . . 
accumulator whose function is to increase minimum distance.  
 .. . . 
¤  . g2 . . . . 
 
Hp =  .  .
Example 3: This second example is a comparison of rate-  gt .. . . . . . . . . . 
1/3 (3072,1024) S-IRA and S-IRAA codes, with db,i = 4  
 . . . . 
for the S-IRA code and db,i = 3 for the S-IRAA code. The  gt . . . . . . . . 
 
protographs for these codes are given in Fig. 10. In this case,  .. .. .. .. .. 
 . . . . . 
b is part of the transmitted S-IRAA codeword and the decoder
complexities are the same. We see in Fig. 11 that, in the low gt . . . g2 g1 1
SNR region, the performance of the S-IRA code is 0.4 dB Further, the parity-check matrix format is unchanged, H =
better than the S-IRAA code. However, for high SNRs, the S- [Hu Hp ].
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 199

−1
10 parity bits
f f f f

−2
10 ...
a
−3
10 ... ... ... ...

−4 Π
BER/FER

10

−5
10
... ...
−6
punctured variable nodes w w w w f f
10 BER:S−IRA(db,i=4)
FER:S−IRA(d =4) M
b,i
−7 BER:S−IRAA(d =3)
10 b,i
FER:S−IRAA(db,i=3) information bits
...
10
−8 
0.5 1 1.5 2 2.5 f f f f
Eb/N0 [dB]

Fig. 11. Performance comparison between rate-1/3 S-IRA and S-IRAA codes Fig. 12. Generic bipartite graph for ARA codes.
on the BI-AWGNC, n = 3072 and k = 1024.

To design a G-IRA code, one must choose g(D) so that the


bipartite graph for Hp contains no length-4 cycles [40]. Once
g(D) has been chosen, H can be completed by constructing
the sub-matrix Hu , according to some prescribed degree
distribution, again avoiding short cycles, this time in all of
H.
G-IRA codes are highly reconfigurable in the sense that an
encoder and decoder can be designed for a set of different
polynomials g(D). This could be useful when faced with
different channels conditions.

E. Accumulate-Repeat-Accumulate Codes
For accumulate-repeat-accumulate (ARA) codes, introduced
in [45], an accumulator is added to precode a subset of the
information bits of an IRA code. The primary role of this
second accumulator is to improved the decoding threshold of
a code, that is, to shift the BER waterfall region leftward. ARA
codes are a subclass of LDPC codes and Fig. 12 presents a
generic ARA Tanner graph in which punctured variable nodes
are highlighted. The sparseness of the ARA graph is achieved
at the price of these punctured variable nodes which act as Fig. 13. AR4A protographs in (a) serial-concatenated form and (b) parallel-
auxiliary nodes that enlarge the H used by the decoder. The concatenated form. (Eb /N0 )thres = 0.55 dB.
iterative graph-based ARA decoder thus has to deal with a
redundant representation of the code, implying a larger H
matrix than the nominal (n − k) × n. This issue, together (node 2) of the information bits are sent directly to the IRA
with the presence of a large number of degree-1 and degree-2 encoder, while the other half (node 1) is first precoded by the
variable nodes, results in slow decoding convergence. outer accumulator. This encoding procedure corresponds to a
The ARA codes presented in [45] relies on very simple systematic code.
protographs. Several modified ARA protographs have been A different code structure is represented by the protograph
introduced in [46][47], leading to ARA and ARA-like code in Fig. 13(b), which has a parallel-concatenated form. In this
families with excellent performance in both the waterfall and case, half (node 2) of the information bits are encoded by the
floor regions of the codes’ performance curves. The protograph IRA encoder and the other half (node 3) are encoded by both
of a rate-1/2 ARA code ensemble with repetition rate 4, the IRA encoder and a (3, 2) single-parity-check encoder. The
denoted AR4A, is depicted in Fig. 13(a). The dark circle node-3 information bits (corresponding to the dark circle in
corresponds to a state-variable node, and it is associated with the protograph) are punctured and so codes corresponding to
the precoded fraction of the information bits. As emphasized this protograph are non-systematic. While the codes (actually,
in the figure, such a protograph is the serial concatenation code ensembles) specified by the protographs in Fig. 13(a)
of an accumulator protograph and an IRA protograph. Half are the same in the sense that the same set of codewords are
200 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

0 0
10
AR4A BER − Imax=50
−1
AR4A FER − Imax=50
10

−2
10
500

−3
10

BER/FER
−4
10
1000
−5
10

−6
10

1500 −7
10
0 500 1000 1500 2000 2500

−8
10
Fig. 14. H matrix for the (2048,1024) AR4A code.
−9
10
0.5 1 1.5 2 2.5
Eb/N0 (dB)
implied, the u → c mappings are different. The advantage
of the non-systematic protograph is that, although the node-3 Fig. 15. BER and FER performance for an AR4A code.
information bits in Fig. 13(b) are punctured, the node degree is
6, in contrast with the node-1 information bits in Fig. 13(a),
in which the node degree is only 1. Given that ARA code
decoders converge so slowly, the faster-converging degree-6
node is to be preferred over the slowly converging degree-1 −1
node. 10

To demonstrate this, we designed a (2048,1024) QC AR4A VN type 1


VN type 2
code whose H matrix is depicted in Fig. 14. The first group 10
−2
VN type 3
VN type 4
of 512 columns (of weight 6) correspond to variable node VN type 5

type 1 (Fig. 13) whose bits are punctured, and the subsequent
VN type 5,4,1,3,2
four groups of 512 columns correspond, respectively, to node −3
Bit Error Rate

10

types 2, 3, 4, and 5. The first group of 512 rows correspond


to check node type A, and the two subsequent groups of rows
−4
correspond to node types B and C, respectively. The perfor- 10

mance of the code, with a maximum of Imax = 50 iterations VN type


is shown in Fig. 15. We note that the (2048,1024) AR4A code −5
5,4,1,2,3
10
reported in [47] achieves BER = 10−7 at Eb /N0 = 2 dB with
200 iterations, whereas in the simulation here, BER = 10−7
is achieved at Eb /N0 = 2.2 dB with 50 iterations. In Fig. 16, 10
−6

5 10 15 20
we present the BER performance at Eb /N0 = 2.25 dB for the Iteration count

five node types that appear in Fig. 13 for Imax ranging from
Fig. 16. Node convergence analysis for a (2048,1024) AR4A code at
5 to 20. With 20 iterations, we collected 400 error events, Eb /N0 = 2.25 dB.
while with fewer iterations, the numbers of collected error
events were larger. From the figure, we see that the high-degree
variable nodes (node types 2 and 3) converge the fastest. We
note also that, while type 3 nodes have degree 6 and type 2
nodes have degree 4, type 3 nodes initially converge slower
because the bits corresponding to those nodes are punctured
so that the decoder receives no channel LLRs for those bits. modulation formats. A further level of protection is afforded
However, by 20 iterations, the type 3 bits become more reliable by an outer BCH code.
than the type 2 bits.
The IEEE standards bodies are also considering IRA-
influenced QC LDPC codes for 802.11n (wireless local-area
F. Accumulator-Based Codes in Standards networks) and 802.16e (wireless metropolitan-area networks).
IRA codes and IRA-influenced codes are being considered Rather than employing a tailing-biting accumulator (which
for several communication standards. The ETSI DVB S2 [48] avoids weight-one columns), these standards have replaced the
standard for digital video broadcast specifies two IRA code last block-column in (18) with a weight-three block-column
families with block lengths 64800 and 16200. The code rates and moved it to the first column, as displayed below. Encoding
supported by this standard range from 1/4 to 9/10, and a wide is facilitated by this ¡matrix since the sum
¢ of all block-rows
range of spectral efficiencies is achieved by coupling these gives the block-row I0 0 · · · 0 , so that encoding is
LDPC codes with QPSK, 8-PSK, 16-APSK, and 32-APSK initialized by summing all of the block-rows of H and solving
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 201

m
for first Q parity bits using the resulting block-row. Then, the elements 0, 1, α, α2 , . . . , αq −2 of GF(q m ) repre-
  sent the q m points of EG(m, q), and 0 represents the origin of
I0 I0
  the geometry. A line is a set of points of the form {a + βa0 :
 I0 I0 
  β ∈ GF(q)}, where a and a0 are linearly independent over
 . . 
 I0 .  GF(q).
 .. ..  Let nEG = q m − 1 be the number of non-origin points in
 I0 . . 
  the geometry. Let L be a line not passing through the origin.
 . 
 .. I  Define the nEG -tuple over GF(2),
 0 
 I0 I0 
I0 I0 vL = (v0 , v1 , . . . , vnEG −2 ),
ARA codes are being considered by the Consultative Com- whose components correspond to the q m −1 non-origin points,
mittee for Space Data Systems (CCSDS) for high data-rate m
α0 , α, · · · , αq −2 , of EG(m, q), where vi = 1 if the point
bandwidth-efficient space links. Very low floors are required i
α lies on L, otherwise vi = 0. The vector vL is called
for this applications because the scientific data (e.g., images) the incidence vector of L. Clearly, αL is also a line in the
being transmitted from space to the ground are typically in a geometry whose incidence vector vαL is the right cyclic-shift
compressed format. of vL . The lines L, αL, · · · , αnEG −1 L are all different [7]
m
and they do not pass through the origin. Since αq −1 = 1,
V. LDPC C ODES BASED ON F INITE G EOMETRIES nEG
α L = L. These nEG lines form a cyclic class. The
In [50], it is shown that structured LDPC codes can be (q m−1 − 1)(q m − 1)/(q − 1) lines in EG(m, q) not passing
constructed based on the lines and points of geometries over through the origin can be partitioned into K = (q m−1 −
finite fields, namely Euclidean and projective geometries. 1)/(q − 1) cyclic classes, denoted Q1 , Q2 , · · · , QK where
These codes are known as finite-geometry (FG) LDPC codes. Qi = {Li , αLi , · · · , αnEG −1 Li } with 1 ≤ i ≤ K. For each
Among the FG-LDPC codes, an important subclass is the cyclic class Qi , we form an nEG × nEG matrix HEG,i over
subclass of cyclic FG-LDPC codes. A cyclic LDPC code GF(2) with the incidence vectors Li , αLi , · · · , αnEG −1 Li as
is completely characterized by its generator polynomial and rows. HEG,i is a circulant matrix with column and row weights
its encoding can be implemented with a shift-register with equal to q. For 1 ≤ k ≤ K, let
feedback connections based on its generator polynomial [7].  
HEG,1
The systematic-form generator matrix of a cyclic LDPC code  HEG,2 
can be constructed easily based on its generator polynomial  
HEG(m,q),k =  .. . (20)
[7]. Another important subclass of FG-LDPC codes is the  . 
subclass of quasi-cyclic FG-LDPC codes. As pointed out HEG,k
earlier, QC-LDPC codes can also be encoded easily with
simple shift-registers. In this section, we give a brief survey Then HEG(m,q),k consists of a column of k circulants of the
of constructions of cyclic and quasi-cyclic FG-LDPC codes. same size nEG × nEG , and it has column and row weights, kq
and q, respectively. Since no two lines in EG(m, q) have more
than one point in common, it follows that no two rows or two
A. Cyclic Euclidean Geometry LDPC Codes columns in HEG(m,q),k have more than a single 1-element in
The m-dimensional Euclidean geometry over the finite field common. We say that HEG(m,q),k satisfies the RC-constraint.
GF(q) [7][51][52], denoted by EG(m, q), consists of q m points, The null space of HEG(m,q),k gives a cyclic EG-LDPC code
and each point is represented by an m-tuple over GF(q). The of length nEG = q m − 1 and minimum distance at least kq + 1
point represented by the all-zero m-tuple 0 = (0, 0, . . . , 0), [50][7], whose Tanner graph has a girth of at least 6.
is called the origin of the geometry. A line in EG(m, q) is Of particular interest is the two-dimensional Euclidean
either a one-dimensional subspace of the vector space of all geometry, EG(2, q), which is also called an affine plane over
the m-tuples over GF(q), or a coset of it. There are q m−1 (q m − GF(q) [52]. This geometry has q 2 points and q(q + 1) lines,
1)/(q − 1) lines in total. Each line consists of q points. Two and q 2 − 1 of them do not pass through the origin. Each line
points are connected by one and only one line. If a is a point has q points and each point lies on q + 1 lines. Each nonorigin
on the line L, we say that the line L passes through the point point lies on q lines that do not pass through the origin. If
a. Two lines either do not have any point in common or they L is a line in EG(2, q) not passing through the origin, then
2
have one and only one point in common. If two lines have L, αL, . . . , αq −2 L, where α is a primitive element in GF(q 2 ),
a common point a, we say that they intersect at a. For any are all the lines in the geometry not passing through the origin.
point a in EG(m, q), there are exactly (q m − 1)/(q − 1) lines Hence, all the lines in EG(2, q) not passing through the origin
passing through (or intersecting at) a. In particular, if a is not form a single cyclic class Q (i.e., K = 1). Let HEG(2,q) denote
the origin, then it lies on q(q m−1 −1)/(q −1) lines not passing the (q 2 −1)×(q 2 −1) circulant formed by the incidence vectors
through the origin. Furthermore, there are in total (q m−1 − of lines in Q. It is a (q 2 −1)×(q 2 −1) matrix over GF(2) with
1)(q m − 1)/(q − 1) lines not passing through the origin. both column and row weights equal to q. The null space of
The extension field GF(q m ) of GF(q) is a realization of HEG(2,q) gives a cyclic EG-LDPC code of length q 2 − 1 and
EG(m, q) [7][51]. Let α be a primitive element of GF(q m ). minimum distance at least q + 1. For q = 2s , the parameters
202 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

point in PG(m, q) is represented by a non-zero element αi .


0
10
Uncoded BPSK
−1
10
BER (4095,3367) Every nonzero element in the base field GF(q) can be written
BLER (4095,3367)
Shannon limit as αl for some l which is divisible by (q m+1 − 1)/(q − 1).
−2
10 Hence, the elements αi and αj represent the same point in
PG(m, q) if and only if i ≡ j (mod (q m+1 − 1)/(q − 1)).
Bit/block error rate

Therefore, we can take the elements 1, α, . . . , αnPG −1 to


−3
10

−4 represent all the points in PG(m, q).


10
Let L be a line in PG(m, q). Define the nPG -tuple over
−5
10 GF(2) vL = (v0 , v1 , . . . , vnPG −1 ) whose components corre-
spond to the nPG = (q m+1 − 1)/(q − 1) points of PG(m, q),
where vi = 1 if the point represented by αi lies on L,
−6
10

−7
otherwise vi = 0. The vector vL is called the incidence
10
vector of L. Clearly, αL is also a line in the geometry whose
−8
10 incidence vector vαL is the cyclic-shift of vL .
0 1 2 3 4 5 6 7 8 9
Eb/N0(dB) For even m, the lines in PG(m, q) can be partitioned into
K1 = (q m − 1)/(q 2 − 1) cyclic classes Q1 , Q2 , · · · , QK1 ,
Fig. 17. Performance of the binary (4095,3367) cyclic EG-LDPC code given each class consisting of nPG lines. For each cyclic class Qi ,
in Example 4 over the BI-AWGNC.
we can form an nPG ×nPG circulant HPG,i with both column
and row weights equal to q + 1. For 1 ≤ k ≤ K1 , form the
of the code with parity-check matrix HEG(2,q) are as follows following matrix:
 
[7]: HPG,1
 HPG,2 
Length n = 22s − 1, (1)  
HPG(m,q),k =  .. , (21)
Number of parity bits n − k = 3s − 1,  . 
Dimension k = 22s − 3s , HPG,k
Minimum distance dmin ≥ 2s + 1, which has column and row weights k(q + 1) and q + 1,
Size of the LDPC matrix (22s − 1) × (22s − 1), (1)
respectively. The null space of HPG(m,q),k gives a cyclic PG-
Row weight 2s , m+1
LDPC code of length nPG = (q −1)/(q−1) and minimum
Column weight 2s .
distance at least k(q + 1) + 1 whose Tanner graph has a
girth of at least 6. For odd m, the lines in PG(m, q) can be
Generators polynomials for these codes can be readily ob-
partitioned into K2 + 1 cyclic classes, Q0 , Q1 , Q2 , · · · , QK2 ,
tained from [7].
where K2 = q(q m−1 −1)/(q 2 −1). Except for Q0 , each cyclic
Example 4: The cyclic LDPC code constructed based
class consists of nPG lines. The cyclic class Q0 consists of
on the two-dimensional Euclidean geometry EG(2, 26 ) over
only λ = (q m+1 − 1)/(q 2 − 1) lines. For each cyclic class Qi
GF(26 ) is a (4095, 3367) LDPC code with rate 0.822 and
with i 6= 0, we can form a nPG ×nPG circulant HPG,i with the
minimum distance 65. The performance of this code with
incidence vectors of the lines in Qi as rows. For 1 ≤ k ≤ K2 ,
iterative decoding using the SPA is shown in Fig. 17. At a (2)
we can form a matrix HPG(m,q),k of the form given by (21).
BER of 10−6 , it performs 1.65 dB from the Shannon limit. (2)
Since it has a very large minimum distance, it has a very low The null space of HPG(m,q),k gives a cyclic PG-LDPC code
error-floor. ¤ of length nPG and minimum distance at least k(q + 1) + 1
whose Tanner graph has a girth of at least 6.
As in the case of Euclidean geometries, the two-dimensional
B. Cyclic Projective Geometry LDPC Codes projective geometry, PG(2, q), which is also called a projective
The m-dimensional projective geometry over GF(q), de- plane over GF(q) [52], is of particular interest. This geometry
noted by PG(m, q), consists of nPG = (q m+1 − 1)/(q − 1) has q 2 + q + 1 points and q 2 + q + 1 lines. Each line has
points. Each point is represented by a non-zero (m + 1)-tuple q + 1 points and each point lies on q + 1 lines. If L is a line
2
a over GF(q) such that all q − 1 non-zero multiples βa, where in PG(2, q), then L, αL, . . . , αq +q L, where α is a primitive
β is a non-zero element in GF(q), represent the same point. A element in GF(q 2 ), are all the lines in the geometry. Hence,
line in PG(m, q) consists of all points of the form β 1 a1 +β 2 a2 , all the lines in PG(2, q) form a single cyclic class Q (i.e.,
where a1 and a2 are two (m + 1)-tuples that are linearly K1 = 1). Let HPG(2,q) denote the nPG ×nPG circulant formed
independent over GF(q) and β 1 and β 2 are elements in GF(q), by the incidence vectors of the lines in Q. It is a (q 2 + q +
with β 1 and β 2 not simultaneously equal to zero. There are 1) × (q 2 + q + 1) matrix over GF(2) with both column and
(q m+1 − 1)(q m − 1)/(q 2 − 1)(q − 1) lines in PG(m, q) and row weights equal to q + 1. The null space of HPG(2,q) gives
each line consists of q +1 points. Two points are connected by a cyclic PG-LDPC code of length q 2 + q + 1 and minimum
one and only one line and each point lies on (q m − 1)/(q − 1) distance at least q + 2. For q = 2s , the parameters of the
lines. cyclic PG-LDPC code given by the null space of HPG(2,q)
The extension field GF(q m+1 ) of GF(q) is a realization of are as follows [7]:
PG(m, q) [7]. Let α be a primitive element of GF(q m+1 ). A
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 203

Length n = 22s + 2s + 1, 0
10

Number of parity bits n − k = 3s + 1, uncoded BPSK


(3510,3109) BER
Dimension k = 22s + 2s − 3s , −1
10 (3510,3109) BLER
Shannon Limit
Minimum distance dmin ≥ 2s + 2,
Size of the LDPC matrix (22s + 2s + 1) × (22s + 2s + 1),
−2
10

Bit/block error rate


Row weight 2s + 1,
2s + 1.
−3
Column weight 10

−4

Generators polynomials for these codes can also be readily 10

obtained from [7]. −5


10

C. Quasi-Cyclic Finite Geometry LDPC Codes −6


10

Let REG(m,q),k be the transpose of the parity-check matrix


HEG(m,q),k of a cyclic EG-LDPC code given by (20), i.e., −7
10
0 1 2 3 4 5 6 7 8 9
Eb/N0(dB)
REG(m,q),k , HTEG(m,q),k = [HT1 HT2 · · · HTk ], (22)
Fig. 18. Performance of the binary (3510,3109) quasi-cyclic PG-LDPC code
which consists of a row of k circulants of size nEG × nEG . given in Example 5 over the BI-AWGNC.
It is a (q m − 1) × k(q m − 1) matrix with column and row
weights q and kq, respectively. The null space of REG(m,q),k 0
10
Uncoded BPSK
gives a quasi-cyclic EG-LDPC code of length k(q m − 1) and −1 BER−MLD
10
minimum distance at least q + 1 whose Tanner graph has a BLER−MLD
BER−Hard BF
girth of at least 6. −2
10 BLER−Hard BF
(e) (e) BER−Soft BF
Similarly, let RPG(m,q),k be the transpose of HPG(m,q),k −3
BLER−Soft BF
Bit/block error rate

10
(e) BER−SPA
with e = 1 or 2. Then the null space of HPG(m,q),k gives a −4 BLER−SPA
m+1 10
quasi-cyclic PG-LDPC code of length k(q − 1)/(q − 1) Shannon limit

and minimum distance at least q + 2. −5


10

Example 5: Consider the 3-dimensional projective geome- −6


10
tries PG(3, 23 ) over GF(23 ). This geometry consists of 585
points and 4745 lines, each line consists of 9 points. The −7
10

lines in this geometry can be partitioned into 9 cyclic classes, −8


10
Q0 , Q1 , · · · , Q8 , where Q0 consists of 65 lines and each of
the other 8 cyclic classes consists of 585 lines. For each Qi 0 1 2 3 4 5 6 7 8 9
with 1 ≤ i ≤ 8, we can form a 585 × 585 circulant HPG,i Eb/N0(dB)

over GF(2) with the incidence vectors in Qi as the rows. Set


(2) Fig. 19. Performance of the binary (4095,3367) EG-LDPC code given in
k = 6. Form the following 585 × 3510 matrix: RPG(3,23 ),6 = Example 4 with various decoding techniques over the BI-AWGNC. MLD =
T T T majority-logic decoding. BF = bit-flipping. SPA = sum-product algorithm.
[HPG,1 HPG,2 · · · HPG,6 ], which has column and row weights
9 and 54, respectively. The null space of this matrix gives
a (3510, 3109) quasi-cyclic PG-LDPC code with rate 0.8858
and minimum distance at least 10. The performance of this VI. R EGULAR RS-BASED LDPC C ODES
code decoded with iterative decoding using the SPA is shown This section first gives a brief survey of a class of structured
in Fig. 18. At a BER of 10−6 , it performs 1.3 dB from the LDPC codes that are constructed from the codewords of
Shannon limit. ¤ Reed-Solomon (RS) codes with two information symbols.
Other LDPC codes constructed based on finite geometries Then two new classes of Reed-Solomon-based quasi-cyclic
can be found in [53][54][55][56][57]. Finite geometry LDPC LDPC codes are presented. Experimental results show that
codes can also be effectively decoded with one-step majority- constructed codes perform very well over the AWGN channel
logic decoding [7], hard-decision bit-flipping (BF) decoding with iterative decoding.
[1][50][7] and weighted BF decoding [50][58][59][60]. These In [61], a class of structured regular LDPC codes was
decoding methods together with the soft-input and soft-output presented which were constructed from the codewords of
(SISO) iterative decoding based on belief propagation offer RS codes with two information symbols. These codes are
various trade-offs between performance and decoding com- referred to as RS-based LDPC codes and their parity-check
plexity. The one-step majority-logic decoding requires the matrices are arrays of permutation matrices. RS-based LDPC
least decoding complexity while the (SISO) iterative decoding codes perform well with iterative decoding over the AWGN
based on belief propagation requires the most decoding com- channel. Most importantly, they have low error-floors and their
plexity and the other two decoding methods are in between. decoding converges very fast. These features are important in
Fig. 19 shows the performances of the (4095,3367) cyclic high-speed communication systems where very low error rates
EG-LDPC code given in Example 4 with various decoding are required, such as the 10G Base-T Ethernet. In this section,
methods. we first give a more general form of the RS-based LDPC codes
204 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

presented in [61] and then we present two classes of RS-based as submatrices arranged in a column:
QC LDPC codes.
 
Let α be a primitive element of the finite field GF(q). Then B0
the following powers of α, α−∞ , 0, α0 = 1, α, . . . , αq−2 ,  B1 
 
Hrs,1 =  ..  (25)
form the q elements of GF(q) and αq−1 = 1. For i =  . 
−∞, 0, 1, · · · , q − 2, represent each element αi of GF(q) by Bq−1
a q-tuple over GF(2),  
A0,0 A0,1 ··· A0,q−1
 A1,0 A1,1 ··· A1,q−1 
 
=  .. .. .. .. .
z(αi ) = (z−∞ , z0 , z1 , z2 , . . . , zq−2 ), (23)  . . . . 
Aq−1,0 Aq−1,1 ··· Aq−1,q−1

with components corresponding to the q elements, Hrs,1 is a q 2 × q 2 matrix over GF(2) with both column and
α−∞ , α0 , · · · , αq−2 , of GF(q), where the i-th component row weights q. For q > 7, each permutation matrix Ai,j is
zi = 1 and all the other components equal to zero. This a sparse matrix and hence Hrs,1 is also a sparse matrix. It
binary q-tuple z(αi ) is an unit-vector with one and only one follows from the structural properties of the matrices Gi ’s
1-component and is called the location vector of αi . It is that no two rows (or two columns) of Hrs,1 can have more
clear that the location vectors of two different elements in than one 1-component in common. This implies that there are
GF(q) have their 1-components at two different locations. no four 1-components at the four corners of a rectangle in
Suppose we form a q × q matrix A over GF(2) with the Hrs,1 , that is, Hrs,1 satisfies the RC-constraint and, hence,
location vectors of the q elements of GF(q) as rows arranged has a girth of at least 6 [50][7].
in any order. Then A is a q × q permutation matrix. For any pair of integers, (dv , dc ), with 1 ≤ dv , dc ≤ q,
Consider an extended (q, 2, q − 1) RS code Cb over GF(q) let Hrs,1 (dv , dc ) be a dv × dc subarray of Hrs,1 . Then
[7] of length q with two information symbols and minimum Hrs,1 (dv , dc ) is a dv q × dc q matrix over GF(2) with column
distance q−1. The nonzero codewords of Cb have two different and row weights dv and dc , respectively. It is a (dv , dc )-regular
weights, q − 1 and q. Because the minimum distance of Cb is matrix which also satisfies the RC-constraint. The null space
q − 1, two codewords in Cb differ in at least q − 1 places, i.e., of Hrs,1 (dv , dc ) gives a (dv , dc )-regular RS-based LDPC code
they have at most one place where they have the same code Crs,1 of length dc q with rate at least (dc −dv )/dc and minimum
symbols. Let v be a nonzero codeword in Cb with weight q. distance at least dv + 1 [50], [7], whose Tanner graph has
(0)
Then, the set Cb = {cv : c ∈ GF (q)} of q codewords in a girth of at least 6. Since Hrs,1 consists of an array of
Cb of weight q forms a one-dimensional subcode of Cb with permutation matrices, no odd number of columns of Hrs,1 can
minimum distance q and is a (q, 1, q) extended RS code over be added to zero. This implies that the RS-based regular LDPC
(0) code Crs,1 has only even-weight codewords. Consequently, its
GF(q). Any two codewords in Cb differ at every location.
(0) (1) (q−1)
Partition Cb into q cosets, Cb , Cb , · · · , Cb , based on the minimum distance is even, at least dv + 2 for even dv and
(0) (i) dv + 1 for odd dv . The above construction gives a class of
subcode Cb . Then two codewords in any coset Cb differ at
regular LDPC codes whose Tanner graphs have girth at least
every location and two codewords from two different cosets
(i) (j) 6. For each (q, 2, q − 1) extended RS code Cb over GF(q), we
Cb and Cb with i 6= j differ in at least q − 1 locations.
can construct a family of regular RS-based LDPC codes with
For 0 ≤ i < q, form a q × q matrix Gi over GF(q) with the
(i) various lengths, rates and minimum distances. Cb is referred
codewords in Cb as rows. Then all the q entries in a column
to as the base code.
of Gi are different and they form all the q elements of GF(q).
(0) Example 6: Consider the (64, 2, 63) extended RS code Cb
It follows from the structural properties of the cosets of Cb
over GF(26 ). Based on the codewords of this RS code Cb , we
that any two rows from any matrix Gi differ at every position
can construct a 64 × 64 array Hrs,1 of 64 × 64 permutation
and any two rows from two different matrices Gi and Gj with
matrices. Suppose we choose dv = 6 and dc = 32. Take
i 6= j can have at most one location where they have identical
a 6 × 32 subarray Hrs,1 (6, 32) from Hrs,1 , say the 6 × 32
symbols.
subarray at the upper left corner of Hrs,1 . Hrs,1 (6, 32) is a
For 0 ≤ i < q, replacing each entry in Gi by its location 384 × 2048 matrix over GF(2) with column and row weights
vector, we obtain a q×q 2 matrix Bi over GF(2) which consists 6 and 32, respectively. The null space of this matrix gives
of a row of q permutation matrices of size q × q, a (2048, 1723) regular RS-based LDPC code with rate 0.841
and minimum distance at least 8. Assume transmission over
the AWGN channel with BPSK signaling. The performance of
Bi = [Ai,0 Ai,1 · · · Ai,q ], (24) this code with iterative decoding using the SPA (50 iterations)
is shown in Fig. 20. At a BER of 10−6 , the code performs
1.55 dB from the Shannon limit. The standard code for the
where Ai,j has the location vectors of the q entries of the IEEE 802.2 10G Base-T Ethernet is a (2048, 1723) regular
j-th column of Gi as rows. Next, we form the following q × q RS-based LDPC code given by the null space of a 6 × 32
array of q × q permutation matrices with B0 , B1 , · · · , Bq−1 subarray of the array Hrs,1 constructed above. ¤
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 205

0
10
uncoded BPSK
For 0 ≤ i < p, form a p × p matrix Gi over GF(p) with
(i)
−1
10
(2048,1723) BER the codewords in the i-th coset Cb as rows. For 0 ≤ j <
(2048,1723) BLER
Shannon Limit p, the j-th column of Gi consists of the following entries:
−2
10 i · j + 0, i · j + 1, · · · , i · j + (p − 1), which form all the p
elements of GF(p). From (27) to (29), we readily see that any
Bit/block error rate

−3
10
two rows in Gi differ in all p places. Replacing each entry in
−4
10
Gi by its location vector, we obtain a row of p permutation
matrices of size p × p,
−5
10
Bi = [ Ai,0 Ai,1 ··· Ai,p−1 ],
−6
10
where Ai,j has the location vectors of i · j + 0, i · j + 1, · · · , i ·
−7
10 j + (p − 1) as the rows,
 
−8
10 z(i · j + 0)
0 1 2 3 4 5 6 7 8 9
 z(i · j + 1) 
Eb/N0(dB)  
Ai,j =  . . (30)
 .. 
Fig. 20. Performance of the binary (2048,1723) regular RS-based LDPC
code given in Example 6 over the BI-AWGNC. z(i · j + (p − 1))
Under modulo-p addition and multiplication, the location
A. Class-I RS-Based QC-LDPC Codes vector z(i · j + (k + 1)) of the field element i · j + (k + 1) is the
right cyclic-shift (one place to the right) of the location vector
RS codes were originally defined in polynomial form in z(i · j + k) of the field element of i · j + k and z(i · j + 0)
frequency domain [63]. Using the polynomial form, arrays of is the right cyclic-shift of z(i · j + (p − 1)). Therefore Ai,j
circulant permutation matrices that satisfy the RC-constraint is not just a permutation matrix but also a circulant, called a
can be constructed from all the codewords of an RS code over circulant permutation matrix. For 0 ≤ i < p, Bi is hence a
a prime field GF(p) with two information symbols. Based on row of p circulant permutation matrices of size p × p.
these arrays of circulant permutation matrices, a class of QC- Form the following p×p array of p×p circulant permutation
LDPC codes can be constructed. matrices:
Let p be a prime. Consider the prime field GF(p) =  
B0
{0, 1, · · · , p − 1} under modulo-p addition and multiplication.  B1 
Let P = {a(X) = a1 X + a0 : a1 , a0 ∈ GF (p)} be the set of  
Hrs,2 =  ..  (31)
p2 polynomials of degree one or less with coefficients from  . 
GF(p). For each polynomial a(X) in P, define the following Bp−1
p-tuple over GF(p): v = (a(0), a(1), · · · , a(p − 1)), where  
A0,0 A0,1 ··· A0,p−1
a(j) = a1 · j + a0 with j ∈ GF (p). Then the set of p2 p-  A1,0 A1,1 ··· A1,p−1 
tuples,  
=  .. .. .. .. .
 . . . . 
Cb = {v = (a(0), a(1), · · · , a(p − 1)) : a(X) ∈ P}, (26) Ap−1,0 Ap−1,1 ··· Ap−1,p−1
gives a (p, 2, p − 1) RS code over GF(p) with two information 2 2
Hrs,2 is a p × p matrix over GF(2) with both column and
symbols. The RS code Cb given by (26) is not cyclic. row weights p. Since the rows of Hrs,2 correspond to the
Consider the subset P0 = {a(X) = a0 : a0 ∈ GF (p)} of codewords in the (p, 2, p − 1) RS code Cb over GF(p) given
zero-degree polynomials in P. Then the set of p-tuples, by (26) and two codewords in Cb can have at most one place
(0) with the same code symbol, no two rows (or two columns)
Cb = {(a(0), a(1), · · · , a(p − 1)) : a(X) ∈ P0 }
, (27) in Hrs,2 can have more than one 1-component in common.
= {(a0 , a0 , · · · , a0 ) : a0 ∈ GF (p)}
Hence Hrs,2 satisfies the RC-constraint and its associated
constructed from the zero-degree polynomials in P0 forms Tanner graph has a girth of at least 6.
a one-dimensional subcode of Cb and is a (p, 1, p − 1) RS For any pair of integers, (dv , dc ), with 1 ≤ dv , dc ≤ p, let
code over GF (p) with minimum distance p. Partition Cb with Hrs,2 (dv , dc ) be a dv × dc subarray of Hrs,2 . Hrs,2 (dv , dc ) is
(0) (0) (1) (p−1)
respect to Cb into p cosets, Cb , Cb , · · · , Cb , where a dv p × dc p matrix over GF(2) with column and row weights
(i) dv and dc , respectively, and it also satisfies the RC-constraint.
Cb = {(a(0), · · · , a(p−1)) : a(X) = iX+a0 , a0 ∈ GF (p)}. The null space of Hrs,2 (dv , dc ) gives a regular RS-based QC-
(28) LDPC code of length dc p with rate at least (dc − dv )/dc and
(i)
For 0 ≤ i < p, Cb contains p codewords in C b of the minimum distance at least dv + 2 for even dv , and dv + 1
following form: for odd dv , whose Tanner graph has a girth of at least 6.
(i · 0 + a0 , i · 1 + a0 , · · · , i · (p − 1) + a0 ). (29) The above construction gives a class of QC-LDPC codes with
various lengths, rates and minimum distances.
(i)
The codeword (i · 0, i · 1, ..., i · (p − 1)) in Cb is the coset Example 7: Consider the (73, 2, 72) RS code Cb over the
leader. prime field GF(73) that is constructed based on the set of
206 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

0
10
uncoded BPSK
code with two information symbols into cosets with respect to
−1
(5256,4895) BER a one-dimensional RS subcode. In this subsection, we present
(5256,4895) BLER
10
Shannon Limit another class of RS-based LDPC codes. The construction of
−2
this class of LDPC codes is based on only the minimum
10
weight (m-w) codewords of extended RS codes with two
Bit/block error rate

−3
information symbols. In the construction, the m-w codewords
10
of an extended RS code with two information symbols are first
10
−4 partitioned into q uniform classes (defined below), each with
q − 1 m-w codewords. Then based on these uniform classes, a
10
−5 q × q array of (q − 1) × (q − 1) circulant permutation matrices
is formed. The null space of any subarray of this array of
10
−6 circulant permutation matrices gives a QC-LDPC code.
Earlier we defined the location vector of an element in
10
−7 the Galois field GF(q) as a q-tuple with exactly one 1-
0 1 2 3 4 5 6 7 8 9
Eb/N0(dB) component. In our new construction of RS-based LDPC codes,
we introduce a new type of location vector for the elements
Fig. 21. Performance of the binary (5256,4895) regular RS-based QC-LPDC of GF(q). Let α be a primitive element in GF(q). For each
code given in Example 7 over the BI-AWGNC.
nonzero element αi in GF(q) with 0 ≤ i < q − 1, its location
0
10
vector z(αi ) is defined as a (q − 1)-tuple,
uncoded BPSK
−1
BER(iters=50) z(αi ) = (z0 , z1 , · · · , zq−1 ), (32)
10 BER(iters=5)

−2
BER(iters=1)
Shannon Limit
with components corresponding to the q −1 nonzero elements,
10
α0 , α, · · · , αq−2 , of GF(q), where the i-th component zi = 1
and all the other q − 2 components are zeros. Note that the 0-
Bit/block error rate

−3
10
element of GF(q) is not included in formation of this location
−4
10 vector of a nonzero element in GF(q). The location vector of
−5
the 0-element of GF(q) is defined as the all-zero (q − 1)-tuple,
10
(0, 0, ..., 0).
−6
10
Again consider the (q, 2, q − 1) extended RS code Cb with
two information symbols. It contains q(q − 1) codewords of
−7
10 weight q − 1. Each of these m-w codewords contains one and
−8
only one 0-component. For i = −∞, 0, 1, · · · , q − 2, let vi =
10
0 1 2 3 4 5 6 7 8 9 10 (v−∞ , v0 , v1 , · · · , vq−2 ) be a m-w codeword in Cb with i-th
Eb/N0(dB)
component vi,i = 0. Let Ui = {vi , αvi , · · · , αq−2 vi } be the
Fig. 22. The decoding convergence rate of the (5256,4895) QC-LDPC code set of q − 1 m-w codewords with the i-th components equal to
given in Example 7. zero. Then the q(q −1) m-w codewords can be partitioned into
q subsets, U−∞ , U0 , U1 , · · · , Uq−2 , each consisting of q − 1
m-w codewords. These sets are called uniform classes of m-w
polynomials of degree 1 or less over GF(73). Using this base codewords in Cb . Two m-w codewords in the same uniform
RS code, we can construct a 73 × 73 array Hrs,2 of 73 × 73 class Ui differ in all the q − 1 nonzero positions and they both
circulant permutation matrices. Choose dv = 5 and dc = 72. have zeros at the i-th position. Two m-w codewords from two
Take a 5 × 72 subarray Hrs,2 (5, 72) from Hrs,2 . Hrs,2 (5, 72) different classes differ in at least q − 1 positions.
is a 365 × 5256 matrix over GF(2) with column and row For the i-th uniform class Ui of m-w codewords, we form a
weights 5 and 72, respectively. The null space of Hrs,2 (5, 72) (q−1)×q matrix Gi over GF(q) with the q−1 m-w codewords
gives a (5256, 4895) regular RS-based QC-LDPC code with in Ui as rows,
rate 0.9313. The minimum distance of this code is estimated to  
be 12 which is twice as large as its lower bound dv + 1 = 6. vi
 αvi 
The performance of this code with iterative decoding using  
Gi =  ..  (33)
the SPA with 50 iterations is shown in Fig. 21. At a BER of  . 
10−6 , it perform 1.15 dB from the Shannon limit. The rate of αq−2 vi
decoding convergence of this code is shown in Fig. 22. We  
vi,−∞ vi,0 ··· vi,q−2
see decoding of this code converges very fast. At a BER of  αvi,−∞ 
 αvi,0 ··· αvi,q−2 
10−6 , the gap between 5 and 50 iterations is about 0.2 dB. ¤ =  .. .
 ··· ··· . ··· 
B. Class-II RS-Based QC-LDPC Codes αq−2 vi,−∞ αq−2 vi,0 ··· αq−2 vi,q−2
So far in this section, we have presented two classes of The i-th column of Gi is a column of q − 1 zeros and any
RS-based LDPC codes. A code in either class is constructed other column consists of q − 1 distinct nonzero entries which
based on partitioning all the codewords of an extended RS are the q − 1 nonzero elements of GF(q). It follows from the
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 207

0
structural properties of the uniform classes of m-w codewords 10
uncode BPSK
of the (q, 2, q − 2) extended RS code Cb that any two rows in −1
10 (2016,1692)−BER
(2016,1692)−BLER
the same matrix Gi differ in exactly q − 1 places and any two −2
10
Shannon Limit
rows from two different matrices Gi and Gj differ in at least
−3
q − 1 places. 10

Bit/block error rate


Replacing each entry in Gi by its location vector defined by −4
10

(32), we obtain a row of q submatrices of size (q −1)×(q −1), −5


10

Bi = [ Ai,−∞ Ai,0 ··· Ai,q−2 ], (34) −6


10

−7

where Ai,i is a (q − 1) × (q − 1) zero matrix and all the 10

other q − 1 submatrices Ai,j ’s are (q − 1) × (q − 1) circulant −8


10

permutation matrices. Form the following q × q array of (q − −9


10
1) × (q − 1) circulant permutation and zero matrices: −10

  10
0 1 2 3 4 5 6 7 8 9
B−∞ Eb/N0(dB)
 B0 
  Fig. 23. Performance of the binary (2016,1692) QC-LDPC code given in
Hrs,3 =  ..  (35)
 .  Example 8 over the BI-AWGNC.
Bq−2
 
A−∞,−∞ A−∞,0 ··· A−∞,q−2 with iterative decoding using the SPA with 50 iterations is
 A0,−∞ A0,0 ··· A0,q−2 
  shown in Fig. 23. At a BER of 10−6 , it performs 1.55 dB from
=  .. .. .. .. ,
 . . . .  the Shannon limit. This code is the quasi-cyclic counterpart
Aq−2,−∞ Aq−2,0 ··· Aq−2,q−2 of the (2048, 1723) regular RS-based LDPC code given in
Example 6 (or the standard code for the IEEE 802.3 10G Base-
where the submatrices, A−∞,−∞ , A0,0 , · · · , Aq−2,q−2 , on the T Ethernet). Its encoding can be implemented with 6 shift-
main diagonal of Hrs,3 are zero matrices and the other register-adder-accumulator (SRAA) units [13], each consisting
submatrices are (q−1)×(q−1) circulant permutation matrices. of 126 flip-flops, 64 two-input XOR gates and 64 two-input
Hrs,3 is a q(q − 1) × q(q − 1) matrix over GF(2) with both AND gates. The performance of this code is almost the same
column and row weights q − 1. It follows from the structural as that of the standard code for the IEEE 802.3 10G Base-T
properties of matrices Gi ’s that no two rows (or two columns) Ethernet. ¤
of Hrs,3 have more than one 1-component in common and
hence it satisfies the RC-constraint. The associated Tanner VII. M ASKING
graph of Hrs,3 is free of cycles of length 4 and hence has
Given a dv × dc array of permutation matrices, Hrs,e =
a girth of at least 6.
[Ai,j ] with e = 1, 2 or 3, a set of permutation matrices
For 1 ≤ dv , dc ≤ q, let Hrs,3 (dv , dc ) be a dv × dc
can be masked (i.e., replaced by zero matrices) to generate
subarray of Hrs,3 . It is a dv (q − 1) × dc (q − 1) matrix over
a new LDPC code. The masking operation can be mod-
GF(2). If Hrs,3 (dv , dc ) does not contain zero matrices on the
eled mathematically as a special matrix product [7][57]. Let
main diagonal of Hrs,3 , it is a regular matrix with column
W(dv , dc ) = [wi,j ] be a dv × dc matrix over GF(2). Define
and row weights dv and dc , respectively. The null space of
the following matrix product:
Hrs,3 (dv , dc ) gives a (dv , dc )-regular RS-based QC-LDPC
code of length dc (q −1) with minimum distance at least dv +2
for even dv and dv + 1 for odd dv , whose Tanner graph has a Mrs,e (dv , dc ) = W(dv , dc ) ~ Hrs,e (dv , dc ) = [wi,j Ai,j ],
girth of at least 6. If Hrs,3 (dv , dc ) contains some zero matrices (36)
of Hrs,3 , then it has two column weights dv − 1 and dv and where wi,j Ai,j = Ai,j for wi,j = 1 and wi,j Ai,j =
may have two row weights dc − 1 and dc . In this case, the 0 (a zero matrix) for wi,j = 0. With this operation, a
null space of Hrs,3 (dv , dc ) gives a near regular QC-LDPC set of permutation matrices in Hrs,e (dv , dc ) is masked by
code. The above construction gives another class of RS-based the 0-entries of W(dv , dc ). We call W(dv , dc ) the masking
QC-LDPC codes. matrix, Hrs,e (dv , dc ) the base array (or base matrix), and
Example 8: Suppose the (64, 2, 63) extended RS code over Mrs,e (dv , dc ) the masked array (or matrix). The masked ma-
GF(26 ) is used as the base code Cb for constructing QC-LDPC trix Mrs,e (dv , dc ) is an array of permutation and zero matri-
codes. Based on the m-w codewords of this base code, we can ces. The distribution of permutation matrices in Mrs,3 (dv , dc )
construct a 64×64 array Hrs,3 of 63×63 circulant permutation is identical to the distribution of 1-entries in the masking
and zero matrices. Set dv = 6 and dc = 32. Take a 6 × 32 matrix W(dv , dc ).
subarray Hrs,3 (6, 32) from Hrs,3 , avoiding the zero matrices. It is clear that masking operation preserves the RC-
Then Hrs,3 (6, 32) is a 378 × 2016 matrix over GF(2) with constraint on the rows and columns of the base array
column and row weights 6 and 32, respectively. The null space Hrs,e (dv , dc ) and hence the masked matrix Mrs,e (dv , dc )
of Hrs,3 (6, 32) gives a (2016, 1692) regular RS-based QC- also satisfies the RC-constraint. Furthermore, masking reduces
LDPC code with rate 0.8392. The performance of this code the density of 1-entries in the base matrix and therefore
208 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

0
the masked matrix is a sparser matrix. Consequently, the 10
uncoded BPSK
associated Tanner graph of Mrs,e (dv , dc ) has either a larger −1
10
(16384,14337) BER
(16384,14337) BLER
girth or a smaller number of short cycles than that of the base Shannon Limit
matrix. If the girth of the masking matrix is g > 6, then the −2
10
girth of the Tanner graph of the masked matrix is at least g.

Bit/block error rate


−3
Since the size of a masking matrix is in general not very large, 10

it is quite easy to construct masking matrices with relatively −4


10
large girth, say 8, 10 and 12, either by computer search or by
the techniques given in [64][65]. −5
10
The null space of the masked matrix Mrs,e (dv , dc ) gives an
(m) (m) −6
LDPC code Crs,e with girth at least 6. For e = 2 or 3, Crs,e is 10

a QC-LDPC code. If the masking matrix is a regular matrix −7


10
(m)
with constant column and row weights, then Crs,e is a regular
LDPC code. If the masking matrix has varying column and −8
10
0 1 2 3 4 5 6 7 8 9
(m)
row weights, then Crs,e is an irregular LDPC code. Masking is Eb/N0(dB)

an effective technique for constructing long structured regular


Fig. 24. Performance of the binary (16384,14337) QC-LDPC code given in
and irregular LDPC codes. The performance of an LDPC code Example 9 over the BI-AWGNC.
constructed by masking depends on the choice of the masking
matrix. Regular masking matrices can be constructed using
algebraic or combinatorial methods. An irregular masking
i, respectively, d0v and d0c denote the maximum variable- and
matrix can be constructed by computer search based on the
check-node degrees, respectively. Irregular LDPC codes can
variable- and check-node degree distributions of a code’s
be constructed based on the degree distributions of a code
Tanner graph derived by the evolution of the probability
graph and masking an array of permutation matrices. First
densities of the messages passed between the two types of
we design the degree distributions, v(X) and c(X), of the
nodes in a belief propagation decoder as proposed in [66].
variable- and check-nodes of the graph of a code of rate R
Example 9: In this example, we choose the (257, 2, 256)
based on EXIT charts (or density evolution [16]). Then choose
extended RS code over GF(257) as the base code Cb for
proper parameters, dv , dc and q (or p) that will give us the
code construction. Using the method given in Section VI-B,
desired code length and rate R,where dv ≥ d0v and dc ≥ d0c . By
a 257 × 257 array Hrs,3 of 256 × 256 circulant permutation
computer search, we construct a masking matrix W(dv , dc )
matrices can be constructed based on the minimum weight
that has column and row weight distributions identical (or
codewords of Cb . Choose dv = 8 and dc = 64. Take a 8 × 64
close) to v(X) and c(X). Construct a base array Hrs,e (dv , dc )
subarray Hrs,3 (8, 64) from Hrs,3 (avoiding zero matrices) as
with e = 1, 2 or 3 using a method described above. Masking
the base array for masking. Construct an 8 × 64 masking
the base matrix Hrs,e (dv , dc ) by W(dv , dc ), we obtain a
matrix W(8, 64) that consists of a row of eight 8 × 8 circulant
masked matrix Mrs,e (dv , dc ) which has column and row
matrices whose generators (top rows) are given in Table 1.
weight distributions identical (or close) to v(X) and c(X).
W(8, 64) has column and row weights 4 and 32, respectively.
This masking not only gives a structured irregular LDPC code
Masking the base array Hrs,3 (8, 16) with W(8, 64), we obtain
but also simplifies the code construction. Since the Tanner
a 2048 × 16384 regular masked matrix Mrs,3 (8, 64) with
graph of the base matrix Hrs,e (dv , dc ) is already free of cycles
column and row weights 4 and 32, respectively. The null space
of length 4, the Tanner graph of the resultant irregular LDPC
of Mrs,3 (8, 64) gives a (16384, 14337) regular RS-based QC-
code is also free of cycles of length 4 and hence has a girth of
LDPC code with rate 0.875. The performance of this code with
at least 6. By contrast, in random construction, a large random
iterative decoding using the SPA is shown in Fig. 24. At a BER
bipartite graph based on the degree distributions must first
of 10−6 , it performs 0.85 dB from the Shannon limit. ¤
constructed. In the process of constructing a code graph by
TABLE I. G ENERATORS OF CIRCULANTS computer, effort must be made to avoid cycles of length 4,
IN THE MASKING MATRIX OF E XAMPLE 9. which may not be easy.
g1 = (10011010) g2 = (11011000) Since optimal degree distributions for a given code rate
g3 = (00111010) g4 = (01100110) are derived based on the assumptions of infinite code length,
g5 = (01111000) g6 = (11100010) cycle-free code graph, and an infinite number of decoding
g7 = (11010010) g8 = (01010110) iterations. When applied to construct short codes, the optimal
An irregular LDPC code is given by the null space of a degree distributions are no longer optimal any more and they
sparse matrix H with varying column weights and/or varying usually result in an irregular code with a high error-floor.
row weights so that the code’s Tanner graph has varying nodal Therefore, proper adjustment of the degree distributions must
degrees. The nodal degree distributions (hence, row/column be made to achieve good performance.
weight distributions) from the node perspective (see Example Example 10: The following degree distributions of
1) are expressed in terms of two polynomials [66], v(X) = variable- and check-nodes of a bipartite graph are designed
Pd0v i−1
Pd0c i−1
i=1 vi X and c(X) = i=1 ci X , where vi and ci for a code with rate 1/2 and length between 4000 and 5000:
denote the fractions of variable- and check-node with degree v(X) = 0.25X + 0.625X 2 + 0.125X 8 and c(X) = X 6 .
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 209

0
10
Uncoded BPSK
cyclic, quasi-cyclic, and structured codes. Finally, the masking
−1
10
BER(4672,2336) technique for converting regular quasi-cyclic LDPC codes to
BLER(4672,2336)
Shannon Limit irregular codes was presented. While the paper focuses on
−2
10 the BI-AWGNC, as discussed in the paper, good BI-AWGNC
codes tend to be universally good across many channels.
Bit/block error rate

−3
10
The ultimate goal in the LDPC code field is a situation that
−4 is analog of BCH or RS codes, that is, a straightforward design
10
technique and a straightforward performance analysis. While
−5
10 this may be possible someday, in the short term, some of the
open problems that are undergoing studies by researchers are
−6
10 as follows. It is well known that error-floors can be due to a
−7
small minimum distance or it can be the fault of the iterative
10
decoder. Thus, there is a tremendous amount of research being
−8
10 undertaken to understand the floor phenomenon. Another issue
0 1 2 3 4 5 6 7 8 9
Eb/N0(dB) is the design of short codes. As mentioned in Section II,
decoding threshold prediction techniques assume an infinite
Fig. 25. Performance of the binary (4672,2336) QC-LDPC code given in codeword length and an infinite number of decoding iterations.
Example 10 over the BI-AWGNC.
This leads one to ask about threshold prediction for short
codes with a finite number of iterations. Another problem
The average variable-node and check-node degrees are 3.5 being studied is generalized LDPC codes in which the single
and 7, respectively. Suppose we want to construct a code parity-check nodes and repetition nodes of Tanner graphs were
of length about 4600. To construct such a code, we choose replaced by more complex constraints. This was first consid-
the (73, 2, 72) RS code Cb over GF(73) as the base code ered by Tanner [2]. Other problems include lower bounding
and construct a 73 × 73 array Hrs,2 of 73 × 73 circulant the minimum distance of an LDPC code and understanding
permutation matrices based on the method presented in the impact of cycle structure and distribution on an iterative
Section VI-A. Choose dv = 32 and dc = 64. Take a 32 × 64 decoder.
subarray Hrs,2 (32, 64) from Hrs,2 as the base array for
masking. It is a 2336 × 4672 matrix over GF(2) with column
and row weights 32 and 64, respectively. Construct a masking R EFERENCES
matrix W(γ, ρ) by computer search with column and row
[1] R. G. Gallager, Low-Density Parity-Check Codes, M.I.T. Press, Cam-
weight distributions close to the degree distributions v(X) and bridge, MA, 1963. (Also, R. G. Gallager, “Low density parity-check
c(X) given above. Masking the base array Hrs,2 (32, 64) with codes,” IRE Trans. Inform. Theory, IT-8, pp. 21-28, Jan. 1962.)
W(32, 64), we obtain a masked 32 × 64 array Mrs,2 (32, 64) [2] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE
Trans. Inform. Theory, vol. 27, pp. 533-547, Sept. 1981.
of circulant permutation and zero matrices. The column [3] D. MacKay and R. Neal, “Good codes based on very sparse matrices,”
and row weight distributions of Mrs,2 (32, 64) are identical Cryptography and Coding, 5th IMA Conf., C. Boyd, Ed., Lecture Notes
to v(X) and c(X). The null space of Mrs,2 (32, 64) gives in Computer Science, Oct. 1995.
[4] N. Alon and M. Luby, “A linear time erasure-resilient code with nearly
a (4672, 2336) irregular RS-based QC-LDPC code. The optimal recovery,” IEEE Trans. Inform. Theory, vol. 42, pp. 1732-1736,
performance of this code with iterative decoding using the Nov. 1996.
SPA (50 iterations) is shown in Fig. 25. The code performs [5] J. Byers, M. Luby, M. Mitzenmacher, and A. Rege, ”A digital fountain
approach to reliable distribution of bulk data,” Proc. ACM SIGCOMM
very well: at a BER of 10−6 , it is 1.6 dB from the Shannon ’98, Vancouver, BC, Canada, Jan. 1998, pp. 56-67.
limit. ¤ [6] D. J. C. MacKay, “Good Error-Correcting Codes Based on Very Sparse
Matrices,” IEEE Trans. Inform. Theory, vol. 45, no. 2, pp. 399-431,
1999.
VIII. C ONCLUSION AND O PEN P ROBLEMS [7] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and
Applications, 2nd editon, Prentice-Hall, Upper Saddle River, NJ., 2004.
This paper provided fundamentals in the design of LDPC [8] W. E. Ryan, “An Introduction to LDPC Codes,” CRC Handbook for
codes. The EXIT chart technique for determining near-optimal Coding and Signal Processing for Recording Systems, Ed., B. Vasic and
degree distributions for LDPC code ensembles was first dis- E. Kurtas, CRC Press, 2004.
[9] C. Jones, A. Matache, T. Tian, J. Villasenor, R. Wesel, “The universality
cussed to provide a target for the code designer. The utility of LDPC codes on wireless channels,” in Proc. Military Comm. Conf.
of representing codes by protographs and how this naturally (MILCOM), Oct. 2003.
leads to quasi-cyclic LDPC codes was also discussed, after [10] M. Franceschini, G. Ferrari, and R. Raheli, “Does the performance of
LDPC codes depend on the channel?” in Proc. Int. Symp. Inf. Theory
which the EXIT chart technique was extended to the special and its Applns, 2004.
case of protograph-based LDPC codes. Discussed next was [11] A. Ashikhmin, G. Kramer, and S. ten Brink, “Extrinsic information
several design approaches for LDPC codes which incorporate transfer functions: Model and erasure channel properties,” IEEE Trans.
Inform. Theory, vol. 50, pp. 2657-2673, Nov. 2004.
one or more accumulators, including quasi-cyclic accumulator- [12] F. Peng and W. E. Ryan and R. D. Wesel, “Surrogate channel design of
based codes. The second half the paper then switched to universal LDPC codes,” IEEE Commun. Letters, vol. 10, pp. 480-482,
several algebraic LDPC code design techniques including Jun. 2006.
[13] Z. Li, L. Chen, L. Zeng, S. Lin, and W. Fong, “Efficient encoding of
codes based on finite geometries and codes whose designs are low-density parity-check codes,” IEEE Trans. Commun., vol. 54, pp.
based on Reed-Solomon codes. The algebraic designs lead to 71-81, Jan. 2006.
210 JOURNAL OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VOL. 2, NO. 3, SEPTEMBER 2006

[14] S. ten Brink, “Convergence Behavior of Iteratively Decoded Parallel [41] S. J. Johnson and S. R. Weller, “Constructions for irregular repeat-
Concatenated Codes,” IEEE Trans. Commun., vol. 49, pp. 1727-1737, accumulate codes,” in Proc. IEEE Int. Sym. Inform. Theory, Adelaide,
Oct. 2001. Sept. 2005.
[15] S. ten Brink, G. Kramer, and A. Ashikhmin, “Design of low-density [42] L. Dinoi, F. Sottile, and S. Benedetto, ”Design of variable-rate irregular
parity-check codes for modulation and detection,” IEEE Trans. Com- LDPC codes with low error floor,” 2005 IEEE Int. Conf. Comm., May
mun., vol. 52, pp. 670-678, Apr. 2004. 2005.
[16] T. Richardson, A. Shokrollahi, and R. Urbanke, “Design of capacity- [43] A. Roumy, S. Guemghar, G. Caire, and S. Verdu, ”Design methods for
approaching irregular low-density parity-check codes,” IEEE Trans. irregular repeat-accumulate codes,” IEEE Trans. Inform. Theory, vol. 50,
Information Theory, vol. 47, pp. 619-637, Feb. 2001. pp. 1711-1727, Aug. 2004.
[17] D. Divsalar, S. Dolinar, and F. Pollara, “Iterative Turbo Decoder Analysis [44] Y. Zhang, W. E. Ryan, and Y. Li, “Structured eIRA codes,” in Proc.
Based on Density Evolution,” IEEE Journal on Selected Areas in 38th IEEE Asilomar Conf. on Signals, Systems, and Computers, Pacific
Communications, vol. 19, pp. 891-907, May, 2001. Grove, CA, Nov. 2004, pp. 7-10.
[18] H. El Gamal and A. R. Hammons, “Analyzing the Turbo Decoder Using [45] A. Abbasfar, K. Yao, and D. Disvalar, “Accumulate Repeat Accumulate
the Gaussian Approximation,” IEEE Trans. Inform. Theory, vol. 47, no. Codes,” in Proc. IEEE GLOBECOM, Dallas, Texas, Nov. 2004.
2, pp. 671-686, Feb. 2001. [46] D. Divsalar, S. Dolinar, J. Thorpe, and C. Jones, “Constructing LDPC
[19] M. Ardakani and F. R. Kschischang, ”A More Accurate One- codes from simple loop-free encoding modules,” in Proc. IEEE Inter-
Dimensional Analysis and Design of LDPC codes,” IEEE Trans. on national Conference on Communications, May 2005.
Comm., Dec. 2004, pp 2106-2114. [47] D. Divsalar, C. Jones, S. Dolinar, and J. Thorpe, “Protograph based
[20] M. Tüchler, S. ten Brink, and J. Hagenauer, ”Measures for tracing LDPC codes with minimum distance linearly growing with block size,”
convergence of iterative decoding algorithms,” Proc. 4th IEEE/ITG in Proc. IEEE GLOBECOM, Nov. 2005.
Conf.on Source and Channel Coding, Berlin, Germany, Jan. 2002. [48] Second generation framing structure, channel coding and modulation
[21] E. Sharon, A. Ashikhmin, and S. Litsyn, “EXIT functions for the systems for Broadcasting, Interactive Services, News Gathering and
Gaussian channel,” Proc. 40th Annu. Allerton Conf. Communication, other broadband satellite applications, ETSI, EN 302 307, 2004.
Control, Computers, Allerton, IL, Oct. 2003, pp. 972-981. [49] D. Divsalar, S. Dolinar, and J. Thorpe, ”Accumulate-repeat-accumulate-
[22] E. Sharon, A. Ashikhmin, and S. Litsyn, “EXIT functions for continuous accumulate-codes”, Proc. 60th Vehicular Technology Conf., Sept. 2004,
channels - Part I: Constituent codes,” submitted, IEEE Trans. Commun. pp. 2292-2296.
[23] S. ten Brink and G. Kramer, ”Design of repeat-accumulate codes for [50] Y. Kou, S. Lin, and M. Fossorier, “Low density parity check codes
iterative detection and decoding,” IEEE Trans. Sig. Proc., vol. 51, pp. based on finite geometries: a rediscovery and new results,” IEEE Trans.
2764-2772, Nov. 2003. Inform. Theory, vol. 47, no.11, pp. 2711-2736, Nov. 2001.
[24] R. Michael Tanner, “On quasi-cyclic repeat-accumulate codes,” in Proc. [51] H. B. Mann, Analysis and Design of Experiments. New York: Dover,
37th Allerton Conf. on Communication, Control, and Computing, Sept. 1949
1999. [52] A. P. Street and D. J. Street, Combinatorics of Experimental Design.
[25] Jun Xu, Lei Chen, Lingqi Zeng, Lan Lan, and Shu Lin, “Construction Oxford, UK: Clarendon Press, 1987.
of low-density parity-check codes by superposition,” IEEE Trans. Com- [53] H. Tang, J. Xu, Y. Kou, S. Lin, and K. Abdel-Ghaffar, “ On algebraic
mun., vol. 53, pp. 243-251, Feb. 2005. construction of Gallager and circulant low density parity-check codes,”
[26] T. J. Richardson and R. L. Urbanke, “Multi-edge type ldpc IEEE Trans. Inform. Theory, vol. 50, no.6 , pp. 1269-1279, June 2004.
codes,” to appear, IEEE Trans. Inf. Theory. [Online]. Available: [54] L. Chen, J. Xu, I. Djurdjevic, and S. Lin, “ Near Shannon limit quasi-
http://lthcwww.epfl.ch/ cyclic low-density parity-check codes,” IEEE Trans. Commun., vol. 52,
[27] J. Thorpe, “Low-Density Parity-Check (LDPC) Codes Constructed from no. 7, pp. 1038-1042, July 2004.
Protographs,” JPL INP, Tech. Rep., Aug. 2003, 42-154. [55] H. Tang, J. Xu, S. Lin, and K. A. S. Abdel-Ghaffar, “ Codes on finite
[28] H. Zhong and T. Zhang “Design of VLSI implementation-oriented geometries,” IEEE Trans. Inform. Theory, vol. 51, no. 2, pp. 572–596,
LDPC codes,” in Proc. 58th Vehicular Technology Conf., Oct. 2003, Feb. 2005.
pp. 670-673. [56] Y. Y. Tai, L. Lan, L. Zeng, S. Lin, and K. Abdel-Ghaffar, “Algebraic
[29] M. M. Mansour, “High-performance decoders for regular and irregular construction of quasi-cyclic LDPC codes for the AWGN and erasure
repeat-accumulate codes,” in Proc. IEEE GLOBECOM, Nov. 29-Dec. 3, channels,” IEEE Trans. Commun., to appear.
2004, pp. 2583-2588. [57] J. Xu, L. Chen, I. Djurdjevic, S. Lin, and K. Abdel-Ghaffar, “Construc-
[30] G. Liva, Block Codes Based on Sparse Graphs for Wireless Communi- tion of regular and irregular LDPC codes: geometry decomposition and
cation Systems, Ph.D. thesis, Università degli Studi di Bologna, Italy, masking,” submitted to IEEE Trans. Inform. Theory in 2004 (in revision).
2006. [58] Juntan Zhang and Marc P. C. Fossorier, “A modified weighted bit-
[31] G. Liva and M. Chiani, ”Extrinsic information transfer analysis for flipping decoding of low-density parity-check codes,” IEEE Commun.
protograph-based LDPC codes”, submitted, IEEE Trans. Comm., 2006. Letters, vol. 8, no. 3, March 2004
[32] D. Divsalar, H. Jin, and R. J. McEliece, “Coding theorems for Turbo- [59] Zhenyu Liu and Dimitris A. Pados, “ A decoding algorithm for finite-
like codes,” in Proc. 36th Allerton Conf. on Communication, Control, geometry LDPC codes,” IEEE Trans. on Commun. , vol. 53, no. 3,
and Computing, Allerton, Illinois, Sept. 1998, pp. 201-210. March 2005
[33] H. Jin, A. Khandekar, and R. McEliece, “Irregular repeat-accumulate [60] Ming Jiang, Chunming Zhao, Zhihua Shi, and Yu Chen, “An improve-
codes,” in Proc. International Symposium on Turbo codes and Related ment on the modified weighted bit flipping decoding algorithm for LDPC
Topics, Sept. 2000, pp. 1-8. codes,” IEEE Commun. Letters, vol.9, no. 9, Sept. 2005
[34] M. Chiani and A. Ventura, ”Design and performance evaluation of [61] I. Djurdjevic, J. Xu, K. Abdel-Ghaffar, and S. Lin, ”Construction of
some high-rate irregular low-density parity-check codes, Proc. IEEE low-density parity-check codes based on Reed-Solomon codes with two
Globecom, Nov. 2001. information symbols,” IEEE Commun. Lett., vol. 8, no. 7, pp. 317-319,
[35] M. Yang, Y. Li, and W. E. Ryan, “Design of efficiently encodable July 2004.
moderate-length high-rate irregular LDPC codes,” IEEE Trans. Com- [62] Z. -W. Li, L. Chen, L. -Q. Zeng, S. Lin, and W. Fong, ”Efficient encoding
mun., vol. 52, pp. 564-571, Apr. 2004. of quasi-cyclic low-density parity-check codes,” IEEE Trans. Commun.,
[36] Y. Zhang and W. E. Ryan, “Structured IRA Codes: Performance Analysis vol.54, no. 1, pp. 71-81, Jan. 2006.
and Construction,” IEEE Trans. Commun., 2006, to appear. [63] I. S. Reed and G. Solomon,”Polynomial codes over certain fields,” J.
[37] Xiao Yu Hu and Evangelos Eleftheriou and Dieter Michael Arnold, Soc. Ind. Appl. Math., 8: 300-304, Jun. 1960.
”Progressive edge-growth Tanner graphs,” Proc. 2001 GlobeCom Conf., [64] L. Lan, L. -Q Zeng, Y. Y. Tai, L. Chen, S. Lin, and K. Abdel-
San Antonio, Texas, Nov. 2001, pp. 995-1001. Ghaffar,”Construction of quasi-cyclic LDPC codes for AWGN and
[38] T. Tian and C. Jones and J. Villasenor and R. D. Wesel, “Characterization binary erasure channels: a finite field approach,” IEEE Trans. Inform.
and selective avoidance of cycles in irregular LDPC codes,” in Proc. Theory, in revision, 2006.
ICC’03, May, 2003. [65] L. Lan, Y. Y. Tai, L. Chen, S. Lin, and K. Abdel-Ghaffar,”A trellis-
[39] M. Fossorier, ”Quasi-Cyclic Low-Density Parity-Check Codes From based method for removing cycles for bipartite graphs and construction
Circulant Permutation Matrices,” IEEE Trans. Inf. Theory, vol. 50., Aug. of low density parity check codes,” IEEE Commun. Lett., vol. 8, no. 7,
2004, pp. 1788-1793. pp. 443-445, Jul. 2004.
[40] G. Liva, E. Paolini, and M. Chiani, “Simple Reconfigurable Low- [66] X. -Y. Hu, E. Eleftheriou, and D. M. Arnold,”Regular and irregular
Density Parity-Check Codes,” IEEE Commun. Letters, vol. 9, pp. 258- progressive edge-growth Tanner graphs,” IEEE Trans. Inform. Theory,
260, March, 2005 vol 51, no.1, pp. 386-398, Jan. 2005.
LIVA et al.: DESIGN OF LDPC CODES: A SURVEY AND NEW RESULTS 211

Gianluigi Liva was born in Spilimbergo, Italy. He Shu Lin (S’62-M’65-SM’78-F’80-LF’00) received
received the M.S. degree in Electrical Engineering, the B.S.E.E. degree from the National Taiwan Uni-
in 2002, and the Ph.D. degree, in 2006, from the versity, Taipei, Taiwan, in 1959, and the M.S. and
University of Bologna, Bologna, Italy. He is cur- Ph.D. degrees in electrical engineering from Rice
rently working at the Institute of Communications University, Houston, TX, in 1964 and 1965, respec-
and Navigation of the German Aerospace Center tively.
(DLR) in Munich. His research interests include the In 1965, he joined the Faculty of the University
design and the analysis of error correcting codes of Hawaii, Honolulu, as an Assistant Professor of
based on sparse graphs for space communication Electrical Engineering. He became an Associate
systems. Professor 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
Shumei Song was born in Henan, China. She re- River, NJ: Prentice-Hall, 1st edition, 1982, 2nd edition, 2004), and (with
ceived the B.S.E.E. degree from Tsinghua Univer- T. Kasami, T. Fujiwara, and M. Fossorier) the book, Trellises and Trellis-
sity, Beijing, China, in 2000, and the M.S.E.E degree Based Decoding Algorithms, (Boston, MA: Kluwer Academic, 1998). His
from Peking University, Beijing, China, in 2003. current research areas include algebraic coding theory, coded modulation,
She is currently working toward the Ph.D degree in error control systems, and satellite communications. He has served as the
communication and coding theory at the University Principle Investigator on 32 research grants.
of California, Davis. Dr. Lin is a Member of the IEEE Information Theory Society and the Com-
munication Society. He served as the Associate Editor for Algebraic Coding
Theory for the IEEE 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.

Lan Lan received the B.E. and M.E. degrees from


the University of Electronic Science and Technology
of China, Chengdu, China, in 1998 and 2001, and the
Ph.D. degree in electrical engineering from the Uni- William E. Ryan received the Ph.D. degree in elec-
versity of California, Davis, in 2006. She is currently trical engineering from the University of Virginia
working for Keyeye communications company as a (Charlottesville, VA) in 1988 after receiving the B.S.
DSP design engineer. Her research interests include and M.S. degrees from Case Western Reserve Uni-
error-control coding techniques and their application versity and the University of Virginia, respectively,
in digital communications and digital storage sys- in 1981 and 1984.
tems. After receiving the Ph.D. degree Prof. Ryan held
positions in industry for five years, first at The
Analytic Sciences Corporation, then at Ampex Cor-
poration, and finally at Applied Signal Technology.
From 1993 to 1998, he was an assistant professor
and then associate professor in the Department of Electrical and Computer
Engineering at New Mexico State University, Las Cruces, NM. From 1998
to present, he has been on the faculty in the Department of Electrical and
Computer Engineering at the University of Arizona, Tucson, AZ, first as an
associate professor and then as full professor.
Prof. Ryan has over 75 publications in the leading conferences and journals
in the area of communication theory and channel coding. He is also preparing
the textbook Iteratively Decodable Codes: Construction and Decoding (Shu
Lin, co-author) to be published by Cambridge University Press. His research
Yifei Zhang received the B.E. and M.E. degrees in interests are in coding and signal processing with applications to magnetic
electrical and communication systems from Beijing data storage and wireless data communications. He was an associate editor
University of Posts and Telecommunications, Bei- for the IEEE Transactions on Communications from 1998 through 2005. He
jing, China, in 1998 and 2001, respectively. She is is a Senior Member of the IEEE.
currently working toward the Ph.D. degree in the
Department of Electrical and Computer Engineering,
University of Arizona, Tucson. Her research interests
include error-control coding and its implementation
for digital communications and data storage systems.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy