martes, 25 de diciembre de 2012

Tecnologías Inalámbricas unidad 2



Corrección de errores

Las redes de computadoras deben ser capaces de transmitir datos de un dispositivo a otro con cierto nivel de precisión. Para muchas aplicaciones, el sistema debe garantizar que todos los datos recibidos son iguales a los transmitidos. Sin embargo, siempre que una señal electromagnética fluye de un punto a otro, está sujeta a interferencias impredecibles debido al calor, el magnetismo y diversas formas de electricidad. Esta interferencia puede cambiar la forma o temporización de la señal. Si la señal transporta datos binarios codificados, tales cambios pueden alterar su significado.

Las aplicaciones requieren entonces un mecanismo que permita detectar y corregir los posibles errores ocurridos en la transmisión. Algunas aplicaciones tienen cierta tolerancia de errores (transmisión de audio/video), mientras que para otras aplicaciones se espera un alto nivel de precisión (transmisión de archivos).

La corrección de errores es más difícil que la detección en la detección solo se quiere determinar si ha ocurrido un error, existiendo dos posibles respuesta: si o no. La corrección como tal es sencilla, consiste en tan solo en invertir los valores de los bits erróneos; sin embargo, es necesario previamente determinar la cantidad de bits erróneos, y aún más importante la ubicación de los mismos dentro de la unidad de datos.

La corrección de errores se puede conseguir de dos formas. La primera, cuando se descubre un error, el receptor puede pedir al emisor que retransmita toda la unidad de datos. Con la segunda, el receptor puede usar un código de corrección de errores, que corrija automáticamente determinados errores.

VCR  (chequeo de paridad vertical o paridad de carácter)

Este método hace uso del agregado de bits de control.

Se trata de la técnica más simple usada en los sistemas de comunicación digitales y es aplicable a nivel de byte ya que su uso está directamente relacionado con el código ASCII.

Como se recordara, el código ASCII utiliza 7 bits para representar los datos, lo que da lugar a 128 combinaciones distintas. Si definimos un carácter con 8 bits (1 byte) quedara un bit libre para control, ese bit se denomina bit de paridad y se puede escoger de dos formas:
        
        ·        Paridad par
        ·         Paridad impar

Según el número total de unos en esos 8 bits, incluyendo el octavo bit (el de paridad), sea par o impar.




El uso de un bit adicional para la paridad disminuye la eficiencia, y por tanto la velocidad en el canal, el cálculo es sencillo pasamos de 7 bits de datos a 7+1, ello conduce de acuerdo a la expresión 2.10 a un overhead de (1- 7/8) 100% = 12.5% de disminución en la eficiencia.

En el extremo de transmisión el codificador de canal calcula el bit de paridad y lo adosa a los 7 bits de datos. El decodificador de canal recibe los 8 bits de datos calcula la paridad y la compara con el criterio utilizado.




Este método tampoco asegura inmunidad a errores, basta con que dos bits cambien su valor simultáneamente para que el error no sea detectado pues la paridad será correcta y el dato no. Sin embargo este sencillo sistema permite que una línea telefónica discada que transmite entre 103 y 104 bps con una tasa de error de 10-5 mejore a 10-7.

Debe mencionarse que en transmisión serial la interpretación de una secuencia 0 y 1 presenta un problema, pues el bit menos significativo se transmite primero y el significativo al último.

En una secuencia de tres letras ABC no hay duda de identificar a la A como la primera letra, sin embargo si escribimos sus códigos ASCII con el bit de paridad tendremos:



Esta representación induce a confusión pues no es la de transmisión serial. Tenemos dos alternativas para mejorarla:


         ·         Flecha a la derecha
El bit del extremo derecho del primer carácter es el primero en ser transmitido y el ultimo corresponderá al extremo izquierdo del ultimo carácter, la flecha indica el sentido en que fluyen los bits. Los datos para ser interpretados deben tomarse en grupos de 8 y ser leídos de derecha a izquierda.
               
         ·         Flecha a la izquierda


Este caso, es común cuando se utiliza un osciloscopio para monitorear líneas de datos ya que el primer bit recibido queda en el extremo izquierdo de la pantalla, la flecha indica aquí también el sentido en que fluyen los bits: requiere para interpretar correctamente los caracteres tomar grupos de 8 bits y leerlos de izquierda a derecha.


LRC (chequeo de paridad horizontal, longitudinal o de columna)

Este chequeo de paridad en vez de estar orientado al carácter lo está al mensaje, y consiste en que cada posición de bit de un mensaje tiene bit de paridad, así por ejemplo toman todos los bits b0 de todos los caracteres que componen el mensaje y se calcula un bit de paridad par o impar, según el criterio definido, este bit de paridad es el bit b0 de un carácter adicional que se transmite al final del mensaje, y se procede luego sucesivamente con los demás bits incluyendo el de paridad. El carácter así construido se denomina BCC (Block Check Character),


Históricamente entre el 75 y el 98% de los errores presentes son detectados por LRC, los que pasan desapercibidos se deben a limitaciones propias del método, así por ejemplo un error en b2 en dos diferentes caracteres simultáneamente produce un LRC valido.



Chequeo de paridad bidimensional (VRC / LRC)

La combinación de dos métodos precedentes proporcionan mayor protección y no supone gran consumo de recursos y, aunque tiene la misma sencillez conceptual de los métodos de paridad lineal, es más complicado y por ello menos popular.

El uso simultaneo de VRC y LRC hace que pasen indetectados errores en un número par de bits que ocupen iguales posiciones en un número par de caracteres, circunstancia muy poco probable.

En caso de que se trate de un solo error el uso simultaneo de VRC y LRC permite determinar con precisión cual es el bit erróneo y por tanto corregirlo. Otras combinaciones de errores pueden ser detectadas y algunas además corregidas.



No hay comentarios:

Publicar un comentario