Una introducción a los conceptos y algorítmos de los códigos correctores de errores.
Profesorado
Responsable
Francesc Tiñena Salvañà (
)
Otros
Rafel Farré Cirera (
)
Horas semanales
Teoría
3
Problemas
0
Laboratorio
1
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Competencias Técnicas de cada especialidad
Especialidad tecnologías de la información
CTI1 - Definir, planificar y gestionar la instalación de la infraestructura TIC de la organización.
CTI1.4
- Seleccionar, diseñar, desplegar, integrar, evaluar, construir, gestionar, explotar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de costo y calidad adecuados.
CTI3 - Diseñar soluciones que integren tecnologías de hardware, software y comunicaciones (y capacidad de desarrollar soluciones específicas de software de sistemas) para sistemas distribuidos y dispositivos de computación ubícua.
CTI3.3
- Diseñar, implantar y configurar redes y servicios.
Competencias Transversales
Uso solvente de los recursos de información
G6 [Avaluable] - Gestionar la adquisición, la estructuración, el análisis y la visualización de datos e información del ámbito de la ingeniería informática y valorar de forma crítica los resultados de esta gestión.
G6.3
- Planificar y utilizar la información necesaria para un trabajo académico (por ejemplo, para el trabajo de final de grado) a partir de una reflexión crítica sobre los recursos de información utilizados. Gestionar la información de manera competente, independiente y autónoma. Evaluar la información encontrada e identificar las lagunas presentes.
Objetivos
Conocer los conceptos de información de un acontecimiento y de entropía de una distribución de probabilidades. Conocer el concepto de fuente de informació, de canal e información. Conocer los conceptos de codificación de fuente (compresión de datos) y codificación de canal (detección y corrección de errores) y los teoremas de Shannon.
Competencias relacionadas:
G6.3,
Conocer los conceptos básicos de los códigos de bloques: sus parámetros asociados y su relación con la capacidad detectora y correctora. Conocer las aplicaciones de la aritmética modular en los códigos detectores y correctores. conocer los protocolos básicos usados en la detección y corrección de errores en redes de comunicación.
Competencias relacionadas:
CTI3.3,
G6.3,
CTI1.4,
Conocer la estructura básica de los cuerpos finitos, principalmente los de característica 2, y de los espacios vectoriales de dimensión finita sobre un cuerpo finito. Conocer las formas de definir un código lineal, determinar sus parámetros y el algoritmo de corrección por síndromes. Conocer códigos lineales concretos, en especial los perfectos, y los algoritmos de corrección correspondientes.
Competencias relacionadas:
G6.3,
Conocer la estructura general de los códigos cíclicos y el algoritmo de corrección de Meggit. Conocer los CRC: códigos cíclicos usados en la detección de errores en redes de comunicación. Conocer los códigos BCH binarios y los algoritmos de corrección asociados. Conocer los códigos de Reed-Solomon y sus aplicaciones a los discos compactos.
Competencias relacionadas:
CTI3.3,
G6.3,
CTI1.4,
Contenidos
Información y entropía.
Definición matemática de la cantidad de información. Entropia de una distribución de probabilidad e información mútua de dos variables aleatorias.
Codificación de fuente y codificación de canal
Códigos de longitud variable. Desigualdad de Kraft. Códigos de Huffman. Extensiones de una fuente. Primer teorema de Shannon. Capacidad de un canal. Esquemas de decisión. Segundo teorema de Shannon: codificación de canal con ruido. El canal binario simétrico. Esquema de decodificación por máxima verosimilitud.
Detección y corrección de errores con códigos de bloques
Distancia de Hamming. Radios de tangencia y de recubrimiento. Detección y corrección de errors. Protocolos de detección de errors. El problema fundamental de la teoría de códigos.
Cuerpos finitos
Construcció de cossos finits, especialmente los de característica 2. Propiedades elementales y cálculos efectivos en cuerpos finitos.
Códigos lineales
Espacios vectoriales sobre cuerpos finitos. Códigos lineales. Matrices generadora y de control de paridad. Corrección por síndromes. Operaciones con códigos lineales. Códigos perfectos. Códigos de Hamming, de Golay binarios y de Golay ternarios.
Códigos cíclicos y CRC
Polinimios sobre cuerpos finitos. Códigos polinomiales. Polinomios generador y de control. Codificación sistemática. El algoritmo de corrección de Meggitt. Códigos cíclicos usados en la detección de errores: los CRC. El CRC de Ethernet.
Códigos BCH binarios
Raíces de un código cíclico: descripción de un código cíclico mediante sus raíces. Códigos BCH sobre un cuerpo finito. Códigos BCH binarios primitivos y estrictos. La ecuación clave. Decodificación por el algoritmo de Euclides. Decodificación de Berlekamp-Massey.
Códigos de Reed-Solomon
Los códigos de Reed-Solomon como códigos cíclicos. La tranformada de Fourier finita. algoritmo de corrección de errores. Aplicación: codificación del disco compacto de audio.
Actividades
ActividadActo evaluativo
Desarrollo del tema "Información y entropía"
Desarrollo del tema "Información y entropia" Objetivos:1 Contenidos:
A lo largo del curso el estudiante tendrá que presentar por escrito un mínimo de dos problemas completamente resueltos. Objetivos:34 Semana:
13
Teoría
0h
Problemas
0h
Laboratorio
0.5h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2.3h
Trabajo sobre un tema de la asignatura
Trabajo sobre un tema relacionado con la asignatura donde además del contenido también se evaluará el uso solvente de los recursos de información. Objetivos:1234 Semana:
14
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h
Exámen final
Exámen final sobre los temas 4 a 8 Objetivos:34 Semana:
15 (Fuera de horario lectivo)
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
17h
Metodología docente
En las sesiones de teoría el profesor explica los temas teóricos con ejemplos y problemas. Se combina tanto la parte magistral, en la que el profesor expone, explica y ejemplifica los conceptos de la asignatura, como la interacción con los alumnos.
En las sesiones de laboratorio, y durante las horas de estudio personal, los estudiantes deben intentar resolver problemas de una colección. El profesor apoya al estudiante con las dificultades que se le planteen. Se pretende que los estudiantes tomen la iniciativa en la resolución de problemas, evalúen sus soluciones y aprendan de sus errores.
Método de evaluación
Habá dos examenes parciales.
La nota de curso se obtiene como la media de las notas de los examenes parciales.
Bibliografía
Básica:
Apunts de Teoria de la Informació i Codificació -
Farré, Rafel,
2003.
El alumno debería:
(a) conocer la función logaritmo y sus propiedades;
(b) propiedades elementales de distribuciones de probabilidad finitas y variables aleatorias,
(c) conocer los anillos de enteros modulares y saber hacer cálculos;
(d) conocer los conceptos básicos de espacios vectoriales: sistemas de ecuaciones lineales, dependencia e independencia lineal, base y dimensión, operaciones con matrices (sumas, productos) y calcular inversas,
(d) conocer las propiedades básicas de los polinomios y saber su operar con ellos.