25
Cyclic Linear Codes

Cyclic Linear Codes

Embed Size (px)

DESCRIPTION

Cyclic Linear Codes. OUTLINE. [1] Polynomials and words [2] Introduction to cyclic codes [3] Generating and parity check matrices for cyclic codes [4] Finding cyclic codes [5] Dual cyclic codes. Cyclic Linear Codes. [1] Polynomials and words 1. Polynomial of degree n over K - PowerPoint PPT Presentation

Citation preview

Page 1: Cyclic Linear Codes

Cyclic Linear Codes

Page 2: Cyclic Linear Codes

p2.p2.

OUTLINE

[1] Polynomials and words

[2] Introduction to cyclic codes

[3] Generating and parity check matrices for cyclic

codes

[4] Finding cyclic codes

[5] Dual cyclic codes

Page 3: Cyclic Linear Codes

p3.p3.

Cyclic Linear Codes

[1] Polynomials and words 1. Polynomial of degree n over K

2. Eg 4.1.1

2 30 1 2 3

0

[ ] { .... }

,...., , deg( ( ))

nn

n

K x a a x a x a x a x

a a K f x n

3 4 2 3 2 4

2 4

2 3

2 3 2 3 3 2 3

4 2 3 7

Let ( ) 1 ( ) ( ) 1 then

( ) ( ) ( ) 1

( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

( )

f x x x x g x x x x h x x x

a f x g x x x

b f x h x x x x

c f x g x x x x x x x x x x x x

x x x x x x

Page 4: Cyclic Linear Codes

p4.p4.

Cyclic Linear Codes

3. [Algorithm 4.1.8]Division algorithm

4. Eg. 4.1.9

Let ( ) and ( ) be in [ ] with ( ) 0. Then there exist

unique polynomial ( ) and ( ) in [ ] such that

( ) ( ) ( ) ( ),

with ( ) 0 or deg( ( )) deg( ( ))

f x h x K x h x

q x r x K x

f x q x h x r x

r x r x h x

2 6 8 2 4

3 4 2 3

3 4 2 3

( ) , ( ) 1

( ) , ( )

( ) ( )( ) ( )

deg( ( )) deg( ( )) 4

f x x x x x h x x x x

q x x x r x x x x

f X h x x x x x x

r x h x

Page 5: Cyclic Linear Codes

p5.p5.

5. Code represented by a set of polynomials A code C of length n can be represented as a set of

polynomials over K of degree at most n-1

6. E.g 4.1.12

Cyclic Linear Codes

2 1

0 1 2 1( ) .... over Knnf x a a x a x a x

n0 1 2 1... of length n in Knc a a a a

Codeword c Polynomial c(x)

0000101001011111

01+x2

x+x3

1+x+x2+x3

Page 6: Cyclic Linear Codes

p6.p6.

Cyclic Linear Codes

7. f(x) and p(x) are equivalent modulo h(x)

8.Eg 4.1.15

9. Eg 4.1.16

( ) mod ( ) ( ) ( ) mod ( )

. ( ) ( )(mod ( ))

f x h x r x p x h x

ie f x p x h x

4 9 11 5 6( ) 1 , ( ) 1 , ( ) 1

( )mod ( ) ( ) 1 ( )mod ( )

=>f(x) and p(x) are equivalent mod h(x)!!

f x x x x h x x p x x

f x h x r x x p x h x

2 6 9 11 2 5 2 8

4 3

( ) 1 , ( ) 1 , ( )

( )mod ( ) , ( )mod ( ) 1

=>f(x) and p(x) are NOT equivalent mod h(x)!!

f x x x x x h x x x p x x x

f x h x x x p x h x x

Page 7: Cyclic Linear Codes

p7.p7.

Cyclic Linear Codes

10. Lemma 4.1.17

11. Eg. 4.1.18

If ( ) ( )(mod ( )), then

( ) ( ) ( ) ( )(mod ( ))

and

( ) ( ) ( ) ( )(mod ( ))

f x g x h x

f x p x g x p x h x

f x p x g x p x h x

7 2 5 6

7 6 2 2 6

7 6 3

( ) 1 , ( ) 1 , ( ) 1 , ( ) 1

so ( ) ( )(mod ( )), then

( ) ( ) and ( ) ( ) :

((1 ) (1 ))mod ( ) ((1 ) (1 ))mod ( )

( ) ( ) and ( ) ( ) :

((1 )(1 ))mod ( ) 1 ((1

f x x x g x x x h x x p x x

f x g x h x

f x p x g x p x

x x x h x x x x x h x

f x p x g x p x

x x x h x x 2 6)(1 ))mod ( )x x x h x

Page 8: Cyclic Linear Codes

p8.p8.

[2]Introduction to cyclic codes 1. cyclic shift π(v)

V: 010110, : 001011

2.cyclic code A code C is cyclic code(or linear cyclic code) if (1)the cyclic

shift of each codeword is also a codeword and (2) C is a linear code

C1=(000, 110, 101, 011} is a cyclic code C2={000, 100, 011, 111} is NOT a cyclic code

V=100, =010 is not in C2

Cyclic Linear Codes

( )v

v 10110 111000 0000 1011 ( )v 01011 011100 0000 1101

( )v

Page 9: Cyclic Linear Codes

p9.p9.

Cyclic Linear Codes

3. Cyclic shiftπis a linear transformation

S={v, π(v), π2(v), …, π n-1(v)}, and C=<S>, then v is a generator of the linear cyclic code C

Lemma 4.2.3 ( ) ( ) ( ),

and ( ) ( ), {0,1}

Thus to show a linear code C is cyclic

it is enough to show that ( ) C

for each word in a basis for C

v w v w

av a v a K

v

v

Page 10: Cyclic Linear Codes

p10.p10.

Cyclic Linear Codes

4. Cyclic Code in terms of polynomial

( ), ( ) ( )v v v x xv x

3

7

2 4

2

Eg 4.2.11 v=1101000, n=7, v(x)=1+x+x

word polynimial(mod 1+x )

----------- -----------------------------

0110100 ( )

0011010 x (

xv x x x x

v

2 3 4

3 3 4 6

4 4 5 7 4 5 7

5 5 6 8 5 6 7

6 6 7 9

)

0001101 x ( )

1000110 x ( ) 1 mod(1 )

0100011 x ( ) mod(1 )

1010001 x ( ) 1

x x x x

v x x x x

v x x x x x x x

v x x x x x x x x

v x x x x 2 6 7mod(1 )x x x

Page 11: Cyclic Linear Codes

p11.p11.

Cyclic Linear Codes

5. Lemma 4.2.12

Let C be a cyclic code let v in C. Then for any polynomial a(x), c(x)=a(x)v(x)mod(1+xn) is a codeword in C

6. Theorem 4.2.13

C: a cyclic code of length n, g(x): the generator polynomial, which is the unique nonzero

polynomial of minimum degree in C.

degree(g(x)) : n-k, 1. C has dimension k 2. g(x), xg(x), x2g(x), …., xk-1g(x) are a basis for C 3. If c(x) in C, c(x)=a(x)g(x) for some polynomial a(x) with degree(a(x))<k

Page 12: Cyclic Linear Codes

p12.p12.

Cyclic Linear Codes

7. Eg 4.2.16the smallest linear cyclic code C of length 6 containing g(x)=1+x3 <-> 100100 is

{000000, 100100, 010010, 001001, 110110, 101101, 011011, 111111}

8. Theorem 4.2.17 g(x) is the generator polynomial for a linear cyclic code

of length n if only if g(x) divides 1+xn (so 1+xn

=g(x)h(x)).

Page 13: Cyclic Linear Codes

p13.p13.

Cyclic Linear Codes

9. Corollary 4.2.18

The generator polynomial g(x) for the smallest cyclic code of length n containing the word v(polynomial v(x)) is g(x)=gcd(v(x), 1+xn)

10. Eg 4.2.19 n=8, v=11011000 so v(x)=1+x+x3+x4

g(x)=gcd(1+x+x3+x4 , 1+x8)=1+x2

Thus g(x)=1+x2 is the smallest cyclic linear code containing

v(x), which has dimension of 6.

Page 14: Cyclic Linear Codes

p14.p14.

Cyclic Linear Codes

[3]. Generating and parity check matrices for cyclic code

1. Effective to find a generating matrix The simplest generator matrices (Theorem 4.2.13)

k-1

( )

( ) , n: length of codes, k=n-deg(g(x))

:

x ( )

g x

xg xG

g x

Page 15: Cyclic Linear Codes

p15.p15.

Cyclic Linear Codes

2. Eg 4.3.2

C: the linear cyclic codes of length n=7 with

generator polynomial g(x)=1+x+x3, and

deg(g(x))=3, => k = 4

3

2 4

2 2 3 5

3 3 4 6

( ) 1

( )

( )

( )

g x x x

xg x x x x

x g x x x x

x g x x x x

1101000

0110100G=

0011010

0001101

Page 16: Cyclic Linear Codes

p16.p16.

Cyclic Linear Codes

3. Efficient encoding for cyclic codes

) aGc ( codelinear generala

of that withcomparedefficient timemore

(x)(x)(x) :algorithm Encoding

)),,,( message source ngrepresenti(

)( polynomial message

k).-n degree has g(x) polynomialgenerator the(so

k dimension and n length of code cyclica be CLet

110

1110

gac

aaa

xaxaaxa

k

kk

Page 17: Cyclic Linear Codes

p17.p17.

Cyclic Linear Codes 4. Parity check matrix

H : wH=0 if only if w is a codeword

Symdrome polynomial s(x)

c(x): a codeword, e(x):error polynomial, and w(x)=c(x)+e(x)

s(x) = w(x) mod g(x) = e(x) mod g(x), because c(x)=a(x)g(x)

H: i-th row ri is the word of length n-k

=> ri(x)=xi mod g(x)

wH = (c+e)H => c(x) mod g(x) + e(x) mod g(x) = s(x)

Page 18: Cyclic Linear Codes

p18.p18.

Cyclic Linear Codes

5. Eg 4.3.7

n=7, g(x)=1+x+x3, n-k = 3

0

1

2 22

33

4 24

5 25

6 26

( ) 1mod ( ) 1

( ) mod ( )

( ) mod ( )

( ) mod ( ) 1

( ) mod ( )

( ) mod ( ) 1

( ) mod ( ) 1

r x g x

r x x g x x

r x x g x x

r x x g x x

r x x g x x x

r x x g x x x

r x x g x x

100

010

001

110

011

111

101

100

010

001

110

011

111

101

H

Page 19: Cyclic Linear Codes

p19.p19.

Cyclic Linear Codes

[4]. Finding cyclic codes 1. To construct a linear cyclic code of length n

Find a factor g(x) of 1+xn, deg(g(x)) = n-k Irreducible polynomials

f(x) in K[x], deg(f(x)) >= 1 There are no a(x), b(x) such that f(x)=a(x)b(x),

deg(a(x))>=1, deg(b(x))>=1 For n <= 31, the factorization of 1+xn

(see Appendix B) Improper cyclic codes: Kn and {0}

Page 20: Cyclic Linear Codes

p20.p20.

Cyclic Linear Codes 2. Theorem 4.4.3

3. Coro 4.4.4

r n 2if n=2 then 1+x (1 )rss x

n. length of codes cyclic

linear proper 2)1(2 are thereThen

s.polynomial eirreducibl z ofproduct the

be 1let and odd is s where,2Let

r

z

sr xsn

Page 21: Cyclic Linear Codes

p21.p21.

Cyclic Linear Codes

4. Idempotent polynomials I(x)

I(x) = I(x)2 mod (1+xn) for odd n

Find a “basic” set of I(x)

Ci= { s=2j i (mod n) | j=0, 1, …, r}

where 1 = 2r mod n

i0

( ) ( ), a {0,1}k

i ii

I x ac x iCj

ji xxc )( where

Page 22: Cyclic Linear Codes

p22.p22.

Cyclic Linear Codes 5. Eg 4.4.12

6. Theorem 4.4.13

Every cyclic code contains a unique idempotent

polynomial which generates the code.(?)

00 0

1 2 41 2 4 1

3 6 53 5 7 2

0 0 1 1 3 3 i

For n=7,

C {0}, so c ( ) 1

C {1, 2, 4} = C C , so c ( )

C {3, 5, 6} = C = C , so c ( )

I(x)=a c ( ) a c ( ) a c ( ), a {0,1},

I(x) 0

x x

x x x x

x x x x

x x x

Page 23: Cyclic Linear Codes

p23.p23.

Cyclic Linear Codes

7. Eg. 4.4.14 find all cyclic codes of length 9

0 1 3

2 4 5 7 8 3 60 1 3

0 0 1 1 3 3

C {0}, C {1,2,4,8,7,5}, C {3,6}

c ( ) 1, c ( ) , c ( )

==> I(x)=a c ( ) a c ( ) a c ( )

x x x x x x x x x x x

x x x

The generator polynomial

g(x)=gcd(I(x), 1+x9)

Idempotent polynomialI(x)

11+x+x3+x4+x6+x7

1+x3

1+x+x2

:

1x+x2+x4+x5+x7+x8

x3+x6

1+x+x2+x4+x5+x7+x8

:

Page 24: Cyclic Linear Codes

p24.p24.

Cyclic Linear Codes [5].Dual cyclic codes

1. The dual code of a cyclic code is also cyclic 2. Lemma 4.5.1 a > a(x), b > b(x) and b’ > b’(x)=xnb(x-1) mod 1+xn

then a(x)b(x) mod 1+xn = 0 iff πk(a) . b’=0 for k=0,1,…n-1

3. Theorem 4.5.2C: a linear code, length n, dimension k with generator g(x)If 1+xn = g(x)h(x) then

C⊥: a linear code , dimension n-k with generator xkh(x-1)

Page 25: Cyclic Linear Codes

p25.p25.

Cyclic Linear Codes 4. Eg. 4.5.3

g(x)=1+x+x3, n=7, k=7-3=4h(x)=1+x+x2+x4

h(x)generator for C⊥ is g⊥ (x)=x4h(x-1)=x4(1+x-1+x-2+x-4 )=1+x2+x3+x4

5. Eg. 4.5.4g(x)=1+x+x2, n=6, k=6-2=4h(x)=1+x+x3+x4

h(x)generator for C⊥ is g⊥ (x)=x4h(x-1)=1+x+x3+x4