seegongsik
Mis palabras
CM · Ruido e información

Codificación de errores

Shannon prometió que el error puede llevarse cerca de cero bajo la capacidad, pero no cómo. Aprende que añadir bits extra calculados de los datos por una regla permite detectar los bits que el ruido invirtió — y hasta señalar y corregir cuál falló.

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.

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

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ó.

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

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.

Completacorrect 1: dmin?
Corregir un error necesita distancia mínima 3.
Por tu cuentaR = kn = ?
La tasa de código es bits de datos entre bits totales.

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.

La codificación de errores añade bits de control redundantes calculados de los datos por una regla, para detectar y corregir los bits que el ruido invierte. Un bit de paridad (distancia mínima 2) detecta un error, y un código con distancia de Hamming mínima 3 o más (p. ej. Hamming(7,4)) señala y corrige uno. Cuanto más separados los códigos válidos, más fuerte, a costa de una tasa R = k/n menor que 1. Este es el lado constructivo del teorema de capacidad de Shannon.

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.