En la teoría de la codificación , Hamming(7,4) es un código de corrección de errores lineal que codifica cuatro bits de datos en siete bits mediante la adición de tres bits de paridad . Es un miembro de una familia más grande de códigos Hamming , pero el término código Hamming a menudo se refiere a este código específico que Richard W. Hamming introdujo en 1950. En ese momento, Hamming trabajaba en Bell Telephone Laboratories y estaba frustrado con el código propenso a errores. lector de tarjetas perforadas , razón por la cual comenzó a trabajar en códigos de corrección de errores. [1]
El código Hamming agrega tres bits de verificación adicionales a cada cuatro bits de datos del mensaje. El algoritmo de Hamming (7,4) puede corregir cualquier error de un solo bit o detectar todos los errores de un solo bit y de dos bits. En otras palabras, la distancia mínima de Hamming entre dos palabras de código correctas es 3, y las palabras recibidas pueden decodificarse correctamente si están a una distancia máxima de uno de la palabra de código que fue transmitida por el remitente. Esto significa que para situaciones de medios de transmisión donde no ocurren errores de ráfaga , el código de Hamming (7,4) es efectivo (ya que el medio tendría que ser extremadamente ruidoso para que dos de los siete bits se voltearan).
En información cuántica , el Hamming (7,4) se utiliza como base para el código Steane , un tipo de código CSS utilizado para la corrección de errores cuánticos .
El objetivo de los códigos de Hamming es crear un conjunto de bits de paridad que se superpongan para que se pueda detectar y corregir un error de un solo bit en un bit de datos o un bit de paridad. Si bien se pueden crear superposiciones múltiples, el método general se presenta en los códigos de Hamming .
Esta tabla describe qué bits de paridad cubren qué bits transmitidos en la palabra codificada. Por ejemplo, p 2 proporciona una paridad par para los bits 2, 3, 6 y 7. También detalla qué bit transmitido está cubierto por qué bit de paridad al leer la columna. Por ejemplo, d 1 está cubierto por p 1 y p 2 pero no por p 3. Esta tabla tendrá un parecido sorprendente con la matriz de comprobación de paridad ( H ) de la siguiente sección.
Por lo tanto, al seleccionar correctamente la cobertura de bits de paridad, todos los errores con una distancia de Hamming de 1 pueden detectarse y corregirse, que es el punto de usar un código de Hamming.