+ All Categories
Home > Documents > PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of...

PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of...

Date post: 25-Mar-2018
Category:
Upload: phungkhanh
View: 221 times
Download: 2 times
Share this document with a friend
12
928 IEICE TRANS. FUNDAMENTALS, VOL.E86–A, NO.4 APRIL 2003 PAPER Construction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents Tomoharu SHIBUYA a) and Kohichi SAKANIWA , Regular Members SUMMARY A parity check matrix for a binary linear code defines a bipartite graph (Tanner graph) which is isomorphic to a subgraph of a factor graph which explains a mechanism of the iterative decoding based on the sum-product algorithm. It is known that this decoding algorithm well approximates MAP de- coding, but degradation of the approximation becomes serious when there exist cycles of short length, especially length 4, in Tanner graph. In this paper, based on the generating idempo- tents, we propose some methods to design parity check matrices for cyclic codes which define Tanner graphs with no cycles of length 4. We also show numerically error performance of cyclic codes by the iterative decoding implemented on factor graphs derived from the proposed parity check matrices. key words: Tanner graphs, cyclic codes, LDPC codes, sum- product algorithm, iterative decoding 1. Introduction It has been clarified in recent studies [1]–[4] that out- standing success of low-density parity-check (LDPC) codes [5] depends heavily on its decoding algorithm which is well understood nowadays as an application of the sum-product algorithm [3], [6]. It is known [3], [6] that implementation of the sum- product algorithm can be visualized by a factor graph and the structure of a factor graph determines the error performance of the sum-product algorithm. In a con- text of error correction using a LDPC code or, more generally a binary linear block code, we concentrate on the following Tanner graph to analyze the accuracy of the sum-product algorithm. Let A := (a ij )(a ij ∈{0, 1}) be an r × n matrix. Then we associate A with a graph G A by: 1. G A has n + r nodes which consist of two classes of nodes denoted by {c 0 ,c 1 ,...,c n1 } and {s 1 , s 2 ,...,s r }. 2. There exists a unique edge (s i ,c j ) if and only if a ij = 1, and no two c i ’s (resp. s j ’s) are connected. When A is a parity check matrix for a linear code C , G A is called the Tanner graph [7] for C . A node c j (j =0, 1,...,n 1) is called a variable node which corresponds to the j th symbol of a codeword, while a Manuscript received October 17, 2001. Manuscript revised November 6, 2002. Final manuscript received December 18, 2002. The authors are with the Department of Communica- tions and Integrated Systems, Tokyo Institute of Technol- ogy, Tokyo, 152-8552 Japan. a) E-mail: [email protected] H = 2 6 4 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 3 7 5 c 0 c 1 c 2 c 3 c 4 c 5 c 6 s 1 s 2 s 3 s 4 c 0 c 1 c 2 c 3 c 4 c 5 c 6 s 1 s 2 s 3 s 4 Fig. 1 A parity check matrix for a [7, 3, 4] binary code and the Tanner graph for the code. node s i (i =1, 2,...,r) is called a check node which represents a parity check equation obtained from the ith row of a parity check matrix. We show in Fig.1 a parity check matrix for a [7, 3, 4] binary code and the Tanner graph for the code as an example. It is known [3], [8] that the sum-product algorithm does not work well when a factor graph has cycles. But factor graphs for error correcting codes such as LDPC codes and turbo codes are known to have cycles [1], [9]. Hence in the decoding of LDPC and turbo codes, the sum-product algorithm is applied iteratively as if there were no cycles in factor graphs. It has been reported that this strategy of decoding can approximate maxi- mum a posteriori probability (MAP) decoding [1], [9], while the degradation of approximation becomes more serious when a factor graph has shorter cycles [1], [8], [10]. In a linear code, all cycles of its factor graph are included in the corresponding Tanner graph. More- over, according to the definition, Tanner graph of a linear block code becomes a bipartite graph. Hence the length of cycles in a factor graph must be even. More- over, as there is at most one edge between c i and s j , the shortest length of a cycle is 4. The existence of cycles of length 4 in a factor graph can cause fatal degradation of error performance. Here we recall that Tanner graph for a linear code is uniquely determined from a parity check matrix, while a parity check matrix is not unique to a code. Therefore, if we can design parity check matrices which define Tanner graphs having fewer number of short cy- cles, then the iterative decoding based on the sum- product algorithm approaches to MAP decoding. Because of the sparse parity check matrices, Tan- ner graphs of randomly generated LDPC codes are nat- urally expected to have few short cycles. But such LDPC codes have less algebraic structures and, con- sequently, their encoders are more complex than those
Transcript
Page 1: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

928IEICE TRANS. FUNDAMENTALS, VOL.E86–A, NO.4 APRIL 2003

PAPER

Construction of Cyclic Codes Suitable for Iterative

Decoding via Generating Idempotents

Tomoharu SHIBUYA†a) and Kohichi SAKANIWA†, Regular Members

SUMMARY A parity check matrix for a binary linear codedefines a bipartite graph (Tanner graph) which is isomorphic toa subgraph of a factor graph which explains a mechanism of theiterative decoding based on the sum-product algorithm. It isknown that this decoding algorithm well approximates MAP de-coding, but degradation of the approximation becomes seriouswhen there exist cycles of short length, especially length 4, inTanner graph. In this paper, based on the generating idempo-tents, we propose some methods to design parity check matricesfor cyclic codes which define Tanner graphs with no cycles oflength 4. We also show numerically error performance of cycliccodes by the iterative decoding implemented on factor graphsderived from the proposed parity check matrices.key words: Tanner graphs, cyclic codes, LDPC codes, sum-product algorithm, iterative decoding

1. Introduction

It has been clarified in recent studies [1]–[4] that out-standing success of low-density parity-check (LDPC)codes [5] depends heavily on its decoding algorithmwhich is well understood nowadays as an applicationof the sum-product algorithm [3], [6].

It is known [3], [6] that implementation of the sum-product algorithm can be visualized by a factor graphand the structure of a factor graph determines the errorperformance of the sum-product algorithm. In a con-text of error correction using a LDPC code or, moregenerally a binary linear block code, we concentrate onthe following Tanner graph to analyze the accuracy ofthe sum-product algorithm.

Let A := (aij) (aij ∈ {0, 1}) be an r × n matrix.Then we associate A with a graph GA by:

1. GA has n + r nodes which consist of two classesof nodes denoted by {c0, c1, . . . , cn−1} and {s1,s2, . . . , sr}.

2. There exists a unique edge (si, cj) if and only ifaij = 1, and no two ci’s (resp. sj ’s) are connected.

When A is a parity check matrix for a linear code C,GA is called the Tanner graph [7] for C. A node cj

(j = 0, 1, . . . , n − 1) is called a variable node whichcorresponds to the jth symbol of a codeword, while a

Manuscript received October 17, 2001.Manuscript revised November 6, 2002.Final manuscript received December 18, 2002.

†The authors are with the Department of Communica-tions and Integrated Systems, Tokyo Institute of Technol-ogy, Tokyo, 152-8552 Japan.a)E-mail: [email protected]

H =

2641 1 0 1 0 0 00 1 1 0 1 0 00 0 1 1 0 1 00 0 0 1 1 0 1

375

c0 c1 c2 c3 c4 c5 c6

s1

s2

s3

s4

c0 c1 c2 c3 c4 c5 c6

s1 s2 s3 s4

Fig. 1 A parity check matrix for a [7, 3, 4] binary code and theTanner graph for the code.

node si (i = 1, 2, . . . , r) is called a check node whichrepresents a parity check equation obtained from theith row of a parity check matrix. We show in Fig. 1 aparity check matrix for a [7, 3, 4] binary code and theTanner graph for the code as an example.

It is known [3], [8] that the sum-product algorithmdoes not work well when a factor graph has cycles. Butfactor graphs for error correcting codes such as LDPCcodes and turbo codes are known to have cycles [1], [9].Hence in the decoding of LDPC and turbo codes, thesum-product algorithm is applied iteratively as if therewere no cycles in factor graphs. It has been reportedthat this strategy of decoding can approximate maxi-mum a posteriori probability (MAP) decoding [1], [9],while the degradation of approximation becomes moreserious when a factor graph has shorter cycles [1], [8],[10]. In a linear code, all cycles of its factor graph areincluded in the corresponding Tanner graph. More-over, according to the definition, Tanner graph of alinear block code becomes a bipartite graph. Hence thelength of cycles in a factor graph must be even. More-over, as there is at most one edge between ci and sj , theshortest length of a cycle is 4. The existence of cycles oflength 4 in a factor graph can cause fatal degradationof error performance.

Here we recall that Tanner graph for a linear codeis uniquely determined from a parity check matrix,while a parity check matrix is not unique to a code.Therefore, if we can design parity check matrices whichdefine Tanner graphs having fewer number of short cy-cles, then the iterative decoding based on the sum-product algorithm approaches to MAP decoding.

Because of the sparse parity check matrices, Tan-ner graphs of randomly generated LDPC codes are nat-urally expected to have few short cycles. But suchLDPC codes have less algebraic structures and, con-sequently, their encoders are more complex than those

Page 2: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

SHIBUYA and SAKANIWA: CONSTRUCTION OF CYCLIC CODES SUITABLE FOR ITERATIVE DECODING929

for other practical codes like cyclic codes which canbe realized by a linear feedback shift register. More-over, their minimum distances are hard to determine.For these problems, Kou et al. [10] proposed an alge-braic construction of parity check matrices whose Tan-ner graphs have no cycles of length 4. Since they uti-lized Euclidean and Projective geometries, linear codesdefined by such parity check matrices are called EG-LDPC and PG-LDPC codes. Furthermore, it is shownthat subclasses of these codes, called type-I EG andtype-I PG-LDPC codes are cyclic codes. Hence theirencodes are simple and some good bounds, for instanceBCH bound [11], are available to estimate their mini-mum distances. Simulation results show that type-I EGand type-I PG-LDPC codes exhibit good error perfor-mance.

Though type-I EG and type-I PG-LDPC codes areeffective to construct cyclic codes suitable for the iter-ative decoding based on the sum-product algorithm,realizable code length and dimension are unfortunatelyrestricted. So it is desired to find a larger or differ-ent class of cyclic codes to which the iterative decod-ing based on the sum-product algorithm can be wellapplied. In this paper, we investigate parity check ma-trices for another class of cyclic codes whose Tannergraphs have no cycles of length 4.

In order to verify whether Tanner graph has cyclesor not, it is necessary to specify a parity check matrixH defining the Tanner graph. Since a parity check ma-trix H for a cyclic code is directly obtained from itsparity check polynomial h(x) [11], the Tanner graph iseasily obtained once h(x) is given. But even if codelength is fixed, it is still a hard task to find a paritycheck polynomial defining Tanner graph with no cyclesof length 4 from all possible parity check polynomialsbecause their number is numerous.

On the other hand, we consider in this paper par-ity check matrices based on idempotents of cyclic codes[11]–[13]. It is known that idempotents of cyclic codescan be specified by cyclotomic cosets. This enable usto verify whether the Tanner graph defined by the pro-posed parity check matrix has cycles of length 4 or notby easy calculations. Moreover, we can show that if thegenerating idempotents are specified by a single cyclo-tomic coset, we can decide whether each Tanner graphdefined by the proposed parity check matrix has cyclesof length 4 or not for all cyclic codes of the given lengthby examining Tanner graphs only for a few cyclic codeswith the given and shorter length. We can then findmany cyclic codes whose Tanner graphs have no cyclesof length 4. Simulation results show that the proposedcyclic codes with length between 103 and 104 exhibitgood error performance by the iterative decoding basedon the sum-product algorithm implemented on Tannergraph defined by the proposed parity check matrices.

This paper is organized as follows. In Sect. 2, wereview fundamental properties of idempotents of cyclic

codes. In Sect. 3, we investigate the relation amongidempotents of cyclic codes, cyclotomic cosets, andcycles of length 4 in Tanner graphs. In Sect. 4, wegive simulation results for error performance assumingBPSK over AWGN channel. In Sect. 5, we briefly com-pare the proposed cyclic codes with conventional cycliccodes whose Tanner graphs have no cycles of length 4.Some conclusions are given in Sect. 6.

2. Preliminaries

2.1 Idempotents of Cyclic Codes

In this paper we exclusively treat binary cyclic codes.Denote by F2 a finite field with two elements. For apositive integer n, we let Rn := F2[x]/〈xn − 1〉 where〈f(x)〉 denotes an ideal of F2[x] generated by f(x) ∈F2[x]. Then a cyclic code of length n is regarded as anideal of a ring Rn. Throughout our study, we assumethat the code length n is odd. This assumption impliesthat the polynomial xn − 1 has n distinct roots in anextension field of F2.

An element e of a ring which satisfies e2 = e iscalled an idempotent [14]. It is known that cyclic codescan be characterized by the special idempotent.

Proposition 1 [13, Theorem 5.12] A cyclic code C oflength n has a unique idempotent e(x) ∈ Rn such thatC = 〈e(x)〉. ✷

This unique idempotent e(x) in a cyclic code C is calledthe generating idempotent of C.

Let n be a positive odd integer and let s be aninteger with 0 ≤ s < n. The (2-)cyclotomic coset of smodulo n [13] is the set

Cns := {s2i mod n | i = 0, 1, . . . ,ms − 1}

where ms is the smallest positive integer such thats2ms ≡ s (mod n). Since n is odd, Cn

s = Cnt if and

only if t ∈ Cns . Thus we take the smallest number s

in a coset as its representative and denote the coset byCn

s . Let Sn be the set of all representatives of cyclo-tomic cosets modulo n in {0, 1, . . . , n − 1}. Then wehave {0, 1, . . . , n − 1} = ∪s∈SnCn

s and Cns ∩ Cn

t = ∅ fors and t ∈ Sn with s �= t.

It is known that any idempotent e(x) of Rn is agenerating idempotent of some cyclic code of length n[13, p.53] and it can be expressed as [13, Corollary 5.20]

e(x) =∑s∈S

∑i∈Cn

s

xi (1)

where S is a subset of Sn. Therefore, we can designatea cyclic code of length n by calculating the cyclotomiccoset modulo n and indicating a subset S ⊂ Sn, insteadof constructing a generator polynomial or a parity checkpolynomial as a product of factors of xn − 1.

A generator matrix for a cyclic code is directly ob-tained from its generating idempotent.

Page 3: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

930IEICE TRANS. FUNDAMENTALS, VOL.E86–A, NO.4 APRIL 2003

Proposition 2 [13, Theorem 5.15] Let C be an [n, k]cyclic code of length n with generating idempotente(x) = e0 + e1x + · · · + en−1x

n−1. Then the k × nmatrix

Me(x) :=

e0 e1 e2 · · · en−2 en−1en−1 e0 e1 · · · en−3 en−2

...en−k+1 en−k+2 en−k+3 · · · en−k−1 en−k

(2)

is a generator matrix for C. ✷

In a discussion on Tanner graph of a linear code, weneed its parity check matrix. The following propositionenables us to obtain a parity check matrix for C fromits generating idempotent.

Proposition 3 [13, Theorem 5.23] Let C be a cycliccode with the generating idempotent e(x). Then 1 −xne(x−1) is the generating idempotent of the dual codeC⊥ := {c ∈ Fn

2 | c · u = 0 for all u ∈ C}. ✷

Then we have from Propositions 2 and 3 that Me(x)

and M1−xne(x−1) are parity check matrices for C⊥ andC, respectively.

In the usual definition of parity check matrices,rows of a parity check matrix are independent. But inthis paper, we do not impose this condition and admit aparity check matrix whose number of rows is larger thanits rank. That is, we introduce the n×n matrix, Me(x),whose ith row is given as (en−i+1, . . . , e0, e1, . . . , en−i)which is obtained from the first row of Me(x) by i − 1cyclic shifts. So the first k rows of Me(x) form Me(x)

and it is obvious thatMe(x) is also a parity check matrixfor 〈e(x)〉⊥. As we will see later, this extension of thedefinition of parity check matrices allows us to designvarious kinds of parity check matrices suitable for theiterative decoding based on the sum-product algorithm.

We see from Eq. (1) that for an idempotent e(x) =∑n−1i=0 eix

i of Rn, ei �= 0 if and only if i ∈ ∪s∈S Cns since

Cns ’s are disjoint. Hence we can know positions of non-zero elements in Me(x) or M e(x) through cyclotomiccosets modulo n. We utilize this property in an analysisof the Tanner graph GMe(x)

.

2.2 Parameters of Codes

Here we briefly summarize the dimension and the mini-mum distance of a cyclic code C := 〈e(x)〉⊥ where e(x)is an arbitrary idempotent of Rn.

It is known that the dimension of C is equal tothe degree of the generator polynomial of C⊥ = 〈e(x)〉.Further, the generator polynomial of a cyclic code withthe generating idempotent e(x) is obtained by the fol-lowing proposition.

Proposition 4 [11] The generator polynomial of acyclic code with the generating idempotent e(x) isgcd(e(x), xn − 1). ✷

Since gcd(e(x), xn−1) is elementarily calculated by Eu-clidean algorithm, the exact dimension of C is easilyobtained. For special code length and generating idem-potent, we have the following proposition on dimC.

Proposition 5 The dimension of a cyclic code C de-fined by an idempotent e(x) =

∑i∈Cn

1xi with n =

2m − 1 is given by dimC (= dim 〈e(x)〉⊥) = 2m−1 − 1.(The proof is given in the Appendix.) ✷

Let g(x) be the generator polynomial of C. Thenwe have from Proposition 3 and Proposition 4 thatg(x) = gcd(1 − xne(x−1), xn − 1). Thus we can ap-ply, for instance, BCH bound [11] to roots of g(x) toobtain a lower bound for the minimum distance of C.

We can also derive a simple upper bound for theminimum distance of C from its generating idempo-tent. For f(x) =

∑n−1i=0 fix

i ∈ F2[x], we denote byw(f(x)) the number of non-zero coefficient of f(x),that is, w(f(x)) := #{i | fi �= 0}, which repre-sents the Hamming weight of f(x). Then since (1 −xne(x−1)) mod xn − 1 ∈ C by Proposition 3, the mini-mum distance of C, denoted by d(C), satisfies

d(C) ≤{

w(e(x)) + 1, if e0 = 0,w(e(x))− 1, if e0 = 1. (3)

If w(e(x)) is relatively small, Eq. (3) gives a tight upperbound for the minimum distance of C.

3. Tanner Graphs for Cyclic Codes with NoCycles of Length Four

Let e(x) be an idempotent of Rn and C := 〈e(x)〉⊥.Recall that Me(x) is a parity check matrix for C. As wewill see later, decoding based on Me(x) exhibits betterperformance than that based on Me(x). Moreover, sinceTanner graph GMe(x) is a part of GMe(x)

, if GMe(x)has

no cycles of length 4, nor does GMe(x) . Hence in thissection we investigate cycles of length 4 in the Tannergraph GMe(x)

.

3.1 Key Lemma

We begin our discussion with the key lemma which de-scribes the condition that GMe(x)

has cycles of length 4in terms of cyclotomic cosets.

Lemma 1 Suppose an idempotent e(x) is expressed asEq. (1). Then GMe(x)

has cycles of length 4 if and onlyif

u1 − u2 ≡ v1 − v2 (mod n) (4)

for some u1, u2, v1, v2 ∈ ∪s∈S Cns with u1 �= u2, v1 �= v2

and (u1, u2) �= (v1, v2).(Proof) Assume that GMe(x)

has a cycle of length 4.

Page 4: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

SHIBUYA and SAKANIWA: CONSTRUCTION OF CYCLIC CODES SUITABLE FOR ITERATIVE DECODING931

cu1 cu2

s1 sν

⇔ Me(x) =

cu1 cu2

s1

1 1

1 1

Fig. 2 Relation between Me(x) and a cycle of length 4 inGMe(x)

.

Since each row of Me(x) is obtained from its first rowby cyclic shifts, we can assume without loss of gener-ality that the cycle passes through the node s1. Wedenote the remaining nodes contained in the cycle bysν , cu1 , cu2 (ν �= 1, u1 < u2). This situation is depictedin Fig. 2.

We write e(x) =∑n−1

i=0 eixi. Then the first and

νth rows of M e(x), denoted by e1 and eν , respectively,are expressed as

e1 = (e0, e1, . . . , en−1),eν = (en−ν+1, en−ν+2, . . . , en−ν),

where the indices of elements of eν are taken with mod-ulo n. Since the cycle contains s1, sν and cu1 , cu2 ,it holds that eu1 = eu2 = ev1 = ev2 = 1 wherev� := (n − ν + 1 + u�) mod n ( = 1, 2). Thereforeu�, v� ∈ ∪s∈S Cn

s ( = 1, 2) by Eq. (1). Moreover, itholds that

u1 − u2 ={

v1 − v2, (v1 ≤ v2),v1 − v2 − n, (v1 > v2).

Thus if GMe(x)has a cycle of length 4, Eq. (4) holds

for some u1, u2, v1, v2 ∈ ∪s∈S Cns with u1 �= u2, v1 �= v2

and (u1, u2) �= (v1, v2).Conversely, if Eq. (4) holds for some u1, u2, v1, v2

with u1 �= u2, v1 �= v2 and (u1, u2) �= (v1, v2), we canshow that GMe(x)

has a cycle of length 4 by tracingabove discussion in reverse order. ✷

Lemma 1 is simplified into the following corollary.

Corollary 1 GMe(x)has no cycles of length 4 if and

only if the following condition holds.

Condition: For u1, u2 ∈ ∪s∈S Cns with u1 �= u2,

(u1 − u2) mod n are all different. ✷

It is easily shown that the order of the compu-tational complexity to verify if the condition in Corol-lary 1 holds is O(|∪s∈S Cn

s |2). Hence the computationalcomplexity is not so large. For example, when S = {1}and n = 2m − 1, |Cn

1 | = m(� log2 n) and the compu-tational complexity is O((log2 n)2). Furthermore, weshall show in the next subsection that for e(x) ∈ Rn

with |S| = 1 the problem to determine whether GMe(x)

has cycles of length 4 or not can be solved by examiningif GMe′(x)

, where e′(x) =∑

i∈Cn′1

xi is an idempotent inRn′ with n′ ≤ n, has cycles of length 4 or not.

3.2 The Case of |S| = 1

We denote by s the only element of S in Eq. (1). Thenthe idempotent e(x) is expressed as

e(x) =∑i∈Cn

s

xi =ms−1∑i=0

xs2i mod n =: es(x).

Since Cn0 = {0}, e0(x) = 1. This implies that 〈e0(x)〉

is isomorphic to Fn2 and C = 〈e0(x)〉⊥ = {0}. Thus in

the following discussion we assume that S �= {0}. Inorder to indicate n and s explicitly, we denote GMes(x)

by Gns .

Theorem 1 Let n be a positive odd integer and s bean integer with 1 ≤ s ≤ n−1. We also let δ := gcd(n, s).Then Gn

s has cycles of length 4 if and only if so doesGn/δ1 .

(Proof) Let ui := s2i mod n (i = 0, 1, . . . ,ms − 1).Then Cn

s = {u0, u1, . . . , ums−1}. For Gns , Eq. (4) is

equivalent to

ui1 − ui2 ≡ uj1 − uj2 (mod n) (5)

for some i�, j� ∈ {0, 1, . . . ,ms − 1} ( = 1, 2) with i1 �=i2, j1 �= j2, and (i1, i2) �= (j1, j2).

As δ = gcd(n, s), Eq. (5) can be transformed into

ui1/δ − ui2/δ ≡ uj1/δ − uj2/δ (mod n/δ) (6)

for some i�, j� ∈ {0, 1, . . . ,ms − 1} ( = 1, 2) with i1 �=i2, j1 �= j2 and (i1, i2) �= (j1, j2).

Let qi (i = 0, 1, . . . ,ms − 1) be the quotient ofthe division of s2i by n. Then we have (s/δ)2i =qi(n/δ) + ui/δ. Since 0 ≤ ui/δ ≤ n/δ − 1, qi and ui/δcan be regarded as the quotient and the remainder ofthe division of (s/δ)2i by n/δ. Therefore ui/δ ∈ Cn/δ

s/δ .Moreover, since ui �= ui′ for i, i′ ∈ {0, 1, . . . ,ms −

1} with i �= i′, we have ui/δ �= ui′/δ. Thereforeui1/δ �= ui2/δ, uj1/δ �= uj2/δ, and (ui1/δ, ui2/δ) �=(uj1/δ, uj2/δ).

By applying Lemma 1, we can show that if Gns has

cycles of length 4, so does Gn/δs/δ . By similar argument,

we see that the converse is also true.Next, by substituting s2i mod n for ui (i = 0, 1,

. . . ,ms − 1) in Eq. (6), we have

(s/δ)2i1 − (s/δ)2i2

≡ (s/δ)2j1 − (s/δ)2j2 (mod n/δ) (7)

for some i�, j� ∈ {0, 1, . . . ,ms − 1} ( = 1, 2) with i1 �=i2, j1 �= j2 and (i1, i2) �= (j1, j2), where a := a mod n/δand note that (s2i mod n)/δ = (s/δ)2i mod n. Sincegcd(n/δ, s/δ) = 1, i� and j� ( = 1, 2) satisfying Eq. (7)also satisfy

Page 5: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

932IEICE TRANS. FUNDAMENTALS, VOL.E86–A, NO.4 APRIL 2003

2i1 − 2i2 ≡ 2j1 − 2j2 (mod n/δ). (8)

and vice versa.In Eq. (8), 2i� , 2j� ∈ Cn/δ

1 ( = 1, 2). Moreover,2i �= 2i′ holds for i, i′ ∈ {0, 1, . . . ,ms − 1} with i �= i′,because ms = |Cn/δ

s/δ | = |Cn/δ1 |. This implies that 2i1 �=

2i2 , 2j1 �= 2j2 , and (2i1 , 2i2) �= (2j1 , 2j2). Hence it isshown by Lemma 1 that if Gn/δ

s/δ has cycles of length 4,

so does Gn/δ1 . By the similar argument, we see that the

converse is also true. ✷

Example 1 Let n = 210 − 1 = 1023. Then thereare 106 cyclotomic cosets modulo n except for Cn

0 ,i.e., |S1023 \ {0}| = 106. On the other hand, since1023 = 3 · 11 · 31, there are 7 possible δ = gcd(n, s)for s ∈ Sn, namely, 1, 3, 11, 31, 33, 93 and 341. Theo-rem 1 guarantees that we only have to examine whetherGn/δ1 (δ = 1, 3, 11, 31, 33, 93, 341) have cycles of length

4 instead of verifying Gns for all s ∈ Sn \ {0}.

For n = 214 − 1 = 16383 = 3 · 43 · 127, the numberof possible δ is 7, while |S16383 \ {0}| = 1180. ✷

As we have seen in Example 1, we can drasticallyreduce the number of Tanner graphs we need to exam-ine. Though there seems no simple rule on n such thatCn1 satisfies the condition of Corollary 1, one importantexception is the case of n = 2m − 1 (m > 1).

Theorem 2 Gn1 with n = 2m−1 (m > 1) has no cycles

of length 4.(Proof) Suppose that Gn

1 has a cycle of length 4.Then by Lemma 1 and Eq. (8), there exist integersi1, i2, j1, j2 ∈ {0, 1, . . . ,m − 1} with i1 �= i2, j1 �= j2and (i1, i2) �= (j1, j2) which satisfy one of the followingrelations:{

2i1 − 2i2 = 2j1 − 2j2 ,2i1 − 2i2 = n− (2j1 − 2j2). (9)

Note that we can assume without loss of generality thati1 > i2 and j1 > j2. Moreover, since m = |Cn

1 |, 2i = 2i

for 0 ≤ i ≤ m− 1.(i) The case that the first relation of Eq. (9) holds.Since i1 > i2 and j1 > j2, the first expression of

Eq. (9) is transformed into

2i2−λ(2i1−i2 − 1) = 2j2−λ(2j1−j2 − 1),

where λ := min{i2, j2}. This equality is impossiblebecause if i2 �= j2, one side of this equation is odd whilethe other is even, and if i2 = j2, 2i1−i2 − 1 = 2j1−j2 − 1and therefore 2i1 = 2j1 contradicting the assumptionthat i1 �= j1.

(ii) The case that the second relation of Eq. (9)holds.

By substituting n = 2m − 1, we have

2i1 + 2j1 − (2i2 + 2j2) = 2m − 1.

Since the right hand side of this equation is odd andi1 > i2 and j1 > j2, this equation implies that eitheri2 or j2, and not both, must be zero. Without loss ofgenerality, we set i2 = 0. Let λ := min{i1, j2}. Thenwe have

2i1−λ + 2j1−λ − 2j2−λ = 2m−λ.

This is impossible because if i1 �= j2, the left hand sideof this equation is odd while the right hand side is even,and if i1 = j2, 2j1−λ = 2m−λ and therefore 2j1 = 2m

contradicting the assumption that j1 < m. ✷

The following proposition is a negative result. Butit expedites to find n for which Gn

1 has no cycles oflength 4.

Proposition 6 If n − 1 ∈ Cn1 (n ≥ 5), Gn

1 has a cycleof length 4.(Proof) Since 2(n− 1) ≡ n− 2 (mod n), if n− 1 ∈ Cn

1 ,then n− 2 also belongs to Cn

1 . Moreover, 1, 2 ∈ Cn1 and

(1, 2) �= (n− 2, n− 1) for n ≥ 5. Furthermore, we haven−1− (n−2) = 2−1 which means that Gn

1 has a cycleof length 4 by Lemma 1. ✷

3.3 The Case of |S| ≥ 2

Suppose that |S| ≥ 2 in Eq. (1). Then an idempo-tent can be expressed as a sum of idempotents es(x)like e(x) =

∑s∈S es(x). Therefore, as shown in Fig. 3,

GMe(x)is obtained by overlaying Gn

s (= GMes(x)) for all

s ∈ S. So if GMe(x)has no cycles of length 4, Gn

s cannot have cycles of length 4 for all s ∈ S. As we havedemonstrated in Example 1, candidates for elements ofS such that GMe(x)

has no cycles of length 4 are easilydiscovered by Theorem 1. Then we can select elementsof S from those candidates and verify whether ∪s∈S Cn

s

satisfies the condition in Corollary 1.It is easily imagined that when |S| is large, ∪s∈S Cn

s

scarcely satisfy the condition in Corollary 1. For suchS, a way to construct a parity check matrix which de-fines the Tanner graph with no cycles of length 4 will

c1 c2 c4

s1 Gn1

c3 c5 c6

s1 Gn3⇓

c1 c2 c3 c4 c5 c6

s1 GMe1(x)+e3(x)

Fig. 3 Construction of GMe(x)from Gn

s (= GMes(x)) (s ∈ S).

Only edges connected to the check node s1 are depicted.

Page 6: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

SHIBUYA and SAKANIWA: CONSTRUCTION OF CYCLIC CODES SUITABLE FOR ITERATIVE DECODING933

be given in the next subsection. On the other hand,if we restrict |S| = 2 and S = {1, s} (1 �= s)†, wecan find by computer search 3217 cyclic codes of lengthn ≤ 16383 = 214 − 1 whose Tanner graph GMe(x)

hasno cycles of length 4. Moreover, as we show in Sect. 4,some of these cyclic codes exhibit very good error per-formance. So we consider that the case of |S| = 2 ispromising.

3.4 Concatenation of Parity Check Matrices

As we pointed out in the previous subsection, it is hardto make GMe(x)

have no cycles of length 4 when |S|is large. But by designing new parity check matricesbased on Mes(x), we can get Tanner graphs withoutcycles of length 4.

As for a cyclic code generated by a product ofidempotents, the following proposition holds.

Proposition 7 [13, Theorem 5.16] Let e(x) and f(x)be idempotents of Rn. Then 〈e(x)f(x)〉 = 〈e(x)〉 ∩〈f(x)〉. In other words, e(x)f(x) is the generating idem-potent of the cyclic code given as the intersection ofcyclic codes generated by e(x) and f(x). ✷

Let T := {t1, t2, . . . , t|T |} be a subset of Sn. Wedefine matrices MT and MT respectively by concate-nating Meti(x) and Meti(x) as

MT :=

Met1 (x)

...Met|T | (x)

, MT :=

Met1 (x)

...Met|T | (x)

.

Since Meti(x) and Meti(x) are parity check matrices for

〈eti(x)〉⊥, MT and MT can be regarded as parity check

matrices for ∩t∈T 〈et(x)〉⊥.On the other hand, we have from Propositions 3

and 7 that⋂t∈T

〈et(x)〉⊥=⋂t∈T

〈1− xnet(x−1)〉

=

⟨∏t∈T

(1− xnet(x−1))

⟩.

Hence for S ⊂ Sn such that⟨∏t∈T

(1− xnet(x−1))

⟩=

⟨∑s∈S

es(x)

⟩⊥

=: 〈e(x)〉⊥,

(10)

not only Me(x) and Me(x) but also MT and MT be-come parity check matrices for C = 〈e(x)〉⊥ and wecan obtain Tanner graphs different from those consid-ered in Sect. 3.3. This means that there is a possibilityto construct Tanner graph for 〈e(x)〉⊥ without cycles of

c1 c2 c4

s1 Gn1

c3 c5 c6

s′1 Gn3⇓

c1 c2 c3 c4 c5 c6

s1 s′1GMT

Fig. 4 Construction of GMTfrom Gn

t (= GMet(x)) (t ∈ T ).

Only edges connected to the first check node of each Tanner graphare depicted.

length 4 even if ∪s∈S Cns does not satisfy the condition

given in Corollary 1.

Theorem 3 For Cnt (t ∈ Sn), we define

D(Cnt ) := {(i− j) mod n | i, j ∈ Cn

t , i �= j}.

If Gnt has no cycles of length 4 for all t ∈ T and if

∩t∈TD(Cnt ) = ∅, then GMT

has no cycles of length 4.(Proof) As depicted in Fig. 4, GMT

is obtained by iden-tifying variable nodes in Gn

t (= GM et(x)) for all t ∈ T .

Suppose that Gnt has no cycles of length 4 for all t ∈ T .

If GMThas a cycle of length 4, then two check nodes

in the cycle must come from different Tanner graphs,say Gn

tiand Gn

tj. Then we have D(Cn

ti) ∩ D(Cn

tj) �= ∅, a

contradiction. ✷

Example 2 We consider two Tanner graphs for acyclic code with length n = 26−1 = 63. Let T := {1, 9}.Then G631 does not have cycles of length 4 by Theorem 2.Since gcd(63, 9) = 9 and 63/9 = 7 = 23−1, G639 neitherhas cycles of length 4, by Theorem 1 and Theorem 2.Moreover, we can verify that D(C631 ) ∩ D(C639 ) = ∅.Hence GMT

has no cycles of length 4 by Theorem 3.On the other hand, by calculating Eq. (10) for this

T , we have S = {0, 11, 13, 23, 27, 31} (| ∪s∈S C63s | =28). But ∪s∈S C63s does not satisfy the condition inCorollary 1. Thus GMe(x)

has a cycle of length 4 fore(x) =

∑s∈S es(x).

Note that both MT and Me(x) are parity checkmatrices for 〈e(x)〉⊥. Hence this example shows thatMT is worth considering. ✷

4. Simulation Results for AWGN Channel

In this section, we numerically show error performanceof binary cyclic codes over AWGN channel where theiterative decoding based on the sum-product algorithmimplemented on Tanner graphs devised in the previous

†See Example 5 for selecting S = {1, s}.

Page 7: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

934IEICE TRANS. FUNDAMENTALS, VOL.E86–A, NO.4 APRIL 2003

section is employed.Consider an AWGN channel with power spectral

density N0/2 and assume that BPSK signaling withunit energy per symbol is employed. More precisely, acodeword c = (c0, c1, . . . , cn−1) ∈ C is mapped into abipolar sequence x = (x0, x1, . . . , xn−1) where

xi = 2ci − 1 ={+1 for ci = 1,−1 for ci = 0.

Let y = (y0, y1, . . . , yn−1) be the output sequenceof the matched filter receiver. Then yi = xi + ni

(i = 0, 1, . . . , n − 1) where ni represents Gaussian ran-dom variable with zero mean and variance N0/2. Weestimate the transmitted sequence x and consequentlythe transmitted codeword c from the received sequencey by the iterative decoding based on the sum-productalgorithm [1], [3], [5]. For the detail of the algorithm,see [10].

Example 3 We first investigate a cyclic code C :=〈e1(x)〉⊥ with n = 2m −1, whose Tanner graph GMe1(x)

has no cycles of length 4 by Theorem 2. We havedimC = 2m−1 − 1 by Proposition 5 and d(C) ≤ m+ 1by w(e1(x)) = m and Eq. (3). So this code is a[2m − 1, 2m−1 − 1,≤ m+ 1] code. Therefore the rate isapproximately 1/2 while the upper bound for the rela-tive minimum distance is m+1

2m−1 and vanishes for largem.

In Fig. 5, we show bit error rate (BER) versusEb/N0 for these codes with code length n = 2m − 1 =15, 63, 255, 1023, 4095 and 16383. We also show Shan-non limit for rate one half codes for comparison.

We can see from this figure that error performancebecomes better as the code length n increases. But theerror performance for n = 4095 and 16383 exhibits thestart of so called error floor at relatively small Eb/N0

of 2 to 3 dB, which is due to the small relative minimumdistance [15]. ✷

Next example shows a way to avoid an early start

Fig. 5 Error performance of 〈e1(x)〉⊥ with [2m−1, 2m−1] (m =4, 6, 8, 10, 12, 14).

of error floor by considering a shorter code length.

Example 4 Since w(e1(x)) = |Cn1 | = m1, the code

length n of 〈e1(x)〉⊥ must divide 2m1 − 1 (see the defi-nition of Cn

1 ). Moreover, we have d(〈e1(x)〉⊥) ≤ m1+1by Eq. (3). Therefore the relative minimum distance of〈e1(x)〉⊥ with length n is upper bounded by (m1+1)/n,and m1+1

2m1−1 is the smallest upper bound.The easiest way to enlarge this upper bound (m1+

1)/n is to consider 〈e1(x)〉⊥ with n < 2m1−1. In Fig. 6,we compare the error performance of Cn with n = 4095(= 212−1) and C ′

n with n = 4161 (= (218−1)/63). Cn

and C ′n are [4095, 2047, 13] and [4161, 2089, 19] codes,

respectively, and the upper bound and the real valueof the relative minimum distance for each code agrees.We see from Fig. 6 that the early start of error floor issuppressed by employing a code with n < 2m1 − 1 andthereby enlarging the minimum distance. ✷

Example 5 In this example, we consider the case of|S| = 2. Let e(x) := ea(x) + eb(x) (a, b ∈ Sn, a �= b)and consider C := 〈e(x)〉⊥. If gcd(n, a) = 1, thereexists an integer c such that ac ≡ 1 mod n. For this c,we have

e(xc)=eac(x)+ebc(x)≡e1(x)+ebc(x) (mod xn − 1).

Moreover, it is known [13, Theorem 5.18] that C ′ :={c(xc) | c(x) ∈ C} = 〈e(xc)〉⊥ is obtained by permutingthe coordinate of C = 〈e(x)〉⊥ and is, in this sense,equivalent to C.

On the other hand, for Cna ∪Cn

b satisfying the condi-tion of Corollary 1 with gcd(n, a) �= 1 and gcd(n, b) �= 1,the computer search shows that |Cn

a | + |Cnb | is usually

very small and the code C = 〈ea(x) + eb(x)〉⊥ doesnot exhibit good error performance. A reason for thepoor performance of C is considered to come from thefact that the minimum distance d(C), which is upper

Fig. 6 Comparison of error performance of 〈e1(x)〉⊥ with n =2m − 1 (broken line) and n < 2m − 1 (solid line).

Page 8: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

SHIBUYA and SAKANIWA: CONSTRUCTION OF CYCLIC CODES SUITABLE FOR ITERATIVE DECODING935

Fig. 7 Comparison of error performance of 〈e1(x)〉⊥ (broken

line) and 〈e1(x) + es(x)〉⊥ (s �= 1) (solid line).

Table 1 Parameters of codes in Fig. 7.

n (s) k d rate1365 — 661 13 0.48421365 (91) 765 13–17† 0.56044161 — 2089 19 0.50204161 (1387) 2163 18–21 0.5198

†d1–d2 means that d1 is a lower boundfor d obtained by BCH bound while d2 isan upper bound for d given by Eq. (3).

bounded by |Cna |+ |Cn

b |+ 1 by Eq. (3), is very small.Hence we show in this example error performance

of 〈e1(x) + es(x)〉⊥ with s �= 1 as an example of thecase of |S| = 2.

In Fig. 7, we compare error performance of〈e1(x)〉⊥ and 〈e1(x) + es(x)〉⊥ for code length n =1365 = (212 − 1)/3 and n = 4161 = (218 − 1)/63 forwhich both GMe1(x)

and GMe1(x)+es(x)(s �= 1) have no

cycles of length 4. The value of s in 〈e1(x) + es(x)〉⊥is selected within Sn ⊆ {0, 1, . . . , n − 1} so that theresulting 〈e1(x) + es(x)〉⊥ exhibits the best error per-formance. Parameters of these codes are summarizedin Table 1.

We may say from Fig. 7 that 〈e1(x) + es(x)〉⊥ withrelatively large length (n = 4161) is inferior to 〈e1(x)〉⊥

while 〈e1(x) + es(x)〉⊥ with length around 103 (n =1365) exhibits considerable improvement over 〈e1(x)〉⊥.So using e(x) with |S| = 2 is more effective for codeswith length around 103. ✷

Example 6 In this example, we show error perfor-mance of 〈e1(x)〉⊥ ∩ 〈et(x)〉⊥ with t �= 1. The decodingalgorithm operates on Tanner graph given as GMT

dis-cussed in Sect. 3.4.

Figure 8 shows error performance of codes listedin Table 2, where the value of t is selected in Sn ⊆{0, 1, . . . , n − 1} so that 〈e1(x)〉⊥ ∩ 〈et(x)〉⊥ exhibits

Fig. 8 Error performance of 〈e1(x)〉⊥ ∩ 〈et(x)〉⊥ (t �= 1).

Table 2 Parameters of codes in Fig. 8.

n (t) k d rate255 (119) 63 17–45 0.24711023 (253) 351 24–121 0.34314095 (663) 1503 20–169 0.3670

the best error performance. Since the codes consideredin this example is obtained as an intersection of twocodes, the minimum distance of the code is expected toincrease while the rate decreases.

We see from Fig. 8 that error performance of〈e1(x)〉⊥ ∩ 〈et(x)〉⊥ with n = 255, 1023 and 4095 isworse than those of 〈e1(x)〉⊥ and 〈e1(x) + es(x)〉⊥ inspite of the larger minimum distance and lower rate.

Example 7 In the argument in Sect. 3, we have exclu-sively treated Tanner graphs GMe(x)

and GMT. Since

Tanner graphs GMe(x) and GMTare parts of GMe(x)

andGMT

, respectively, GMe(x) and GMThave no cycles of

length 4, if neither have GMe(x)and GMT

.In Fig. 9, we compare error performance obtained

by decoding based on GMe(x)and GMe(x) . Figures 9(a)

and 9(b) show error performance of 〈e1(x)〉⊥ withn = 210 − 1 = 1023 and 214 − 1 = 16383, which areconsidered in Example 3. While the decoding complex-ity can be reduced by employing GM in place of GM ,the degradation of error performance is not small forlarge Eb/N0. ✷

Example 8 Let h(x) =∑k

i=0 hixi be the parity check

polynomial of an [n, k] cyclic code C. Then it is knownthat [12]

H :=

0 · · · 0 0 hk · · · h2 h1 h00 · · · 0 hk · · · h2 h1 h0 0

...hk · · · h2 h1 h0 0 · · · 0 0

Page 9: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

936IEICE TRANS. FUNDAMENTALS, VOL.E86–A, NO.4 APRIL 2003

Fig. 9 Comparison of error performance for Me(x) (solid line)and Me(x) (broken line).

Fig. 10 Comparison of error performance for GMe(x)(solid

line) and GH (broken line).

is a parity check matrix for C. As a final example, wejustify the use of M e(x) instead of a usual parity checkmatrix H.

Figures 10(a) and 10(b) show comparison of er-ror performance of the iterative decoding implementedon GMe(x)

and GH for 〈e1(x) + es(x)〉⊥ with n = 255

and 〈e1(x)〉⊥ with n = 341. Similarly to Example 5,the value of s = 27 is selected so that the result-ing 〈e1(x) + es(x)〉⊥ shows the best error performance.The code length n in this example, on the other hand, isselected smaller than those of Example 5, since select-ing n larger makes the number of 1’s in H also largerand makes the iterative decoding algorithm based on Hintractable in a short time. In Table 3, we summarizethe weight of e(x) and h(x).

From the table, we can imagine that there are alot of short cycles in GH . This is supported by the

Table 3 Comparison between the weight of e(x) and h(x).

w(e(x)) w(h(x))(a) 8 82(b) 10 60

simulation result. That is, error performance for GH

is much worse than that for GMe(x). Therefore GH is

not useful for the iterative decoding based on the sum-product algorithm. ✷

5. Comparison with the Conventional Codes

In this section, we briefly compare cyclic codes obtainedby the proposed construction method with those by theexisting similar methods.

5.1 Type-I EG and Type-I PG LDPC Codes

Type-I Euclidean geometry (EG) and Type-I projectivegeometry (PG) LDPC codes introduced by Kou et al.[10] are known as the most representative classes ofcyclic codes whose Tanner graphs have no cycles oflength 4.

We compare in Fig. 11 the realizable type-I EGand type-I PG-LDPC codes and the codes 〈e1(x)〉⊥,〈e1(x) + es(x)〉⊥ and 〈e1(x)〉⊥ ∩ 〈et(x)〉⊥ obtained bythe proposed method given in Sect. 3, for code lengthless than 214 (= 16384). We see from Fig. 11 that re-alizable code length and rate by type-I EG and type-I PG-LDPC codes are rather restricted, and the pro-posed method fills up the lacking wide range of codelength and rate. In this sense, the type-I EG andtype-I PG-LDPC codes and the cyclic codes generatedby the proposed method are mutually complementarywith respect to their parameters. More precisely, ex-cept for codes with very short length (≤ 63), most highrate (> 0.6) codes are realized as the type-I EG ortype-I PG-LDPC codes, while almost all medium rate(from 0.4 to 0.6) codes are obtained by the proposedmethod which exhibit relatively good performance asshown in Example 5. Low rate (< 0.4) codes can berealized as both type-I EG and type-I PG-LDPC codesand the proposed cyclic codes. However, most of theproposed cyclic codes of low rate (< 0.4) are realizedas 〈e1(x)〉⊥ ∩ 〈et(x)〉⊥, which usually do not exhibitgood error performance as we pointed out in Example 6.Therefore we may conclude that the codes obtained bythe proposed method are useful for medium code ratewhich can not be obtained by the type-I EG and type-IPG-LDPC codes.

Moreover, the proposed method can provide cycliccodes with various rate for a fixed length. This maybe useful in such a system that switches the code rateaccording to the channel quality.

Finally we compare the bit error performanceof type-I EG-LDPC codes and the proposed codes,

Page 10: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

SHIBUYA and SAKANIWA: CONSTRUCTION OF CYCLIC CODES SUITABLE FOR ITERATIVE DECODING937

Fig. 11 Code length and rate realized by proposed cyclic codesand type-I EG and type-I PG LDPC codes.

Fig. 12 Comparisons of bit error performance of proposedcodes and type-I EG-LDPC codes.

though a direct comparison may not be reasonablesince the same code parameters are not taken in thetwo construction methods. In Fig. 12(a) we comparea [511, 139] type-I EG-LDPC code and a [511, 259]proposed code given as 〈e1(x) + e219(x)〉⊥. We seefrom Fig. 12(a) that the proposed code is rather goodfrom the view point of the interval toward Shannonlimit. In Fig. 12(b) we compare a [1023, 781] type-IEG-LDPC code and a [1365, 765] proposed code givenas 〈e1(x) + e91(x)〉⊥. We see from Fig. 12(b) that thebit error performance of the proposed code is betterthan that of type-I EG-LDPC code, while the distanceto Shannon limit is a little bit large. As a whole, wemay say that the codes by the two methods taken inthis example show comparable performance while thecode parameters are different.

5.2 Difference-Set Cyclic Codes

Let q be a nonnegative integer and D := {a0, a1, . . . ,

aq} (ai ≤ q(q + 1)) a set of q + 1 nonnegative integers.D is said to be a perfect simple difference set if ai −aj mod q(q + 1) are all different for i and j with i �= j.A difference-set cyclic code [16] of length n := q(q +1) + 1 on a perfect simple difference set D is definedas a binary cyclic code whose parity check polynomialh(x) is given by h(x) := gcd(a(x), xn−1) where a(x) :=∑q

i=0 xai (ai ∈ D).

Proposition 8 Let H be a parity check matrix of adifference-set cyclic code defined by h(x) as is describedin Example 8. Then GH has no cycles of length 4, ifa(x)|xn − 1.(Proof) From the definition of difference-set cycliccodes, h(x) = a(x) when a(x)|xn − 1. Then Lemma 1,by replacing n, e(x), GMe(x)

and ∪s∈SCns by q(q+1)+1,

h(x), GH and D, respectively, immediately implies theconclusion of the proposition. ✷

It is known [16] that there exists a perfect simpledifference set for q = ps, p a prime and s a positiveinteger, and that difference-set cyclic codes for q = 2s

are constructed as type-I PG-LDPC codes. Therefore,the difference-set cyclic codes for q = 2s are included inthe set of type-I PG-LDPC codes discussed in Sect. 5.1.Though the condition in Corollary 1 and that for a per-fect simple difference set are quite similar, the codesobtained by the proposed method and those based onthe difference-set cyclic codes are different in general,as is clear from this argument. As one can see fromFig. 11, there are so many proposed codes which cannot be realized by the difference-set cyclic codes. Con-versely, [21, 11, 6] and [273, 191, 18] difference-set cycliccodes, for example, can not be obtained by the pro-posed method.

For arbitrary q, the proposed cyclic codes anddifference-set cyclic codes with length n := q(q+1)+1whose Tanner graph have no cycles of length 4 are foundin the following manner.

For the proposed cyclic codes, we first constructcyclotomic cosets Cn

s (s ∈ Sn) modulo n. Then weverify whether ∪s∈SCn

s satisfies the condition in Corol-lary 1 for all S ∈ Sn. For difference-set cyclic codeson the other hand, we first need to check if there existsa perfect simple difference set which consists of q + 1integers. If it exists, we verify whether the perfect sim-ple difference set defines a(x) such that a(x)|xn − 1 toapply Proposition 8.

The complexity to verify whether a given set ofq+1 integers is a perfect simple difference set is almostthe same as that to verify whether ∪s∈SCn

s satisfies thecondition given in Corollary 1. In addition we needto verify whether a(x)|xn − 1 for difference-set cycliccodes. For the proposed method, on the other hand,we can utilize several theorems and propositions de-veloped in Sect. 3 to expedite to verify whether ∪s∈SCn

s

satisfy the condition given in Corollary 1. Hence to find

Page 11: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

938IEICE TRANS. FUNDAMENTALS, VOL.E86–A, NO.4 APRIL 2003

cyclic codes by the proposed method is considered tobe easier than to find difference-set cyclic codes havingthe desired properties.

6. Conclusion

In this paper, we have proposed several methods to con-struct parity check matrices for cyclic codes which de-fine Tanner graphs without cycles of length 4. At first,we have introduced a parity check matrix Me(x) whichis defined by the generating idempotent of a cyclic code.By utilizing properties of generating idempotents, wehave succeeded to describe the condition that GMe(x)

has no cycles of length 4 in terms of cyclotomic cosets.Moreover, we have clarified a relation between Tannergraphs Gn

s and Gn/δ1 (δ := gcd(n, s)). These condition

and relation make it easy to find cyclic codes whoseTanner graph GMe(x)

has no cycles of length 4.For an idempotent e(x) =

∑s∈S es(x) with large

S, it is difficult to make GMe(x)have no cycles of length

4. To solve this problem, we have introduced anothertype of parity check matrix MT which is obtained byconcatenating some Met(x)’s. A code defined by MT isexpected to have a large minimum distance at the priceof rate.

Moreover, since the number of 1’s in the proposedparity check matrices M e(x) and MT is much smallerthan a usual parity check matrix defined by a paritycheck polynomial, it can be expected that GMe(x)

andGMT

have smaller number of cycles of short length likelength 6 and 8.

We have shown by computer simulation that cycliccodes with the iterative decoding based on the sum-product algorithm implemented on GMe(x)

or GMTex-

hibit good error performance for the binary inputAWGN channel.

Finally, we have clarified the difference betweencodes obtained by the proposed method and the con-ventional ones.

Acknowledgement

The authors are grateful to Dr. T. Wadayama inOkayama Prefectural University and Dr. M. Isaka inKwansei Gakuin University for their useful commentsand discussions.

References

[1] D.J.C. MacKay, “Good error-correcting codes based on verysparse matrices,” IEEE Trans. Inf. Theory, vol.45, pp.399–431, March 1999.

[2] B.J. Frey, Graphical Models for Machine Learning and Dig-ital Communication, The MIT Press, 1998.

[3] F.R. Kschischang, B.J. Frey, and H.-A. Loeliger, “Factorgraphs and the sum-product algorithm,” IEEE Trans. Inf.Theory, vol.47, pp.498–519, Feb. 2001.

[4] S.M. Aji and R.J. McEliece, “A general algorithm for dis-tributing information on a graph,” Proc. 1997 IEEE In-ternational Symposium on Information Theory, p.6, July1997.

[5] R.G. Gallager, “Low-density parity-check codes,” IRETrans. Inf. Theory, pp.21–28, Jan. 1962.

[6] N. Wiberg, H.-A. Loeliger, and R. Kotter, “Codes and iter-ative decoding on general graphs,” Eur. Trans. Telecomm.,vol.6, no.3, pp.513–525, 1995.

[7] R.M. Tanner, “A recursive approach to low complexitycodes,” IEEE Trans. Inf. Theory, vol.27, pp.533–547, Jan.1982.

[8] J. Pearl, Probabilistic reasoning in intelligent systems: Net-works of plausible inference, Morgan Kaufmann Publishers,1988.

[9] R.J. McEliece, D.J.C. MacKay, and J.-F. Cheng, “Turbodecoding as an instance of pearl’s “belief propagation” al-gorithm,” IEEE J. Sel. Areas Commun., vol.16, pp.140–152,Feb. 1998.

[10] Y. Kou, S. Lin, and M.P.C. Fossorier, “Low density paritycheck codes based on finite geometries: A rediscovery andnew results,” IEEE Trans. Inf. Theory, vol.47, pp.2711–2736, Nov. 2001.

[11] F.J. MacWilliams and N.J.A. Sloane, The Theory of Error-Correcting Codes, Elsevier, North-Holland, 1977.

[12] J.H. van Lint, Introduction to Coding Theory, second ed.,Springer-Verlag, 1991.

[13] V.S. Pless, W.C. Huffman, and R.A. Brualdi, “An introduc-tion to algebraic codes,” in Handbook of Coding Theory,ed. V.S. Pless and W.C. Huffman, Elsevier, North-Holland,1998.

[14] S. Lang, Algebra, third ed., Addison-Wesley, 1993.[15] I. Sason and S. Shamai (Shitz), “Improved upper bounds

on the ensemble performance of ML decoded low densityparity check codes,” IEEE Commun. Lett., vol.4, pp.89–91,March 2000.

[16] S. Lin and D.J. Costello, Jr., Error Control Coding: Fun-damentals and Applications, Prentice-Hall, 1983.

Appendix: Proof of Proposition 5

We denote by g(x) and h(x) the generator and theparity check polynomials of C, respectively. ThendimC = deg h(x) = n− deg g(x).

We have from Proposition 3 that 1− xne1(x−1) ∈C = 〈g(x)〉. Moreover, by noting that e1(x) = x+x2+· · ·+ x2

m−1, we have

1− xne1(x−1)

= 1 + xn−1 + xn−2 + · · ·+ xn−2m−1

≡ x2m−1 + x2

m−2 + x2m−3 + · · ·+ x2

m−1−1

(mod x2m−1 − 1)

= x2m−1−1(x2

m−1+ x2

m−1−1 + · · ·+ 1)

=:x2m−1−1c(x),

which implies that c(x) ∈ C. Hence g(x)|c(x) andtherefore deg g(x) ≤ deg c(x). So we have deg h(x) =n− deg g(x) ≥ 2m−1 − 1.

On the other hand, the code obtained by revers-ing the order of the symbols of 〈e1(x)〉 is equivalent to〈h(x)〉 [12]. So xn−1e1(x−1) ∈ 〈h(x)〉 and

Page 12: PAPER Construction of Cyclic Codes Suitable for Iterative ... · PDF fileConstruction of Cyclic Codes Suitable for Iterative Decoding via Generating Idempotents ... Inacon-text of

SHIBUYA and SAKANIWA: CONSTRUCTION OF CYCLIC CODES SUITABLE FOR ITERATIVE DECODING939

xn−1e1(x−1)=x2m−1−1(1 + x+ · · ·+ x2

m−1−1),

hence h(x)|1+x+ · · ·+x2m−1−1 and deg h(x) ≤ 2m−1−

1. ✷

Tomoharu Shibuya received theB.E., M.E., and Ph.D. degrees in electri-cal and electronic engineering from TokyoInstitute of Technology, Tokyo, Japan, in1992, 1994 and 1999, respectively. Hejoined Tokyo Institute of Technology in1994 as a research associate. Since 2000,he has been a research associate in theDepartment of Communication and Inte-grated Systems, Graduate School of Sci-ence and Engineering, Tokyo Institute of

Technology. He received the Young Engineer Award from theIEICE of Japan in 1997. His research interests are error controlcoding and information theory.

Kohichi Sakaniwa received B.E.,M.E., and Ph.D. degrees all in electronicengineering from the Tokyo Institute ofTechnology, Tokyo Japan, in 1972, 1974and 1977, respectively. He joined theTokyo Institute of Technology in 1977as a research associate and served as anassociate professor from 1983 to 1991.Since 1991 he has been a professor in theDepartment of Electrical and ElectronicEngineering, and since 2000 in the De-

partment of Communication and Integrated Systems, GraduateSchool of Science and Engineering, both in the Tokyo Inst. ofTech. He received the Excellent Paper Award from the IEICE(the Institute of Electronics, Information and CommunicationEngineers) of Japan in 1982, 1990, 1992 and 1994. His researcharea includes Communication Theory, Error Correcting Coding,(Adaptive) Digital Signal Processing and so on. Dr. Sakaniwa isa member of IEEE, Information Processing Society of Japan, In-stitute of Image Information and Television Engineers of Japan,Society of Information Theory and its Applications, and Instituteof Electrical Engineers of Japan.


Recommended