Códigos de Corrección de Errores: Comunicación Fiable en Canales Ruidosos
Fórmula
\text{Hamming}(7,4): \text{syndrome} = H \cdot r^TR = \frac{k}{n} = \frac{4}{7} \approx 0.571P_{\text{block error}} = 1 - (1-p)^n - n \cdot p \cdot (1-p)^{n-1}d_{\min} = 3 \implies \text{corrects } \lfloor(3-1)/2\rfloor = 1 \text{ error} Preguntas frecuentes
¿Qué es un código Hamming?
Un código Hamming es un código corrector de errores lineal inventado por Richard Hamming en 1950. La variante más común, Hamming(7,4), codifica 4 bits de datos en 7 bits de código añadiendo 3 bits de paridad en las posiciones 1, 2 y 4. Cada bit de paridad cubre un subconjunto específico de bits de datos. El síndrome —calculado verificando todas las ecuaciones de paridad— identifica la posición de un error de un solo bit, permitiendo la corrección sin retransmisión.
¿Cómo se relaciona la corrección de errores con el teorema de codificación de canal de Shannon?
El teorema de codificación de canal de Shannon (1948) demuestra que para cualquier canal con capacidad C, la comunicación fiable es posible a cualquier tasa por debajo de C usando códigos suficientemente largos. Los códigos Hamming son códigos cortos y simples que corrigen errores individuales. Los códigos modernos como los códigos turbo y LDPC se acercan mucho más al límite de Shannon usando longitudes de bloque mayores y decodificación iterativa.
¿Cuál es la diferencia entre detección y corrección de errores?
La detección de errores identifica que ocurrió un error pero no dónde. Un simple bit de paridad puede detectar cualquier error de un solo bit. La corrección de errores detecta y localiza el error, permitiendo al receptor corregirlo. Hamming(7,4) puede corregir cualquier error de un solo bit y detectar (pero no corregir) cualquier error de dos bits. La corrección requiere más redundancia que la detección.
¿Dónde se usan los códigos de corrección de errores en la práctica?
Los códigos de corrección de errores son ubicuos: las memorias ECC RAM usan códigos Hamming para corregir inversiones de bits; los códigos QR usan códigos Reed-Solomon para tolerancia a daños; los discos duros, SSDs y discos ópticos usan códigos LDPC y Reed-Solomon; las redes celulares 5G usan códigos polares y LDPC; las comunicaciones en el espacio profundo usan códigos convolucionales y turbo para mantener contacto a través de miles de millones de kilómetros.
Fuentes
- [object Object]
- [object Object]
- [object Object]