códigos detectores de errores - norman-ipn/Errores GitHub Wiki

****Códigos detectores y correctores de error ****

En la transmisión y en el almacenamiento (conservación en memoria, sea ésta de tipo RAM o sea en disco, cinta o cualquier otro soporte físico de la misma) de las palabras binarias pueden producirse errores que modifiquen el valor booleano de uno o de varios bits. La palabra o palabras correspondientes expresarán una información errónea. Un código es capaz de detectar errores, es decir, de discriminar palabras con información errónea, cuando la modificación de uno o varios bits de una palabra del código da lugar a una palabra binaria que no pertenece al mismo. El concepto de distancia permite analizar y generalizar la forma de operar de los códigos detectores de error. La distancia de Hamming entre dos palabras binarias de la misma longitud es el número de dígitos en que dichas palabras se diferencian. Se dice que un código es de distinta mínima D cuando dos palabras del mismo difieren, al menos, en el valor de D de sus bits. Tal código es capaz de detectar cualquier error que afecte a D-1 dígitos o menos, ya que la modificación en una palabra del código de un número de bits inferior a D da lugar a una palabra que no pertenece al código. Para detectar la modificación o error que afecte a n bits se requiere un código cuya distancia mínima sea n+1 o superior. La paridad es un código de distancia par (múltiplo de 2): las palabras permisibles distan entre sí un número par de dígitos. Cualquier modificación que afecte a un número impar de bits da lugar a una palabra no permitida y, por tanto, reconocida como errónea; en cambio, la paridad no permite detectar error cuando el número de bits afectados es par. Hamming desarrolló métodos sistemáticos, basados en la misma idea que la paridad, para construir códigos de distancia mínima 3 y 4, con la particularidad de que dichos códigos permiten corregir el error cuando éste afecta a un solo bit.
El código Hamming de distancia mínima 3 utiliza paridades «parciales» referidas a subconjuntos de dígitos de la palabra inicial. El código Hamming de distancia mínima 4 es análogo, añadiendo simplemente un bit de paridad global; ese bit suplementario aporta mayor fiabilidad respecto a la corrección de error. 6. Codificación binaria 149 El código Hamming de distancia mínima 3 permite detectar y corregir errores relativos a un solo bit, pero no es capaz de diferenciar los que afectan a un bit de los que afectan a un número par de ellos; de manera que, en el caso de que exista error en dos bits y se efectúe la corrección como si fuese en uno solo de ellos, la palabra corregida tiene más errores que la original. El código Hamming de distancia mínima 4 (que supone simplemente añadir un bit de paridad global al de distancia mínima 3) informa si el error es en número par o impar de bits, evitando correcciones erróneas; es cierto que no permite diferenciar si el error afecta a 1 o a 3 (o más) bits, pero la probabilidad de que afecte a 1 ó 2 dígitos es muy superior a la de tener 3, 5, 7,… errores.