grupo 5 - codigo golay -revisado

13
UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERÍA Escuela de Electrónica Ciclo 02 2013 Cátedra:Teoría de la información Docente:Ing. Ricardo Marcel Martínez Código de GolayElaborado por: o Calderón Quijano, Lisandro Ernesto CQ110242 o De Paz Muñoz, Karen Yesenia DM110334 o Flores Villalobos, Douglas Alonso FV110209 o Hernández Palacios, Tania del Carmen HP110134 Ciudadela Don Bosco, miércoles 2 de septiembre de 2013

Upload: douglas-flores

Post on 24-Nov-2015

143 views

Category:

Documents


9 download

TRANSCRIPT

  • 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 G24permite 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.

    Ing. MartnezHighlight

  • 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 I12 es una matriz identidad de dimensiones 12*12 teniendo como P la matriz que deber

    poseer las siguientes propiedades:

    Ing. MartnezHighlight

    Ing. MartnezSticky NoteLa ventaja y la desventaja son las mismas? p.e. Ventaja: puede corregir tres errores. Desventaja: solo puede corregir 3 errores...

  • 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.PT = I12

    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 PT=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 pi 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 pi= 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, pi,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+pi)2 para alguna de las filas pi en P, entonces e=(s+pi, 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+pi) = 2 para algunos de las filas de pi en P, entonces e=(u(i)

    , s.P+pi,) 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 (PT=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.PT = I12). 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 PT=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 G24, 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.HT, 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+pi)2 para alguna de las filas pi en P, entonces e=(s+pi, 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+pi) = 2 para algunos de las filas de pi en P, entonces e=(u(i)

    , s.P+pi,) 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.HT

  • [

    |

    |

    |

    |

    |

    |

    |

    ]

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

    Paso 3: Determinando (s+pi)

    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+p11)= 2; por tanto, e=(s+p11, 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 G24 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.HT

  • [

    |

    |

    |

    |

    |

    |

    |

    ]

    Paso 2: (s)=1, como (s)