Código de Hamming

El código Hamming es un conjunto de códigos de corrección de errores que se pueden utilizar para detectar y corregir errores de bits que pueden ocurrir cuando se mueven o almacenan datos de computadora. El código de Hamming lleva el nombre de RW Hamming de Bell Labs.

Al igual que otros códigos de corrección de errores, el código de Hamming hace uso del concepto de paridad y bit s de paridad, que son bits que se agregan a los datos para que la validez de los datos se pueda verificar cuando se leen o después de que se han recibido en una transmisión de datos. Al utilizar más de un bit de paridad, un código de corrección de errores no solo puede identificar un error de un solo bit en la unidad de datos, sino también su ubicación en la unidad de datos.

En la transmisión de datos, la capacidad de una estación receptora para corregir errores en los datos recibidos se denomina corrección de errores hacia adelante (FEC) y puede aumentar el rendimiento en un enlace de datos cuando hay mucho ruido presente. Para habilitar esto, una estación transmisora ​​debe agregar datos adicionales (llamados bits de corrección de errores ) a la transmisión. Sin embargo, es posible que la corrección no siempre represente un ahorro de costos sobre el simple reenvío de la información. Los códigos Hamming hacen que FEC sea menos costoso de implementar mediante el uso de un paridad de bloque mecanismo.

Calcular la paridad implica contar el número de unos en una unidad de datos y agregar un cero o uno (llamado bit de paridad ) para hacer que la cuenta sea impar (para paridad impar) o par (para paridad par). Por ejemplo, 1001 es una unidad de datos de 4 bits que contiene dos bits uno; como es un número par, se agregaría un cero para mantener la paridad par o, si se mantuviera la paridad impar, se agregaría otro. Para calcular la paridad par, se utiliza el operador XOR; para calcular la paridad impar, se utiliza el operador XNOR. Los errores de un solo bit se detectan cuando el recuento de paridad indica que el número de unos es incorrecto, lo que indica que un bit de datos ha sido invertido por ruido en la línea. Los códigos de Hamming detectan errores de dos bits mediante el uso de más de un bit de paridad, cada uno de los cuales se calcula en diferentes combinaciones de bits en los datos. El número de bits de paridad necesarios depende del número de bits en la transmisión de datos y se calcula mediante la regla de Hamming:

p
d + p + 1 <= 2 (1)

Dónde d es el número de bits de datos y p es el número de bits de paridad. El total de los dos se denomina palabra de código Hamming, que se genera multiplicando los bits de datos por una matriz generadora.