Correccion y Deteccion de Errores


CORRECCIÓN Y DETENCION DE ERRORES

Detección de Errores.

El control de errores implica técnicas de diseño, fabricación de equipos y enlaces de transmisión de datos que reduzcan el porcentaje de errores. Además, incluye metodologías para detectarlos y corregirlos.

Una metodología posible es no tomarlos en cuenta. Esto parece algo trivial, pero no lo es tanto si se considera que en muchos casos, por el tipo de información a transmitir y el uso que la misma recibirá, no es necesario que los errores sean tenidos en cuenta. Esta metodología reduce los costos y aumente el procesamiento total.

Otra metodología empleada es la prueba de eco, que consiste en que cada vez que se recibe un carácter o una unidad menor de información, se retransmite de vuelta al transmisor de donde provino. En esta última estación se compara la información enviada con la transmitida desde el receptor. Este método desperdicia capacidad de transmisión pues, como mínimo, un mensaje se transmite dos veces, y en alguna oportunidad muchas mas. Además, si el error se produce en el viaje de retorno, es una perdida innecesaria de tiempo. Se usa en líneas de baja velocidad y, si bien da cierto grado de protección, no tiene la eficiencia de otros métodos más refinados.

Detección de Errores mediante el Control de Paridad.

Se basa en añadir a la secuencia de bits de información transmitidos otros bits de control adicionales. Estos bits de control no transportan información alguna, sino que solamente se utilizan para la verificación de la paridad de la secuencia de bits de datos.

Para la verificación de paridad existen cuatro métodos posibles: Control de Paridad Vertical (VCR), Control de Paridad Longitudinal o Bidimensional (LCR), Control de Paridad Entrelazada o Cíclica.

Control de la Paridad Vertical: Se aplica a cada carácter, o byte, y su uso esta relacionado fundamentalmente con el código ASCII. Consiste en añadir un bit adicional al conjunto de 7 bits que constituyen un carácter en el código mencionado.

En el código ASCII, se agrega un bit adicional, denominado expresamente bit de paridad, a los 7 bits que conforman la información a transmitir. En estos casos, el carácter final, con el bit de paridad incluido, quedara conformado por 8 bits. En el transmisor, se efectúa el cálculo del bit de paridad correspondiente a cada carácter, que se agregan a los 7 bits de información, y se transmite. Al recibirse en el receptor de los 8 bits, se calcula nuevamente la paridad y se la verifica con el criterio utilizado en el transmisor.

El grave inconveniente de este método es que no puede detectar la doble inversión de bits, que consiste en que se produzca un doble error en un byte que afecte simultáneamente a un uno, transformándolo en cero, y viceversa. Si esto último ocurriese, la paridad resultante del carácter será correcta, pero evidentemente el dato transmitido es erróneo.

Control de Paridad Longitudinal o Bidimensional: Se aplica a un conjunto compuesto por bloques de N caracteres de 7 bits cada uno. Al finalizar el bloque de N caracteres, se transmitirá un carácter completo denominado Carácter de Control de Bloque. El carácter de control del bloque esta calculado de la siguiente manera:

  • Se consideran los bits situados en la posición numero uno y se calcula el bit de paridad para todo el bloque, correspondiente a esa posición. Ese será el bit numero uno del carácter que hemos denominado BCC.
  • Luego se consideran los bits situados en la posición dos y se realiza la misma tarea.
  • Luego se continua de la misma manera con los restantes bits, incluido el bit de paridad vertical, hasta que se obtiene el carácter BCC completo.

Este procedimiento, usado básicamente en las transmisiones asincrónicas, también es conocido como Control de Suma de Bloque.

Control de Paridad Entrelazada o Cíclica: Procedimiento que proporciona un nivel de detección de los errores de mayor calidad que el método conocido como Control de Paridad Vertical, y menor que el de Control de la Paridad Longitudinal.

Este método requiere de dos bits adicionales para el control de la paridad. El primer bit de paridad proporciona la paridad de los bits primero, tercero y quinto, mientras que el segundo proporciona la paridad de los bits segundo, cuarto y sexto.

Detección de Errores por el Método de Control por Redundancia.

Este método, permite la verificación de todos los bits del mensaje mediante la utilización de un determinado algoritmo matemático. Básicamente, consiste en dividir, en el equipo transmisor, el mensaje de la información que se quiere enviar, por un polinomio conocido en ambos extremos del canal de comunicaciones, denominado generador.

Como resultado de esta división en el equipo transmisor, se obtendrán, dos polinomios, denominados cociente y resto. Este último se transmite con la secuencia de bits sobre la que se quiere efectuar el control de errores. En el receptor se reciben mensajes a controlar y el polinomio que resulto del resto de la división.

En el receptor, se procede en idéntica forma que en el transmisor. El mensaje a controlar se divide por el polinomio generador, y se obtiene un nuevo resto. Finalmente, se comparan los restos obtenidos en el receptor y en el transmisor, que es transmitido junto con el mensaje. Si no ha habido errores, ambos restos deben ser iguales.

Corrección de Errores.

Técnicas de Corrección de Errores.

En la mayoría de los sistemas teleinformáticos la corrección de errores es un hecho casi imprescindible.

Existen dos estrategias fundamentales para la corrección de errores:

  • Corrección hacia atrás.
  • Corrección hacia adelante.

Si bien es casi imposible corregir la totalidad de los errores, la mayoría de las técnicas que normalmente se emplean, llegan a corregir el 99,99% de los mismos.

Corrección Hacia Atrás: Cuando se detecta un error en el equipo receptor, este solicita al equipo transmisor la repetición del bloque de datos transmitido, de ahí la llamada corrección hacia atrás.

Este sistema implica la retransmisión de lo datos tantas veces como sea necesaria, hasta que sean recibidos libres de errores. De ahí la importancia de una buena elección de la velocidad de modulación en el caso de las transmisiones por canales analógicos mediante modems de datos.

Se puede apreciar claramente que cuando se eligen velocidades muy altas, respecto de las que el canal de comunicaciones realmente puede soportar, los errores provocan una pérdida de tiempo mayor, que la ganancia que presuntamente se iba a obtener con una velocidad superior.

Dicho en otras palabras, se produce la paradoja de que aumentando la velocidad de modulación, disminuye la velocidad real de transferencia de datos (que es, en ultima instancia, la que interesa al administrador del sistema informático).

Corrección Hacia delante: Se basa en el uso de códigos auto correctores que se diseñan sobre la base de sistemas de codificación redundante y corrigen los errores detectados en la misma estación que recibe el bloque de datos.

Aunque estos métodos hacen innecesaria la retransmisión, no son neutros al usuario, pues para posibilitar la corrección en destino deben enviar un número de bits varias veces superior al que se necesita cuando se utilizan códigos convencionales.

Sin embargo, en muchas aplicaciones es necesario el uso de este tipo de códigos porque no resulta posible o conveniente pedir la retransmisión de los datos, ya sea por razones de seguridad o por necesidades de la misma operación del sistema informático asociado.

Corrección de Errores mediante el uso de Técnicas Especiales de Transmisión.

Retransmisión de los Datos Erróneos: Diversos dispositivos de las redes de transmisión de datos, poseen capacidad para detectar errores y cuando los detectan, piden su retransmisión inmediata. Este método de detección del error y su retransmisión es la manera menos costosa y más sencilla de reducir errores en la transmisión.

La corrección por retransmisión requiere una tecnología sencilla y poca capacidad de memoria. Una vez detectada la existencia de un error (por intermedio del bit, o los bits de paridad, o por el uso de códigos de redundancia cíclica), el método consiste en pedir la retransmisión del carácter o grupo de caracteres hacia el receptor.

Requerimiento Automático de Repetición (ARQ): se utiliza solamente entre dos estaciones. Este sistema se suele denominar Control por Medio de Eco.

El sistema consiste en la transmisión de pequeños bloques de datos, luego de lo cual, la fuente espera que la estación receptora le envié un nuevo requerimiento para la transmisión de un nuevo bloque de datos. Si el receptor hubiera detectado un error, requerirá la retransmisión del bloque anterior. Cada bloque tiene 8 caracteres de 7 bits cada uno. En el caso de detectarse un error, el proceso puede llegar a repetirse hasta un determinado número de veces, en general 32, pasando luego el equipo a la posición de reencendido.

La mayor ventaja de este método es que prácticamente garantiza una transmisión de datos libre de errores, suponiendo que el enlace es posible. Las desventajas son:

  • El enlace es factible solamente entre dos estaciones al mismo tiempo.
  • Este sistema es más lento que el sistema denominado Corrección de Errores Hacia Adelante, aun cuando no existan errores que corregir, y será mucho más lento a medida que se incremente el número de errores.
  • La estación receptora debe tener en operación un equipo transmisor para acusar recibo y solicitar la retransmisión.

Sin embargo, siempre que este método pueda ser usado, resulta ser el más efectivo y, por lo tanto, el más frecuentemente usado. En particular, se emplean para la transmisión de bloques hasta 512 bytes.

Corrección de Errores Hacia delante: Se emplea en casos en que hay mas de una estación receptora y no se necesitan de replicas por parte de estas ultimas.

Funciona en el modo denominado diversidad de tiempo, permitiendo que cada mensaje se envié dos veces, intercalando los caracteres en diferentes instantes. Consecuentemente, la estación receptora tiene dos oportunidades de recibir correctamente cada carácter.

Este procedimiento agrega la suficiente redundancia para que el receptor pueda detectar la presencia de un error y, además, ubicar la posición de bit en donde dicho error se ha producido. Para poder realizar esta última operación, la cantidad de bits que es necesario añadir es mucho mayor que la que se necesitara para poder detectar la presencia de errores.

Las ventajas de este sistema, con respecto al sistema ARQ son las siguientes:

  • Se pueden transmitir mensajes a varias estaciones receptoras. Este método se conoce en telecomunicaciones como transmisión por difusión. No obstante, existe una variación del Sistema de Corrección de Errores Hacia Adelante denominada SEL/FEC, por medio de la cual la estación transmisora emite un código correspondiente solo a determinadas estaciones receptoras, las cuales, consecuentemente, serán las únicas habilitadas para recibir el mensaje.
  • No requiere el empleo de transmisores en las estaciones receptoras.
  • Menor tiempo de transmisión.

Este método se usa en ciertas aplicaciones especiales, como, por ejemplo, en el caso de canales unidireccionales sin retorno o enlaces satelitales en los que se procede a transmitir muchos mensajes en una sola dirección debido a que el tiempo de retardo de las señales es muy alto.

En este ultimo caso también se usa un método combinado ARQ/FEC, a fin de recibir una confirmación de lo transmitido en sentido inverso al cabo de un cierto numero de mensajes.

Corrección de Errores Mediante Códigos Auto Correctores: Los métodos de corrección de errores mediante el empleo de auto corrección se basan en códigos que tienen la suficiente redundancia para que, una vez detectados, se puedan corregir los errores sin necesidad de proceder a la correspondiente retransmisión.

La redundancia se extiende desde unos pocos bits, hasta llegar, en algunos casos, al doble o aun a una cantidad mucho mayor que los necesarios para transmitir un carácter.

Código de Hamming: Este código auto corrector permite detectar y corregir errores mediante el empleo de bits de paridad con determinadas combinaciones únicas de bits de información. Corrige 1 bit solamente.

Código de Hagelbarger: Este código permite corregir hasta 6 bits consecutivos. Este código exige que el grupo de errores, le sucedan por lo menos 19 bits validos, antes de comenzar otra serie de bits erróneos.

Código Bose – Chaudhuri: Puede detectar hasta 4 errores y corregir hasta dos bits. Existen varias versiones del código, pero la primitiva preveía la introducción de 10 bits adicionales, por cada 21 bits de información transmitida.

La Tasa de Error en el Diseño de Sistemas de Transmisión de Datos.

La presencia de errores en el diseño de los sistemas de transmisión de datos no puede ser omitida nunca. Por este motivo, cuando se diseña o se implanta un determinado sistema con su correspondiente tecnología asociada, debe tenerse presente los siguientes aspectos:

  • La tasa de error (tanto para comunicaciones locales como para las remotas).
  • Los medios para recuperar la información afectada por errores.
  • La cantidad de información a transmitir por unidad de tiempo; que se corresponde con el concepto definido como velocidad real de transferencia de datos.
  • La velocidad de transmisión que es necesaria para satisfacer los requerimientos del sistema.

Basándose en los aspectos anteriores se deberá determinar:

  • El ancho de banda del canal que será necesario usar.
  • El tipo de control de errores que se requiere.
  • Los medios de comunicaciones y elementos técnicos que podrán cumplir con dichos requerimientos.

2 comentarios: