Detección y corrección de errores

[1]​ Se considera como precursor de este tipo de tecnologías el Acme Comodity and Phrase Code usado en los telegramas La comunicación entre varias computadoras produce continuamente un movimiento de datos, generalmente por canales no diseñados para este propósito (línea telefónica), y que introducen un ruido externo que produce errores en la transmisión textual.Por lo tanto, debemos asegurarnos que si dicho movimiento causa errores, éstos puedan ser detectados.El método para detectar y corregir errores es incluir en los bloques de datos transmitidos bits adicionales denominados redundancia.[2]​ Esto también ayudó a garantizar la precisión en la transmisión del texto con la producción de copias posteriores.[3]​[4]​ Entre los siglos VII y X d. C., un grupo de escribas judíos formalizó y amplió esto para crear la Masora Numérica para garantizar una reproducción precisa del texto sagrado.[9]​ Todos los esquemas de detección y corrección de errores agregan algo de redundancia (es decir, algunos datos adicionales) a un mensaje, que los receptores pueden usar para verificar la consistencia del mensaje entregado y para recuperar datos que han sido enviados que pueden perderse.Si se requiere detección de errores, un receptor puede simplemente aplicar el mismo algoritmo a los bits de datos recibidos y comparar su salida con los bits de verificación recibidos; si los valores no coinciden, se ha producido un error en algún momento durante la transmisión.Consiste en añadir un bit de más a la cadena que queremos enviar, y que nos indicará si el número de unos (bits puestos a 1) es par o es impar.El equipo receptor debe comprobar el código CRC para detectar si se han producido o no errores.Aún más, d o menos errores nunca se convertirán en una palabra válida debido a que la distancia de Hamming entre cada palabra válida es de al menos d+1, y tales errores conducen solamente a las palabras inválidas que se detectan correctamente.Las aplicaciones que requieren baja latencia (como conversaciones telefónicas) no pueden usar la solicitud de repetición automática (ARQ); deben usar corrección de errores hacia adelante (FEC).Cuando un sistema ARQ descubre un error y lo retransmite, los datos reenviados llegarán demasiado tarde para poder utilizarse.Las aplicaciones en las que el transmisor olvida inmediatamente la información tan pronto como se envía (como la mayoría de las cámaras de televisión) no pueden usar ARQ; deben usar FEC porque cuando ocurre un error, los datos originales ya no están disponibles.Las aplicaciones que usan ARQ deben tener un canal de retorno; las aplicaciones que no tienen canal de retorno no pueden usar ARQ.El código Reed-Solomon-Viterbi (RSV) concatenado permitía una corrección de errores muy potente y posibilitó el viaje prolongado de la nave espacial a Urano y Neptuno.Tras la actualización de los sistemas ECC en 1989, ambas naves utilizaron el código RSV V2.Además, a medida que aumenta la distancia entre la nave y la Tierra, el problema de la corrección del ruido se hace más difícil.Los códigos Reed-Solomon se utilizan en discos compactos para corregir errores causados por arañazos.El intercalado permite distribuir el efecto de un solo rayo cósmico que pueda alterar varios bits físicamente vecinos entre varias palabras, asociando los bits vecinos a palabras diferentes.
Para corregir los errores de transmisión introducidos por la atmósfera de la Tierra (izquierda), los científicos de Goddard aplicaron la corrección de errores Reed-Solomon (derecha), que se usa comúnmente en CD y DVD. Los errores típicos incluyen píxeles faltantes (blanco) y señales falsas (negro). La franja blanca indica un breve período en el que se pausó la transmisión.
Hipercubo binario de dimensión cuatro.