You are on page 1of 13

UNIVERSIDAD DON BOSCO

FACULTAD DE INGENIERA
Escuela de Electrnica
Ciclo 02 2013



Ctedra:Teora de la informacin

Docente:Ing. Ricardo Marcel Martnez

Cdigo de Golay

Elaborado por:
o Caldern Quijano, Lisandro Ernesto CQ110242
o De Paz Muoz, Karen Yesenia DM110334
o Flores Villalobos, Douglas Alonso FV110209
o Hernndez Palacios, Tania del Carmen HP110134



Ciudadela Don Bosco, mircoles 2 de septiembre de 2013
Diferencias, ventajas y desventajas
Algunas diferencias entre el cdigo lineal de bloques y el cdigo de Golay son:
El cdigo lineal de bloques permite la transmisin de una cantidad de bits variada, es decir,
dependiendo del nmero de bits de informacin que se quiere enviar, as ser el cdigo
definido. Mientras que, el cdigo binario de Golay est definido nicamente para la
transmisin de 12 bits de informacin.
El nmero de mensajes transmitido por cdigos lineales de bloque est definido por

, donde
k es el nmero de bits de informacin; mientras que en el cdigo de Golay, la cantidad de
mensajes est limitada a

mensajes.
En el cdigo lineal de bloques la distancia de Hamming mnima entre dos palabras de cdigo
es la cantidad de unos que resulta de sumar cualesquiera dos palabras cdigo no iguales a cero,
en cambio en cdigo de Golay la distancia mnima es 8.
El nmero de errores que puede corregir el cdigo lineal est dado por el numero entero
positivo t que cumpla con ; mientras que el cdigo de Golay, est
limitado a corregir tres errores como mximo.
Todas las palabras cdigo provenientes del cdigo de Golay tienen un peso de 0, 8, 12, 16 o
24; mientras que las palabras del cdigo lineal poseen pesos variados, sin ninguna restriccin.
El proceso de decodificacin del cdigo de Golay se realiza con ms rapidez que la
decodificacin del cdigo lineal de bloques.
Las ventajas que presenta el cdigo de Golay son:
El cdigo G
24
permite recuperar una palabra cdigo completa y con exactitud, siempre y
cuando no se hayan cometido ms de tres errores.
Permite una mayor velocidad de decodificacin de datos.
El cdigo binario de Golay da lugar a la deteccin de sietes errores y la correccin de tres
de los errores detectados.
La codificacin es relativamente facil
Las desventajas del cdigo de Golay son:
Al extender el cdigo

al

, se pierden las caractersticas de un cdigo perfecto.


El cdigo binario de Golay solo permite la transmisin de 12 bits de informacin.
Este tipo de cdigo solo permite transmitir

mensajes.
La mxima cantidad de errores que puede corregir este tipo de cdigo es tres.
No puede detectar errores de mas de 4bits

El cdigo (24,12) de Golay.
El cdigo de Golay es el cdigo ms ampliamente estudiado, sus campos de aplicacin son muy
importantes, entre ellos se encuentra desde el programa espacial de Estados Unidos en donde este
cdigo ha sido utilizado en muchos sistemas de comunicacin real para el control de errores, hasta
como sistema de control de error en imgenes a color enviadas desde jpiter y Saturno. De manera
que se puede inferir (como una primera aproximacin) que este cdigo es utilizado tanto para
deteccin como para correccin de errores.

Cdigos de Golay binarios
Este cdigo posee una distancia mnima de 7 capaz de corregir cualquier combinacin de 3 o menos
errores aleatorios en un bloque de 23 dgitos. Este cdigo puede ser extendido en su totalidad para
agregar los bits de verificacin de paridad para cada palabra cdigo, cuya extensin resulta en un
cdigo (24,12) con una distancia mnima de 8, este cdigo es capaz de corregir todos los patrones
de error de 3 o menos errores y de detectar todos los patrones de error de 4.

Ahora se dar a conocer una matriz generadora en forma sistemtica que contiene (12, 23,23)

:



Donde I
12
es una matriz identidad de dimensiones 12*12 teniendo como P la matriz que deber
poseer las siguientes propiedades:
Es simtrica con respecto a la diagonal
La i-esima columna se transpone en la i-esima fila
El producto de la matriz con su transpuesta en la matriz identidad P.P
T
= I
12

La sub-matriz obtenida por la eliminacin de la ltima fila y la ltima columna es formada
por un desplazamiento cclico de la primera fila en 11 desplazamientos a la izquierda ( o
desplazamientos cclicos de la primera columna en 11 desplazamiento hacia arriba),
cumpliendo de esta manera la segunda propiedad que P
T
=P

Un algoritmo de decodificacin simple para el cdigo (24,12) de Golay puede ser ideado
usando las propiedades de la matriz P. Para 0 i 11, suponiendo que p
i
es la i-esima fila
de P y u
(i)
un conjunto de 12 elementos que solo la i-esima componente es 1. Por ejemplo

u
(5)
= (0 0 0 0 0 1 0 0 0 0 0 0).

Facilmente se ve que p
i=
u
(i)
.P .
Ahora haciendo e= (x,y) un vector de error, donde x y y son un conjunto binario de 12
elementos, suponiendo que una palabra cdigo es transmitida (v: palabra cdigo
transmitida) y ocurre correctamente un patrn de error e = (x,y). Entonces el vector recibido
es r=v+e. El sndrome para r es:

( )


En consecuencia, se muestra primero que el patrn de error corregible para el cdigo golay
(24,12) puede ser expresado correctamente en trminos de P, p
i
,u
(i)
y s. Tal que se presenta
algoritmo de decodificacin para este cdigo.
Para muchos patrones de error corregibles con un peso (cantidad de errores) (e) 3, se
tienen las siguientes 4 posibilidades
(1) (x) 3 y (y)=0
(2) (x) 2 y (y)=1
(3) (x) 1 y (y)=2
(4) (x) 0 y (y)=3


Finalmente: El algoritmo de decodificacin puede ser ideado para el cdigo extendido de
golay (24,12) basados en los procedimientos del anlisis y las expresiones para la
correccin de los patrones de error. La codificacin consiste en los siguientes pasos
Paso 1: Calcular el sndrome (s) de la secuencia recibida (r)
Paso 2: Si (s)3, entonces e=(s,0) e ir al paso 8
Paso 3: si (s+p
i
)2 para alguna de las filas p
i
en P, entonces e=(s+p
i
, u
(i)
) e ir al paso 8
Paso 4: Calcular s.P
Paso 5: si (s.P)=2 o 3, entonces e=(0,s,P) e ir al paso 8
Paso 6: si (s.P+p
i
) = 2 para algunos de las filas de p
i
en P, entonces e=(u
(i)
, s.P+p
i
,) e ir al
paso 8
Paso 7: Si el sndrome no corresponde a las correcciones para los patrones de error, el
proceso de decodificacin se detiene, o se solicita una retransmisin (Esto representa que la
decodificacin fall)
Paso 8: Definir el cdigo de palabra decodificada a partir de v*=r+e

Generacin de las matrices P, G y H
Generacin de la matriz P
Para generar la matriz P se debe tomar en cuenta que debe poder contar con las siguientes
propiedades:
Es simtrica con respecto a la diagonal.
Debe ser auto-dual siendo (P
T
=P), para lo cual la i-sima columna se transpone en la i-
sima fila.
El producto de la matriz con su transpuesta es la matriz identidad (P.P
T
= I
12
).
La sub-matriz obtenida por la eliminacin de la ltima fila y la ltima columna es formada
por un desplazamiento cclico de la primera fila en 11 desplazamientos a la izquierda (o
desplazamientos cclicos de la primera columna en 11 desplazamiento hacia arriba),
cumpliendo de esta manera la segunda propiedad que P
T
=P.
La generacin de esta matriz se realiza los siguientes pasos:
1. Se Genera una sub-matriz de 11 x 11.
2. se coloca en la primera fila o columna, la siguiente secuencia [1 0 0 0 1 1 1 0 1 1 0].
3. Se realiza un desplazamiento cclico hacia la izquierda, si la secuencia fue colocada en la
primera fila, o un desplazamiento cclico hacia arriba, si la secuencia fue colocada en la
primera columna.
4. se crea la ltima fila y columna compuesta por unos, exceptuando el ltimo elemento que es
0.
Demostracin de cmo se genera la matriz P
Paso 1: Generando una sub-matriz de 11x11.

[


Paso 2: Se coloca la secuencia [1 0 0 0 1 1 1 0 1 1 0] en la primera fila.

[


Paso 3: Se desplaza la secuencia de la fila hacia la izquierda en la nueva fila, hasta completar la sub-
matriz.


[



Paso 4: Se crea la ltima fila y columna compuesta por unos, exceptuando el ltimo elemento que
es 0.


[


Nota: como se puede observar la matriz cumples con las propiedades antes propuestas, siendo
simtrica con la diagonal y al ser simtrica por la diagonal tambin su transpuesta es igual y se
obtiene a partir de desplazamientos cclicos.

Generacin de la matriz G
La matriz G se obtiene a partir de la siguiente forma G = [P|I], donde I es una matriz identidad 12 x
12.
Siendo as:

[

















































|
|
|
|
















































]



Generacin de la matriz H
La matriz H se obtiene a partir de la siguiente forma H = [I|P
T
] = [I|P], donde I es una matriz
identidad 12 x 12.
Siendo as:



[

















































|
|
|
|
















































]



Codificacin y decodificacin con deteccin y correccin de errores
Codificacin
Para poder realizar una codificacin con G
24
, lo que se realiza es la suma combinada del producto
del mensaje con la matriz generadora (G), C=v.G; para lo cual se deben seguir los siguientes pasos.

1) Cada i-simo elemento del mensaje se multiplica por la i-sima fila correspondiente de G
2) Se suma cada producto de las i-sima filas resultantes, realizando la suma sin acarreo
3) La sumatoria resultante es nuestra palabra cdigo C

Decodificacin con deteccin y correccin de errores

Debido al ruido que se puede encontrar C en el canal, puede sufrir cambio siendo modificados
algunos de sus bits, para lo cual se necesita realizar operaciones que permitan detectar y de ser
posible corregir errores, para lograr correctamente la decodificacin.

Para poder realizar la decodificacin se toma en cuenta que C=v*=r + e, donde r es el cdigo
recibido y e es el error detectado; y, se debe de seguir los siguientes pasos:

1. Calcular el sndrome (s) de la secuencia recibida (r); siendo s=r.H
T
, donde la operacin .
Es la suma combinadas de productos que se realiza en el proceso de codificacin.
2. Si (s)3, entonces e=(s,0) e ir al paso 8.
3. si (s+p
i
)2 para alguna de las filas p
i
en P, entonces e=(s+p
i
, u
(i)
) e ir al paso 8.
4. Calcular s.P.
5. Si (s.P)=2 o 3, entonces e=(0,s,P) e ir al paso 8.
6. Si (s.P+p
i
) = 2 para algunos de las filas de p
i
en P, entonces e=(u
(i)
, s.P+p
i
,) e ir al paso 8.
7. Si el sndrome no corresponde a las correcciones para los patrones de error, el proceso de
decodificacin se detiene, o se solicita una retransmisin (Esto representa que la
decodificacin fall).
8. Definir el cdigo de palabra decodificada a partir de v*=r+e.

Ejemplo Y Ejercicio de Codificacin y decodificacin
Ejemplo
Demostracin de la utilizacin del G24, como control de error (siguiendo el ejemplo 4.7); v = [1 1
0 0 0 0 0 0 0 0 0 0] es la secuencia del mensaje enviado y r = [1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0
0 0 0 1] es la secuencia recibida.
Para poder demostrar el control del error, primero es necesario determinar la secuencia C que ha
sido enviada a travs del canal.
Paso 1: Multiplicacin de cada i-simo elemento del mensaje por la i-sima fila correspondiente de
G












[

















































|
|
|
|
















































]

















































|
|
|
|
















































]



Paso 2: Sumando cada fila

















































|
|
|
|
















































]



Paso 3: Por tanto, C = [1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0]

Ahora se procede a verificar el control de errores.
Paso 1: Se Calcula el sndrome
S=r.H
T


























[

































































































|
|
|
|
|
|
|
]



Paso 2: (s)=9, como (s)>3, se procede a determinar (s+p
i
)
Paso 3: Determinando (s+p
i
)
1) Determinando s+pi



[



Los pesos de s+pi, 0i11, son: 4,8 6,6,4,8,8,6,6,6,6,2
Como se puede observar (s+p
11
)= 2; por tanto, e=(s+p
11
, u
(11)
) y se procede al procedimiento del
paso 8
Si u
(11)
)=[0 0 0 0 0 0 0 0 0 0 0 1]
e = [ 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 ]
Paso 4: Se procede a determinar v*, procedimiento del paso 8, v*= r + e



Si, C = [1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0] se observa claramente que la deteccin y
correccin del error ha tenido un excelente resultado, demostrando que se puede corregir hasta 3
errores.

Ejercicio
Se est utilizando G
24
como detector de errores, decodificar la siguiente secuencia recibida [0 1 0 0
0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1]
Paso 1: Se Calcula el sndrome
S=r.H
T



























[

































































































|
|
|
|
|
|
|
]



Paso 2: (s)=1, como (s)<3, e=(s,0)

e=[0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0]

Paso 3: Se procede a determinar v*, procedimiento del paso 8, v*= r + e





Bibliografia:
[1] http://www.uam.es/personal_pdi/ciencias/gallardo/codigos.pdf

You might also like