On the Gröbner basis of a family of quasi-cyclic LDPC codes July 21, 2005 Marta Giorgetti (giorge@matunimiit) Department of Mathematics, University of Milan, Italy Marta Rossi (martarossi@possodmunipiit) Department of Mathematics and Appl, University of Milan-Bicocca, Italy Massimiliano Sala (msala@bcriuccie) Boole Centre for Research in Informatics, UCC Cor, Ireland Abstract In [6] a class of quasi-cyclic LDPC codes has been proposed, whose information rate is 1/2 We generalize that construction to arbitrary rates 1/s and we provide a Gröbner basis for their dual codes, under a non-restrictive condition As a consequence, we are able to determine their dimension 1 Introduction In R Bresnan s Master thesis ([1]), a class of quasi-cyclic LDPC codes has been proposed The LDPC codes (see Section 22) are codes with an excellent decoding performance and are usually constructed via probabilistic algorithms, preventing an accurate study of their properties (see [3], [8], [19], [21], [22], [28], [29], [30], [33], [34], [35]) On the other hand, quasi-cyclic codes are algebraic codes and allow a rigorous study via the Groebner basis approach introduced by K Lally and P Fitzpatric ([17]) In [6] it has been shown that some simple algebraic conditions on the Gröbner basis elements guarantee good decoding performance for the Bresnan codes A Gröbner 1
basis for the dual code has also been presented However, the codes in [6] are only 1/2-rate codes In this paper we generalize Bresnan s construction to 1/s-rate codes and provide a Gröbner basis for their dual codes, under a non-restrictive condition Again, we can determine their dimension This paper is organized as follows: an introductory section; Section 2, where we provide our notation and recall some relevant wellnown facts, particulalrly on quasi-cyclic and LDPC codes, Section 3, where we define our family of quasi-cyclic LDPC codes and show the Gröbner basis of their duals, Section 4, where we draw some conclusions and plan further research 2 Preliminaries and notation In this section we recall some nown facts and give some notation There are four sub-sections: one on circulant matrices and their polynomial representation, one on LDPC codes, one on the Gröbner basis representation of quasi-cyclic codes and one on the Bresnan codes 21 Circulant matrices Binary circulant matrices are important for our goals, as they form the brics with which we build our parity-chec matrices Definition 21 Let m 3 Let C be an m m matrix over Z 2 We say that C is circulant if its rows are obtained by successive shifts (on the right) We say that C is weight-2 if the weight of any row is 2 The polynomial representation of the first row, p(x) Z 2 [x], is called the polynomial of C Consider for example the following weight-2 circulant matrix 1 1 0 0 0 0 1 1 0 0 C = 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 Its polynomial is p = x + 1 and m = 5 2
22 LDPC codes The parity-chec matrix H = (h i,j ) of any binary [n,, d] linear code C can be represented by a graph, nown as the Tanner graph ([32, 33]) The Tanner graph is formed by two types of nodes: the bit nodes and the chec nodes Bit nodes correspond to matrix columns and chec nodes correspond to matrix rows, so that there are r = n chec nodes and n bit nodes We connect the chec node i to the bit node j if and only if the entry h i,j = 1 There is no edge connecting two chec nodes or two bit nodes (this ind of graph is called a bipartite graph) Now we introduce LDPC codes - Low-Density Parity-Chec - a class of linear error correcting codes Historically, these codes were discovered by Gallager in 1963 in his PhD thesis [4] These codes were largely ignored, because of some implementation issues In the 1990 s they were rediscovered by MacKay [19] and now the research continues vigorously, with dozens of papers published every year Definition 22 An LDPC code is a linear bloc code for which the parity chec matrix has a low density of non-zero entries An (r, c)-regular LDPC code is a linear code whose parity chec matrix H contains exactly c ones per column and r ones per row We do not specify what we mean by low density because it depends on the context For example, for a typical (3,6)-regular binary code (rate 1/2) of bloc length n, there are only three ones in each column of H and so the fraction of ones in this matrix is 6/n The LDPC codes have excellent decoding performance, near to the channel capacity ([4, 19, 28]), but their performance is heavily hindered by the presence of small cycles in the Tanner graph ([35]) In fact, the parameter that mostly affects the behaviour of their decoding algorithm is the girth of its Tanner graph Definition 23 In a graph, a cycle is a path that starts from a vertex v and ends in v The girth of a graph is the smallest of its cycles Some structured LDPC codes have appeared (see [9], [?], [10], [14], [15], [16], [25], [26], [31], [32]) 3
23 Quasi-cyclic codes and Gröbner bases In this section we summarize some algebraic properties of quasi-cyclic code, which have been investigated in [17, 18] As a quasi-cyclic code turns out to be represented as a sub-module of a module over a polynomial ring, the main tools will be (module) Gröbner bases We expect the reader to be familiar with Gröbner bases for modules and so we will use them without any further comment In particular, we will use the standard abbreviation POT for the Position Over Term monomial ordering Quasi-cyclic codes of index l over a (finite) field F are defined by the property that a cyclic shift of a codeword by l places is another codeword Many such codes have been discovered with minimum distance exceeding that previously nown for any linear code of the same length and dimension, or, indeed, taing the maximum possible value Early studies by Chen et al [2], Karlin [11, 12], and Townsend and Weldon [36] established connections between quasi cyclic codes, multi-circulant, and power residue codes, while [13] showed that quasi cyclic codes meet a modified Gilbert Varshamov bound Currently, Zhi Chen maintains a searchable database of quasi-cyclic codes at [37] Generally, a quasi-cyclic code of length lm and index l may be represented as the row space of a bloc matrix, each row of which has the form (G 1,, G l ), where G i is an m m circulant These rows, or the equivalent polynomial vectors, are conventionally called generators For the remainder of this subsection, we will use the word code to mean quasi-cyclic code and we will denote by C any such code Let C be a code of length lm and index l where l is defined as the smallest power of the cyclic shift operator under which C is invariant By a coordinate permutation we may assume that each element of C can be represented as a vector c = (c 1 (x),, c l (x)) of polynomials of degree less than m In this form the defining property of C is that it is closed under multiplication by x and reduction modulo x m 1 in each component, that is, c C implies xc = (xc 1 (x) mod x m 1,, xc l (x) mod x m 1) C If R = F [x]/ x m 1, where F is a finite field, this implies that C is an R submodule of R l, which is the precise generalization of the structure of a cyclic code It follows that the preimage C of C in F [x] l is an F [x] submodule containing K = (x m 1)e i, i = 1,, l where e i is the standard basis vector with 1 in position i and 0 elsewhere The tilde will be used conventionally throughout to represent structures over F [x] 4
Since C is a submodule of the finitely generated free module over the principal ideal domain F [x] and contains K, it has a generating set of the form {r i, i = 1,, t, (x m 1)e j, j = 1,, l}, where r i = (r i1,, r il ) In particular Theorem 21 ([17]) With notation as above, C is generated by the rows of r 11 r 1l r 21 r 2l M = r t1 r tl x m 1 0 0 x m 1 Using elementary row operations in F [x] we may triangularise M and get a triangular generating set G = {g 1,, g l } of C g 11 g 12 g 1l (1) G = 0 g 22 g 2l 0 0 g ll where the diagonal component g ii divides x m 1 for all i Note that g i 0 for all i Each non-zero element of C may be expressed in the form (0,, 0, c r,, c l ), where r 1 and c r 0 Writing this as an F [x] linear combination l i=1 a ig i, it is immediate that c r is divisible by the corresponding diagonal component g rr This implies that G is a Gröbner basis of C with respect to the position-over-term (POT) order in F [x] l, where e 1 > > e l and the monomials x i are ordered naturally in each component Using further elementary operations we can guarantee that (2) g ij < g jj for i < j and then G is the reduced Gröbner basis of C This is uniquely defined up to multiplication by constants The following theorem describes the structure of G Theorem 22 ([17]) Each submodule C of F [x] l containing K has a reduced Gröbner basis of the form (3) G = {gi = (g i1, g i2,, g il ), i = 1,, l}, where 5
(i) g ij = 0 for all j < i, (ii) g i < g ii for < i, (iii) if the left-most non-zero component of an element of C lies in the i th place then it is divisible by g ii ; in particular, g ii divides x m 1, (iv) if g ii = x m 1 then g i = (x m 1)e i, (v) the F dimension of F [x] l / C is l i=1 deg(g ii) It is possible to give an alternative description for G Theorem 23 ([17]) The set G is a Gröbner basis of a submodule F [x] l containing K if and only if there exist a ij for 1 i, j l satisfying 0 if j < i (4) a ij = x m 1 g ii 1 ( j 1 ) =i g a ig j jj if j = i if j > i Moreover the corresponding equations with the roles of g ij, a ij interchanged also hold, and m g ii = a ii for all i The Gröbner basis is reduced if and only if g ii > g ji for all j < i, if and only if a ii > a ij for all j > i The code C is the image of C under the natural homomorphism ϕ : F [x] l R l, (c 1,, c l ) (c 1 + x m 1,, c l + x m 1 ) Dropping the coset notation we see immediately that C has an R generating set G comprising the elements of a Gröbner basis G not mapped to zero under ϕ, that is, those elements not of the form (x m 1)u for some u F [x] l We refer to this set of generators as a GB generating set of C This is crucial to determine the dimension of our code Theorem 24 ([17]) The dimension of the code C with GB generating set {ϕ(g i ), i = 1,, l} is given by lm l deg(g ii ) = i=1 l (m deg(g ii )) i=1 6
24 Bresnan codes In this subsection we recall the Bresnan codes and their properties, that have been introduced and investigated in [6] Definition 24 ([6]) Let α, m be positive integers such that α 4, m 3 We denote by H m,α the class of the (mα 2mα) matrices of the form H1 1 0 0 I H1 2 I 0 0 I H 2 1 0 0 0 H 2 2 I H = 0 I 0 0 0 0 I 0 0 I Hα 1 I 0 0 Hα 2 where every H c i, with c {1, 2} and i {1, 2,, α}, is an m m binary weight-2 circulant matrix A code with a parity-chec matrix H H m,α will be called from now on a Bresnan code In [6] three main results for the Bresnan codes have been found: Th 735 [6] provides necessary and sufficient conditions on a Bresnan code to have girth g 8; Th 72 [6] shows the Gröbner basis of dual codes for Bresnan codes under a non-restrictive condition; this result is generalized in the present paper (Th 31); Cor 73 [6] gives the dimension of the Bresnan codes, under the hypotheses of Th 72 [6]; this will be generalized in the present paper (Cor 31) For comparison, we recall Cor 73 [6]: Corollary 21 (Cor 73 [6]) Let m be a positive integer such that m 3 Let H be in H m,4 Let C be the Bresnan code admitting H as a parity-chec matrix If gcd(x m + 1, 1 + p 1 h) = 1 1 h 4 then the dimension of C is = 4m (and hence it is a code with rate 1/2) 7
3 A class of quasi-cyclic LDPC codes In this section we propose a new family of quasi-cyclic LDPC codes Definition 31 Let α, m be positive integers such that α 4, m 3 Let 2 i α We denote by H i,α,m the family of all binary matrices of type H1 i 0 0 I1 i 0 0 0 H2 i 0 0 I2 i 0 0 0 0 H i α i+1 I i α i+1 I i α i+2 H i α i+2 0 0 I i α i+3 0 0 0 Iα i 0 0 Hα i where Hh i, with h {1, α}, is an m m binary weight-2 circulant matrix, Ih i, with h {1, α}, is an m m identity matrix, the sub-matrix I i 1 is in position (1, i) and the others shift consecutively on the right We denote by p i h the polynomial of Hi h Definition 32 Let α, m, l be positive integers such that α 4, m 3 and 2 l α 1 Let S = {s 1,, s l } be any l element sub-set of {2, α} st s 1 = α We denote by B m,α,s the set of all matrices of ind (5) [ As1 A sl ], with A sj H s j,α,m 8
Observe that any matrix in B m,α,s can be a parity-chec matrix for a quasi-cyclic LDPC code These codes are the object of our present study The Bresnan codes form a sub-class of our codes, since clearly H m,α = B m,α,{α,2} The next definition is essential to describe the Gröbner basis of the dual codes of our codes Definition 33 Let α, m be positive integers such that α 4, m 3 Let S = {s 1, s 2,, s l } {2,, α}, with s 1 = α Let B be in B m,α,s of type B = [A s1 A sl ] Let p s j h be the polynomial of Hs j h in A s j, for s j S and h = 1,, α For any 0 α, we define the following polynomials: { (6) P (B) = h=1 pα h if 0 1 if = 0 (7) S s j (B) = 0 if = 0 P sj +α + p s j P 1 if 1 s j P sj + p s j P 1 if > s j When B is understood we will shorten P (B) and S s j (B) to, respectively, P and S s j The next theorem is our main result and describe completely the Gröbner basis of dual codes of our codes (under a non-restrictive hypothesis) Theorem 31 Let α, m be positive integers such that α 4, m 3 Let S = {s 1, s 2,, s l } {2,, α}, with s 1 = α Let B be in B m,α,s, B = [A s1 A sl ] Let C the code with parity-chec matrix B Let D be the dual code of C Let p s j h be as in Definition 31 Suppose that (8) gcd(1 + P α, x m + 1) = 1 and let (9) µ, λ Z 2 [x] st µ(1 + P α ) + λ(x m + 1) = 1 Then the reduced Gröbner basis G of D wrt POT ordering is: Ẽ s1 Ẽ s2 Ẽ sl 0 M 0 0 0 (10) 0 0 0 M where 9
Ẽs 1 = Ẽα is an α α matrix that has the main diagonal composed of 1 s, the second main superior diagonal composed of p α h, h = 2,, α and any other entry is zero, as follows: 1 p α 2 0 0 0 1 p α 3 0 0 1 0 0 p α α 0 0 1 Ẽs j, for j = 2,, l, is the following α α matrix: s j +1 0 p s j 2 0 0 1 0 0 0 0 s p j α s j +1 1 1 s p j α s j +2 0 0 1 0 0 0 1 0 0 p s j α µs s j 1 µs s j 2 µs s j α M is the diagonal α α matrix with polynomial x m + 1 on the (main) diagonal: x m + 1 0 0 0 0 0 0 x m + 1 10
Proof We start from a basis (11) for the Z 2 [x] sub-module D in (Z 2 [x]) 8, obtained from matrix B plus the vectors required by Theorem 21 E s1 E s2 E sl M 0 0 0 M 0 (11) 0 0 0 0 M Clearly, E sj is (we recall s 1 = α) as follows s j p s j 1 0 0 1 0 0 0 p s j 2 0 0 1 0 0 0 0 s p j α s j +1 1 1 p s j α s j +2 0 0 1 0 0 0 1 0 0 p s j α where in the first row polynomial 1 is in position (1, s j ) and in the last row (the α-th) polynomial 1 is in position (α, s j 1) We will denote by r 1 the first row vector of (11), by r 2 the second and so on Note that the length of any vector r is lα We will perform some operations on (11), but we will rename the rows accordingly For example, if we swap row r i and row r j, after the operation we will refer to the old row r j as to row r i We insert the first row between the α-th and the (α + 1)-th row The matrix E sj becomes E s j : 11
s j +1 0 p s j 2 0 0 1 0 0 0 0 s p j α s j +1 1 1 p s j α s j +2 0 0 1 0 0 0 1 0 0 p s j α p s j 1 0 0 1 0 0 and, in particular, E s1 = E α is now E s 1 : 1 p α 2 0 0 0 1 p α 3 0 0 0 0 0 1 p α α p α 1 0 0 1 The Buchberger algorithm wrt POT in this case reduces to row reductions It is not difficult to see that performing the first α reductions is equivalent to the following operation: α 1 (12) r α r α + P i r i where P i is as in Definition 33 To show what happens, for the moment we consider only the first α columns of our matrix We will use a prime to denote the matrix rows truncated to the first α columns We have: i=1 12
r 1 P 1 ( P 1 p α 2 P 1 0 0 )+ r 2 P 2 ( 0 P 2 0 )+ r 1 P ( 0 p α P 1 0 0 )+ r P ( 0 0 P p α +1 P 0 0 )+ 0 r α 1 P α 1 ( 0 0 0 P α 1 p α αp α 1 )+ r α ( p α 1 0 0 0 0 1 ) = r α ( 0 0 0 0 0 1 + P α ) where we have used the obvious facts that p α P 1 = P, 1 α, and P 1 = p α 1 At this stage, row vector r α has all components equal to 0, except for the α-th which is equal to 1 + P α Using hypothesis (9) we can perform the following row operations (13) r α µr α + λr 2α The effect on the first α columns is the following µr α ( 0 0 µ(1 + P α ) ) + λr 2α ( 0 0 λ(x m + 1) ) = r α ( 0 0 1 ) In this way the top left α α minor has the main diagonal composed by 1 s and the second superior diagonal composed by p α h with h = 2,, α, ie the top left α α minor is actually Ẽs 1 = Ẽα We now want to eliminate rows r α+j, j = 1,, α We first perform r α+j r α+j + (x m + 1)r j, for 1 j α, so that, for any j = 1,, α, we have r α+j = ( ) 0,, 0, (x m + 1)( ),, (x m + 1)( ), j+1 where stands for any polynomial in Z 2 [x] But it is obvious that, for any 1 j α, r α+j may be reduced to the zero vector, via reduction wrt the remaining basis vectors {r α+j+i α + j + i lα, 1 i} lα 13
We come bac to operations (12) and (13) to see their effect on all columns: they transform E s j in E sj as follows: s j +1 0 p s j 2 0 0 1 0 0 0 0 s p j α s j +1 1 1 p s j α s j +2 0 0 1 0 0 0 1 0 0 p s j α where means, as usual, a generic polynomial in Z 2 [x] Since clearly any further row reduction will not affect the first α rows, we may safely deduce (Theorem 22) that the reduced Gröbner basis will be Ẽ s1 E s2 E sl 0 M 2 # # 0 M 3 # 0 0 M l where # stands for any α α matrix over Z 2 [x] and M j stands for any α α upper-triangular matrix of type g (j 1)α+1 0 g (j 1)α+2 0 g (j 1)α+3 0 0 0 g jα 14
for some g Z 2 [x], with α + 1 lα, st either deg(g ) m 1 or g = x m + 1 In the latter case the -th row is (0,, 0, x m + 1, 0,, 0) where x m + 1 is in position The dimension of D is then (Theorem 24) (14) dim(d) = [ αm + αl =α+1 (m deg(g )) ] αm but its generator matrix B has αm rows, so that (15) dim(d) αm From (14) and (15) we see that and hence dim(d) = αm and deg(g ) = m, = α + 1,, αl, g = x m + 1, = α + 1,, αl As a consequence, our basis must have the following shape: (16) Ẽ s1 E s2 E sl 0 M 0 0 0 0 M 0 0 0 0 0 0 0 0 M for some E s2,, E sl We now consider the remaining α(l 1) columns of the first α rows, ie matrices {E s2,, E sl } We want to determine what happens performing reduction operations (12) and (13) on E s j (2 j l) Matrix E s j has α columns and in any column (say the -th) there are only two row positions that have a non zero-value, one containing 1 (position h s j ) and another containing p s j (position ls j ) By circularity, we have { { h s j = sj + α if s j l s j 1 if 1 s j if > s = j α if = 1 15
Performing operation (12) we obtain in position (α, ) the polynomial given by the sum of just two addenda: P l s j = P 1 p s j and P s h j The sum of these two polynomials is exactly polynomial S s j (Def 33), S s j = P 1p s j + P h s j = { P 1 p s j + P α s j + if 1 s j P 1 p s j + P s j if s j < α Performing operation (13) we multiply each S s j by µ and we add it to a vector that has only a non-zero component, ie the α-th All the other reduction operations do not touch the α-th row so that it is: (17) (0, 0,, 0, 1, µs s 2 1,, µs s 2 α,, µs s l 1,, µs s l α ) Then the α-th row of any E sj is given by (18) ( s µs j 1, µs s ) j 2,, µs s j α, In other words, our basis (16) has become exactly (10) From Theorem 31 it is easy to determine the dimension of our codes Corollary 31 Let α, m be positive integers such that α 4, m 3 Let S = {s 1,, s l } {2,, α} with s 1 = α Let B be in B m,α,s, B = [A s1 A sl ] Let C be the code with parity chec matrix B Let p i h be as in Definition 31 If gcd(1 + P α, x m + 1) = 1, then the dimension of C is (l 1)αm and its rate is l 1 l Proof The dimension of the dual code D of C follows directly from Theorem 31 and Theorem 24: = αm The length n of both codes is n = lαm Then the dimension of C is = n = lαm αm = (l 1)αm and the rate is n (l 1)αm = lαm = l 1 l 16
4 Conclusions and further research The codes introduced by R Bresnan are interesting, both from a mathematical point of view and from an engineering point of view In this paper we have generalized his construction to 1/s-rate codes With the Bresnan codes, the codes so obtained share similar dimension properties and the same ease of implementation Although we believe they share also similar girth conditions, this issue is still under active investigation Acnowledgments The first two authors would lie to than the third author (their supervisor) The authors would lie to than P Fitzpatric for many useful comments and discussions References [1] R Bresnan, Novel code construction and decoding techniques for LDPC codes, Master s thesis, Dept of Elec Eng, UCC Cor, 2004 [2] C L Chen, W W Peterson and E J Weldon, Jr, Some results on quasi-cyclic Codes, Inform Contr, 15 p 407-423, 1969 [3] S-Y Chung, G D Forney, T J Richardson, and R Urbane, On the design of low-density parity-chec codes within 00045 db of the Shannon limit, IEEE Comm Lett, vol 5, p 58-60, 2001 [4] R G Gallager, Low-Density Parity-Chec Codes, PhD thesis, Dept of Elec Eng, MIT, 1963 [5] M Giorgetti, M Sala, On the Groebner basis of a family of quasi-cyclic LDPC codes, poster presented at CoCOA summer school, 2005 [6] M Rossi, M Sala On a class of quasi-cyclic LDPC codes BCRI preprint, available at wwwbcriuccie, 2005 [7] M Rossi, M Sala, On a class of quasi-cyclic LDPC codes, MEGA05, Alghero, Italy, 2005 [8] X Y Hu, E Eleftheriou, D M Arnold, and A Dholaia, Efficient implementations of the sum-product algorithm for decoding LDPC codes, GLOBECOM, The Evolving Global Communications Networ, San Antonio, Texas, 2001 17
[9] S J Johnson and S R Weller, Quasi-cyclic LDPC codes from difference families, Australian Communications Theory Worshop, Canberra, Australia, 2002, p 18-22 [10] S J Johnson and S R Weller, Codes for iterative decoding from partial geometries, IEEE Trans on Comm, vol 52, no 2, p 236-243, 2004 [11] M Karlin, New binary coding results by circulants, IEEE Trans an Inf Th, 15, p 81-92, 1969 [12] M Karlin, Decoding of circulant codes, IEEE Trans on Inf Th, 16, p 797-802, 1970 [13] T Kasami, A Gilbert-Varshamov bound for quasi-cyclic codes of rate 1/2, IEEE Trans on Inf Theory, 20, p 679, 1974 [14] J-L Kim, U N Peled, I Perepelitsa, V Pless, and S Friedland, Explicit construction of families of LDPC codes with no 4-cycles, IEEE Trans on Inf Th, vol 40, p 2378-2388, 2004 [15] Y Kou, S Lin, and M P C Fossorier, Low-density parity-chec codes based on finite geometries: A rediscovery and new results, IEEE Trans on Inf Th, vol 47, p 2711-2736, Nov 2001 [16] Y Kou, J Xu, H Tang, S Lin, and K Abdel-Ghaffar, On circulant low density parity chec codes, IEEE ISIT, Lausanne, Switzerland, p 200, 2002 [17] K Lally and P Fitzpatric, Algebraic structure of quasi-cyclic codes, Discr Appl Math, vol 111, no 1-2, p 157 175, 2001 [18] K Lally and P Fitzpatric, Construction and classification of quasicyclic codes, Proc WCC, INRIA, Paris, 1999, p 11 20, 1999 [19] D J C MacKay and R M Neal, Good codes based on very sparse matrices, Cryptography and Coding, 5th IMA Conference, 1995 [20] F J MacWilliams, N J A Sloane, The Theory of Error-Correcting Codes, North Holland, 1977 [21] Y Mao and A H Banihashemi, Decoding low-density parity-chec codes with probabilistic scheduling, IEEE Trans on Inf Th, vol 5, no 10, p 414 416, 2001 18
[22] Y Mao and A H Banihashemi, A heuristic search for good low-density parity-chec codes at short bloc lengths, IEEE ICC2001, Helsini, Finland, 2001 [23] D J MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge University Press, 2003 [24] Nava S, Mathematical methods for an LDPC encoder/decoder, Master s thesis MAMI, Dept of Math, Univ of Milan-Bicocca, 2004 [25] Orsini M, Construction of a family of LDPC Goppa codes, Master s thesis MAMI, Dept of Math, Univ of Milan-Bicocca, 2004 [26] M O Sullivan, Algebraic Construction of Sparse Graphs with Large Girth, BCRI Worshop on Coding and Cryptography, 2005 [27] W W Peterson, E J Weldon, Jr, Error Correcting Codes, MIT Press, 1972 [28] T J Richardson, M A Shorollahi, and R L Urbane, Design of capacity-approaching irregular low-density parity-chec codes, IEEE Trans on Inf Th, vol 47, no 2, p 619 637, 2001 [29] T J Richardson and R L Urbane, The capacity of low-density parity-chec codes under message passing decoding, IEEE Trans on Inf Th, vol 47, no 2, p 599 618, 2001 [30] T J Richardson and R L Urbane, Efficient encoding of low-density parity-chec codes, IEEE Trans on Inf Th, vol 47, no 2, p 638 656, 2001 [31] J Rosenthal, P O Vontobel, Construction of LDPC Codes using Ramanujan Graphs and Ideas from Margulis, Proc of Allerton Conf on Comm, Con and Comp, p 248-257, 2000 [32] R M Tanner, D Sridhara, and T Fuja, A class of group-structured LDPC codes, ISCTA 2001, Ambleside, England, 2001 [33] R M Tanner, A recursive approach to low complexity codes, IEEE Trans on Inf Th, vol 27, no 5, p 533547, 1981 [34] T Tian, C Jones, J D Villasenor, and R D Wesel, Construction of irregular LDPC codes with low error floors, IEEE International Conference on Communications (ICC 2003), vol 5, Anchorage, Alasa, 2003, p 3125 3129 19
[35] T Tian, C Jones, J D Villasenor, and R D Wesel, Selective avoidance of cycles in irregular LDPC codes construction, IEEE Trans on Comm, 2004 [36] RL Townsend and EJ Weldon, Jr, Self-orthogonal quasi-cyclic codes, IEEE Trans on Inf Th, 13, p 183 195, 1967 [37] http://rimulahrse/ chen/research/codes/searchqc2htm 20