Академический Документы
Профессиональный Документы
Культура Документы
Linear codes
Cyclic codes
May 1, 2006
1
2
Linear codes
Cyclic codes
Linear codes
Cyclic codes
A communication schema
INFORMATION
SOURCE
DESTINATION
Linear codes
Cyclic codes
A communication schema
INFORMATION
SOURCE
TRASMITTER
DESTINATION
A
MESSAGE
Linear codes
Cyclic codes
A communication schema
INFORMATION
SOURCE
A
SIGNAL
MESSAGE
DESTINATION
RECEIVER
TRASMITTER
RECEIVED
SIGNAL
MESSAGE
Linear codes
Cyclic codes
A communication schema
INFORMATION
SOURCE
DESTINATION
RECEIVER
TRASMITTER
A
SIGNAL
RECEIVED
SIGNAL
MESSAGE
MESSAGE
NOISE
SOURCE
Linear codes
Cyclic codes
A communication schema
INFORMATION
SOURCE
DESTINATION
RECEIVER
TRASMITTER
CODING
PROCEDURE
SIGNAL
RECEIVED
SIGNAL
DECODING
PROCEDURE
CODE
MESSAGE
MESSAGE
NOISE
SOURCE
Linear codes
Cyclic codes
Definitions
Linear codes
Cyclic codes
Definitions
Linear codes
Cyclic codes
Definitions
Linear codes
Cyclic codes
Definitions
Linear codes
Cyclic codes
Definitions
c1
c2
G = . .
..
ck
then G is a generator matrix for C .
v (Fq )k vG C .
Linear codes
Cyclic codes
An example
An example
We first associate a vector in (F2 )2 at each
color:
(0, 0) = v1
(0, 1) = v2
(1, 0) = v3
(1, 1) = v4
Let C be the linear code of length n = 6 and
dimension k = 2 generated by:
0 0 0 1 1 1
G=
1 1 1 0 0 0
Linear codes
Cyclic codes
An example
An example
We first associate a vector in (F2 )2 at each
color:
(0, 0) = v1
(0, 1) = v2
(1, 0) = v3
(1, 1) = v4
Let C be the linear code of length n = 6 and
dimension k = 2 generated by:
0 0 0 1 1 1
G=
1 1 1 0 0 0
Linear codes
Cyclic codes
An example
An example
We first associate a vector in (F2 )2 at each
color:
(0, 0) = v1
(0, 1) = v2
(1, 0) = v3
(1, 1) = v4
Let C be the linear code of length n = 6 and
dimension k = 2 generated by:
0 0 0 1 1 1
G=
1 1 1 0 0 0
Linear codes
Cyclic codes
An example
An example
We first associate a vector in (F2 )2 at each
color:
(0, 0) = v1
(0, 1) = v2
(1, 0) = v3
(1, 1) = v4
Let C be the linear code of length n = 6 and
dimension k = 2 generated by:
0 0 0 1 1 1
G=
1 1 1 0 0 0
Linear codes
Cyclic codes
An example
An example
We first associate a vector in (F2 )2 at each
color:
(0, 0) = v1
(0, 1) = v2
(1, 0) = v3
(1, 1) = v4
Let C be the linear code of length n = 6 and
dimension k = 2 generated by:
0 0 0 1 1 1
G=
1 1 1 0 0 0
Linear codes
Cyclic codes
An example
A noised communication
Linear codes
Cyclic codes
An example
A noised communication
Linear codes
Cyclic codes
An example
A noised communication
Linear codes
Cyclic codes
An example
A noised communication
Linear codes
Cyclic codes
An example
A noised communication
Linear codes
Cyclic codes
An example
A noised communication
Linear codes
Cyclic codes
Hamming distance
u = (ui ), v = (vi ).
Linear codes
Cyclic codes
Hamming distance
u = (ui ), v = (vi ).
Linear codes
Cyclic codes
Hamming distance
u = (ui ), v = (vi ).
Linear codes
Cyclic codes
Hamming distance
u = (ui ), v = (vi ).
Linear codes
Cyclic codes
Hamming distance
u = (ui ), v = (vi ).
Linear codes
Cyclic codes
Hamming distance
Theorem
Let C be a Fq [n, k, d] code.
C can correct t = b d1
2 c errors.
C can detect e = d 1 errors.
Singleton bound: d n k + 1.
Example
c
C=
c
Linear codes
Cyclic codes
Hamming distance
Theorem
Let C be a Fq [n, k, d] code.
C can correct t = b d1
2 c errors.
C can detect e = d 1 errors.
Singleton bound: d n k + 1.
Example
c
C=
c
Linear codes
Cyclic codes
Hamming distance
Theorem
Let C be a Fq [n, k, d] code.
C can correct t = b d1
2 c errors.
C can detect e = d 1 errors.
Singleton bound: d n k + 1.
Example
c
C=
c
Linear codes
Cyclic codes
Hamming distance
Theorem
Let C be a Fq [n, k, d] code.
C can correct t = b d1
2 c errors.
C can detect e = d 1 errors.
Singleton bound: d n k + 1.
Example
c
C=
c
Linear codes
Cyclic codes
Hamming distance
Theorem
Let C be a Fq [n, k, d] code.
C can correct t = b d1
2 c errors.
C can detect e = d 1 errors.
Singleton bound: d n k + 1.
Example
c
C=
c
Linear codes
Cyclic codes
Hamming distance
Theorem
Let C be a Fq [n, k, d] code.
C can correct t = b d1
2 c errors.
C can detect e = d 1 errors.
Singleton bound: d n k + 1.
Example
c
C=
c
Linear codes
Cyclic codes
Linear codes
Cyclic codes
Linear codes
Cyclic codes
Linear codes
Cyclic codes
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
A decoding procedure
c0
0
0
H=
1
1
0
0
0
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
Linear codes
Cyclic codes
Definitions
Definition
A Fq [n, k, d] code (linear) C is called cyclic if any cyclic shift of a
codeword is a codeword, i.e.
(c0 , . . . , cn1 ) C (cn1 , c0 , . . . , cn2 ) C
Example
1
Linear codes
Cyclic codes
Definitions
Definition
A Fq [n, k, d] code (linear) C is called cyclic if any cyclic shift of a
codeword is a codeword, i.e.
(c0 , . . . , cn1 ) C (cn1 , c0 , . . . , cn2 ) C
Example
1
Linear codes
Cyclic codes
Definitions
Definition
A Fq [n, k, d] code (linear) C is called cyclic if any cyclic shift of a
codeword is a codeword, i.e.
(c0 , . . . , cn1 ) C (cn1 , c0 , . . . , cn2 ) C
Example
1
Linear codes
Cyclic codes
Definitions
Definition
A Fq [n, k, d] code (linear) C is called cyclic if any cyclic shift of a
codeword is a codeword, i.e.
(c0 , . . . , cn1 ) C (cn1 , c0 , . . . , cn2 ) C
Example
1
Linear codes
Cyclic codes
Definitions
Definition
A Fq [n, k, d] code (linear) C is called cyclic if any cyclic shift of a
codeword is a codeword, i.e.
(c0 , . . . , cn1 ) C (cn1 , c0 , . . . , cn2 ) C
Example
1
Linear codes
Cyclic codes
Algebraic structure
Fq [x]
xn 1
Linear codes
Cyclic codes
Algebraic structure
Linear codes
Cyclic codes
Algebraic structure
Linear codes
Cyclic codes
Algebraic structure
g
g0 g1 . . .
gnk
0
xg 0 g0 . . . gnk1 ank
G = .. = .
..
..
. ..
.
.
xkg
0
g=
...
nk
X
i=0
gi x i ,
g0
gnk = 1.
g1
g is n k
...
0
..
.
0
...
..
.
...
gnk
Linear codes
Cyclic codes
Algebraic structure
g
g0 g1 . . .
gnk
0
xg 0 g0 . . . gnk1 ank
G = .. = .
..
..
. ..
.
.
xkg
0
g=
...
nk
X
i=0
gi x i ,
g0
gnk = 1.
g1
g is n k
...
0
..
.
0
...
..
.
...
gnk
Linear codes
Cyclic codes
Algebraic structure
g
g0 g1 . . .
gnk
0
xg 0 g0 . . . gnk1 ank
G = .. = .
..
..
. ..
.
.
xkg
0
g=
...
nk
X
i=0
gi x i ,
g0
gnk = 1.
g1
g is n k
...
0
..
.
0
...
..
.
...
gnk
Linear codes
Cyclic codes
Algebraic structure
g
g0 g1 . . .
gnk
0
...
0
xg 0 g0 . . . gnk1 ank 0
...
G = .. = .
.
..
.
.
.
.
.
.
. .
.
.
.
.
k
0 ... 0
g0
g1 . . . gnk
x g
g=
nk
X
i=0
gi x i ,
gnk = 1.
Linear codes
Cyclic codes
Algebraic structure
g
g0 g1 . . .
gnk
0
...
0
xg 0 g0 . . . gnk1 ank 0
...
G = .. = .
.
..
.
.
.
.
.
.
. .
.
.
.
.
k
0 ... 0
g0
g1 . . . gnk
x g
g=
nk
X
i=0
gi x i ,
gnk = 1.
Linear codes
Cyclic codes
Algebraic structure
H=
0
0
..
.
0
0
...
...
0
hk
hk
...
...
h1
h1
h0
h0
0
..
.
hk
...
h1
h0
...
Linear codes
Cyclic codes
Algebraic structure
H=
0
0
..
.
0
0
...
...
0
hk
hk
...
...
h1
h1
h0
h0
0
..
.
hk
...
h1
h0
...
Linear codes
Cyclic codes
Algebraic structure
H=
0
0
..
.
0
0
...
...
0
hk
hk
...
...
h1
h1
h0
h0
0
..
.
hk
...
h1
h0
...
Linear codes
Cyclic codes
Algebraic structure
H=
0
0
..
.
0
0
...
...
0
hk
hk
...
...
h1
h1
h0
h0
0
..
.
hk
...
h1
h0
...
Linear codes
Cyclic codes
r
Y
fj ,
fj irreducible over Fq
j=1
x 1=
n1
Y
x i .
i=0
Linear codes
Cyclic codes
r
Y
fj ,
fj irreducible over Fq
j=1
x 1=
n1
Y
x i .
i=0
Linear codes
Cyclic codes
r
Y
fj ,
fj irreducible over Fq
j=1
x 1=
n1
Y
x i .
i=0
Linear codes
Cyclic codes
r
Y
fj ,
fj irreducible over Fq
j=1
x 1=
n1
Y
x i .
i=0
Linear codes
Cyclic codes
Linear codes
Cyclic codes
Linear codes
Cyclic codes
Defining set
The generator polynomial gC of a cyclic code divides x n 1. The
roots of gC are powers of any nth primitive root of unity.
Definition
Let be a nth primitive root of unity over Fq and let C be a
Fq [n, k, d] cyclic code with generator polynomial gC . The set:
SC , = SC = {0 i n 1 | gC (i ) = 0}
Is called the complete defining set of C .
#(SC ) = deg(gC ) = n k
Defining set depends by the choice of :
For any nth primitive root of unity SC has a different form.
Linear codes
Cyclic codes
Defining set
The generator polynomial gC of a cyclic code divides x n 1. The
roots of gC are powers of any nth primitive root of unity.
Definition
Let be a nth primitive root of unity over Fq and let C be a
Fq [n, k, d] cyclic code with generator polynomial gC . The set:
SC , = SC = {0 i n 1 | gC (i ) = 0}
Is called the complete defining set of C .
#(SC ) = deg(gC ) = n k
Defining set depends by the choice of :
For any nth primitive root of unity SC has a different form.
Linear codes
Cyclic codes
Defining set
The generator polynomial gC of a cyclic code divides x n 1. The
roots of gC are powers of any nth primitive root of unity.
Definition
Let be a nth primitive root of unity over Fq and let C be a
Fq [n, k, d] cyclic code with generator polynomial gC . The set:
SC , = SC = {0 i n 1 | gC (i ) = 0}
Is called the complete defining set of C .
#(SC ) = deg(gC ) = n k
Defining set depends by the choice of :
For any nth primitive root of unity SC has a different form.
Linear codes
Cyclic codes
Defining set
The generator polynomial gC of a cyclic code divides x n 1. The
roots of gC are powers of any nth primitive root of unity.
Definition
Let be a nth primitive root of unity over Fq and let C be a
Fq [n, k, d] cyclic code with generator polynomial gC . The set:
SC , = SC = {0 i n 1 | gC (i ) = 0}
Is called the complete defining set of C .
#(SC ) = deg(gC ) = n k
Defining set depends by the choice of :
For any nth primitive root of unity SC has a different form.
Linear codes
Cyclic codes
An example
An example
x 7 1 over F2 :
f0
f1
f3
q
q
q
7
3
2
3
x 1 = (x + 1) (x + x + 1) (x + x + 1)
Consider C the cyclic code generated by g = f0 f1
SC = {0, 1, 2, 4}
Respect to a nth primitive root of unity s.t. f1 () = 0.
n=7
k =3
d =?
Linear codes
Cyclic codes
An example
An example
x 7 1 over F2 :
f0
f1
f3
q
q
q
7
3
2
3
x 1 = (x + 1) (x + x + 1) (x + x + 1)
Consider C the cyclic code generated by g = f0 f1
SC = {0, 1, 2, 4}
Respect to a nth primitive root of unity s.t. f1 () = 0.
n=7
k =3
d =?
Linear codes
Cyclic codes
An example
An example
x 7 1 over F2 :
f0
f1
f3
q
q
q
7
3
2
3
x 1 = (x + 1) (x + x + 1) (x + x + 1)
Consider C the cyclic code generated by g = f0 f1
SC = {0, 1, 2, 4}
Respect to a nth primitive root of unity s.t. f1 () = 0.
n=7
k =3
d =?
Linear codes
Cyclic codes
An example
An example
x 7 1 over F2 :
f0
f1
f3
q
q
q
7
3
2
3
x 1 = (x + 1) (x + x + 1) (x + x + 1)
Consider C the cyclic code generated by g = f0 f1
SC = {0, 1, 2, 4}
Respect to a nth primitive root of unity s.t. f1 () = 0.
n=7
k =3
d =?
Linear codes
Cyclic codes
An example
An example
x 7 1 over F2 :
f0
f1
f3
q
q
q
7
3
2
3
x 1 = (x + 1) (x + x + 1) (x + x + 1)
Consider C the cyclic code generated by g = f0 f1
SC = {0, 1, 2, 4}
Respect to a nth primitive root of unity s.t. f1 () = 0.
n=7
k =3
d =?
Linear codes
Cyclic codes
An example
An example
x 7 1 over F2 :
f0
f1
f3
q
q
q
7
3
2
3
x 1 = (x + 1) (x + x + 1) (x + x + 1)
Consider C the cyclic code generated by g = f0 f1
SC = {0, 1, 2, 4}
Respect to a nth primitive root of unity s.t. f1 () = 0.
n=7
k =3
d =?
Linear codes
Cyclic codes
An example
An example
x 7 1 over F2 :
f0
f1
f3
q
q
q
7
3
2
3
x 1 = (x + 1) (x + x + 1) (x + x + 1)
Consider C the cyclic code generated by g = f0 f1
SC = {0, 1, 2, 4}
Respect to a nth primitive root of unity s.t. f1 () = 0.
n=7
k =3
d =?
Linear codes
Cyclic codes
Parity-check matrix
Parity-check matrix
Let C be an Fq [n, k, d] cyclic code with (n, q) = 1. Let
SC = {i1 , . . . , ink } be its defining set and be a primitive nroot
of unity in the splitting field of x n 1 on Fq . Then
1 i1
2i1
(n1)i1
1 i2
2i2
(n1)i2
H= .
..
..
..
..
..
.
.
.
.
1 ink
2ink
(n1)ink
Linear codes
Cyclic codes
Parity-check matrix
Parity-check matrix
Let C be an Fq [n, k, d] cyclic code with (n, q) = 1. Let
SC = {i1 , . . . , ink } be its defining set and be a primitive nroot
of unity in the splitting field of x n 1 on Fq . Then
1 i1
2i1
(n1)i1
1 i2
2i2
(n1)i2
H= .
..
..
..
..
..
.
.
.
.
1 ink
2ink
(n1)ink
Linear codes
Cyclic codes
BCH codes
Linear codes
Cyclic codes
BCH codes
Linear codes
Cyclic codes
BCH codes
An example
Linear codes
Cyclic codes
BCH codes
An example
Linear codes
Cyclic codes
BCH codes
An example
Linear codes
Cyclic codes
BCH codes
An example
Linear codes
Cyclic codes
BCH codes
An example
Linear codes
Cyclic codes
Polynomial encoding
Nonsystematic method
given a message w = (w0 , . . . , wk1 ), we consider its
[x]
polynomial representation w (x) xFnq1
multiply w (x) by the generator polynomial g (x)
c(x) = w (x)g (x) C is the encoded word
Linear codes
Cyclic codes
Polynomial encoding
Nonsystematic method
given a message w = (w0 , . . . , wk1 ), we consider its
[x]
polynomial representation w (x) xFnq1
multiply w (x) by the generator polynomial g (x)
c(x) = w (x)g (x) C is the encoded word
Linear codes
Cyclic codes
Polynomial encoding
Nonsystematic method
given a message w = (w0 , . . . , wk1 ), we consider its
[x]
polynomial representation w (x) xFnq1
multiply w (x) by the generator polynomial g (x)
c(x) = w (x)g (x) C is the encoded word
Linear codes
Cyclic codes
Polynomial encoding
Linear codes
Cyclic codes
Polynomial encoding
Linear codes
Cyclic codes
Polynomial encoding
Linear codes
Cyclic codes
Polynomial encoding
Linear codes
Cyclic codes
Polynomial encoding
Linear codes
Cyclic codes
Polynomial encoding
Linear codes
Cyclic codes
Decoding
Polynomial decoding
Linear codes
Cyclic codes
Decoding
Polynomial decoding
Linear codes
Cyclic codes
Decoding
Polynomial decoding
Linear codes
Cyclic codes
Decoding
Polynomial decoding
Linear codes
Cyclic codes
Decoding
Polynomial decoding
Linear codes
Cyclic codes
References
References
C. E. Shannon, A mathematical theory of communication, Bell
Systems Technical Journal,, vol. 27, p. 379423, p. 623656, 1948.
F.J. MacWilliams, N.J.A. Sloane, The Theory of Error-Correcting
Codes, North Holland, 1977.
E. Prange, Cyclic Error-Correcting Codes in Two Symbols, Air
Force Cambridge Research Center, Cambridge, MA, Tech. Rep.
AFCRC-TN-57-103, 1957.
G. Castagnoli, J. L. Massey, P. A. Schoeller, and N. von Seeman,
On repeated-root cyclic codes, IEEE Trans.Inf. Theory, vol. 37,no.
2, pp. 337342, Mar. 1991.
R. C. Bose and D. K. Ray-Chaudhuri, On a class of error correcting
binary group codes, Inform. Control, vol. 3, pp. 68-79, 1960.