Saltar al contenido
El bit perdido
Newsletter

Curso de códigos correctores

Once lecciones cortas para pasar de «el QR se lee aunque esté roto» a saber cómo se hace. Cada lección tiene la idea, un ejemplo resuelto entero y un par de ejercicios con solución. Sin demostraciones.

Borrador: texto provisional, pendiente de que lo revise el autor. Esta página no aparece en Google.

Qué necesitas saber. Si sabes multiplicar matrices, resolver un sistema de ecuaciones lineales y operar con polinomios (sumar, multiplicar, dividir), puedes seguirlo. Lo demás (aritmética módulo 2, subespacios, cuerpos finitos) se explica sobre la marcha.

El hilo del curso. Dos códigos te acompañan en todo el curso: el código de Hamming [7,4], que corrige un error en cada bloque de 7 bits, y un Reed-Solomon [7,3] sobre el cuerpo de 8 elementos, primo pequeño del que lleva tu código QR.

  1. 1Qué es un código corrector: añadir redundancia con cabezaQué es un código de bloque, cómo se mide la distancia entre palabras y por qué elegir la palabra más cercana permite corregir errores de transmisión.
  2. 2Cuerpos finitos: sumar y multiplicar con pocos símbolosQué es un cuerpo finito, por qué los códigos lo necesitan y cómo se construyen Z_p, F_4 y F_8 con sus tablas de sumar y multiplicar.
  3. 3Códigos lineales: un código que es un subespacioQué es un código lineal, por qué basta mirar el peso mínimo para conocer la distancia y cómo se ve todo en el código de Hamming [7,4,3].
  4. 4Matriz generatriz y matriz de paridadCómo codificar con una matriz G, comprobar si una palabra es del código con una matriz H, pasar de una a otra y leer en H la distancia mínima.
  5. 5Errores y borrones: cuánto puede corregir un códigoDistingue un error de un borrón, aprende cuántos de cada uno corrige un código según su distancia mínima y conoce las cotas de Singleton y de Hamming.
  6. 6Decodificación por síndrome: corregir sin comparar con todoAprende a corregir errores con el síndrome Hr^T, la tabla de líderes de clase y por qué en el Hamming el síndrome señala directamente la posición del error.
  7. 7Códigos cíclicos: palabras que son polinomiosUn código cíclico se describe con un solo polinomio, el generador. Aprenderás a construirlo y verás que un código de Hamming es uno de ellos.
  8. 8Codificar códigos cíclicos: del polinomio generador a los CRCCodifica con un polinomio generador, de forma sistemática o no, comprueba palabras con el polinomio de control y detecta errores con el resto de una división.
  9. 9Códigos de Reed-Solomon: polinomios que se dejan rayarDefine los códigos de Reed-Solomon por evaluación de polinomios, entiende por qué su distancia es n−k+1 y calcula una palabra código completa en F_8.
  10. 10Decodificar Reed-Solomon: recuperar borrones por interpolaciónRecupera un mensaje de Reed-Solomon con borrones por interpolación de Lagrange o resolviendo un sistema, y entiende por qué un borrón cuesta la mitad que un error.
  11. 11Corregir errores en Reed-SolomonLocaliza y corrige errores en Reed-Solomon con el sistema lineal de Berlekamp-Welch, mezcla errores y borrones y usa el entrelazado contra las ráfagas.