CODIFICACIÓN PARA EL CONTROL DE ERRORES
Book
Date:
2012Publishing House and Editing Place:
EUDEM, Editorial de la UNMDPISBN:
978-987-1371-89-1Summary *
El tema central de este libro es la detección y corrección de errores en la información digital. Tales errores ocurren inevitablemente en la transmisión, almacenamiento y procesamiento de la información de tipo digital, generalmente en su forma binaria, debido fundamentalmente al efecto del ruido y la interferencia presentes en el canal de comunicaciones, o debido a imperfecciones en los medios de almacenamiento, por ejemplo. La protección de la información digital empleando adecuadas técnicas de control de errores, permite una eficiente detección y corrección de los mismos. Los códigos de control de errores se utilizan en casi todo tipo de sistema de comunicaciones y de procesamiento y almacenamiento de datos. Los enormes avances en el campo de la electrónica y los dispositivos ópticos han permitido la implementación de códigos de control de errores verdaderamente poderosos, con funcionamiento cercano a los a los óptimos en cuanto a la tasa de error registrada. Además recientemente se han propuesto nuevas técnicas de control de errores que involucran nuevos tipos de código y de técnicas de decodificación, las cuales se encuentran en proceso de aplicación a los sistemas actuales. Sin embargo, la codificación para el control de errores es compleja, y no del todo bien comprendida y apreciada. Este libro desarrolla una clara descripción de este tema, con una cobertura completa y actualizada de la mayoría de los códigos más útiles y sus mecanismos de decodificación. El libro enfatiza el desarrollo de los temas desde el punto de vista de la ingeniería y tecnología de la información, pero incluye material teórico que fundamente los aspectos básicos de los diferentes esquemas. Existen a su vez descripciones de sistemas prácticos, y un elaborado juego de ejemplos y problemas, con sus soluciones. El libro es un texto avanzado orientado a estudiantes de postgrado y estudiantes del curso final de grado en Ingeniería de las telecomunicaciones y electrónica, redes de datos, tecnología de los sistemas de información, procesamiento digital de señales y matemática aplicada, así también como para ingenieros e investigadores que trabajan en estas áreas. El libro esta diseñado para ofrecer el basamento de todos los temas en forma auto contenida. En el mismo se incluyen los fundamentos teóricos de la teoría de la información y de señales, así como la matemática especifica necesaria para la fundamentacion de algunas técnicas de control de errores, que permita la completa comprensión de los temas desarrollados. El capitulo 1 proporciona una introducción a la teoría de la información, y cómo dicha teoría se relaciona con la codificación para el control de errores. En esta teoría se define el concepto de información y se determinan límites para la capacidad de un canal de transmisión. El capitulo 2 describen los conceptos básicos en la detección y corrección de errores, y la codificación y decodificación de algunos códigos de bloques relativamente simples. Los códigos de bloques fueron los primeros en ser descubiertos, en la década de 1940 a 1950. Las dos formas básicas de aplicar el control de errores son descriptas en este capitulo: La corrección en sentido directo y el control de errores por repetición. Un tipo muy particular y útil de código de bloques es el código de bloques cíclico, descripto en el capitulo 3, juntamente con un ejemplo de aplicación practica, el código cíclico de control de redundancia, conocido con su sigla en ingles como CRC, el cual es utilizado en el estándar de Internet. Los capítulos 4 y 5 describen un tipo muy eficiente y ampliamente usado de códigos cíclicos. Estos son los códigos BCH (Bose-Chaudhuri-Hocquenghem) y los códigos RS (Reed-Solomon), denominados así en honor a sus inventores. Los códigos BCH pueden ser binarios o no binarios, siendo los códigos RS un tipo particular de códigos BCH de naturaleza no binaria, utilizados en diferentes sistemas de control de error en la práctica. Una de estas aplicaciones es precisamente descripta en el capitulo 5, y es la codificación para control de errores utilizada en el sistema del compact disc, (CD). Luego de los códigos de bloques se produjo la aparición de otra familia de códigos, llamados al principio códigos recurrentes y luego códigos convolucionales. La codificación y decodificación de códigos convolucionales aun poderosos, involucra la aplicación de procedimientos cuasi-continuos de naturaleza bastante simple y repetitiva, que se aplican sobre una representación grafica del código, resultando en un mecanismo de operación mas simple, si se lo compara con un código de bloques de similar capacidad. Esto los hace relativamente simples en la aplicación de la decodificación por máxima probabilidad usando decisión no rígida con respecto a la misma técnica aplicada a códigos de bloques, la cual se implementa utilizando el algoritmo óptimo de Viterbi. En el capitulo 6 se desarrolla el tema de los códigos convolucionales, sus representaciones graficas, la decodificación usando la decisión no rígida, el algoritmo de Viterbi, así como también se introducen los códigos con eliminación selectiva de salidas y los de tasa variable. Sin embargo y a pesar de su eficiencia, los códigos convolucionales no lograron alcanzar los límites de funcionamiento predichos por Shannon, el Padre de la Teoría de la Información, en 1948. Esto tampoco fue logrado haciendo uso de combinaciones complejas de códigos de bloques y convolucionales construidos en forma concatenada. Un paso trascendental se da en el año 1993, cuando Berrou, Glavieux y Thitimajshima introducen los así llamados códigos turbo, una forma especial de concatenado de códigos convolucionales que hace uso del mezclado aleatorio de datos, y de una decodificación no rígida e iterativa de la información recibida. Todos los aspectos de este tipo tan eficiente de código, llamado código turbo debido a la aplicación de la decodificación iterativa, se describen detalladamente en el capitulo 7. El capitulo final retorna al tema de los códigos de bloques, en la forma de los códigos llamados de control de paridad de baja densidad, identificados con su sigla en ingles como códigos LDPC. Los códigos de bloques pueden ser también representados en la forma en que se hace la representación de un código convolucional, por lo cual pueden ser decodificados utilizando la decisión no rígida, alcanzando en este caso un funcionamiento tan eficiente como el que tienen los códigos convolucionales. Por esta razón, también pueden utilizarse en esquemas de codificación turbo. Sin embargo, la complejidad aparece como un problema importante, pero una familia relativamente simple de códigos, inicialmente descubiertos por Gallager en 1962, ofrecen características de funcionamiento tan buenas o mejores que los turbo códigos, otra vez empleando la decodificación iterativa. Todos los aspectos constructivos, de codificación, decodificación y funcionamiento de los códigos LDPC se describen detalladamente en el capitulo 8, junto con varias variantes de estos códigos que aparecen como muy efectivos para su aplicación en la redes de datos. El apéndice A esta destinado a mostrar el cálculo de la probabilidad de error para señales transmitidas en el canal de ruido blanco, aditivo y Gaussiano, y el apéndice B introduce las nociones de la matemática discreta. Ambos son seguidos de una lista de respuestas a problemas que se ofrecen al final de cada capitulo. Las soluciones detalladas están disponibles en el sito de Internet: http://elaf1.fi.mdp.edu.ar/Error_Control/ El sitio Web contiene también material adicional, que será regularmente actualizado en respuesta a los comentarios y preguntas de los lectores. Information provided by the agent in SIGEVAKey Words
CORRECCION DE ERRORES