Upload
leo-pace
View
82
Download
1
Tags:
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
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
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
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
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
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
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
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
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
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
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
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)).
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.
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
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
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
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)
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
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}
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
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
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
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
:
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)
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