-->

Actividad práctica: Codificación y Detección de Errores (Código Hamming)

Cómo Calcular y Resolver el Código Hamming(7,4)

El algoritmo de Hamming(7,4) nos permite enviar un bloque de 4 bits de datos añadiendo 3 bits de paridad (o control). Gracias a esta estructura, el receptor no solo detecta si un bit se ha alterado por ruido en la red, sino que localiza la posición exacta del error y lo corrige automáticamente.

1. Estructura de la Trama y Posiciones

La trama final consta de 7 bits. La regla fundamental es que los bits de paridad (P) siempre se ubican en las posiciones que son potencias de 2 (1, 2 y 4). Los bits de datos (D) ocupan los huecos restantes (3, 5, 6 y 7):

Posición decimal 1 2 3 4 5 6 7
Posición binaria 001 010 011 100 101 110 111
Tipo de bit P1 P2 D1 P3 D2 D3 D4

2. Cobertura de los Bits de Paridad

Para saber qué bits de datos controla cada bit de paridad, nos fijamos en la representación binaria de cada posición:

  • P1 (Posición 1 = 001): Controla las posiciones con un 1 en el bit menos significativo (extremo derecho) → Posiciones 1, 3, 5 y 7 (P1, D1, D2, D4).
  • P2 (Posición 2 = 010): Controla las posiciones con un 1 en la posición central → Posiciones 2, 3, 6 y 7 (P2, D1, D3, D4).
  • P3 (Posición 4 = 100): Controla las posiciones con un 1 en el bit más significativo (extremo izquierdo) → Posiciones 4, 5, 6 y 7 (P3, D2, D3, D4).

3. Ejemplo Paso a Paso: Codificación en Emisión

Supongamos que queremos transmitir la palabra de datos D = 1 0 1 1 (donde D1=1, D2=0, D3=1, D4=1) utilizando paridad par (la cantidad total de "unos" en cada grupo debe ser un número par).

Paso A: Colocamos los datos en las posiciones correspondientes:

  • Posición 3 (D1) = 1
  • Posición 5 (D2) = 0
  • Posición 6 (D3) = 1
  • Posición 7 (D4) = 1
Posición decimal 1 2 3 4 5 6 7
Tipo de bit P1 P2 1 P3 0 1 1

Paso B: Calculamos el valor de cada paridad:

  • Cálculo de P1 (revisa posiciones 1, 3, 5, 7 → P1, 1, 0, 1): Hay dos "unos" en los datos. Como 2 ya es un número par, no necesitamos añadir más unos → P1 = 0.
  • Cálculo de P2 (revisa posiciones 2, 3, 6, 7 → P2, 1, 1, 1): Hay tres "unos" en los datos (impar). Para obtener una suma par (4 unos), necesitamos añadir un uno → P2 = 1.
  • Cálculo de P3 (revisa posiciones 4, 5, 6, 7 → P3, 0, 1, 1): Hay dos "unos" en los datos. Como la suma ya es par, asignamos un cero → P3 = 0.

Trama final a transmitir (7 bits): 0 1 1 0 0 1 1

4. Ejemplo Paso a Paso: Detección y Corrección en Recepción

Imaginemos que debido al ruido en la línea, el receptor obtiene la secuencia 0 1 1 0 0 0 1 (observa que el bit en la posición 6 ha cambiado de 1 a 0).

El receptor realiza la comprobación recalculando las paridades ($C_1, C_2, C_3$):

  • C1 (Comprueba 1, 3, 5, 7 → 0, 1, 0, 1): Suma = 2 unos (Par). Paridad correcta → C1 = 0 (OK).
  • C2 (Comprueba 2, 3, 6, 7 → 1, 1, 0, 1): Suma = 3 unos (Impar). Fallo detectado → C2 = 1 (ERROR).
  • C3 (Comprueba 4, 5, 6, 7 → 0, 0, 0, 1): Suma = 1 uno (Impar). Fallo detectado → C3 = 1 (ERROR).

El Síndrome de Error:
Si colocamos los resultados de la comprobación en orden inverso (de mayor a menor posición: C3 C2 C1), obtenemos el número binario:
1 1 02 = 610
El resultado indica exactamente que el fallo ha ocurrido en el bit número 6. El equipo únicamente invierte el valor de ese bit (de 0 a 1) y recupera la trama limpia original sin solicitar retransmisión.

Ficha de Taller: Codificación y Detección de Errores (Código Hamming)

Instrucciones de entrega:

  1. Rellena los campos y responde directamente desde tu navegador.
  2. Pulsa el botón de imprimir al final de la página.
  3. Selecciona "Guardar como PDF" en el diálogo de impresión.
  4. Entrega la ficha en el aula virtual.

Alumno/a:      Fecha:
Grupo:


Objetivos de la práctica

  • Calcular manualmente los bits de paridad para codificar un mensaje en Hamming(7,4).
  • Simular el paso de una trama binaria a través de un canal con ruido electromagnético.
  • Detectar y ubicar la posición exacta de un bit invertido utilizando el síndrome de error.
  • Corregir el error en recepción y reconstruir el dato original sin retransmisión.

1. Escenario Técnico: Transmisión con Ruido en Red

"Un emisor necesita enviar la trama de datos de 4 bits 1101 mediante el código Hamming(7,4) usando paridad par. Durante la transmisión por el cable de red, una interferencia electromagnética altera el valor de uno de los bits transmitidos. Tu labor como técnico es generar la trama correcta, analizar la trama alterada recibida, encontrar la posición del fallo y reparar el dato."

2. Fase de Codificación (Emisor)

Genera el mensaje codificado de 7 bits para la palabra de datos D = 1101 ($D_1=1, D_2=1, D_3=0, D_4=1$) calculando los bits de paridad par ($P_1, P_2, P_3$).

  1. Cálculo de los bits de paridad par:
    Detalla el cálculo para cada bit de control indicando cuántos "unos" hay y el valor resultante ($0$ o $1$):
    • P1 (posiciones 1, 3, 5, 7): Controla a D1, D2, D4.
    • P2 (posiciones 2, 3, 6, 7): Controla a D1, D3, D4.
    • P3 (posiciones 4, 5, 6, 7): Controla a D2, D3, D4.
  2. Trama final transmitida (7 bits):
    Escribe la secuencia de 7 bits ordenada desde la posición 1 ($P_1$) a la 7 ($D_4$):

3. Fase de Recepción y Detección del Error

El receptor ha obtenido la siguiente trama defectuosa a través de la red: 1 0 1 0 1 0 1

Realiza las comprobaciones de paridad en recepción ($C_1, C_2, C_3$) para localizar el bit alterado por la interferencia:

4. Diagnóstico y Corrección Automática

Calcula el síndrome de error uniendo los bits de comprobación en orden inverso $C_3 C_2 C_1$ y determina el fallo.

Síndrome en binario (C3 C2 C1): Posición del error (Decimal):

Explicación de la reparación realizada en la trama:

5. Lista de Verificación Conceptual (Checklist)

Antes de dar por finalizada la ficha técnica, confirma que has comprendido las reglas del código Hamming:

6. Conclusión y observaciones