Codificación de errores
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.
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.
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.
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.
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.