Código de corrección de errores


En informática , telecomunicaciones , teoría de la información y teoría de la codificación , se utiliza un código de corrección de errores , a veces un código de corrección de errores , ( ECC ) para controlar errores en los datos a través de canales de comunicación ruidosos o poco fiables . [1] [2] La idea central es que el remitente codifica el mensaje con información redundante en forma de ECC. La redundancia permite al receptor detectar un número limitado de errores que pueden ocurrir en cualquier parte del mensaje y, a menudo, corregir estos errores sin retransmisión. El matemático estadounidenseRichard Hamming fue pionero en este campo en la década de 1940 e inventó el primer código de corrección de errores en 1950: el código Hamming (7,4) . [2]

ECC contrasta con la detección de errores en que los errores que se encuentran pueden corregirse, no simplemente detectarse. La ventaja es que un sistema que usa ECC no requiere un canal inverso para solicitar la retransmisión de datos cuando ocurre un error. La desventaja es que hay una sobrecarga fija que se agrega al mensaje, lo que requiere un mayor ancho de banda de canal de avance. Por lo tanto, ECC se aplica en situaciones en las que las retransmisiones son costosas o imposibles, como enlaces de comunicación unidireccionales y cuando se transmite a múltiples receptores en multidifusión . Las conexiones de larga latencia también se benefician; en el caso de un satélite en órbita alrededor de Urano , la retransmisión debido a errores puede crear un retraso de cinco horas. La información de ECC generalmente se agrega adispositivos de almacenamiento masivo para permitir la recuperación de datos corruptos, se usa ampliamente en módems y se usa en sistemas donde la memoria principal es la memoria ECC .

El procesamiento de ECC en un receptor se puede aplicar a un flujo de bits digital o en la demodulación de una portadora modulada digitalmente. Para este último, ECC es una parte integral de la conversión inicial de analógico a digital en el receptor. El decodificador de Viterbi implementa un algoritmo de decisión suave para demodular datos digitales de una señal analógica corrompida por ruido. Muchos codificadores / decodificadores ECC también pueden generar una señal de tasa de error de bits (BER), que se puede utilizar como retroalimentación para ajustar la electrónica de recepción analógica.

Las fracciones máximas de errores o de bits faltantes que se pueden corregir están determinadas por el diseño del código ECC, por lo que diferentes códigos de corrección de errores son adecuados para diferentes condiciones. En general, un código más fuerte induce más redundancia que debe transmitirse utilizando el ancho de banda disponible, lo que reduce la tasa de bits efectiva mientras mejora la relación señal / ruido efectiva recibida. El teorema de codificación de canales ruidosos de Claude Shannonse puede utilizar para calcular el ancho de banda de comunicación máximo alcanzable para una probabilidad de error máxima aceptable dada. Esto establece límites en la tasa de transferencia de información máxima teórica de un canal con un nivel de ruido base dado. Sin embargo, la prueba no es constructiva y, por lo tanto, no da una idea de cómo construir un código de logro de capacidades. Después de años de investigación, algunos sistemas ECC avanzados a partir de 2016 [3] se acercan mucho al máximo teórico.

En telecomunicaciones , teoría de la información y teoría de la codificación , la corrección de errores hacia adelante ( FEC ) o codificación de canal [4] [3] es una técnica utilizada para controlar errores en la transmisión de datos a través de canales de comunicación ruidosos o poco confiables . La idea central es que el remitente codifique el mensaje de forma redundante , la mayoría de las veces utilizando un ECC.


Una breve clasificación de los códigos de corrección de errores
Una breve ilustración de la idea de entrelazado