Codes on finite geometries

download Codes on finite geometries

If you can't read please download the document

Transcript of Codes on finite geometries

  • 572 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Codes on Finite GeometriesHeng Tang, Member, IEEE, Jun Xu, Member, IEEE, Shu Lin, Life Fellow, IEEE, and

    Khaled A. S. Abdel-Ghaffar, Member, IEEE

    AbstractNew algebraic methods for constructing codes basedon hyperplanes of two different dimensions in finite geometries arepresented. The new construction methods result in a class of mul-tistep majority-logic decodable codes and three classes of low-den-sity parity-check (LDPC) codes. Decoding methods for the class ofmajority-logic decodable codes, and a class of codes that performwell with iterative decoding in spite of having many cycles of length4 in their Tanner graphs, are presented. Most of the codes con-structed can be either put in cyclic or quasi-cyclic form and hencetheir encoding can be implemented with linear shift registers.

    Index TermsCyclic codes, Euclidean geometry, low-densityparity-check (LDPC) codes, majority-logic decoding, projectivegeometry, quasi-cyclic codes, sum product algorithm.

    I. INTRODUCTION

    I NTEREST in low-density parity-check (LDPC) codes, firstintroduced by Gallager in 1962 [1], has increased dramat-ically in the last five years, and is expected to continue to in-crease even more in the future. This is due to their near-Shannonlimit (or capacity-approaching) performance when decoded it-eratively [2][9]. Before the recent developments, LDPC codeswere largely overlooked for almost 35 years after their inven-tion by Gallager except for the notable work of Tanner [10] in1981. Today, design, construction, decoding, and applicationsof these remarkable codes have become subjects of great in-terest to both coding theorists and practicing communication en-gineers. Another class of codes, finite-geometry codes, receivedconsiderable attention from coding researchers in the late 1960sand the early 1970s due to their reasonably good minimum dis-tances and simple decoding with majority-logic. These codesare constructed based on geometries over finite fields [11][28].However, finite-geometry codes became obscure in the last 30years with the advancement of integrated circuits which allowedhigh-speed implementation of other more efficient codes, suchas the BoseChaudhuriHocquenghem (BCH) [29], [30] andReedSolomon codes [31], with relatively low cost. As both

    Manuscript received March 11, 2002; revised September 27, 2004. This workwas supported by the National Science Foundation under Grants CCR-0096191,CCR-0117891, and ECS-0121469, and by the National Aeronautics and SpaceAdministration under Grants NAG 5-10480 and NAG 5-12789. The materialin this paper was presented in part at the IEEE International Symposium onInformation Theory, Lausanne, Switzerland, June/July 2002.

    H. Tang is with PMC-Sierra Inc., Portland, OR 97223 USA (e-mail:[email protected]).

    J. Xu is with Marvell Semiconductor Inc., Sunnyvalle, CA 94089 USA(e-mail: [email protected]).

    S. Lin and K. A. S. Abdel-Ghaffar are with the Department of Electricaland Computer Engineering, University of California, Davis, CA 95616 USA(e-mail: [email protected]; [email protected]).

    Communicated by R. Urbanke, Associate Editor for Coding Techniques.Digital Object Identifier 10.1109/TIT.2004.840867

    classes of codes, LDPC codes and finite-geometry codes, haveshared a long period of obscurity in the past, it is fair that thetwo share a better future.

    Recently, Kou, Lin, and Fossorier [32], [33] discovered aclass of LDPC codes, called finite-geometry LDPC codes,constructed based on lines and points of finite geometries.They showed that finite-geometry LDPC codes have goodminimum distances and their Tanner graphs [10] are free ofcycles of length . These properties allow them to performwell with iterative decoding using the sumproduct algorithm(SPA) [6], [34], [35]. Long finite-geometry codes decoded withSPA perform close to Shannons theoretical limit, which isthe minimum signal-to-noise ratio (SNR) required to achieveessentially error-free communication. This is the first class thatincludes codes with algebraic, rather than random, construc-tion of increasing lengths with performance approaching theShannon limit. A very important feature of finite-geometryLDPC codes is that they are either cyclic or quasi-cyclic. As aresult, their encoding can be implemented in linear time withfeedback shift registers [36]. Furthermore, finite-geometryLDPC codes can be decoded with various other decodingmethods besides SPA, such as majority-logic (MLG) decoding,bit-flipping (BF) decoding [1], weighted MLG decoding,weighted BF decoding [33], and a posteriori probability (APP)decoding [1]. These decoding methods for finite-geometryLDPC codes range from low to high decoding complexity andfrom reasonably good error performance to very good errorperformance. Thus, they offer a wide range of tradeoffs amongdecoding complexity, decoding speed, and error performance.MLG and BF decodings are hard-decision decodings and canbe easily implemented with hardware. They only require logicaloperations. An MLG decoder with hardware implementationcan operate at very high speed in the gigabits per second(Gb/s) range. For long finite-geometry LDPC codes, bothMLG and BF decodings achieve reasonably large coding gainsover the uncoded system. Weighted MLG and BF decodingsuse soft information for received symbols to improve errorperformance over MLG and BF decodings, respectively. Theyrequire some real-number computations [33]. APP and SPAdecodings are probabilistic decodings and they offer the besterror performance. SPA, which is a locally iterative techniqueapplied to the Tanner graph of the code, actually gives the sameperformance as APP when the graph is acyclic. Both decodingalgorithms require extensive real-number computations causinglong decoding delay. As a result, for long codes, they may notbe suitable for very-high-speed applications, such as opticalcommunication systems transmitting data at a rate of 10 or40 Gb/s, even though they offer performance close to Shannonlimit. In this case, MLG and BF decodings can be used.

    0018-9448/$20.00 2005 IEEE

  • TANG et al.: CODES ON FINITE GEOMETRIES 573

    The discovery of finite-geometry LDPC codes has two sig-nificant implications. First, it implies that algebraic construc-tion is also a viable method for constructing Shannon-limit-ap-proaching codes, besides random construction. This implicationhas encouraged coding theorists to investigate other algebraicor combinatoric methods for constructing good LDPC codes.The second implication is that algebraically constructed LDPCcodes in general possess structural properties which may sim-plify hardware implementation of encoding and decoding. Thisis achieved by using the regularity of the parity-check matricesof the codes to make efficient use of memory and to reducethe complexity of routing and interconnections. These implica-tions motivate us to continue investigation of construction of fi-nite-geometry codes that perform well with iterative decoding.

    This paper presents new methods for constructing codesbased on finite geometries. It consists of five parts. The firstpart presents a new class of multistep majority-logic decodablecodes whose construction is based on hyperplanes of twodifferent dimensions in finite geometries, such as Euclideangeometries and projective geometries over finite fields. Twomultistep majority-logic decoding algorithms are devised fordecoding these codes. The second part presents a class ofregular LDPC codes whose construction is based on hyper-planes of two consecutive dimensions. Codes in this classhave good minimum distances and their Tanner graphs arefree of cycles of length . They perform well with iterativedecoding. Furthermore, this new class of LDPC codes containsthe finite-geometry LDPC codes discovered by Kou, Lin, andFossorier [32], [33] as a subclass. The third part presents a classof Gallager-like LDPC codes whose construction is based onthe parallel structure of hyperplanes in finite geometries. Thefourth part presents a class of LDPC codes whose constructionis based on the cyclic structure of hyperplanes of finite geome-tries. The fifth part investigates finite-geometry codes whoseTanner graphs contain cycles of length but perform well withiterative decoding. Most of the codes constructed in this papercan be put in either cyclic or quasi-cyclic form, and hence theirencoding can be achieved with linear shift registers. We presentsimulations of performance in terms of bit-error rate (BER) andblock- or frame-error rate (FER) of codes over additive whiteGaussian noise (AWGN) channels.

    II. GEOMETRIES OVER FINITE FIELDS

    This section gives a brief review of two families of finite ge-ometries: Euclidean and projective geometries over finite fields.Structural properties of these geometries that are relevant to theconstruction and decoding of codes are presented without proofsor derivations. Excellent treatment of finite geometries can befound in [37][40]. [41] also contains a relatively comprehen-sive survey of these subjects.

    Let be a prime. For two positive integers and withand , the -dimensional Euclidean geometry

    (EG) over GF , denoted EG , consists of points, lines,and hyperplanes. Each point is an -tuple over GF . Thereare points in EG which actually form the vectorspace of all the -tuples over GF , denoted . For

    , a -dimensional hyperplane (commonly called a -flat)

    in EG is simply a -dimensional subspace of or itscoset. Therefore, a -flat consists of points. A line is a

    -flat and a point is a -flat. A line consists of points. Theall-zero -tuple is called the origin of the geometry. For

    , there are -flats containedin a given -flat and -flats containinga given -flat, where

    (1)

    and

    (2)

    For , two -flats are either disjoint (i.e., they donot have any points in common) or they intersect on a flat ofsmaller dimension. The largest flat that two -flats can intersecton is a -flat. The number of -flats that intersect on agiven -flat is . The -flats thatcorrespond to the cosets of a -dimensional subspace of (in-cluding the subspace itself) are said to be parallel to each otherand form a parallel bundle. These parallel -flats are disjoint andcontain all the points of with each point appearingonce and only once. The number of parallel -flats in a parallelbundle is .

    The extension field GF of GF is a realization of[41]. Let be a primitive element of GF .

    Then the elements , ofGF represent the points of , and repre-sents the origin of the geometry.

    The -dimensional projective geometry (PG) over GF ,denoted PG , consists also of points, lines, and hyper-planes. A point in PG is a nonzero -tuple overGF . For any nonzero -tuple overGF , the -tuples in the set

    GF (3)

    represent the same point . The pointmay be regarded as the projection of this

    set of size . Consequently, the -dimensional projectivegeometry PG consists ofpoints. Let be independent points inPG . A -flat consists of points of the form

    where are elements in GF and not simulta-neously zero. There are choices of(excluding ). Since there are al-ways choices of to resulting in the same point inPG , there are points in a -flatof PG . A line is a -flat and a point is a -flat. A lineconsists of points. A projective geometry does not havean origin.

  • 574 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    For , there are -flatscontained in a given -flat and -flatscontaining a given -flat, where

    (4)

    and

    (5)

    For , two -flats in PG are either disjointor they intersect on a flat of smaller dimension. The number of

    -flats that intersect on a given -flat is. A projective geometry does not have the parallel bundle

    structure.The points of the -dimensional projective geometry

    PG can also be represented by the elements of theextension field GF of GF . Let be a primitiveelement of GF . Letand . Then the order of is . The elements

    form the ground field GF . For, define

    (6)Then (or simply ) represents a point in PG (allthe elements in represent the same point in PG ).

    III. MULTISTEP MAJORITY-LOGIC DECODABLECODES AND DECODING

    In this section, we present a new class of multistep majority-logic decodable codes whose construction is based on the hy-perplanes of two different dimensions in finite geometries. Thisclass of codes contains the finite-geometry majority-logic de-codable codes discovered in the late 1960s and early 1970s[11][25], [41] as subclasses. Also presented in this sectionare methods for decoding this new class of codes. [41] con-tains an extensive treatment of majority-logic decodable codesand decoding. Recall that a set of parity-check sums given bya parity-check matrix of a code is said to be orthogonal on agiven code bit if each of the parity-check sums include the codebit but no other code bit is included in more than one of theseparity-check sums. If for each code bit there are parity-checksums that are orthogonal on it, then the code is majority-logicdecodable up to bit errors. Hence, the minimum distanceis at least .

    A. The CodesCodes can be constructed based on both Euclidean and

    projective geometries. In the following, we present a uni-fied approach to the construction. For this purpose, we useFG to denote either EG or PG . Wealso use and to denote thenumber of -flats contained in a given -flat and the numberof -flats containing a given -flat, respectively, in an -di-mensional finite geometry FG .

    For , let andbe the numbers of -flats and -flats in

    FG , respectively. The -flats are ordered from to .Let be a -flat in FG . Define an -tuple over GF

    (7)

    whose components correspond to the -flats in FG ,where if and only if the th -flat of FG iscontained in the -flat , and otherwise. This -tupleis called the incidence vector of the -flat over the -flatsin FG . This vector simply displays the -flats ofFG contained in the -flat . The weight of is

    , the number of -flats contained in .Let be the matrix over GF

    whose rows are the incidence vectors of all the -flats overthe -flats in FG and whose columns correspond toall the -flats in FG . Each column simply displaysthe -flats that contain a specific -flat. The th column iscalled the covering vector of the th -flat. All the columns of

    have the same weightand all the rows of have the sameweight . The null space ofgives a multistep majority-logic decodable code, denoted

    and called a type-I finite geometry (FG)code. For , is in general small comparedto . In this case, is asparse matrix and hence is an LDPC code(in general sense, i.e., its Tanner graph may contain cycles oflength ).

    Let be the transpose of. The null space of

    gives another multistep majority-logic decodable code, denotedand called a type-II FG code.

    The subclass of the type-I FG codes withand is the class of FG codes discovered in the late1960s [11][19], [41]. For and , the type-IFG code constructed based on the -di-mensional Euclidean geometry EG over GF is the

    thorder ReedMuller code [42][44]. For ,the type-I FG code, , constructed based onthe two-dimensional projective geometry (a projective plane)PG is a difference-set code [11], [13], [41].

    For a type-I EG code constructed basedon the -flats over points in EG , it can be put in cyclicform [15], [41]. This is done by

    1) removing the column in the parity-check matrixthat corresponds to the origin of

    EG ;2) removing all the rows in that corre-

    spond to the -flats containing (or passing through) theorigin of EG ;

    3) arranging the columns of in the orderof , where is a primitive ele-ment of GF (i.e, the incidence vector of a -flatover points in EG is a -tuple overGF whose components correspond to the nonoriginpoints of EG in the order , seeAppendix A).

  • TANG et al.: CODES ON FINITE GEOMETRIES 575

    This results in a new parity-check matrixwhose null space gives a binary cyclic EG code

    . This code is then characterized byits generator polynomial [41], [44].

    The type-I PG code can also be putin cyclic form by ordering the columns of its parity-checkmatrix corresponding to the points of PG in the order

    where is a primitive element ofGF and . The generatorpolynomial of this code in cyclic form can be found in [41].

    B. Multistep Majority-Logic Decoding of Type-I FG CodesWe first consider the decoding of the type-I FG code

    . This code can be decoded insteps using majority-logic decoding [41], [44], [45]. First,the syndromes are computed. These syndromes are the

    error sums formed by taking the inner prod-ucts of a (hard-decision) received vector with the rows of theparity-check matrix . Each of these errorsums is the sum of errors at the locations that correspond to the

    -flats contained in a -flat, and is called a -flat error sum.From these -flat error sums, we estimate all the -flaterror sums. Each of these -flat error sums is the sum oferrors at the locations that correspond to the -flats containedin a -flat. The estimate of this sum is equal to thevalue assumed by the majority of the -flat error sums corre-sponding to the -flats containing the -flat. Once allthe -flat error sums are computed, we estimate all the

    -flat error sums based on the computed -flaterror sums. This process continues and at the th step,all the error digits at the locations corresponding to the -flatsare estimated based on the -flat error sums. At eachstep, the estimation of error sums from the error sums computedat the previous step is carried out based on the intersectingstructure of flats of one dimension on the flats of the next lowerdimension.

    For , we notice that for each -flatin FG , there are -flatsin FG that intersect on . Furthermore, no two distinct

    -flats intersecting on can have another -flatin common, i.e., they intersect on one and only one -flat.As a result, the incidence vectors of these

    -flats are orthogonal on (see [41,Ch. 8]). Consider the sum of errors at the locations corre-sponding to the -flats contained in , which is a -flaterror sum. This error sum can be correctly estimated by theerror sums of the -flatsthat intersect on using the orthogonality concept and themajority-logic decision principle [41], [45] provided that thereceived vector contains no more than

    errors. Thus, after applying steps of majority-logicdecoding, numbered , the bit errors canbe correctly estimated provided that the number of channelerrors does not exceed the minimum of

    for . It follows from (2)

    and (5) that this minimum is attained for . As a result, theminimum distance of the type-I FG codeis at least [41].

    C. Multistep Majority-Logic Decoding of Type-II FG CodesDecoding of a type-II FG code is also

    carried out in steps using majority-logic decoding butin the opposite direction. First, error sums areformed by taking the inner products of a received vector withthe rows of . Each of these error sums isthe sum of errors at the locations corresponding to the -flatsthat contain a specific -flat, and is called a -flat error sumon -flats. At the first step of decoding, we estimate all the

    -flat error sums on -flats. For each -flat ,there are -flats contained in . No twoof these -flats can be contained in another -flat otherthan . The error sums of these -flatsare orthogonal on the sum of errors at the locations cor-responding to the -flats that contain . From these

    -flat error sums on -flats, the errorsum of the -flat on -flats can be correctly es-timated provided that the received vector contains no morethan errors. Once all the -flaterror sums on -flats have been computed, we proceed toestimate all the -flat error sums on -flats in thesame manner. This process continues and at the thstep, the error at the location corresponding to each -flat isestimated. All the error bits are correctly estimated providedthat the number of channel errors does not exceed the minimumof for .It follows from (1) and (4) that this minimum is attained for

    . Consequently, the minimum distance of the code is atleast .

    Example 1: Let , , , and .The three-dimensional Euclidean geometry EG consistsof 512 points and 584 two-flats. There are511 two-flats not containing the origin of the geometry. For eachof these two-flats not containing the origin, form its incidencevector over the 511 nonorigin points of EG with com-ponents arranged in the order of , where isa primitive element of GF . Using the incidence vectorsof the two-flats not containing the origin as the rows of a ma-trix, we obtain a matrix with rowand column weights . The null space of this matrix gives thetype-I cyclic EG code which is acode with minimum distance at least and rate . Thiscode is capable of correcting four or fewer errors with two-stepMLG decoding. For the generator polynomial of this code, seeAppendix B. Its bit and block error performances with MLG de-coding are shown in Fig. 1. It achieves 3.4-dB coding gain overthe uncoded binary phase-shift keying (BPSK) at the BER of

    . Later in another example, we will show that this codeperforms well with iterative decoding. Indeed, with iterativedecoding using SPA, this code achieves an additional 1.8-dBcoding gain over the simple hard-decision MLG decoding at theBER of .

  • 576 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 1. Error performance of the (511; 448) type-I EG code in Example 1.

    Example 2: Let , , , and .The three-dimensional projective geometry PG consistsof 585 points and 585 two-flats. Form the incidence vectors ofthe 585 two-flats over the 585 points in PG . Use theseincidence vectors to form the matrix whichis a matrix with row and column weights . Thenull space of this matrix gives a PG code with rate

    and minimum distance at least . It is two-step MLGdecodable and is capable of correcting four or fewer errors. Itcan be put in cyclic form if the components of the incidencevectors of the two-flats over points are arranged in the orderof , where is a primitive element ofGF and , For the generator polynomial of thiscode in cyclic form, see Appendix B. Its bit and block errorperformances with two-step MLG decoding are shown in Fig. 2.It achieves a 2.8-dB coding gain over the uncoded BPSK at theBER of . As will be shown in a later example, this PG codealso performs well with iterative decoding. At the BER of ,it achieves 2.5-dB additional coding gain over the simple MLGdecoding.

    Example 3: Let , , , , and. The four-dimensional Euclidean geometry EG

    has 5440 one-flats and 340 three-flats. The type-I EG codeconstructed based on the three-flats over the

    one-flats in EG is a code with minimumdistance at least and rate . This code is two-step MLGdecodable and is capable of correcting two or fewer errors. Itsbit and block error performances are shown in Fig. 3.

    Example 4: This example gives a type-II EG code. Let, , , , and . The six-di-

    mensional Euclidean geometry EG consists of 64 points,2016 one-flats and 11 160 three-flats. The parity-check matrix

    of the type-II EG codeconsists of the incidence vectors of all the three-flats over theone-flats in EG as the columns. The null space of thismatrix gives a two-step MLG decodable codewith rate and minimum distance at least . Its bit andblock error performances with MLG decoding are shown inFig. 4.

    D. Quasi-Cyclic StructureIn general, most of the type-I and type-II finite geometry

    codes, and , can beput in quasi-cyclic form as shown in Appendix A. This is ac-complished by grouping the flats of two different dimensions ofa finite geometry into cyclic classes. For a EG, only the flats notpassing through the origin are used for code construction. Eachcyclic class consists of -flats (or -flats), and allthe flats in a class can be obtained by cyclic shifting any flat (itspoints) in the class. In forming the parity-check matrix, the rowsare grouped based on the cyclic classes of flats of one dimen-sion and the columns are grouped based on the cyclic classesof flats of another dimension. Based on this grouping of rowsand columns, the parity-check matrix of a finite-geometry code,type-I or type-II, consists of square subma-trices, and each of these square submatrices is a circulant mat-

  • TANG et al.: CODES ON FINITE GEOMETRIES 577

    Fig. 2. Error performance of the (585; 520) type-I PG code in Example 2.

    Fig. 3. Error performance of the (5440;5295) type-I EG code in Example 3.

  • 578 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 4. Error performance of the (11160; 10298) type-II EG code in Example 4.

    rix in which each row is a cyclic shift of the row above itand the first row is the cyclic shift of the last row. Therefore,the parity-check matrix is an array of circulants and its nullspace gives a quasi-cyclic code [41]. This quasi-cyclic struc-ture makes the encoding of a code very easy. Encoding canbe accomplished in linear time and implemented with linearshift-registers [36], [44].

    IV. FINITE-GEOMETRY LDPC CODESA very special subclass of the class of FG codes presented in

    Section III is the class of codes whose construction is based onthe hyperplanes of two consecutive dimensions in finite geome-tries. This subclass of codes gives a large family of LDPC codeswhose Tanner graphs are free of cycles of length , and hencehave a girth of at least .

    Consider the -dimensional finite-geometry FG overGF . For , set and . Thematrix has all the incidence vectorsof the -flats over the -flats in FG as its rows.Therefore, the rows and the columns ofcorrespond to the -flats and the

    -flats in FG , respectively.Due to the intersecting structural property of flats, no twodistinct -flats intersecting on a -flat can have an-other -flat in common, i.e., they intersect on oneand only one -flat. Consequently, no two rows (ortwo columns) of can have more than -component in common. From Section III-A, each columnof has weight

    and each row has weight . The densityof , defined as the ratio of the totalnumber of -entries to the total number of entries in

    , is

    (or ). It follows from (1), (2),(4), and (5) that which can be made very smallby choosing , , , and properly. Therefore,

    is a sparse -regular matrix with column weightand row weight , respectively.The null space of gives a type-I

    FG-LDPC code of length and min-imum distance at least . It follows from(2) and (5) that the minimum distances and of thetype-I EG- and PG-LDPC codes are lower-bounded as follows,respectively:

    (8)and

    (9)

    For the special case with , the subclass of type-IFG-LDPC codes is the class of type-I FG-LDPC codes con-structed based on the lines and points of FG , which wasdiscovered by Kou, Lin, and Fossorier [32], [33].

    Since FG-LDPC codes constructed based on flats of two con-secutive dimensions in finite geometries form a subclass of the

  • TANG et al.: CODES ON FINITE GEOMETRIES 579

    Fig. 5. Error performance of the (4672; 4272) type-I EG code in Example 5.

    FG codes presented in Section III, most of them can be put inquasi-cyclic form (see Appendix A).

    Let be the transpose ofThen is a -reg-

    ular matrix which has the same density as that ofand is also a sparse matrix. The null

    space of gives a type-II FG-LDPC code,, of length whose Tanner graph is free

    of cycles of length . Both type-I and type-II FG-LDPC codeshave the same number of parity-check bits. The minimum dis-tance of is at least .It follows from (1) and (4) that the minimum distances and

    of the type-II EG- and PG-LDPC codes are lower-boundedas follows, respectively:

    (10)and

    (11)For the special case with , the subclass of type-II

    FG-LDPC codes is the class of type-II FG-LDPC codes con-structed based on lines and points of FG , which was dis-covered by Kou, Lin, and Fossorier [32], [33].

    Example 5: Let , and . Thethree-dimensional Euclidean geometry EG consistsof 584 two-flats and4672 one-flats (lines). Each two-flat contains 72 one-flatsand the number of two-flats that intersect on a given one-flat

    is . Form the parity-check matrixwhose rows are the incidence vectors of

    the 584 two-flats over the 4672 one-flats in EG . Hence,is a matrix with row weight

    and column weight . The null space of this matrixgives the type-I EG-LDPC code which is a

    code with minimum distance at leastand rate . Its bit and block error performances with SPAare shown in Fig. 5. At the BER of , it performs within 1dB from the Shannon limit. The transpose ofis a matrix with row weightand column weight . The null space of this matrix gives a

    type-II EG-LDPC code with rateand minimum distance at least . Its bit and block error

    performances with SPA are shown in Fig. 6. Suppose we spliteach column of into 18 columns of the samelength with column weight uniformly distributed among thenew columns in a rotating manner such that each new columnhas weight [32]. This column splitting results in a new matrix

    which is a matrix withcolumn weight and row weight . The null space of thisextended matrix gives a LDPC code with rate

    and minimum distance at least . The bit and block errorperformances of this code are also shown in Fig. 6.

    Example 6: Let , , and . Thethree-dimensional projective geometry PG contains 585two-flats and 4745 one-flats. Each two-flat consists of 73 one-flats and there are nine two-flats intersecting on a given one-flat.

  • 580 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 6. Error performances of the (584; 184) type-II EG code and its (10512; 5841) extended code in Example 5.

    Form the matrix whose rows are the inci-dence vectors of the two-flats over the one-flats in PG .This matrix is a regular matrix with column androw weights and , respectively. The null space of this ma-trix gives the type-I PG-LDPC code which isa code with rate and minimum distance atleast . Its bit and block error performances are shown in Fig. 7.At the BER of , it performs 1 dB from the Shannon limit.

    Example 7: This example gives a type-II EG-LDPC code.Let , , , and . The three-dimen-sional Euclidean geometry EG over GF has 343points and 2793 lines. To construct the type-II EG-LDPCcode , we form its parity-check matrix

    which consists of the incidence vectors ofall the 2793 lines over points in EG as columns. It is a

    matrix with row weight and column weight. The null space of this matrix gives the type-II EG-LDPC

    code which is a code with rateand minimum distance at least . Its bit and block error

    performances with SPA are shown in Fig. 8. At the BER of, it performs 1.7 dB away from the Shannon limit. Also

    included in Fig. 8 are the error performances of the code withMLG and BF decodings.

    Example 8: Let , , , and .The three-dimensional Euclidean geometry EG contains69 888 one-flats and 4368 two-flats. Each two-flat contains 272one-flats and there are 17 two-flats that intersect on a given one-flat. To construct the type-I EG-LDPC code ,

    we form its parity-check matrix which con-sists of the incidence vectors of all the two-flats over the one-flats in EG as its rows. This matrix is amatrix with row weight and column weight . The nullspace gives a EG-LDPC code with rateand minimum distance at least . The bit and block error per-formances of this code are shown in Fig. 9. Suppose we spliteach column of into four columns of the samelength with the column weight distributed among the fournew columns in a rotating manner, three columns with weightand one column with weight and split each row of the resul-tant matrix into eight rows in the same manner, each row withweight . This column-and-row splitting results in a new ma-trix with 279 552 columns. The null spaceof this new matrix gives a LDPC code withrate and minimum distance at least . The bit and blockerror performances of this code are shown in Fig. 9. At theBER of , it performs only 0.6 dB away from the Shannonlimit. If we only split each column of intofour columns as above without splitting the rows, we obtain a

    matrix. The null space of this matrix gives aLDPC code with rate , which performs

    only 0.35 dB away from the Shannon limit at the BER ofwith SPA. This example simply shows that long LDPC codesconstructed based on hyperplanes of finite geometry do performclose to the Shannon limits.

    In the design of LDPC codes for some practical applications,a major concern is where does the error floor occur. If the re-quired BER is very small, say for 10 G BASE-T Ethernet

  • TANG et al.: CODES ON FINITE GEOMETRIES 581

    Fig. 7. Error performance of the (4745; 4344) type-I PG code in Example 6.

    Fig. 8. Error performance of the (2793;2450) type-II EG code in Example 7.

  • 582 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 9. Error performances of the (69888; 67088) type-I EG code and its (279552;244608) and (279552;275184) extended codes in Example 8.

    or for hard-disc drives, a code with a very low error flooris needed. The error floor of an LDPC code with iterative de-coding depends on a number of structural properties of the codeand its Tanner graph, such as girth, minimum weight, weightdistribution of pseudocodewords [46], [47], and others. It is un-known how the error floor of an LDPC code is exactly affectedby these factors. However, experimental results show that if acode has a large minimum distance and the minimum weight ofpseudocodewords is also large (say equal or close to the min-imum distance of the code), then the code has a low error floor.LDPC codes with large minimum distances can be constructedfrom finite geometries. These codes are good candidates for lowerror floor. It follows from results in [47] and [48] that a two-di-mensional binary PG-LDPC code has no pseudocodewords withweight less than its minimum distance, which is exactly[33]. In the following, we give an example to demonstrate that aFG-LDPC code with a large minimum distance can have a verylow error floor.

    Example 9: Let , , and . Con-sider the two-dimensional Euclidean geometry EG overGF . This geometry contains 1024 points and 1056 lines.Each line consists of 32 points. The incidence vectors of theselines can be used to form a parity-check matrix

    with column and row weights and , re-spectively. The null space of this matrix gives aLDPC code with rate and minimumweight exactly [33]. The bit and frame error performances ofthis code with SPA are shown in Fig. 10. At the BER of ,it performs 1.65 dB from the Shannon limit. Using the method

    proposed in [46], the error floor of this code is predicted to occurbelow the BER of , which is a very low error floor.

    V. GALLAGER-LIKE LDPC CODESLDPC codes can be constructed by grouping the -flats in an

    EG into parallel bundles. This construction results in a class ofcodes in a form very much like Gallagers original constructionfor LDPC codes [1].

    Let be a positive integer greater than . For any choice ofand , Gallager gave a general construction of the parity-checkmatrix of an LDPC code. The parity-check matrix isa matrix over GF which consists of submatrices,

    . Each submatrix is a matrix withconstant row weight and constant column weight . The firstsubmatrix is constructed as follows: for , the throw contains all its ones in column to . Thenthe other submatrices, to , are simply obtained bypermuting the columns of . The overall parity-check matrix

    of a Gallager code is given by

    .

    .

    .

    (12)

    This matrix is a -regular matrix with density . For large, it is a sparse matrix. The null space of this matrix gives a Gal-

    lager LDPC code . Gallager did not provide any specificmethod for designing the permutations to permute the

  • TANG et al.: CODES ON FINITE GEOMETRIES 583

    Fig. 10. Error performance of the (1024; 781) type-I EG code and its predicted error floor in Example 9.

    columns of the submatrix to obtain the other sub-matrices such that the Tanner graph of is free of short cy-cles and the code has a good minimum distance. He simply sug-gested random permutations of the columns of to form theother submatrices. For large and small and , is avery sparse matrix and the probability that its associated Tannergraph contains short cycles is very small. Gallager codes aremostly generated by computers based on some design rules andguidelines that ensure their Tanner graphs do not contain shortcycles, especially cycles of length .

    Consider the -dimensional Euclidean geometry EGover GF . As presented in Section II, for , all the

    -flats in EG can be partitioned into parallel bundles.Each parallel bundle consists of parallel -flats.There are

    (13)

    parallel bundles of -flats where is given by(1). Denote these parallel bundles of -flats by .For each parallel bundle , form amatrix whose rows are the incidence vectors of the

    -flats in over the -flats in EG .Therefore, the rows and columns of correspond tothe -flats in the parallel bundle and the -flats inEG , respectively. It follows from the definition of theincidence vector of a -flat over -flats in a finite geom-etry that the weight of each row of isas given by (1). Since the -flats in each parallel bundle

    are disjoint (no points in common), no two incidence vec-tors of two -flats in can have any -component incommon. Consequently, the weight of a column in iseither or . For , we can easily show that all thecolumns of have weight . For any ,we can use such matrices, say ,as submatrices to form a matrix

    in the form given by (12). Thedensity of this matrix is less than which canbe made very small by choosing , , , and properly. Thenull space of gives an LDPCcode of length , called a Gallager-like LDPCcode and denoted . Since two

    -flats in EG intersect on at most one -flat inEG , no two rows in canhave more than one -entry in common. This ensures that aGallager-like LDPC code does not contain cycles of lengthin its Tanner graph. A Gallager-like code is in general irregular(constant row weight but various column weights) except forthe special case .

    The column weight of is atmost . It is possible that some columns in

    are zero columns. In this case, we simplyremove these zero columns. Or we can remove columnsfrom by choosing a min-imum column weight. Let be a nonnegative integersuch that . Delete all the columns in

    with weights less than .This results in a new matrix

  • 584 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 11. Error performances of the (7128; 6588) and the (6156;5616) Gallager-like EG codes in Example 10.

    with maximum and minimum column weights, and ,respectively. The null space of this matrix gives a shortenedGallager-like LDPC code with minimum distance at least

    .

    For any choice of , , , and , we can form a sequenceof Gallager-like LDPC codes of various rates and minimumdistances with . For , the Gallager-like code is the type-I EG-LDPCcode . For , we obtain a sequenceof codes exactly in Gallager form, called Gallager EG-LDPCcodes which have been recently discovered by Tang et al. [49].For this special case, every parallel bundle consists of

    lines parallel to each other. These parallel lines containall the points in EG , each point appears once andonly once. The matrix has the incidence vectors of thelines in the parallel bundle over the points in EG asrows. has constant row weight(the number of points on a line) and constant column weight

    . Therefore, it is exactly in Gallagers original form for a sub-matrix of the parity-check matrix of an LDPC code. Usingof these matrices as submatrices, we can form a -regularparity-check matrix whose null space gives a regular GallagerLDPC code.

    Projective geometries do not have parallel structure and hencewe cannot construct Gallager-like codes from these geometries.

    Example 10: Let , , , and .The three-dimensional Euclidean geometry EG overGF consists of 729 points, 7371 lines, and 819 two-flats.The 819 two-flats can be partitioned into 91 parallel bundles,

    , each consists of nine parallel two-flats. Foreach parallel bundle of two-flats, we can form amatrix whose rows are the incidence vectors of thenine two-flats in over the 7371 lines in EG . Therow weight of is and the column weight ofis either or . For , choosing any matrices,say , we can form amatrix . The null space of this matrixor its punctured version gives a Gallager-like EG-LDPC codewhose Tanner graph is free of cycles of length . Suppose wechoose . Then the matrix hasrow weight and column weights ranging from to . Ifwe remove from all the columns ofweight , we obtain a punctured matrix with column weightsranging from to and row weights ranging from to .The null space of this punctured matrix gives aGallager-like LDPC code of rate and minimum distanceat least . If all columns of weight are further removed, weobtain a matrix with column weights ranging from toand row weights ranging from to . The null space of thismatrix gives a Gallager-like LDPC code of rate

    and minimum distance at least . The error performancesof the above two Gallager-like codes are shown in Fig. 11. Atthe BER of , the and the codesperform 1.2 and 1.34 dB away from their respective Shannonlimits.

    Example 11: Again we consider the two-dimensional Eu-clidean geometry EG given in Example 9. The linesin this geometry can be partitioned into 33 parallel bundles,

  • TANG et al.: CODES ON FINITE GEOMETRIES 585

    Fig. 12. Error performance of the (1024; 821) Gallager EG code and its predicted error floor in Example 11.

    . Each parallel bundle consists of 32 parallellines and all the 1024 points. For each parallel bundle , weform a matrix with constant column weightand constant row weight . Choose . Form amatrix with assubmatrices as shown in (12). The null space of this matrixgives a Gallager EG-LDPC code with rateand minimum distance at least . The performance of thiscode with SPA is shown in Fig. 12. At the BER of , itperforms 1.75 dB from the Shannon limit. Its predicted errorfloor is below the BER of . If we choose , weobtain the LDPC code given in Example 9. If wechoose , we obtain a Gallager EG-LDPCcode with rate and minimum distance at least . Theerror performance of this code is shown in Fig. 13. At the BERof , it performs 1.6 dB from the Shannon limit. The errorfloor of this code is predicted around the BER of .

    Examples 9 and 11 show that as we increase the minimumdistance, or its lower bound based on the column weight, ofa Gallager-like FG-LDPC code, we push the error-floor down.Whether this is true for FG-LDPC codes in general is unknownat this time. Further investigation is needed.

    VI. CONSTRUCTION OF LDPC CODES BASED ON CYCLICSTRUCTURE OF HYPERPLANES IN FINITE GEOMETRIES

    LDPC codes can also be constructed by grouping the flatsof a given dimension in a finite geometry into cyclic classes.

    This construction gives another class of finite-geometry LDPCcodes.

    Consider the -dimensional Euclidean geometry EG .As presented in Section II, the Galois field GF as an ex-tension field of GF is a realization of EG . Let

    be a primitive element of GF . Then ,represent the points in EG ,

    where represents the origin of the geometry. For ,let be a -flat in EG which does not pass through (orcontain) the origin of the geometry. Then consists ofnonorigin points of EG , say ,and

    (14)

    is also a -flat not passing through the origin of the geometry(see Appendix A). It can be shown that for ,

    . Therefore, are different-flats (see Appendix A). There are

    (15)

    -flats in EG not passing through the origin. These-flats can be partitioned into

    (16)cyclic classes, denoted , each containing

    -flats not passing through the origin.

  • 586 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 13. Error performance of the (1024; 833) Gallager EG code and its predicted error-floor in Example 11.

    For each cyclic class of -flats in EG , form a ma-trix whose rows are the incidence vectors of the -flatsin over the -flats in EG not passing throughthe origin. Therefore, the rows and columns of corre-spond to the -flats in and the -flats in EGnot passing through the origin, respectively. It has constant rowweight but various column weights ingeneral. Based on the cyclic classes of -flats not passingthrough the origin of EG , we can form matrices,

    . For , we can takesuch matrices, say , to form a matrix

    .

    .

    .

    (17)

    Here, the subscript denotes the cyclic structure. This matrixhas constant row weight (given by(1)) but various column weights. The density of this matrix is

    which can be madevery small by choosing , , , and properly. Therefore,

    is a sparse matrix. The null spaceof this matrix gives an LDPC code .Since the rows are incidence vectors of a set of -flats over the

    -flats in EG , no two rows can have more than one -component in common. This ensures that the Tanner graphof the code is free of cycles of length .

    For a given choice of , , , and , we can construct a se-quence of LDPC codes for of the same lengthwith different rates and minimum distances. For the special casewith consists of lines in EG notpassing through the origin. The incidence vectors of the lines in

    over nonzero points in EG , ordered as consecutivepowers of , have the property that a cyclic shift of the inci-dence vector of a line in is the incidence vector of anotherline in . Consequently, the matrix formed by using theincidence vectors of lines in can be arranged as a circulant.The set of columns is the same as the set of rows in reverseorder. Therefore, the columns of are also the incidencevectors of the lines in . Both row and column weights are .In this case, is a cyclic code. This specialcase has been recently discovered by Tang et al. [49]. There-fore, the construction presented here is a generalization of theirconstruction.

    Example 12: Let , , , and . Thefour-dimensional Euclidean geometry EG consists of5355 two-flats and 5355 one-flats not passing through the origin,respectively. The two-flats can be partitioned into 21 cyclicclasses. Suppose we take six cyclic classes for code construc-tion. We obtain a matrixwith row weight and column weights to . The null spaceof this matrix gives a LDPC code with ratewhose Tanner graph does not contain cycles of length . It is anirregular LDPC code. Its bit and block error performances areshown in Fig. 14. At the BER of , it performs 1.7 dB away

  • TANG et al.: CODES ON FINITE GEOMETRIES 587

    Fig. 14. Error performances of the (5355; 3852) and (4845;3342) EG codes in Example 12.

    from the Shannon limit. Suppose we remove all the columnsof weight from the parity-check matrix .We obtain a punctured matrix. The null space ofthis matrix gives a LDPC code with rate andminimum distance at least whose error performance is alsoshown in Fig. 14.

    Example 13: Let , , , and . Thelines in EG can be partitioned into ten cyclic classes,

    , and each class consists of 728 lines. For eachcyclic class , we can form a circulant matrix

    whose rows (or columns) are the incidence vectors of thelines in over the points in EG . Both column and rowweights of are . Suppose we split each columnof into nine columns of the same length such that eachnew column has weight . This results in a ex-tended matrix with constant row weight and con-stant column weight . For , suppose we take ex-tended matrices, , to form a

    matrix

    .

    .

    .

    (18)

    This matrix has column and row weights and , respectively.It is exactly in Gallager form of the parity-check matrix of anLDPC code. The null space of this matrix gives a regular Gal-lager EG-LDPC code of length with minimum distance atleast . Let . We obtain a code with

    rate very close to . Its bit and block error performances areshown in Fig. 15. At the BER of , it performs 1.2 dB awayfrom the Shannon limit.

    Construction of LDPC codes based on the cyclic structure ofhyperplanes in a projective geometry PG can be done ina similar manner. It has been shown in [50] that if the numberof points of a -flat and the number of points in the wholegeometry PG are relatively prime, then the -flats inPG can be partitioned into

    cyclic classes, each cyclic class consists of-flats.

    VII. ITERATIVE DECODING OF FINITE-GEOMETRY CODESWITH CYCLES OF LENGTH

    Except for the special case for which the codes are con-structed based on hyperplanes of two consecutive dimensions,finite-geometry codes in general contain many short cycles,especially cycles of length , in their Tanner graphs. These shortcycles cause decoding correlations after few decoding iterationswhen using SPA, and hence may prevent the decoding fromconverging to maximum-likelihood decoding (MLD). It is ageneral belief that codes with cycles of length in their Tannergraphs perform poorly with SPA. In this section, we show thatthis is not necessarily true. We show that some finite-geometrycodes with millions of cycles of length in their Tanner graphsdo perform well with SPA.

  • 588 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 15. Error performance of the (6552; 4370) Gallager EG code in Example 13.

    A. Iterative Decoding of CodesConsider the type-I cyclic EG code of

    length constructed based on the two-flats notpassing through the origin over the nonorigin points in the -di-mensional Euclidean geometry EG . The Tanner graph ofthis EG code contains

    (19)

    cycles of length (see Appendix C for derivation) where

    is the binomial coefficient. For the type-I PG code, the number of cycles of length

    contained in its Tanner graph is given in (20) at the bottom ofthe page.

    Example 14: Consider the type-I cyclic EG codegiven in Example 1. From (19), we find that the Tanner graphof this code contains 3 605 616 cycles of length and each codebit vertex is on 14 112 of these cycles. If this code is decoded

    with SPA, then after two decoding iterations, the subsequent de-coding iterations should become very much correlated and onewould expect that the decoding process will not converge andthe decoding performance will be very poor. Surprisingly, theerror performance of this code with SPA turns out to be verygood as shown in Fig. 16. No error floor is observed for BERsdown to . At the BER of , the code performs only 2dB from the Shannon limit. For such a short code, this result isvery impressive. Also included in Fig. 16 are the bit error per-formances of this code with the simple MLG and BF decodingsand the bit error performance of a computer generated LDPCcode of the same length and the same rate with SPA. We seethat the code outperforms the computer-generated LDPC code,and it achieves 1.8-dB coding gain over the simple MLG de-coding at the BER of . A factor that contributes to the gooderror performance of this code with SPA is the large row andcolumn weights of its parity-check matrix, both . At each de-coding iteration, 64 messages from check sums are passed toeach code bit and 64 messages from code bits are passed to eachcheck sum. Therefore, for decoding a code bit, contributionsfrom many other code bits are received at each iteration. Also,its large minimum distance helps the decoding convergence andprevents the error floor from occuring at a high BER.

    (20)

  • TANG et al.: CODES ON FINITE GEOMETRIES 589

    Fig. 16. Error performances of the (511; 448) type-I EG code with various decodings and a computer generated code decoded with SPA in Example 14.

    Example 15: Consider the type-I PG code givenin Example 2. From (20), we find that the Tanner graph of thiscode consists of 6 149 520 cycles of length and each codebit vertex is on 21 024 of these cycles. The bit error perfor-mance of this code decoded with SPA is depicted in Fig. 17.Again we see that this code performs very well. At the BER of

    , it performs 1.8 dB away from the Shannon limit. Also in-cluded in Fig. 17 are the performances of the code with MLGand BF decodings and the error performance of a computergenerated LDPC code. It outperforms the computer-generatedLDPC code and achieves 2.5- and 1.6-dB coding gains over thehard-decision MLG and BF decodings, respectively, at the BERof . The three decoding methods for the PGcode provides a tradeoff among the decoding complexity, de-coding delay, and error performance.

    Example 16: This example gives a longer EG code. Let, , , , and . Consider the

    type-I EG code constructed based on thethree-flats over one-flats both not passing through the originin the four-dimensional Euclidean geometry EG . Thiscode is a two-step MLG decodable code withminimum distance at least and rate . The parity-checkmatrix of this code has all the incidence vectors of three-flatsover one-flats in EG as rows. It is a matrixwith row and column weights, and , respectively. Theperformance of this code with SPA is shown in Fig. 18. Atthe BER of , it performs within 1.1 dB away from theShannon limit although its Tanner graph contains millions ofcycles of length .

    Short cycles in the Tanner graph of a finite-geometry codecan be removed or reduced in number by splitting the columnsand/or rows of the parity-check matrix of the code as suggestedin [33]. By doing this, we obtain an extended code which mayperform very well with SPA. For example, we consider the

    code given in Example 14. Suppose we split eachcolumn of its parity-check matrix into 16 columns of the samelength, each with weight . We obtain a code withrate . The error performance of this extended code withSPA is shown in Fig. 19. We see that at the BER of , itperforms within 0.9 dB away from the Shannon limit.

    Codes that perform well with iterative decoding can also beconstructed by partitioning the flats of certain dimension in anEuclidean geometry into parallel bundles. Consider the parallelbundles of -flats, , in EG . For the par-allel bundle , we form a matrix whoserows are the incidence vectors of the -flats in over the pointsin EG . Therefore, the rows and columns of this matrixcorrespond to the -flats in and the points in EG , re-spectively. Each row of has weight (the number ofpoints in a -flat) and each column of has weight . So

    is exactly in the form of a submatrix of the parity-checkmatrix of a Gallager LDPC code. For , form a

    matrix using of thematrices , say

    .

    .

    .

    (21)

  • 590 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 17. Error performances of the (585; 520) type-I PG code with various decodings and a computer-generated code decoded with SPA in Example 15.

    Fig. 18. Error performance of the (5355,5227) EG code in Example 16 decoded with SPA.

  • TANG et al.: CODES ON FINITE GEOMETRIES 591

    Fig. 19. Error performances of the (511; 448) type-I EG code in Example 14 and its (8176; 7666) extended code decoded with SPA.

    The row and column weights of this matrix are and , re-spectively. Let be the null space of thismatrix. For , if two -flats are not disjoint, they intersecton at most one -flat which contains points. There-fore, two rows in from two differentsubmatrices may have -components in common.Consequently, the Tanner graph ofmay contain many cycles of length . The parity-check matrix

    is in Gallagers form.

    Example 17: Let and . The three-dimen-sional Euclidean geometry EG over GF consistsof 512 points and 584 two-flats. The 584 two-flats can bepartitioned into 73 parallel bundles, denoted ,each consists of eight parallel two-flats. For each parallelbundle , we can form an matrix whoserows are the incidence vectors of the two-flats in overthe 512 points in EG . This matrix has row weightand column weight . For , form anmatrix as in (21). The row and columnweights of this matrix are and , respectively. The nullspace of this matrix gives a Gallager code with at mostparity-check bits. Choosing and , weobtain codes with various rates. Fig. 20 depicts the bit errorperformances of these codes. The codes with and

    are , , and codes with rates, , and , respectively. At the BER of ,

    they all perform about 2.1 dB away from their correspondingShannon limits. For and , they all give thesame EG code with rate . The difference in

    performance between and is less than 0.3 dBat the BER of . The difference in performance between

    and is less than 0.1 dB at the BER of .In fact, for these three s, their performance curves convergefor BERs less than . Therefore, in decoding thecode, we can use a smaller matrix with a smaller column weightto reduce decoding complexity with a very small performancedegradation.

    B. Hybrid Decoding of Finite-Geometry Codes

    With iterative decoding using SPA, cycles of length resultin decoding correlation only after two iterations. That is, aftertwo decoding iterations, the extrinsic estimate provided by acode bit as a contribution of a priori information for decodingother code bits comes back as part of a priori information fordecoding itself. Consequently, subsequent decoding iterationsbecome highly correlated. If the correlation effect becomes se-vere, the decoding process may not converge and the decodingperformance may become very poor. The decoding correlationeffect may be stopped by using a hybrid two-stage decoding.At the first stage, SPA is performed for only a few (say two)iterations. At the end of the second decoding iteration, hard de-cisions of code symbols are made based on their log-likelihoodratios (LLRs). This results in a hard-decision sequence whichis then decoded at the second stage using the hard-decision ma-jority-logic decoding (or other suitable hard-decision decodingalgorithm). This hybrid decoding method, called SPA2/MLGdecoding, is quite effective for decoding a finite-geometry code

  • 592 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Fig. 20. Error performances of the EG codes in Example 17.

    with large minimum distance and whose parity-check matrixhas large row and column weights.

    Example 18: We consider the hybrid two-stage SPA2/MLGdecoding of the code constructedbased on the two-flats over points in the four-dimensionalprojective geometry PG . Fig. 21 shows the performanceof the code decoded with the two-stage SPA2/MLG decodingas well as with SPA decoding, MLG decoding, and BF de-coding using 50 iterations. The performance is surprisinglyvery close to that of SPA alone with 200 decoding iterations.This conclusion is corroborated by Figs. 16 and 17 whichshow the error performances of the EG code andthe PG code given in Examples 14 and 15 with theproposed SPA2/MLG decoding. We see that substantial savingsin decoding complexity and an increase in decoding speed areobtained at the expense of a 0.6-dB performance loss at theBER of . For high-speed applications, this may be a goodtradeoff.

    VIII. CONCLUSION AND REMARKS

    In this paper, we first presented a large class of majority-logicdecodable codes constructed based on the hyperplanes of twodifferent dimensions in finite geometries. Most of codes in thisclass can be put in a quasi-cyclic form. Two multistep majority-logic decoding methods for this class of finite-geometry codeswere devised. A special subclass of this class of majority-logicdecodable codes is a class of regular LDPC codes whose Tanner

    graphs are free of cycles of length . LDPC codes in this sub-class are constructed based on hyperplanes of two consecutivedimensions in finite geometries and they perform well with iter-ative decoding using SPA. A special case of this class of LDPCcodes is the class of codes discovered by Kou, Lin, and Fossorier[33] and constructed based on lines and points of finite ge-ometries. We also presented two other classes of LDPC codeswhose constructions are based on the parallel and cyclic struc-tural properties of hyperplanes in finite geometries. Except fortwo special cases, LDPC codes in these two classes are irregular.

    We also presented some finite-geometry codes that may con-tain millions of short cycles (especially cycles of length ) intheir Tanner graphs but perform extremely well with SPA. Thisdiscovery has several implications. First, it gives a counterex-ample to the common belief that codes whose Tanner graphscontain short cycles do not perform well with iterative decoding.Second, the error performance of a code with iterative decodingdoes not solely depend on the distribution (or number) of shortcycles in its Tanner graph. It may depend on a combinationof several factors, such as: 1) the girth of the Tanner graphs;2) the structure of short cycles; 3) the number of short cyclesthat a code bit is on; 4) the parity-check matrix chosen for rep-resenting and decoding the code; 5) the column and row weightsof the parity-check matrix; 6) the minimum distance of the code;and 7) the weight and multiplicity of pseudocodewords of min-imum weight. These factors are simply based on our simulationobservations and preliminary analysis. They are definitely notconclusive and need to be further studied. The third implication

  • TANG et al.: CODES ON FINITE GEOMETRIES 593

    Fig. 21. Error performances of (341; 195) type-I PG code in Example 18 with various decodings.

    is that there may be many existing codes, such as BCH codes (ora subclass), which perform well with iterative decoding. BCHcodes indeed have many short cycles in their Tanner graphs,however, they have very good minimum distances. Our conjec-ture is that if we can construct an appropriate parity-check ma-trix to represent a BCH code, it may perform well with iterativedecoding.

    Our conjecture is at least supported by one example: theBCH code with minimum distance . If we use the

    conventional parity-check matrix formed in terms of the rootsof the generator polynomial of the code [41], then the perfor-mance of SPA is not even as good as the algebraic decodingusing the Berlekamp algorithm. If we use the parity-checkmatrix obtained by cyclic shifting the parity polynomial of thecode 63 times, the performance of SPA is only 0.2 dB betterthan the algebraic decoding. If we use a parity-check matrixwhose rows consist of all the minimum-weight vectors of thedual code of the BCH code, then the SPA performanceis only 0.2 dB away from the performance of the MLD and is1.4 dB better than the algebraic decoding at the BER of .However, this way of constructing parity-check matrix can onlybe done for a short code whose dual code has small dimension.Furthermore, using all the minimum-weight code vectors inthe dual code to form a parity-check matrix may result in alarge number of computations with SPA. If it is possible todetermine a small subset of the minimum-weight vectors in thedual code whose null space gives the code, then the number ofcomputations required for SPA can be significantly reduced.We did succeed in finding a square circulant matrixwith row and column weights of (minimum distance of the

    dual code) which forms a parity-check matrix for thecode. Decoding the code based on this circulant matrix withSPA results in a performance almost the same as that of theMLD. This result is very encouraging. Now the question ishow to find an appropriate parity-check matrix to representand decode a code with SPA. We believe that this is a soundresearch problem. This may open a door to find good codes thatperform well with iterative decoding without focusing entirelyon constructing LDPC codes which are free of short cycles (ingeneral, they have poor minimum distances).

    For codes introduced in Sections V and VI, choosing dif-ferent bundles or circulants may result in slight difference incode dimension and rate. However, based on our simulations,this difference in general has only minor impact on code perfor-mance and thus should not prevent readers constructing codesbased on their own choices from producing results close tothose presented in this paper.

    Finally, we notice that the codes constructed from finitegeometries have also low error floors, see Examples 9 and11. This is an important advantage over randomly constructedcodes. Optimizing the degree distributions of random codesleads to code bits that are checked by very few check sums,such as two and three. This is not the case for finite-geom-etry codes which typically have larger column weights andminimum distances than random codes. We believe that, as ageneral trend, by increasing the column weights and minimumdistances of finite-geometry codes, the error floor goes down.This belief is supported by the experimental evidence we haveobtained that finite-geometry codes have only small numberof low-weight pseudocodewords.

  • 594 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    APPENDIX AQUASI-CYCLIC STRUCTURE

    Consider the Galois field GF over GF as a real-ization of the -dimensional Euclidean geometry EG ,which consists of points and flats. There is a one-to-one cor-respondence between the elements in GF and the pointsin EG . The point corresponding to the zero element ofGF is called the origin of EG . In the following, weuse EG to denote EG without the origin and allthe flats passing through the origin. Let be a primitive elementof GF . A -flat in EG consists of points ofthe form , where arelinearly independent elements in GF and ).Note that are also linearly independentfor and hence they span another -flat, denotedby . We also have .

    An -dimensional projective geometry PG also con-sists of points and flats. Let GF be the Galois fieldover GF and be a primitive element of GF . Let

    and

    then is a primitive element of GF . The nonzero elementsin GF as powers of can be used to represent thepoints in PG . Two elements and represent thesame point if and only if for some nonzero element

    GF . Let denote the point represented by .Let be linearly independent points.Then, a -flat, denoted by , consists of the points in the form

    with GF not simultaneously zero. It canbe easily shown that are also lin-early independent for and hence, the points in theform constitute another -flat, which is denotedby . We also have .

    Let FG be either EG or PG . Let bethe number of points in FG and be a -flat in it. It isclear that . Let be the smallest positive integer suchthat . is called the cycle span of . If , issaid to be primitive.

    In [50], it has been shown that in a projective geometryPG , if the number of points in a -flat and thenumber of points in the whole geometry are relatively prime,then is primitive. This argument can be easily shown to betrue for EG .

    Since the number of points in a -flat of EG isand the number of points in EG is , they arerelatively prime. Therefore, all the flats in EG areprimitive.

    A -flat in PG is in general not primitive, but it isprimitive in the following two cases: 1) and is even[49], [50]; 2) [50]. Furthermore, it has also beenshown that for and is odd, there are exactly

    nonprimitive -flats (or lines) whichcan be represented by for a certain -flat , where

    [49].

    Let be a -flat in EG . Since is primitive,are distinct. Therefore, all the - flats in

    EG can be partitioned into the following

    disjoint cyclic classes:

    .

    .

    .

    (22)

    where is an arbitrary -flat in the th cyclicclass and used as a representative of the class.

    In the following, we construct a matrix whose rowvectors are all the incidence vectors of -flats over -flatsin EG . Suppose that all the -flats in EGcan be partitioned into disjoint cyclic classes, denoted by

    , and all the -flats in EGcan be partitioned into disjoint cyclic classes, denoted by

    . Let be the matrix whose rowvectors are incidence vectors of -flats in over the

    -flats in . Let the th row and column of corre-spond to the -flat , and the -flat , respectively,where . It is obvious that if contains

    for some , then must contain. This says that the incidence vector of

    is a cyclic shift of the incidence vector of , both over the-flats in . Hence, is a circulant matrix. By forming

    all the matrices s for each pair of and withand , we can eventually put in the

    following form:

    (23)

    where each submatrix is a circulantsquare matrix. Let denote the code generated by the nullspace of . It follows from the structure of that is quasi-cyclic [44]. If , reduces to a cyclic code. A specialcase is that the rows of are simply the incidence vectors ofthe -flats over the points in EG . It is clear that the nullspace of also generates a quasi-cyclic code.

    In an -dimensional projective geometry PG , we cansimilarly find the corresponding s, , and . The dif-ference from the EG case is that, since the flats in PGmay not be primitive, some of the s may be nonsquare ma-trices. It can be seen that if all the -flats are primitive, thequasi-cyclic structure of is not destroyed. Therefore, we con-clude that for the following cases, constructed based onPG is a quasi-cyclic code: 1) and is even;2) . When , reduces to a cyclic code forthe above two cases, and for , is always cyclic.

  • TANG et al.: CODES ON FINITE GEOMETRIES 595

    APPENDIX BROOTS OF THE GENERATOR POLYNOMIALS

    Let be a nonnegative integer less than . Then can berepresented in radix- form as follows:

    (24)where for . The -weight of ,denoted , is defined as the real sum of the coefficients inthe radix- expansion of , i.e.,

    (25)

    Let be the remainder resulting from dividing by. Then the radix- weight of can be

    computed as above. Let be a primitive element of GF .Then the generator polynomial of the type-I cyclic EG code

    of length constructed based on-flats over nonorigin points in EG has as a root if

    and only if(26)

    see [41, Ch. 8].Let be a primitive element of GF . Let be a

    nonnegative integer less than . Then the generatorpolynomial of the type-I PG code of length

    constructed based on -flats over pointsin PG has as a root if and only if is divisible by

    and(27)

    with , see [41, Ch. 8].If follows from (26) and (27) that the generator polyno-

    mials of the EG code given in Example 1 and thePG code given in Example 2 can be determined.

    APPENDIX CENUMERATION OF CYCLES OF LENGTH

    In this appendix, we derive (19) and (20). First, we consider(19). We want to show that the Tanner graph of the Euclideangeometry code has

    cycles of length . Consider two distinct columns in the parity-check matrix indexed by the two points and . There isa line connecting these two points. If this line passes throughthe origin, then no two-flat contains and and does notpass through the origin. On the other hand, there are

    unordered pairs of points in EG that areconnected by a line not passing through the origin. Since thereare two-flats not passing through theorigin containing such line, the number of four-cycles is as givenabove.

    Next, we consider (20). We want to show that the Tannergraph of the projective geometry code hasthe number of cycles of length shown in the equation at thebottom of the page. Consider two distinct columns in the parity-check matrix indexed by the two -flats and . In partic-ular, is a subspace of dimension forsome . Let be the number of -flatscontaining both and . As these two flats have precisely

    linearly independent vec-tors, then if . Therefore, we assume in thefollowing that . Then there are

    choices of linearly independent vectors that extendto a -flat, i.e., a space of dimension except

    for zero. On the other hand, there are

    choices of these vectors associated with the same-flat. Hence,

    (28)

    Next, we count the number of pairs of distinct -flats andsuch that is a subspace of dimension

    . Clearly, this number is the product of the numbers , ,and , defined and determined below using the same countingargument presented above.

    The number of spaces of dimension : This number,denoted by , is given by

    (29)

    The number of subspaces of dimension containing agiven subspace of dimension : This number, denotedby , is given by

    (30)

    The number of -dimensional subspaces inter-secting a given -dimensional space in a given

    -dimensional subspace contained in the given-dimensional space: This number, denoted by ,

    is given by

    (31)

    The number of cycles of length is then ,summed over all such that

  • 596 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 51, NO. 2, FEBRUARY 2005

    Notice that , and, therefore, the product is zero,if . Using (28)(31), one can verify theexpression given by (20).

    REFERENCES[1] R. G. Gallager, Low density parity check codes, IRE Trans. Inf.

    Theory, vol. IT-8, no. 1, pp. 2128, Jan. 1962.[2] D. J. C. MacKay and R. M. Neal, Near Shannon limit performance of

    low density parity check codes, Electron. Lett., vol. 32, pp. 16451646,Aug. 1996.

    [3] M. Sipser and D. Spielman, Expander codes, IEEE Trans. Inf. Theory,vol. 42, no. 6, pp. 17101722, Nov. 1996.

    [4] D. Spielman, Linear-time encodable error-correcting codes, IEEETrans. Inf. Theory, vol. 42, no. 6, pp. 17231731, Nov. 1996.

    [5] M. C. Davey and D. J. C. MacKay, Low density parity check codes overGF(q), IEEE Commun. Lett., vol. 2, no. 6, pp. 165167, Jun. 1998.

    [6] D. J. C. MacKay, Good error-correcting codes based on very sparsematrices, IEEE Trans. Inf. Theory, vol. 45, no. 2, pp. 399432, Mar.1999.

    [7] T. Richardson and R. Urbanke, The capacity of low-densityparity-check codes under message-passing decoding, IEEE Trans.Info. Theory, vol. 47, no. 2, pp. 599618, Feb. 2001.

    [8] T. Richardson, A. Shokrollahi, and R. Urbanke, Design of capacity-approaching low density parity check codes, IEEE Trans. Inf. Theory,vol. 47, no. 2, pp. 619637, Feb. 2001.

    [9] S. Y. Chung, G. D. Forney, T. Richardson, and R. Urbanke, On the de-sign of low-density parity-check codes within 0.0045 dB of the Shannonlimit, IEEE Commun. Lett., vol. 5, no. 2, pp. 5860, Feb. 2001.

    [10] R. M. Tanner, A recursive approach to low complexity codes, IEEETrans. Inf. Theory, vol. IT-27, no. 5, pp. 533547, Sep. 1981.

    [11] L. D. Rudolph, Geometric Configuration and Majority Logic DecodingCodes, M.E.E. thesis, Univ. Oklahoma, Norman, OK, 1964.

    [12] , A class of majority-logic decodable codes, IEEE Trans. Inf.Theory, vol. IT-13, no. 2, pp. 305307, Apr. 1967.

    [13] E. J. Weldon Jr., Difference-set cyclic codes, Bell Syst. Tech. J., vol.45, pp. 10451055, Sep. 1966.

    [14] K. J. C. Smith, Majority decodable codes derived from finite geome-tries, University of North Carolina, Chapel Hill, NC, vol. 561, Instituteof Statistics Mimeo Series, 1967.

    [15] E. J. Weldon Jr., Euclidean geometry cyclic codes, in Proc. Combina-torial Mathematics and its Application, R. C. Bose and T. A. Dowling,Eds. Chapel Hill, NC: Univ. North Carolina Press, 1967, pp. 377388.

    [16] , New generalizations of the Reed-Muller codes, Part II:Non-primitive codes, IEEE Trans. Inf. Theory, vol. IT-14, no. 2, pp.199205, Mar. 1968.

    [17] J. M. Geothals and P. Delsarte, On a class of majority-logic decodablecodes, IEEE Trans. Inf. Theory, vol. IT-14, no. 2, pp. 182189, Mar.1968.

    [18] E. J. Weldon Jr., Some results on majority-logic decoding, in Error-Correcting Codes, H. Mann, Ed. New York: Wiley, 1968.

    [19] T. Kasami, S. Lin, and W. W. Peterson, Polynomial codes, IEEE Trans.Inf. Theory, vol. IT-14, no. 6, pp. 807814, Nov. 1968.

    [20] P. Delsarte, A geometric approach to a class of cyclic codes, J. Comb.Theory, vol. 6, pp. 340358, 1969.

    [21] P. Delsarte, J. M. Goethals, and J. MacWilliams, On GRM and relatedcodes, Inf. Contr., vol. 16, pp. 403442, 1970.

    [22] C. L. Chen, On majority-logic decoding of finite geometry codes,IEEE Trans. Inf. Theory, vol. IT-17, no. 3, pp. 332336, May 1971.

    [23] T. Kasami and S. Lin, On majority-logic decoding for duals of primi-tive polynomial codes, IEEE Trans. Inf. Theory, vol. IT-17, no. 3, pp.322331, May 1971.

    [24] S. Lin, Multifold Euclidean geometry codes, IEEE Trans. Inf. Theory,vol. IT-19, no. 4, pp. 537548, Jul. 1973.

    [25] , On the number of information symbols in polynomial codes,IEEE Trans. Inf. Theory, vol. IT-18, no. 6, pp. 785794, Nov. 1972.

    [26] N. Hamada, On the p-rank of the incidence matrix of a balanced orpartial balanced incomplete block design and its applications to errorcorrecting codes, Hiroshima Math. J., vol. 3, pp. 153226, 1973.

    [27] C. R. P. Hartmann, J. B. Ducey, and L. D. Rudolph, On the structure ofgeneralized finite geometry codes, IEEE Trans. Inf. Theory, vol. IT-20,no. 2, pp. 240252, Mar. 1974.

    [28] S. Lin and K. P. Yiu, An improvement to multifold Euclidean geometrycodes, Inf. Contr., vol. 28, no. 3, pp. 221265, 1975.

    [29] A. Hocquenghem, Codes correcteurs derreurs, Chiffres, vol. 2, pp.147156, 1959.

    [30] R. C. Bose and D. K. Ray-Chaudhuri, On a class of error correctingbinary group codes, Inf. Contr., vol. 3, pp. 6879, Mar. 1960.

    [31] I. S. Reed and G. Solomon, Polynomial codes over certain finite fields,J. Soc. Indust. Appl. Math., vol. 8, pp. 300304, Jun. 1960.

    [32] Y. Kou, S. Lin, and M. Fossorier, Construction of low density paritycheck codes: A geometric approach, in Proc. 2nd Int. Symp. TurboCodes and Related Topics, Brest, France, Sep. 47, 2000, pp. 137140.

    [33] , Low-density parity-check codes based on finite geometries: Arediscovery and new results, IEEE Trans. Inf. Theory, vol. 47, no. 7,pp. 27112736, Nov. 2001.

    [34] R. J. McEliece, D. J. C. MacKay, and J. -F. Cheng, Turbo decoding asan instance of Pearls belief propagation algorithm, IEEE J. Sel. AreasCommun., vol. 16, no. 2, pp. 140152, Feb. 1998.

    [35] F. R. Kschischang, B. J. Frey, and H.-A. Loeliger, Factor graphs andthe sum-product algorithm, IEEE Trans. Inf. Theory, vol. 47, no. 2, pp.498519, Feb. 2001.

    [36] Z. W. Li, L. Chen, and S. Lin, Efficient encoding of quasi-cyclic LDPCcodes, IEEE Trans. Commun., submitted for publication.

    [37] H. B. Mann, Analysis and Design of Experiments. New York: Dover,1949.

    [38] R. D. Carmichael, Introduction to the Theory of Groups of FiniteOrder. New York: Dover, 1956.

    [39] A. P. Street and D. J. Street, Combinatorics of Experimental De-signs. Oxford, U.K.: Oxford Sci., Clarendon, 1987.

    [40] I. Blake and R. C. Mullin, The Mathematical Theory of Coding. NewYork: Academic, 1975.

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

    [42] D. E. Muller, Applications of Boolean algebra to switching circuit de-sign and to error detection, IRE Trans. Electron. Comput., vol. EC-2,pp. 612, Sep. 1954.

    [43] I. S. Reed, A class of multiple-error-correcting codes and the decodingscheme, IRE Trans. Inf. Theory, vol. IT-4, no. 4, pp. 3849, Sep. 1954.

    [44] W. W. Peterson and E. J. Weldon Jr., Error Correcting Codes, 2nded. Cambridge, MA: MIT Press, 1972.

    [45] J. L. Massey, Threshold Decoding. Cambridge, MA: MIT Press, 1963.[46] T. Richardson, Error floors of LDPC codes, in Proc. Allerton Conf.

    Communication, Control and Computing, Monticello, IL, Oct. 2003, pp.14261435.

    [47] P. O. Vontobel and R. Koetter, Lower bounds on the minimum pseudo-weight of linear codes, in Proc. IEEE Int. Symp. Information Theory,Chicago, IL, Jun./Jul. 2004, p. 70.

    [48] R. M. Tanner, Minimum-distance bounds by graph analysis, IEEETrans. Inf. Theory, vol. 47, no. 2, pp. 808821, Feb. 2001.

    [49] H. Tang, J. Xu, Y. Kou, S. Lin, and K. Abdel-Ghaffar, On algebraicconstruction of Gallager and circulant low-density parity-check codes,IEEE Trans. Inf. Theory, vol. 50, no. 6, pp. 12691279, Jun. 2004.

    [50] R. Lidl and H. Niederreiter, Introduction to Finite Fields and their Ap-plications, revised ed. New York: Cambridge Univ. Press, 1994.

    tocCodes on Finite GeometriesHeng Tang, Member, IEEE, Jun Xu, Member, IEEE, Shu Lin, Life FelI. I NTRODUCTIONII. G EOMETRIES O VER F INITE F IELDSIII. M ULTISTEP M AJORITY -L OGIC D ECODABLE C ODES AND D ECODINA. The CodesB. Multistep Majority-Logic Decoding of Type-I FG CodesC. Multistep Majority-Logic Decoding of Type-II FG CodesExample 1: Let $m=s=3$, $\mu _{2}=2$, $\mu _{1}=0$, and $p=2$ . Fig. 1. Error performance of the $(511, 448)$ type-I EG code in

    Example 2: Let $m=s=3$, $\mu _{2}=2$, $\mu _{1}=0$, and $p=2$ . Example 3: Let $m=4$, $\mu _{2}=3$, $\mu _{1}=1$, $s=2$, and $p=Example 4: This example gives a type-II EG code. Let $m=6$, $\mu

    D. Quasi-Cyclic StructureFig. 2. Error performance of the $(585, 520)$ type-I PG code in Fig. 3. Error performance of the $(5440,5295)$ type-I EG code inFig. 4. Error performance of the $(11160, 10298)$ type-II EG cod

    IV. F INITE -G EOMETRY LDPC C ODES

    Fig. 5. Error performance of the $(4672,4272)$ type-I EG code inExample 5: Let $m=s=3$, $\mu =2$ and $p=2$ . The three-dimensionExample 6: Let $m=s=3$, $\mu =2$, and $p=2$ . The three-dimensioFig. 6. Error performances of the $(584, 184)$ type-II EG code a

    Example 7: This example gives a type-II EG-LDPC code. Let $m=3$,Example 8: Let $m=3$, $s=4$, $\mu =2$, and $p=2$ . The three-dimFig. 7. Error performance of the $(4745,4344)$ type-I PG code inFig. 8. Error performance of the $(2793,2450)$ type-II EG code iFig. 9. Error performances of the $(69888, 67088)$ type-I EG cod

    Example 9: Let $m=2$, $s=5$, $\mu =1$ and $p=2$ . Consider the tV. G ALLAGER -L IKE LDPC C ODESFig. 10. Error performance of the $(1024, 781)$ type-I EG code a

    Fig. 11. Error performances of the $(7128,6588)$ and the $(6156,Example 10: Let $m=3$, $\mu =2$, $s=2$, and $p=3$ . The three-diExample 11: Again we consider the two-dimensional Euclidean geom

    Fig. 12. Error performance of the $(1024, 821)$ Gallager EG codeVI. C ONSTRUCTION OF LDPC C ODES B ASED ON C YCLIC S TRUCTURE OF

    Fig. 13. Error performance of the $(1024, 833)$ Gallager EG codeExample 12: Let $m=4$, $\mu =2$, $s=2$, and $p=2$ . The four-dimFig. 14. Error performances of the $(5355, 3852)$ and $(4845, 33

    Example 13: Let $m=3$, $\mu =1$, $s=2$, and $p=3$ . The lines inVII. I TERATIVE D ECODING OF F INITE -G EOMETRY C ODES W ITH C Y

    Fig. 15. Error performance of the $(6552, 4370)$ Gallager EG codA. Iterative Decoding of CodesExample 14: Consider the type-I cyclic $(511, 448)$ EG code giveFig. 16. Error performances of the $(511, 448)$ type-I EG code w

    Example 15: Consider the $(585, 520)$ type-I PG code given in ExExample 16: This example gives a longer EG code. Let $m=4$, $s=2

    Fig. 17. Error performances of the $(585, 520)$ type-I PG code wFig. 18. Error performance of the (5355,5227) EG code in ExampleFig. 19. Error performances of the $(511, 448)$ type-I EG code iExample 17: Let $m=s=3$ and $p=2$ . The three-dimensional EuclidB. Hybrid Decoding of Finite-Geometry Codes

    Fig. 20. Error performances of the EG codes in Example 17.Example 18: We consider the hybrid two-stage SPA2/MLG decoding oVIII. C ONCLUSION AND R EMARKS

    Fig. 21. Error performances of $(341, 195)$ type-I PG code in ExQ UASI -C YCLIC S TRUCTURER OOTS OF THE G ENERATOR P OLYNOMIALSE NUMERATION OF C YCLES OF L ENGTH $4$R. G. Gallager, Low density parity check codes, IRE Trans. Inf. D. J. C. MacKay and R. M. Neal, Near Shannon limit performance oM. Sipser and D. Spielman, Expander codes, IEEE Trans. Inf. TheoD. Spielman, Linear-time encodable error-correcting codes, IEEE M. C. Davey and D. J. C. MacKay, Low density parity check codes D. J. C. MacKay, Good error-correcting codes based on very sparsT. Richardson and R. Urbanke, The capacity of low-density parityT. Richardson, A. Shokrollahi, and R. Urbanke, Design of capacitS. Y. Chung, G. D. Forney, T. Richardson, and R. Urbanke, On theR. M. Tanner, A recursive approach to low complexity codes, IEEEL. D. Rudolph, Geometric Configuration and Majority Logic DecodiE. J. Weldon Jr., Difference-set cyclic codes, Bell Syst. Tech. K. J. C. Smith, Majority decodable codes derived from finite geoE. J. Weldon Jr., Euclidean geometry cyclic codes, in Proc. CombJ. M. Geothals and P. Delsarte, On a class of majority-logic decE. J. Weldon Jr., Some results on majority-logic decoding, in ErT. Kasami, S. Lin, and W. W. Peterson, Polynomial codes, IEEE TrP. Delsarte, A geometric approach to a class of cyclic codes, J.P. Delsarte, J. M. Goethals, and J. MacWilliams, On GRM and relaC. L. Chen, On majority-logic decoding of finite geometry codes,T. Kasami and S. Lin, On majority-logic decoding for duals of prS. Lin, Multifold Euclidean geometry codes, IEEE Trans. Inf. TheN. Hamada, On the ${\rm p}$ -rank of the incidence matrix of a bC. R. P. Hartmann, J. B. Ducey, and L. D. Rudolph, On the structS. Lin and K. P. Yiu, An improvement to multifold Euclidean geomA. Hocquenghem, Codes correcteurs d'erreurs, Chiffres, vol. 2, R. C. Bose and D. K. Ray-Chaudhuri, On a class of error correctiI. S. Reed and G. Solomon, Polynomial codes over certain finite Y. Kou, S. Lin, and M. Fossorier, Construction of low density paR. J. McEliece, D. J. C. MacKay, and J. -F. Cheng, Turbo decodinF. R. Kschischang, B. J. Frey, and H.-A. Loeliger, Factor graphsZ. W. Li, L. Chen, and S. Lin, Efficient encoding of quasi-cycliH. B. Mann, Analysis and Design of Experiments . New York: DoverR. D. Carmichael, Introduction to the Theory of Groups of FiniteA. P. Street and D. J. Street, Combinatorics of Experimental DesI. Blake and R. C. Mullin, The Mathematical Theory of Coding . NS. Lin and D. J. Costello Jr., Error Control Coding: FundamentalD. E. Muller, Applications of Boolean algebra to switching circuI. S. Reed, A class of multiple-error-correcting codes and the dW. W. Peterson and E. J. Weldon Jr., Error Correcting Codes, 2ndJ. L. Massey, Threshold Decoding . Cambridge, MA: MIT Press, 196T. Richardson, Error floors of LDPC codes, in Proc. Allerton ConP. O. Vontobel and R. Koetter, Lower bounds on the minimum pseudR. M. Tanner, Minimum-distance bounds by graph analysis, IEEE TrH. Tang, J. Xu, Y. Kou, S. Lin, and K. Abdel-Ghaffar, On algebraR. Lidl and H. Niederreiter, Introduction to Finite Fields and t