+ All Categories
Home > Documents > read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE...

read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE...

Date post: 10-Mar-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
14
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 1383 Quasi-Cyclic LDPC Codes: An Algebraic Construction Jingyu Kang, Qin Huang, Li Zhang, Bo Zhou, and Shu Lin Abstract—This paper presents two new large classes of QC- LDPC codes, one binary and one non-binary. Codes in these two classes are constructed by array dispersions of row-distance constrained matrices formed based on additive subgroups of nite elds. Experimental results show that codes constructed perform very well over the AWGN channel with iterative de- coding based on belief propagation. Codes of a subclass of the class of binary codes have large minimum distances comparable to nite geometry LDPC codes and they offer effective trade- off between error performance and decoding complexity when decoded with low-complexity reliability-based iterative decoding algorithms such as binary message passing decoding algorithms. Non-binary codes decoded with a Fast-Fourier Transform based sum-product algorithm achieve signicantly large coding gains over Reed-Solomon codes of the same lengths and rates decoded with either the hard-decision Berlekamp-Massey algorithm or the algebraic soft-decision K¨ otter-Vardy algorithm. They have potential to replace Reed-Solomon codes in some communication or storage systems where combinations of random and bursts of errors (or erasures) occur. Index Terms—Quasi-cyclic low-density parity-check codes, al- gebraic construction, row-distance constraint, additive subgroup, masking. I. I NTRODUCTION L DPC codes are currently the most promising coding technique to achieve Shannon capacity for a wide range of channels. These codes were rst discovered by Gallager in 1962 [1] and then rediscovered in late 1990’s [2]-[3]. Ever since their rediscovery, a great deal of research effort has been expended in design, construction, encoding, decod- ing, performance analysis, 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, such as wireless, optical, satellite, digital video broadcast (DVB), multi-media broadcast (MMB), 10G BASE-T Ethernet and NASA’s LANDSAT and TDRSS. Applications to data storage systems such as hard disc drive and ash memory are being seriously investigated. An extensive coverage and the state of the art of LDPC codes can be found in [4]. Let GF() be a eld with elements. A regular -ary LDPC code [1] is given by the null space over GF() of a sparse Paper approved by S.-Y. Chung, the Editor for LDPC Coding and Informa- tion Theory of the IEEE Communications Society. Manuscript received April 22, 2009; revised August 28, 2009. The authors are with the Department of Electrical and Computer Engineering, University of California, Davis, CA 95616 (e-mail: qin- [email protected]). This research was supported by NASA under the Grant NNX09AI21G, NSF under the Grant CCF-0727478, and gift grants from Northrop Grumman Space Technology and Intel. Digital Object Identier 10.1109/TCOMM.2010.05.090211 parity-check matrix H over GF() that has the following structural properties; 1) each column has weight ; and 2) each row has weight , where and are small compared to the code length. Such a -ary LDPC code is said to be (,)-regular. If the columns and/or rows of H have multiple weights, then the null space of H gives an irregular -ary LDPC code. If H is an array of sparse circulants of the same size over GF(), then the null space of H gives a -ary quasi- cyclic (QC)-LDPC codes. If H consists of a single or a column of sparse circulants, then the null space of H gives a -ary cyclic LDPC code. In almost all of the proposed constructions of LDPC codes, the following additional structural property is further imposed on the parity-check matrix H: 3) no two rows (or two columns) can have more than one place where they both have nonzero components. Structural property-3 is a constraint on the rows and columns of H and 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 is free of cycles of length 4 and hence has a girth of at least 6 [4]-[6]. Let be the minimum column weight of H. The RC-constraint on H ensures that the minimum distance of the LDPC code given by the null space of H is lower bounded by +1 [4]-[6]. This lower bound on the minimum distance of an RC-constrained LDPC code is poor for small and irregular LDPC codes. However, it is tight for regular LDPC codes whose parity-check matrices have large column weights, such as nite geometry cyclic LDPC codes [5], nite eld QC- LDPC codes constructed in [7] and this paper. In three recent papers [7], [8] and [9], we presented a gen- eral method for constructing QC-LDPC codes. This method was developed based on dispersion of a specic matrix over a nite eld into an array of circulant permutation matrices. Based on this general method, several specic classes of algebraic QC-LDPC codes were constructed. In this paper, we present two new large classes QC-LDPC codes, one binary and one non-binary. The construction of these two classes of codes follows along the line of the general method given in [7], [8] and [9]. However, it is based on array dispersion of a large class of row-distance (RD) con- strained matrices, dened later, constructed based on additive subgroups of nite elds. The code construction presented gives a broad generalization and an extensive expansion of the code constructions given in [7], [8] and [9]. Experimental results show that codes constructed perform very well over the AWGN channel with iterative decoding based on belief propagation, such as the sum-product algorithm (SPA) [3], [4]. Non-binary codes constructed signicantly outperform Reed- 0090-6778/10$25.00 c 2010 IEEE
Transcript
Page 1: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 1383

Quasi-Cyclic LDPC Codes:An Algebraic ConstructionJingyu Kang, Qin Huang, Li Zhang, Bo Zhou, and Shu Lin

Abstract—This paper presents two new large classes of QC-LDPC codes, one binary and one non-binary. Codes in thesetwo classes are constructed by array dispersions of row-distanceconstrained matrices formed based on additive subgroups offinite fields. Experimental results show that codes constructedperform very well over the AWGN channel with iterative de-coding based on belief propagation. Codes of a subclass of theclass of binary codes have large minimum distances comparableto finite geometry LDPC codes and they offer effective trade-off between error performance and decoding complexity whendecoded with low-complexity reliability-based iterative decodingalgorithms such as binary message passing decoding algorithms.Non-binary codes decoded with a Fast-Fourier Transform basedsum-product algorithm achieve significantly large coding gainsover Reed-Solomon codes of the same lengths and rates decodedwith either the hard-decision Berlekamp-Massey algorithm orthe algebraic soft-decision Kotter-Vardy algorithm. They havepotential to replace Reed-Solomon codes in some communicationor storage systems where combinations of random and bursts oferrors (or erasures) occur.

Index Terms—Quasi-cyclic low-density parity-check codes, al-gebraic construction, row-distance constraint, additive subgroup,masking.

I. INTRODUCTION

LDPC codes are currently the most promising codingtechnique to achieve Shannon capacity for a wide range

of channels. These codes were first discovered by Gallagerin 1962 [1] and then rediscovered in late 1990’s [2]-[3].Ever since their rediscovery, a great deal of research efforthas been expended in design, construction, encoding, decod-ing, performance analysis, generalizations and applications ofLDPC codes. Numerous papers have been published on thesesubjects. Many LDPC codes have been chosen as the standardcodes for various next generations of communication systems,such as wireless, optical, satellite, digital video broadcast(DVB), multi-media broadcast (MMB), 10G BASE-T Ethernetand NASA’s LANDSAT and TDRSS. Applications to datastorage systems such as hard disc drive and flash memoryare being seriously investigated. An extensive coverage andthe state of the art of LDPC codes can be found in [4].

Let GF(𝑞) be a field with 𝑞 elements. A regular 𝑞-ary LDPCcode 𝒞 [1] is given by the null space over GF(𝑞) of a sparse

Paper approved by S.-Y. Chung, the Editor for LDPC Coding and Informa-tion Theory of the IEEE Communications Society. Manuscript received April22, 2009; revised August 28, 2009.

The authors are with the Department of Electrical and ComputerEngineering, University of California, Davis, CA 95616 (e-mail: [email protected]).

This research was supported by NASA under the Grant NNX09AI21G,NSF under the Grant CCF-0727478, and gift grants from Northrop GrummanSpace Technology and Intel.

Digital Object Identifier 10.1109/TCOMM.2010.05.090211

parity-check matrix H over GF(𝑞) that has the followingstructural properties; 1) each column has weight 𝛾; and 2)each row has weight 𝜌, where 𝛾 and 𝜌 are small comparedto the code length. Such a 𝑞-ary LDPC code is said to be(𝛾, 𝜌)-regular. If the columns and/or rows of H have multipleweights, then the null space of H gives an irregular 𝑞-aryLDPC code. If H is an array of sparse circulants of the samesize over GF(𝑞), then the null space of H gives a 𝑞-ary quasi-cyclic (QC)-LDPC codes. If H consists of a single or a columnof sparse circulants, then the null space of H gives a 𝑞-arycyclic LDPC code.

In almost all of the proposed constructions of LDPC codes,the following additional structural property is further imposedon the parity-check matrix H: 3) no two rows (or twocolumns) can have more than one place where they both havenonzero components. Structural property-3 is a constraint onthe rows and columns of H and is referred to as the row-column (RC)-constraint. This RC-constraint ensures that theTanner graph of the LDPC code given by the null space of His free of cycles of length 4 and hence has a girth of at least 6[4]-[6]. Let 𝛾𝑚𝑖𝑛 be the minimum column weight of H. TheRC-constraint on H ensures that the minimum distance of theLDPC code given by the null space of H is lower bounded by𝛾𝑚𝑖𝑛 +1 [4]-[6]. This lower bound on the minimum distanceof an RC-constrained LDPC code is poor for small 𝛾𝑚𝑖𝑛 andirregular LDPC codes. However, it is tight for regular LDPCcodes whose parity-check matrices have large column weights,such as finite geometry cyclic LDPC codes [5], finite field QC-LDPC codes constructed in [7] and this paper.

In three recent papers [7], [8] and [9], we presented a gen-eral method for constructing QC-LDPC codes. This methodwas developed based on dispersion of a specific matrix over afinite field into an array of circulant permutation matrices.Based on this general method, several specific classes ofalgebraic QC-LDPC codes were constructed.

In this paper, we present two new large classes QC-LDPCcodes, one binary and one non-binary. The construction ofthese two classes of codes follows along the line of the generalmethod given in [7], [8] and [9]. However, it is based onarray dispersion of a large class of row-distance (RD) con-strained matrices, defined later, constructed based on additivesubgroups of finite fields. The code construction presentedgives a broad generalization and an extensive expansion ofthe code constructions given in [7], [8] and [9]. Experimentalresults show that codes constructed perform very well overthe AWGN channel with iterative decoding based on beliefpropagation, such as the sum-product algorithm (SPA) [3], [4].Non-binary codes constructed significantly outperform Reed-

0090-6778/10$25.00 c⃝ 2010 IEEE

Page 2: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010

Solomon (RS) codes of the same lengths and rates decodedwith either the Berlekamp-Massey (BM) algorithm [6] or thealgebraic soft-decision (ASD) Kotter-Vardy (KV) algorithm[10]. They have potential to replace Reed-Solomon (RS) codesin some communication or storage systems for correctingcombinations of random and bursts of errors (or erasures).A good coverage of non-binary LDPC codes can be found in[4] (Chapter 14).

Also shown in this paper is that codes in a special sub-class of the constructed binary QC-LDPC codes have largeminimum distances. Codes in this subclass perform verywell when decoded with a low-complexity reliability-baseddecoding algorithm.

The rest of the paper is organized as follows: 1) SectionII presents a basic framework for constructing QC-LDPCcodes; 2) Section III presents a large class of RD-constrainedmatrices over finite fields; 3) Section IV gives a class ofbinary QC-LDPC codes; 4) Section V specifies a subclassof binary QC-LDPC codes constructed in Section IV thathave large minimum distances and shows that codes in thissubclass perform very well when decoded with reliability-based decoding algorithms; 5) Section VI gives a class ofnon-binary QC-LDPC codes; and 6) Section VII concludesthe paper with some remarks.

II. A GENERAL CONSTRUCTION OF QC-LDPC CODES

A. Matrix Representation of field Elements

Let 𝑚 be a positive integer. Consider the Galois fieldGF(𝑞𝑚). Let 𝛼 be a primitive element of GF(𝑞𝑚). Then, thepowers of 𝛼, 𝛼−∞ = 0, 𝛼0 = 1, 𝛼, 𝛼2, . . . , 𝛼𝑞𝑚−2, give allthe elements of GF(𝑞𝑚) and 𝛼𝑞𝑚−1 = 1. The 𝑞𝑚 elementsof GF(𝑞𝑚) form the additive group of GF(𝑞𝑚) under theaddition operation of GF(𝑞𝑚). The 𝑞𝑚 − 1 nonzero elementsof GF(𝑞𝑚) form the multiplicative group of GF(𝑞𝑚) underthe multiplication operation of GF(𝑞𝑚). In the following, wegive two matrix representations of an element of GF(𝑞𝑚) withrespective to the multiplicative group of GF(𝑞𝑚).

Definition 1. For each nonzero element 𝛼𝑖 in GF(𝑞𝑚) with0 ≤ 𝑖 < 𝑞𝑚 − 1, we form a (𝑞𝑚 − 1)-tuple over GF(2),c𝑏(𝛼

𝑖) = (𝑐0, 𝑐1, . . . , 𝑐𝑞𝑚−2), whose components correspondto the 𝑞𝑚 − 1 nonzero components of GF(𝑞𝑚), where the 𝑖thcomponent 𝑐𝑖 = 1 and all the other components are equal tozero. The subscript “b” of c𝑏(𝛼

𝑖) stands for “binary”. Thisbinary unit-weight (𝑞𝑚 − 1)-tuple c𝑏(𝛼

𝑖) is called the binarylocation-vector of the field element 𝛼𝑖. The binary location-vector of the 0-element of GF(𝑞𝑚) is defined as the all-zero(𝑞𝑚 − 1)-tuple, c𝑏(0) = (0, 0, . . . , 0).

Let 𝛿 be a nonzero element of GF(𝑞𝑚). Then the binarylocation-vector c𝑏(𝛼𝛿) of the field element 𝛼𝛿 is the cyclic-shift (one place to the right) of the binary location-vector c𝑏(𝛿)of 𝛿. Form a (𝑞𝑚−1)×(𝑞𝑚−1) matrix B(𝛿) over GF(2) withthe binary location-vectors of 𝛿, 𝛼𝛿, . . . , 𝛼𝑞𝑚−2𝛿 as the con-secutive rows. Matrix B(𝛿) is a (𝑞𝑚−1)× (𝑞𝑚−1) circulantpermutation matrix (CPM) over GF(2) and is referred to as the(𝑞𝑚−1)-fold binary matrix dispersion of 𝛿. The binary matrixdispersion of the 0-element of GF(𝑞𝑚) is a (𝑞𝑚−1)×(𝑞𝑚−1)zero matrix.

Definition 2. For each nonzero element 𝛼𝑖 in GF(𝑞𝑚) with0 ≤ 𝑖 < 𝑞𝑚 − 1, we form a (𝑞𝑚 − 1)-tuple over GF(𝑞𝑚),c𝑞𝑚 (𝛼𝑖) = (𝑓0, 𝑓1, . . . , 𝑓𝑞𝑚−2), whose components corre-spond to the 𝑞𝑚−1 nonzero components of GF(𝑞𝑚), where the𝑖th component 𝑓𝑖 = 𝛼𝑖 and all the other components are equalto zero. This (𝑞𝑚 − 1)-tuple c𝑞𝑚(𝛼𝑖) over GF(𝑞𝑚) is calledthe 𝑞𝑚-ary location-vector of the field element 𝛼𝑖. The 𝑞𝑚-arylocation-vector of the 0-element of GF(𝑞) is again defined asthe all-zero (𝑞𝑚 − 1)-tuple, c𝑞𝑚(0) = (0, 0, . . . , 0).

Let 𝛿 be a nonzero element of GF(𝑞𝑚). Then the 𝑞𝑚-arylocation-vector c𝑞𝑚(𝛼𝛿) of the element 𝛼𝛿 is the right cyclic-shift of the 𝑞𝑚-ary location-vector c𝑞𝑚 (𝛿) of 𝛿 multiplied by𝛼. Form a (𝑞𝑚 − 1) × (𝑞𝑚 − 1) matrix Q(𝛿) over GF(𝑞𝑚)with the 𝑞𝑚-ary location-vectors of 𝛿, 𝛼𝛿, . . . , 𝛼𝑞𝑚−2𝛿 as theconsecutive rows. Matrix Q(𝛿) is a special type of CPM overGF(𝑞𝑚) for which each row is the right cyclic-shift of therow above it multiplied by 𝛼 and the first row is the rightcyclic-shift of the last row multiplied by 𝛼. Such a CPM iscalled a 𝛼-multiplied CPM over GF(𝑞𝑚). Q(𝛿) is referred toas the (𝑞𝑚−1)-fold 𝑞𝑚-ary matrix dispersion of 𝛿. The 𝑞𝑚-arymatrix dispersion Q(0) of the 0-element is a zero matrix.B(𝛿) and Q(𝛿) give two (𝑞𝑚 − 1) × (𝑞𝑚 − 1) CPM

representations of a nonzero element 𝛿 of the field GF(𝑞𝑚),one over GF(2) and the other over GF(𝑞𝑚), with respect tothe multiplicative group of GF(𝑞𝑚).

B. Code Construction

Definition 3. Let W = [𝑤𝑖,𝑗 ]0≤𝑖<𝑘,0≤𝑗<𝑛 be a 𝑘 × 𝑛 matrixover GF(𝑞𝑚) with w0,w1, . . . ,w𝑘−1 as its rows, where the𝑖th row w𝑖 = (𝑤𝑖,0, 𝑤𝑖,1, . . . , 𝑤𝑖,𝑛−1). Let 𝛼 be a primitiveelement of GF(𝑞𝑚). The matrix W is said to satisfy the 𝛼-multiplied row distance (RD)-constraint if for 0 ≤ 𝑖, 𝑗 < 𝑘,𝑖 ∕= 𝑗 and 0 ≤ 𝑐, 𝑙 < 𝑞𝑚 − 1, the Hamming distance betweenthe two 𝑞𝑚-ary 𝑛-tuples, 𝛼𝑐w𝑖 and 𝛼𝑙w𝑗 , is at least 𝑛 − 1,(i.e., 𝛼𝑐w𝑖 and 𝛼𝑙w𝑗 differ in at least 𝑛 − 1 places). W iscalled a 𝛼-multiplied RD-constrained matrix.

For 0 ≤ 𝑖 < 𝑘 and 0 ≤ 𝑗 < 𝑛, dispersing each non-zeroentry 𝑤𝑖,𝑗 of W into a binary (𝑞𝑚 − 1) × (𝑞𝑚 − 1) CPMB𝑖,𝑗 = B(𝑤𝑖,𝑗) and a zero entry of W into a (𝑞𝑚 − 1) ×(𝑞𝑚 − 1) zero matrix, we obtain the following 𝑘× 𝑛 array of(𝑞𝑚 − 1)× (𝑞𝑚 − 1) CP and/or zero matrices over GF(2):

H𝑏 = [B𝑖,𝑗 ]0≤𝑖<𝑘,0≤𝑗<𝑛. (1)

Similarly, dispersing each nonzero entry 𝑤𝑖,𝑗 of W into a𝑞𝑚-ary (𝑞𝑚−1)×(𝑞𝑚−1) 𝛼-multiplied CPM Q𝑖,𝑗 = Q(𝑤𝑖,𝑗)and a zero entry of W into a (𝑞𝑚 − 1) × (𝑞𝑚 − 1) zeromatrix, we obtain the following 𝑘 × 𝑛 array of 𝛼-multiplied(𝑞𝑚 − 1)× (𝑞𝑚 − 1) CP and/or zero matrices over GF(𝑞𝑚):

H𝑞𝑚 = [Q𝑖,𝑗 ]0≤𝑖<𝑘,0≤𝑗<𝑛. (2)

The arrays, H𝑏 and H𝑞𝑚 , are called the binary and 𝑞𝑚-ary(𝑞𝑚−1)-fold array dispersions of W, respectively, and W isreferred to as the base matrix. They are 𝑘(𝑞𝑚−1)×𝑛(𝑞𝑚−1)matrices over GF(2) and GF(𝑞𝑚), respectively.

Theorem 1. Let 𝛼 be a primitive element of GF(𝑞𝑚). Let H𝑏

and H𝑞𝑚 be the binary and the 𝑞𝑚-ary (𝑞𝑚 − 1)-fold arraydispersions of a base matrix W over GF(𝑞𝑚) that satisfies the

Page 3: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

KANG et al.: QUASI-CYCLIC LDPC CODES: AN ALGEBRAIC CONSTRUCTION 1385

𝛼-multiplied RD-constraint defined in Definition 3. Then, H𝑏

and H𝑞𝑚 satisfy the RC-constraint.

Proof: The theorem follows directly from the definitionsof the location vectors and the (𝑞𝑚−1)-fold matrix dispersionsof the elements of the field GF(𝑞𝑚) and the 𝛼-multiplied RD-constraint imposed on the rows of the base matrix W ( adetailed proof is similar to the proof of the theorem 1 givenin [9]).

Since H𝑏 and H𝑞𝑚 satisfy the RC-constraint, their associ-ated Tanner graphs have girth at least of 6. For any pair (𝛾, 𝜌)of integers with 1 ≤ 𝛾 ≤ 𝑘 and 1 ≤ 𝜌 ≤ 𝑛, let H𝑏(𝛾, 𝜌) andH𝑞𝑚(𝛾, 𝜌) be 𝛾 × 𝜌 subarrays of H𝑏 and H𝑞𝑚 , respectively.H𝑏(𝛾, 𝜌) and H𝑞𝑚(𝛾, 𝜌) are 𝛾(𝑞𝑚− 1)× 𝜌(𝑞𝑚− 1) matricesover GF(2) and GF(𝑞𝑚), respectively, and both satisfy theRC-constraint. The null spaces over GF(2) and GF(𝑞𝑚) ofH𝑏(𝛾, 𝜌) and H𝑞𝑚(𝛾, 𝜌) give binary QC-LDPC code 𝒞𝑏,𝑞𝑐and 𝑞𝑚-ary QC-LDPC code 𝒞𝑞𝑚,𝑞𝑐, respectively. Both codesare of length 𝜌(𝑞𝑚 − 1) with rate at least (𝜌 − 𝛾)/𝜌, whoseTanner graphs have girth of at least 6. The second subscript“qc” of 𝒞𝑏,𝑞𝑐 and 𝒞𝑞𝑚,𝑞𝑐 stands for “quasi-cyclic”. If H𝑏(𝛾, 𝜌)and H𝑞𝑚(𝛾, 𝜌) have constant column and row weights, thenboth codes are regular QC-LDPC codes.

The above constructions of binary and non-binary QC-LDPC codes are based on the binary and non-binary arraydispersions of a 𝛼-multiplied RD-constrained matrix W. Wecall this 𝛼-multiplied RD-constrained matrix a base matrix forcode construction. Any matrix over a finite field which satisfiesthe 𝛼-multiplied RD-constraint can be used in conjunctionwith array dispersions to construct binary and non-binary QC-LDPC codes.

C. Masking

A set of CPMs in a chosen 𝛾×𝜌 subarray H𝑏(𝛾, 𝜌) = [B𝑖,𝑗 ]of the array H𝑏 given by (1) can be replaced by a set ofzero matrices. This replacement is referred to as masking [7],[11]. Masking results in a sparser matrix whose associatedTanner graph has fewer edges and hence fewer short cycles andprobably a larger girth than that of the associated Tanner graphof the original 𝛾×𝜌 subarray H𝑏(𝛾, 𝜌). To carry out masking,we first design a low density 𝛾 × 𝜌 matrix Z(𝛾, 𝜌) = [𝑧𝑖,𝑗 ]over GF(2). Then take the following matrix product:

M𝑏(𝛾, 𝜌) = Z(𝛾, 𝜌)×H𝑏(𝛾, 𝜌) = [𝑧𝑖,𝑗B𝑖,𝑗 ],

where 𝑧𝑖,𝑗B𝑖,𝑗 = B𝑖,𝑗 for 𝑧𝑖,𝑗 = 1 and 𝑧𝑖,𝑗B𝑖,𝑗 = O (a(𝑞𝑚−1)×(𝑞𝑚−1) zero matrix) for 𝑧𝑖,𝑗 = 0. We call Z(𝛾, 𝜌)the masking matrix, H𝑏(𝛾, 𝜌) the base array and M𝑏(𝛾, 𝜌)the masked array. Since the base array H𝑏(𝛾, 𝜌) satisfies theRC-constraint, the masked array M𝑏(𝛾, 𝜌) also satisfies theRC-constraint, regardless of the masking matrix. Hence, theassociated Tanner graph of the masked matrix M𝑏(𝛾, 𝜌) has agirth at least 6. The null space of the masked array M𝑏(𝛾, 𝜌)gives a new binary QC-LDPC code.

If a 𝑞𝑚-ary 𝛾 × 𝜌 subarray H𝑞𝑚(𝛾, 𝜌) = [Q𝑖,𝑗 ] of H𝑞𝑚

given by (2) is used for masking, we obtain the following𝛾 × 𝜌 masked array of 𝛼-multiplied (𝑞𝑚 − 1)× (𝑞𝑚 − 1) CPand zero matrices over GF(𝑞𝑚):

M𝑞𝑚(𝛾, 𝜌) = Z(𝛾, 𝜌)×H𝑞𝑚(𝛾, 𝛿) = [𝑧𝑖,𝑗Q𝑖,𝑗 ],

where 𝑧𝑖,𝑗Q𝑖,𝑗 = Q𝑖,𝑗 for 𝑧𝑖,𝑗 = 1 and 𝑧𝑖,𝑗Q𝑖,𝑗 = O.M𝑞(𝛾, 𝜌) is a 𝛾(𝑞𝑚 − 1) × 𝜌(𝑞𝑚 − 1) matrix over GF(𝑞𝑚).The null space over GF(𝑞𝑚) of M𝑞𝑚(𝛾, 𝜌) gives a new 𝑞𝑚-aryQC-LDPC code.

Masking is a very effective technique to construct verysparse parity-check matrices for structured LDPC codes. Thiswill be seen later. A masking matrix can be either regular orirregular.

III. A CLASS OF 𝛼-MULTIPLIED RD-CONSTRAINED

MATRICES

Consider the Galois field GF(𝑞𝑚) which is an extension fieldof GF(𝑞). Let 𝛼 be a primitive element of GF(𝑞𝑚). Then, the𝑚 elements of GF(𝑞𝑚), 𝛼0 = 1, 𝛼, 𝛼2, . . . , 𝛼𝑚−1, are linearlyindependent and they form a basis ℬ of GF(𝑞𝑚), called apolynomial basis. For 𝑖 = −∞, 1, 2, . . . , 𝑞𝑚−2, every element𝛼𝑖 of GF(𝑞𝑚) can be expressed as a linear combination of𝛼0, 𝛼, 𝛼2, . . . , 𝛼𝑚−1, as follows:

𝛼𝑖 = 𝑓𝑖,0𝛼0 + 𝑓𝑖,1𝛼+ ⋅ ⋅ ⋅+ 𝑓𝑖,𝑚−1𝛼

𝑚−1, (3)

with 𝑓𝑖,𝑗 ∈ GF(𝑞). Let 𝑡 be a nonnegative integer suchthat 0 ≤ 𝑡 ≤ 𝑚. Partition the 𝑚 linearly independentelements, 𝛼0, 𝛼, 𝛼2, ..., 𝛼𝑚−1, of the polynomial basis ℬinto two disjoint subsets, ℬ1 = {𝛼0 = 1, 𝛼, ..., 𝛼𝑡−1} andℬ2 = {𝛼𝑡, ..., 𝛼𝑚−1}. Let 𝒢1 = {𝛽0 = 0, 𝛽1, . . . , 𝛽𝑞𝑡−1} and𝒢2 = {𝛿0 = 0, 𝛿1, . . . , 𝛿𝑞𝑚−𝑡−1} be two additive subgroups ofGF(𝑞𝑚) spanned by the sets, ℬ1 and ℬ2, respectively. Then,each element 𝛽𝑖 in 𝒢1, 0 ≤ 𝑖 < 𝑞𝑡, is a linear combinationof the 𝑡 linearly independent elements, 𝛼0 = 1, 𝛼, ..., 𝛼𝑡−1,in ℬ1 and each element 𝛿𝑗 in 𝒢2, 0 ≤ 𝑗 < 𝑞𝑚−𝑡, is linearcombination of the 𝑚 − 𝑡 linearly independent elements,𝛼𝑡, ..., 𝛼𝑚−1, in ℬ2. It is clear that 𝒢1 ∩ 𝒢2 = {0} and𝒢1 + 𝒢2 = {𝛽𝑖 + 𝛿𝑗 : 0 ≤ 𝑖 < 𝑞𝑡, 0 ≤ 𝑗 < 𝑞𝑚−𝑡} = GF(𝑞𝑚).For 𝑡 = 0, 𝒢1 = {0} and 𝒢2 = GF(𝑞𝑚). For 𝑡 = 𝑚,𝒢1 = GF(𝑞𝑚) and 𝒢2 = {0}.

Let 𝑐 = 𝑞𝑚−𝑡 and 𝑛 = 𝑞𝑡. Form the following 𝑐× 𝑐 arrayof 𝑛× 𝑛 submatrices over GF(𝑞𝑚):

W𝑎𝑑𝑑,𝑐,𝑛 =

⎡⎢⎢⎢⎣

W0,0 W0,1 ⋅ ⋅ ⋅ W0,𝑐−1

W1,0 W1,1 ⋅ ⋅ ⋅ W1,𝑐−1

......

. . ....

W𝑐−1,0 W𝑐−1,1 ⋅ ⋅ ⋅ W𝑐−1,𝑐−1

⎤⎥⎥⎥⎦ , (4)

where for 0 ≤ 𝑖, 𝑗 < 𝑐, The subscript “add” of W𝑎𝑑𝑑,𝑐,𝑛

stands for “additive group”. Since 𝑐𝑛 = 𝑞𝑚, W𝑎𝑑𝑑,𝑐,𝑛 is a𝑞𝑚 × 𝑞𝑚 matrix over GF(𝑞𝑚).

From (5), we can readily see or prove that each submatrixW𝑖,𝑗 of W𝑎𝑑𝑑,𝑐,𝑛 has the following properties: 1) the entriesare formed based on one element 𝛿𝑗 − 𝛿𝑖 in the additivesubgroup 𝒢2 and all the 𝑛 elements of the additive subgroup𝒢1; 2) all the 𝑛 elements of a row (or a column) are distinctelements of GF(𝑞𝑚); 3) all the rows (or columns) correspondto the same coset of the subgroup 𝒢1 with coset leader 𝛿𝑗−𝛿𝑖,except with different permutations of the elements; 4) 𝑘th row(or 𝑘th column) is obtained by adding the 𝑘th element 𝛽𝑘 of𝒢1 to every entry of the top row (or the leftmost column)of W𝑖,𝑗 ; 5) any two rows (or two columns) differ in everyposition; 6) for 𝑖 ∕= 𝑗, all the entries in W𝑖,𝑗 are nonzeroelements of GF(𝑞𝑚); and 7) for 𝑖 = 𝑗, the entries on the

Page 4: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

1386 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010

W𝑖,𝑗 =

⎡⎢⎢⎢⎣

(𝛿𝑗 − 𝛿𝑖) + (𝛽0 − 𝛽0) (𝛿𝑗 − 𝛿𝑖) + (𝛽0 − 𝛽1) . . . (𝛿𝑗 − 𝛿𝑖) + (𝛽0 − 𝛽𝑛−1)(𝛿𝑗 − 𝛿𝑖) + (𝛽1 − 𝛽0) (𝛿𝑗 − 𝛿𝑖) + (𝛽1 − 𝛽1) . . . (𝛿𝑗 − 𝛿𝑖) + (𝛽1 − 𝛽𝑛−1)

......

. . ....

(𝛿𝑗 − 𝛿𝑖) + (𝛽𝑛−1 − 𝛽0) (𝛿𝑗 − 𝛿𝑖) + (𝛽𝑛−1 − 𝛽1) . . . (𝛿𝑗 − 𝛿𝑖) + (𝛽𝑛−1 − 𝛽𝑛−1)

⎤⎥⎥⎥⎦ . (5)

main diagonal of W𝑖,𝑖 are zeros and all the other entries arenonzero.

For 0 ≤ 𝑖 < 𝑐, 0 ≤ 𝑘 < 𝑛, every integer in{0, 1, 2, . . . , 𝑐𝑛 − 1 = 𝑞𝑚 − 1} can be expressed as 𝑖𝑛 + 𝑘.Let w𝑖𝑛+𝑘 denote the (𝑖𝑛+ 𝑘)th row of W. Then

w𝑖𝑛+𝑘 = (w𝑖,0,𝑘,w𝑖,1,𝑘, ...,w𝑖,𝑐−1,𝑘), (6)

which consists of 𝑐 sections, 𝑛 components each. For 0 ≤ 𝑗 <𝑐, the 𝑗th section w𝑖,𝑗,𝑘 of w𝑖𝑛+𝑘 is simply the 𝑘th row ofthe submatrix W𝑖,𝑗 of W𝑎𝑑𝑑,𝑐,𝑛. From (6) and the properties-6 and -7 of a submatrix W𝑖,𝑗 of W𝑐𝑦𝑐,𝑐,𝑛, we readily seethat w𝑖𝑛+𝑘 contains one and only one 0-component at the(𝑖𝑛 + 𝑘)th position (or at the 𝑘th position of the 𝑖th sectionw𝑖,𝑖,𝑘 of w𝑖𝑛+𝑘). The zero elements of two different rowsof W𝑎𝑑𝑑,𝑐,𝑛 reside at two different positions. It follows from(6) and property-5 of a submatrix W𝑖,𝑗 of W𝑎𝑑𝑑.𝑐,𝑛 that anytwo rows in W𝑎𝑑𝑑,𝑐,𝑛, as a 𝑞𝑚 × 𝑞𝑚 matrix over GF(𝑞𝑚),differ in every position. Based on properties-2 and -3 of eachsubmatrix W𝑖,𝑗 of W𝑎𝑑𝑑,𝑐,𝑛, we can easily prove that the 𝑞𝑚

components of each row (or each column) of W𝑎𝑑𝑑,𝑐,𝑛 aredistinct and form all the 𝑞𝑚 elements of GF(𝑞𝑚).

Theorem 2. The 𝑞𝑚×𝑞𝑚 matrix W𝑎𝑑𝑑,𝑐,𝑛 over GF(𝑞𝑚) givenby (4) satisfies the 𝛼-multiplied RD-constraints.

Proof: For 0 ≤ 𝑖1, 𝑖2 < 𝑐, 0 ≤ 𝑘1, 𝑘2 < 𝑛, and either𝑖1 ∕= 𝑖2 or 𝑘1 ∕= 𝑘2, let w𝑖1𝑛+𝑘1 and w𝑖2𝑛+𝑘2 be the (𝑖1𝑛 +𝑘1)th and the (𝑖2𝑛+𝑘2)th rows of W𝑎𝑑𝑑,𝑐,𝑛, respectively. Wewant to show that for 0 ≤ 𝑒, 𝑓 < 𝑞𝑚 − 1, the two 𝑞𝑚-tuplesover GF(𝑞𝑚), 𝛼𝑒w𝑖1𝑛+𝑘1 and 𝛼𝑓w𝑖2𝑛+𝑘2 , differ in at least𝑞𝑚−1 places. Suppose there are two different positions, 𝑗1𝑛+𝑠 and 𝑗2𝑛 + 𝑡 with 0 ≤ 𝑗1, 𝑗2 < 𝑐, 0 ≤ 𝑠, 𝑡 < 𝑛, and either𝑗1 ∕= 𝑗2 or 𝑠 ∕= 𝑡 (i.e., 𝑗1𝑛+ 𝑠 ∕= 𝑗2𝑛+ 𝑡), where 𝛼𝑒w𝑖1𝑛+𝑘1

and 𝛼𝑓w𝑖2𝑛+𝑘2 have identical nonzero components. Based onthis hypothesis, we have following two equalities: From thesetwo equalities, we obtain the following equality:

(𝛼𝑓 − 𝛼𝑒)((𝛿𝑗2 − 𝛿𝑗1) + (𝛽𝑠 − 𝛽𝑡)) = 0. (9)

The above equality implies that either 𝛼𝑓 = 𝛼𝑒 or 𝛿𝑗2−𝛿𝑗1 =𝛽𝑡−𝛽𝑠. Since 𝛿𝑗2−𝛿𝑗1 and 𝛽𝑡−𝛽𝑠 are elements in 𝒢1 and 𝒢2,respectively, and 𝒢1 ∩ 𝒢2 = {0}, equality 𝛿𝑗2 − 𝛿𝑗1 = 𝛽𝑡− 𝛽𝑠holds if and only if 𝑗2 = 𝑗1 and 𝑡 = 𝑠. Since 𝑗1𝑛 + 𝑠 ∕=𝑗2𝑛 + 𝑡, it is impossible that both equalities, 𝑗2 = 𝑗1 and𝑡 = 𝑠, hold simultaneously. Hence, 𝛿𝑗2 − 𝛿𝑗1 ∕= 𝛽𝑡 − 𝛽𝑠 and(𝛿𝑗2 − 𝛿𝑗1) + (𝛽𝑠 − 𝛽𝑡) ∕= 0. As a result, we must have 𝛼𝑓 =𝛼𝑒. In this case, it follows from (7) (or (8)) that we musthave 𝛿𝑖2 − 𝛿𝑖1 = 𝛽𝑘2 − 𝛽𝑘1 . Since 𝛿𝑖2 − 𝛿𝑖1 and 𝛽𝑘2 − 𝛽𝑘1

are elements in 𝒢1 and 𝒢2, respectively, and 𝒢1 ∩ 𝒢2 = {0},𝛿𝑖2 − 𝛿𝑖1 = 𝛽𝑘2 − 𝛽𝑘1 if and only if 𝑖2 = 𝑖1 and 𝑘2 = 𝑘1which contradict the fact that either 𝑖1 ∕= 𝑖2 or 𝑘1 ∕= 𝑘2.Hence, it is impossible for the equalities of (7) and (8) to holdsimultaneously. Consequently, our hypothesis that 𝛼𝑒w𝑖1𝑛+𝑘1

and 𝛼𝑓w𝑖2𝑛+𝑘2 have identical nonzero components at twodifferent positions is invalid. This proves the theorem.

A direct consequence of Theorem 2 is the following corol-lary.

Corollary 1. For 0 ≤ 𝑖, 𝑗 ≤ 𝑚, the 𝑛× 𝑛 matrix W𝑖,𝑗 overGF(𝑞𝑚) given by (5) satisfies the 𝛼-multiplied RD-constraint.

Consider the special case for which 𝑡 = 𝑚. In this case,𝑐 = 1 and 𝑛 = 𝑞𝑚. Then, 𝒢1 = GF(𝑞𝑚) = {𝛽0 = 0, 𝛽1 =𝛼0, 𝛽2 = 𝛼, ..., 𝛽𝑞𝑚−1 = 𝛼𝑞𝑚−2} and 𝒢2 = {0}. It followsfrom (4) and (5) that we have the following 𝛼-multiplied RD-constrained matrix over GF(𝑞𝑚):

Consider the (𝑞𝑚 − 1, 2, 𝑞𝑚 − 2) cyclic RS code 𝒞𝑅𝑆,2

over GF(𝑞𝑚) with two information symbols and minimumdistance 𝑞𝑚 − 2. It can be shown that (1, 𝛼, ..., 𝛼𝑞𝑚−2) and(𝛼𝑖, 𝛼𝑖, ..., 𝛼𝑖), 0 ≤ 𝑖 < 𝑞𝑚 − 1, are codewords of weight𝑞𝑚 − 1 in 𝒞𝑅𝑆,2 [4]. For 0 ≤ 𝑖 < 𝑞𝑚 − 1, the difference

(𝛼𝑖, 𝛼𝑖, ..., 𝛼𝑖)− (1, 𝛼, ..., 𝛼𝑞𝑚−2)= (𝛼𝑖 − 1, 𝛼𝑖 − 𝛼, ..., 𝛼𝑖 − 𝛼𝑞𝑚−2),

(11)

is a codeword of minimum weight 𝑞𝑚− 2 in 𝒞𝑅𝑆,2. Considerthe (𝑞𝑚 − 1) × (𝑞𝑚 − 1) matrix W∗

𝑎𝑑𝑑,0,𝑞𝑚 obtained byremoving the top row and leftmost column from W𝑎𝑑𝑑,0,𝑞𝑚

given by (10). Then,

W∗𝑎𝑑𝑑,0,𝑞𝑚 =

⎡⎢⎢⎢⎢⎣

1− 1 1− 𝛼 ... 1− 𝛼𝑞𝑚−2

𝛼− 1 𝛼− 𝛼 ... 𝛼− 𝛼𝑞𝑚−2

......

...𝛼𝑞𝑚−2 − 1 𝛼𝑞𝑚−2 − 𝛼 ... 𝛼𝑞𝑚−2 − 𝛼𝑞𝑚−2

⎤⎥⎥⎥⎥⎦.

(12)

From (11) and (12), we see that 𝑞𝑚−1 rows (or columns) ofW∗

𝑎𝑑𝑑,0,𝑞𝑚 are 𝑞𝑚−1 codewords of weight 𝑞𝑚−2 in the cyclicRS code 𝒞𝑅𝑆,2. W∗

𝑎𝑑𝑑,0,𝑞𝑚 is simply a variation of the matrixW(1) for constructing QC-LDPC codes given by (4) in [7].The rows of W𝑎𝑑𝑑,0,𝑞𝑚 given by (10) are simply the minimumweight codewords of the extended code of the cyclic RS code𝒞𝑅𝑆,2, obtained by adding an overall parity-check symbol toeach codeword in 𝐶𝑅𝑆,2. Hence, W𝑎𝑑𝑑,0,𝑞𝑚 is an expansion ofthe matrix W(1) given by (4) in [7]. In fact, the 𝑞𝑚×𝑞𝑚 arrayof CPMs obtained by dispersing W𝑎𝑑𝑑,0,𝑞𝑚 can be regardedas the quasi-cyclic version of the array of permutation matricesconstructed based on the extended (𝑞𝑚,2,𝑞𝑚−1) RS code overGF(𝑞𝑚) constructed in [12].

If we take the first columns from the submatricesW0,0,W0,1, . . . ,W0,𝑐−1, we obtain the following 𝑛 × 𝑐submatrix of W𝑎𝑑𝑑,𝑐,𝑛:

W =

⎡⎢⎢⎣

0 𝛿1 𝛿2 ⋅ ⋅ ⋅ 𝛿𝑐−1

𝛽1 𝛽1 + 𝛿1 𝛽1 + 𝛿2 ⋅ ⋅ ⋅ 𝛽1 + 𝛿𝑐−1

......

.... . .

...𝛽𝑛−1 𝛽𝑛−1 + 𝛿1 𝛽𝑛−1 + 𝛿2 ⋅ ⋅ ⋅ 𝛽𝑛−1 + 𝛿𝑐−1

⎤⎥⎥⎦ ,

(13)

Page 5: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

KANG et al.: QUASI-CYCLIC LDPC CODES: AN ALGEBRAIC CONSTRUCTION 1387

𝛼𝑒((𝛿𝑗1 − 𝛿𝑖1) + (𝛽𝑘1 − 𝛽𝑠)) = 𝛼𝑓 ((𝛿𝑗1 − 𝛿𝑖2) + (𝛽𝑘2 − 𝛽𝑠)), (7)

𝛼𝑒((𝛿𝑗2 − 𝛿𝑖1) + (𝛽𝑘1 − 𝛽𝑡)) = 𝛼𝑓 ((𝛿𝑗2 − 𝛿𝑖2) + (𝛽𝑘2 − 𝛽𝑡)). (8)

W𝑎𝑑𝑑,0,𝑞𝑚 =

⎡⎢⎢⎢⎢⎢⎣

0− 0 0− 1 0− 𝛼 ... 0− 𝛼𝑞𝑚−2

1− 0 1− 1 1− 𝛼 ... 1− 𝛼𝑞𝑚−2

𝛼− 0 𝛼− 1 𝛼− 𝛼 ... 𝛼− 𝛼𝑞𝑚−2

......

......

𝛼𝑞𝑚−2 − 0 𝛼𝑞𝑚−2 − 1 𝛼𝑞𝑚−2 − 𝛼 ... 𝛼𝑞𝑚−2 − 𝛼𝑞𝑚−2

⎤⎥⎥⎥⎥⎥⎦. (10)

where 𝑐 = 𝑞𝑚−𝑡 and 𝑛 = 𝑞𝑡. Each row of W is simplya coset of the additive group 𝒢2 = {𝛿0 = 0, 𝛿1, ..., 𝛿𝑐−1}.This is exactly the base matrix W(2) given by (5) of [9] fordispersion to construct QC-LDPC codes. If we take the firstrows of the submatrices W0,0,W1,0, ...,W𝑐−1,0, we obtain a𝑐× 𝑛 matrix over GF(𝑞𝑚) whose rows are simply the cosetsof the additive group of 𝒢1 = {𝛽0 = 0, 𝛽1, ..., 𝛽𝑛−1}. Again,this matrix is structurally identical to the base matrix W(2)

given by (5) of [9]. Therefore, the base matrix W𝑎𝑑𝑑,𝑐,𝑛 isa large expansion of the base matrix W(2) given by (5) ofreference [9].

IV. A CLASS OF BINARY QC-LDPC CODES

Dispersing each nonzero entry of the 𝛼-multiplied RD-constrained 𝑞𝑚 × 𝑞𝑚 matrix W𝑎𝑑𝑑,𝑐,𝑛 given by (4) into abinary 𝑞𝑚 × 𝑞𝑚 CPM over GF(2) and each 0-entry into a𝑞𝑚× 𝑞𝑚 zero matrix, we obtain the following 𝑞𝑚× 𝑞𝑚 arrayof binary (𝑞𝑚 − 1)× (𝑞𝑚 − 1) CP and zero matrices:

H𝑏,𝑎𝑑𝑑,𝑐,𝑛 = [B𝑖,𝑗 ]0≤𝑖<𝑞𝑚,0≤𝑗<𝑞𝑚 , (14)

where B0,0 = B1,1 = . . . = B𝑞𝑚−1,𝑞𝑚−1 = O (a(𝑞𝑚 − 1) × (𝑞𝑚 − 1) zero matrix). The array H𝑏,𝑎𝑑𝑑,𝑐,𝑛

is a 𝑞𝑚(𝑞𝑚 − 1) × 𝑞𝑚(𝑞𝑚 − 1) matrix over GF(2) withboth column and row weights 𝑞𝑚 − 1. Since W𝑎𝑑𝑑,𝑐,𝑛 sat-isfies the 𝛼-multiplied RD-constraint, H 𝑏,𝑎𝑑𝑑,𝑐,𝑛 satisfies theRC-constraint. Consequently, the associated Tanner graph ofH𝑏,𝑎𝑑𝑑,𝑐,𝑛 has a girth of at least 6.

For any pair (𝛾, 𝜌) of integers with 1 ≤ 𝛾, 𝜌 ≤ 𝑞𝑚,let H𝑏,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) be a 𝛾 × 𝜌 subarray of H𝑏,𝑎𝑑𝑑,𝑐,𝑛.H𝑏,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) is a 𝛾(𝑞𝑚 − 1) × 𝜌(𝑞𝑚 − 1) matrix overGF(2) and it also satisfies the RC-constraint. The null space ofH𝑏,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) gives a binary QC-LDPC code 𝒞𝑏,𝑞𝑐 of length𝜌(𝑞𝑚 − 1) with rate at least (𝜌 − 𝛾)/𝜌, whose Tanner graphhas a girth of at least 6. If H𝑏,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) does not containsany zero matrix of H𝑏,𝑎𝑑𝑑,𝑐,𝑛, it has constant column and rowweights, 𝛾 and 𝜌, respectively. Then, 𝒞𝑏,𝑞𝑐 is a binary (𝛾, 𝜌)-regular QC-LDPC code with minimum distance at least 𝛾+1.If H𝑏,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) contains zero matrices of H𝑏,𝑎𝑑𝑑,𝑐,𝑛, it hastwo different column weights, 𝛾−1 and 𝛾, and/or two differentrow weights, 𝜌 − 1 and 𝜌. In this case, the null space ofH𝑏,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) gives a near-regular binary QC-LDPC code.

For a given field GF(𝑞𝑚), the above construction gives afamily of structurally compatible binary QC-LDPC codes withdifferent lengths, rates and minimum distances. Consequently,the construction gives a large class of binary QC-LDPC codes.This is very similar to the class of BCH codes [6]. For

any given field, we can construct a family of structurallycompatible binary BCH codes with different rates, error-correcting capabilities and lengths (including primitive andnon-primitive BCH codes).

In the following, we use three examples to illustrate theconstruction of QC-LDPC codes given above. Several regularand irregular codes are constructed. To compute the errorperformances of the constructed codes over the binary-inputAWGN channel, we assume BPSK signaling and use the SPAfor decoding. The maximum number of decoding iterationsis set to 50. For every QC-LDPC code constructed in theexamples, we compare its error performance with that of acorresponding pseudo-random (or random) QC-LDPC codeof the same rate, the same length, the same column and rowweights (or weight distributions) of the parity-check matrix.To this end, we choose the PEG-algorithm [13] using liftingwith circulant permutation matrices for constructing pseudo-random QC-LDPC codes (equivalent to protograph-basedcodes [14], [4]). For constructing irregular pseudo-randomQC-LDPC codes, the PEG-algorithm is used in conjunctionwith the ACE-algorithm [15], [4] to lower the error-floors. Forsimplicity, we call the combination of the PEG- and the ACE-algorithms the PEG/ACE-algorithm. It is a computer-basedalgorithm. Pseudo-random codes constructed using the PEG-algorithm or the PEG/ACE-algorithm are commonly used forcomparison with codes constructed by other methods becausethey, in general, have good waterfall performance and lowererror-floors. In two cases, we also include MacKay randomcodes [3] for comparison. Also in one case, we compareone constructed code with a DVB-S2 standard code. Theobjective of these comparisons is to show that the LDPCcodes constructed with the algebraic method presented inthis paper, besides their systematic (or deterministic) andsimple construction and inherent algebraic structure, such asthe quasi cyclic structure, can outperform or perform justas well as pseudo-random codes constructed by one of thebest computer-based methods. Furthermore, for each algebraicQC-LDPC code constructed, its sphere-packing bound is alsoevaluated for comparison to show the effectiveness of thealgebraically constructed codes. For the two irregular algebraicQC-LDPC codes given in Examples 2 and 3, their thresholdsare also computed for comparison.

Example 1. Choose 𝑞 = 2 and 𝑚 = 6. Let GF(26) be thefield (an extension field of GF(2)) for code construction. Let𝛼 be a primitive element of GF(26). Then 𝛼0, 𝛼, 𝛼2, 𝛼3, 𝛼4

and 𝛼5 form a polynomial basis for GF(26). Set 𝑡 = 3. Then

Page 6: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

1388 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010

3 4 5 6 7 8 910

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BLE

R/B

ER

(4032,3708) BLER(4032,3708) (PEG) BLER(4032,3708) Random BLER(4032,3708) BER(4032,3708) (PEG) BER(4032,3708) Random BERSphere−packing boundShannon limit

Fig. 1. Error performances of the (4032,3708) QC-LDPC code and a(4032,3708) pseudo-random code and a (4032,3708) random MacKay codegiven in Example 1, where BER and BLER stand for bit and block errorrates, respectively

𝑚 − 𝑡 = 3. Let 𝒢1 = {𝛽0 = 0, 𝛽1, . . . , 𝛽7} and 𝒢2 = {𝛿0 =0, 𝛿1, . . . , 𝛿7} be the additive subgroups of GF(26) spanned by{𝛼0, 𝛼, 𝛼2} and {𝛼3, 𝛼4, 𝛼5}, respectively. Based on (4) and(5), we form a 𝛼-multiplied RD-constrained 64 × 64 matrixW𝑎𝑑𝑑,8,8 over GF(26) which consists of 8× 8 array of 8× 8submatrices over GF(26). Dispersing each nonzero entry inW𝑎𝑑𝑑,8,8 into a binary 63×63 CPM and each zero entry intoa 63×63 zero matrix, we obtain a 64×64 array H𝑏,𝑎𝑑𝑑,8,8 of63× 63 CP and zero matrices. For any pair (𝛾, 𝜌) of positiveintegers, with 1 ≤ 𝛾, 𝜌 ≤ 64, the null space of any 𝛾 ×𝜌 subarray H𝑏,𝑎𝑑𝑑,8,8(𝛾, 𝜌) of H𝑏,𝑎𝑑𝑑,8,8 gives a binary QC-LDPC code of length 63𝜌 with rate at least (𝜌− 𝛾)/𝜌.

Suppose we choose 𝛾 = 6 and 𝜌 = 64. Take a 6 × 64subarray H𝑏,𝑎𝑑𝑑,8,8(6, 64), say the first 6 rows, from thearray H𝑏,𝑎𝑑𝑑,8,8 given above. H𝑏,𝑎𝑑𝑑,8,8(6, 64) has 6 columns,each consisting of five 63 × 63 CPMs and a single 63 × 63zero matrix, and 58 columns, each consisting of 6 CPMs.Hence, H𝑏,𝑎𝑑𝑑,8,8(6, 64), as a 378 × 4032 matrix, has 378columns of weight 5 and 3654 columns of weight 6. Eachrow of H𝑏,𝑎𝑑𝑑,8,8(6, 64) has weight 63. The null space ofH𝑏,𝑎𝑑𝑑,8,8(6, 64) gives a near-regular (4032,3708) QC-LDPCcode with rate 0.92, a high rate code. The error performanceof this code over the binary-input AWGN channel decodedwith 50 iterations of the SPA is shown in Figure 1. At theblock error rate (BLER) of 10−5, the code performs 0.8 dBfrom the sphere-packing bound and at the bit error rate (BER)of 10−6, the code performs 1.2 dB from the Shannon limit.

For comparison, we construct a (4032,3708) pseudo-randomLDPC code with the PEG-algorithm. The parity-check matrixof this computer constructed pseudo-random LDPC code hasthe same column weight distribution as that of the parity-check matrix H𝑏,𝑎𝑑𝑑,8,8(6, 64) of the (4032,3708) QC-LDPCcode. It also has constant row weight 63. It is not a quasi-cyclic LDPC code. The error performance of this (4032,3708)pseudo-random LDPC code is also shown in Figure 1. We seethat the algebraic (4032,3708)) QC-LDPC code outperformsthe (4032,3708) pseudo-random LDPC code by more than

TABLE ICOLUMN AND ROW WEIGHT DISTRIBUTIONS OF THE MASKING MATRIX

Z(12, 64) IN EXAMPLE 2.

Column Weight Distribution Row Weight DistributionColumn weight No. of columns Row weight No. or rows

3 26 23 24 25 24 108 99 4

0.2 dB at the BER of 10−6. A random (4032,3708) MacKaycode is also constructed for comparison. Its error performancecurve with 50 iterations of SPA is on top of that of thepseudo-random (4032,3708) code constructed using the PEG-algorithm as shown in Figure 1. So the algebraic (4032,3708)QC-LDPC code outperforms both random codes in the BERrange from 10−1 to 10−6.

Example 2. In this example, we construct an irregular QC-LDPC code using irregular masking of a base array. Considerthe 64× 64 array H𝑏,𝑎𝑑𝑑,8,8 of 63× 63 CP and zero matricesconstructed based on the field GF(26) given in Example 1.Suppose we want to construct a code of length 4032 with a rateequal to or close to 0.82. We choose 𝛾 = 12 and 𝜌 = 64. Takea 12×64 subarray H𝑏,𝑎𝑑𝑑,8,8(12, 64) from H𝑏,𝑎𝑑𝑑,8,8 and usethis subarray as the base array for masking. Next, we constructa 12×64 masking matrix Z12,64 over GF(2) with column androw weight distributions close to the following variable-nodeand check-node degree distributions (node perspective) of aTanner graph which are designed for an irregular code withrate 0.82:

𝜆(𝑋) = 0.4052𝑋2 + 0.3927𝑋3 + 0.1466𝑋7 + 0.0555𝑋8,

𝜌(𝑋) = 0.0833𝑋20+0.1667𝑋21+0.3333𝑋22+0.4670𝑋23,

where the coefficient of 𝑋 𝑖 represents the percentage of nodeswith degree 𝑖+1. The column and row weight distributions ofthe masking matrix Z(12, 64) are given in Table I. Maskingthe base array H𝑏,𝑎𝑑𝑑,8,8 with Z(12, 64), we obtain a maskedarray M𝑏(12, 64) of CP and zero matrices of size 63×63. It isa 756×4032 matrix over GF(2) with average column and rowweights 4.468 and 23.83, respectively. The null space of thismatrix gives an irregular (4032,3276) QC-LDPC code withrate 0.8125. Its error performance with 50 iterations of theSPA is shown in Figure 2. At the BLER of 10−6, the codeperforms 0.8 dB from the sphere-packing bound. At the BERof 10−6, the code performs 0.75 dB from the (asymptotic)threshold and 1.3 dB from the Shannon limit. The estimatedminimum distance of this code is 34 through massive computercomputation combined with the search of an FPGA-decoder.

For comparison, we construct a pseudo-random irregular(4032,3276) QC-LDPC code with the PEG/ACE- algorithmusing the degree distributions given above. The error per-formance of this pseudo-random code is also included inFigure 2. We see that the performance curves of the algebraicirregular (4032,3276) QC-LDPC code and its correspondingpseudo-random code overlap with each other down to the BERof 10−8. Also included in Figure 2 is the error performanceof a (4032,3276) random MacKay code. The parity-checkmatrix of this random code is constructed by computer search

Page 7: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

KANG et al.: QUASI-CYCLIC LDPC CODES: AN ALGEBRAIC CONSTRUCTION 1389

2 2.5 3 3.5 4 4.5 5 5.5 610

−12

10−10

10−8

10−6

10−4

10−2

100

Eb/N

0 (dB)

BLE

R/B

ER

(4032,3276) BLER(4032,3276) BLER, FPGA(4032,3276) (PEG) BLER(4032,3276) Random BLER(4032,3276) BER(4032,3276) BER, FPGA(4032,3276) (PEG) BER(4032,3276) Random BERAsymptotic thresholdSphere−packing boundShannon limit

FPGA

FPGA

Fig. 2. Error performances of the algebraic (4032,3276) irregular QC-LDPC code, a (4032,3276) irregular pseudo-random QC-LDPC code and a(4032,3276) random MacKay code given in Example 2.

with column and row weight distributions given by Table 1.It satisfies the RC-constraint. We see the error performancecurve of this random code overlaps with the error performancecurves of the algebraic (4032,3276) QC-LDPC code andthe (4032,3276) pseudo-random QC-LDPC code constructedusing PEG/ACE-algorithm down to the BER of 3 × 10−7 (BLER of 2× 10−5) and then starts to have an error-floor.

An FPGA-based decoder (using a scaled min-sum algo-rithm) for the algebraic (4032,3276) QC-LDPC code has beenbuilt. With this decoder, we can compute the error performancedown to the BER of 10−11 and the BLER of 4×10−9 withouterror floor. The algebraic (4032,3276) QC-LDPC is a verygood code for a length of 4032.

Example 3. In this example, we construct two long codes andshow how close they perform to the Shannon limit. Choose𝑞 = 2 and 𝑚 = 8. Let GF(28) be the field for code construc-tion. Set 𝑡 = 4. Let 𝛼 be a primitive element of GF(28). Let 𝒢1and 𝒢2 be two additive subgroups spanned by {𝛼0, 𝛼, 𝛼2, 𝛼3}and {𝛼4, 𝛼5, 𝛼6, 𝛼7}, respectively. Based on 𝒢1, 𝒢2, (4) and(5), we construct a 256×256matrix W𝑎𝑑𝑑,16,16 which consistsof a 16×16 array of 16×16 submatrices over GF(28). Binarydispersing of the entries of W𝑎𝑑𝑑,16,16 results in a 256× 256RC-constrained array H𝑏,𝑎𝑑𝑑,16,16 of 255× 255 CP and zeromatrices. Set 𝛾 = 16 and 𝜌 = 256. Take a 16× 256 subarrayH𝑏,𝑎𝑑𝑑,16,16(16, 256) from H𝑏,𝑎𝑑𝑑,16,16. H𝑏,𝑎𝑑𝑑,16,16(16, 256)is 4080× 65280 matrix with column and row weights 16 and256, respectively.

Construct a 16 × 256 masking matrix Z(16, 256) thatconsists of sixteen 16×16 circulants, G1, . . . ,G16 over GF(2),in a row. The generators (top rows) of these circulants arelisted in Table II, each having weight 4. Z(16, 256) has columnand row weights 4 and 64, respectively. Masking the subarrayH𝑏,𝑎𝑑𝑑,16,16(16, 256) with Z(16, 256), we obtain a maskedarray M𝑏(16, 256) = Z(16, 256) ⊗ H𝑏,𝑎𝑑𝑑,16,16(16, 256).M𝑏(16, 256) is a 4080× 65280 matrix with column and rowweights 4 and 64, respectively. The null space of M𝑏(16, 256)

0 1 2 3 4 5 6 7 810

−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BLE

R/B

ER

(65280,61201) Reg, BLER(65280,61201) Reg, BER(65280,61201) Reg (PEG), BLER(65280,61201) Reg (PEG), BER(65280,32640) Irreg, BER(65280,32640) Irreg (PEG), BERDVB−S2 (64800,32400), BERDVB−S2 BCH+LDPC BERAsymptotic thresholdShannon limit

Fig. 3. Error performances of the (65280,61201) and (65280,32640) QC-LDPC codes given in Example 3.

TABLE IIGENERATORS OF THE CIRCULANTS IN THE REGULAR MASKING MATRIX

Z(16, 256) OF EXAMPLE 3

g1 = (0000000011000011) g2 = (1001000010000100)g3 = (0000101000011000) g4 = (0101000000010001)g5 = (0010110001000000) g6 = (1101000000000001)g7 = (0110100000000001) g8 = (1001100000010000)g9 = (0001001001100000) g10 = (1000001000001100)g11 = (0001100010000010) g12 = (0101001000000001)g13 = (0000010110000010) g14 = (1000010100001000)g15 = (0001000010010010) g16 = (0000010001010010)

give a binary (4, 64)-regular (65280, 61201) QC-LDPC codewith rate 0.9375. The performance of this code is shown inFigure 3. At the BER of 10−6, the code performs 0.53 dBfrom the Shannon limit. For comparison, we also construct a(4,64)-regular (65280,61201) pseudo-random QC-LDPC codewith the PEG/ACE-algorithm. The error performance of thispseudo-random QC-LDPC code is also shown in Figure 3. Wesee that the performance curves of the algebraic (65280,61201)QC-LDPC code and its corresponding pseudo-random codeoverlap with each other.

Suppose we want to construct a rate-1/2 irregular QC-LDPC code of length 65280 using masking. First, we choosea 128 × 256 subarray H𝑏,𝑎𝑑𝑑,16,16(128, 256) from the arrayH𝑏,𝑎𝑑𝑑,16,16. Next, we design a 128 × 256 masking matrixZ(128, 256) with column and row weight distributions closeto the following variable- and check-node degree distributions(node perspective) of a Tanner graph which are designed foran irregular code with rate 1/2:

𝜆(𝑋) = 0.4554𝑋 + 0.3433𝑋2 + 0.1603𝑋7 + 0.0409𝑋29,

𝜌(𝑋) = 0.1003𝑋7 + 0.8997𝑋8.

Masking the base array H𝑏,𝑎𝑑𝑑,16,16(128, 256) withZ(128, 256), we obtain a 128 × 256 masked arrayM𝑏(128, 256) which is a 32640 × 65280 matrix overGF(2). The actual column and row weight distributions ofZ(128, 256) are given in Table III. The null space of thismatrix gives an irregular (65280, 32640) QC-LDPC code.The error performance of this code with 50 iterations of theSPA is also shown in Figure 3. We see that at the BER of

Page 8: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

1390 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010

TABLE IIICOLUMN AND ROW WEIGHT DISTRIBUTIONS OF THE IRREGULAR

MASKING MATRIX Z(128, 256) IN EXAMPLE 3

Column Weight Distribution Row Weight DistributionColumn weight No. of columns Row weight No. or rows

2 116 8 33 89 9 1258 4030 11

10−6, the code performs 0.5 dB from the threshold and 0.55dB from the Shannon limit. The threshold and the Shannonlimit are very close to each other.

Again, for comparison, an irregular (65280,32640) pseudo-random QC-LDPC code is constructed using the PEG/ACE-algorithm based on the above variable- and check-node degreedistributions. The error performance of this pseudo-randomirregular LDPC code is also shown in Figure 3. We see thatthe (65280,61201) QC-LDPC code slightly outperforms the(65280,32640) irregular pseudo-random QC-LDPC code.

Also included in Figure 3 is the performance of theDVB-S2 standard (64800,32400) LDPC code [17] with andwithout a BCH outer code. The DVB-S2 code is an IRA(irregular repeat-accumulated) code. The BCH outer code isa (32400,32208) shortened BCH code which is capable ofcorrecting 12 or fewer random errors. The BCH outer code isused to push down the error-floor of the DVB-S2 LDPC code.We see that the (65280,32640) QC-LDPC code outperformsthe DVB-S2 code by 0.15 dB with or without BCH outer code.

V. DECODING OF A SUBCLASS OF BINARY QC-LDPCCODES WITH A BINARY MESSAGE-PASSING DECODING

ALGORITHM

Any RC-constrained (𝛾, 𝜌)-regular LDPC code whoseparity-check matrix has column weight 𝛾 is one-step majority-logic decodable and is capable of correcting ⌊𝛾/2⌋ or fewererrors with one-step majority-logic decoding (OSMLGD) [4],[6]. OSMLG is one of simplest hard-decision decoding meth-ods which requires basically binary operations. For an RC-constrained (𝛾, 𝜌)-regular LDPC code to be effective withOSMLGD , its parity-check matrix must have a reasonablylarge column weight.

For a given field GF(𝑞𝑚), let 𝒞𝑏,𝑞𝑐,𝑓 be the QC-LDPC codegiven by the null space of the entire RC-constrained arrayH𝑏,𝑎𝑑𝑑,𝑐,𝑛, where the subscript “𝑓” of 𝒞𝑏,𝑞𝑐,𝑓 stands for “fullarray”. In this case, the column weight of H𝑏,𝑎𝑑𝑑,𝑐,𝑛 is 𝑞𝑚−1and the minimum distance is of 𝒞𝑏,𝑞𝑐,𝑓 is at least 𝑞𝑚. Hence,H𝑏,𝑎𝑑𝑑,𝑐,𝑛 is capable of correcting ⌊(𝑞𝑚 − 1)/2⌋ or fewererrors with OSMLGD.

Example 4. Consider the 64 × 64 RC-constrained arrayH𝑏,𝑎𝑑𝑑,8,8 of CP and zero matrices of size 63×63 constructedbased on the field GF(26) given in Example 1. The entirearray H𝑏,𝑎𝑑𝑑,8,8 is a 4032 × 4032 matrix over GF(2) withboth column and row weights 63. The null space of H𝑏,𝑎𝑑𝑑,8,8

gives a (4032,3304) QC-LDPC code 𝒞𝑏,𝑞𝑐,𝑓 with rate 0.82.Since the column weight of H𝑏,𝑎𝑑𝑑,8,8 is 63, the minimumdistance of 𝒞𝑏,𝑞𝑐,𝑓 is at least 64. There is no known randomor pseudo-random code that has been constructed and proved

1 2 3 4 5 6 7 810

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BLE

R/B

ER

(4032,3304) SPA 50 BLER(4032,3304) SPA 50 BER(4032,3304) SPA 10 BLER(4032,3304) SPA 10 BER(4032,3304) SPA 5 BLER(4032,3304) SPA 5 BERSphere−packing boundShannon limit

Fig. 4. Error performance of the (4032,3304) QC-LDPC code given inExample 4.

to have such a large minimum distance. With OSMLGD, thecode is capable of correcting 31 or fewer errors. The errorperformances of the the code over the binary-input AWGNchannel decoded with the SPA with 5, 10 and 50 iterations areshown in Figure 4. We see that the decoding of this code withthe SPA converges very fast. The performance curves with10 and 50 iterations of the SPA practically overlap with eachother. At the BER of 10−6, the gap between the performancecurves of 5 and 50 iterations is about 0.2 dB. At the BLERof 10−5, the code performs 1.2 dB from the sphere-packingbound and the at the BER of 10−6, the code performs 1.65dB from the Shannon limit. If the code does not have trappingsets with size of smaller than 64, the code would have a veryvery low error-floor.

The above example shows that the parity-check matrixH𝑏,𝑎𝑑𝑑,8,8 of the (4032,3304) QC-LDPC code has a very largerow redundancy. The rank of H𝑏,𝑎𝑑𝑑,8,8 is 728, however, thenumber of rows of H𝑏,𝑎𝑑𝑑,8,8 is 4032. Therefore, there are3304 redundant (linearly dependent) rows. This is also truefor several other codes given by the null spaces of the fullarrays, such as the (240,160) and (992,750) QC-LDPC codesconstructed based on GF(24) and GF(25), respectively. Theparity-check matrices of these two codes have 160 and 750redundant rows, respectively.

The full array H𝑏,𝑎𝑑𝑑,𝑐,𝑛 constructed based on a largefield GF(𝑞𝑚) has a large number of 1-entries. Consequently,decoding the code 𝒞𝑏,𝑞𝑐,𝑓 given by the null space of H𝑏,𝑎𝑑𝑑,𝑐,𝑛

requires a large number of computations per iteration. Fortu-nately, decoding of such a code converges very fast. In general,5 iterations are enough to terminate the decoding. As a result,the total number of computations required to decode a receivedword may not be too large.

To reduce the decoding complexity while still maintaining agood error performance, we can decode the code 𝒞𝑏,𝑞𝑐,𝑓 withreliability-based decoding algorithms, such as binary message-passing (BMP) or weighted bit-flipping (WBF) decoding al-gorithms.

In the following, we present a binary message-passingdecoding algorithm that provides effective trade-off between

Page 9: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

KANG et al.: QUASI-CYCLIC LDPC CODES: AN ALGEBRAIC CONSTRUCTION 1391

error performance and decoding complexity. This algorithm isdevised based on the orthogonal check-sums concept used inone-step majority-logic decoding (OSMLGD) [6] in conjunc-tion with some kind of soft reliability measures of receivedbits. This algorithm requires very low decoding complexityand yet achieves very good error performance for the binaryQC-LDPC codes given by the full RC-contrained arraysconstructed in Section V, compared to the SPA.

Let 𝒞 be a binary (𝛾, 𝜌)-LDPC code of length 𝑛 givenby the null space of an RC-constrained 𝑘 × 𝑛 parity-checkmatrix H over GF(2) with column and row weights 𝛾 and𝜌, respectively. Let h0,h1, . . . ,h𝑘−1 denote the rows of H,where h𝑖 = (ℎ𝑖,0, ℎ𝑖,1, . . . , ℎ𝑖,𝑛−1) for 0 ≤ 𝑖 < 𝑘. Supposea codeword in 𝒞 is transmitted over the binary-input AWGNchannel with BPSK signalling. Let y = (𝑦0, 𝑦1, . . . , 𝑦𝑛−1)and z = (𝑧0, 𝑧1, . . . , 𝑧𝑛−1) be the unquantized soft-decisionand two-level quantized hard-decision received sequences,respectively. Each component of y is a real number and zis a 𝑛-tuple over GF(2). The first step of decoding is tocompute the syndrome of the hard-decision received sequencez, s = (𝑠0, 𝑠1, . . . , 𝑠𝑘−1) = zH𝑇 , where, for 0 ≤ 𝑖 < 𝑘, 𝑠𝑖 =z ⋅ h𝑖 = 𝑧0ℎ𝑖,0 + 𝑧1ℎ𝑖,1 + ⋅ ⋅ ⋅ + 𝑧𝑛−1ℎ𝑖,𝑛−1. The receivedsequence z is a codeword if and only if s = (0, 0, . . . , 0) (thezero 𝑘-tuple). We call 𝑠𝑖 a check-sum. For 0 ≤ 𝑗 < 𝑛, if areceived bit 𝑧𝑗 is contained in check-sum 𝑠𝑖, we say that 𝑧𝑗is checked by 𝑠𝑖.

Since the column weight of H is 𝛾, every received bit 𝑧𝑖is checked by exactly 𝛾 check-sums. Let 𝑆𝑗 denote the setof 𝛾 check-sums in the syndrome s that contains 𝑧𝑗 . SinceH satisfies the RC-constraint, no received bit other than 𝑧𝑗is checked by more than one check-sum in 𝑆𝑗 . The check-sums in 𝑆𝑗 are said to be orthogonal on 𝑧𝑗 [6]. For theOSMLGD, the 𝛾 orthogonal check-sums in 𝑆𝑗 are used todecode 𝑧𝑗 . If the number of nonzero check-sums in 𝑆𝑗 isgreater than ⌊𝛾/2⌋, 𝑧𝑗 is assumed to be erroneous and isdecoded into its one’s-complement, 1 + 𝑧𝑗 (the addition +is modulo-2 addition); otherwise, 𝑧𝑗 is assumed to be error-free and remains unchanged. If the received vector z contains⌊𝛾/2⌋ or fewer errors, the above decoding corrects all theerrors in z [6].

For 0 ≤ 𝑗 < 𝑛, define the following (integer) sum:

Γ𝑗 =∑𝑠𝑖∈𝑆𝑗

(2𝑠𝑖 − 1). (15)

It is easy to prove that Γ𝑗 > 0 if and only if a majority ofthe check-sums in 𝑆𝑗 assumes the value “1”. Using Γ𝑗 as thedecoding decision function, the OSMLGD rule can be restatedas follows: for 0 ≤ 𝑗 < 𝑛, the 𝑗th received bit 𝑧𝑗 is changed toits one’s-complement 1 + 𝑧𝑗 if Γ𝑗 > 0; otherwise, 𝑧𝑗 remainsunchanged.

Each check-sum 𝑠𝑖 in 𝑆𝑗 can be expressed as the followingmodulo-2 sum: 𝑠𝑖 = 𝑧𝑗+𝜎𝑖,𝑗 , where 𝜎𝑖,𝑗 is the modulo-2 sumof other received bits, excluding 𝑧𝑗 , that are checked by 𝑠𝑖.If we remove 𝑧𝑗 from each 𝑠𝑖 in Γ𝑗 , we obtain the followingsum:

𝜉𝑗 =∑𝑠𝑖∈𝑆𝑗

(2𝜎𝑖,𝑗 − 1). (16)

𝜉𝑗 is simply the total extrinsic-information contributed to thereceived bit 𝑧𝑗 by all the received bits, excluding 𝑧𝑗 , that

participate in the check-sums in 𝑆𝑗 orthogonal on 𝑧𝑗 . Thevalue of 𝜉𝑗 is an integer ranging from −𝛾 to +𝛾.

In decoding of a regular (𝛾, 𝜌)-regular LDPC code withthe OSMLD-algorithm, decoding of a received bit 𝑧𝑗 onlyuses the hard-decision value (0 or 1) of the received bit 𝑧𝑗and its extrinsic information 𝜉𝑗 obtained from the check-sumsthat are orthogonal on 𝑧𝑗 . The performance of the OSMLGDcan be significantly improved if some kind of soft reliabilityinformation of a received bit 𝑧𝑗 is included and an iterativeprocess is employed to improve the extrinsic information 𝜉𝑗and the reliability measure of 𝑧𝑗 [18], [19].

For each received bit 𝑧𝑗 , the magnitude ∣𝑦𝑗∣ of its corre-sponding unquantized sample 𝑦𝑗 can be used as a reliabilitymeasure of the hard-decision decoded bit 𝑧𝑗 . The largerthe ∣𝑦𝑗 ∣, the more reliable the hard-decision 𝑧𝑗 is. Supposethe samples of y are symmetrically clipped and uniformlyquantized into 2𝑏 intervals, symmetric with respect to theorigin. Each interval has a length of Δ and is representedby 𝑏 bits. For 0 ≤ 𝑗 < 𝑛, let 𝑞𝑗 denote the quantized valueof the sample 𝑦𝑗 which is an integer representation of one ofthe 2𝑏 − 1 quantization intervals. Therefore, the range of 𝑞𝑗is [−(2𝑏−1 − 1),+(2𝑏−1 − 1)]. If the magnitude ∣𝑦𝑗∣ exceedsthe quantization range, then we set ∣𝑞𝑗 ∣ = 2𝑏−1− 1. With thisquantization, the magnitude ∣𝑞𝑗 ∣ of the quantized sample 𝑞𝑗gives a measure of reliability of the hard-decision received bit𝑧𝑗 . Using this reliability measure ∣𝑞𝑗 ∣ of a received bit 𝑧𝑗 andits extrinsic information 𝜉𝑗 , an iterative reliability-based (IRB)majority-logic decoding (MLGD) algorithm can be developed.

To present the IRB-MLGD-algorithm, we need to de-fine some notations. Let 𝐼𝑚𝑎𝑥 be the maximum numberof iterations to be performed. For 0 ≤ 𝑙 ≤ 𝐼𝑚𝑎𝑥 and0 ≤ 𝑗 ≤ 𝑛, let: l) z(𝑙) = (𝑧

(𝑙)0 , 𝑧

(𝑙)1 , . . . , 𝑧

(𝑙)𝑛−1) denote the

received sequence generated in the 𝑙th decoding iteration; 2)s(𝑙) = (𝑠

(𝑙)0 , 𝑠

(𝑙)1 , . . . , 𝑠

(𝑙)𝑘−1) = z(𝑙)H𝑇 be the syndrome of z(𝑙);

3) 𝑆(𝑙)𝑗 be the set of check-sums orthogonal on the 𝑗th received

bit 𝑧(𝑙)𝑗 of z(𝑙); 4) 𝜎(𝑙)𝑖,𝑗 = 𝑠

(𝑙)𝑖 + 𝑧

(𝑙)𝑗 with 𝑠

(𝑙)𝑖 ∈ 𝑆

(𝑙)𝑗 ; 5) 𝜉(𝑙)𝑗

be the total extrinsic-information contributed to the receivedbit 𝑧(𝑙)𝑗 by all the received bits, excluding 𝑧(𝑙)𝑗 , that participate

in the check-sums in 𝑆(𝑙)𝑗 orthogonal on 𝑧

(𝑙)𝑗 ; and 5) 𝑅(𝑙)

𝑗 be

the reliability measure of the 𝑗th received bit 𝑧(𝑙)𝑗 . With theabove definitions, an IRB-MLGD algorithm can be devised asfollows [18], [19]:

Initiation: Set 𝑙 = 0, z(0) = z and the maximum numberof iterations to 𝐼𝑚𝑎𝑥. For 0 ≤ 𝑗 < 𝑛, set 𝑅(0)

𝑗 = 𝑞𝑗 .

1. Compute the syndrome s(𝑙) = (𝑠(𝑙)0 , 𝑠

(𝑙)1 , . . . , 𝑠

(𝑙)𝑘−1) =

z(𝑙)H𝑇 of z(𝑙). If s(𝑙) = 0, stop decoding and output z(𝑙)

as the decoded codeword.2. 𝑙 ← 𝑙 + 1. If 𝑙 = 𝐼𝑚𝑎𝑥, stop decoding and declare a

decoding failure.3. Update the reliability measures of all the received bits

in z(𝑙), 𝑅(𝑙+1)𝑗 = 𝑅

(𝑙)𝑗 + 𝜉

(𝑙)𝑗 for 0 ≤ 𝑗 < 𝑛. Store the

updated reliability measures of the received bits in z(𝑙).4. For 0 ≤ 𝑗 < 𝑛, make the following hard-decision: 1)𝑧(𝑙)𝑗 = 0, if 𝑅(𝑙)

𝑗 ≤ 0; and 2) 𝑧(𝑙)𝑗 = 1, if 𝑅(𝑙)𝑗 > 0. Form

a new received vector z(𝑙) = (𝑧(𝑙)0 , 𝑧

(𝑙)1 , . . . , 𝑧

(𝑙)𝑛−1). Go to

Step 1.

We can interpret the above IRB-MLGD algorithm in terms

Page 10: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

1392 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010

TABLE IVCOMPLEXITIES REQUIRED PER ITERATION FOR DECODING AN LDPC CODE WITH VARIOUS ITERATIVE DECODING ALGORITHMS

Decoding Algorithm Computation Cost per Iteration Memory RequirementBO IA RA RC RM Log Units (bits) RN

IRB-MLGD 2𝛿 + 𝑛−𝑚 𝛿 𝑚+ 𝑛𝑏ZF-WBF 𝛿 +𝑚 𝛿 𝛿 𝑛 𝑚 𝑛+𝑚

JZSC-WBF 𝛿 +𝑚 𝛿 2𝛿 𝑛 𝑚 𝑛+ 2𝑚SPA 𝛿 −𝑚 6𝛿 𝑛 𝛿

BO: Binary Operation; IA: Integer Addition; RA: RealAddition; RC: Real Comparison;RM: Real Multiplication; Log: Logarithm; RN: Real Number.Remark: The number of memory units required to store a real number depends on the number of bits used to representthe real number.

the Tanner graph of an LDPC code. Syndrome computation ofa received vector at Step 1 is carried out on the side of check-nodes. Reliability updating and hard-decisions of the receivedbits of a received vector at Steps 3 and 4 are carried out onthe side of variable-nodes. Also, the reliability measures of thereceived bits are stored on the side of variable nodes. Binarymessages, received bits and check-sums, are passed betweenvariable-nodes and check-nodes through the edges connectingthe two types of nodes. Therefore, the IRB-MLGD algorithmis a binary message-passing decoding algorithm.

The computational complexity of the IRB-MLGD algorithmis relatively simple. To compute the syndrome of a receivedvector at the first step, 𝑘(𝜌− 1) XOR (or modulo-2 addition)operations are required. To carry out Step 3 of the algorithm,we need: 1) 𝛾𝑛 XOR operations to form 𝜎

(𝑙)𝑖,𝑗 = 𝑠

(𝑙)𝑖 + 𝑧

(𝑙)𝑗

with 𝑠(𝑙)𝑖 ∈ 𝑆

(𝑙)𝑗 and 0 ≤ 𝑗 < 𝑛; 2) 𝑛(𝛾 − 1) integer

additions to compute extrinsic-information 𝜉(𝑙)𝑗 for 0 ≤ 𝑗 < 𝑛;and 3) 𝑛 integer additions to update the reliability measuresof the 𝑛 received bits. Step 4 requires 𝑛 tests of the signsof the updated reliability measures of the 𝑛 received bits.Testing the sign of an integer is also a logical operation.Note that 𝑘𝜌 = 𝑛𝛾 which is the number of 1-entries inthe parity-check matrix H. Let 𝜇 = 𝑘𝜌 = 𝑛𝛾. Then toperform one iteration of the IRB-MLGD algorithm, a totalof 2𝜇 + 𝑛 − 𝑘 logical operations and a total of 𝜇 integeradditions are required. Besides the computational complexity,the IRB-MLGD-algorithm also requires a memory to storethe integral reliability measures of the 𝑛 received bits of areceived vector. Since each integral reliability 𝑞𝑗 or its updatevalue is represented by 𝑏 bits. A memory of 𝑏𝑛 units is neededto store the reliability measures of the 𝑛 received bits of areceived vector. The size of memory required to store thereliability measures of the received bits depends on the numberof quantization levels.

Addition of two integers represented by two 𝑏-tuples overGF(2) can be accomplished with a 𝑏-bit binary adder usinglogic gates. Consequently, the IRB-MLGD-algorithm can beimplemented with combinational logic circuits. Basically, theIRB-MLGD-algorithm requires only logical operations. Tostore the reliability measures of 𝑛 received bits, 𝑏𝑛 flip-flopscan be used.

There are other reliability-based iterative algorithms. Wellknown algorithms of this type are weighted bit-flipping (WBF)algorithms. Among these WBF-algorithms, two best ones interms of error performance are the algorithms proposed in [20]and [21]. The WBF proposed in [20] was devised by Zhang

and Fossorier, called the ZF-WBF algorithm and the oneproposed in [21] was devised by Jiang, Zhao, Shi and Chen,called the JZSC-WBF-algorithm. The JZSC-WBF-algorithmperforms slightly better than the ZF-WBF-algorithm when thenumber of iterations is relatively large, say over 100 iterations;however, the ZF-WBF-algorithm requires less computationalcomplexity. Both ZF-WBF and JZSC-WBF-algorithms allowonly flipping one bit at a time and they converge slowly.

Table IV gives computational complexities and memorysizes of the IRB-MLGD algorithm, the ZF-WBF algorithm,the JZSC-WBF algorithm and the SPA. From Table IV, we seethat, the decoding complexity of the IRB-MLGD-algorithm issignificantly less than that of the ZF-WBF- and the JZSC-WBF-algorithms, and is much less than that of the SPA.Later in an example, we show that the IRB-MLGD-algorithmconverges much faster than the ZF-WBF- and the JZSC-WBF-algorithms and significantly outperforms them whenthe number of decoding iterations is small, say 50 or less.A significant feature of the IRB-MLGD-algorithm over theWBF-algorithms is that the received bits can be decoded infull or partially parallel to achieve very high decoding speedwhich is important in high-speed communication systems.

Example 5. Consider the binary (4032, 3304)QC-LDPC codegiven in Example 4 constructed based on the field GF(26). Theperformances of this code over the binary-input AWGN chan-nel decoded using IRB-MLGD algorithm and various otherdecoding algorithms with 50 iterations are shown in Figure5. For the IRB-MLGD, we use 8-bit uniform quantizationwith 256 levels and interval length Δ = 0.015. We see that,at a BER of 10−6, the code decoded with the IRB-MLGDalgorithm performs only 0.65 dB away from the SPA-decodingof the code with a tremendous reduction of computationalcomplexity (see Table IV). From Figure 5, we see that, with50 iterations, the IRB-MLGD significantly outperforms theZF-WBF and the JZSC-WBF algorithms (by almost 1 dBgain the BER of 10−6). The IRB-MLGD algorithm with 50iterations performs equally well as the JZSC-WBF and the ZF-WBF algorithms with 100 iterations. With the OSMLGD, the(4032,3304) QC-LDPC code can correct 31 or fewer randomerrors. The IRB-MLGD-algorithm achieve 1.5 dB coding gainover the OSMLGD-algorithm at the BER of 10−6.

VI. A CLASS OF NON-BINARY QC-LDPC CODES

If we disperse each nonzero entry of the 𝛼-multiplied RD-constrained matrix W𝑎𝑑𝑑,𝑐,𝑏 given by (4) into an 𝛼-multiplied

Page 11: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

KANG et al.: QUASI-CYCLIC LDPC CODES: AN ALGEBRAIC CONSTRUCTION 1393

2 3 4 5 6 7 8 9 1010

−8

10−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BE

RSPA 50 iterIRB−MLGD 50 iterOSMLGDZF−WBF 50 iterJZSC−WBF 50 iterZF−WBF 100 iterJZSC−WBF 100 iter

Fig. 5. Error performances of the (4032,3304) QC-LDPC code givenin Example 5 decoded using IRB-MLGD, ZF-WBF, JZSC-WBF and SPAalgorithms.

(𝑞𝑚−1)×(𝑞𝑚−1) CPM over GF(𝑞𝑚) and each 0-entry into a(𝑞𝑚−1)× (𝑞𝑚−1) zero matrix, we obtain the following RC-constrained 𝑞𝑚×𝑞𝑚 array of 𝛼-multiplied (𝑞𝑚−1)×(𝑞𝑚−1)CP and zero matrices over GF(𝑞𝑚):

H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛 = [Q𝑖,𝑗 ]0≤𝑖<𝑞𝑚,0≤𝑗<𝑞𝑚 , (17)

where Q0,0 = Q1,1 = . . . = Q𝑞𝑚−1,𝑞𝑚−1 = O. The arrayH𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛 is a 𝑞𝑚(𝑞𝑚 − 1) × 𝑞𝑚(𝑞𝑚 − 1) matrix overGF(𝑞𝑚) with both column and row weigths 𝑞𝑚− 1. Since thematrix W𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛 satisfies the 𝛼-multiplied RD-constraint,H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛 satisfies the RC-constraint.

For any pair (𝛾, 𝜌) of integers with 1 ≤ 𝛾, 𝜌 ≤ 𝑞𝑚,let H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) be a (𝛾, 𝜌) subarray of H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛.H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) is a 𝛾(𝑞𝑚 − 1) × 𝜌(𝑞𝑚 − 1) matrix overGF(𝑞𝑚) and it also satisfies the RC-constraint. The nullspace of H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) gives a 𝑞𝑚-ary QC-LDPC code𝒞𝑞𝑚,𝑞𝑐 over GF(𝑞𝑚) of length 𝜌(𝑞𝑚 − 1) with rate at least(𝜌 − 𝛾)/𝜌, whose Tanner graph has a girth of at least 6.If H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝜌) does not contain any zero matrix ofH𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛, it has constant column and row weights, 𝛾 and𝜌, respectively. Then 𝒞𝑞𝑚,𝑞𝑐 is a 𝑞𝑚-ary (𝛾, 𝜌)-regular QC-LDPC code over GF(𝑞𝑚). Since H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝛿) satisfies theRC-constraint and each column has 𝛾 nonzero components(elements in GF(𝑞𝑚)), a linear sum of any two columnsof H𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝛿) must result in a column vector with atleast 2𝛾 − 2 = 2(𝛾 − 1) nonzero components (or weight2𝛾 − 2 ), i.e., adding two columns linearly, at most onenonzero component in each column can be canceled. Basedon this fact, we readily see that no 𝛾 or fewer columns ofH𝑞𝑚,𝑎𝑑𝑑,𝑐,𝑛(𝛾, 𝛿) can be summed to a zero column vector.Consequently, the minimum distance (or minimum weight) of𝒞𝑞𝑚,𝑞𝑐 is at least 𝛾 + 1 (Corollary 3.2.2, [6]). For any givenfinite field GF(𝑞𝑚), the above construction gives a family ofstructurally-compatible 𝑞𝑚-ary QC-LDPC codes. Over all thefinite fields, the construction gives a large class of 𝑞𝑚-aryQC-LDPC codes.

Non-binary LDPC codes were first introduced by Gallagerin his 1962 landmark paper on LDPC codes [1]. Thirty-

six years later (1998), Davey and MacKay revisited non-binary LDPC codes [22] and generalized the sum-productalgorithm (SPA) for decoding binary LDPC codes to decode𝑞𝑚-ary LDPC codes with 𝑞 = 2, referred to as 𝑞𝑚-ary SPA(QSPA). To reduce the decoding computational complexity,MacKay and Dave devised a Fast Fourier Transform (FFT)based QSPA, called FFT-QSPA, in 2000 [23]. Their workon FFT-QSPA was later generalized by L. Barnault and D.Declercq [24] Fossorier and Declercq [25] to decode 𝑞𝑚-arywhere 𝑞 is any power of prime. In practical applications, 𝑞 isalmost always set to 2. The number of computations requiredper iteration of the FFT-QSPA in decoding a 𝑞𝑚-ary LDPCcode given by a 𝑘 × 𝑛 parity-check matrix with row weight(or average row weight) 𝜌 is in the order of 𝑘𝜌𝑞𝑚 log(𝑞𝑚),denoted 𝑂(𝑘𝜌𝑞𝑚 log(𝑞𝑚)).

Research interest in non-binary LDPC codes is currentlyon a rapid rise. Besides references [12], [22]-[25], references[26]-[45] give an additional list of publications on decod-ing, encoding, design and constructions of non-binary LDPCcodes. This list is definitely not inclusive. A recent book [4]contains a whole chapter on decoding and construction of non-binary LDPC codes. The above list of publications and [4],in some degree, reflects the current state of the art of non-binary LDPC codes. Although decoding of non-binary codesrequires larger computational complexity than decoding ofbinary codes, however, a major advantage of non-binary codesover the binary codes is that they are much more effective incorrecting combinations of random and bursts of errors (orerasures). A good example is the class of RS codes.

In the following, we use an example to demonstrate theabove construction of 𝑞𝑚-ary QC-LDPC codes with 𝑞 = 2.In transmission, bits representing the code symbols (𝑚 bitsper each code symbol) are transmitted. At the decoder, every𝑚 received bits are regrouped into a symbol in GF(2𝑚) fordecoding. In a group of 𝑚 received bits, it is immaterialwhether this group has one bit error or all the 𝑚 bits are inerror, it is counted as one symbol error. Therefore, correctionof an erroneous symbol is basically equivalent to correcting aburst of errors of length up to 𝑚 bits. This binary transmissionand symbol decoding of a non-binary LDPC code is veryeffective for correcting random bursts of errors for which abinary code is in general not effective unless interleaving orother burst correction technique is used in conjunction withthe code.

For a non-binary LDPC code constructed, we compute itserror performance over the AWGN channel decoded using theFFT-QSPA with 5, 10 and 50 iterations. Also, we compare itserror performance with that of an RS code of the same lengthand rate decoded with the Berlekamp-Massey (BM) algorithm[6] and the algebraic soft-decision (ASD) Kotter-Vardy (KV)-algorithm [10]. The ASD-KV-algorithm for decoding an RScode consists of three steps: multiplicity assignment, interpola-tion and factorization. The major computational complexity tocarry out the ASD-KV-algorithm comes from the interpolationstep (70%) and is 𝑂(⌊𝜆⌋4𝑛2) [46], [47], where 𝑛 is thelength of the code and 𝜆 is a complexity parameter that isdetermined by the interpolation cost of the multiplicity matrixconstructed in the multiplicity assignment step. As 𝜆 increases,the performance of the ASD-KV-algorithm improves and the

Page 12: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

1394 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010

computational complexity also increases. As 𝜆 approachesinfinity, the performance of the KV-algorithm reaches itslimit. The parameter 𝜆 is called the interpolation complexitycoefficient.

Example 6. Consider the 𝛼-multiplied RD-constrained matrixW𝑎𝑑𝑑,8,8 constructed based on GF(26) given in Example 1where 𝛼 is a primitive element of GF(26). Dispersing eachnonzero entry of W𝑎𝑑𝑑,8,8 into a 63× 63 𝛼-multiplied CPMover GF(26) and each zero entry into a 63×63 zero matrix, weobtain a 64×64 array H26,𝑎𝑑𝑑,8,8 of 63×63 𝛼-multiplied CPand zero matrices over GF(26) with the zero matrices on themain diagonal of H2,𝑎𝑑𝑑,8,8. Choose 𝛾 = 10 and 𝜌 = 20. Takean 10 × 20 sub-array H26,𝑎𝑑𝑑,8,8(10, 20) from H26,𝑎𝑑𝑑,8,8,avoiding zero matrices. We use H26,𝑎𝑑𝑑,8,8(10, 20) as thebase array for masking. Construct an 10× 20 masking matrixZ(10, 20) that consists of two 10 × 10 circulants, G1 andG2, in a row, each having both column and row weights 3.The generators of the two circulants in Z(10, 20) are: g1 =(0100110000) and g2 = (0100010010), respectively. MaskingH26,𝑎𝑑𝑑,8,8(10, 20) with Z(10, 20), we obtain a 10 × 20masked array M(10, 20) = Z(10, 20) ⊗ H26,𝑎𝑑𝑑,8,8(10, 20)which is a 630 × 1260 matrix over GF(26) with columnand row weights 3 and 6, respectively. The null space ofM(10, 20) gives a 64-ary (3, 6)-regular (1260, 630) QC-LDPC code over GF(26) with rate 0.5. The block errorperformances of this code over the AWGN channel decodedusing the FFT-QSPA with 5, 10 and 50 iterations are shownin Figure 6. At the BLER of 10−5, the code perform 1 dBfrom the sphere-packing bound. Figure 6 also includes theblock error performances of the (1260, 630, 631) shortenedRS code over GF(211) decoded with the BM-algorithm andthe ASD-KV-algorithm with interpolation complexity coef-ficients 4.99 and +∞, respectively. At the BLER of 10−5,the 64-ary (1260, 630) QC-LDPC code decoded with 50iterations of FFT-QSPA achieves a 4.1 dB coding gain overthe (1260, 630, 631) shortened RS code decoded with theBM-algorithm, while achieving 3.6 dB and 3.1 dB codinggains over the shortened RS code decoded with the ASD-KV-algorithm. With 10 iterations of FFT-QSPA, the 64-ary(1260, 630) QC-LDPC code has a 3.1 dB coding gain over the(1260, 630, 631) shortened RS code decoded using the ASD-KV-algorithm with interpolation complexity coefficient 4.99.

The numbers of computations required in decoding the 64-ary (1260, 630) QC-LDPC code with 10 and 50 iterations ofthe FFT-QSPA are 11, 612, 160 and 58, 060, 800, respectively.However, for decoding the (1260, 630, 631) shortened RS codeover GF(211) using the ASD-KV-algorithm with interpolationcomplexity coefficient 4.99, the number of computations tocarry out the interpolation step is in the order of 260, 112, 384which is much larger than 5, 806, 080 and 58, 060, 800.

A (3,6)-regular 64-arry (1260,630) random QC-LDPC isalso constructed using the PEG/ACE-algorithm for compari-son. Its block error performance is also included in Figure 6.We see that down to the BLER of 10−5, the block perfor-mances the algebraic 64-ary (1260,630) QC-LDPC code andthe random 64-arry (1260,630) QC-LDPC code are identical.We also compare the algebraic 64-ary (1260,630) QC-LDPCcode with two binary codes of the same rate. The first binary

0 2 4 6 8 10 12 1410

−6

10−5

10−4

10−3

10−2

10−1

100

Eb/N

0 (dB)

BLE

R

64−ary LDPC (1260,630) SPA5064−ary LDPC (1260,630) SPA1064−ary Random LDPC (1260,630) SPA50binary LDPC (1260,630) SPA50binary LDPC (7560,3780) SPA50binary LDPC (7560,3780) SPA10

RS (1260,630,631) over GF(211), KV (λ=∞)

RS (1260,630,631) over GF(211), KV (λ=4.99)

RS (1260,630,631) over GF(211), BMSphere−packing boundShannon limit

Fig. 6. Block error performances of the 64-ary (1260,630) QC-LDPC codeand the (1260,630,631) RS code over GF(211) given in Example 6.

code is a (3,6)-regular (1260,630) QC-LDPC code given bythe null space of a 10× 20 subarray H𝑏,𝑎𝑑𝑑,8,8(10, 20) of thearray H𝑏,𝑎𝑑𝑑,8,8 of CPMs over GF(2) given in Example 1,masked with the same masking matrix Z(10, 20) given above.The second binary code is a (3,6)-regular (7560,3780) pseudo-random QC-LDPC code constructed using the PEG-algorithm.This binary pseudo-random code corresponds to the binaryimage code of the algebraic 64-ary (1260,630) QC-LDPCcode. The block error performances of these two binary codesare also included in Figure 6. The error performance curveof the (1260,630) binary code drops slightly earlier than thealgebraic 64-ary (1260,630) QC-LDPC code but with a smallerslope and crosses the error performance curve of the 64-ary(1260,630) QC-LDPC code at the BLER of 2 × 10−2. Thealgebraic 64-ary (1260,630) QC-LDPC code performs betterthan the binary (1260,630) QC-LDPC code below the BLERof 10−2. The (7560,3780) binary code performs 0.2 dB betterthan the 64-ary (1260,630) QC-LDPC code.

VII. CONCLUSION AND REMARKS

In this paper, an algebraic method for constructing a largeand flexible class of RD-constrained matrices over finitefields has been presented. Using array dispersions of theRD-constrained matrices in this class in conjunction witharray masking, two large classes of binary and non-binaryQC-LDPC codes have been constructed. Experimental resultsshowed that the constructed codes, regular or irregular, de-coded with the SPA perform very well over the AWGN chan-nel. The constructed codes either outperform or perform just aswell as their corresponding pseudo-random codes constructedusing the PEG-algorithm (or the PEG/ACE-algorithm), oneof the best computer-based methods for constructing pseudo-random LDPC codes. We showed that the proposed con-struction of RD-constrained matrices over finite fields givesa broad generalization and extensive expansion of severalconstructions of RD-constrained matrices proposed in [7], [9]and [12]. The class of RD-constrained matrices over finitefields is by far the largest and most flexible class compared

Page 13: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

KANG et al.: QUASI-CYCLIC LDPC CODES: AN ALGEBRAIC CONSTRUCTION 1395

to the classes of RD-constrained matrices given in [7], [9]and [12]. We also constructed two long QC-LDPC codes, onehigh rate and one rate-1/2 codes, and showed that they performclose to the Shannon limit. The rate-1/2 code outperforms therate-1/2 DVB-S2 standard LDPC code with or without a BCHouter code. In one case, we showed that an algebraic irregularQC-LDPC code not only performs close to the Shannon limitbut also has no error-floor down to the BER of 10−11.

In this paper, we also identified a special subclass of theconstructed binary QC-LDPC codes. Codes in this subclasshave large minimum distances and they perform very wellwith a low-complexity BMP decoding algorithm.

Before we close this conclusion section, we would liketo make two remarks. First, based on the arrays of CPMsconstructed in this paper and using the techniques presented inSection X of [7] and Sections VI and VII of [48], large classesof binary and non-binary QC-LDPC codes for correctingbursts of erasures can be constructed. In [6] and [48], it wasshown that QC-LDPC codes constructed for correcting burstsof erasures also perform well over the AWGN channel. Indecoding such a code, the same parity-check matrix is usedno matter whether it is for the binary burst erasure channel orthe AWGN channel.

The second remark is that the 𝑞𝑚×𝑞𝑚 base matrix W𝑎𝑑𝑑,𝑐,𝑛

given by (4) actually forms a Latin square of order 𝑞𝑚. Anarray is called a Latin square of order 𝑛 if each row and eachcolumn contains every element of a set of 𝑛 elements exactlyonce [49]. Based on the structural properties of each submatrixW𝑖,𝑗 of W𝑎𝑑𝑑,𝑐,𝑛, we readily see that each submarix W𝑖,𝑗

of W𝑎𝑑𝑑,𝑐,𝑛 is a Latin square of order 𝑛. In fact, any squaresubarray of W𝑎𝑑𝑑,𝑐,𝑛 gives a Latin square. Latin squares forman important class of experimental designs in combinatorialmathematics.

REFERENCES

[1] R. G. Gallager, “Low density parity-check codes,” IRE Trans. Inf.Theory, vol. IT-8, no. 1, pp. 21–28, Jan. 1962.

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

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

[4] W. E. Ryan and S. Lin, Channel Codes: Classical and Modern.Cambridge University Press, 2009.

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

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

[7] 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. Inf. Theory, vol.53, no. 7, pp. 2429–2458, July 2007.

[8] L. Zeng, L. Lan, Y. Y. Tai, S. Song, S. Lin, and K. Abdel-Ghaffar,“Constructions of nonbinary quasi-cyclic LDPC codes: a finite fieldapproach,” IEEE Trans. Commun., vol. 56, no. 4, pp. 545–554, Apr.2008.

[9] 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

[10] R. Kotter and A. Vardy, “Algebraic soft-decision decoding of Reed-Solomon codes,” IEEE Trans. Inf. Theory, vol 49, no. 11, pp. 2809–2825, Nov. 2003.

[11] J. Xu, L. Chen, I. Djurdjevic, S. Lin, and K. Abdel-Ghaffar, “Construc-tion of regular and irregular LDPC codes: geometry decomposition andmasking,” IEEE Trans. Inf. Theory, vol 53, no. 1, pp. 121–134, Jan.2007.

[12] I. Djurdjevic, J. Xu, K. Abdel-Ghaffar, and S. Lin, “A class of low-density parity-check codes constructed based on Reed-Solomon codeswith two information symbols,” IEEE Commun. Lett., vol. 7, no. 7, pp.317-319, July 2003.

[13] X.-Y. Hu, E. Eleftheriou, and D. M. Arnold, “Regular and irregularprogressive edge-growth Tanner graphs,” IEEE Trans. Inf. Theory, vol.51, no. 1, pp. 386-398, Jan. 2005.

[14] J. Thorpe, “Low density parity check (LDPC) codes constructed fromprotographs,” JPL INP Progress Report, 42-154, Aug. 15 2003.

[15] T. Tian, C. Jones, J. Villasenor, and R. Wesel, “Construction of irregularLDPC codes with low error floors,” in Proc. IEEE Int. Conf. onCommunications, vol. 5, pp. 3125-3125, Anchorage, AK, May 2003.

[16] J. Chen and M. Fossorier, “Near optimum universal belief propagationbased decoding of low-density parity-check codes,” IEEE Trans. Com-mun. vol. 50, no. 3, pp. 406-414, Mar. 2003.

[17] ETSI EN 302 307 V1.1.2 (2006-06), European Standard Telecommu-nications series: Digital Video Broadcasting (DVB); Second generationframing structure, channel coding and modulation systems for broadcast-ing, interactive services, news gathering and other broadband satelliteapplications.

[18] Q. Huang, J. Kang, L. Zhang, S. Lin, and K. Abdel-Ghaffar, “Anefficient and low-complexity iterative reliability-based majority-logicdecoding algorithm for LDPC codes,” in Proc. Information Theory andApplications Workshop (ITA), San Diego, 10 pp.

[19] Q. Huang, J. Kang, L. Zhang, S. Lin, and K. Abdel-Ghaffar, “Tworeliability-based iterative majority-logic decoding algorithms for LDPCcodes,” IEEE Trans. Commun., vol. 57, no. 12, Dec. 2009.

[20] J. Zhang and M. P. C. Fossorier, “A modified weighted bit-flippingdecoding for low-density parity-check codes,” IEEE Commun. Lett., vol.9, pp. 165–167, Mar. 2004.

[21] M. Jiang, C. Zhao, Z. Shi, and Y. Chen, “An improvement on themodified weighted bit-flipping decoding algorithm for LDPC codes,”IEEE Commun. Lett., vol. 9, pp. 814–816, Sep. 2005.

[22] M. C. Davey and D. J .C. Mackay, “Low density parity check codesover GF(q),” IEEE Commun. Lett., vol. 2, no. 6, pp. l65–167, June 1998.

[23] D. J .C. Mackay and M. C. Davey, “Evaluation of Gallager codesfor short block length and high rate applications,” in Codes, Systemsand Graphical Models, series. IMA Volumes in Mathematics and itsApplications, B. Marcus and J. Rothenthal, Eds. New York: Springer,2000, vol. 123, pp. 113–130.

[24] L. Barnault and D. Declercq, “Fast decoding algorithm for LDPC overGF(2𝑞),” Proc ITW2003, Paris, France, Mar. 2003, pp. 70–73.

[25] D. Declercq and M. Fossorier, “Decoding algorithms for nonbinaryLDPC codes over GF(q),” IEEE Trans. Commun., vol. 55, no. 4, pp.633–643, Apr. 2007.

[26] H. Song and J. R. Cruz, “Reduced-complexity decoding of Q-ary LDPCcodes for magnetic recording,” IEEE Trans. Magn., vol. 39, no. 2, pp.1081-1087, Mar. 2003.

[27] K. Yang, “Weighted nonbinary repeat-accumulate codes,” IEEE Trans.Inf. Theory, vol. 50, no. 3, pp. 527-531, Mar. 2004.

[28] L. Zeng, L. Lan, Y. Y. Tai, and S. Lin, “Dispersed Reed-Solomon codesfor iterative decoding and construction of 𝑞-ary LDPC codes,” in Proc.IEEE Global Telecommun. Conf., St. Louis, MO, Nov. 2005, pp. 1193-1198.

[29] V. Rathi and R. Urbanke, “Density evolution, thresholds and the stabilitycondition for non-binary LDPC codes,” IEE Proc. Commun., vol. 152,no. 6, pp. 1069-1074, Dec. 2005.

[30] A. Bennatan and D. Burshtein, “Design and analysis of nonbinary LDPCcodes for arbitrary discrete-memoryless channels,” IEEE Trans. Inf.Theory, vol. 52, no. 2, pp. 549-583, Feb. 2006.

[31] C. Poulliat, M. Fossorier, and D. Declercq, “Optimization of non binaryLDPC code using their binary images,” in Proc. Int. Turbo Code Symp.,Munich, Germany, Apr. 2006.

[32] S. Song, L. Zeng, S. Lin, and K. Abdel-Ghaffar, “Algebraic constructionsof nonbinary quasi-cyclic LDPC codes,” in Proc. IEEE Int. Symp.Inform. Theory, Seattle, WA, July 2006, pp. 83-87.

[33] B. Zhou, Y. Y. Tai, L. Lan, S. Song, L. Zeng, and S. Lin, “Constructionof high performance and efficiently encodable nonbinary quasi-cyclicLDPC codes,” in Proc. IEEE Global Telecommun. Conf., San Francisco,CA, Nov. 2006.

[34] S.-E. Park, C. Lim, T. Lestable, J. Kim, and K. Yang, “A class ofstructured LDPC codes over GF(q) for efficient encoding,” in Proc.IEEE Vehicular Tech. Conf., pp. 2218-2222, Apr. 2007, Dublin, Ireland.

Page 14: read.pudn.comread.pudn.com/downloads680/doc/2749585/QC LDPC An... · 2012-03-05 · 1384 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010 Solomon (RS) codes of the same

1396 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 58, NO. 5, MAY 2010

[35] R.-H. Peng and R. R. Chen, “Design of nonbinary quasi-cyclic LDPCcycle codes,” in Proc. IEEE Inform. Theo. Workshop. Sep. 2007, TahoeCity, CA.

[36] B. Zhou, J. Kang, Y. Y. Tai, Q. Huang, and S. Lin, “High performancenonbinary quasi-cyclic LDPC codes on Euclidean geometries,” in Proc.2007 Military Communications Conference (MILCOM 2007), Orlando,FL, Oct. 2007.

[37] L. Zeng, L. Lan, Y. Y. Tai, B. Zhou, S. Lin, and K. A. S. Abdel-Ghaffar, “Construction of nonbinary cyclic, quasi-cyclic and regularLDPC codes: a finite geometry approach,” IEEE Trans. Commun., vol.56, no. 3, pp. 378-387, Mar. 2008.

[38] L. Zeng, L. Lan, Y. Y. Tai, S. Song, S. Lin, and K. Abdel-Ghaffar,“Constructions of nonbinary quasi-cyclic LDPC codes: a finite fieldapproach,” IEEE Trans. Commun., vol. 56, no. 4, Apr. 2008.

[39] B. Zhou, L. Zhang, J. Kang, Q. Huang, Y. Y. Tai, and S. Lin, “Non-binary LDPC codes vs. Reed-Solomon codes,” in Proc. 3rd Workshop forthe Center of Information Theory and its Applications, UCSD divisionof Calit2 and the Jacobs School of Engineering, San Diego, CA, Jan.2008.

[40] B. Zhou, L. Zhang, Q. Huang, S. Lin, and M. Xu, “Constructions ofhigh performance non-binary quasi-cyclic LDPC codes,” in Proc. IEEEInform. Theory Workshop, pp. 71-75, Porto Portugal, May 2008.

[41] B. Zhou, L. Zhang, J. Kang, Q. Huang, S. Lin, and K. Abdel-Ghaffar,“Array dispersions of matrices and constructions of quasi-cyclic LDPCcodes over non-binary fields,” in Proc. IEEE Int. Symp. Inform. Theory,Toronto, Ontario, Canada, July 2008.

[42] M.-C Chiu, “Bandwidth-efficient modulation codes based on non-binaryirregular repeat accumulate codes,” in Proc. IEEE Global Telecommu-nications Conf., New Orleans, LA, Nov. 2008.

[43] C. Poulliat, M. C. Fossorier, and D. Declercq, “Design of regular(2,𝑑𝑐)-LDPC codes over GF(q) using their binary images,” IEEE Trans.Commun., vol. 56, no. 10, pp. 1626-1635, Oct. 2008.

[44] B. Zhou, J. Kang, Y. Y. Tai, S. Lin, and Z. Ding, “High performancenon-binary quasi-cyclic LDPC codes on Euclidean geometries,” IEEETrans. Commun., vol. 57, no. 5, pp. 1298-1311, 2009.

[45] B. Zhou, J. Kang, S. Song, S. Lin, K. Abdel-Ghaffar, and M. Xu,“Construction of non-binary quasi-cyclic LDPC codes by arrays andarray dispersions,” IEEE Trans. Commun., vol. 57, no. 6, pp. 1652-1662,2009.

[46] M. El-Khamy and R. McEliece, “Iterative algebraic soft-decision listdecoding of Reed Solomon codes,” IEEE J. Sel. Areas Commun., vol.24, no. 3, pp. 481–490, Mar. 2006.

[47] W. J. Gross, F. R. Kschischang, R. Koetter, and G. G. Gulak, “Appli-cations of algebraic soft-decision decoding of RS codes,” IEEE Trans.Commun., vol. 54, no. 7, pp. 1224–1234, July 2006.

[48] Y. Y. Tai, L. Lan, L. Zeng, S. Lin, K. A. S Abdel-Ghaffar, “Algebraicconstruction of quasi-cyclic LDPC codes for the AWGN and erasurechannels,” IEEE Trans. Commun., vol. 54, no. 10, pp. 1765–1774, Oct.2006.

[49] R. Lidl and Niederreiter, Introduction to Finite Fields and Their Appli-cations. Cambridge University Press, 1994.

Jingyu Kang received the B.S. and M.S. degreesfrom Tsinghua University, Beijing, China, in 2002and 2005, respectively, both in Electronic Engi-neering. He is currently working toward the PhDdegree in electrical engineering at the Universityof California, Davis. His research interests includeerror-control coding and signal processing for com-munications and storage systems.

Qin Huang received the B.E. and M.E. degrees fromSoutheast University, Nanjing, China, in 2005 and2007, respectively, both in Electronic Engineering.He is currently working towards the Ph.D. degree inelectrical engineering at the University of Califor-nia, Davis. His research interests include classicaland modern coding theory, signal processing, andtheir applications on communications and storagesystems.

Li Zhang received the B.S. and M.S. degrees fromSoutheast University, Nanjing, China, in 2004 and2006, respectively. He is currently working towardsthe Ph.D. degree in electrical engineering at the Uni-versity of California, Davis. His research interestsinclude error-control coding and signal processingfor digital communications.

Bo Zhou (S’02-M’08) received the B.E. and M.E.degrees in electrical engineering from ShanghaiJiaotong University, Shanghai, China, in 2001 and2004, respectively, and the Ph.D. degree in electricaland computer engineering from the University ofCalifornia, Davis, in 2008. He is currently withQualcomm Incorporated, San Diego, CA as a seniorengineer. His research interests include error controlcoding and signal processing for digital communi-cations and magnetic recording channels.

Shu Lin (S’62-M’65-SM’78-F’80-LF’00) receivedthe B.S.E.E. degree from the National Taiwan Uni-versity, Taipei, Taiwan, in 1959, and the M.S. andPh.D. degrees in electrical engineering from RiceUniversity, Houston, TX, in 1964 and 1965, respec-tively.

In 1965, he joined the Faculty of the Universityof Hawaii, Honolulu, as an Assistant Professor ofElectrical Engineering. He became an AssociateProfessor in 1969 and a Professor in 1973. In 1986,he joined Texas A&M University, College Station,

as the Irma Runyon Chair Professor of Electrical Engineering. In 1987, hereturned to the University of Hawaii. From 1978 to 1979, he was a VisitingScientist at the IBM Thomas J. Watson Research Center, Yorktown Heights,NY, where he worked on error control protocols for data communicationsystems. He spent the academic year of 1996-1997 as a Visiting Professorat the Technical University of Munich, Munich, Germany. He retired fromUniversity of Hawaii in 1999 and he is currently an Adjunct Professorat University of California, Davis. He has published numerous technicalpapers in IEEE TRANSACTIONS and other refereed journals. He is theauthor of the book, An Introduction to Error-Correcting Codes (EnglewoodCliff, NJ: Prentice-Hall, 1970). He also co-authored (with D.J. Costello) thebook, Error Control Coding: Fundamentals and Applications (Upper SaddleRiver, NJ: Prentice-Hall, 1st edition, 1982, 2nd edition, 2004), and (withT. Kasami, T. Fujiwara, and M. Fossorier) the book, Trellises and Trellis-Based Decoding Algorithms, (Boston, MA: Kluwer Academic, 1998). Hiscurrent research areas include algebraic coding theory, coded modulation,error control systems, and satellite communications. He has served as thePrinciple Investigator on 36 research grants.

Dr. Lin is a Member of the IEEE Information Theory Society and theCommunication Society. He served as the Associate Editor for Algebraic Cod-ing Theory for the IEEE TRANSACTIONS ON INFORMATION THEORY from1976 to 1978, the Program Co-Chair of the IEEE International Symposiumof Information Theory held in Kobe, Japan, in June 1988, and a Co-Chairof the IEEE Information Theory Workshop held in Chengdu, China, October2006. He was the President of the IEEE Information Theory Society in 1991.In 1996, he was a recipient of the Alexander von Humboldt Research Prizefor 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.


Recommended