Código Hamming: ¿Qué es? (Fórmula y explicación)

Se el primero en calificar

Ultima edición el 16 septiembre, 2021 por JORGE CABRERA BERRÍOS

¿Qué es el código Hamming?

Hemos visto, en el caso de los códigos de detección y corrección de errores descritos anteriormente, cómo un aumento en el número de bits redundantes agregados a los bits de mensaje puede mejorar la capacidad del código para detectar y corregir errores. Si tenemos un número suficiente de bits redundantes, y si estos bits se pueden organizar de manera que diferentes bits de error produzcan diferentes resultados de error, entonces debería ser posible no solo detectar el bit de error sino también identificar su ubicación.

En realidad, la adición de bits que son redundantes altera el parámetro de código de «distancia», que conocemos como la distancia de Hamming . Ahora necesitamos saber qué es la distancia de martillo, no es más que la diferencia en el número de bits entre dos palabras de código que estamos comprobando.

Podemos explicarlo con un ejemplo, como la adición de paridad de un solo bit da como resultado un código con una distancia de Hamming de al menos y la distancia de Hamming más pequeña en el caso de un código de repetición triple sería Hamming notado que un aumento en la distancia mejora la capacidad del código para detectar y corregir errores, lo cual es muy deseable.

Por lo tanto, el código de Hamming fue un intento de aumentar la distancia de Hamming y, al mismo tiempo, tener la información más alta posible a una tasa de rendimiento.

El algoritmo para escribir el código Hamming generalizado es el siguiente:

  1. La forma generalizada del código es P1P2D1P3D2D3D4P4D5D6D7D8D9D10D11P5, donde P y D representan respectivamente la paridad y los bits de datos.
  2. Podemos ver en la forma generalizada del código que todas las posiciones de bit que son potencias de 2 (posiciones 1, 2, 4, 8, 16) se utilizan como bits de paridad.
  3. Todas las demás posiciones de bits (posiciones 3, 5, 6, 7, 9, 10, 11) se utilizan para codificar datos.
  4. Se asigna un grupo de bits de los bits de datos en la palabra de código a cada bit de paridad, y el valor del bit de paridad que es 0 o 1 se usa para darle cierta paridad para que la operación sea fluida.
  5. Los grupos se forman verificando primero N – 1 bits y luego, alternativamente, saltando y verificando N bits después del bit de paridad. Aquí, N es la posición del bit de paridad; 1 para P1, 2 para P2, 4 para P3, 8 para P4 y así sucesivamente. Por ejemplo, para la forma generalizada de código dada anteriormente, varios grupos de bits formados con diferentes bits de paridad serían P1D1D2D4D5, P2D1D3D4D6D7, P3D2D3D4D8D9, P4D5D6D7D8D9 D10D11 y así sucesivamente. Para ilustrar más la formación de grupos, examinemos el grupo correspondiente al bit de paridad P3. Ahora, la posición de P3 está en el número 4. Para formar el grupo, verificamos los primeros tres bits (N – 1 = 3) y luego lo seguimos omitiendo y verificando cuatro bits (N = 4) alternativamente.

Hemos hablado mucho sobre los códigos de Hamming y ahora podemos concluir que estos códigos son capaces de corregir errores de un solo bit en mensajes de cualquier longitud. Aunque este código puede detectar errores de dos bits, no podemos obtener las ubicaciones de los errores.

Sin embargo, el número de bits de paridad necesarios para transmitir junto con el mensaje depende de la longitud del mensaje, como se muestra arriba. El número de bits de paridad necesarios para codificar los bits del mensaje es el número entero más pequeño que cumple la condición (2 n – n)> m.

JORGE CABRERA BERRÍOS Administrator
Ingeniero Electrónico por la UNI, con maestría y doctorado por la University of Electro-Communications (Japón).

Deja un comentario

Hay muchos esquemas de sistemas de bus eléctrico diferentes disponibles, pero la selección de un esquema particular depende del voltaje…