Códigos de Hamming.pdf

Share Embed Donate


Short Description

Download Códigos de Hamming.pdf...

Description

Nombre: García García Alejandro. Códigos de Hamming. Un código de Hamming se considera un de los primeros códigos de gran complejidad y utilidad, ya que puede detectar un error, y a la vez decirnos la posición exacta en que ocurrió ese error, se considera a los códigos de Hamming como códigos sistemáticos, es decir códigos los cuales en los que las k primeras columnas de la matriz de comprobación se corresponden con la matriz identidad, esto es:

El código Hamming como código perfecto. Los códigos de Hamming tienen otra muy importante característica y esa es la de cumplir con el término de “código perfecto”, lo anterior está relacionado con la llamada cota de Hamming y los alcances que tienen los códigos para detectar y corregir errores, que se muestra a continuación. ∑( ) Se llamara un código perfecto a aquel que cumpla la siguiente condición: ∑( ) En su época los códigos de perfectos fueron muy utilizados debido a la ventajas que llegaron a proporcionar sobre otros códigos lineales, pero en la actualidad se prefiere utilizar códigos imperfectos, con capacidades correctoras y tasas que no serían alcanzables con los códigos perfectos. Creación y uso de un código de Hamming. Un código de Hamming agrega tras bits de redundancia por cada cuatro bits de datos por lo que los códigos se generan a partir de una distancia mínima de 3, ya que una distancia de 1 o 2 es inconveniente para poder generar un código para detectar un error. Es por eso que debe cumplir con las siguientes condiciones:

Dónde:

Es aquí donde podemos ver más claramente que:

A continuación describiremos el algoritmo que es usado para generación de este código. 1. Se calcula la longitud de y se construye una tabla de con todas las posibles combinaciones de unos y ceros. 2. Se cuenta el número de unos en las combinaciones. 3. Si el número de unos es cero esa se considera como la situación de no error y no se usa para enviar datos. 4. Si el número de unos es 1, se asigna como bit de paridad y se comienza a organizarlos de menor a mayor. 5. Si el número de unos es 2, estas posiciones son las destinadas para enviar los datos, si las combinaciones de 2 no son suficientes para todos los datos se pasa a las 3 y así sucesivamente. Ejemplo. Supongamos que se quieren enviar una palabra codificada en ASCII de 7 bits, para ello calculamos r.

Nuestro código Hamming será del tipo (7,4), donde 7 es el número de bits de datos y 3 es el número de bits de paridad, vemos que nuestra r cumple con las condiciones ya descritas anteriormente. Ahora construiremos el número posible de combinaciones. # bit B0

combinación # de “1” 0000 0 0

0

0

0

B1 B2 B3 B4

0001 0010 0011 0100

0 0 0 1

0 1 1 0

1 0 1 0

1 1 2 1

0 0 0 0

Correspondencia. Situación de no error. Bit de paridad 1 Bit de paridad 2 Bit de dato 1 Bit de paridad 3

B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15

0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

2 2 3 1 2 2 3 2 3 3 4

0 0 0 1 1 1 1 1 1 1 1

1 1 1 0 0 0 0 1 1 1 1

0 1 1 0 0 1 0 0 0 1 1

1 0 1 0 1 0 1 0 1 0 1

Bit de dato 2 Bit de dato 3 Bit de dato 4 Bit de paridad 4 Bit de dato 5 Bit de dato 6 Bit de dato 7 No se usa. No se usa No se usa No se usa

Supongamos que deseamos codificar el dato 0110101. Hacemos un arreglo de las posiciones y la correspondencia, a continuación buscamos en que parte de los arreglos además del propio, donde aparece el bit de paridad, y aplicamos la operación XOR. De lo anterior tenemos:

Ahora procedemos a formar un nuevo arreglo. Donde P son los bits de paridad y D los bits de dato. B1 P1 Palabra sin codificar P1 1 P2 P3 P4

B2 P2

0

B3 D1 0

B4 P3

0 0

B5 D2 1

B6 D3 1

B7 D4 0

1 1

0 0 0

1 0

1

B8 P4

B9 D5 1

B10 D6 0

B11 D7 1

0

1 1

0

1

1

0

Los bits de paridad B1, B2, B4, B8 se determinan de la siguiente manera:

1

Al terminar lo anterior y ya que se terminaron los bits de paridad solo se forma la palabra codificada, la cual será: 1001100101. Lo anterior no permite formular la generación de una matriz de verificación de paridad para los códigos de Hamming siguiendo esta sencilla regla: se deja la matriz identidad hasta el último y se incluyen los números de uno a (exceptuando los que ya están en la matriz identidad) en las demás posiciones. Para el ejemplo anterior podemos generar la matriz H de la siguiente manera: (

)

La detección de errores se puede realizar por medio de detección por síndrome a partir de la obtención de la matriz H.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF