2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf ·...

23
**** A Partir de aqui 22- Oct- 2005 **** Campos de Galois El grado de un polinomio es la potencia mayor de X con coeficiente 0 . Existen 2 n polinomios sobre GF(2) con grado n Ej.si n = 2 :x 2 , 1x 2 ,x x 2 , 1 x x 2 Sea f x = f 0 f 1 x f 2 x 2 ... f n x n f i ={ 0,1 } 0i n g x = g 0 g 1 x ... g m x m g j ={ 0,1 0j m f x g x = f 0 g 0 f 1 g 1 x ... ... f m g m x m f m1 x m1 ... f n x n f x g x = c 0 c 1 x c 2 x 2 ... c n m x n m c 0 = f 0 g 0 c 1 = f 0 g 1 f 1 g 0 c 2 = f 0 g 2 f 1 g 1 f 2 g 0 c i = f 0 g i f 1 g i 1 f 2 g i 2 ... f i g 0 c n m = f n g m si g x = 0 porlotanto:f x 0= 0 Los polinomios sobre GF(2) satisfacen las condiciones: 1) Conmutativa: [email protected] 1/ 23 http://www.cicese.mx/~jasan

Transcript of 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf ·...

Page 1: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

**** A Partir de aqui 22- Oct- 2005 ****

Campos de Galois

El grado de un polinomio es la potencia mayor de X con coeficiente

≠0 .

Existen 2n polinomios sobre GF(2) con grado n

Ej. si n= 2 : x 2 , 1−x 2 , xx 2 , 1xx 2

Sea f x = f 0 f 1 x f 2 x2... f n xn

f i={0 ,1}0≤i≤n

g x =g0 g1 x...gm xm

g j={0,10≤ j≤m

f x g x = f 0g0 f 1g1 x...

... f mgm xm f m1 xm1... f n xn

f x ⋅g x =c 0c 1 xc 2 x 2...c n m x n m

c 0= f 0 g 0

c 1= f 0 g 1 f 1 g 0

c 2= f 0 g 2 f 1 g 1 f 2 g 0

c i= f 0 g i f 1 g i−1 f 2 g i−2... f i g 0

c n m= f n g m

si g x = 0por lo tan to : f x ⋅0=0

Los polinomios sobre GF(2) satisfacen las condiciones:

1) Conmutativa:

[email protected] 1/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 2: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

a x b x =b x a x a x ⋅b x =b x ⋅a x

2) Asociativa: a x [bx c x ]=[ax b x ]c x a x ⋅[ b x ⋅c x ]=[ a x ⋅b x ]⋅c x

3) Distributiva:

a x ⋅[ b x c x ]=[ a x ⋅b x ][ a x ⋅c x ]

Si g x ≠0 , cuando se divide f x por g x se obtiene un par

de polinomios únicos: q xCocienter x Residuo

f x =q x g x r x El grado de r x es menor al de g x

Teor 2.4.- Sea a∈GF q por lo tantoaq−1=1 Orden de a = Entero

mas pequeño tal que an=1

Teor 2.5.- Sea a∈GF q , n= orden de a, implica que n∣q−1n divide a q-1 Si a es raiz de p(x) y tiene orden n

pa∣x n1

Ejemplo: f x =1xx 4x 5x 6

g x =1xx 3,

f x g x

=

x3x2

x3x1 x6x5x4........x1x6 ......x 4x3

x5.......x3 .....x1

x5.......x3x2

x2x1

[email protected] 2/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 3: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

Se puede verificar que:

x6x5x4x1= x3x1 x3x2x 2x1

Si f(x) es dividido por g(x) y r(x)=0, se dice que f(x) es divisible por g(x) y que g(x)es un factor de f(x).

Si un polinomio f(x) sobre un GF(2) tiene un #par de términos, es divisible por x+1

Un polinomio p(x) sobre GF(2) de grado m se dice que es irreducible sobre GF(2) si p(x) no es divisible por cualquier polinomio sobre GF(2) de grado <m pero mayor que cero.

Se ha probado que si m≥1 , exsite un polinomio irreducible de grado m.

Teorema 2.6.- Cualquier polinomio irreducible (sobre GF(2)) de grado

m, divide a x2m−11 ejemplo:

x3x1 divide a x71

x4x2x1

x3x1 x7

x7....x5x 4

x5x41

x5x3x2

x4x3x21

x4x2x

x3x1

x3x10

Un polinomio irreducible P(x) de grado m se dice que es “primitivo” si

el entero positivo mas pequeño “n” para el cual p(x) divide a xn1

[email protected] 3/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 4: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

es n=2m−1 .

x3x1 es primitivo ya que no divide a ningún polinomio

x n1p a r a 1≤ n7

x4x1 es primitivo ya que no divide a ningún polinomio xn1

para 1≤ n1 5

x4x3x2x1 es irreducible pero no primitivo ya que divide a

x151 y a x51 .

Algunos polinomios primitivos de 3 términos:

m P(x)

3 1xx3

4 1xx4

5 1x2x5

6 1xx6

7 1x3x7

9 1x4x9

10 1x3x10

11 1x2x11

15 1xx15

17 1x3x17

18 1x7x18

Construcción de campos de Galois. GF 2m

0*0=00*1=1*0=01*1=1

[email protected] 4/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 5: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

0⋅=⋅0= 01⋅=⋅1=

2=⋅ 3=⋅⋅

j=⋅ .....⋅ j veces

De la definición de multiplicación se deduce:

0⋅ j= j⋅0= 0

1⋅ j= j⋅1= j

i⋅ j= j⋅i=i j

Se tiene un conjunto de elementos sobre los cuales se define la

operación “ ⋅ ”

F {0,1 , ,2 , ... j , ...}

Enseguida se pone una condición sobre el elemento , tal que el

conjunto F contiene solo 2melementos y es cerrado bajo la

multiplicación.

Sea P(x) un polinomio primitivo de grado m sobre GF(2), suponemos

p =0 puesto que P(x) divide a x2m−11

por lo que: x2m−11=q x p x

Se se reemplaza x por :

2m−11=q p

puesto que P =0 , 2 m−11=q ⋅0=0

[email protected] 5/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 6: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

usando suma módulo 2: 2m−1=1

por lo tanto, bajo la condición de que p =0 , el conjunto F se torna finito y contiene los siguientes elementos:

F={0,1, ,2,. .. , 2 m−2 }

*** A Partir de aqui 26- Oct- 2005 ****

Ejemplo GF 24 generado por p x = 1xx 4

Repres. en Repres. en Repres en potencias polinomio tuplas de 4

0 0 0000

1 1 1000

0100

2 20010

3 30001

4 1 1100

5 20110

6 230011

7 131101

8 121010

9 30101

10 121110

11 230111

12 1231111

13 1231011

14 131001

[email protected] 6/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 7: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

15=1

Un polinomio con coeficientes sobre GF(2) puede no tener raices en GF(2) pero (irreducible) puede tener raices sobre un campo - extensión de GF(2).

x 4x 3 1 No tiene raices sobre GF(2) porque es irreducible, pero

tiene raices (4) del campo GF 24

Para GF 24 construido con el polinomio 1xx4se tiene:

2m−11=0 por lo que: 15=1

por lo tanto 7,11,13 y14son raices de x4x31

Prueba:

74731=28211

=1 5∗1 31 5∗ 61= 1∗1 31∗ 61

=1 2 3 231= 0

x7∗x1 1∗x1 3∗ x1 4=x 4x 31

Prueba:

x 28 x3x22 x12...=x 4 8 2 x 31 21 03 x 22 0 5 x1 5

=x 4x 31

Teorema 2.7: Sea f(x) un polinomio con coeficientes de GF(2). Sea

un elemento en un campo - extensión de GF(2). Si es una raíz de

f x , entonces para cualquier l≥0,2l

es también una raiz de

f x .

[email protected] 7/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 8: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

2 l

se llama conjugado de .

Si es una raiz de x2m−11 entonces: 2 m−11= 0

Teorema 2.8: Los 2m−1 elementos ≠0 de GF 2m forman

todas las raices de X 2m−11 .

Corolario 2.8.1

Los elementos de GF 2m forman todas las raices de x 2m

x .

Por tanto, si x es el polinomio de mas pequeño grado sobre

GF 2

tal que =0 , x se llama el polinomio mínimo.

Teorema 2.14.- Sea x el polinomio mínimo de un elemento

en GF 2m , y sea “e” el entero mas pequeño tal que

2e

= x =∏i=0

e−1

x2 i

.

Ejemplo:

Considere el campo GF 24 dado en la tabla, sea =3; los

conjugados de son:

2=6; 22

= 34=1 2, 23

=38=2 4=9

24

= 31 6=4 8= 3

El polinomio mínimo es (de =3)

3 x = x3 x6 x12 x9

[email protected] 8/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 9: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

=x 2 2 x 9x 2 8 x6=x 4 2 8 x 3 61 09 x 21 7 8 x1 5

=x 4x 3x 2x1

El orden de es el más pequeño entero n, tal que n=1 por lo

tanto, el orden de un campo es el # de elementos - 1 2m−1

Espacios Vectoriales.

Sea V un conjunto de elementos sobre los cuales se define una operación binaria llamada “suma” (+). Sea F un campo. Se define una operación “multiplicación” (*) entre los elementos en F y los elementos en V. Al conjunto V se llama “Espacio vectorial” sobre F si satisface:

i) V es un grupo conmutativo bajo la suma.

ii) Para cualquier elemento a en F y v en V, a∗v es un elemento en V.

iii)(Ley distributiva) Para cualquier elemento u y v en V, y cualquier elemento a & b en F

a∗ uv =a∗ua∗v

ab ∗v= a∗vb∗v

iv) (Ley asociativa) Para cualquier v en V y a & b en F,

a∗b ∗v=a∗ b∗v

v) Sea 1 el elemento unitario de F. Entonces, para cualquier

v en V

1∗v=v

Los elementos de V se llaman vectores y los elementos del campo F escalares . La suma sobre V se llama suma vectorial y la multiplicación que combina un escalar en F y un vector en V hacia un vector en V se

[email protected] 9/ 23 http:/ / w w w.cicese.mx / ~ jasan

Page 10: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

llama multiplicación escalar ( o producto )

Propiedad I) Sea 0 el elemento cero del campo F. Para cualquier vector

v en V

0∗v=0

Propiedad II) Para cualquier escalar c en F

c∗0=0

Propiedad III) para cualquier escalar c en F y cualquier vector v en V

−c ∗v=c∗−v =−c∗v −c ∗v ó c∗−v es el inverso aditivo del vector c∗v

Sea vn el conjunto de 2ndistintas tuplas de n bits para cualquier

u= u0 , u1,. .. u n−1 y v= v 0 , v 1,. .. v n−1 ambos en V n :

uv= u 0 v 0 , u 1 v 1,. .. u n−1 v n−1

uv es tambíen una n- tupla sobre GF(2) y se dice que V n es cerrado bajo la definición de la suma.

uu= v v= 0 El inverso aditivo de cada n- tupla de V n es el mismo

a∗v= a∗v 0 , a∗v 1,. .. a∗v n−1

por lo tanto el conjunto V n de todas las tuplas sobre GF(2) forma un espacio vectorial sobre GF(2).

[email protected] 10 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 11: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

**** A Partir de aqui 28- Oct- 2005 ****

Ejemplo: Sea n=5, el espacio vectorial V 5 de todas las 5- tuplas sobre GF(2) consistente de 32 vectores.

0000000001....11111

La suma vectorial de (10111) y (11001) es (01110) pertenece a V 5

0*(10111) = (00000)1*(10111) = (10111)....

Teorema 2.8.- Sea S un subconjunto del espacio vetorial V sobre un campo F, entonces S es un subespacio de V si se satisfacen las siguientes condiciones:

i) Para cualquier 2 vectores u y v en S, uv es también un vector en S.

ii) Para cualquier elemento a en F y cualquier vector u u en S,

a∗u también pertenece a S.

Ejemplo: Del conjunto V 5 , el subconjunto de vectores {(00000),(00111),(11010),(11101)} satisface ambas condiciones (i & ii) y

por lo tanto es un “Subespacio” de V 5

[email protected] 11 / 23 http:/ / w w w.cicese.mx / ~ jasan

00111 11010 00111

+11010 +11101 +11101

11101 00111 11010

Page 12: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

Sea v 1 , v 2 ,... , v k k vectores en un espacio vectorial V sobre F.

Sea a1, a2 , ... , ak k escalares del campo F. La suma

a 1 v 1a 2 v 2...a k v k se llama “combinación lineal” de

v 1 , v 2 ,... v k .

La suma de dos combinaciones lineales

a 1 v 1a 2 v 2... a k v k b 1 v 1b 2 v 2...b k v k

.= a1b 1 v 1... a kb k v k es también una combinación

lineal de v 1 , v 2 ,... , v k .

El producto de un escalar c en F y una combinación lineal de :

v 1 , v 2 ,... , v k :

c a 1 v 1a2 v 2...a k v k =c∗a 1 v 1...c∗a k v k es también una combinación lineal.

Teorema 2.19.- Sea v 1 , v 2 ,... , v k k vectores en un espacio vectorial V sobre un campo F. El conjunto de todas las combinaciones

lineales de v 1 , v 2 ,... , v k forma un subespacio de V.

Ejemplo: Considere el espacio vectorial V 5 de todas las 5- tuplas sobre GF(2). Las combinaciones lineales de (00111) y (11101) son:

0*(00111) + 0*(11101) = (00000)0*(00111) + 1*(11101) = (11101)1*(00111) + 0*(11101) = (00111)1*(00111) + 1*(11101) = (11010)

Estas forman el mismo subespacio del ejemplo anterior.

Un conjunto de vectores en un espacio vectorial V sobre un campo F

[email protected] 12 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 13: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

se dice que es v 1 , v 2 ,... , v k linealmente dependiente si existen k

escalares a1, a2 , ... , ak del campo F, no todos cero tal qe:

a 1 v 1 a 2 v 2... a k v k=0

Ejemplo:

Los vectores (10110), (01001) y (11111) son linealmente dependientes puesto que 1*(10110) + 1*(01001) + 1*(11111) = (00000) sin embargo, (10110), (01001) y (11011) son linealmente independientes. Las ocho combinaciones lineales de los tres vectores son:

0∗v 1 0∗v 20∗v 3=0 0 0 0 0

0∗v 1 0∗v 21∗v 3=1 1 0 1 1

0∗v 1 1∗v 20∗v 3=0 1 0 0 1

0∗v 1 1∗v 21∗v 3=1 0 0 1 01∗v 1 0∗v 20∗v 3=1 0 1 1 01∗v 1 0∗v 21∗v 3=0 1 1 0 11∗v 1 1∗v 20∗v 3=1 1 1 1 11∗v 1 1∗v 21∗v 3=0 0 1 0 0

Un conjunto de vectores se dice que se expande a un espacio vectorial V si cada vector en V es una combinación lineal de los vectores en el conjunto. En cualquier espacio o subespacio vectorial existe el menos un conjunto B de vectores linealmente independientes que expanden el espacio. Este conjunto es llamado base del espacio vectorial. El número de vectores en una base de un espacio vectorial se llama la dimensión del espacio vectorial.

Considerando el espacio vectorial V n de todas las n tuplas sobre GF(2):

[email protected] 13 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 14: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

e 0=1,0,0,...0 , 0e 1=0,1,0,...0 , 0

.....

e n−1=0,0,0,. ..0 , 1

Donde cada tupla e i tiene solo un componente diferente de 0 en la posición i- ésima.

Cada n- tupla a0, a1, a2 , ... , an−1 en V n puede ser expresada como

una combinación lineal de e 0 , e 1 , ... e n−1 de la siguiente manera:

a0 , a1 , a 2 , ... , a n−1= a 0 e 0a 1 e 1...a n−1 e n−1

e 0 , e 1 , ... e n−1 expanden el espacio vectorial de todas las n- tuplas

sobre GF(2) y por lo tanto son e 0 , e 1 , ... e n−1 linealmente

independientes. En consecuencia, forman la base para V n . Si k<n,

v 1 , v 2 ,... , v k son k vectores linealmente independientes en V n

todas las combinaciones lineales de v 1 , v 2 ,... , v k de la forma:

u=c 1 v 1c 2 v 2...c k v k

Forman un subespacio de k dimensiones S en V n . Existen 2k

posibles combinaciones distintas de v 1 , v 2 ,... , v k , por lo tanto, S

consiste de 2kvectores y es un subespacio k- dimensional de V n

[email protected] 14 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 15: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

**** A Partir de aqui 10- Nov- 2005 ****

Sea u= u0 , u1,. .. u n−1 & v= v 0 , v 1,. .. v n−1 dos n- tuplas en V n .

Se define el producto interno (o producto punto)

u⋅v= u 0 v 0u 1 v 1... u n−1 v n−1 (* multiplicación modulo 2)

u⋅v : Escalar en GF(2)

Si u⋅v=0 ; u y v son ortogonales.

El producto interno tiene las siguientes características.

i) u⋅v= v⋅u

ii) u⋅ vw =u⋅vu⋅w

iii) a u⋅v=a u⋅v

Sea S un subespacio k- dimensional de V n y sea S d el conjunto de

vectores en V n tal que para cualquier u∈S y v∈S d .

u⋅v=0 . El conjunto S d es llamado el espacio dual o nulo de S.

Si v y w∈S d , para cualquier vector u∈S .

u⋅ vw =u⋅vu⋅w=00= 0

Si v y w son ortogonales a u , la suma vectorial vw es

también ortogonal a u , por lo tanto, vw ∈S d (vector que

pertenece a S d ).

S es el espacio dual o núlo de S d .

[email protected] 15 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 16: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

Teorema 2.20.- Sea S un espacio k- dimensional del espacio vectorial V n sobre GF(2). La dimensión del espacio dual (de S) S d es n- k.

d i m S d i m S d = n

Ejemplo: Considere el espacio vectorial V 5 sobre GF(2) del ejemplo 2.11. Los 8 vectores siguientes forman un subespacio 3- dimensional S

de V 5 .

(00000), (11100), (01010), (10001), (10110), (01101), (11011), (00111).

El espacio nulo S d de S consiste de los 4 vectores

(00000), (10101), (01110), (11011)

generados o expandidos por (10101) & (01110), los cuáles son

linealmente independientes por lo que la dimensión de S d=2

(...MATRICES)

Códigos de Bloque.

Un código de bloque de longitud n y 2kpalabras de código se llama

código lineal (n,k), sus 2kpalabras de código forman un subespacio

k- dimensional del espacio vectorial de todas las n- tuplas sobre GF(2) (k<n).

Un código de bloques es lineal si la suma módulo 2 de dos palabras de código es también una palabra de código.

Es poscible encontrar k palabras de código linealmente

independientes g 0 , g 1 , ... g k−1 en C, tal que cada palabra de código

v∈C es una combinación lineal de esas k palabras de código.

[email protected] 16 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 17: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

v= u 0 g 0 u 1 g 1...u k−1 g k−1

Si u= u0 , u1,. .. u k−1 es el mensaje para codificar, la palabra de código:

v= u⋅G

u 0 , u 1 , ... u k−1⋅ g0 , g1 , ... , g k−1T

= u 0 g 0u 1 g 1... u k−1 g k−1

Los renglones de “G” generan (o expanden) el código lineal (n,k) por lo que G: Matriz Generadora de C.

Cualquier k palabras de código linealmente independientes de un código lineal (n,k) pueden ser usadas para formar la matriz generadora de C.

[email protected] 17 / 23 http:/ / w w w.cicese.mx / ~ jasan

Matrices: A(m x n) = a11 .... a1n m renglones X n

columnas

am1 .... amn

multi. A(m x n)*B(n x p) = C(m x p) Se puede multiplicar si el # de columnas de A(n) es igual al # de renglones de B

C jk=∑l=1

n

a jl blk; si

A=a j k A T= ak j

Page 18: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

Ejemplo:

G=[g0

g1

g2

g3]=[1 1 0 1 0 0 0

0 1 1 0 1 0 01 1 1 0 0 1 01 0 1 0 0 0 1

]ó bien:

G'=[1 1 0 1 0 0 00 1 1 0 1 0 00 0 1 1 0 1 00 0 0 1 1 0 1

]genera un código lineal C(7,4)

Si u=1 1 0 1 es el mensaje para codificar, su palabra de código

v=1⋅g 01⋅g 1 0⋅g 21⋅g 3 = 11010000110100101001=0001101

Una propiedad deseable para un código de Bloques lineal es que tenga una estructura sistemática (k dígitos alterados y u- k dígitos de paridad).

[Parte de verif. redundante][ parte de mensaje ]n−k..............................k

n dígitos

Un código lineal sistemático (n,k) se especifica completamente por una matriz G( k x n ) de la siguiente forma:

[email protected] 18 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 19: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

G=[g0

g1

⋅⋅⋅

gk−1

]=[P0,0 P0,1 ⋅ ⋅ ⋅ P0,n−k−1 ∣ 1 0 ⋅ ⋅ ⋅ 0P1,0 P1,1 ⋅ ⋅ ⋅ P1,n−k−1 ∣ 0 1 ⋅ ⋅ ⋅ 0⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ∣ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ∣ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ∣ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅

Pk−1,0 Pk−1,1 ⋅ ⋅ ⋅ Pk−1,n−k−1 ∣ 0 0 ⋅ ⋅ ⋅ 1]

=[Pk ,n−k ∣ Ik ] k

n- k k

Ejemplo 3.2.- Dada la matriz G en forma sistemática (si no está en esta forma, puede ponerse sumando renglones) sea

u= u0 , u1 , u2 , u 3 el mensaje y v= v 0 , v 1 , v 2 , v 3 la palabra código:

v=u0,u1,u2,u3⋅[1 1 0 1 0 0 00 1 1 0 1 0 01 1 1 0 0 1 01 0 1 0 0 0 1

]Usando multiplicación matricial

v= u 0u 2 u 3 , u 0u 1u 2 , u 1u 2u 3 , u 0 , u 1 , u 2 , u 3

Para cualquier matriz (k x n) G con k renglones linealmente independientes existe una matriz H de ( n- k ) x n elementos, con n- k renglones linealmente independientes tal que cualquier vector -renglón en G es ortogonal a los reglones en H y cualquier vector que es ortogonal a los renglones de H está en el espacio de renglones de G.

Ua n- tupla v es una palabra código generada por G⇔ v⋅H T= 0

[email protected] 19 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 20: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

H: “Matriz verificadora de paridad de G”

las 2n−kcombinaciones lineales de renglones de H forman un

código lineal C d n , n− k . C d es el espacio nulo de C (generado por G).

Por tanto, ∀ v ∈C y w∈C d , v⋅w=0

n−k k

H=[In−k∣PT ]=[1 0 0 ⋅ ⋅ ⋅ 0 ∣ P0,0 P1,0 ⋅ ⋅ ⋅ Pk−1,0

0 1 0 ⋅ ⋅ ⋅ 0 ∣ P0,1 P1,1 ⋅ ⋅ ⋅ Pk−1,1

⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ∣ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ∣ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ∣ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅0 0 0 ⋅ ⋅ ⋅ 1 ∣ P0,n−k−1 P1, n−k−1 ⋅ ⋅ ⋅ Pk−1,n−k−1

]Cd es llamado el código dual de C

G⋅H T=0

Ejemplo 3.3

Considere el código lineal (7,4) generado por

G=[1 1 0 1 0 0 00 1 1 0 1 0 01 1 1 0 0 1 01 0 1 0 0 0 1

]=[Pk, n−k∣Ik ]

[email protected] 20 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 21: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

H=[1 0 0 1 0 1 10 1 0 1 1 1 00 0 1 0 1 1 1] ; HT=[

1 0 00 1 00 0 11 1 00 1 11 1 11 0 1

]=[ In−kPk, n−k ]

Por lo tanto para cualquier código de bloque lineal C(n,k), existe una matriz [k x n], cuyo espacio de renglones proporciona C. Ademas

existe una matriz H[n- k x n] tal que un código v (n- tupla) es un

código de C ⇔ v⋅H T=0 .

[email protected] 21 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 22: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

Circuito codificador.

Para el código (7,4) en forma sistemática.

Síndrome y detección de errores.

Considere C(n,k) código lineal con matriz generadora G Pk , I n−k y

matriz de verificacion de paridad H I n−k , PT .

[email protected] 22 / 23 http:/ / w w w.cicese.mx / ~ jasan

Page 23: 2: x 1 x f x = f x f ={0,1 g x =g x g 0,1 - CICESEusuario.cicese.mx/~jasan/ClaseSCD5.pdf · 2008-02-22 · 2l se llama conjugado de . Si es una raiz de x 2m−1 1 entonces: 2m−1

Sea v= v 0,. .. v n−1 palabras código transmitidas sobre un canal ruidoso

r= r 0,. .. r n−1 vector recibido a la salida del canal y puede ser

≠ v debido al ruido en el canal.

Vector de error: e= rv=e 0 , ... e n−1 e i=1 para todo ri≠v i

por lo que r=ve (El receptor no conoce v n i e ).

Al recibir “ r ”, el decodificador debe determinar si r contiene errores de tx. Si detecta la presencia de errores, el decodificador puede:

– localizar los errores y corregisrlos (FEC).

– pedir una retransmisión de v (ARQ).

Al recibir r , el decodificador calcula la (n- k)- tupla:

“Síndrome”: s= r⋅H T=s 0 , s 1 , ... , s n− k−1

por lo que si s= 0 “ r ” es una palabra de código (sin error).

si s≠ 0 “ r ” no es una palabra de código (hay error).

Es posible que s=0 y aún así haya errores – errores no detectables.

e= palabra de código (mas de un error en general) por lo que los “Patrones de error no- detectables” implican “Error de decodificación”

existen 2k−1 patrones de error indetectables (con p<<).

[email protected] 23 / 23 http:/ / w w w.cicese.mx / ~ jasan