Codificación de errores
Un bit invertido, tres códigos responden
Toca ninguno, paridad, Hamming por turno. Ante el mismo error de un bit, los datos solos ni lo notan, un bit de paridad solo lo detecta, y Hamming señala cuál bit y lo corrige.
El ruido invierte bits
Como vimos, el ruido en el receptor invierte de vez en cuando un 0 a 1 o un 1 a 0. Si envías los bits de datos a secas, no hay forma de saber si un 1011 recibido era de verdad 1011 o un 1001 con un bit invertido. Todo patrón de 4 bits es un mensaje igual de plausible, así que ni siquiera sabes que hubo un error.
Los bits extra montan guardia
Añadir un bit de control calculado de los datos por una regla lo cambia todo. El más simple, un bit de paridad, es el XOR de todos los bits de datos, manteniendo el número de unos siempre par. Cuando el ruido invierte cualquier bit el conteo se vuelve impar, el control de paridad se rompe, y el receptor sabe que hubo error. Pero un solo bit de paridad no puede decir cuál bit falló.
La distancia hace la corrección
Imagina los códigos como puntos; un buen código mantiene los puntos válidos bien apartados. El número de posiciones en que dos códigos difieren es su distancia de Hamming. Si la distancia mínima entre todos los códigos válidos es 2, se detecta un error de un bit; si es 3, hasta se corrige — porque la palabra corrupta sigue siendo la más cercana a su código original. Hamming(7,4) usa 3 bits de control para señalar y arreglar cualquier error de un bit entre 7. El precio es la tasa R = k/n = 4/7, pagando 3 bits redundantes por cada 4 de información.
De vuelta a la primera pantalla
Sin código el bit invertido parecía datos válidos, sin dejar rastro — rojo; añadir un bit de paridad alzó una bandera de que algo se rompió pero no cuál bit — naranja; y cuando los bits de control de Hamming reunieron la discrepancia, señalaron ese bit y lo devolvieron, se puso dorado. Lo único que hay que oír en la codificación de errores es esto: separa los mensajes válidos con bits extra, y un mensaje que el ruido empujó un paso vuelve al original más cercano. Así se cumple de verdad la promesa de Shannon — fiabilidad por debajo de la capacidad.
Cierre de la pista de comunicaciones
Partiendo de por qué modulamos, hemos seguido un mensaje hasta aquí. Subimos una pequeña ondulación de banda base a una portadora y por el eje de frecuencia (AM, FM), la convertimos en números (muestreo, PCM), sacudimos una portadora con los bits (ASK, FSK, PSK), encontramos el techo del ancho de banda, medimos el ruido y el SNR, domamos el azar con la probabilidad, vimos el límite absoluto de Shannon, y al fin deshicimos los errores con códigos por debajo de ese límite. Comunicar es, al final, el arte de entregar un mensaje a través de un mundo ruidoso sin perderlo.