[ieee 2012 information theory and applications workshop (ita) - san diego, ca, usa...

7
Quasi-Cyclic LDPC Codes: Construction and Rank Analysis of Their Parity-Check Matrices Keke Liu 1 , Qin Huang 2 , Shu Lin 1 and Khaled Abdel-Ghaffar 1 1 Department of Electrical and Computer Engineering University of California Davis, CA 95616 (e-mail:[email protected], [email protected], [email protected]) 2 School of Electronic and Information Engineering Beihang University Beijing 100083, China (e-mail: [email protected]). Abstract—A construction of binary and non-binary quasi- cyclic (QC)-LDPC codes based on partitions of finite fields of characteristic 2 is proposed. The construction is carried out in the Fourier transform domain. The parity-check matrices of these QC-LDPC codes are arrays of circulant permutation matrices. The ranks of these arrays are analyzed and combinatorial expressions are derived. Example codes are given and simulations show that they perform well over the AWGN channel decoded with message-passing decoding algorithms. I. I NTRODUCTION The ever-growing needs for cheaper, faster, and more reli- able communication systems have forced many researchers to seek means to attain the ultimate limits on reliable communi- cations. Low-density parity-check (LDPC) codes are currently the most promising coding technique to achieve the Shannon capacities for a wide range of channels. These codes were first discovered by Gallager in 1962 [1] and then rediscovered in the late 1990’s [2],[3]. Ever since their rediscovery, a great deal of research effort has been expended in design, construc- tion,structural and performance analysis, encoding, decoding, generalizations, and applications of LDPC codes. Numerous papers have been published on these subjects. Many LDPC codes have been chosen as the standard codes for various next generations of communication systems and they are appearing in recent data storage products. More applications are expected to come. Major methods for constructing LDPC codes can be divided into two general categories: graph-theoretic-based methods and algebraic methods. Each type of constructions has its advantages and disadvantages in terms of overall error perfor- mance, encoding and decoding implementations. In general, algebraically constructed LDPC codes have lower error-floors and their decoding using iterative message-passing algorithms, such as the sum-product algorithm (SPA) and the min-sum algorithm (MSA), converges faster than the graph-theoretic- based codes constructed by computer search. Furthermore, it is much easier to construct algebraic LDPC codes with large minimum distances. Algebraic constructions of LDPC codes are mainly based on finite fields, finite geometries, and combinatorial designs. These constructions result in mostly quasi-cyclic (QC)-LDPC codes. QC-LDPC codes have advantages over other types of LDPC codes in hardware implementation of encoding and decoding. Encoding of a QC-LDPC code can be efficiently implemented using simple shift registers with complexity linearly propor- tional to its number of parity-check symbols (or its length) [4]. In hardware implementation of its decoder, the quasi- cyclic structure of the code (or circular structure of its parity- check matrix) simplifies the wire routing for message passing [5] and allows partially parallel decoding [6] which offers a trade off between decoding complexity and decoding speed. Well designed or constructed QC-LDPC code can perform as well as any other types of LDPC codes. Major methods for constructing QC-LDPC codes are given in [7]–[16]. A q-ary QC-LDPC code is given by the null space of an array H of sparse circulant matrices of the same size over the field GF(q) where q is a power of prime. If the array H, viewed as a matrix, has constant column weight γ and constant row weight ρ, the code given by the null space of H is said to be (γ,ρ )-regular, otherwise it is said to be irregular. In almost all of the proposed constructions of LDPC codes (quasi-cyclic or not), the following constraint on the rows and columns of the parity-check matrix H is imposed: no two rows (or two columns) can have more than one place where they both have identical non-zero components. This constraint on the rows and columns of H is referred to as the row-column (RC)-constraint. This RC-constraint ensures that the Tanner graph of the LDPC code given by the null space of H has a girth of at least 6 and that the minimum distance of the code, if (γ,ρ )-regular, is at least γ +1 [7], [17]. The distance bound

Upload: khaled

Post on 13-Apr-2017

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: [IEEE 2012 Information Theory and Applications Workshop (ITA) - San Diego, CA, USA (2012.02.5-2012.02.10)] 2012 Information Theory and Applications Workshop - Quasi-cyclic LDPC codes:

Quasi-Cyclic LDPC Codes:Construction and Rank Analysis of Their

Parity-Check MatricesKeke Liu1, Qin Huang2, Shu Lin1 and Khaled Abdel-Ghaffar1

1Department of Electrical and Computer EngineeringUniversity of CaliforniaDavis, CA 95616

(e-mail:[email protected], [email protected], [email protected])2School of Electronic and Information Engineering

Beihang UniversityBeijing 100083, China

(e-mail: [email protected]).

Abstract—A construction of binary and non-binary quasi-cyclic (QC)-LDPC codes based on partitions of finite fields ofcharacteristic 2 is proposed. The construction is carried out inthe Fourier transform domain. The parity-check matrices of theseQC-LDPC codes are arrays of circulant permutation matrices.The ranks of these arrays are analyzed and combinatorialexpressions are derived. Example codes are given and simulationsshow that they perform well over the AWGN channel decodedwith message-passing decoding algorithms.

I. INTRODUCTION

The ever-growing needs for cheaper, faster, and more reli-able communication systems have forced many researchers toseek means to attain the ultimate limits on reliable communi-cations. Low-density parity-check (LDPC) codes are currentlythe most promising coding technique to achieve the Shannoncapacities for a wide range of channels. These codes were firstdiscovered by Gallager in 1962 [1] and then rediscovered inthe late 1990’s [2],[3]. Ever since their rediscovery, a greatdeal of research effort has been expended in design, construc-tion,structural and performance analysis, encoding, decoding,generalizations, and applications of LDPC codes. Numerouspapers have been published on these subjects. Many LDPCcodes have been chosen as the standard codes for various nextgenerations of communication systems and they are appearingin recent data storage products. More applications are expectedto come.Major methods for constructing LDPC codes can be divided

into two general categories: graph-theoretic-based methodsand algebraic methods. Each type of constructions has itsadvantages and disadvantages in terms of overall error perfor-mance, encoding and decoding implementations. In general,algebraically constructed LDPC codes have lower error-floorsand their decoding using iterative message-passing algorithms,such as the sum-product algorithm (SPA) and the min-sumalgorithm (MSA), converges faster than the graph-theoretic-

based codes constructed by computer search. Furthermore,it is much easier to construct algebraic LDPC codes withlarge minimum distances. Algebraic constructions of LDPCcodes are mainly based on finite fields, finite geometries, andcombinatorial designs. These constructions result in mostlyquasi-cyclic (QC)-LDPC codes.QC-LDPC codes have advantages over other types of LDPC

codes in hardware implementation of encoding and decoding.Encoding of a QC-LDPC code can be efficiently implementedusing simple shift registers with complexity linearly propor-tional to its number of parity-check symbols (or its length)[4]. In hardware implementation of its decoder, the quasi-cyclic structure of the code (or circular structure of its parity-check matrix) simplifies the wire routing for message passing[5] and allows partially parallel decoding [6] which offers atrade off between decoding complexity and decoding speed.Well designed or constructed QC-LDPC code can perform aswell as any other types of LDPC codes. Major methods forconstructing QC-LDPC codes are given in [7]–[16].A q-ary QC-LDPC code is given by the null space of an

array H of sparse circulant matrices of the same size overthe field GF(q) where q is a power of prime. If the array H,viewed as a matrix, has constant column weight ! and constantrow weight ", the code given by the null space of H is saidto be (!," )-regular, otherwise it is said to be irregular.In almost all of the proposed constructions of LDPC codes

(quasi-cyclic or not), the following constraint on the rows andcolumns of the parity-check matrix H is imposed: no two rows(or two columns) can have more than one place where theyboth have identical non-zero components. This constraint onthe rows and columns of H is referred to as the row-column(RC)-constraint. This RC-constraint ensures that the Tannergraph of the LDPC code given by the null space of H has agirth of at least 6 and that the minimum distance of the code,if (!," )-regular, is at least !+1 [7], [17]. The distance bound

Page 2: [IEEE 2012 Information Theory and Applications Workshop (ITA) - San Diego, CA, USA (2012.02.5-2012.02.10)] 2012 Information Theory and Applications Workshop - Quasi-cyclic LDPC codes:

is tight for regular LDPC codes whose parity-check matriceshave large column weights and row redundancies, such as thealgebraic LDPC codes constructed using finite fields, finitegeometries, and combinatorial designs. A parity-check matrixH that satisfies the RC-constraint is called an RC-constrainedparity-check matrix and the code given by its null space iscalled an RC-constrained LDPC code.In most of the constructions of binary QC-LDPC codes, the

parity-check matrix of a code is an RC-constrained array ofcirculant permutation matrices (CPMs) and/or zero matrices(ZMs) over GF(2). In a recent paper [18], we showed thatthe Fourier transform of an RC-constrained array H of CPMsand/or ZMs of size (2r ! 1) " (2r ! 1) over GF(2) followedby appropriate column and row permutations result in adiagonal array HF,! = diag(B!0,B!1,B!2, . . . ,B!(2r

"2))of matrices of the same size over GF(2r) which consistsof a base matrix B = B!1 and its Hadamard powers,B!0,B!1,B!2, . . . ,B!(2r

"2), where the t-th Hadamard powerB!t of B is defined as the Hadamard product of t copies of B[19]. The superscript F of H represents the Fourier transformoperation applied to H and # represents the overall columnand row permutations applied to the Fourier transform HF

of H. This is to say that in the Fourier transform domain,the array H is uniquely specified by the base matrix B.The base matrix B satisfies the constraint that every 2 " 2submatrix contains at least one zero entry or is non-singular.This constraint on the 2"2 submatrices of B is referred to asthe 2 " 2 submatrix constraint (SM-constraint). In the samepaper, we also showed that if a base matrix B that satisfies the2" 2 SM-constraint is given, an RC-constrained binary arrayH of CPMs and/or ZMs can be constructed by column androw permutations followed by inverse Fourier transforms ofthe diagonal matrix diag(B!0,B!1,B!2, . . . ,B!(2r

"2)). Thenthe null space ofH gives an RC-constrained binary QC-LDPCcode.Therefore, construction of RC-constrained binary parity-

check matrices of QC-LDPC codes is equivalent to construc-tion of base matrices over GF(2r) that satisfy the 2 " 2 SM-constraint. Since the size of a base matrix B is much smallerthan the size of its corresponding array H, construction of a2 " 2 SM-constrained base matrix is much easier than directconstruction of an RC-constrained array of CPMs and/or ZMs.Furthermore, it is much easier to determine the rank of anRC-constrained array H in the Fourier transform domain.This is done by adding the ranks of the base matrix B andits Hadamard powers. For several classes of base matricesconstructed from finite fields and combinatorial designs, wewere able to derive combinatorial expressions for the ranksof their corresponding RC-constrained arrays of CPMs and/orZMs.This paper is concerned with the construction of binary

and non-binary QC-LDPC codes in Fourier transform domain.First, we present a class of 2"2 SM-constrained base matriceswhich are constructed based on partitions of finite fields ofcharacteristic 2. Based on this class of base matrices, weconstruct a class of RC-constrained arrays of CPMs and ZMs

over GF(2) whose null spaces give a new class of RC-constrained binary QC-LDPC codes. Then, we analyze theranks of the arrays in this class. Using the same base matrices,we show that RC-constrained non-binary arrays of CPMs of aspecial type and/or ZMs over GF(2r) can also be constructed.The null spaces of these arrays give a class of 2r-ary QC-LDPC codes. Examples are given to show that the codesconstructed perform well over the AWGN channel decodedwith either the SPA or the MSA.

II. CONSTRUCTION OF A CLASS OF BINARY QC-LDPCCODES BASED ON FIELD PARTITIONS

In this section, we present a new algebraic method forconstructing a class of QC-LDPC codes. Given a finite field,we first arbitrarily partition the elements of the field into twodisjoint subsets. Based on these two disjoint subsets, we forma base matrix over the given field. Every entry of the matrixis a sum of two elements, one from the first subset and theother from the second subset. From this matrix, we can forman array of CPMs. This array, as a matrix, satisfies the RC-constraint. Then, the null space of this array gives a QC-LDPCcode.

A. A Class of 2 " 2 SM-Constrained Base Matrices Con-structed by Field PartitionsLet GF(2r) be a finite field with 2r elements which is

an extension field of the binary field GF(2). Let $ bea primitive element of GF(2r). Then, the powers of $,$"# = 0,$0 = 1,$ ,$2, . . . ,$2r

"2, give all the elementsof GF(2r) and $2r

"1 = 1. Let m and n be two positiveintegers such that m + n = 2r. Partition the elements ofGF(2r) into two disjoint subsets: G1 = {%0,%1, . . . ,%m"1}and G2 = {&0, &1, . . . , &n"1}, i.e., G1 # G2 = GF(2r) andG1 $G2 = '. Form the following m"n matrix over GF(2r):

B =

!

"

"

"

#

%0 + &0 %0 + &1 · · · %0 + &n"1

%1 + &0 %1 + &1 · · · %1 + &n"1...

.... . .

...%m"1 + &0 %m"1 + &1 · · · %m"1 + &n"1

$

%

%

%

&

.

(1)We note that each row of B is formed by adding an element inG1 to all the n elements in G2 and each column ofB is formedby adding an element in G2 to all the m elements in G1. Sincethe characteristic of the field GF(2r) is 2, every element inGF(2r) is its own additive inverse. It follows from the factthat G1 and G2 are disjoint and the formation of B that: (1)all the entries in B are nonzero; (2) all the entries in a row ofB are different; and (3) all the entries in a column of B aredifferent. Every entry in B is a power of the primitive element$ of GF(2r). In the following, we prove that the m"n matrixB over GF(2r) given by (1) satisfies the 2" 2 SM-constraint.Hence, B can be used as the base matrix to construct an m"nRC-constrained binary array of CPMs.

Theorem 1. The m " n matrix B over GF(2r) given by (1)satisfies the 2 " 2 SM-constraint.

Page 3: [IEEE 2012 Information Theory and Applications Workshop (ITA) - San Diego, CA, USA (2012.02.5-2012.02.10)] 2012 Information Theory and Applications Workshop - Quasi-cyclic LDPC codes:

Proof: Since all the entries of B are nonzero, to prove thetheorem, we only need to prove that every 2" 2 submatrix isnon-singular. Consider a 2 " 2 submatrix of B:

Q =

'

%i + &k %i + &t

%j + &k %j + &t

(

, (2)

where 0 % i, j < m and 0 % k, t < n and i &= j and k &= t.Since i &= j and k &= t, then %i &= %j and &t &= &k. If thismatrix is singular, then

(%i + &k)(%j + &t) ! (%i + &t)(%j + &k) = 0.

Manipulating the above equality, we have (%i!%j)(&t!&k) =0 which implies %i = %j or &t = &k. This contradicts the factthat %i &= %j and &t &= &k. Therefore, any 2 " 2 submatrix Qof B is non-singular. This proves the theorem.

B. Construction of CodesSince the base matrix B over GF(2r) given by (1) sat-

isfies the 2 " 2 SM-constraint, it can be used to constructan m " n RC-constrained binary array H of CPMs andZMs. However, in constructing H, we do not need to gothrough the process of forming the diagonal array, HF,! =diag(B!0,B!1,B!2, . . . ,B!(2r

"2)) and performing inversepermutation #"1 and inverse Fourier transform F"1. The arrayH can be constructed directly from B by replacing each entryof B by an appropriate (2r!1)"(2r!1) CPM [18] as shownnext.Since each entry in B is a nonzero element in GF(2r), it

must be a power of $ which is a primitive element of GF(2r).Label the rows and columns of a (2r ! 1) " (2r ! 1) CPMfrom 0 to 2r ! 2 which correspond to powers of $, $0 =1,$ ,$2, ...,$2r

"2. For 0 % i < m and 0 % j < n, let %i +&j = $ki,j with 0 % ki,j < 2r ! 1. Then the constructionof H directly from B is carried out by replacing the entry%i +&j = $ki,j at the ith row and jth column of B by a (2r!1) " (2r ! 1) CPM whose top row (called the generator) hasa single 1-component at the position ki,j . This gives the arrayH corresponding to the base matrix B. Since all the entriesare nonzero,H contains no ZM and is an array of CPMs only.The above construction of the RC-constrained array H directlyfrom the base matrix B is referred to as array dispersion ofB [8], [9], [11], [18].

H is an m(2r ! 1) " n(2r ! 1) matrix over GF(2). Sinceeach CPM has both column and row weights equal to 1, thecolumn and row weights of H, as a m(2r ! 1) " n(2r ! 1)matrix over GF(2), are m and n respectively. Consequently,the null space of H gives an RC-constrained QC-LDPC codeof length n(2r ! 1) with minimum distance at least m + 1whose Tanner graph has a girth at least 6. Note that the nullspace of any sub-array of H also gives a QC-LDPC code.

III. RANK ANALYSIS OF THE PARITY-CHECK MATRICES

Fourier transform and row and column permutations donot change the rank of an array H of CPMs and/or ZMs.Consequently, the rank of H, denoted by rank(H), is thesame as the rank of HF,!, denoted by rank(HF,!). Since

HF,! = diag(B!0,B!1,B!2, ...,B!(2r"2)) is a diagonal ar-

ray, the rank of H is then given by the sum of the ranks ofthe base matrix B and its Hadamard powers:

rank(H) = rank(HF,!) =2r

"2)

l=0

rank(B!l). (3)

Suppose the matrix given by (1) is used as the base matrixB. Then, B!l = [(%i + &j)l], 0 % i < m and 0 % j < n, for0 % l < 2r!1. In the binomial expansion of (%i+&j)l, only theterms with odd coefficients appear since the odd coefficientsmodulo-2 are equal to 1 while even coefficients modulo-2become zeros. Let µl be the number of odd coefficients inthe binomial expansion of (%i + &j)l (or the number of oddintegers in the l-th level of Pascal triangle). Let t1, t2, . . . , tµl

denote the positions of these odd coefficients. We note thatt1 = 0 and tµl

= l. It is clear that µl % l + 1. Then

(%i+&j)l = %l

i+%l"t2i &t2

j +%l"t3i &t3

j +· · ·+%l"tµl!1

i &tµl!1

j +&lj .(4)

Based on the expression given by (4), the l-th Hadamard powerB!l can be expressed as a product of two matrices as follows:

B!l = Vl,LVl,R (5)

with

Vl,L =

!

"

"

"

"

"

#

%l0 %l"t2

0 %l"t30 · · · 1

%l1 %l"t2

1 %l"t31 · · · 1

%l2 %l"t2

2 %l"t32 · · · 1

......

.... . .

...%l

m"1 %l"t2m"1 %l"t3

m"1 · · · 1

$

%

%

%

%

%

&

,

Vl,R =

!

"

"

"

"

"

#

1 1 1 · · · 1&t20 &t2

1 &t22 · · · &t2

n"1

&t30 &t3

1 &t32 · · · &t3

n"1...

......

. . ....

&tµl

0 &tµl

1 &tµl

2 · · · &tµl

n"1

$

%

%

%

%

%

&

, (6)

where Vl,L is an m " µl matrix over GF(2r) and Vl,R is aµl"n matrix over GF(2r). Let ((l) be the number of nonzeroterms in the radix-2 expansion (or binary representation) of l,called the radix-2 weight of l. It follows from Lucas theorem[20] that µl = 2"(l). For 0 % l < 2r!1, since µl % l+1 < 2r,we must have ((l) < r and µl % 2r"1.

To determine the rank of B!l, we will determine the ranksof Vl,L and Vl,R. This can be done in the following case:the nonzero elements of both G1 and G2 form two sequencesof consecutive powers of $. The 0 element can be in eitherG1 or G2. For example, G1 = {0,$0,$ , . . . ,$m"2} andG2 = {$m"1,$m, . . . ,$2r

"2}. Let n = 2r ! m. We alsoassume that m % 2r"1 % n. In this case, Vl,L and Vl,R canbe transformed into matrices with the Vandermonde structure[20],[21] by elementary column and row operations. Sincem % n, then n ' 2r"1 ' µl. As a result, rank(Vl,L) =min(m, µl) and rank(Vl,R) = µl. It follows from (6) that

Page 4: [IEEE 2012 Information Theory and Applications Workshop (ITA) - San Diego, CA, USA (2012.02.5-2012.02.10)] 2012 Information Theory and Applications Workshop - Quasi-cyclic LDPC codes:

rank(B!l) = rank(Vl,LVl,R). Since Vl,R has full row rank,

rank(B!l) = rank(Vl,LVl,R) = rank(Vl,L) = min(m, µl)(7)

for 0 % l < 2r ! 1. For l = 0, all the entries of B!0 are equalto 1. Hence, the rank of B!0 is 1, i.e., rank(B!0) = 1. Then,it follows from (3) and (7) that the rank of H is:

rank(H) = 1 +2r

"2)

l=1

rank(B!l). (8)

Let (0 be the largest integer such that 2"0 % m, then acombinatorial expression for the sum of terms given by (8)can be derived as follows:

2r!2X

l=1

rank(B"l) =2r

!2X

l=1

min(m,µl)

=X

1"l"2r!2!(l)>!0

m +X

1"l"2r!2!(l)"!0

µl

=r!1X

!=!0+1

X

l:!(l)=!

m +!0X

!=1

X

l:!(l)=!

2!(l)

=r!1X

!=!0+1

r

!

!

m +!0X

!=1

r

!

!

2!

=r!1X

!=!0+1

r

!

!

m +r!1X

!=1

r

!

!

2!!

r!1X

!=!0+1

r

!

!

2!.

Note that*r"1

"=1

+

r"

,

2" = 3r!2r!1. Consequently, we have2r

"2)

l=1

rank(B!l) = 3r ! 2r ! 1!r"1)

"="0+1

-

r

(

.

(2" !m). (9)

Combining (8) and (9), we have the following combinatorialexpression for the rank of H with m % 2r"1:

rank(H) = 3r ! 2r !r"1)

"="0+1

-

r

(

.

(2" ! m). (10)

For m = 2r"1 = n, the base matrix given by (1) is a squarematrix and its corresponding array Hs is a 2r"1 " 2r"1 arrayof (2r ! 1) " (2r ! 1) CPMs. In this case, (0 = r ! 1 and

rank(Hs) = 3r ! 2r. (11)

The null space of Hs gives a binary QC-LDPC code withthe following parameters: (1) length n = 2r"1(2r ! 1); (2)dimension k = 22r"1 + 2r"1 ! 3r; (3) minimum distancedmin is at least 2r"1 + 1. The null space of any sub-array ofHs gives a QC-LDPC code.The above derivation of rank(H) is for the case m % 2r"1.

For m > 2r"1, the derivation of rank(H) is similar.In the following, we give two examples to demonstrate the

performances of two QC-LDPC codes constructed based onfield partitions given in Subsection II.B. We assume BPSKtransmission of the AWGN channel. Decoding is carried outeither with the SPA or the MSA.

Example 1. Let GF(26) be the field for construction. Let $ be

2 2.5 3 3.5 4 4.5 5 5.5 610−9

10−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N0(dB)

Erro

r Rat

e

(3654,3335) MSA BER (5 iterations)(3654,3335) MSA BLER (5 iterations)(3654,3335) MSA BER (10 iterations)(3654,3335) MSA BLER (10 iterations)(3654,3335) MSA BER (50 iterations)(3654,3335) MSA BLER (50 iterations)Shannon LimitSphere Packing Bound

Fig. 1. The error performance of QC-LDPC code given in Example 1.

a primitive element of GF(26). Partition GF(26) into two sub-sets: G1 = {0, 1,$ ,$2,$3,$4} and G2 = {$5,$6, . . . ,$62}.Using these two subsets of GF(26), we can construct a 6"58base matrix B over GF(26) of the form given in (1). Arraydispersion of this base matrix results in a 6 " 58 arrayH of 63 " 63 CPMs. H is a 378 " 3654 RC-constrainedmatrix over GF(2) with column and row weights 6 and 58,respectively. Since m = 6, we find that (0 = 2. Using thecombinatorial expression given by (10), we find that the rankof H is 319. Hence, the null space of H gives a (6,58)-regular(3654,3335) QC-LDPC code of rate 0.9127. The bit and blockerror performances of the code decoded with 5, 10 and 50iterations of the MSA are shown in Figure 1. We see that thedecoding of the code converges fast. At the BER of 10"6, thecode decoded with 50 iterations of the MSA performs 1.2 dBfrom the Shannon limit. At the BLER (block error rate) 10"5,it performs 0.8 dB from the sphere packing bound.

Example 2. In this example, we construct a longer code.The field chosen for code construction is GF(27). Let $ bea primitive element of GF(27). Partition the elements of thefield into two disjoint subsets: G1 = {0, 1,$ ,$2,$3,$4} andG2 = {$5,$6, . . . ,$126}. Based on these two disjoint subsetsof GF(27), we construct a 6"122 base matrix B over GF(27)of the form given in (1). Disperse B into a 6 " 122 array H

of 127 " 127 CPMs. This array H is a 762 " 15494 RC-constrained matrix over GF(2) with column and row weights6 and 122, respectively. Since m = 6, the largest positiveinteger (0 such that 2"0 % 6 is 2. Using the combinatorialexpression given by (10), we find that the rank of H is 687.The null space of this array gives a binary RC-constrained(6,122)-regular (15494,14807) QC-LDPC code of rate 0.9557whose Tanner graph has a girth of at least 6. The bit and blockerror rates of this code with 50 iterations of the SPA are shownin Figure 2. At the BER of 10"8, the code performs 0.92 dBfrom the Shannon limit.

Page 5: [IEEE 2012 Information Theory and Applications Workshop (ITA) - San Diego, CA, USA (2012.02.5-2012.02.10)] 2012 Information Theory and Applications Workshop - Quasi-cyclic LDPC codes:

3 3.5 4 4.5 5 5.5 610−9

10−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N0(dB)

Shannon Limit(15494,14807)BER(15494,14807)BLERuncoded BPSK

Fig. 2. The error performance of QC-LDPC code given in Example 2.

IV. NON-BINARY QC-LDPC CODESIn this section, we show that RC-constrained arrays of

non-binary CPMs of a special type can also be constructedusing the base matrices constructed in Section II. The nullspaces of these arrays give a class of non-binary QC-LDPCcodes. Again we consider code construction based on fieldsof characteristic 2. Let $ be a primitive element of GF(2r).For 0 % k < 2r ! 1, let P($k) be a (2r ! 1) " (2r ! 1)matrix over GF(2r) with columns and rows labeled from 0 to2r ! 2 which has the following structures: (1) the top row ofP($k) has a single nonzero component with value $k at thek-th position; and (2) every row of P($k) is the cyclic-shift(one place to the right) of the row above it multiplied by $ andthe first row is the cyclic-shift of the last row multiplied by $.This (2r ! 1)" (2r ! 1) matrix P($k) over GF(2r) is calledan $-multiplied CPM. There are 2r ! 1 such $-multipliedCPMs. For 0 % k < 2r ! 1, we represent the element $k ofGF(2r) by the $-multiplied CPM P($k). This representation,which is one-to-one, is referred to as the $-multiplied CPMdispersion (or simply dispersion) of $k. Next, we replaceeach entry of the m " n base matrix B given by (1) by itscorresponding $-multiplied CPM. This results in an m " narrayH# of $-multiplied CPMs of size (2r!1)"(2r!1). Thearray H# consists of n column blocks of $-multiplied CPMs,denoted H

(0)# ,H

(1)# , . . . ,H

(n"1)# . Each column block H

(j)# of

$-multiplied CPMs with 0 % j < n is an m(2r!1)"(2r!1)matrix over GF(2r). Due to the structure of an $-multipliedCPM, all the nonzero elements in the k-th column of H(j)

# are$k for 0 % k < 2r ! 1 and 0 % j < n. We call $k the valueof the k-th column of H

(j)# . View the overall array H# as an

m(2r ! 1) " n(2r ! 1) matrix over GF(2r). If we multiplyeach column of H# by the multiplicative inverse of its value,we obtain the binary array H of CPMs constructed from thebase matrix B as given in Section II. Therefore, the rank ofH# is the same as that of H, i.e., rank(H#) = rank(H).If the base matrix B is constructed based on two disjointsubsets, G1 and G2, of consecutive powers of $, then the

1 2 3 4 5 610−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N0(dB)

Erro

r Rat

e

32−ary (868,757)BER32−ary (868,757)SER32−ary (868,757)BLERUncodedSphere Packing Bound

Fig. 3. The error performance of QC-LDPC code given in Example 3.

combinatorial expression given by (10) also gives the rank ofH#. Furthermore, the 2" 2 SM-constraint on B also ensuresthat H# satisfies the RC-constraint. The null space of H#

gives a 2r-ary QC-LDPC code whose Tanner graph has a girthof at least 6. The above construction gives a class of regular2r-ary QC-LDPC codes.

Example 3. Let GF(25) be the field for code construction and$ be a primitive element of the field. Partition the elementsof GF(25) into two disjoint subsets: G1 = {0, 1,$ ,$2} andG2 = {$3,$4, ...,$30}. Based on these two subsets of GF(25),we form a 4 " 28 base matrix B over GF(25) of the formgiven by (1). Replacing each entry in B by its corresponding$-multiplied CPM of size 31"31, we obtain a 4"28 arrayH#

of $-multiplied CPMs of size 31"31. H# is a 124"868 RC-constrained matrix over GF(25) with column and row weights4 and 28, respectively. Since m = 4, the parameter (0 is 2.Using the combinatorial expression given by (10), we find thatthe rank of H# is 111. The null space of H# gives a (4,28)-regular 32-ary (868,757) QC-LDPC code of rate 0.8721. Thebit, symbol, and block error performances of this code decodedwith 50 iterations of Fast Fourier Transform q-ary SPA (FFT-QSPA) are shown in Figure 3. At the BLER of 10"4, the codeperforms 1.8 dB from the sphere packing bound.

V. MASKING

Let B = [bi,j ], 0 % i < m and 0 % j < n, denote thebase matrix over GF(2r) given by (1) where bi,j = %i + &j .Let Z(m, n) = [zi,j ], 0 % i < m and 0 % j < n, be anm" n matrix over GF(2) with both 0 and 1 entries. Take theHadamard product of Z(m, n) and B, Bmask = Z(m, n) (B = [zi,jbi,j ], 0 % i < m, 0 % j < n, where zi,jbi,j = bi,j

if zi,j = 1 and zi,jbi,j = 0 if zi,j = 0. This product simplyreplaces a set of nonzero entries of B by a set of zeros. Thisoperation is called masking. Z(m, n) and Bmask are called themasking matrix and the masked base matrix, respectively. Themasked base matrix also satisfies the 2"2 SM-constraint. Let

Page 6: [IEEE 2012 Information Theory and Applications Workshop (ITA) - San Diego, CA, USA (2012.02.5-2012.02.10)] 2012 Information Theory and Applications Workshop - Quasi-cyclic LDPC codes:

Hmask and H#,mask be the binary and $-multiplied arraydispersions of Bmask. Then the null spaces of Hmask andH#,mask give a binary and a 2r-ary QC-LDPC codes. Maskingreduces the density of CPMs (or $-multiplied CPMs) inH (orin H#). This may reduce the number of short cycles in theTanner graph of the code given by the null space of Hmask

(or H#,mask) or even increase the girth of the Tanner graphof the code. As a result, the performance of the code maybe improved. As shown in [11], masking is very effective inconstructing irregular QC-LDPC code. This is illustrated bythe following example.

Example 4. Again, let GF(27) be the field for code construc-tion and $ be a primitive element of the field. Partition theelements into two subsets: G1 = {0, 1,$ ,$2, . . . ,$30} andG2 = {$31,$32, ...,$126}. Based on these two subsets, weform a 32" 96 base matrix B over GF(27) of the form givenby (1). Take the first 64 columns of B to form a 32" 64 sub-array B(32, 64). We use the sub-array B(32, 64) as the basematrix for masking to construct an irregular QC-LDPC code.Design a 32 " 64 masking matrix Z(32, 64) = [zi,j ], 0 % i <32, 0 % j < 64, over GF(2) with column and row weightdistributions close to the following variable node and check-node degree distributions (node perspective) of a Tanner graphwhich is designed for an irregular code of rate 0.5 [11]:

v(X) = 0.4554X + 0.3433X2 + 0.1603X7 + 0.0409X29,

c(X) = 0.1003X7 + 0.8997X8,

where the coefficient of X i represents the percentage of nodeswith degree i + 1. The masking matrix Z(32, 64) has 32columns of degree 2, 20 columns of degree 3, 9 columnsof degree 8, 3 columns of degree 30, 2 rows of degree 8,and 30 rows of degree 9. Masking the base matrix B(32, 64)with Z(32, 64) yields the masked matrix Bmask(32, 64) =Z(32, 64)(B(32, 64). Next we use Bmask(32, 64) as the basematrix and construct a 32 " 64 binary array Hmask(32, 64)of CPMs and ZMs of size 127 " 127. Hmask(32, 64) is a4064" 8128 matrix over GF(2) with column and row weightdistributions close to the degree distributions given above. Thenull space of Hmask(32, 64) gives an irregular (8128,4064)QC-LDPC code of rate 0.5. The error performance of thisirregular QC-LDPC code over the AWGN channel with 50iterations of the SPA is shown in Figure 4. At the BER of10"6, the code performs 1 dB from the Shannon limit and atthe BLER of 10"4, it performs 0.6 dB from the sphere packingbound.

VI. CONCLUSION

In this paper, constructions of both binary and non-binaryQC-LDPC codes were presented. The constructions werecarried out in Fourier transform domain. First, we presenteda class of 2 " 2 SM-constrained base matrices which areconstructed based on partitions of finite fields of characteristic2. Dispersing the base matrices in this class, we obtaineda class of RC-constrained binary arrays of CPMs and a

Fig. 4. The error performance of QC-LDPC code given in Example 4.

class of RC-constrained non-binary arrays of $-multipliedCPMs. Array dispersion of a base matrix is equivalent tocolumn and row permutations of the base matrix and itsHadamard powers followed by inverse Fourier transform. Thenull spaces of two classes of arrays give two classes ofRC-constrained QC-LDPC codes, one binary and the othernon-binary. Fourier transform approach to code constructionallowed us to analyze the ranks of the arrays in both classes.Combinatorial expressions for the ranks of constructed arrayswere derived. Examples were given to show that the codesconstructed perform well over the AWGN channel decodedwith either the SPA or the MSA.

ACKNOWLEDGMENT

This work was supported by the National Science Founda-tion (NSF) under the grant CCF-1015548.

REFERENCES

[1] R. G. Gallager, ”Low Density Parity-check codes,” IRE Trans. Inform.Theory, vol. IT-8, no. 1, pp. 21–28, Jan. 1962.

[2] D. J. C. MacKay and R. M. Neal, ”Near Shannon limit performance oflow density parity-check codes,” Electro. Lett.,vol. 32, pp. 1645–1646,Aug. 1996.

[3] D. J. C. MacKay, ”Good error-correcting codes based on very sparsematrices,” IEEE Trans. Inform. Theory, vol. 45, no. 2, pp. 399–432,Mar. 1999.

[4] Z. Li, L. Chen, L. Zeng, S. Lin and W. Fong, ”Efficient encoding ofquasi-cyclic low-density parity-check codes,” IEEE Trans. Commun.,vol. 54, no. 1, pp. 71–81, Jan. 2006.

[5] Y. Chen and K. Parhi, ”Overlapped message passing for quasi-cycliclow-density parity check codes,” IEEE Trans. Circuits and Systems I,vol. 51, no. 6, pp. 1106–1113, Jun. 2004.

[6] Z. Wang and Z. Cui, ”Low-complexity high-speed decoder design forquasi-cyclic LDPC codes,” IEEE Trans. VLSI, vol. 5, no. 1, pp. 104–114,Jan. 2007.

[7] Y. Kou, S. Lin, and M. P. C. Fossorier, ”Low density parity-check codesbased on finite geometries: A rediscovery and new results,” IEEE Trans.Inform. Theory, vol. 47, no. 7, pp. 2711–2736, Nov. 2001.

[8] L. Chen, L. Lan, I. Djurdjevic, and S. Lin, ”An algebraic method forconstructing quasi-cyclic LDPC codes,” Proc. Int. Symp. Inform. Theoryand Its Applications, Parma, Italy, Oct. 10–13, 2004, pp. 535–539.

Page 7: [IEEE 2012 Information Theory and Applications Workshop (ITA) - San Diego, CA, USA (2012.02.5-2012.02.10)] 2012 Information Theory and Applications Workshop - Quasi-cyclic LDPC codes:

[9] Y. Y. Tai, L. Lan, L. Zheng, S. Lin and K. A. S. Abdel-Ghaffar,“Algebraic construction of quasi-cyclic LDPC codes for the AWGN anderasure channels,” IEEE Trans. Commun., vol 54, no. 10, pp. 1765–1774,Oct. 2006.

[10] N. Kamiya, ”High-rate quasi-cyclic low-density parity-check codesderived from finite affine planes,” IEEE Trans. Inform. Theory, vol. 53,no. 4, pp. 1444–1459, Apr. 2007.

[11] L. Lan, L. Zeng, Y. Y. Tai, L. Chen, S. Lin, and K. Abdel-Ghaffar,”Construction of quasi-cyclic LDPC codes for AWGN and binaryerasure channels: A finite field approach,” IEEE Trans. Inform. Theory,vol. 53, no. 7, pp. 2429–2458, Jul. 2007.

[12] L. Lan, Y. Y. Tai, S. Lin, B. Memari and B. Honary, ”New constructionof quasi-cyclic LDPC codes based on special classes of BIBDs for theAWGN and binary erasure channels,” IEEE Trans. Commun., vol. 56,no. 1, pp. 39–48, Jan. 2008.

[13] S. Song, B. Zhou, S. Lin, and K. Abdel-Ghaffar, ”A unified approachto the construction of binary and nonbinary quasi cyclic LDPC codesbased on finite fields,” IEEE Trans. Commun., vol. 57, no. 1, pp. 84–93,Jan. 2009.

[14] J. Kang, Q. Huang, L. Zhang, B. Zhou, and S. Lin, ”Quasi-cyclic LDPCcodes: An algebraic construction,” IEEE Trans. Commun., vol. 58, no.5, pp. 1383–1396 , May 2010.

[15] L. Zhang, Q. Huang, S. Lin, K. Abdel-Ghaffar, and I. F. Blake, ”Quasi-cyclic LDPC codes: An algebraic construction, rank analysis, and codeson Latin squares,” IEEE Trans. Commun., vol. 58, no. 11, pp. 3126–3139, Nov. 2010.

[16] L. Zhang, S. Lin, K. Abdel-Ghaffar, Z. Ding, and B. Zhou, ”Quasi-cyclic LDPC codes on cyclic subgroups of finite fields,” IEEE Trans.Commun., vol. 59, no. 9, pp. 2330–2336, Sep. 2011.

[17] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals andApplications, 2nd ed. Upper Saddle River, NJ: Prentice Hall, 2004.

[18] Q. Diao, Q. Huang, S. Lin, and K. Abdel-Ghaffar ”A matrix-theoreticapproach for analyzing quasi- cyclic low-density parity-check codes,”IEEE Trans. Inform. Theory, to appear.

[19] R. A. Horn and C. R. Johnson, Matrix Analysis. Cambridge, UK:Cambridge University Press, 1985.

[20] R. E. Blahut, Theory and Practice of Error Control Codes. Reading,MA: Addison-Wesley, 1983.

[21] R. M. Roth, Introduction to Coding Theory. Cambridge, UK: CambridgeUniversity Press, 2006.