You are on page 1of 98

ALGEBRA

JJCC

ALGEBRA Curso 2008/09
1.

Introduccion


2. Codigos
lineales y
funciones
codificadoras.


3. Codigos
lineales y
funciones
Tema 4.
CODIGOS LINEALES.
sndrome.

4. Distancia y
peso de un

codigo. Jose Juan Carreno
Carreno

5. Descodifi-

cacion

Metodo de Departamento de Matematica Aplicada
por
descodificacion
distancia mnima
Escuela Universitaria de Informatica

Metodo de
por
descodificacion

Universidad Politecnica de Madrid
sndrome

1

ALGEBRA INDICE
JJCC
Tema 4.
CODIGOS LINEALES.
1.

Introduccion
1
Introduccion.

2. Codigos
lineales y
funciones
2
Codigos lineales y funciones codificadoras.
codificadoras.
Matriz generadora.

3. Codigos
lineales y
Codigo
sistematico.
funciones
sndrome.
Codigos equivalentes.
4. Distancia y
peso de un
Matriz de control.

codigo.

5. Descodifi- 3
Codigos lineales y funciones sndrome.

cacion

Metodo de
por
descodificacion
distancia mnima
4
Distancia y peso de un codigo.

Metodo de
por
descodificacion
sndrome
5
Descodificacion.

Metodo por distancia mnima.
de descodificacion

Metodo por sndrome.
de descodificacion
Sndrome, orbita
y lder.

6
Eficiencia de los metodos
de descodificacion. 2

ALGEBRA
1
Introduccion.
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones
codificadoras.
El proceso basico de la informacion
de transmision

3. Codigos comienza con un emisor que escribe los mensajes
lineales y
funciones utilizando smbolos de un alfabeto fuente A y sigue un
sndrome.

4. Distancia y
esquema del tipo siguiente:
peso de un

codigo.

5. Descodifi-

cacion

Metodo de
mA m = f 1 (y 0 )
por
descodificacion
distancia mnima

f 1

Metodo de
por
descodificacion
sndrome
EMISOR f RECEPTOR

canal
y = f (m) V y0 V

3

ALGEBRA
2
Introduccion.
JJCC

1.
de caracteres es mas
Como la manipulacion compleja que

Introduccion la de los numeros:


2. Codigos
lineales y
funciones

A cada smbolo de A se le asigna un equivalente numerico
codificadoras. en V , siendo V un espacio vectorial sobre un cuerpo finito

3. Codigos
lineales y
biyectiva f : A V .
K, mediante una funcion
funciones
sndrome.

4. Distancia y As cada smbolo m A tiene un y solo un representante


peso de un

codigo.
numerico f (m) V :
5. Descodifi-

cacion

Metodo de
m f (m)
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
Para enviar una palabra:
sndrome

Para cada smbolo m de la palabra se busca su



representante numerico f (m) V .
El representante numerico
obtenido f (m) se enva a
del canal y se recibe el smbolo y 0 V .
traves 4

ALGEBRA
3
Introduccion.
JJCC

1.

Introduccion
Entonces pueden ocurrir dos casos:

2. Codigos
lineales y
Si no se produce ruido en el canal se tendra que
funciones
codificadoras.
y 0 = f (m) y el receptor, utilizando la funcion
inversa

3. Codigos
f 1 , puede recuperar el smbolo m A enviado.
lineales y
funciones
sndrome.
Si el ruido del canal produce un error en la
4. Distancia y transmision se recibira y 0 6= f (m) pero el receptor no
peso de un

codigo. podra detectar que se ha producido el error ya que
5. Descodifi- y 0 V y se obtendra f 1 (y 0 ) 6= m.

cacion

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion

? Notacion: Trabajaremos fundamentalmente, con
sndrome
espacios vectoriales de la forma Zn2 .
El vector (x1 , x2 , . . . , xn ) Zn2 se identificara con la
cadena
x1 x2 . . . xn
5

ALGEBRA
4
Introduccion.
JJCC
? Ejemplo: Consideremos el alfabeto fuente
1.

Introduccion
A = { a, b, c, d, e, f , g, h }

2. Codigos
lineales y
Para calcular los equivalentes numericos utilizamos la
funciones
codificadoras.
biyectiva f : A Z32 que asigna a cada smbolo
funcion

3. Codigos
de A el numero
del rango { 0, . . . , 7 } correspondiente a
lineales y
funciones
su posicion con el orden alfabetico
escrito en binario con
sndrome. tres dgitos. Como f es biyectiva el alfabeto A se
4. Distancia y
peso de un
identifica con Z32 :

codigo.

5. Descodifi- A Z32 = { 000, 001, 010, 011, 100, 101, 110, 111 }

cacion

Metodo de
por
descodificacion
Al enviar la palabra y = 001 por el canal puede que el
distancia mnima

Metodo de
ruido no la altere y el receptor recupera el smbolo de
por
descodificacion
sndrome partida.
Pero, que ocurre si el ruido la altera modificando, por
ejemplo, su primer bit?
En este caso, el receptor recibe y 0 = 101 y no detecta que
hay un error, puesto que la palabra 101 Z32 . 6

ALGEBRA
5
Introduccion.
JJCC
Ambas situaciones se pueden observar en el esquema:
1.
f canal f 1

Introduccion
A Z32 Z32 A

2. Codigos
lineales y
funciones
codificadoras. a 000 000 a
y=f (m)= sin ruido y 0 = f 1 (y 0 )=

3. Codigos
lineales y
m= b
001 001 b =m
funciones
sndrome.
c 010 010 c
4. Distancia y
d 011 011 d
peso de un

codigo.
e 100 con & 100 e
5. Descodifi-
f 101 ruido y 0 = 101 f 1 (y 0 )= f 6= m


cacion
Metodo de
g 110 110 g
por
descodificacion
distancia mnima h 111 111 h

Metodo de
por
descodificacion
sndrome

Primer caso: el receptor recupera el smbolo m.


En el segundo caso recibe un smbolo erroneo.

de la
Hay que modificar el proceso de transmision
para poder detectar si ha habido errores.
informacion 7

ALGEBRA
6
Introduccion.
JJCC
se puede ampliar utilizando
El esquema de transmision
1.

Introduccion
codigos lineales, para poder detectar y corregir los errores

2. Codigos ocasionados por el ruido del canal:
lineales y
funciones
codificadoras.


3. Codigos
lineales y
mA mA
funciones
sndrome.

4. Distancia y f EMISOR RECEPTOR


peso de un

codigo.
c canal
5. Descodifi-

cacion
f (m) V y = c(f (m)) W y0 W

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
sndrome
a) Primero se asigna a cada smbolo de A un

equivalente numerico de un espacio vectorial V sobre
un cuerpo finito K:

m f (m).
8

ALGEBRA
7
Introduccion.
JJCC
b) Antes de enviar f (m) se transforma en un elemento
1.

Introduccion
y de otro espacio vectorial W sobre K, con

2. Codigos dim(W ) dim(V ), mediante una funcion

lineales y
funciones codificadora:
codificadoras.


3. Codigos
c : V W lineal inyectiva, que verifica:
aplicacion
lineales y
funciones
sndrome. El subespacio vectorial C = Im c W , se llama
4. Distancia y
codigo codificadora c
lineal asociado a la funcion
peso de un

codigo. con dim C = dim V .
5. Descodifi-

cacion Si dim(W ) > dim(V ) = c NO es sobreyectiva

Metodo de
por
descodificacion
y C = Im c W.
distancia mnima

Metodo de
por
descodificacion
El elemento f (m) se transforma por c en la palabra
sndrome
y = c(f (m)) C.
c) La palabra y C se enva a traves del canal, se
recibe y 0 W pudiendo ocurrir debido al ruido del
canal que y 0 6= y. El receptor solo detectara el error
si y 0
/ C (posible cuando C W ). 9

ALGEBRA
8
Introduccion.
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones consiste en dos procesos:
d) La descodificacion
codificadoras.


3. Codigos
lineales y 1 Detectar si ha habido algun a
error en la transmision
funciones
sndrome. del canal y en caso de que lo haya habido
traves
4. Distancia y ha sido la palabra enviada y = c(f (m)).
averiguar cual
peso de un

codigo.

5. Descodifi- 2 Obtener el smbolo de partida m.



cacion

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
Nota: En ocasiones, la funcion
c y el codigo
lineal
sndrome
asociado C tienen buenas propiedades y permiten la
y correccion
deteccion de errores.

10

ALGEBRA
8
Introduccion.
JJCC

1.

Introduccion
? Ejemplo: Con el alfabeto fuente del ejemplo anterior

2. Codigos
lineales y
funciones
codificadoras. A = { a, b, c, d, e, f , g, h }

3. Codigos
lineales y que se identifica con Z32 :
funciones
sndrome.

4. Distancia y
A Z32 = { 000, 001, 010, 011, 100, 101, 110, 111 }
peso de un

codigo. lineal:
Consideremos la aplicacion
5. Descodifi-

c : Z32 Z62

cacion

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
sndrome
Definida por

c(x1 , x2 , x3 ) = (x1 , x2 , x3 , x1 + x2 , x1 + x3 , x2 + x3 )

11

ALGEBRA
9
Introduccion.
JJCC

1.

Introduccion


2. Codigos matricial de c respecto de las bases
La expresion
lineales y
funciones
canonicas de Z32 y Z62 es:
codificadoras.


3. Codigos
lineales y y1 1 0 0
funciones x1
sndrome.

y2


0 1 0

4. Distancia y y3 0 0 1
x2
peso de un
=

codigo.

y4


1 1 0





5. Descodifi- y5 1 0 1

cacion x3 B

Metodo de
por
descodificacion
y6 0
Bc
0 1 1 c
distancia mnima

Metodo de
por
descodificacion y abreviadamente: YB 0 = Mc XBc .
sndrome c

Como rg(Mc ) = 3 se tiene que c es inyectiva y, por


codificadora.
tanto, es funcion

12

ALGEBRA
10
Introduccion.
JJCC
se verifica:
Ademas,
1.

Introduccion
C = Im c = L(100110, 010101, 001011) Z62 .

2. Codigos
lineales y
funciones dim(C) = rg(Mc ) = 3.
codificadoras.


3. Codigos Las columnas de Mc son una base del codigo
C:
lineales y
funciones
sndrome. [100110, 010101, 001011] es base de C.
4. Distancia y
peso de un

codigo.

El codigo C = Im c asociado a c es un subespacio
5. Descodifi-

cacion vectorial propio de Z62 (dim(Z62 ) > dim(Z32 )) y como su

Metodo de
por
descodificacion
distancia mnima
es 3, C tiene 23 = 8 palabras:
dimension

Metodo de
por
descodificacion
sndrome

C = { 000000, 001011, 010101, 011110,


100110, 101101, 110011, 111000 } Z62
Se puede observar que dos palabras cualesquiera del

codigo C difieren en al menos tres de sus bits. 13

ALGEBRA
11
Introduccion.
JJCC

1.

Introduccion


2. Codigos

Todo esto se ilustra en el esquema de la pagina siguiente.
lineales y
funciones
codificadoras. emplea mas
Esta codificacion bits de los que en principio

3. Codigos
lineales y
son necesarios pues c va de Z32 a Z62 y ademas se
funciones
sndrome.
verifica:
4. Distancia y
peso de un
al comienzo aparece la palabra enviada y los ultimos


codigo.
tres bits son redundantes.
5. Descodifi-

cacion

Metodo de
los tres ultimos
actuan
como bits de control y permiten
por
descodificacion
distancia mnima

de errores, y en algunos casos, la
la deteccion
Metodo de
por
descodificacion
sndrome
correccion.
truncandolos
se obtiene la palabra de partida.

14

ALGEBRA
12
Introduccion.
JJCC

1.

Introduccion f c canal
A Z32 Z62 Z62

2. Codigos
lineales y
funciones
codificadoras. a 000 000000 000000
b 001 001011 sin ruido 001011
3. Codigos
lineales y

funciones c 010 010101 010101
sndrome.
d 011 011110 011110
4. Distancia y
peso de un e 100 100110 100110

codigo.

5. Descodifi-
f 101 101101 con & 101101

cacion g 110 110011 ruido 110011

Metodo de
por
descodificacion
distancia mnima
h 111 111000 111000

Metodo de
por
descodificacion
sndrome
C = Im c & C = Im c
101011

c(x1 , x2 , x3 ) = (x1 , x2 , x3 , x1 + x2 , x1 + x3 , x2 + x3 )
15

ALGEBRA
13
Introduccion.
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones
codificadoras.
Observacion:

3. Codigos
lineales y
funciones Puesto que los smbolos del alfabeto fuente carecen de
sndrome.
en s mismos, supondremos en todo el desarrollo
interes
4. Distancia y
peso de un
teorico posterior que el alfabeto es el espacio vectorial V ,

codigo.

al que pertenecen los equivalentes numericos,
5. Descodifi-

cacion prescindiendo entonces de la funcion

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion f : A V .
sndrome

16

ALGEBRA

Codigos lineales y funciones codificadoras. 1
JJCC

1. Definiciones:

Introduccion

Un codigo lineal de longitud n sobre Zp es un

2. Codigos
lineales y subespacio vectorial C de Znp .
funciones
codificadoras.


3. Codigos
Si dim(C) = k se dice que C es un (n, k)-codigo lineal
lineales y
funciones
y podemos interpetrar que C es el codigo asociado a una
sndrome.
codificadora c : Zkp Znp , es decir:
funcion
4. Distancia y
peso de un

codigo. lineal inyectiva.
c es aplicacion
5. Descodifi-

cacion C = Im c = c(Zkp ) Znp .

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
y que Zkp es el alfabeto fuente numerico.

sndrome


Los elementos de C se llaman palabras codigo.


Si C es un (n, k)-codigo lineal se dice que su
redundancia es r = n k. En general, n > k y r > 0. 17

ALGEBRA

Codigos lineales y funciones codificadoras. 2
JJCC

1.

Introduccion
Definiciones:

2. Codigos
lineales y
funciones
codificadoras.
Si C es un codigo sobre Z2 se dice que es binario.

3. Codigos
lineales y
funciones
Si C es un codigo sobre Z3 se dice que es ternario.
sndrome.

4. Distancia y
peso de un ? Ejemplo: En Z62 consideramos el subespacio vectorial

codigo.

5. Descodifi-
C = L(100110, 010101, 001011). Se verifica:

cacion

Metodo de
por
descodificacion
C Z62 y dim(Z62 ) = 6 = n = 6.
distancia mnima

Metodo de
por
descodificacion dim(C) = 3 = k = 3.
sndrome


Por tanto, C es un (6, 3)-codigo lineal binario.

C tiene redundancia r = n k = 6 3 = 3.
Ademas,
18

ALGEBRA

Codigos lineales y funciones codificadoras. 3
JJCC

1.

Introduccion Si llamamos G a la matriz cuyas filas son las palabras de

2. Codigos
lineales y
la base de C,
funciones
codificadoras.

1 0 0 1 1 0

3. Codigos
lineales y G = 0 1 0 1 0 1 M 36 (Z2 )
funciones
sndrome. 0 0 1 0 1 1
4. Distancia y
peso de un podemos construir la aplicacion lineal c : Z32 Z62 cuya

codigo.
matricial, respecto de las bases canonicas,
expresion es
5. Descodifi-

cacion YB 0 = G t XB c . Se verifica:

Metodo de c
por
descodificacion
distancia mnima

Metodo de Im c = C.
por
descodificacion
sndrome

c es inyectiva ya que rg(G) = 3 = dim(Z32 ).

Entonces podemos considerar que c es una funcion



codificadora y que C es su codigo lineal asociado.
19

ALGEBRA

Codigos lineales y funciones codificadoras. 4
JJCC
se obtiene la expresion
Tambien explcita de c,
1.

Introduccion
y1 1 0 0 x1

2. Codigos y2 0 1 0 x1
lineales y

x2

funciones y3 0 0 1
codificadoras.
x3
y4 = 1 1 0 x2 = x1 + x2


3. Codigos

lineales y

funciones
y5 1 0 1 x1 + x3
sndrome. x3 B
y6 B 0 0 1 1 c x2 + x3 0
Bc
4. Distancia y c
peso de un

codigo. de la palabra u = 111 del
Por otro lado, la codificacion
5. Descodifi-

cacion
alfabeto fuente Z32 es c(u) = 111000 C, pues:

Metodo de
por
descodificacion
distancia mnima 1

Metodo de
1
por
descodificacion
sndrome


1

t
1
G 1 =



0

0
1 B
c 0 0
Bc
20

ALGEBRA

Codigos lineales y funciones codificadoras. 5
JJCC

1. Ademas, podemos generar las ocho palabras del codigo


C

Introduccion t
multiplicando G por las ocho palabras del alfabeto fuente

2. Codigos
lineales y Z32 , como sigue:
funciones
codificadoras.

3. Codigos
0 0 0 0 1 1 1 1
lineales y 0 0 1 1 0 0 1 1
funciones
sndrome.
0 0 0 0 1 1 1 1
0 1 0 1 0 1 0 1

t

4. Distancia y G 0 0 1 1 0 0 1 1 =
0 0 1 1 1 1 0 0


peso de un

codigo. 0 1 0 1 0 1 0 1
0 1 0 1 1 0 1 0


5. Descodifi-

cacion 0 1 1 0 0 1 1 0

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
sndrome
Las columnas de la matriz obtenida son las ocho palabras

del codigo C:

C = { 000000, 001011, 010101, 011110,


100110, 101101, 110011, 111000 }.
21

ALGEBRA

Codigos lineales y funciones codificadoras. 6
JJCC

1.

Definicion:
Si C es un (n, k)-codigo lineal llamamos

Introduccion matriz generadora de C a cualquier matriz G cuyas filas

2. Codigos
lineales y
sean las coordenadas de los vectores de una base de C,
funciones
codificadoras.

respecto de la base canonica del espacio ambiente Znp .

3. Codigos
lineales y
funciones Observaciones: Sea C un (n, k )-codigo
lineal.
sndrome.

4. Distancia y 1 Toda matriz generadora de C verifica:


peso de un

codigo. G M kn (Z2 ).
5. Descodifi-

cacion rg(G) = k.

Metodo de
por
descodificacion
distancia mnima y rango maximo,
Todas tienen el mismo tamano pues

Metodo de
por
descodificacion
sndrome
se corresponden con bases de C.
2 Si G es una matriz generadora de C se tiene que la
lineal c : Zkp Znp , que tiene por
aplicacion
matricial YB 0 = G t XBc , es una funcion
expresion
c
codificadora para C, es decir, tal que: 22

ALGEBRA

Codigos lineales y funciones codificadoras. 7
JJCC

1.

Introduccion


2. Codigos
lineales y lineal inyectiva.
c es aplicacion
funciones
codificadoras.
C = Im c = c(Zkp ) Znp .

3. Codigos
lineales y
funciones
sndrome.

Observese que cada base de C proporciona una
4. Distancia y
codificadora c distinta.
funcion
peso de un

codigo. Ademas, una palabra u del alfabeto fuente Zkp se
5. Descodifi-

cacion
codifica como la palabra c(u) que se obtiene al

Metodo de
por
descodificacion multiplicar la matriz G t por la matriz columna de las
distancia mnima

Metodo de
por
descodificacion
coordenadas de u respecto de la base canonica de
sndrome
Zkp , y si, abusando de la notacion,
identificamos esta
matriz columna con u se tiene que:

C = { G t u / u Zkp }.
23

ALGEBRA

Codigos lineales y funciones codificadoras. 8
JJCC

1.

Introduccion con un (n, k)-codigo
3.) La codificacion lineal C es muy

2. Codigos requiere el almacenamiento en
simple pues solo
lineales y
funciones memoria de una matriz generadora G de C, esto es,
codificadoras.
de n k elementos de Zp y no de todos los

3. Codigos
lineales y
elementos del codigo C, que son pk vectores, es
funciones k
sndrome. decir n p elementos de Zp .
4. Distancia y
peso de un

codigo.
? Ejemplo:
Se considera el codigo lineal binario
5. Descodifi-

cacion

Metodo de
por
descodificacion
C 0 = L(100110, 010101, 0111110, 101101). Se tiene:
distancia mnima

Metodo de
por
descodificacion
sndrome
1 0 0 1 1 0 1 0 0 1 1 0
0 1 0 1 0 1 0 1 0 1 0 1

0 1 1 1 1 0 0 0 1 0 1 1
1 0 1 1 0 1 0 0 0 0 0 0
24

ALGEBRA

Codigos lineales y funciones codificadoras. 9
JJCC

1.

Introduccion Se puede quitar la ultima
fila y se vuelve a escalonar:

2. Codigos
lineales y
funciones
1 0 0 1 1 0 1 0 0 1 1 0
codificadoras.
G 0 = 0 1 0 1 0 1 0 1 0 1 0 1 = G 00

3. Codigos
lineales y 0 1 1 1 1 0 0 0 1 0 1 1
funciones
sndrome.

4. Distancia y
Por tanto, G 0 y G 00 M 36 (Z2 ) son dos matrices
peso de un

codigo.
generadores de C 0 .
5. Descodifi-

cacion

Metodo de
Por supuesto, G 0 y G 00 tienen el mismo tamano y el
por
descodificacion
distancia mnima mismo rango, rg(G 0 ) = rg(G 00 ) = 3 = dim(C 0 ) y cada una

Metodo de
por
descodificacion
sndrome

proporciona una base del codigo.


Observese que C 0 coincide con el (6, 3)-codigo
lineal C
del ejemplo anterior, pues G 00 = G.

25

ALGEBRA

Codigos lineales y funciones codificadoras. 10
JJCC

1.

Introduccion lineal asociada a G 0 , c 0 : Z32 Z62 , tiene
La aplicacion

2. Codigos como expresion matricial respecto de las bases canonicas:

lineales y
funciones
codificadoras. y1 1 0 0 x1
y2 0 1 1 x1

3. Codigos x2 + x3
lineales y
funciones y3 0 0 1 x3
sndrome. = x2 =
y4 1 1 1 x1 + x2 + x3
4. Distancia y
peso de un y5 1 0 1 x1 + x3

codigo. x3 B
5. Descodifi-
y6 B 0 0 1 0 c x2 B
0
c c

cacion

Metodo de
por
descodificacion
distancia mnima
Por tanto:

Metodo de
por
descodificacion
sndrome

c 0 (x1 , x2 , x3 ) = (x1 , x2 + x3 , x3 , x1 + x2 + x3 , x1 + x3 , x2 )

codificadora para el mismo codigo


es otra funcion C.
26

ALGEBRA

Codigos lineales y funciones codificadoras. 11
JJCC

1.

Introduccion Ahora u = 111 se codifica por c 0 (u) = 101101.

2. Codigos
lineales y
funciones Ambas matrices generadoras de C poseen solo 18
codificadoras.
elementos de Z2 (bits) mientras que C tiene 23 palabras

3. Codigos
lineales y distintas y cada una de ellas es de longitud 6, por tanto es
funciones
sndrome. necesario almacenar 6 23 = 48 elementos de Z2 (bits).
4. Distancia y
peso de un

codigo.
La primera de las representaciones vistas para el codigo C
5. Descodifi-

cacion
interesante que la segunda pues facilita la
es mas

Metodo de
por
descodificacion
como vemos a continuacion.
descodificacion
distancia mnima

Metodo de
por
descodificacion
sndrome
Observacion:
Si C es un (n, k)-codigo lineal y una
codificadora suya es del tipo
funcion

c(u) = (u, z), con z Znk


p

27

ALGEBRA

Codigos lineales y funciones codificadoras. 12
JJCC
cuando se codifica una palabra u Zkp se tiene que:
1.

Introduccion Los primeros k smbolos de la palabra c(u) C

2. Codigos
lineales y
que se quiere enviar (es decir,
contienen la informacion
funciones
codificadoras.
la palabra u).

3. Codigos
lineales y
Los n k restantes son smbolos de control.
funciones
sndrome.

4. Distancia y simplificara la tarea de descodificar


Este tipo de codificacion
peso de un

codigo. ya que, en este caso, si al recibir una palabra y Im c = C
5. Descodifi-

cacion
no ha habido ningun error, entonces es de la forma
con z Znk

Metodo de
por
descodificacion
distancia mnima
y = (u, z), p .

Metodo de
por
descodificacion
sndrome En este caso, para obtener u, palabra del alfabeto fuente
de la cual proviene y , bastara con truncar la palabra y ,

quedandonos con los k primeros bits y eliminando los
n k restantes.

es automatica.
De este modo la descodificacion 28

ALGEBRA

Codigos lineales y funciones codificadoras. 13
JJCC

1.

Introduccion


2. Codigos

Definicion: codificadora c : Zkp Znp
Una funcion
lineales y
funciones

se dice que es sistematica si es del tipo
codificadoras.


3. Codigos
lineales y c(u) = (u, z), con z Znk
p .
funciones
sndrome.

4. Distancia y
peso de un matricial de c respecto de las
En este caso, la expresion
0

codigo.
bases Bc y Bc de Zkp y Znp respectivamente es
5. Descodifi-

cacion YB 0 = G t XBc , siendo G una matriz generadora que

Metodo de c
por
descodificacion
distancia mnima
verifica

Metodo de
por
descodificacion

sndrome G = (Ik R).
En este caso, se dice que la matriz generadora G de C

esta en forma estandar.

29

ALGEBRA

Codigos lineales y funciones codificadoras. 14
JJCC

1.

Introduccion

2. Codigos 1 0 0 1 1 0
lineales y
funciones ? Ejemplo: G= 0 1 0 1 0 1 esta en
codificadoras.
0 0 1 0 1 1

3. Codigos
lineales y
funciones
forma estandar codificadora es sistematica:
y la funcion
sndrome.

4. Distancia y
peso de un


codigo. y1 1 0 0 x1
x1
5. Descodifi-

y2


0 1 0


x2


cacion y3 0 0 1
x2 = x3

Metodo de
por
descodificacion
=
distancia mnima y4 1 1 0 x1 + x2

Metodo de
por
descodificacion y5 1 0 1 x1 + x3
sndrome
x3 B
y6 0
Bc
0 1 1 c x2 + x3 0
Bc

30

ALGEBRA

Codigos lineales y funciones codificadoras. 15
JJCC

1.

Introduccion


2. Codigos

lineales y
1 0 0 1 1 0
funciones
codificadoras.
? Ejemplo: La matriz G 0 = 0 1 0 1 0 1

3. Codigos 0 1 1 1 1 0
lineales y
funciones
sndrome.
es matriz generadora del mismo codigo
tambien
4. Distancia y
peso de un

codigo.
C = L(100110, 010101, 001011) Z62
5. Descodifi-

cacion

Metodo de
por
descodificacion
distancia mnima
pero NO esta en forma estandar

y, por tanto, la funcion

Metodo de
por
descodificacion
codificadora asociada NO es sistematica:
sndrome

c 0 (x1 , x2 , x3 ) = (x1 , x2 + x3 , x3 , x1 + x2 + x3 , x1 + x3 , x2 )

31

ALGEBRA

Codigos lineales y funciones codificadoras. 16
JJCC

1.

Introduccion

Definicion:
Si C es un (n, k)-codigo lineal se dice

2. Codigos
lineales y
que es sistematico si posee alguna matriz generadora en
funciones
codificadoras.
forma estandar, es decir, si esta asociado a una funcion


3. Codigos k n
codificadora c : Zp Zp que sea de codificacion
lineales y
funciones
sistematica.
sndrome.

4. Distancia y
peso de un

codigo.
? Ejemplo:
El (6, 3)-codigo lineal
5. Descodifi-



cacion
Metodo de
C = L(100110, 010101, 001011)
por
descodificacion
distancia mnima

Metodo de
es sistematico, pues su matriz generadora G esta en
por
descodificacion
sndrome

forma estandar.
Por tanto, C esta asociado a una funcion
codificadora
3 6
c : Z2 Z2 que es de codificacion sistematica.

32

ALGEBRA

Codigos lineales y funciones codificadoras. 17
JJCC

1.
? Ejemplo:
Se considera el (5, 3)-codigo lineal

Introduccion


2. Codigos
C = L(10111, 11100, 11001) Z52 .
lineales y
funciones
codificadoras.
1 0 1 1 1

3. Codigos
lineales y G= 1 1 1 0 0 es una matriz generadora de C
funciones
sndrome. 1 1 0 0 1
4. Distancia y
peso de un que NO esta en forma estandar.


codigo.

5. Descodifi-
El codigo
C es sistematico?

cacion

Metodo de
por
descodificacion
distancia mnima
Aplicando el algoritmo de Gauss-Jordan a la matriz G se

Metodo de
por
descodificacion obtiene:
sndrome


1 0 1 1 1 1 0 0 1 0
G = 1 1 1 0 0 0 1 0 1 1 = EscR(G).
1 1 0 0 1 0 0 1 0 1
33

ALGEBRA

Codigos lineales y funciones codificadoras. 18
JJCC

1.
La matriz EscR(G) es otra matriz generadora de C pues

Introduccion proporciona una nueva base: [10010, 01011, 00101].

2. Codigos
lineales y
funciones
Como EscR(G) s esta en forma estandar
C s es un
codificadoras.
codigo
sistematico.

3. Codigos
lineales y
funciones
lineal c 0 : Z32 Z52 tiene por expresion
La aplicacion
sndrome.
matricial:
4. Distancia y
peso de un
YB 0 = EscR(G) t XBc , es decir:
c

codigo.

5. Descodifi-

cacion

Metodo de
por
descodificacion
y1 1 0 0 x1 x1
distancia mnima

Metodo de

y2


0 1 0






x2

por
descodificacion
sndrome

y3
=
0 0 1

x2 =
x3

y4 1 1 0 x1 + x2
y5 0
Bc
0 1 1 x3 B x2 + x3 0
Bc
c

codificadora sistematica
y, por tanto, es una funcion
asociada a C. 34

ALGEBRA

Codigos lineales y funciones codificadoras. 19
JJCC


Cualquier codigo
lineal es sistematico?
1.

Introduccion


2. Codigos
La respuesta es NO, como se ve en el ejemplo siguiente.
lineales y
funciones
codificadoras. ? Ejemplo:
Se considera el (4, 3)-codigo lineal

3. Codigos
lineales y C = L(1011, 1101, 1100) Z42 .
funciones
sndrome.

4. Distancia y
peso de un
1 0 1 1

codigo. Su matriz generadora G = 1 1 0 1 NO esta
5. Descodifi-

cacion
1 1 0 0

Metodo de
por
descodificacion

en forma estandar y al aplicar el algoritmo de Gauss-Jordan
distancia mnima

Metodo de a G se obtiene:
por
descodificacion
sndrome


1 0 1 1 1 0 1 0
G = 1 1 0 1 0 1 1 0 = EscR(G).
1 1 0 0 0 0 0 1
que tampoco esta en forma estandar.
35

ALGEBRA

Codigos lineales y funciones codificadoras. 20
JJCC

1.
Puede ser C sistematico?

Introduccion


2. Codigos Para ello una palabra del tipo 001 debera pertenecer a
lineales y
funciones C, pero no puede ocurrir pues se tiene que:
codificadoras.


3. Codigos
lineales y
1 0 1 0 1 0 1 0
funciones 0 1 1 0 0 1 1 0
G= 0 0 0 1 0 0 1 = dim(C) = 4.
sndrome.
4. Distancia y
peso de un

codigo.
0 0 1 0 0 0 1
5. Descodifi-

cacion con dim(C) = 3. Luego no existe una base
Contradiccion

Metodo de
por
descodificacion
distancia mnima
de C que proporcione una matriz generadora que este en

Metodo de
por
descodificacion
forma estandar
y, por tanto, C NO es sistematico.
sndrome

Pero, si en vez de utilizar en el espacio ambiente Z42 la


0

base canonica Bc = [e1 , e2 , e3 , e4 ], consideramos la base
B = [e1 , e2 , e4 , e3 ], que se obtiene permutando los dos
0
ultimos
vectores de Bc , se tiene que:
36

ALGEBRA

Codigos lineales y funciones codificadoras. 21
JJCC

1. la base de C proporcionada por la matriz EscR(G)



Introduccion
se expresa en coordenadas respecto de B:

2. Codigos
lineales y
funciones
codificadoras.
[1010, 0110, 0001] = [(1, 0, 0, 1)B , (0, 1, 0, 1)B , (0, 0, 1, 0)B ]

3. Codigos
lineales y
funciones la matriz generadora de C, tomando coordenadas
sndrome.

4. Distancia y
respecto de B, esta en forma estandar.

peso de un

codigo. la expresion
matricial respecto de Bc y B de la
5. Descodifi-

cacion
codificadora c : Z32 Z42 asociada es
funcion

Metodo de
por
descodificacion

sistematica:
distancia mnima

Metodo de
por
descodificacion
sndrome
y1 1 0 0 x1
y2 0 x1
1 0
x2
y3 = 0
x2 =
0 1 x3
x3 B
y4 B 1 1 0 c x1 + x2 B
37

ALGEBRA

Codigos lineales y funciones codificadoras. 22
JJCC

1.

Introduccion


2. Codigos
lineales y El inconveniente es que ya no trabajamos con la base
funciones
codificadoras.
canonica en el espacio ambiente.

3. Codigos
lineales y
funciones Ahora bien, si consideramos el subespacio vectorial de Z42
sndrome.

4. Distancia y
peso de un C 0 = L(1001, 0101, 0010)

codigo.

5. Descodifi-

cacion

obtenemos un nuevo (4, 3)-codigo lineal que s es

Metodo de
por
descodificacion

sistematico
y que tiene los mismos parametros que C, esto
distancia mnima

Metodo de es, los mismos valores de n y k : n = 4 y k = 3.
por
descodificacion
sndrome

Veremos que tambien se conservan otros parametros


utiles


en la etapa de la descodificacion.

38

ALGEBRA

Codigos lineales y funciones codificadoras. 23
JJCC

1.

Definicion:
Se dice que dos (n, k)-codigos lineales

Introduccion C1 y C2 sobre Zp son equivalentes si existe una

2. Codigos
lineales y

permutacion
funciones
codificadoras. : { 1, 2, . . . , n } { 1, 2, . . . , n }

3. Codigos
lineales y
funciones de modo que
sndrome.

4. Distancia y C2 = { x(1) . . . x(n) / x1 . . . xn C1 }


peso de un

codigo.

5. Descodifi-

Es decir, dos (n, k)-codigos lineales son equivalentes si

cacion sus palabras difieren unicamente
en el orden de sus

Metodo de
por
descodificacion
distancia mnima
coordenadas segun una permutacion .

Metodo de
por
descodificacion
sndrome


Observacion: es una biyeccion
La permutacion
que denotaremos:
 
1 2 n
=
(1) (2) (n)
39

ALGEBRA

Codigos lineales y funciones codificadoras. 24
JJCC

1.
Caracterizacion:
Dos (n, k )-codigos lineales C1 y

Introduccion C2 son equivalentes existe una matriz generadora de

2. Codigos
lineales y
C1 tal que al reordenar sus columnas se obtiene una matriz
funciones
codificadoras.
generadora de C2 .

3. Codigos
lineales y
funciones
? Ejemplo:
Los codigos lineales
sndrome.

4. Distancia y
peso de un C = L(1011, 1101, 1100)

codigo.

5. Descodifi- C 0 = L(1001, 0101, 0010)



cacion

Metodo de
por
descodificacion
son equivalentes, pues:
distancia mnima

Metodo de
por
descodificacion
sndrome
La matriz escalonada reducida de la matriz generadora
de C es:

1 0 1 1 1 0 1 0
G= 1 1 0 1 0 1 1 0 = EscR(G).
1 1 0 0 0 0 0 1
40

ALGEBRA

Codigos lineales y funciones codificadoras. 25
JJCC
 
1. 1 2 3 4

Introduccion Aplicando la permutacion
=
1 2 4 3

2. Codigos
lineales y
funciones
se obtiene la matriz generadora del codigo C 0:
codificadoras.


3. Codigos
lineales y
1 0 0 1
funciones G0 = 0 1 0 1
sndrome.

4. Distancia y
0 0 1 0
peso de un

codigo.
Teorema: Todo (n, k)-codigo
lineal es equivalente a
5. Descodifi-

cacion
un codigo
que es sistematico.

Metodo de
por
descodificacion
distancia mnima

Metodo de
D EM . Basta aplicar el algoritmo de Gauss-Jordan a una
por
descodificacion
sndrome
matriz generadora del codigo dado C para hallar la
escalonada reducida asociada a ella y deducir que
de los vectores de la base canonica
permutacion del
espacio ambiente es la necesaria para conseguir una
matriz que esta en forma estandar.

41

ALGEBRA

Codigos lineales y funciones sndrome. 1
JJCC

1.

Introduccion


2. Codigos
Recordemos que todo subespacio vectorial S puede
lineales y como el conjunto de soluciones de un
definirse tambien
funciones
codificadoras.
sistema lineal homogeneo
de rango maximo que son sus

3. Codigos
lineales y
ecuaciones implcitas minimales.
funciones
sndrome.

4. Distancia y

En particular, si C es un (n, k)-codigo lineal, como su
peso de un

codigo.
es k y el espacio ambiente es Znp , esta definido
dimension
5. Descodifi- por n k ecuaciones implcitas minimales:

cacion

Metodo de
por
descodificacion
distancia mnima
c11 x1 + c12 x2 + . . . + c1n xn = 0

Metodo de
c21 x1 + c22 x2 + . . . + c2n xn = 0

por
descodificacion
sndrome
C ..
.


cnk 1 x1 + cnk 2 x2 + . . . + cnk n xn = 0 B

c

42

ALGEBRA

Codigos lineales y funciones sndrome. 2
JJCC

1.

Introduccion

c11 c12 ... c1n

2. Codigos
lineales y
c21 c22 ... c2n
con rg = n k.

funciones
codificadoras.
..
.

3. Codigos
lineales y cnk 1 cnk 2 . . . cnk n
funciones
sndrome.
El sistema puede escribirse matricialmente como sigue:
4. Distancia y
peso de un

codigo. c11 c12 ... c1n x1 0
5. Descodifi- c21 c22 . . . c 2n
x2 0

cacion
.. = .. .


Metodo de ..
por
descodificacion
distancia mnima
. . .

Metodo de
por
descodificacion cnk 1 cnk 2 . . . cnk n xn Bc
0
sndrome


y esta matriz H, con rango maximo, recibe el nombre de
matriz de control o de paridad del subespacio vectorial
C.
43

ALGEBRA

Codigos lineales y funciones sndrome. 3
JJCC

1.

Introduccion
Definicion:
Sea C un (n, k )-codigo lineal definido,

2. Codigos
respecto de la base canonica de Znp , por n k
lineales y
funciones ecuaciones implcitas minimales.
codificadoras.


3. Codigos
lineales y
La matriz H de coeficientes del sistema se llama matriz
funciones
de control o matriz de paridad del codigo C.
sndrome.

4. Distancia y
peso de un

codigo.
Observacion:
La matriz de control de un (n, k )-codigo
5. Descodifi-
lineal C verifica:

cacion

Metodo de
por
descodificacion
H M (nk )n (Zp ), es decir, el tamano
de H es
distancia mnima

Metodo de
por
descodificacion
(n k ) n.
sndrome

H tiene rango maximo,


es decir,

rg(H) = n k = dim(Znp ) dim(C).

44

ALGEBRA

Codigos lineales y funciones sndrome. 4
JJCC

1.

Introduccion
x1 0

2. Codigos
lineales y x2 0
funciones x1 x2 . . . xn C H = .

codificadoras. .. ..
. .

3. Codigos
lineales y xn Bc
0
funciones
sndrome.

4. Distancia y
peso de un Utilizaremos esta ultima
propiedad para detectar errores en

codigo.

5. Descodifi-

la transmision.

cacion

Metodo de
por
descodificacion
distancia mnima ? Ejemplo: Hallar el parametro
k del
(n, k)-codigo lineal

Metodo de
por
descodificacion
sndrome
siguiente
x1 + x2 + x3 = 0
C x1 + x3 + x4 = 0
x2 + x4 = 0

Bc

45

ALGEBRA

Codigos lineales y funciones sndrome. 5
JJCC
1 1 1 0 1 0 1 1
1.

Introduccion
Se tiene que: 1 0 1 1 0 1 0 1

2. Codigos
0 1 0 1 0 0 0 0
lineales y 
funciones
codificadoras.
x1 + x3 + x4 = 0
son ec. implcitas minimales de C

3. Codigos x2 + x4 = 0 B
c
lineales y
funciones  
sndrome. 1 0 1 1
y H= es una matriz de control de C.
4. Distancia y
peso de un
0 1 0 1

codigo.

5. Descodifi- Entonces, k = dim(C) = dim(Z42 ) rg(H) = 4 2 = 2.



cacion

Metodo de
por
descodificacion
Unas ecuaciones parametricas minimales de C son:
distancia mnima

Metodo de
sndrome
por
descodificacion
x1 = +
 
x2 = 1 0 1 0

C y G=
x3 =
1 1 0 1
x4 =

B c

es una matriz generadora de C. 46



ALGEBRA

Codigos lineales y funciones sndrome. 6
JJCC

1.

Introduccion
Como se halla la matriz de control de C a partir de la

2. Codigos
lineales y
matriz generadora G de C?
funciones
codificadoras.


3. Codigos
Como G proporciona la base [1010, 1101] de C se
lineales y
funciones
verifica que:
sndrome.

4. Distancia y v = x1 x2 x3 x4 C { 1010, 1101, v } es sistema ligado.


peso de un

codigo.

5. Descodifi-
Utilizando el algoritmo de Gauss para escalonar


cacion
Metodo de
parcialmente se obtiene:
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
1 1 x1 1 0 x3
sndrome
0 1 x2 0 1 x4
A= 1 0 x3 0 0 x1 + x3 + x4
.

0 1 x4 0 0 x2 + x4

47

ALGEBRA

Codigos lineales y funciones sndrome. 7
JJCC
Por tanto:
1.

Introduccion

x1 + x3 + x4 = 0

2. Codigos x1 x2 x3 x4 C rg(A) = 2
lineales y x2 + x4 = 0 Bc
funciones
codificadoras.

3. Codigos
  x1   x1  
lineales y
funciones 1 0 1 1 x2 0 x2 0
sndrome. = H
=
0 1 0 1 x3 0 x3 0
4. Distancia y
peso de un x4 B x4 B

codigo. c c

5. Descodifi- x1 + x3 + x4 = 0

cacion Luego, C son ecuaciones

Metodo de
por
descodificacion
x2 + x4 = 0 B
c
distancia mnima

Metodo de
por
descodificacion
sndrome
implcitas minimales de C respecto de Bc y a partir de
ellas se obtiene una matriz de control de C:
 
1 0 1 1
H=
0 1 0 1
48

ALGEBRA

Codigos lineales y funciones sndrome. 8
JJCC

1.
Este procedimiento para hallar la matriz de control a partir

Introduccion
de la matriz generadora es largo pero podemos

2. Codigos
lineales y automatizarlo si G esta en forma estandar,

apoyandonos
funciones
codificadoras. en los resultados siguientes:

3. Codigos
lineales y
funciones Como las columnas de G t coinciden con los vectores de
sndrome.

una base de C y estos implcita que
verifican la ecuacion
4. Distancia y
peso de un define a C se tiene que:

codigo.

5. Descodifi-

cacion
H G t = 0 (nk )k

Metodo de
por
descodificacion
distancia mnima

Metodo de
? Ejemplo: En el ejemplo anterior:
por
descodificacion
sndrome
  1 1  
1 0 1 1 0 1 0 0
H Gt =

= .
0 1 0 1 1 0 0 0
0 1
49

ALGEBRA

Codigos lineales y funciones sndrome. 9
JJCC

1.

Introduccion
Proposicion:
Sea C un (n, k)-codigo lineal sobre

2. Codigos
lineales y Zp . Si G y H son una matriz generadora y una matriz de
funciones
codificadoras. control de C, respectivamente, entonces:

3. Codigos
lineales y
funciones H G t = 0(nk )k .
sndrome.

4. Distancia y
peso de un si G es una matriz generadora de C y
Ademas,

codigo.
H M (nk )k (Zp ) verifica:
5. Descodifi-

cacion

Metodo de
por
descodificacion
distancia mnima
rg(H) = n k

Metodo de
por
descodificacion
sndrome

H G t = 0(nk )k

entonces H es una matriz de control de C.

50

ALGEBRA

Codigos lineales y funciones sndrome. 10
JJCC

1.

Introduccion
Proposicion:
Sea C un (n, k)-codigo lineal sobre

2. Codigos
Zp . Se verifica que:
lineales y
funciones
codificadoras.
G = (Ik |X ) es una matriz generadora de C

3. Codigos
lineales y H = (X t | Ink ) es una matriz de control de C.
funciones
sndrome.

4. Distancia y
peso de un D EM . Basta comprobar que

codigo.

5. Descodifi-

cacion
H G t = (X t | Ink ) (Ik |X ) t = 0(nk )k .

Metodo de
por
descodificacion

distancia mnima

Metodo de
por
descodificacion
sndrome

Definicion:
Sea C un (n, k)-codigo lineal sobre Zp y
H es una matriz de control de C. Se dice que H esta en

forma estandar si es de la forma

H = (Y | Ink ).
51

ALGEBRA

Codigos lineales y funciones sndrome. 11
JJCC

1.
? Ejemplo: Para el (4, 2)-codigo
lineal C del ejemplo

Introduccion anterior la matriz generadora y la matriz de control

2. Codigos
lineales y
obtenidas no estan en forma estandar:

funciones    
codificadoras.
1 0 1 0 1 0 1 1

3. Codigos G= y H=
lineales y 1 1 0 1 0 1 0 1
funciones
sndrome.
Veamos si C es sistematico.
4. Distancia y
peso de un

codigo.    
1 0 1 0 1 0 1 0 0
5. Descodifi-
G= =G

cacion

Metodo de
1 1 0 1 0 1 1 1
por
descodificacion
distancia mnima
0
Metodo de
por
descodificacion
sndrome
Como EscR(G) = G esta en forma estandar C es

sistematico y podemos obtener una matriz de control en
0

forma estandar H = (X t | I2 ):
 
0 1 1 1 0
H = M 24 (Z2 ).
0 1 0 1
52

ALGEBRA

Codigos lineales y funciones sndrome. 12
JJCC

0
1. Se tiene que rg(H ) = 3 y

Introduccion


2. Codigos
lineales y   1 0  
funciones 0 0 t 1 1 1 0 0 1
= 0 0 .
codificadoras. H G =

3. Codigos
0 1 0 1 1 1 0 0
lineales y
funciones
0 1
sndrome.

4. Distancia y

Observese que en general una matriz de control que esta
peso de un

codigo.

en forma estandar NO es una matriz escalonada reducida.
5. Descodifi- 0

cacion
A partir de H se puede obtener H en forma estandar

Metodo de
por
descodificacion realizando operaciones elementales (por filas).
distancia mnima

Metodo de
por
descodificacion
sndrome

(Nota: el metodo no es el algoritmo de Gauss-Jordan.)

   
1 0 1 1 1 1 1 0 0
H= F1 :=F1 +F2 =H .
0 1 0 1 0 1 0 1
53

ALGEBRA

Codigos lineales y funciones sndrome. 13
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones
codificadoras. ? Ejemplo: Queremos hallar una matriz de control del

3. Codigos
lineales y

(4, 3)-codigo lineal binario C cuya matriz generadora es
funciones
sndrome. 1 0 0 1
4. Distancia y
peso de un G = 0 1 0 1 .

codigo.
0 0 1 0
5. Descodifi-

cacion

Metodo de
Como G esta en forma estandar
se tiene que:
por
descodificacion
distancia mnima

H = (X t | I1 ) = 1 1 0 1 .

Metodo de

por
descodificacion
sndrome

54

ALGEBRA

Codigos lineales y funciones sndrome. 14
JJCC

1.

Introduccion
? Ejemplo: Sea C un (5, 2)-codigo
lineal binario cuya

2. Codigos
matriz de control es:
lineales y
funciones
codificadoras.
1 1 1 0 0

3. Codigos H = 0 1 0 1 0 M 35 (Z2 ).
lineales y
funciones
1 0 0 0 1
sndrome.

4. Distancia y Se tiene que rg(H) = 3 = dim(Z52 ) dim(C) = 5 2.


peso de un

codigo.

5. Descodifi- Como H = (X | I3 ) esta en forma estandar


a partir de ella

cacion

Metodo de podemos construir una matriz generadora G de C
por
descodificacion
distancia mnima

Metodo de
de forma estandar:
tambien
por
descodificacion  
sndrome
t 1 0 1 0 1
G = (I2 |X ) = M 25 (Z2 ).
0 1 1 1 0
y rg(G) = 2 = dim(C).

55

ALGEBRA

Codigos lineales y funciones sndrome. 15
JJCC

1.

Introduccion

Definicion:
Sea C un (n, k )-codigo lineal y H es

2. Codigos
lineales y una matriz de control de C. Se llama funcion sndrome
S : Znp Znk
funciones
codificadoras.
del codigo C a la aplicacion p tal que su
0

3. Codigos
lineales y
matricial respecto de las bases Bc y Bc de Znp
expresion
funciones
sndrome.
y Znk
p respectivamente es
4. Distancia y
peso de un

codigo. YB 0 = H XBc .
c
5. Descodifi-

cacion

Metodo de
por
descodificacion
Para cada u Znp se llama sndrome de la palabra u al
S(u) Znk
distancia mnima

Metodo de
por
descodificacion
vector p .
sndrome

Si H esta en forma estandar



diremos que la funcion

sndrome es sistematica.

56

ALGEBRA

Codigos lineales y funciones sndrome. 16
JJCC

1.

Introduccion


2. Codigos ? Propiedades: Sea S : Znp Znk
p
una funcion
lineales y
funciones sndrome de C.
codificadoras.


3. Codigos 1 C = ker(S).
lineales y
funciones
sndrome.

4. Distancia y Es decir, S(u) = 0 nk 0 u C


peso de un

codigo.

5. Descodifi-

cacion
2 S es sobreyectiva: Im(S) = Zpnk

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
de mensajes el receptor
Si en el proceso de transmision
sndrome
recibe una palabra tal que S(y) 6= 0 0 entonces y
/C
y detecta que se ha cometido un error en el paso por el
canal.

57

ALGEBRA

Codigos lineales y funciones sndrome. 17
JJCC

1.

Introduccion


2. Codigos ? Ejemplo: Sea C el (5, 2)-codigo
lineal binario cuya
lineales y
funciones matriz de control es:
codificadoras.


3. Codigos

lineales y 1 1 1 0 0
funciones
sndrome. H = 0 1 0 1 0 M 35 (Z2 ).
4. Distancia y 1 0 0 0 1
peso de un

codigo. 0
La expresion matricial, respecto de las bases Bc y Bc de
5. Descodifi-

cacion Z52 y Z32 , de la funcion
sndrome sistematica
asociada

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion S : Z52 Z32 es YB 0 = H XBc .
sndrome c

Entonces se verifica:

58

ALGEBRA

Codigos lineales y funciones sndrome. 18
JJCC

1.

Introduccion
explcita de S es:
1. La expresion

2. Codigos
lineales y S(x1 , x2 , x3 , x4 , x5 ) = (x1 + x2 + x3 , x2 + x4 , x1 + x5 )
funciones
codificadoras.


3. Codigos
pues
lineales y
funciones
sndrome.

x1
4. Distancia y
peso de un 1 1 1 0 0 x2 x1 + x2 + x3

codigo.

0 1 0 1 0 x3 = x2 + x4
5. Descodifi-


cacion 1 0 0 0 1 x4 x1 + x5 B
0

Metodo de c
por
descodificacion
distancia mnima
x5 Bc

Metodo de
por
descodificacion
sndrome

x1 + x2 + x3 = 0
2. C = ker(S) x2 + x4 = 0
x1 + x5 = 0 B 0

c

son ecuaciones implcitas minimales de C.


59

ALGEBRA

Codigos lineales y funciones sndrome. 19
JJCC

1.

Introduccion
3. dim(Im(S)) = dim(Z52 ) dim(ker(S)) = 5 2 = 3 =

2. Codigos
lineales y
funciones
= dim(Im(S)) = dim(Z32 ) = S es sobreyectiva.
codificadoras.


3. Codigos
lineales y
Observese
que al estar H en forma estandar:
funciones
sndrome.

4. Distancia y
peso de un

codigo. 0
5. Descodifi- 1 1 1 0 0 0
x3

cacion 0 1 0 1 0

Metodo de x3
= x4
por
descodificacion
distancia mnima 1 0 0 0 1 x4 x5 B 0

Metodo de c
por
descodificacion
sndrome
x5 Bc

y, por tanto, para cada sndrome x3 x4 x5 Z32 se tiene


que la palabra 00x3 x4 x5 Z52 es un origen.
60

ALGEBRA

Codigos lineales y funciones sndrome. 20
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones
codificadoras. 4. Si las palabras y1 = 11111 e y2 = 11011 son

3. Codigos
lineales y

recibidas por el receptor, este detecta error?
funciones
sndrome.

4. Distancia y
peso de un 1 1

codigo. 1 1 1 0 0 1 1
1 0
5. Descodifi- 0 1 0 1 0 1 0 = 0 0

cacion

Metodo de
por
descodificacion
1 0 0 0 1 1 1 0 0 B0
distancia mnima c

Metodo de
por
descodificacion
1 1 Bc
sndrome

61

ALGEBRA

Distancia y peso de un codigo. 1
JJCC

veremos algunas definiciones cuya utilidad


En esta seccion
1.

Introduccion
mostraremos en el proceso de descodificacion.

2. Codigos
lineales y
funciones
Definiciones:
codificadoras.


3. Codigos
Dado v = (v1 , . . . , vn ) Znp llamamos peso de la
lineales y
funciones
palabra v al numero
natural
sndrome.

4. Distancia y
(v ) = card({ i / vi 6= 0, 1 i n })
peso de un

codigo. Es decir, el peso de v es el numero
de componentes
5. Descodifi-

cacion
no nulas de v .

Metodo de
por
descodificacion
distancia mnima
Observese
que, por definicion:

Metodo de
por
descodificacion
sndrome (u) = (u) para todo u Znp .


Llamamos peso del (n, k)-codigo lineal C al numero

natural
(C) = min({ (v ) / v C, v 6= 0 }).
62

ALGEBRA

Distancia y peso de un codigo. 2
JJCC

1.
? Ejemplo:

Introduccion


2. Codigos a) En Z32 se tiene que:
lineales y
funciones (100) = (010) = (001) = 1.
codificadoras.


3. Codigos (101) = 2.
lineales y
funciones
sndrome. (111) = 3.
4. Distancia y
peso de un

codigo. (Z32 ) = 1, pues en Z32 hay palabras de peso 1.
5. Descodifi-

cacion
b) Se considera el (6, 3)-codigo lineal C dado por la

Metodo de
por
descodificacion
distancia mnima
matriz generadora:

Metodo de
por
descodificacion
sndrome
1 0 0 1 1 1
G= 0 1 0 1 1 1
0 0 1 1 1 1

es el peso de C, (C)?
Cual
63

ALGEBRA

Distancia y peso de un codigo. 3
JJCC
Para calcular (C) es necesario hallar el peso de todas
1.

Introduccion
las palabras del codigo C:

2. Codigos
lineales y C = { 000000, 001111, 010111, 011000,
funciones
codificadoras.


3. Codigos
100111, 101000, 110000, 111111 }.
lineales y
funciones
sndrome.
(C) = peso de las palabras no nulas de menor peso = 2.
4. Distancia y
peso de un

codigo.
Definiciones:
5. Descodifi-

cacion Se define la distancia entre las palabras

Metodo de
por
descodificacion
distancia mnima

Metodo de
u = (u1 , . . . , un ) y v = (v1 , . . . , vn ) Znp
por
descodificacion
sndrome
como el numero
natural

d(u, v ) = card({ i / ui 6= vi , 1 i n })
es decir, la distancia de u a v coincide con el numero

de componentes en que difieren las dos palabras. 64

ALGEBRA

Distancia y peso de un codigo. 4
JJCC


Se define la distancia del codigo C:
1.

Introduccion


2. Codigos d(C) = min({ d(u, v ) / u, v C con u 6= v })
lineales y
funciones
codificadoras. es decir, la distancia de u a v coincide con el numero


3. Codigos de componentes en que difieren las dos palabras.
lineales y
funciones
sndrome.

4. Distancia y
? Notacion:
Llamaremos (n, k, d)-codigo lineal sobre
peso de un n

codigo.
Zp a todo codigo lineal C Zp de dimension
k y
5. Descodifi- distancia d.

cacion

1. En Z32 se tiene que, por ejemplo:



Metodo de
por
descodificacion
distancia mnima
? Ejemplo:

Metodo de
por
descodificacion
sndrome d(100, 000) = 1, d(100, 010) = 2, d(100, 011) = 3,

2. C = { 000000, 001111, 010111, 011000,


100111, 101000, 110000, 111111 } Z62 .
entonces d(C) = ? 65

ALGEBRA

Distancia y peso de un codigo. 5
JJCC

1.

Introduccion ? Propiedades:

2. Codigos
lineales y 1 d(u, v ) d(u, w) + d(w, v ) para todo u, v , w Znp .
funciones
codificadoras.
2 (u + v ) (u) + (v ) para todo u, v Znp .

3. Codigos
lineales y
funciones 3
Si C es un (n, k)-codigo lineal se verifica que:
sndrome.

4. Distancia y a) d(u, v ) coincide con el peso de la palabra u v , es


peso de un

codigo. decir, d(u, v ) = (u v ).
5. Descodifi-

cacion b) d(C) coincide con el peso de C, es decir,

Metodo de
por
descodificacion
distancia mnima

Metodo de
d(C) = (C)
por
descodificacion
sndrome


Por tanto, para calcular la distancia de un codigo lineal
basta hallar el peso de sus palabras no nulas y tomar el
menor de estos pesos.

66

ALGEBRA

Distancia y peso de un codigo. 6
JJCC

1.

Introduccion
? Ejemplo: 1. En Z32 comprueba que se verifica:

2. Codigos
lineales y
funciones
codificadoras. d(111, 011) d(111, 001) + d(001, 011)

3. Codigos
lineales y
funciones
(111 + 011) (111) + (011).
sndrome.

4. Distancia y
peso de un

codigo.

2. Calcula la distancia de los codigos lineales
5. Descodifi-

cacion

Metodo de
C = { 000000, 001111, 010111, 011000,
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
100111, 101000, 110000, 111111 }.
sndrome

C2 = { 000000, 001011, 010101, 011110,


100110, 101101, 110011, 111111 }.

67

ALGEBRA

Distancia y peso de un codigo. 7
JJCC

1.

Introduccion
Observacion: Si d(C) = d entonces para transformar

2. Codigos
una palabra del codigo este en el
en otra que tambien es
lineales y
funciones necesario modificar al menos d de sus bits.
codificadoras.


3. Codigos
lineales y
funciones
Proposicion:
Si C1 y C2 son dos (n, k)-codigos
sndrome. lineales equivalentes entonces tienen igual distancia y
4. Distancia y
peso de un
peso.

codigo.

5. Descodifi-

cacion ? Ejemplo:
Vimos que los codigos lineales

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
C = L( 1011, 1101, 1100 )
sndrome

C 0 = L( 1001, 0101, 0010 )

son equivalentes. es su distancia?


Cual
68

ALGEBRA

Distancia y peso de un codigo. 8
JJCC

1.

Introduccion



Al comienzo del tema vimos que con el (6, 3)-codigo lineal
2. Codigos
lineales y
funciones
codificadoras. C = L( 100110, 010101, 001011 ),

3. Codigos
lineales y
funciones
sndrome.
si se recibe la palabra y 0 = 101011 se detecta el error
4. Distancia y pues y 0 / C, pero si ademas suponemos que el canal, es
peso de un

codigo.
bueno, en el sentido de que la probabilidad de error es
5. Descodifi- podemos pensar que la palabra enviada
pequena,

cacion

Metodo de
originalmente es la palabra de C mas cercana a ella, es
por
descodificacion
distancia mnima decir, aquella palabra de C que tiene mayor numero
de

Metodo de
por
descodificacion
componentes iguales a y . 0
sndrome

Si calculamos la distancia de y 0 a cada palabra de C se


obtiene:

69

ALGEBRA

Distancia y peso de un codigo. 9
JJCC

1.

Introduccion y 0 = 101011 :

2. Codigos d(y 0 , 001011) = 1,
d(y 0 , 101101) = d(y 0 , 110011) = 2,
lineales y
funciones

d(y 0 , 100110) = d(y 0 , 111000) = 3,


codificadoras.


3. Codigos
lineales y d(y 0 , 000000) = d(y 0 , 011110) = 4,
funciones
sndrome. d(y 0 , 010101) = 5.
4. Distancia y
peso de un

codigo. Entonces, descodificamos y 0 como u = 001011 C.
5. Descodifi-

cacion

Metodo de
por
descodificacion
Si el numero
de errores ha sido realmente uno entonces u
distancia mnima

Metodo de
se
coincide con la palabra enviada y, en este caso, no solo
por
descodificacion
sndrome detecta que ha existido error sino que se puede corregir.


Esta estrategia da lugar al metodo simple de
mas
descodificacion,
el metodo de la distancia mnima que se

expone en la proxima
seccion.
70

ALGEBRA
1
Descodificacion.
JJCC

Sea C un (n, k , d)-codigo lineal. Supongamos que se ha
1.

Introduccion enviado la palabra y C a traves de un canal y, a causa

2. Codigos del ruido, se recibe la palabra y 0 C .
lineales y
funciones
codificadoras. Si y 0
/ C se detecta que ha habido algun error en la

3. Codigos
lineales y
y se procede a intentar obtener, a partir de la
transmision
funciones palabra y 0 Znp recibida, la palabra y C enviada.
sndrome.

4. Distancia y
peso de un
a esta
En lo que sigue, llamaremos descodificacion

codigo. y correccion
primera fase de deteccion de errores.
5. Descodifi-



cacion
Metodo de

Vamos a ver dos metodos
de descodificacion.
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
1
Metodo por distancia mnima:
de descodificacion
sndrome
general y se puede aplicar a cualquier codigo,
es mas
aunque no sea lineal.
2
Metodo de descodificacion por sndrome: solo
es

valido
para los codigos eficiente,
lineales pero es mas
hay que realizar menos operaciones. 71

ALGEBRA
por distancia mnima. 1
Descodificacion
JJCC

1.
Entrada: Todas las palabras de un (n, k , d)-codigo lineal

Introduccion
C e y 0 la palabra recibida.

2. Codigos
lineales y
funciones de y 0 (posible valor de la
Salida: y C descodificacion
codificadoras.
palabra enviada y C).

3. Codigos
lineales y
funciones
sndrome. 1 Calcular y de modo que sea la palabra de C mas

4. Distancia y
proxima a y 0 . Debe verificar que:
peso de un

codigo.

5. Descodifi-
d(y , y 0 ) = min{ d(c, y 0 ) / c C }.

cacion

Metodo de
por
descodificacion
Si hay varias palabras que minimicen la distancia a y 0 ,
distancia mnima

Metodo de elegir una cualquiera de ellas.
por
descodificacion
sndrome

2 Devolver y .

Observacion:
El metodo se puede aplicar a
tambien

codigos no lineales.
72

ALGEBRA
por distancia mnima. 2
Descodificacion
JJCC

1.

Introduccion ? Ejemplo: C = { 00011, 11001, 10101, 11111 } es un

2. Codigos
lineales y

codigo no lineal que verifica que d(C) = 2.
funciones
codificadoras. Si se reciben las palabras y 0 = 01100 e y 00 = 11110, se

3. Codigos
lineales y
detecta que se ha producido error?
funciones
sndrome.

Empleamos el metodo de la distancia mnima:
4. Distancia y
peso de un

codigo. C d(01100, u) con u C
5. Descodifi-

cacion
00011 d(01100, 00011) = 4

Metodo de
por
descodificacion
11001 d(01100, 11001) = 3
distancia mnima

Metodo de 10101 d(01100, 10101) = 3
por
descodificacion
sndrome
11111 d(01100, 11111) = 3


Como hay tres codigos a la misma mnima
que estan
distancia de la palabra recibida, no se puede descodificar.

73

ALGEBRA
por distancia mnima. 3
Descodificacion
JJCC
Para la otra palabra
1.

Introduccion


2. Codigos C d(11110, u) con u C
lineales y
funciones 00011 d(11110, 00011) = 4
codificadoras.
11001 d(11110, 11001) = 3

3. Codigos
lineales y 10101 d(11110, 10101) = 3
funciones
sndrome. 11111 d(11110, 11111) = 1
4. Distancia y
peso de un
Como hay un solo codigo que esta a distancia mnima, 1, s

codigo.

se puede descodificar la palabra recibida por el codigo:
5. Descodifi-

cacion 11111.

Metodo de
por
descodificacion
distancia mnima

Metodo de

Si el cardinal del codigo
es elevado el metodo es muy
por
descodificacion
sndrome costoso, pues para calcular la distancia entre dos palabras
se necesita comparar n parejas de bits.

Si el codigo es lineal y binario se simplifican algo los

calculos pues:
d(u, v ) = (u + v ).
74

ALGEBRA
por distancia mnima. 4
Descodificacion
JJCC
? Ejemplo: Se considera el (6, 3, 3)-codigo
lineal binario
1.

Introduccion
C = L( 100110, 011110, 001011 ) =

2. Codigos
lineales y
= { 000000, 100110, 011110, 001011,
funciones
codificadoras. 010101, 101101, 110011, 111000 }

3. Codigos
lineales y
funciones
Al recibir la palabra y 0 = 111111, se detecta que se ha
sndrome. cometido error? Por que?
4. Distancia y
peso de un

codigo. C d(111111, u) = (111111 + u) con u C
5. Descodifi- 000000 (111111 + 000000) = (111111) = 6

cacion

Metodo de
por
descodificacion
100110 (111111 + 100110) = (100110) = 3
distancia mnima

Metodo de
011110 (111111 + 011110) = (011110) = 2
por
descodificacion
sndrome 001011 (111111 + 001011) = (001011) = 3
010101 (111111 + 010101) = (010101) = 3
101101 (111111 + 101101) = (101101) = 2
110011 (111111 + 110011) = (110011) = 2
111000 (111111 + 111000) = (111000) = 3
75

ALGEBRA
por distancia mnima. 5
Descodificacion
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones
codificadoras. y1 = 011110 C

3. Codigos
lineales y
funciones
sndrome. 2
4. Distancia y
peso de un 111111 = y' 2

codigo.
y2 = 101101 C
5. Descodifi-

cacion

Metodo de 2
por
descodificacion
distancia mnima

y3 = 110011 C

Metodo de
por
descodificacion
sndrome

76

ALGEBRA
2
Descodificacion.
JJCC

1.

Introduccion

Proposicion:

2. Codigos
lineales y
Si C es un (n, k, d)-codigo lineal se verifica que:
funciones
codificadoras.
1 C es capaz de detectar d 1 errores.

3. Codigos  
lineales y
funciones
d 1
sndrome.
2 C es capaz de corregir t = errores.
2
4. Distancia y
peso de un

codigo.

5. Descodifi-

cacion Teorema:

 Sea C un (n, k, d)-codigo lineal y

Metodo de
por
descodificacion d 1
distancia mnima t= .

Metodo de
por
descodificacion
2
sndrome

Si en el canal se han producido s errores, 0 s t, la


descrita en el metodo
descodificacion de la distancia
mnima es correcta, es decir, la palabra y C elegida para
descodificar y 0 coincide con la palabra enviada y, y = y.
77

ALGEBRA
3
Descodificacion.
JJCC

1.

Introduccion


2. Codigos
lineales y Observaciones:
funciones
codificadoras.


3. Codigos
lineales y
1 Si se han producido s errores, con t < s d 1, es
funciones
sndrome.
posible detectar que se han producido errores pero no
4. Distancia y
sea
se puede garantizar que la descodificacion
peso de un

codigo.
correcta.
5. Descodifi-



cacion
Metodo de
2 Si s d, puede ocurrir que la palabra recibida y 0
por
descodificacion
distancia mnima
sea una palabra codigo y ni siquiera es posible detectar
que ha habido error. O bien que y 0 diste menos de

Metodo de
por
descodificacion
sndrome


otra palabra del codigo que de y y la descodificacion
sea incorrecta.
tambien

78

ALGEBRA
por distancia mnima. 6
Descodificacion
JJCC

1.


Intuitivamente, vemos en el ejemplo siguiente como la
Introduccion


2. Codigos

capacidad de un codigo lineal para detectar y corregir
lineales y
funciones
errores depende de la distancia entre sus palabras.
codificadoras.


3. Codigos
lineales y
funciones
sndrome.

4. Distancia y
peso de un

codigo.

5. Descodifi-

cacion

Metodo de
por
descodificacion
distancia mnima

Metodo de
y2
por
descodificacion
sndrome
y4

y1 y3

79

ALGEBRA

Metodo por sndrome. 1
de descodificacion
JJCC

1.

Introduccion


2. Codigos
Sea C un (n, k , d)-codigo lineal. Si se recibe la palabra
lineales y
funciones y0
/ C, el metodo de descodificacion por sndrome
codificadoras.
devuelve tambien la palabra de C mas cercana a y 0 pero

3. Codigos
lineales y de un modo mas eficiente que el calculo
de las distancias
funciones
sndrome. de y 0 a todas las palabras del codigo
C.
4. Distancia y
peso de un

codigo. Definicion:
Sea C un (n, k , d)-codigo lineal. Si se
5. Descodifi-

cacion
enva la palabra y C y se recibe la palabra y 0 llamamos

Metodo de
por
descodificacion
vector de error al vector e = y 0 y Znp .
distancia mnima

Metodo de
por
descodificacion
sndrome
Observacion: Para descodificar la palabra recibida y 0
vamos a buscar el vector de error e en lugar de buscar
directamente la palabra y C.

80

ALGEBRA

Metodo por sndrome. 2
de descodificacion
JJCC
El peso de e, (e), es el numero
de componentes no
1.

Introduccion nulas de la palabra e y coincide con el numero
de

2. Codigos componentes en que difieren las palabra y e y 0 .
lineales y
funciones
codificadoras. Por tanto, (e) es el numero
de alteraciones que ha

3. Codigos sufrido la palabra y para transformarse en y 0 .
lineales y
funciones
sndrome. Si se han producido s errores, (e) = s.
4. Distancia y
peso de un

codigo. sndrome de C, S : Znp Znk
La funcion p permite:
5. Descodifi-



cacion
Metodo de
1 puesto
Averiguar si ha habido error en la transmision,
por
descodificacion
distancia mnima
que caracteriza a las palabras de codigo:

Metodo de
por
descodificacion nk
sndrome uC S(u) = 0 0.

2 Relacionar directamente el vector de error e con la


palabra recibida y 0 porque:
S(e) = S(y 0 ).
81

ALGEBRA

Metodo por sndrome. 3
de descodificacion
JJCC

1. de la
A la vista de la propiedad 2), en la descodificacion

Introduccion
palabra recibida y 0 Znp elegiremos como estimacion del

2. Codigos
lineales y vector de error e la palabra de menor peso dentro del
funciones
codificadoras. conjunto de palabras de Znp que tienen el mismo sndrome

3. Codigos que y 0 . A partir de ella construiremos una estimacion
de la
lineales y
funciones palabra y.
sndrome.

4. Distancia y
peso de un

codigo. Esto justifica las siguientes definiciones:
5. Descodifi-

cacion


Definicion: Sea S : Znp Znk
p
una funcion
Metodo de
por
descodificacion
distancia mnima

sndrome del codigo C. Se define para cada u Znp :

Metodo de
por
descodificacion
sndrome
orbita de u, y se denota orb(u), como el conjunto

orb(u) = { v Znp / S(v ) = S(u) }.


Sndrome de la orbita de u es el vector S(u) Znk
p .
82

ALGEBRA

Metodo por sndrome. 4
de descodificacion
JJCC

1.

Introduccion


2. Codigos
lineales y
Definicion:
funciones
codificadoras.

Lder de la orbita de u, y se denota por l(u), a un

3. Codigos
lineales y vector de peso mnimo del conjunto orb(u). Si hubiese
funciones
sndrome. varios, se elige uno cualquiera de ellos, es decir:
4. Distancia y
peso de un l(u) orb(u).

codigo.

5. Descodifi- (l(u)) (v ) para todo v orb(u).



cacion

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion

Observacion: En las condiciones anteriores, el vector
de error e esta en la orbita de y 0 y tomaremos como
sndrome

suya un lder de dicha orbita.


estimacion

83

ALGEBRA

Metodo por sndrome. 5
de descodificacion
JJCC

? Propiedades: Sean S : Znp Znk


1.

Introduccion p
una funcion

sndrome del codigo n
C y u, v Zp . Entonces, se verifica:

2. Codigos
lineales y
funciones n
codificadoras. 1
C es la orbita de la palabra 0 0 Znp , es decir:

3. Codigos
lineales y n
funciones orb(0 0) = C
sndrome.

4. Distancia y
peso de un 2
Orbita de u: orb(u) = u + C = { u + x / x C }.

codigo.

5. Descodifi-

cacion
3 orb(u) 6= y |orb(u)| = |C| = pk .

Metodo de
por
descodificacion
distancia mnima 4
Las orbitas distintas son disjuntas, es decir:

Metodo de
por
descodificacion
sndrome

orb(u) 6= orb(v ) orb(u) orb(v ) = .


  
5 Hay pnk orbitas
distintas. pnk = card Znk
p

84

ALGEBRA

Metodo por sndrome. 6
de descodificacion
JJCC

1.

Introduccion
sndrome S es sistematica,
6. Si la funcion se verifica

2. Codigos k
lineales y que dado s Znk p , la palabra 0 0 s Znp
funciones
codificadoras.
pertenece a la orbita cuyo sndrome es s, es decir:

3. Codigos
lineales y k
funciones S(0 0 s) = s.
sndrome.

4. Distancia y
peso de un

codigo.

5. Descodifi-

cacion
Definicion:

Metodo de
por
descodificacion
distancia mnima

Metodo de

Sea C un (n, k, d)-codigo lineal y S : Znp Znk
p una
por
descodificacion
sndrome sndrome del codigo
funcion C.

Se llama tabla de sndromes del codigo C a una tabla

que empareja para cada orbita u + C su sndrome S(u) y
su lder l(u).
85

ALGEBRA

Metodo por sndrome. 7
de descodificacion
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones Sndrome Lder
codificadoras.


3. Codigos nk n
lineales y 0 0 0 0
funciones
sndrome.
nk 1
4. Distancia y 0 01
peso de un

codigo.
nk 2
5. Descodifi- 0 0 10

cacion

Metodo de
por
descodificacion
distancia mnima

Metodo de

por
descodificacion
sndrome
nk
1 1

86

ALGEBRA

Metodo por sndrome. 8
de descodificacion
JJCC

1.

Introduccion
Observaciones: Sea C un (n, k , d)-codigo
lineal.

2. Codigos
lineales y
1 La tabla de sndromes no es unica,
pues depende de la
funciones
codificadoras.
del lder de cada orbita.
eleccion

3. Codigos
lineales y 2 La tabla de sndromes se construye una sola vez y
funciones
sndrome.
tiene pnk registros (la primera columna son todos los
4. Distancia y sndromes, los elementos de Znk
p ).
peso de un

codigo.
3
El registro de la tabla correspondiente a la orbita de la
5. Descodifi- n n

cacion palabra 0 0 Zp es:

Metodo de
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
sndrome
nk
Sndrome 0 0
n
Lder 0 0

87

ALGEBRA

Metodo por sndrome. 9
de descodificacion
JJCC
DE LA TABLA DE SINDROMES
CONSTRUCCION
1.

Introduccion


2. Codigos
Sea C un (n, k , d)-codigo lineal y S : Znp Znk
p una
lineales y
funciones sndrome del codigo
funcion C.
codificadoras.


3. Codigos
lineales y I.) Una forma de construir la tabla de sndromes asociada
funciones
sndrome.
al codigo C es:
4. Distancia y
peso de un a) Elegir una palabra u Znp .

codigo.

5. Descodifi-
b) Calcular el sndrome de u, S(u).

cacion

Metodo de
por
descodificacion

c) Calcular la orbita de u, orb(u) = u + C.
distancia mnima

Metodo de
por
descodificacion
d) Obtener un lder de la orbita, l(u).
sndrome

e) Rellenar el registro correspondiente de la tabla de


sndromes.
de la tabla tomando otra
f) Continuar la construccion
n
palabra de Zp (u + C).
88

ALGEBRA

Metodo por sndrome. 10
de descodificacion
JJCC

1. DE LA TABLA DE SINDROMES
CONSTRUCCION

Introduccion


2. Codigos
lineales y
funciones
sndrome es sistematica
II.) Si la funcion
una forma mas
codificadoras. eficaz de construir la tabla de sndromes es:

3. Codigos
lineales y
funciones a) Elegir un sndrome s Znk
p y
sndrome.
k
4. Distancia y b) Construir la palabra u = 0 0 s Znp que verifica
peso de un

codigo. S(u) = s.
5. Descodifi-

cacion
c) Calcular la orbita de u, orb(u) = u + C.

Metodo de
por
descodificacion
distancia mnima
d) Obtener un lder de la orbita, l(u).

Metodo de
por
descodificacion
sndrome
e) Rellenar el registro correspondiente de la tabla de
sndromes.
de la tabla tomando otra
f) Continuar la construccion
palabra de Znk
p { s }.
89

ALGEBRA

Metodo por sndrome. 11
de descodificacion
JJCC

1. ? Ejemplo: Consideramos el codigo


lineal C Z62 cuya

Introduccion
matriz generadora es:

2. Codigos
lineales y  
funciones 1 0 1 1 0 0
codificadoras. G=

3. Codigos
0 1 0 0 1 1
lineales y
funciones
sndrome.
Se verifica que n = 6 y k = 2. Para calcular la distancia
4. Distancia y

necesitamos conocer las palabras codigo y su peso:
peso de un

codigo.
0 1 0 1
5. Descodifi-

cacion
 0 0 1 1


Metodo de

por
descodificacion 0 1 0 1 0 1 0 1
distancia mnima
Gt =

Metodo de
por
descodificacion 0 0 1 1 0 1 0 1

sndrome
0 0 1 1
0 0 1 1
C = { 000000, 101100, 010011, 111111 }

Luego la distancia del codigo es: d(C) = (C) = d = 3.
90

ALGEBRA

Metodo por sndrome. 12
de descodificacion
JJCC

1.

Introduccion
de errores del codigo
Entonces la capacidad de deteccion

2. Codigos
es: d 1 = 3 1 = 2.
lineales y
funciones de errores es:
Y la capacidad de correccion
codificadoras.
   

3. Codigos d 1 31
lineales y t= = = 1.
funciones 2 2
sndrome.

4. Distancia y
peso de un Como la matriz generadora esta en forma estandar,


codigo.
esta en forma
entonces la matriz de control tambien
5. Descodifi-

cacion
estandar:

Metodo de
por
descodificacion
distancia mnima
1 0 1 0 0 0

Metodo de
por
descodificacion
1 0 0 1 0 0
sndrome H= 0 1 0 0 1 0

0 1 0 0 0 1
El numero

de orbitas, es decir, el numero
de registros de la
tabla de sndromes es: pnk = 24 = 16.
91

ALGEBRA

Metodo por sndrome. 13
de descodificacion
JJCC

1.

Introduccion sndrome es sistematica,
Como la funcion podemos utilizar

2. Codigos
el segundo metodo a partir de cada
de construccion,
lineales y
funciones sndrome s Znk
p se pueden ir construyendo su registro:
codificadoras.


3. Codigos
lineales y s = u = 00 s Znp = orb(u) = u + C = { u + x / x C }.
funciones
sndrome.

4. Distancia y Por ejemplo, para los sndromes siguientes:


peso de un

codigo.
1) s1 = 0000 = u1 = 000000 =
5. Descodifi-

cacion

Metodo de
por
descodificacion
distancia mnima
= orb(u1 ) = { 000000, 101100, 010011, 111111 }.

Metodo de
por
descodificacion
sndrome

2) s2 = 1000 = u2 = 001000 =

= orb(u2 ) = { 001000, 100100, 011011, 110111 }.

92

ALGEBRA

Metodo por sndrome. 14
de descodificacion
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones
codificadoras.
Entonces la tabla de sndromes queda como:

3. Codigos
lineales y
funciones
sndrome.

4. Distancia y
peso de un

codigo. Sndrome 0000 1000
5. Descodifi-

cacion

Metodo de Lder 000000 001000
por
descodificacion
distancia mnima

Metodo de
por
descodificacion
sndrome

93

ALGEBRA

Metodo por sndrome. 15
de descodificacion
JJCC

Con todo lo anterior podemos describir el metodo de
1.

Introduccion
descodificacion por sndromes.

2. Codigos
lineales y Tomaremos como estimacion del vector de error e un lder
funciones
codificadoras.
de la orbita de la palabra recibida y 0 y lo denotaremos e .

3. Codigos
lineales y se supone que el canal es bueno en el sentido
Si, ademas,
funciones
sndrome.
de que la probabilidad de producirse errores es pequena
4. Distancia y e
entonces el vector de error e y su estimacion coinciden
peso de un

codigo. con probabilidad alta.
5. Descodifi-

cacion Como y = y 0 e, para lograr la descodificacion
de y 0

Metodo de
por
descodificacion e
utilizaremos la estimacion que coincide con el lder de la
distancia mnima

Metodo de
por
descodificacion

orbita de y 0 y luego tomaremos
sndrome

y = y 0 e
.
Entonces, la palabra obtenida y es una de las palabras del

codigo C mas proximas
a y 0 (igual que en el metodo
de

la distancia mnima, la diferencia entre ambos metodos
94
radica en su eficiencia).

ALGEBRA

Metodo por sndrome. 16
de descodificacion
JJCC

1.
Metodo por sndromes.
de descodificacion

Introduccion


2. Codigos
Entrada: Un (n, k, d)-codigo lineal C, la tabla de
lineales y
funciones sndromes de C e y 0 la palabra recibida.
codificadoras.


3. Codigos
lineales y de y 0 (posible valor de la
Salida: y C descodificacion
funciones
sndrome. palabra enviada y C).
4. Distancia y
peso de un

codigo.

5. Descodifi-
1 Calcular el sndrome de y 0 , S(y 0 ).

cacion

Metodo de
por
descodificacion
distancia mnima 2 A partir del valor obtenido S(y 0 ) buscar en la tabla de

Metodo de
por
descodificacion
sndrome
sndromes el lider l(y 0 ) de la orbita
de y 0 .

3 el valor l(y 0 ), e
Asignar a e := l(y 0 ).

4 Devolver y := y 0 e
.
95

ALGEBRA

Metodo por sndrome. 17
de descodificacion
JJCC

1.

Introduccion


2. Codigos
lineales y
funciones Teorema:
codificadoras.  

d 1
3. Codigos
lineales y

Sea C un (n, k , d)-codigo lineal y t = .
funciones 2
sndrome.

4. Distancia y
peso de un
Si en el canal se han producido s errores, con 0 s t,

codigo.
descrita en el metodo
la descodificacion del sndrome es
5. Descodifi-

cacion correcta, es decir, la palabra y C elegida para

Metodo de
por
descodificacion descodificar y 0 coincide con la palabra enviada y ,
distancia mnima

Metodo de
por
descodificacion
sndrome
y = y 0 l(y 0 ) = y .

96

ALGEBRA

Metodo por sndrome. 18
de descodificacion
JJCC
? Ejemplo: Veamos como
se descodifica por el metodo
1. del sndrome con el ejemplo anterior.

Introduccion


2. Codigos
lineales y
a) Se enva la palabra: y = 101100 y llega: y = 100100.
funciones
codificadoras. 1) Calculamos el sndrome S(y ):


3. Codigos
lineales y
1
funciones 0 1
sndrome.
t 0 0
4. Distancia y H y0 =H 0
1 = 0 = S(y ) = 1000.
peso de un

codigo. 0 0
5. Descodifi-

cacion
0

Metodo de
por
descodificacion
distancia mnima

Metodo de
2) l(y 0 ) = 001000.
por
descodificacion
sndrome
= l(y 0 ) = 001000.
3) e
4) Se descodifica como:
y = y 0 e
= 100100 + 001000 = 101100 = y.

Se descodifica bien porque el error cometido era de 1 bit. 97



ALGEBRA

Metodo por sndrome. 19
de descodificacion
JJCC

1.
b) Se enva la palabra: y = 111111 y llega: y = 011011.

Introduccion
1) Calculamos el sndrome S(y ):

2. Codigos
lineales y
funciones 0
codificadoras. 1
1

3. Codigos
t 1 0
lineales y H y0 =H 0
0 = 0 = S(y ) = 1000.
funciones
sndrome.
1 0
4. Distancia y
peso de un 1

codigo.

5. Descodifi- 2) l(y 0 ) = 001000.



cacion

Metodo de
por
descodificacion
= l(y 0 ) = 001000.
3) e
distancia mnima

Metodo de
por
descodificacion 4) Se descodifica como:
sndrome

y = y 0 e
= 011011 + 001000 = 010011.

es erronea,
La descodificacion y = 010011 6= 111111 = y,
porque el numero
de bits cambiados, 2, excede la
de errores del codigo,
capacidad de correccion t = 1. 98

You might also like