You are on page 1of 10

TECNICAS DE CONTROL DE ERROR

1. INTRODUCCION Durante la transmisin de informacin digital a travs de un sistema o canal se producen errores prcticamente inevitables debido a la presencia de ruido y a otros factores tales como la interferencia intersmbolo, la intermodulacin y los ecos. Es por ello necesario establecer maneras, si n para evitar los errores, por lo menos para poder reconocer su presencia y si es posible corregirlos. El proceso de control de error es de gran importancia pues debido a la baja redundancia de los datos digitales, un grupo de nmeros o smbolos alfanumricos errneo puede parecerse a otro significando algo muy diferente. El concepto de redundancia lo podemos entender mejor mediante un sencillo ejemplo: el conjunto [00, 01, 10, 11] de palabras o mensajes binarios no es redundante porque todas las palabras posibles de dos dgitos binarios estn contenidas en el conjunto; un error de transmisin en cualquiera de las palabras la convierte en otra palabra vlida del conjunto y no habra manera de detectar el error. La redundancia es de capital importancia en el control de error pues, como lo estableci Shannon, no es posible transmitir sin error si los cdigos utilizados tienen cero redundancia. El primer mtodo de control de error que se utiliz fue el denominado ecoplex. En este mtodo el transmisor enva un carcter, el cual es recibido en el receptor y retransmitido como un eco hacia el transmisor, de aqu el nombre de ecoplex. En el transmisor se examina el carcter eco recibido para ver si difiere del carcter original; si es diferente simplemente se corrige el error y se transmite de nuevo. Como un error de transmisin puede ocurrir en cualquiera direccin, es posible que un carcter errneo en una direccin se convierta en el carcter correcto al regresar como eco y viceversa. Este mtodo fue muy popular en los sistemas de teletipo, aunque todava se utiliza en algunos sistemas de transmisin asincrnica. En los sistemas de comunicacin actuales el control de error se efecta mediante la aplicacin de cdigos especiales que agregan redundancia; estos cdigos son de la clase de cdigos de canal para diferenciarlos de los cdigos de lnea, vistos en el Captulo II. Esta redundancia agregada permite detectar y/o corregir los errores ocurridos durante la transmisin de los bloques de datos. En este captulo vamos a describir en forma algortmica algunos de los cdigos ms

utilizados para la deteccin y/o correccin de errores. La teora de los cdigos es una materia muy compleja y altamente matemtica y un estudio ms detallado de estos cdigos est fuera de los alcances de este libro.

2. DETECCION Y CORRECCION DE ERROR Cuando se recibe un bloque de dgitos binarios es necesario asegurarse de que no contiene errores de transmisin. Si se detecta que el bloque est en error, se tiene dos opciones: una es corregir el error en el sitio y la otra solicitar la retransmisin del bloque. Esta situacin ha producido las dos tcnicas de control de error comnmente utilizadas: la Correccin Directa de Error (Forward Error Correction, FEC) y la Solicitud de Repeticin Automtica (Automatic Repeat Request, ARQ). En la tcnica FEC se utilizan cdigos para detectar y corregir los errores en el receptor; mientras que en la tcnica ARQ los cdigos solamente detectan la presencia de errores en los datos recibidos y se solicita en alguna forma la repeticin de los bloques que vienen en error. La tcnica ARQ es la que se utiliza comnmente en los protocolos de comunicacin. Cualquiera que sea la estrategia de control de error, FEC o ARQ, la secuencia transmitida debe ser codificada, es decir, se le debe agregar una cierta redundancia. Esta codificacin se efecta en los CODEC y se localiza en la forma mostrada en la Fig. 7.1.

El diseador de sistemas de control de error se enfrenta entonces a dos problemas fundamentales: (a) Cmo sintetizar un cdigo con la redundancia deseada o las caractersticas FEC o ARQ requeridas y, por supuesto, cmo disear e instrumentar el codificador y el descodificador (el CODEC) en una forma eficiente y sencilla.

(b) Cmo hacer que el cdigo total (incluidos los dgitos redundantes) sea lo ms eficiente posible, es decir, que la redundancia agregada sea mnima y mximo el rendimiento. 2.1. Rendimiento y Redundancia de un Cdigo La inclusin de redundancia en la transmisin de datos tiene como consecuencia un aumento en la velocidad de modulacin de las secuencias transmitidas, lo cual se traduce en un aumento del ancho de banda requerido. Se puede definir entonces dos parmetros de gran inters en la codificacin: el rendimiento E del cdigo, y la redundancia R. En efecto: Rendimiento del Cdigo

y la Redundancia

Por ejemplo, para el cdigo [00, 01, 10, 11] se tiene:

En este cdigo es fcil observar que el conjunto de mensajes o palabras no tiene redundancia; esto quiere decir que cualquier error en un dgito convierte la palabra en otra palabra vlida pero diferente. En este caso no hay manera de detectar, y mucho menos corregir, cualquier error ocurrido en la transmisin. Comparemos esta situacin con la transmisin del idioma espaol que es altamente redundante; es evidente que al recibirse, por ejemplo, la palabra veloicdad, se puede detectar que hubo una permutacin entre la i y la c, pues la palabra tal como est escrita no existe en espaol. Por otro lado, un conjunto de mensajes puede ser parcialmente redundante, pero con una estructura que lo hace ineficiente en cuanto a la proteccin contra errores. Por ejemplo, en el caso de los nmeros telefnicos se puede decir que son

parcialmente redundantes, pues no todas las combinaciones de nmeros son utilizadas o que en algunos casos el orden de los dgitos pudiera tener algn significado. Este tipo de secuencias no es apropiado para ser protegido eficientemente contra errores de transmisin. Si mediante alguna forma controlada se le agrega dgitos de redundancia a una secuencia que necesita proteccin, la informacin adicional proporcionada por esos dgitos se puede utilizar para detectar y/o para corregir errores. Por ejemplo, en el cdigo [00, 01,10, 11] se le agrega a cada palabra un dgito extra de acuerdo con las siguientes condiciones: un CERO si el nmero de UNOS en la palabra original es par o ausencia de UNOS, o un UNO si el nmero de UNOS en la palabra original es impar. Esta es la denominada paridad par. El dgito extra se denomina dgito de paridad y el nmero de UNOS de la palabra resultante es el peso o ponderacin del cdigo. En la Fig. 7.2 se muestra este proceso.

En general, se dice que hay paridad par cuando la ponderacin (nmero de UNOS) de la palabra codificada es cero o par. Si la ponderacin es impar, se tiene la paridad impar. El cdigo tiene ahora la forma [000, 011, 101, 110] y se puede detectar un simple error en cualquiera de las cuatro palabras del cdigo. En efecto, supngase que se transmiti la palabra 101 y que debido a las condiciones de transmisin se recibi la palabra 111. En el receptor se recalcula el dgito redundante con base en los dos primeros obtenindose un CERO, pero esto est en conflicto con el dgito redundante recibido que es un UNO, de modo que el receptor deduce que hay un error presente, aunque no sabe si lo que se transmiti fue 101 011. De todas maneras, se ha detectado la presencia de un error que se puede corregir solicitando la repeticin o tomando alguna accin predeterminada.

Ejemplo 1 En las siguientes secuencias codificadas el dgito de paridad est en negrita. Diga qu tipo de paridad (Par o Impar) es: 100101101, 010111001010, 101001110111001001101, 0111100101000110100101000 Solucin: Recordemos la Regla de Paridad: Si la Ponderacin (nmero de UNOS en la palabra codificada) es cero o par, se tiene la Paridad Par. Si la ponderacin es impar, se tiene la Paridad Impar.

La verificacin efectuada por el receptor en el cdigo de la Fig. 7.2 se denomina prueba de paridad (parity check) y ella permite detectar errores sencillos o triples (error tambin en el dgito redundante), pero no errores dobles (por ejemplo, enviado 101, recibido 011). Ntese que esta prueba de paridad no permite la correccin ni de un simple error, pues no hay informacin suficiente en la redundancia agregada que permita hacerlo. El precio que se paga al agregar redundancia es una disminucin del rendimiento de transmisin y una exigencia mayor sobre el ancho de banda del sistema, pues si la velocidad de informacin se mantiene constante, hay que aumentar la velocidad de modulacin. Para el caso de la Fig. 7.2, se puede ver que el rendimiento y la redundancia son E% = (2/3)100 = 66,6% y R% = 33,3%; sin embargo, el ancho de banda requerido es 1,5 veces el ancho de banda original. El proceso de agregar redundancia se denomina codificacin y el de deducir la presencia o ausencia de errores, descodificacin. Hemos utilizado estos

trminos pues son la traduccin literal de las correspondientes inglesas (encoding y decoding), pero debe tenerse en cuenta que la palabra binaria ella misma es producida por otro proceso de codificacin previo. Los cdigos de deteccin solamente (ARQ) o de deteccin y correccin de error (FEC) se denominan, en general, Cdigos de Bloque. La redundancia se agrega a cada palabra de datos (o palabra mensaje) y la expresin total [datos + redundancia] se denomina palabra cdigo o palabra codificada. El nmero de dgitos en cada palabra cdigo es la longitud de bloque, y habr tantas palabras cdigo como palabras mensaje o palabras de datos. Si la palabra mensaje tiene m dgitos y la redundancia agregada es de k dgitos, la longitud de bloque de la palabra cdigo ser de n = (m + k) dgitos. Sera muy interesante poder calcular la probabilidad de error en un bloque de datos en un enlace dado, pero desafortunadamente esto es muy difcil. En primer lugar, porque los errores en los enlaces tienden a ser dependientes y ocurren en rfagas; no hay modelos matemticos apropiados para determinar la longitud o la intensidad de estas rfagas, las cuales varan ampliamente dentro de un mismo enlace. En segundo lugar, porque para cualquier cdigo razonable la frecuencia de errores es muy pequea y muy difcil de medir experimentalmente debido a sus caractersticas aleatorias. Como resultado de estas dificultades, la efectividad de un cdigo FEC o ARQ se caracteriza mediante tres parmetros: (1) la distancia mnima del cdigo, (2) la capacidad de deteccin de rfagas, y (3) la probabilidad de que una secuencia aleatoria de datos sea aceptada como libre de errores. La distancia mnima de un cdigo se define como el mnimo nmero de errores necesarios para convertir una palabra cdigo en otra. La longitud de una rfaga de errores en un bloque es el nmero de dgitos desde el primer dgito en error hasta el ltimo, ambos inclusive. La capacidad de deteccin de rfagas de un cdigo se define como el entero B ms grande tal que el cdigo pueda detectar todas las rfagas de longitud B. Todos estos parmetros se pueden calcular, pero eso est fuera de los propsitos de este libro. 3. ESQUEMAS DE DETECCION Y/O CORRECCION DE ERROR La necesidad de saber si los datos recibidos estn o n correctos impuls el diseo de numerosos esquemas o cdigos para la deteccin y/o correccin de errores. A continuacin vamos a describir algunos de los esquemas ms conocidos utilizados en las telecomunicaciones.

3.1. Repeticin La repeticin es la forma ms simple de deteccin de error. La redundancia consiste en transmitir cada dgito de informacin dos veces y las dos versiones se comparan en el receptor. En esta forma se puede detectar errores en alguno de los dgitos. Los dgitos de informacin se pueden repetir tambin dos o ms veces, y en el receptor se hace una prueba de mayora (O-exclusivo o mdulo2) para establecer el valor correcto del dgito de informacin si por lo menos uno de los ellos lleg en error. En general, m transmisiones del mismo dgito permite detectar (m 1) errores y corregir errores. Sin embargo, el precio a pagar en trminos del rendimiento es alto. En efecto, para m = 2 E = 1/2 para m = 3 E = 1/3 para m transmisiones E = 1/m pero la tcnica de deteccin y correccin es sumamente sencilla aunque lenta. Los cdigos de ponderacin constante son cdigos de bloque con N palabras cdigo que consisten en todas las secuencias binarias posibles de longitud n que contienen m UNOS. Por ejemplo, sea el cdigo siguiente donde:

n=4;m=2;N=6 1100 1010 1001 0101 0011 0110

Secuencias posibles:

N es el nmero de palabras cdigo y viene dado por

Las N secuencias particulares se obtienen desarrollando las 2n secuencias binarias tomndose aquellas que contienen m UNOS.

Con este tipo de cdigo se puede detectar errores simples, y errores dobles si los errores son ambos en los UNOS o ambos en los CEROS. Un esquema frecuentemente utilizado es aquel para el cual m = 3, n = 7 y N = 32, aplicado en la telegrafa. Estos cdigos se conocen tambin con las denominaciones cdigo m-de-n y cdigo de relacin fija o constante. Son de fcil instrumentacin, pero su rendimiento es relativamente bajo. Ejemplo 2 En el Cdigo de Ponderacin Constante, escriba todas las secuencias de longitud 5 que contienen tres UNOS. Solucin: n = 5; m = 3. Se desarrollan todas las 2n secuencias y de all se extraen aquellas que contienen tres UNOS; son 25 = 32 secuencias:

Las secuencias que contienen tres UNOS estn remarcadas en negrita; son 10. Por lo tanto, Nmero de palabras codificadas N = 10. Verificacin, expresin (7.3):

3.3. Suma de Verificacin (Checksum) En este mtodo la palabra mensaje forma un bloque sobre el cual se efecta una cierta operacin. El resultado de esta operacin se agrega como redundancia formando la palabra cdigo la cual se transmite. En el destino se repite la misma operacin sobre la palabra mensaje y el resultado de esa operacin se compara con la redundancia transmitida.

Si los dos resultados son iguales, se estima que el bloque de datos fue recibido correctamente, y se reconoce la recepcin correcta del mensaje; pero si los resultados no son iguales se considera que el mensaje est en error y se pide la retransmisin del mismo. Este es el procedimiento ms utilizado en los protocolos de comunicacin vistos. Uno de los esquemas ms conocido es la "suma de verificacin (checksum)" que se utiliza en el protocolo XMODEM. La operacin consiste en sumar los valores de los caracteres contenidos en el campo Informacin y dividir la suma por 255. El cociente se descarta y lo que se transmite como BCC es el resto de la divisin. Matemticamente, el BCC se puede generalizar mediante la expresin

donde N es el nmero de caracteres de la palabra mensaje; el nmero n de dgitos del BCC es igual a n log (N) 1 2 = + . En el caso del protocolo XMODEM, N = 128 y n = 8 dgitos; el BCC ir en un octeto. Ejemplo 3 Durante un intercambio de informacin en XMODEM la suma de los valores de los 128 caracteres contenidos en el campo Informacin es igual a 10850. Determine el BCC correspondiente. Solucin: En el CODEC se efecta la siguiente operacin (que para ms claridad la efectuamos en decimal, aunque en la prctica las operaciones son binarias o hexadecimales):

El BCC que se le agrega a la trama es entonces 00110001. Ntese que el LSB se enva de primero.

You might also like