250 likes | 280 Views
Learn about the fundamentals of cyclic linear codes, including polynomials and words, generating and parity check matrices, finding cyclic codes, and the concept of dual cyclic codes.
E N D
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 • 2. Eg 4.1.1
Cyclic Linear Codes • 3. [Algorithm 4.1.8]Division algorithm • 4. Eg. 4.1.9
Cyclic Linear Codes • 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 Polynomial c(x) Codeword c 0000 1010 0101 1111 0 1+x2 x+x3 1+x+x2+x3
Cyclic Linear Codes • 7. f(x) and p(x) are equivalent modulo h(x) • 8.Eg 4.1.15 • 9. Eg 4.1.16
Cyclic Linear Codes • 10. Lemma 4.1.17 • 11. Eg. 4.1.18
v 0000 111000 10110 1011 0000 1101 01011 011100 Cyclic Linear Codes • [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 • 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
Cyclic Linear Codes • 4. Cyclic Code in terms of polynomial
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
Cyclic Linear Codes • 7. Eg 4.2.16 the 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)).
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.
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)
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
Cyclic Linear Codes 3. Efficient encoding for cyclic codes
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)
Cyclic Linear Codes • 5. Eg 4.3.7 • n=7, g(x)=1+x+x3, n-k = 3
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}
Cyclic Linear Codes • 2. Theorem 4.4.3 • 3. Coro 4.4.4
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
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.(?)
1 x+x2+x4+x5+x7+x8 x3+x6 1+x+x2+x4+x5+x7+x8 Cyclic Linear Codes • 7. Eg. 4.4.14 find all cyclic codes of length 9 Idempotent polynomial I(x) The generator polynomial g(x)=gcd(I(x), 1+x9) 1 1+x+x3+x4+x6+x7 1+x3 1+x+x2 : :
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.2 C: 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)
Cyclic Linear Codes • 4. Eg. 4.5.3 g(x)=1+x+x3, n=7, k=7-3=4 h(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.4 g(x)=1+x+x2, n=6, k=6-2=4 h(x)=1+x+x3+x4 h(x)generator for C⊥ is g⊥ (x)=x4h(x-1)=1+x+x3+x4