seegongsik
CM · Ruido e información

Codificación de errores

Shannon prometió que por debajo de la capacidad los errores se podían acercar a 0, pero no reveló cómo. En esta unidad verás que añadir bits de sobra, calculados a partir de los datos con una regla, permite notar los bits que el ruido ha volteado, e incluso señalar cuál es el bit erróneo y corregirlo.

Un bit invertido, tres códigos responden

Las casillas azules son los bits de datos recibidos, las doradas son los bits de control añadidos, y la casilla con borde rojo es el bit volteado por el ruido. Pulsa Sin código, Paridad y Hamming por turno para comparar cómo tratan los tres códigos el mismo error de un bit. Con solo los datos el error pasa inadvertido, un único bit de paridad solo nota que algo va mal, y Hamming señala el bit exacto y lo corrige.

Longitud del código y distancia mínima
n = 4, k = 4 · d_min = 1
Sin protección

El ruido invierte bits

En el receptor, el ruido convierte de vez en cuando un 0 en 1 o un 1 en 0. En la gráfica los datos originales son 1011, pero su segundo bit se volteó y llegaron como 1111. Si solo se hubieran enviado los bits de datos, 1111 parecería un dato de 4 bits perfectamente válido, y el receptor no tendría forma de saber siquiera que hubo un error. Todo patrón de bits es igual de verosímil como dato.

Los bits extra montan guardia

Al añadir bits de control calculados a partir de los datos con una regla, la situación cambia. El más sencillo, el bit de paridad, es el XOR de todos los bits de datos, y hace que el número de 1 sea siempre par. Los datos originales 1011 tienen tres 1, así que su paridad es 1; cuando el segundo bit se voltea, hay cinco 1, un número impar, y el control falla. Con eso el receptor sabe que hubo un error, pero un solo bit de paridad no puede decir qué bit está mal.

Observap = d₁ ⊕ d₂ ⊕ d₃ ⊕ d₄
La paridad es el XOR de los bits de datos.
Eligedetect 1: dmin ?
Para detectar un error de un bit basta una distancia mínima de 2.

La distancia hace la corrección

Si se piensa en las palabras de código como puntos, un buen código mantiene sus puntos válidos bien separados. El número de posiciones en que difieren dos palabras de código se llama distancia de Hamming; si la distancia mínima entre palabras válidas es 2, se puede detectar un error de un bit, y si es 3, incluso corregirlo, porque una palabra con un bit erróneo sigue estando más cerca de su palabra original. Hamming (7,4) usa 3 bits de control para localizar un error en cualquiera de los 7 bits. Cada uno de los tres bits de control vigila un grupo distinto de bits de datos, así que la combinación de controles que fallan señala una sola posición volteada. El precio es una tasa de código R = k/n = 4/7: enviar 4 bits de información cuesta 3 bits de sobra.

Completacorrect 1: dmin ≥ ?
Para corregir un error de un bit hace falta una distancia mínima de 3.
Por tu cuentaR = kn = ?
La tasa de código es el número de bits de datos dividido entre el número total de bits.

De vuelta a la primera pantalla

Sin protección, el bit volteado pasaba por un dato válido y se veía rojo. Al añadir un bit de paridad apareció la señal de que algo no cuadraba, pero no en qué bit, y se vio naranja; cuando los bits de control de Hamming reunieron sus desajustes, localizaron ese bit y lo devolvieron a su valor, se volvió dorado. Hay que recordar una cosa: si los bits de sobra mantienen alejadas las palabras válidas, una palabra empujada un paso por el ruido vuelve a la original más cercana. Así se cumple en la práctica la fiabilidad por debajo de la capacidad que prometió Shannon.

La codificación de errores añade bits de control de sobra, calculados a partir de los datos con una regla, para detectar y corregir los bits volteados por el ruido. Un solo bit de paridad (distancia mínima 2) detecta un error de un bit, y un código con distancia de Hamming mínima de 3 o más (por ejemplo Hamming (7,4)) localiza y corrige un error de un bit. Cuanto más separadas estén las palabras válidas, más fuerte es el código, pero el precio es una tasa de código R = k/n menor que 1. Es la cara constructiva del teorema de capacidad de Shannon.

Cierre del recorrido de comunicaciones

Partiendo de por qué modulamos, has seguido el camino completo de un mensaje. Las pequeñas oscilaciones de la banda base se cargaron en una portadora y subieron por el eje de frecuencia (AM·FM), se convirtieron en números (muestreo·PCM) y, como bits, sacudieron una portadora (ASK·FSK·PSK). Después llegaron el techo del ancho de banda, la medida del ruido y de la SNR, la doma del azar con la probabilidad, el límite absoluto de Shannon y, por fin, los códigos que deshacen los errores por debajo de ese límite. La comunicación es, en el fondo, el arte de entregar un mensaje a través de un mundo ruidoso sin perderlo.