You are on page 1of 10

84 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO.

1, JANUARY 2009

A Unified Approach to the Construction of Binary


and Nonbinary Quasi-Cyclic LDPC Codes Based
on Finite Fields
Shumei Song, Bo Zhou, Member, IEEE, Shu Lin, Life Fellow, IEEE, and Khaled Abdel-Ghaffar, Member, IEEE

Abstract— A unified approach for constructing binary and codes [18]. These codes also have advantages in integrated
nonbinary quasi-cyclic LDPC codes under a single framework is circuit (IC) decoder implementation due to their quasi-cyclic
presented. Six classes of binary and nonbinary quasi-cyclic LDPC symmetry that results in simple regular wiring and modular
codes are constructed based on primitive elements, additive
subgroups, and cyclic subgroups of finite fields. Numerical results structure.
show that the codes constructed perform well over the AWGN In this paper, a unified approach for constructing both binary
channel with iterative decoding. and nonbinary QC-LDPC codes under a single framework
Index Terms— Base matrix, dispersion, finite field, LDPC based on finite fields is presented. The constructed codes are
codes, location-vector, quasi-cyclic. shown to perform well over the AWGN channel using either
the binary SPA [3], [4], [6], [7], [19], [20] or the Fast Fourier
I. I NTRODUCTION Transform based q-ary SPA (FFT-QSPA) given in [9]–[11].
The construction is based on a base matrix over some finite
L DPC codes, first discovered by Gallager in 1962 [1], were
rediscovered and shown to form a class of Shannon-limit
approaching codes in the late 1990’s and early 2000’s [2]–[7].
field that satisfies certain constraints. The elements in this
matrix are then replaced by binary or nonbinary circulants to
form parity-check matrices of binary or nonbinary QC-LDPC
Ever since their rediscovery, a great deal of research effort
codes, respectively. It should be noted that some of the known
has been expended in the design and construction of these
constructions of QC-LDPC codes follow from this framework,
codes. However, most of the effort has been focused on the
e.g., [21], [22]. In [23] the same construction methods are used
design and construction of binary LDPC codes, very little on
to yield binary codes. However, since the rows and columns of
the design and construction of nonbinary LDPC codes.
the circulants in the parity-check matrices in our constructions
Nonbinary LDPC codes and their iterative decoding using
have weight one, constructions in which the rows and columns
the sum-product algorithm (SPA) were first investigated by
have weight two or larger, such as in [17], [24], [25], are not
Davey and MacKay in 1998 [8], [9]. Since their work, very lit-
covered by our framework.
tle progress has been made in either construction or decoding
of nonbinary LDPC codes. Most recently, some encouraging The organization of this paper is as follows: Section II gives
research works started to emerge in decoding [10], [11], code a brief introduction to binary and nonbinary LDPC codes;
construction [12]–[14], and analysis [15],[16]. Section III presents a general construction method of binary
Many structured binary LDPC codes presented in the lit- and nonbinary QC-LDPC codes based on the concepts of
erature have a quasi-cyclic (QC) structure. Encoding of QC- location-vectors, dispersion, and base matrices; Sections IV, V,
LDPC codes can be implemented using simple shift-registers and VI give techniques to construct such base matrices using
with linear complexity [17] in contrast to the quadratic com- primitive elements, additive subgroups, and cyclic subgroups
plexity involved in computer-generated random-like LDPC of finite fields, respectively; and Section VII concludes the
paper.
Paper approved by F. Fekri, the Editor for LDPC Codes and Applications
of the IEEE Communications Society. Manuscript received March 2, 2006;
revised April 20, 2007, January 22, 2008, and April 11, 2008. II. LDPC C ODES
This research was supported by NASA under the Grants NNG05GD13G
and NNX07AK50G, NSF under the Grants CCF-0727478 and ECS-0121469, Let GF(q) be a finite field with q elements where q is a
and gift grants from Intel and Northrop Grumman Space Technology. power of a prime. A q-ary regular LDPC code C is given by
S. Song was with the Department of Electrical and Computer Engineering, the null space over GF(q) of a sparse parity-check matrix H =
University of California at Davis, Davis, CA 95616 USA. She is now
with Marvell Semiconductor, Inc., Santa Clara, CA 95054 USA (e-mail: [hi,j ] over GF(q) that has the following structural properties:
ssong@marvell.com). 1) each row has weight ρ; 2) each column has weight γ.
B. Zhou was with the Department of Electrical and Computer En- We further impose the following additional structural property
gineering, University of California at Davis, Davis, CA 95616 USA.
He is now with Qualcomm Inc., San Diego, CA 92121, USA (e-mail: which is enforced in most LDPC constructions: 3) no two rows
bzhou@qualcomm.com). (or two columns) have more than one place where they both
S. Lin and K. Abdel-Ghaffar are with the Department of Electrical and have nonzero components. Such a parity-check matrix is said
Computer Engineering, University of California, Davis, Davis, CA 95616
USA (e-mail: shulin@ece.ucdavis.edu; ghaffar@ece.ucdavis.edu). to be (γ, ρ)-regular and the code given by its null space is
Digital Object Identifier 10.1109/TCOMM.2009.0901.060129 called a (γ, ρ)-regular LDPC code. If q = 2, C is a binary
0090-6778/09$25.00 
c 2009 IEEE
SONG et al.: A UNIFIED APPROACH TO THE CONSTRUCTION OF BINARY AND NONBINARY QUASI-CYCLIC LDPC CODES BASED ON FINITE FIELDS 85

LDPC code. Structural property 3), is a constraint on the rows zero matrix. If δ = 0, then Ab (δ) is a (q−1)×(q−1) circulant
and columns of the parity-check matrix H and is referred to as permutation matrix, i.e., a permutation matrix where each row
the row-column (RC)-constraint. If the columns and/or rows is the right cyclic-shift of the row above it and the first row
of H have varying weights, then the null space of H gives an is the right cyclic-shift of the last row.
irregular LDPC code. A q-ary QC-LDPC code is given by the Similarly, we define the (q −1)-fold q-ary matrix dispersion
null space of an array of sparse circulants over GF(q) of the of δ, Aq (δ), to be the (q − 1) × (q − 1) matrix over GF(q)
same size. with the q-ary location-vectors of δ, αδ, · · · , αq−2 δ as its
The RC-constraint on the rows of the parity-check matrix consecutive rows. Each row (or each column) of Aq (δ) is
H of an LDPC code ensures that: 1) the minimum distance either the zero vector if δ = 0, or it contains one and only
of the LDPC code given by the null space of H is at least one nonzero component if δ = 0. Hence, if δ = 0, then Ab (δ)
γ + 1[7], [20]; and 2) the Tanner graph [26] of the code is is the (q − 1) × (q − 1) zero matrix. If δ = 0, then Aq (δ) is a
free of cycles of length 4 and hence its girth is at least 6. (q − 1) × (q − 1) matrix in which each row is the right cyclic-
For an LDPC code to perform well with iterative decoding, shift of the row above it multiplied by α and the first row is
its Tanner graph should not contain short cycles. The shortest the right cyclic-shift of the last row multiplied by α. We call
cycles that affect the code performance the most are those of Aq (δ) a q-ary α-multiplied circulant permutation matrix. The
length 4. Therefore, cycles of length 4 should be prevented in matrix Aq (δ) is referred to as the (q − 1)-fold q-ary matrix
code construction. This is the case for almost every method dispersion of δ.
of constructing LDPC codes that has been proposed.
C. Base Matrices
III. A G ENERAL C ONSTRUCTION BASED ON F INITE Again let α be a primitive element of GF(q). We begin with
F IELDS an m × n matrix W over GF(q),
This section presents a general method for constructing both
⎡ ⎤ ⎡ ⎤
binary and q-ary QC-LDPC codes under a single framework w0 w0,0 w0,1 ··· w0,n−1
based on replacing the elements of a matrix over GF(q) ⎢ w1 ⎥ ⎢ w1,0 w1,1 ··· w1,n−1 ⎥
⎢ ⎥ ⎢ ⎥
with sparse matrices that possess a circulant structure. The W= ⎢ .. ⎥=⎢ .. ⎥,
⎣ . ⎦ ⎣ ··· ··· . ··· ⎦
construction is based on the concepts of location-vectors,
dispersion, and base matrices. wm−1 wm−1,0 wm−1,1 ··· wm−1,n−1
(1)
which has the following structural properties: 1) for 0 ≤ i < m
A. Binary and q-ary Location-Vectors and 0 ≤ k, l < q − 1 and k = l, αk wi and αl wi differ in
Let α be a primitive element of the Galois field GF(q). at least n − 1 places, i.e., their Hamming distance is at least
Then the powers of α, α−∞  0, α0 = 1, α, . . . , αq−2 , give n − 1, or equivalently, αk wi and αl wi agree in at most one
all the elements of GF(q) and αq−1 = 1. For each nonzero place; 2) for 0 ≤ i, j < m, i = j and 0 ≤ k, l < q − 1, αk wi
element αi in GF(q) with 0 ≤ i < q − 1, we form a (q − 1)- and αl wj differ in at least n − 1 places. Structural properties
tuple over GF(2), zb (αi ) = (z0 , z1 , . . . , zq−2 ), where the ith 1 and 2 are constraints on the rows of W and are referred
component zi = 1 and all the other components are equal to as the α-multiplied row-constraints 1 and 2, respectively.
to zero. The subscript “b” stands for binary. The weight of The following result gives conditions on W that guarantee
zb (αi ) is equal to one. This (q − 1)-tuple over GF(2) is called the satisfaction of the α-multiplied row-constraints 1 and 2.
the binary location-vector of αi . The binary location-vector A version of this result appears in [24].
of the 0-element of GF(q) is defined as the zero (q − 1)-tuple, Lemma 1: The α-multiplied row-constraints 1 and 2 hold
zb (0) = (0, 0, . . . , 0). if every row in W has at most one zero element and every
We also define the q-ary location-vector of an element 2 × 2 submatrix in W is nonsingular, respectively.
of GF(q). The q-ary location-vector of a nonzero element Proof: Since αk wi,s = αl wi,s , where 0 ≤ i < m, 0 ≤
αi in GF(q) is defined as the (q − 1)-tuple, zq (αi ) = k, l < q−1, and k = l, if and only if wi,s = 0, the α-multiplied
(z0 , z1 , . . . , zq−2 ), over GF(q), where zi = αi and all the row-constraint 1 holds if and only if each row of W has at
other components are equal to zero. The subscript “q” stands most one 0-element. If the α-multiplied row-constraint 2 does
for q-ary. The q-ary location-vector of the 0-element is again not hold then αk wi,s = αl wj,s and αk wi,t = αl wj,t , where
defined as the zero (q − 1)-tuple. 0 ≤ i, j, < m, i = j, 0 ≤ k, l < q − 1, 0 ≤ s, t < n, and
s = t. Hence, αk wi,s · αl wj,t = αl wj,s · αk wi,t , which implies
that wi,s · wj,t − wi,t · wj,s = 0, i.e., W has a 2 × 2 singular
B. Binary and q-ary Dispersion of Field Elements submatrix.
Let δ be an element of GF(q). Then the binary location- Notice that the condition “every row in W has at most one
vector zb (αδ) of the field element αδ is the right cyclic-shift zero element” holds if the condition “every 2 × 2 submatrix
(one place to the right) of the binary location-vector zb (δ) of in W is nonsingular” holds. In particular, it suffices to check
δ. Form a (q − 1) × (q − 1) matrix Ab (δ) over GF(2) with the that the second condition is satisfied in order to conclude that
binary location-vectors of δ, αδ, · · · , αq−2 δ as its consecutive the α-multiplied row-constraints 1 and 2 hold.
rows. Each row (or each column) of Ab (δ) is either the zero The matrix W satisfying the α-multiplied row-constraints
vector if δ = 0, or it contains one and only one 1-component 1 and 2 is referred to as the base matrix in our constructions
if δ = 0. Hence, if δ = 0, then Ab (δ) is the (q − 1) × (q − 1) of binary and q-ary QC-LDPC codes as explained next.
86 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 1, JANUARY 2009

D. Construction of Binary and q-ary QC-LDPC Codes binary and q-ary, respectively. Both codes, Cb and Cq , are of
Replacing each entry wi,j of the m×n base matrix W given length (q − 1)ρ. Their Tanner graphs have girths of at least 6.
in (1) by its (q − 1)-fold binary matrix dispersion, Ab (wi,j ), If the base matrix W has constant row and constant column
we obtain an m × n array Hb : weights, both Hb (γ, ρ) and Hq (γ, ρ) have constant row and
constant column weights and the codes Cb and Cq are regular.
⎡ ⎤
B0,0 B0,1 · · · B0,n−1 Otherwise, they may be irregular.
⎢ B1,0 B1,1 · · · B1,n−1 ⎥ The above constructions of binary and q-ary QC-LDPC
⎢ ⎥
Hb = ⎢ .. .. .. .. ⎥, (2) codes are based on (q − 1)-fold binary and q-ary dispersions
⎣ . . . . ⎦
of a base matrix W over GF(q) whose rows satisfy the two
Bm−1,0 Bm−1,1 · · · Bm−1,n−1 α-multiplied row-constraints. The question now is how to
where Bi,j = Ab (wi,j ), for 0 ≤ i < m and 0 ≤ j < n. Bi,j construct the base matrix W. This will be answered in the
is a (q − 1) × (q − 1) matrix over GF(2) which is either zero next three sections.
if wi,j = 0 or a circulant permutation matrix if wi,j = 0.
IV. C ONSTRUCTION BASED ON THE P RIMITIVE E LEMENTS
Similarly, replacing each entry wi,j of the m×n base matrix
OF F INITE F IELDS
W given in (1) by its (q − 1)-fold q-ary matrix dispersion,
Aq (wi,j ), we obtain an m × n array Hq array: For 0 < u < q − 1, a nonzero element αu of GF(q) is
a primitive element if and only if u and q − 1 are relatively
⎡ ⎤ prime. The number of primitive elements, K, in GF(q) is given
Q0,0 Q0,1 ··· Q0,n−1 k
by Euler’s totient function φ(q − 1) = (q − 1) i=1 (1 − p1i ),
⎢ Q1,0 Q1,1 ··· Q1,n−1 ⎥
⎢ ⎥ where p1 , p2 , . . . , pk are the distinct prime factors of q−1 [27].
Hq = ⎢ .. .. .. .. ⎥, (3)
⎣ . . . . ⎦ Let {αu1 , αu2 , · · · , αuK } be the set of primitive elements of
Qm−1,0 Qm−1,1 · · · Qm−1,n−1 GF(q) and u0 = 0. We form the following (K + 1) × (K + 1)
matrix W(1) over GF(q):
where Qi,j = Aq (wi,j ), for 0 ≤ i < m and 0 ≤ j < n. Qi,j
is a (q − 1) × (q − 1) matrix over GF(q) which is either zero ⎡ ⎤
w0
if wi,j = 0 or an α-multiplied circulant permutation matrix if ⎢ w1 ⎥
wi,j = 0. ⎢ ⎥
W(1) = ⎢ .. ⎥
Hb and Hq are both m(q − 1) × n(q − 1) matrices over ⎣ . ⎦
GF(2) and GF(q), and are called the (q − 1)-fold binary and q- ⎡ wuK −u ⎤
ary dispersions of the base matrix W, respectively. For q > 4, α 0 0 − 1 αu1 −u0 − 1 · · · αuK −u0 − 1
the (q − 1) × (q − 1) matrices Bi,j and Qi,j are sparse and ⎢ αu0 −u1 − 1 αu1 −u1 − 1 · · · αuK −u1 − 1 ⎥
⎢ ⎥
consequently Hb and Hq are sparse matrices. = ⎢ .. .. . .. ⎥.
⎣ . . . . . ⎦
Since W satisfies the α-multiplied row-constraints 1 and 2, αu0 −uK − 1 αu1 −uK − 1 · · · αuK −uK − 1
both matrices Hb and Hq satisfy the RC-constraint as shown (4)
in the following result. From (4), we can readily see that matrix W(1) has the
Lemma 2: If the base matrix W satisfies the α-multiplied following structural properties: 1) all the entries of a row
row-constraints 1 and 2, then Hb and Hq satisfy the RC- are distinct elements in GF(q); 2) each row (or each column)
constraint. contains one and only one zero element; 3) any two rows differ
Proof: Suppose that Hb does not satisfy the RC- in every position; 4) any two columns differ in every position;
constraint. Since Hb as given in (2) is an array of circulant and 5) the K + 1 zero elements lie on the main diagonal of
permutation matrices, there are integers i, j, s, t, k, and l, such the matrix.
that 0 ≤ i, j < m, 0 ≤ s, t < n, 0 ≤ k, l < q − 1, s = t, Proposition 1: The matrix W(1) satisfies the α-multiplied
and if i = j then k = l, for which the following is true: 1) row-constraints 1 and 2.
the kth row of Bi,s and the lth row of Bj,s are identical, Proof: The proof is based on Lemma 1. The determinant
i.e., zb (αk wi,s ) = zb (αl wj,s ), and 2) the kth row of Bi,t and of the 2 × 2 submatrix of W(1) , whose elements belong to
the lth row of Bj,t are identical, i.e., zb (αk wi,t ) = zb (αl wj,t ). the ith and i th rows and the jth and j  th columns, where
Since distinct elements in GF(q) have distinct location-vectors, 0 ≤ i, i , j  , j  ≤ K, i = i , and j = j  , equals
it follows that αk wi,s = αl wj,s and αk wi,t = αl wj,t . These
two equations violate the α-multiplied row-constraint 1 if (αuj −ui − 1)(αuj −ui − 1) − (αuj −ui − 1)(αuj −ui − 1) =
i = j and the α-multiplied row-constraint 2 if i = j. This (αui − αui )(αuj − αuj )
,
proves the lemma for Hb . The proof for Hq is similar. αui +ui
For any pair of integers, γ and ρ, with 1 ≤ γ ≤ m and which is nonzero. Hence, W(1) satisfies the α-multiplied row-
1 ≤ ρ ≤ n, let Hb (γ, ρ) and Hq (γ, ρ) be γ × ρ subarrays of constraints 1 and 2.
Hb and Hq , respectively. Hb (γ, ρ) and Hb (γ, ρ) are γ(q − Hence W(1) can be used as the base matrix for (q − 1)-fold
1) × ρ(q − 1) matrices over GF(2) and GF(q), respectively, dispersion to form both binary and q-ary QC-LDPC codes as
and they satisfy the RC-constraint. The null space over GF(2) described in Section III. Although Proposition 1 holds even
of Hb (γ, ρ) gives a binary QC-LDPC code Cb . Similarly, the if the αui ’s are not necessarily primitive elements of GF(q),
null space over GF(q) of Hq (γ, ρ) gives a q-ary QC-LDPC simulation studies show that this restriction leads to good
code Cq . The subscripts, b and q of Cb and Cq stand for codes.
SONG et al.: A UNIFIED APPROACH TO THE CONSTRUCTION OF BINARY AND NONBINARY QUASI-CYCLIC LDPC CODES BASED ON FINITE FIELDS 87

A. A Class of Binary QC-LDPC Codes 10


0

If we disperse W(1) given in (4) using the (q − 1)-fold −1


BER(Iterations=50)
WER(Iterations=50)
(1) 10
binary dispersion, we obtain a (K +1)×(K +1) array Hb = Shannon Limit

(1) (1) (1)


[Bi,j ], where Bi,j = Ab (αuj −ui − 1), 0 ≤ i, j ≤ K. Bi,j is 10
−2

a (q − 1) × (q − 1) matrix over GF(2) which is zero if i = j −3


(1) 10
and a circulant permutation matrix if i = j. Hence, Hb is

error probability
a (K + 1)(q − 1) × (K + 1)(q − 1) matrix over GF(2) with 10
−4

both column and row weights K. Since W(1) satisfies the α- −5


10
multiplied row-constraints 1 and 2, it follows from Lemma 2
(1)
that Hb satisfies the RC-constraint. 10
−6

For a pair of integers, γ and ρ, with 1 ≤ γ, ρ ≤ K + 1, −7


(1) (1) (1) 10
let Hb (γ, ρ) be a γ × ρ subarray of Hb . If Hb (γ, ρ)
(1)
lies either above or below the main diagonal of Hb , it is 10
−8

2 2.5 3 3.5 4 4.5 5 5.5 6


a γ(q − 1) × ρ(q − 1) matrix over GF(2) with column and Eb/N0(dB)

row weights γ and ρ, respectively. It also satisfies the RC-


(1)
constraint. The null space of Hb (γ, ρ) over GF(2) gives a Fig. 1(a). The performance of the binary (2331, 2007) QC-LDPC code
(1) given in Example 1.
binary (γ, ρ)-regular QC-LDPC code Cb of length ρ(q − 1),
rate at least (ρ − γ)/ρ, and minimum distance at least γ + 1,
whose Tanner graph has a girth of at least 6. Any codeword 0
10
(1) (1) BER(Iterations=50)
in Cb is in the null space of Hb (γ, ρ) and, therefore, also WER(Iterations=50)
(1) BER(Estimated Error Floor)
in the null space of any row of the array Hb (γ, ρ) which is WER(Estimated Error Floor)
a 1 × ρ array of (q − 1) × (q − 1) matrices over GF(2). Since −5
10

these (q − 1) × (q − 1) matrices are permutation matrices,


and therefore each column has a single one, it follows that
error probability

(1)
every codeword in Cb has even weight. Consequently, the −10
10
(1)
minimum distance of Cb is at least γ +2 for even γ and γ +1
(1)
for odd γ [20]. If Hb (γ, ρ) contains some but not all the zero
(1)
matrices on the main diagonal of Hb , then it may have two
−15
10

different column weights γ − 1 and γ and two different row


weights ρ − 1 and ρ. In this case, the null space over GF(2) of
(1)
Hb (γ, ρ) gives a near-regular binary QC-LDPC code. The −20
10
2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7
minimum distance of this irregular QC-LDPC code is at least Eb/N0(dB)

γ for even γ and γ + 1 for odd γ.


In the following, we use two examples to illustrate the Fig. 1(b). The estimated error-floors of the bit- and word-error rates of the
construction of binary QC-LDPC codes based on the primitive binary (2331, 2007) QC-LDPC code given in Example 1.
elements of finite fields. In these examples, as well as others,
we assume BPSK transmission over an AWGN channel. For
This field has 128 primitive elements. Based on these ele-
decoding of constructed codes, we use the SPA and set the (1)
ments, we construct a 129×129 array Hb of 255×255 circu-
maximum number of iterations to 50.
lant permutation and zero matrices. Choose γ = 4 and ρ = 32.
Example 1: Let GF (26 ) be the code construction field. (1) (1)
Take a 4 × 32 subarray Hb (4, 32) from Hb , avoiding the
This field has K = 36 primitive elements. Based on these (1) (1)
(1)
elements, we can construct a 37 × 37 array Hb of 63 × 63 zero matrices on the main diagonal of Hb . Hb (4, 32) is
circulant permutation and zero matrices over GF(2). The zero a 1020 × 8160 matrix with column and row weights 4 and
(1) 32, respectively. Its null space gives a regular (8160, 7159)
matrices lie on the main diagonal of Hb . Choose γ = 6
(1) binary QC-LDPC code of rate 0.8773. The performance of
and ρ = 37. Take the first six rows of Hb to form a 6 × 37
(1) this code is shown in Fig. 2. At the BER of 10−6 , it performs
subarray Hb (6, 37) which is a 378×2331 matrix over GF(2) 0.95 dB from the Shannon-limit. Also included in the figure
with row weight 36 and two column weights 5 and 6. Its null is the performance of a (8160, 7159) random MacKay LDPC
space gives a (2331, 2007) binary QC-LDPC code of rate code constructed by computer search whose Tanner graph has
0.861. The performance of this code is shown in Fig. 1(a). no cycles of length four. We see that the (8160, 7159) binary
At the BER (bit-error rate) of 10−6 , it performs 1.5 dB from QC-LDPC code and the (8160, 7159) random MacKay LDPC
the Shannon-limit. The error-floor of this code is estimated, code have almost identical performance. 
using the method given in [28], to be below the BER of 10−16
(or below the WER (word-error rate) of 10−14 ), as shown in
B. A Class of q-ary QC-LDPC Codes
Fig. 1(b). The decoding of this code also converges fast as
shown in Fig. 1(c). At the BER of 10−6 , the performance gap If we disperse W(1) given in (4) using the (q−1)-fold q-ary
(1) (1)
between 5 and 50 iterations is less than 0.4 dB.  dispersion, we obtain a (K +1)×(K +1) array Hq = [Qi,j ],
(1) (1)
Example 2: Let GF (28 ) be the code construction field. where Qi,j = Aq (αuj −ui − 1), 0 ≤ i, j ≤ K. Qi,j is a
88 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 1, JANUARY 2009

−1
10
construction of q-ary QC-LDPC codes based on the primitive
BER(iterations = 3) elements of finite fields. In decoding q-ary codes in these
BER(iterations = 5)
−2
10 BER(iterations = 10) two and later examples, we use the FFT-QSPA [10], [11].
BER(iterations = 50)
Shannon Limit The computational complexity per iteration for a regular q-
−3
10 ary LDPC code whose parity-check matrix has J rows of
weight ρ is O(Jρq log q). Furthermore, for each constructed
error probability

−4
10
code, we compare its word error performance with the word
−5
error performance of a (shortened) Reed-Solomon (RS) code
10
of the same length and rate decoded with the hard-decision
−6
10
Berlekamp-Massey (BM) algorithm [29],[30] and/or the al-
gebraic soft-decision Koetter-Vardy (KV) algorithm [31]. We
−7
10 also assume BPSK transmission over the AWGN channel
where each symbol in GF(q) is represented as log2 q bits if q is
a power of 2. One could also compare the constructed LDPC
−8
10
2 2.5 3 3.5 4 4.5 5 5.5 6
Eb/N0(dB)
codes with concatenated coding schemes with an outer RS
code, an interleaver, and an inner convolutional code. These
Fig. 1(c). The rate of decoding convergence of the binary (2331, 2007) schemes have many parameters which we need to choose
QC-LDPC code given in Example 1.
arbitrarily such as the convolutional code itself. This makes
the comparison inconclusive. Definitely, for a specific practical
0
10 application, the comparison is valuable. However, this is not
QC−LDPC BER
QC−LDPC WER
the scope of the present paper.
−1
10 Random−LDPC BER
Random−LDPC WER The KV algorithm for decoding an RS code consists of three
−2
Shannon Limit
steps: multiplicity assignment, interpolation and factorization
10
[31]. The major computational complexity to carry out the KV
algorithm comes from the interpolation step and is O(λ4 n2 ),
error probability

−3
10
where n is the length of the code and λ is a complexity param-
−4
10 eter that is determined by the interpolation cost of the multi-
plicity matrix formed at the multiplicity assignment step [31]-
−5
10 [33]. The performance/complexity trade-off is controlled by
−6
the complexity parameter λ which is called the interpolation
10
complexity coefficient [33]. As λ increases, the performance of
−7
10
the KV algorithm improves and the computational complexity
2 2.5 3 3.5
Eb/N0(dB)
4 4.5 5
also increases. As λ approaches infinity, the performance of
the KV algorithm reaches its limit.
Fig. 2. The performance of the binary (8160, 7159) QC-LDPC code given Example 3: Let GF (26 ) be the code construction field
in Example 2 and a (8160, 7159) random MacKay LDPC code. which is the same field as given in Example 1. This field
has K = 36 primitive elements. Based on these primitive
(1)
elements, we construct a 37 × 37 array Hq of α-multiplied
(q − 1) × (q − 1) matrix over GF(q) which is zero if i = j 63 × 63 circulant permutation and zero matrices over GF (26 ).
and an α-multiplied circulant permutation matrix if i = j. (1)
Choose γ = 4 and ρ = 16. Take a 4 × 16 subarray Hq (4, 16)
(1)
Hence, Hq is a (K + 1)(q − 1) × (K + 1)(q − 1) matrix (1)
from Hq , avoiding the zero matrices on the main diagonal
over GF(q) with both column and row weights K. Since W(1) (1) (1)
of Hq , say taking the first 4 rows of Hq and deleting the
satisfies the α-multiplied row-constraints 1 and 2, it follows (1)
(1) first 4 and the last 17 columns. Hq (4, 16) is a 252 × 1008
from Lemma 2 that Hq satisfies the RC-constraint.
matrix over GF (26 ) with column and row weights 4 and 16
For any pair of integers, γ and ρ, with 1 ≤ γ, ρ ≤ K + 1,
(1) (1) (1) respectively. The null space over GF (26 ) of this matrix gives
let Hq (γ, ρ) be a γ × ρ subarray of Hq . If Hq (γ, ρ) lies
(1) a (1008, 771) QC-LDPC code over GF (26 ) of rate 0.7649.
above or below the main diagonal of Hq , it is a regular The word-error rate (WER), symbol-error rate (SER), and bit-
γ(q − 1) × ρ(q − 1) matrix over GF(q) with column and row error rate (BER) of this code decoded with the FFT-QSPA
weights γ and ρ, respectively. The null space over GF(q) of are shown in Fig. 3. For comparison, we also include the
(1)
Hq gives a (γ, ρ)-regular QC-LDPC code over GF(q) whose performance of a (1008, 771, 238) shortened RS code over
(1)
Tanner graph has a girth of at least 6. If Hq (γ, ρ) contains GF (210 ) decoded with hard-decision BM and algebraic soft-
(1)
some but not all the zero matrices on the diagonal of Hq , decision KV algorithms. At the WER of 10−5 , the (1008, 771)
(1)
then Hq (γ, ρ) has two column weights, γ − 1 and γ, and QC-LDPC code over GF(26 ) outperforms the RS code over
may have two row weights, ρ − 1 and ρ. Then the null space GF(210 ) decoded with hard BM decoding by 2.3 dB and
(1)
over GF(q) of Hq (γ, ρ) gives a near-regular QC-LDPC code outperforms the RS code decoded with the KV algorithm with
over GF(q). The above construction gives a class of q-ary QC- λ = 4.99 and λ = ∞ by 1.9 dB and 1.7 dB, respectively.
LDPC codes. This coding gain is achieved at the expense of a larger
In the following, we use two examples to illustrate the computational complexity. However, we must note that the
SONG et al.: A UNIFIED APPROACH TO THE CONSTRUCTION OF BINARY AND NONBINARY QUASI-CYCLIC LDPC CODES BASED ON FINITE FIELDS 89

0 0
10 10
LDPC BER LDPC BER
−1 LDPC SER LDPC SER
10 LDPC WER
−1
10 LDPC WER
RS WER (KV λ= 4.99) RS BER (Hard)
−2 RS WER (KV λ = ∞) RS SER (Hard)
10
RS BER (Hard) −2
10 RS WER (Hard)
RS SER (Hard)
−3
10 RS WER (Hard)
error probability

error probability
−3
10
−4
10
−4
10
−5
10
−5
−6
10
10

−6
−7
10 10

−8 −7
10 10
2 3 4 5 6 7 8 9 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8
Eb/N0(dB) Eb/N0(dB)

Fig. 3. The performance of (1008, 771) QC-LDPC code over GF(26 ) given Fig. 4. The performance of the (2016, 1779) QC-LDPC code over GF(26 )
in Example 3 and the (1008, 771, 238) RS code over GF(210 ) decoded with given in Example 4 and the (2016, 1779, 238) RS code over GF(211 )
hard decision and the KV algorithm with λ = 4.99 and λ = ∞. decoded with hard decision.

symbol size of the RS code is 16 times larger than that of ci,0 α0 + ci,1 α + · · · + ci,t−1 αt−1 with ci,j ∈ GF(p). Let G2 =
the 64-ary QC-LDPC code. In terms of bits, the RS code is {λ0 = 0, λ1 , · · · , λpm−t −1 } be the additive subgroup of GF(q)
longer than the 64-ary QC-LDPC code by 4032 bits. This consisting of all linear combinations of αt , αt+1 , · · · , αm−1 ,
example, as well as other examples in this paper, show that i.e., λi = ci,t αt + ci,t+1 αt+1 + · · · + ci,m−1 αm−1 with
the KV algorithm cannot achieve a performance close to that ci,j ∈ GF(p). It is clear that G1 ∩ G2 = {0}.
of the FFT-QSPA, no matter how the interpolation complexity Form the following pm−t × pt matrix over GF(q):
coefficient λ is increased. 
(1) ⎡ ⎤
Example 4: Consider the 37×37 array Hq of α-multiplied w0
63 × 63 circulant permutation and zero matrices constructed ⎢ ⎥ w1
⎢ ⎥
based on the primitive elements of GF (26 ) as given in Exam- W(2) =⎢ ⎥ ..
⎣ ⎦ .
ple 3. Suppose we choose γ = 4 and ρ = 32. Take a 4 × 32
(1) (1)
subarray Hq (4, 32) from Hq , avoiding the zero matrices ⎡wpm−t −1 ⎤
(1) (1) 0 β1 ··· βpt −1
on the main diagonal of Hq . Hq (4, 32) is a 252 × 2016 ⎢ λ1 ⎥
⎢ λ1 + β1 ··· λ1 + βpt −1 ⎥
matrix over GF (26 ) with column and row weights 4 and 32, =⎢ .. ⎥.
(1)
respectively. The null space over GF (26 ) of Hq (4, 32) gives ⎣ ··· ··· . ··· ⎦
a (4, 32)-regular (2016, 1779) QC-LDPC code over GF (26 ) λpm−t −1 λpm−t −1 + β1 · · · λpm−t −1 + βpt −1
of rate 0.8824. The performance of this code decoded with (5)
the FFT-QSPA is shown in Fig. 4 which also includes the Since the rows of W(2) list the distinct cosets of G1 , any
performance of a (2016, 1779, 238) shortened RS code over two rows of W(2) differ in every place and every element of
GF (211 ) decoded with hard-decision BM algorithm. We see GF(q) appears once and only once in W(2) .
that at the BER of 10−6 , the 64-ary QC-LDPC code achieves a Proposition 2: The matrix W(2) satisfies the α-multiplied
1.85 dB coding gain over the shortened RS code. The symbol row-constraints 1 and 2.
size of the shortened RS code is 32 times larger than that of the Proof: The proof is based on Lemma 1. The determinant
64-ary QC-LDPC code. We did not include the performance of the 2 × 2 submatrix of W(2) , whose elements belong to
of the KV algorithm for decoding the RS code over GF (211 ) the ith and i th rows and the jth and j  th columns, where
as it is computationally difficult to simulate.  0 ≤ i, i < pm−t 0 ≤ j, j  < pt , l1 = l2 , and j = j  , equals
(λi +βj )(λi +βj  )−(λi +βj  )(λi +βj ) = (λi −λi )(βj  −βj ),
V. C ONSTRUCTION BASED ON A DDITIVE S UBGROUPS OF
F INITE F IELDS which is nonzero. Hence, W(2) satisfies the α-multiplied row-
constraints 1 and 2.
Let q = pm where p is prime and m is a positive integer. W(2) can be used as the base matrix for (q − 1)-fold
Consider the Galois field GF(q) which is an extension field dispersion to form both binary and q-ary QC-LDPC codes
of GF(p). Let α be a primitive element of GF(q). Then as shown next.
α0 = 1, α, · · · , αm−1 are linearly independent elements over
GF(p). Each element in GF(q) can be expressed as a linear
combination, c0 α0 +c1 α+· · ·+cm−1 αm−1 , of α0 , α, ..., αm−1 A. A Class of Binary QC-LDPC Codes
with cj ∈ GF(p). For 1 ≤ t < m, let G1 = {β0 = If we apply the (q−1)-fold binary dispersion to W(2) given
(2)
0, β1 , · · · , βpt −1 } be the additive subgroup of GF(q) consist- in (5), we obtain a pm−t × pt array Hb = [Bi,j ] of q − 1
ing of all linear combinations of α0 , α, ..., αt−1 , i.e., βi = binary (q − 1) × (q − 1) circulant permutation matrices and a
90 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 1, JANUARY 2009

(2) (2)
single zero matrix B0,0 in the upper left corner of Hb . Hb 0
10
is a pm−t (q − 1) × pt(q − 1) matrix over GF(2). Except for the (8160,7142) QC−LDPC BER 500 itr
(8160,7142) QC−LDPC WER 500 itr
first q − 1 columns and the first q − 1 rows, each column of (8160,7142) QC−LDPC BER 50 itr
(2) (2)
Hb has weight pm−t and each row of Hb has weight pt . −2
(8160,7142) QC−LDPC WER 50 itr
10 (8160,7159) QC−LDPC BER 50 itr
The weights of the first q − 1 columns and first q − 1 rows of (8160,7159) QC−LDPC WER 50 itr
Shannon Limit
(2)
Hb are pm−t − 1 and pt − 1, respectively. Since the rows of

error probability
(2) −4

W(2) satisfy the α-multiplied row-constraints 1 and 2, Hb 10

satisfies the RC-constraint.


For any pair of integers, γ and ρ, with 1 ≤ γ ≤ pm−t −6
10
(2) (2)
and 1 ≤ ρ ≤ pt , let Hb (γ, ρ) be a γ × ρ subarray of Hb .
(2)
Then Hb (γ, ρ) is a γ(q − 1) × ρ(q − 1) matrix over GF(2).
(2)
Hb (γ, ρ) also satisfies the RC-constraint. Its null space over
−8
10
(2)
GF(2) gives a binary (γ, ρ)-regular QC-LDPC code Cb . The
2.5 3 3.5 4 4.5 5 5.5 6
above construction gives a class of binary QC-LDPC codes. Eb/N0 (dB)

Example 5: Let GF (28 ) be the code construction field.


Choose t = 5. Then there exist two additive subgroups G1 Fig. 5. The performance of the binary (8160, 7159) QC-LDPC code given
and G2 in GF(28 ) with 32 and 8 elements, respectively, and in Example 5 decoded using 50 iterations and a binary (8160, 7142) random
QC-LDPC code constructed using the method in [21] decoded using 50 and
G1 ∩ G2 = {0}. Based on these two additive subgroups of 500 iterations.
(2)
GF(28 ), we construct an 8 × 32 array Hb of 255 binary
255 × 255 circulant permutation matrices and a single zero
matrix. Suppose we choose γ = 4 and ρ = 32. Take the second
(2) (2)
to the fifth rows of Hb to form a 4×32 subarray Hb (4, 32) Example 6: Let GF(26 ) be the code construction field.
(2) (2)
of Hb . Then Hb (4, 32) is a 1020×8160 matrix over GF(2) Choose t = 4. Then there exist two additive subgroups G1
with column and row weights 4 and 32, respectively. Its null and G2 of GF(26 ) with 16 and 4 elements, respectively, and
space over GF(2) gives a binary (8160, 7159) QC-LDPC code G1 ∩ G2 = {0}. Based on these two subgroups of GF(26 ), we
(2)
with rate 0.8773. The performance of this code is shown in can construct a 4 × 16 array Hq = [Qi,j ] of 63 α-multiplied
Fig. 5. At the BER of 10−6 , it performs 0.98 dB from the 63 × 63 circulant permutation matrices over GF(26 ) and a
Shannon-limit. For comparison, we also included in Fig. 5 single zero matrix. Let γ = 4 and ρ = 12. Take a 4 × 12
(2) (2)
the performance of a (8160, 7142) random QC-LDPC code subarray Hq (4, 12) from Hq , avoiding the zero submatrix
provided by Fossorier using the method presented in [21]. The (2)
Q0,0 , say taking the 2nd to the 13th columns of Hq to form
parity-check matrix of this code has column weight 3 and row (2) 6 (2)
Hq (4, 12). The null space over GF(2 ) of Hq (4, 12) gives
weight 24. It is composed of 340 × 340 circulants. The Tanner a (756, 519) QC-LDPC code over GF(26 ) of rate 0.6852. The
graph of the code has girth 8. The code is decoded using SPA performance of the 64-ary (756, 519) QC-LDPC code is shown
with 50 and 500 iterations. We see that the (8160, 7159) QC- in Fig. 6. Also included in the figure is the performance of a
LDPC code constructed using our method and the random QC- (756, 519, 238) shortened RS code over GF(210 ) decoded with
LDPC code decoded with 500 iterations have almost identical hard-decision BM and algebraic soft-decision KV algorithms.
performance in spite of the fact that the girth of the Tanner At the WER of 10−5 , the (756, 519) QC-LDPC code over
graph for our code, 6, is smaller and the number of iterations, GF(26 ) outperforms the RS code over GF(210 ) decoded with
50, is much less. Notice also that one of the codes is a hard BM decoding by 2.5 dB and outperforms the RS code
(4, 32)-regular LDPC code and the other is a (3, 24)-regular decoded with the KV algorithm with interpolation complexity
LDPC code. Decoded with 50 iterations, the (8160, 7142) coefficients λ = 4.99 and λ = ∞ by 2.1 dB and 1.8 dB,
random QC-LDPC code shows an error-floor around the BER respectively. 
of 2 × 10−7 . 

B. A Class of q-ary QC-LDPC Codes


If we apply the (q − 1)-fold q-ary dispersion to W(2) given
(2) VI. C ONSTRUCTION BASED ON C YCLIC S UBGROUPS OF
in (5), we obtain a pm−t × pt array Hq of q − 1 α-multiplied
F INITE F IELDS
(q − 1) × (q − 1) circulant permutation matrices over GF(q)
and a single zero matrix in the upper left corner of the array.
(2)
Hq is a pm−t (q − 1) × pt (q − 1) matrix over GF(q). Since
(2)
W(2) satisfies the α-multiplied row-constraint 1 and 2, Hq Suppose q − 1 is not a prime. Let β = αk and δ =
satisfies the RC-constraint. For any pair of integers, γ and ρ, m
α , where k and m are relatively prime factors such that
(2)
with 1 ≤ γ ≤ pm−t and 1 ≤ ρ ≤ pt , let Hq (γ, ρ) be a γ × ρ km = q − 1. Then B = {β 0 = 1, β, · · · , β m−1 } and
(2) (2)
subarray of Hq . The null space over GF(q) of Hq (γ, ρ) D = {δ 0 = 1, δ, · · · , δ k−1 } form two cyclic subgroups of
(2)
gives a q-ary QC-LDPC code Cq . The above construction the multiplicative group of GF(q) and B ∩ D = {1}. Form the
gives a class of q-ary LDPC codes. following k × (m + 1) matrix over GF(q):
SONG et al.: A UNIFIED APPROACH TO THE CONSTRUCTION OF BINARY AND NONBINARY QUASI-CYCLIC LDPC CODES BASED ON FINITE FIELDS 91

0 0
10 10
LDPC BER LDPC(4080,3093) BER
−1 LDPC SER LDPC(4080,3093) WER
10 LDPC WER
−1
10 LDPC(12750,11553) BER
RS WER (KV λ=4.99) LDPC(12750,11553) WER
−2 RS WER (KV λ= ∞) Shannon Limit(4080,3093)
10
RS BER (Hard) −2
10 Shannon Limit(12750,11553)
RS SER (Hard)
−3
10 RS WER(Hard)
error probability

error propability
−3
10
−4
10
−4
10
−5
10
−5
−6
10
10

−6
−7
10 10

−8 −7
10 10
2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8
Eb/N0(dB) Eb/N0(dB)

Fig. 6. The performance of (756, 519) QC-LDPC code over GF(26 ) given Fig. 7. The performance of the binary (4080, 3093) and (12750, 11553)
in Example 6 and the (756, 519, 238) RS code over GF(210 ) decoded with QC-LDPC codes given in Example 7.
hard decision and the KV algorithm with λ = 4.99 and λ = ∞.

(3)
single zero matrix in the upper left corner of the array. Hb
is a k(q − 1) × (m + 1)(q − 1) matrix over GF(2). Since
⎡ ⎤ (3)
w0 W(3) satisfies the α-multiplied row-constraints 1 and 2, Hb
⎢ ⎥ w1 satisfies the RC-constraint.
⎢ ⎥
W(3) =⎢ ⎥ .. (3) (3)
Let Hb (γ, ρ) be a γ × ρ subarray of Hb with 1 ≤ γ ≤ k
⎣ ⎦ .
and 1 ≤ ρ ≤ m + 1. Its null space over GF(2) gives a binary
⎡wk−1 ⎤ (3)
QC-LDPC code Cb whose Tanner graph has a girth of at
0 β−1 ··· β m−1 − 1 −1
⎢ δ−1 least 6. The above construction gives a class of binary QC-
⎢ δβ − 1 ··· δβ m−1 − 1 −1⎥ ⎥
=⎢ .. .. .. .. ⎥ . LDPC codes.
⎣ ..
. . . . . ⎦ Example 7: Consider the field GF(28 ). We find that 28 −
δ k−1 − 1 δ k−1 β − 1 · · · δ k−1 β m−1 − 1 −1 1 = 255 can be factored as the product of k = 5 and m = 51
(6) which are relatively prime. Then the multiplicative group of
W(3) has the following structural properties: 1) any two GF(28 ) contains two cyclic subgroups B and D of orders of 51
different rows differ in exactly m places; 2) any two columns and 5, respectively, such that B∩D = {1}. Based on these two
differ in every position; 3) all the k elements in a column cyclic subgroups of GF(28 ), we can construct a 5 × 52 array
(except the last column) are different; 4) all the elements in a (3)
Hb of 259 binary 255 × 255 circulant permutation matrices
row are different; and 5) except for the element “−1" in the and a single zero matrix. Choose γ = 4 and ρ = 16. Take a
last column, every other element of GF(q) appears once and (3) (3)
4 × 16 subarray Hb (4, 16) from Hb , avoiding the single
only once. (3) (3)
zero matrix of Hb . Hb (4, 16) is a 1020 × 4080 matrix over
Proposition 3: The matrix W(3) satisfies the α-multiplied GF(2) with column and row weights 4 and 16, respectively. Its
row-constraints 1 and 2. null space over GF(2) gives a binary (4080, 3093) QC-LDPC
Proof: The proof is based on Lemma 1. Consider a 2 × 2 code of rate 0.758. The performance of this code decoded
submatrix of W(3) whose elements belong to the ith and i th with the SPA with 50 iterations is shown in Fig. 7. At the
rows and the jth and j  th columns, where 0 ≤ i, i < k and BER of 10−6 , it performs 1.4 dB from the Shannon-limit.
0 ≤ j, j  ≤ m. Since the elements in each column, except the (3)
Suppose we remove the first and the last columns of Hb . This
last, are different, the determinant of this submatrix is nonzero (3)
results in a 5 × 50 subarray Hb (5, 50) which is a 1275 ×
if either j = m or j  = m. If neither j nor j  equals m, then
12750 matrix over GF(2) with column and row weights 5
the determinant equals
and 50, respectively. Its null space over GF(2) gives a binary
   
(δ i β j − 1)(δ i β j − 1) − (δ i β j − 1)(δ i β j − 1) = (12750, 11553) code of rate 0.9061. The performance of this
  code is also shown in Fig. 7. At the BER of 10−6 , it performs
(δ i − δ i )(β j − β j ),
0.9 dB from the Shannon-limit. 
which is nonzero. Hence, W(3) satisfies the α-multiplied row-
constraints 1 and 2. B. A Class of q-ary QC-LDPC Codes
Dispersing W(3) given in (6) using (q − 1)-fold q-ary
A. A Class of Binary QC-LDPC Codes (3)
dispersion results in a k × (m + 1) array Hb of k(m + 1) − 1
We disperse matrix W(3) given in (6) using (q − 1)-fold α-multiplied circulant matrices and a single zero matrix in
(3) (3)
binary dispersion. This results in a k × (m + 1) array Hb the upper left corner of the array. Hq is a k(q − 1) × (m +
of k(m + 1) − 1 binary circulant permutation matrices and a 1)(q − 1) matrix over GF(q) that satisfies the RC-constraint.
92 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 57, NO. 1, JANUARY 2009

0
10
Experimental results show that the codes constructed perform
LDPC BER well over the AWGN channel with iterative decoding. The
LDPC SER
−1
10 LDPC WER nonbinary QC-LDPC codes constructed in this paper may be
RS WER(KV,λ=4.99)
−2 RS WER(KV, λ=∞)
used to replace RS codes in some applications.
10
RS BER(Hard)
RS SER(Hard)
−3
10 RS WER(Hard)
ACKNOWLEDGMENT
error probability

−4
10 The authors would like to thank Marc Fossorier for provid-
−5
ing them with the (8160, 7124) code of Example 5 and the
10
reviewers for their careful reading and constructive comments.
−6
10

−7
R EFERENCES
10
[1] R. G. Gallager, “Low Density Parity-check codes,” IRE Trans. Inform.
−8
10 Theory, vol. IT-8, no. 1, pp. 21–28, Jan. 1962.
2 3 4 5 6 7 8 9 10
Eb/N0(dB) [2] D. J. C. MacKay and R. M. Neal, “Near Shannon limit performance
of low density parity-check codes,” IEEE Electron. Lett., vol. 32, pp.
1645–1646, Aug. 1996.
Fig. 8. The performance of (567, 333) QC-LDPC code over GF(26 ) given [3] D. J. C. MacKay, “Good error-correcting codes based on very sparse
in Example 8 and the (567, 333, 235) RS code over GF(210 ) decoded with matrices,” IEEE Trans. Inform. Theory, vol. 45, no. 2, pp. 399–432, Mar.
hard decision and the KV algorithm with λ = 4.99 and λ = ∞. 1999.
[4] T. J. Richardson and R. L. Urbanke, “The capacity of low-density parity-
check codes under message-passing decoding,” IEEE Trans. Inform.
(3) (3) (3) Theory, vol. 47, no. 2, pp. 599–618, Feb. 2001.
Let Hq (γ, ρ) be a γ × ρ subarray of Hq . Hq (γ, ρ) is a [5] T. J. Richardson, M. A. Shokrollahi, and R. L. Urbanke, “Design
γ(q−1)×ρ(q−1) matrix over GF(q). Its null space over GF(q) of capacity-approaching low-density parity-check codes,” IEEE Trans.
gives a QC-LDPC code over GF(q). The above construction Inform. Theory, vol. 47, no. 2, pp. 619–637, Feb. 2001.
[6] S.-Y. Chung, T. J. Richardson, and R. L. Urbanke, “Analysis of sum-
gives a class of QC-LDPC codes over GF(q). product decoding of low-density parity-check codes using Gaussian
Example 8: Consider the field GF(26 ). We can factor 26 − approximation,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 657-
1 = 63 into two relatively prime factors k = 7 and m = 9. 670, Feb. 2001.
(3) [7] Y. Kou, S. Lin, and M. P. C. Fossorier, “Low density parity-check codes
Then we can construct a 7 × 10 array Hq = [Qi,j ] of based on finite geometries: a rediscovery and new results,” IEEE Trans.
69 α-multiplied 63 × 63 circulant permutation matrices over Inform. Theory, vol. 47, no. 7, pp. 2711-2736, Nov. 2001.
[8] M. C. Davey and D. J .C. Mackay, “Low density parity check codes over
GF(26 ) and a single 63 × 63 zero matrix Q0,0 . Choose γ = 4 GF(q),” IEEE Commun. Lett., vol. 2, no. 6, pp. l65–167, June 1998.
(3) (3)
and ρ = 9. We take a 4 × 9 subarray Hq (4, 9) from Hq , [9] D. J .C. Mackay and M. C. Davey, “Evaluation of Gallager codes for short
avoiding the zero matrix Q0,0 , say taking the first 4 rows of block length and high rate applications,” in Codes, Systems and Graphical
(3) (3) Models, ser. IMA Volumes in Mathematics and its Applications, B.
Hq and deleting the first column. Hq (4, 9) is a 252 × 567 Marcus and J. Rothenthal, eds. New York: Springer, 2000, vol. 123, pp.
matrix over GF(26 ) with column and row weights 4 and 9, 113-130.
(3) [10] L. Barnault and D. Declercq, “Fast decoding algorithm for LDPC over
respectively. The null space over GF(26 ) of Hq (4, 9) gives GF(2q ),” in Proc. ITW2003, Mar.–Apr. 2003, pp. 70–73.
(3)
a 64-ary (567, 333) QC-LDPC code Cq of rate 0.5873. The [11] D. Declercq and M. Fossorier, “Decoding algorithms for nonbinary
performance of this code decoded with the FFT-QSPA is LDPC codes over GF(q),” IEEE Trans. Commun., vol. 55, no. 4, pp.
633–643, Apr. 2007.
shown in Fig. 8. Also included in Fig. 8 is the performance of a [12] L. Zeng, L. Lan, Y. Y. Tai, and S. Lin, “Dispersed Reed-Solomon codes
(567, 333, 235) shortened RS code over GF(210 ) decoded with for iterative decoding and construction of q-ary LDPC codes,” in Proc.
hard-decision BM and algebraic soft-decision KV algorithms. IEEE GLOBECOM 2005, Nov.–Dec. 2005, pp. 1193–1198.
[13] L. Zeng, L. Lan, Y. Y. Tai, B. Zhou, S. Lin, and K. A. S. Abdel-Ghaffar,
At the WER of 10−5 , the (567, 333) QC-LDPC code over “Construction of nonbinary cyclic, quasi-cyclic and regular LDPC codes:
GF(26 ) outperforms the RS code over GF(210 ) decoded with A finite geometry approach,” IEEE Trans. Commun., vol. 56, no. 3, pp.
hard BM decoding by 2.7 dB and outperforms the RS code 378–387, Mar. 2008.
[14] L. Zeng, L. Lan, Y. Y. Tai, S. Song, S. Lin, and K. Abdel-Ghaffar,
decoded with the KV algorithm with interpolation complexity “Constructions of nonbinary quasi-cyclic LDPC codes: a finite field
coefficients λ = 4.99 and λ = ∞ by 2.2 dB and 1.8 dB, approach,” IEEE Trans. Commun., vol. 56, no. 4, pp. 545–554, Apr. 2008.
respectively. [15] X. -Y. Hu and E. Eleftheriou, “Cycle Tanner-graph codes over GF(2b ),”
in Proc. Int. Symposium Inform. Theory, June–July 2003, p. 87.
 [16] A. Bennatan and D. Burshtein, “Design and analysis of nonbinary LDPC
codes for arbitrary discrete-memoryless channels,” IEEE Trans. Inform.
VII. C ONCLUSION Theory, vol. 52, no. 2, pp. 549–583, Feb. 2006.
[17] Z. W. Li, L. Chen, L. Zeng, S. Lin, and W. H. Fong, “Efficient encoding
In this paper we have presented a general approach to of quasi-cyclic low-density parity-check codes,” IEEE Trans. Commun.,
the construction of binary and nonbinary QC-LDPC codes vol. 54, no. 1, pp. 71–81, Jan. 2006.
[18] T. J. Richardson and R. L. Urbanke, “Efficient encoding of low-density
under a single framework. The proposed approach is based parity-check codes,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 638–
on dispersing a base matrix over a finite field that satisfies 656, Feb. 2001.
two specific row-constraints. This results in a sparse matrix [19] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, “Factor graphs and
the sum-product algorithm,” IEEE Trans. Inform. Theory, vol. 47, no. 2,
whose associated Tanner graph has a girth of at least 6. pp. 498–519, Feb. 2001.
Based on this general approach, three specific methods for [20] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and
constructing binary and nonbinary QC-LDPC codes have been Applications, 2nd ed. Upper Saddle River, NJ: Prentice Hall, 2004.
[21] M. P. C. Fossorier, “Quasi-cyclic low-density parity-check codes from
presented. Three classes of binary QC-LDPC codes and three circulant permutation matrices,” IEEE Trans. Inform. Theory, vol. 50, no.
classes of nonbinary QC-LDPC codes have been constructed. 8, pp. 1788–1793, Aug. 2004.
SONG et al.: A UNIFIED APPROACH TO THE CONSTRUCTION OF BINARY AND NONBINARY QUASI-CYCLIC LDPC CODES BASED ON FINITE FIELDS 93

[22] R. M. Tanner, D. Sridhara, A. Sridharan, T. E. Fuja, and D. J. Costello, Bo Zhou (S’02-M’08) received the B.E. and M.E.
Jr., “LDPC block and convolutional codes based on circulant matrices,” degrees in electrical engineering from Shanghai
IEEE Trans. Inform. Theory, vol. 50, no. 12, pp. 2966–2984, Dec. 2004. Jiaotong University, Shanghai, China, in 2001 and
[23] L. Lan, L. Zeng, Y. Y. Tai, L. Chen, S. Lin, and K. Abdel-Ghaffar, 2004, respectively, and the Ph.D. degree in electrical
“Construction of quasi-cyclic LDPC codes for AWGN and binary erasure and computer engineering from the University of
channels: A finite field approach,” IEEE Trans. Inform. Theory, vol. 53, California, Davis, in 2008.
no. 7, pp. 2429–2458, July 2007. He is currently with Qualcomm Incorporated,
[24] R. Smarandache and P. O. Vontobel, “On regular quasi-cyclic LDPC San Diego, CA as a senior engineer. His research
codes from binomials,” in Proc. Int. Symposium Inform. Theory, June– interests include error control coding and signal
July 2004, p. 274. processing for digital communications and magnetic
[25] L. Chen, J. Xu, I. Djurdjevic, and S. Lin, “Near-Shannon-limit-quasi- recording channels.
cyclic low-density parity-check codes,” IEEE Trans. Commun., vol. 52,
Shu Lin (S’62-M’65-SM’78-F’80-LF’00) received
no. 7, pp. 1038–1042, July 2004.
the B.S.E.E. degree from National Taiwan Univer-
[26] R. M. Tanner, “A recursive approach to low complexity codes,” IEEE
sity, Taipei, Taiwan, in 1959, and the M.S. and Ph.D.
Trans. Inform. Theory, vol. IT-27, no. 5, pp.533–547, Sep. 1981.
degrees in electrical engineering from Rice Univer-
[27] J. Riordan, An Introduction to Combinatorial Analysis. New York:
sity, Houston, TX, in 1964 and 1965, respectively.
Wiley, 1958.
In 1965, he joined the Faculty of the University
[28] T. J. Richardson, “Error floors of LDPC codes,” in Proc. Allerton Conf.
of Hawaii, Honolulu, as an Assistant Professor of
Commun., Control and Computing, Oct. 2003, pp. 1426–1435.
Electrical Engineering. He became an Associate
[29] E. R. Berlekamp, Algebraic Coding Theory. New York: McGraw-Hill,
Professor in 1969 and a Professor in 1973. In 1986,
1968.
he joined Texas A&M University, College Station,
[30] J. L. Massey, “Shift-register synthesis and BCH decoding,” IEEE Trans.
as the Irma Runyon Chair Professor of Electrical
Inform. Theory, vol. 15, no. 1, pp. 122–127, Jan. 1969.
Engineering. In 1987, he returned to the University of Hawaii. From 1978
[31] R. Koetter and A. Vardy, “Algebraic soft-decision decoding of Reed-
to 1979, he was a Visiting Scientist at the IBM Thomas J. Watson Research
Solomon codes,” IEEE Trans. Inform. Theory, vol 49, no. 11, pp. 2809–
Center, Yorktown Heights, NY, where he worked on error control protocols
2825, Nov. 2003.
for data communication systems. He spent the academic year of 1996-1997 as
[32] M. El-Khamy and R. McEliece, “Iterative algebraic soft-decision list
a Visiting Professor at the Technical University of Munich, Munich, Germany.
decoding of Reed Solomon codes,” IEEE J. Select. Areas Commun., vol.
He retired from University of Hawaii in 1999 and he is currently an Adjunct
24, no. 3, pp. 481–490, Mar. 2006.
Professor at University of California, Davis. He has published numerous
[33] W. J. Gross, F. R. Kschischang, R. Koetter, and G. G. Gulak, “Appli-
technical papers in IEEE Transactions and other refereed journals. He is the
cations of algebraic soft-decision decoding of RS codes,” IEEE Trans.
author of the book, An Introduction to Error-Correcting Codes (Englewood
Commun., vol. 54, no. 7, pp. 1224–1234, July 2006.
Cliff, NJ: Prentice-Hall, 1970). He also co-authored (with D.J. Costello) the
book, Error Control Coding: Fundamentals and Applications (Upper Saddle
River, NJ: Prentice-Hall, 1st edition, 1982, 2nd edition, 2004), and (with
T. Kasami, T. Fujiwara, and M. Fossorier) the book, Trellises and Trellis-
Based Decoding Algorithms, (Boston, MA: Kluwer Academic, 1998). His
current research areas include algebraic coding theory, coded modulation,
error control systems, and satellite communications. He has served as the
Principle Investigator on 36 research grants.
Dr. Lin is a Member of the IEEE Information Theory Society and the
Communication Society. He served as the Associate Editor for Algebraic Cod-
ing Theory for the IEEE T RANSACTIONS ON I NFORMATION T HEORY from
1976 to 1978, the Program Co-Chair of the IEEE International Symposium
of Information Theory held in Kobe, Japan, in June 1988, and a Co-Chair
of the IEEE Information Theory Workshop held in Chengdu, China, October
2006. 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, a recipient of the IEEE Third-Millennium Medal,
2000, and a recipient of the IEEE Communications Society 2007 Stephen O.
Rice Prize in the Field of Communication Theory.

Khaled Abdel-Ghaffar (M’94) received the B.Sc.


degree from Alexandria University, Alexandria,
Egypt, in 1980, and the M.S. and Ph.D. degrees from
the California Institute of Technology, Pasadena,
CA, in 1983 and 1986, respectively, all in electrical
engineering.
Shumei Song was born in Henan, China. She In 1988, Dr. Abdel-Ghaffar joined the University
received the B.S.E.E. degree from Tsinghua Uni- of California, Davis, where he is now a Professor
versity, Beijing, China, in 2000, and the M.S.E.E of Electrical and Computer Engineering. He did
degree from Peking University, Beijing, China, in research at the IBM Almaden Research Center,
2003, and the Ph.D. degree in electrical engineering San Jose, CA, Delft University of Technology, The
from the University of California, Davis, in 2007. Netherlands, University of Bergen, Norway, and Alexandria University, Egypt.
She is currently a senior engineer with Marvell His main interest is coding theory.
Semiconductor, Inc., Santa Clara, CA. From 2002 to 2005, he served as an Associate Editor for Coding Theory for
Her research interests include error-control coding the IEEE T RANSACTIONS ON I NFORMATION T HEORY. He is a co-recipient
for digital communications and digital signal pro- of the IEEE Communications Society 2007 Stephen O. Rice Prize paper
cessing for data storage. award.

You might also like