codificar | decodificar | comprimir

> hamming | (7,4) | ecc <

// Código Hamming: código de corrección de errores para una transmisión fiable de datos

[CORRECCIÓN]

Corrección de errores

Detecta y corrige automáticamente errores de un solo bit en los datos.

[DETECCIÓN]

Detección de errores dobles

Puede detectar (pero no corregir) errores de dos bits en cada bloque.

[EFICIENTE]

Sobrecarga mínima

Solo 3 bits de paridad por cada 4 bits de datos (75 % de eficiencia).

>> información técnica

Cómo funciona el código Hamming:

El código Hamming(7,4) añade 3 bits de paridad a cada 4 bits de datos para crear bloques de 7 bits. Los bits de paridad se colocan en posiciones que son potencias de 2 (1, 2, 4). Cuando se producen errores, el síndrome (resultado de la comprobación de paridad) indica directamente la posición del bit erróneo.

Estructura Hamming(7,4):

Datos: 1011 (4 bits) Posiciones: P1 P2 D1 P3 D2 D3 D4 Hamming: 1 0 1 1 0 1 1 P1 = D1 ⊕ D2 ⊕ D4 = 1 ⊕ 0 ⊕ 1 = 0 P2 = D1 ⊕ D3 ⊕ D4 = 1 ⊕ 1 ⊕ 1 = 1 P3 = D2 ⊕ D3 ⊕ D4 = 0 ⊕ 1 ⊕ 1 = 0

Por qué usar código Hamming:

  • >Corrección de errores en memoria
  • >Comunicación por satélite
  • >Sistemas de almacenamiento de datos
  • >Transmisión en redes
  • >Arreglos RAID

>> preguntas frecuentes

¿Qué es el código Hamming?

El código Hamming es un código de corrección de errores inventado por Richard Hamming en 1950. Añade bits de paridad a los datos para permitir la detección y corrección automática de errores de un solo bit.

¿Qué significa (7,4)?

Hamming(7,4) significa 7 bits en total: 4 bits de datos y 3 bits de paridad. Puede corregir cualquier error de un solo bit en el bloque de 7 bits. Otras variantes incluyen (15,11) y (31,26).

¿Cómo funciona la corrección de errores?

Al recibir los datos, los bits de paridad se recalculan. Si no coinciden, el síndrome (la diferencia) indica directamente qué bit es incorrecto. El error se corrige invirtiendo ese bit.

¿Hamming frente a otros códigos ECC?

El código Hamming es sencillo y eficiente para errores de un solo bit. Códigos más complejos como Reed-Solomon pueden corregir múltiples errores, pero con mayor sobrecarga. Hamming es perfecto para canales con poco ruido.

// Referencia rápida

Posbitcovered by
1p1p1
2p2p2
3d1p1 p2
4p3p3
5d2p1 p3
6d3p2 p3
7d4p1 p2 p3

// Ejemplo resuelto

Data 1011 -> positions 3,5,6,7 = 1,0,1,1
p1 = d3^d5^d7 = 1^0^1 = 0     p2 = d3^d6^d7 = 1^1^1 = 1     p3 = d5^d6^d7 = 0^1^1 = 0
Codeword (pos 1..7)  0110011
Received 0110111 (bit 5 flipped)
Syndrome s3 s2 s1 = 1 0 1 = 5   ->  flip bit 5  ->  0110011 corrected

>> Más preguntas

P: ¿Qué significa (7,4) en el código Hamming?

R: 4 bits de datos se completan con 3 bits de paridad para formar una palabra de 7 bits. Los bits de paridad están en las posiciones potencia de 2: 1, 2 y 4. La distancia mínima es 3: corrige un error y detecta dos, pero no los corrige.

P: ¿Cómo indica el síndrome la posición del error?

R: Cada bit de paridad comprueba las posiciones cuyo número tiene activado el bit correspondiente. Los tres resultados forman en binario la posición del bit erróneo (0 = sin error). En el ejemplo, 101 señala la posición 5.

P: ¿Qué es el Hamming extendido (SECDED)?

R: Un bit de paridad global convierte el (7,4) en (8,4): corrige 1 error y detecta 2. La memoria ECC aplica el mismo principio, normalmente como (72,64) con 8 bits de control para 64 de datos.

Otros idiomas