Técnicas de corrección de errores
Por operador humano
Si los mensajes transmitidos son únicamente textos, puede resultar más económico y fácil que un operador humano reciba e interprete el mensaje y de ser necesario lo corrija usando su propio criterio. Algunos sistemas que aplican verificación por paridad cambian automáticamente los caracteres con error de paridad por el símbolo ? para que el operador humano pueda identificarlos y corregirlos. Por ejemplo, trate de encontrar el correcto significado del siguiente texto:
«Cuando los errores están más o menos distribuidos uniformemente, no es dificil percibir el significado incluso aunque la tasa de errores sea elevada, como en este párrafo (1 carácter en 20)»
Código Hamming de corrección automática de errores
Este sistema inventado por Richard W. Hamming (1950) asocia bits de paridad par con combinaciones únicas de bits de datos. Este método permite detectar y corregir con seguridad hasta un bit por cada bloque de información transmitida.
A cada n bits de datos se le añaden k bits de paridad de tal forma que el carácter transmitido tiene n+k bits de longitud. Los bits se numeran de izquierda a derecha (el 1º bit es el más significativo). Todo bit cuyo número sea potencia de 2 es un bit de paridad, los restantes serán bits de datos. Los bits de dato se acomodan en sus posiciones y los bits de paridad se calculan de modo que tengan una paridad par sobre los bits cuyo número de bit formen, por ejemplo: El bit 1 (paridad) es determinado por los bits de datos: 3 (1+2=3), 5 (1+4=5), 7 (1+2+4=7), 9 (1+8=9), etc…
De esta forma cada bit está verificado por una combinación única de bits de paridad, de modo que analizando los errores de paridad se puede determinar que bit es el que ha invertido su estado. A continuación se dan algunos ejemplos que muestran cómo se pueden localizar los bits alterados:
Paridad incorrecta en los bits | El error está en el bit número |
4 1 y 4 1, 2 y 4 1 y 8 | 4 5 7 9 |
En el caso que exista más de un error en el bloque de información se llegan a producir varias situaciones que pueden llevar a la «corrección» de un bit no alterado (Ej: si cambian los bits 1 y 2 llevan a la corrección del bit sano 3), entre muchas otras situaciones.
Una variante del código Hamming es adicionarle 1 bit de paridad global. De esta forma es posible tener la seguridad de detección de 2 errores, manteniendo la capacidad de corrección si se produce sólo 1 error.
Desventajas del código Hamming
La cantidad de bits de paridad empleados en la transmisión de la información le restan eficiencia al proceso. Se define la eficiencia de transmisión con la siguiente fórmula:
Suponiendo que se desea transmitir bloques de 8 bits de información, se necesitan 4 bits de paridad para ello, con lo que se tiene un total de 12 bits. La eficiencia sería:
La eficiencia de este tipo de transmisión resulta de 66.66% debida solamente al plan de codificación. Además, dependiendo del método de transmisión puede decaer todavía más.
Fuente: Apunte de Teleproceso del Instituto tecnológico de la Paz