Cyclic Linear Codes
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
p3. Cyclic Linear Codes [1] Polynomials and words 1. Polynomial of degree n over K 2. Eg 4.1.1
p4. Cyclic Linear Codes 3. [Algorithm 4.1.8]Division algorithm 4. Eg
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 Cyclic Linear Codes Codeword c Polynomial c(x) x 2 x+x 3 1+x+x 2 +x 3
p6. Cyclic Linear Codes 7. f(x) and p(x) are equivalent modulo h(x) 8.Eg Eg
p7. Cyclic Linear Codes 10. Lemma Eg
p8. [2]Introduction to cyclic codes 1. cyclic shift π(v) V: , : 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
p9. Cyclic Linear Codes 3. Cyclic shiftπis a linear transformation S={v, π(v), π 2 (v), …, π n-1 (v)}, and C=, then v is a generator of the linear cyclic code C
p10. Cyclic Linear Codes 4. Cyclic Code in terms of polynomial
p11. Cyclic Linear Codes 5. Lemma Let C be a cyclic code let v in C. Then for any polynomial a(x), c(x)=a(x)v(x)mod(1+x n ) is a codeword in C 6. Theorem 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), x 2 g(x), …., x k-1 g(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
p12. Cyclic Linear Codes 7. Eg the smallest linear cyclic code C of length 6 containing g(x)=1+x is {000000, , , , , , , } 8. Theorem g(x) is the generator polynomial for a linear cyclic code of length n if only if g(x) divides 1+x n (so 1+x n =g(x)h(x)).
p13. Cyclic Linear Codes 9. Corollary 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+x n ) 10. Eg n=8, v= so v(x)=1+x+x 3 +x 4 g(x)=gcd(1+x+x 3 +x 4, 1+x 8 )=1+x 2 Thus g(x)=1+x 2 is the smallest cyclic linear code containing v(x), which has dimension of 6.
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 )
p15. Cyclic Linear Codes 2. Eg C: the linear cyclic codes of length n=7 with generator polynomial g(x)=1+x+x 3, and deg(g(x))=3, => k = 4
p16. Cyclic Linear Codes 3. Efficient encoding for cyclic codes
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 r i is the word of length n-k => r i (x)=x i mod g(x) wH = (c+e)H => c(x) mod g(x) + e(x) mod g(x) = s(x)
p18. Cyclic Linear Codes 5. Eg n=7, g(x)=1+x+x 3, n-k = 3
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+x n, 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+x n (see Appendix B) Improper cyclic codes: K n and {0}
p20. Cyclic Linear Codes 2. Theorem Coro 4.4.4
p21. Cyclic Linear Codes 4. Idempotent polynomials I(x) I(x) = I(x) 2 mod (1+x n ) for odd n Find a “basic” set of I(x) C i = { s=2 j i (mod n) | j=0, 1, …, r} where 1 = 2 r mod n
p22. Cyclic Linear Codes 5. Eg Theorem Every cyclic code contains a unique idempotent polynomial which generates the code.(?)
p23. Cyclic Linear Codes 7. Eg find all cyclic codes of length 9 The generator polynomial g(x)=gcd(I(x), 1+x 9 ) Idempotent polynomial I(x) 1 1+x+x 3 +x 4 +x 6 +x 7 1+x 3 1+x+x 2 : 1 x+x 2 +x 4 +x 5 +x 7 +x 8 x 3 +x 6 1+x+x 2 +x 4 +x 5 +x 7 +x 8 :
p24. Cyclic Linear Codes [5].Dual cyclic codes 1. The dual code of a cyclic code is also cyclic 2. Lemma a > a(x), b > b(x) and b’ > b’(x)=x n b(x -1 ) mod 1+x n then a(x)b(x) mod 1+x n = 0 iff π k (a) . b’=0 for k=0,1,…n-1 3. Theorem C: a linear code, length n, dimension k with generator g(x) If 1+x n = g(x)h(x) then C ⊥ : a linear code, dimension n-k with generator x k h(x -1 )
p25. Cyclic Linear Codes 4. Eg g(x)=1+x+x 3, n=7, k=7-3=4 h(x)=1+x+x 2 +x 4 h(x)generator for C ⊥ is g ⊥ (x)=x 4 h(x -1 )=x 4 (1+x -1 +x -2 +x -4 )=1+x 2 +x 3 +x 4 5. Eg g(x)=1+x+x 2, n=6, k=6-2=4 h(x)=1+x+x 3 +x 4 h(x)generator for C ⊥ is g ⊥ (x)=x 4 h(x -1 )=1+x+x 3 +x 4