P. 1
Deteccion y Correccion de Errores

Deteccion y Correccion de Errores

|Views: 2.976|Likes:

More info:

Published by: Cristhian Fernández on Dec 14, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/13/2013

pdf

text

original

Universidad Tecnológica Nacional Facultad Regional Tucumán Ingeniería en Sistemas de Información Cátedra: Comunicaciones Temas: Control de errores.

Cifra de error. Métodos de detección y corrección de errores. Año de revisión: 2009 Control de errores Un sistema de comunicación está expuesto a que ocurran errores durante la transmisión e interpretación de los datos, en especial por problemas de ruido que afectan a las diversas partes del sistema, principalmente a los canales de transmisión. Es necesario entonces, desarrollar e implementar procedimientos para el control de estos errores. El control de errores consta de dos partes: la detección de errores y la corrección de errores. La forma de controlar los errores consiste en enviar datos adicionales al contenido del mensaje (redundancia). Aunque se logra una mayor protección de los datos del mensaje contra errores, mayor es la cantidad de bits adicionales que no llevan información y la eficiencia del proceso de transmisión disminuye. Así por ejemplo, en la transmisión sincrónica debe existir un compromiso entre el tamaño de los bloques de cada mensaje y la eficiencia de la transmisión. Cuando más pequeños sean los bloques, menos probable será la necesidad de retransmitirlos, pero la eficiencia de la transmisión disminuye apreciablemente. Por otra parte, cuando los bloques de mensajes son largos, con el objeto de aumentar la eficiencia, una mayor proporción de estos bloques tendrán mayor probabilidad de errores y será necesario retransmitirlos, lo que a largo plazo puede disminuir aún más su eficiencia. En las transmisiones por la red telefónica conmutada, la tasa de error varía según la hora del día. Por ese motivo, cuando la tasa de error se eleva en exceso, lo más razonable es disminuir la velocidad de modulación. Tasa de errores: La tasa de errores sirve para medir la cifra de errores. Relaciona la cantidad de bits recibidos con error en el receptor con la cantidad total de bits transmitidos en un determinado tiempo o sesión. Se la denomina BER (Bit Error Rate) y su valor es típico para cada medio de transmisión en particular.

BER =

Cantidad _ de _ bit _ erróneos _ en _ Tiempo _ unitario Cantidad _ total _ de _ bit _ transmitidos _ en _ Tiempo _ unitario

Ejemplo: Un computador recibe desde una fuente remota un total de 2 Mb que corresponden a un archivo y a los datos de control para su transmisión. Si durante la transmisión se produjeron 20 bits erróneos, determinar la tasa de errores de dicha transmisión.

BER =

20bits = 10−5 2.106 bits

En una red telefónica, este valor es la “tasa típica de la red” y significa que se puede prever que se producirá un error de un bit en 100000 bits trasmitidos. En la actualidad, las redes telefónicas han mejorado la calidad de sus medios de transmisión y tienen tasas típicas de 10 −6 BER . En las redes de área local, donde las distancias son más cortas y la construcción de las redes son más exigentes y con pares trenzados de cobre, las tasas de errores son

1

Tipos de errores Según su distribución en el tiempo. si bien da cierto grado de protección. Si se emplean fibras ópticas. si el error se produce en el viaje de retorno. Métodos de detección y corrección de errores • • • • • • • • • Vertical (VRC) Longitudinal (LRC) Bidimensional o de doble paridad (LRC/VRC) Cíclica o entrelazada Código de redundancia cíclica (CRC) Hamming Hagelbarger Bose Chaudhurí Corrección de errores hacia delante (FEC) Detección Control de paridad Códigos polinómicos Códigos Auto correctores Corrección Técnicas 2 . Esta metodología reduce los costos aumenta el procesamiento total. un mensaje se transmite dos veces. Además. los errores se pueden clasificar en los siguientes tipos: • Errores simples o aislados: son aquellos que afectan a un solo bit cada vez y. Esto parece algo trivial. es una pérdida innecesaria de tiempo. Una metodología posible es no tomarlos en cuenta. no tiene la eficiencia de otros métodos más refinados. que consiste en que cada vez que se recibe un carácter o una unidad menor de información. Se usa en líneas de baja velocidad y. fabricación de equipos y enlaces de transmisión de datos que reduzcan el porcentaje de errores. • Errores agrupados: son aquellos que ocurren en tandas sucesivas de una cierta duración y que no afectan necesariamente a varios bits seguidos.mucho menores y del orden de 10 −8 BER a 10 −9 BER . En esta última estación se compara la información enviada con la transmitida desde el receptor. además son independientes entre sí en cuanto al momento de ocurrencia. Además incluye metodologías para detectarlos y corregirlos. se retransmite de vuelta al transmisor de donde provino. Otra metodología empleada es la prueba de eco. no es necesario que los errores sean tenidos en cuenta. pero no lo es tanto si se considera que en muchos casos. Este método desperdicia capacidad de transmisión pues. como mínimo. Tasa de error y velocidad de transmisión para diferentes tipos de canales Tipo de canal Línea de grado voz Velocidad bps 2400 9600 14400 28800 Línea digital tecnología ATM 155 Mbps a 622 Mbps Línea digital “Frame Relay” 2 Mbps Tasa de errores BER 1:50Kb 1:20Kb 1:10Kb 1:10Kb a 1:100Kb 1:100Mb a 1:1Gb 1:10Mb a 1:100Mb Consideraciones generales El control de errores implica técnicas de diseño. y en alguna oportunidad muchas veces más. por el tipo de información a transmitir y el uso que la misma recibirá. • Errores en ráfagas: son aquellos que afectan a varios bits consecutivos y ocurren en períodos indeterminados de tiempo. la tasa de error pude alcanzar hasta 10 −11 BER .

donde P representa el bit de paridad. El procedimiento se basa en la inclusión de bits redundantes que se agregan a la cadena de bits de datos (trama genérica). Para la verificación de la paridad existen cuatro métodos posibles: 3 . • Chequeo de redundancia vertical y horizontal (VRC y LRC): La paridad VRC es un esquema de detección de errores que usa para determinar si un error de transmisión ha ocurrido dentro de un caracter. Puede usarse paridad par o impar. Mientras que si usamos paridad par. Con la paridad. Con este procedimiento. para que sea un número impar (paridad impar) o un número par (paridad par). el bit P se hace 1. se detectan el 99. antes de la transmisión. Estos bits de control no transportan información alguna. La paridad LRC denominada longitudinal u horizontal utiliza el mismo esquema anterior. con la diferencia que el control de la paridad se realiza en cada una de las posiciones correspondientes de los bits del grupo de caracteres de datos con lo que se forma un bloque de bits de paridad o carácter de paridad que se agregan como bits redundantes a la cadena de caracteres de datos para el control. un número impar. Las técnicas usadas para la detección de errores no identifican cual bit es erróneo. no contando el bit de paridad. otros bits de control adicionales. • Código de redundancia cíclica (CRC): Es el esquema más confiable para la detección de errores. • Paridad. Involucra transmitir cada caracter dos veces. Las técnicas de detección de errores más comunes son: • Redundancia. Con el VRC. obtenidos del resto de una división no convencional. siendo el número total de unos igual a cuatro que es un número par. Se usa con códigos de 8 bits como EBCDIC o códigos de 7 bits como el ASCII. • Codificación de cuenta exacta. Hay 3 unos en el código. así mantenemos el total de unos en tres.especiales de transmisión • Técnicas especiales de repetición automática (ARQ) El proceso de monitorear la información recibida y determinar cuando un error de transmisión ha ocurrido se denomina control del error. Detección de errores mediante control de la paridad Se basa en añadir a la secuencia de bits de información transmitidos. Se divide el polinomio dividendo (trama genérica de bits) por un polinomio divisor normalizado de bits. Un ejemplo es la letra "C" del código ASCII que es 43 hex o P1000011.95 % de todos los errores de transmisión de una cadena de bits. pero previene que los errores detectados no ocurran. Con la codificación de cuenta exacta. Es el esquema de detección de error más usado para los sistemas de comunicación de datos y se usa con chequeo de redundancia vertical y horizontal. un solo bit (bit de paridad) se agrega a cada caracter para forzar el total de números unos en el caracter. solamente se indica que un error ha ocurrido. el bit P se hace 0. cada caracter tiene un bit de paridad agregado a él. Se puede utilizar también la paridad VRC y LRC combinada o matricial para determinar en qué posición de la cadena de datos se encuentra el bit erróneo. se descarta el cociente y se toman los bits del resto de la división que se agregan a la trama genérica para su transmisión y control. ha ocurrido error en la transmisión. Si se utiliza paridad impar. el número de unos en cada caracter. sino que solamente se utilizan para la verificación de la paridad de secuencia de bits de datos. El propósito de la detección de errores no es impedir que éstos ocurran. Si el mismo caracter no se recibe igual dos veces sucesivamente. incluyendo el bit de paridad. debe mantenerse constante. cuando no se utiliza la paridad (8º bit).

se efectúa el cálculo del bit de paridad correspondiente a cada carácter y se transmite carácter por carácter. y si son diferentes. se notifica por algún método al transmisor del error ocurrido en la cadena. Consiste básicamente en añadir un bit adicional al conjunto de 7 bits que constituyen el carácter en el código mencionado. Ejemplo: Carácter transmitido con el bit de paridad par: 0 1101111 Carácter recibido con doble inversión. Si esto ocurre. Al recibirse en el receptor estos 8 bits. caso contrario. El Código ASCII se forma con 7 bits de datos desde 0000000 al 1111111 (del 0 al 7F en hexadecimal) más el bit de paridad. se recalcula nuevamente la paridad y se verifica con el criterio utilizado en el transmisor (paridad par o impar). • Control de paridad longitudinal (LCR).• Control de paridad vertical (VCR). con la diferencia que el control de la paridad se realiza en cada una de las posiciones correspondientes de los bits del grupo de caracteres de datos con lo que se forma un bloque de bits de paridad o carácter de paridad que se agregan como bits redundantes a la cadena de caracteres de datos para el control. se da por aceptado el bloque de caracteres. se transmitirá un carácter completo denominado Carácter de Control del Bloque. transformándolos en cero. • Control de paridad bidimensional (LCR/VCR). El grave inconveniente de este método es que no se puede detectar la doble inversión de bits. El receptor. más conocido por su expresión en inglés Block Check Carácter (BCC). Al finalizar el bloque de N caracteres. la paridad resultante del carácter será correcta. se notifica por algún método al transmisor del error. cuando recibe esta cadena. recalcula la paridad de los bytes de datos y la BCC. que se produce cuando hay un doble error en un byte que afecta simultáneamente a dos unos. y su uso está relacionado fundamentalmente con el código ASCII. En el transmisor. • Control de paridad entrelazada o cícilica. El transmisor realiza el cálculo de la paridad en cada carácter y luego para todo el bloque generando un BCC que se transmite en esta cadena de bytes. Control de la paridad vertical (VRC) Conocido como VRC (Vertical Redundancy Check). se aplica a cada carácter o byte. D1 1 1 1 0 0 1 0 0 D2 1 1 1 0 0 0 0 1 D3 0 0 0 0 0 1 1 0 D4 1 1 1 0 1 1 1 0 D5 0 1 0 1 0 1 0 1 BCC 1 0 1 1 1 0 0 0 BP1 BP2 BP3 BP4 BP5 BP6 BP7 BPV Control de paridad bidimensional (VRC/LRC) Se puede utilizar también el control de la paridad VRC y LRC en forma combinada o 4 . o viceversa. Si son iguales los bits de paridad. Si los BCC son iguales. se da por aceptado que el carácter llegó sin error. bit 1 y 3 (doble error) con el bit de paridad par calculado: 0 1101010 Control de paridad longitudinal (LRC) La paridad LRC (Longitudinal Redundancy Check) denominada longitudinal u horizontal utiliza el mismo esquema anterior. pero evidentemente el dato transmitido es erróneo. En cualquiera de estos métodos la paridad puede ser par o impar.

cuarto y sexto.matricial para determinar en qué posición de la cadena de datos se encuentra el bit erróneo. se verifica un error VRC en el dato Nº 6 y un error LRC en la posición del bit Nº 4 que sirve para determinar en forma matricial que hay un error en esa posición de la cadena transmitida. mientras que el segundo proporciona la paridad de los bits segundo. El primer bit de paridad proporciona la paridad de los bits primero. columna 6 de la tabla de bits: D1 0 B1 1 B2 1 B3 0 B4 0 B5 0 B6 0 B7 VRC 0 D2 0 1 0 1 1 1 1 1 D3 0 1 0 0 0 1 1 1 D4 1 1 0 1 0 1 0 0 D5 0 0 0 0 0 0 0 0 D6 1 1 1 0 1 1 1 0 D7 0 1 0 1 0 1 0 1 D8 1 1 1 1 0 0 0 0 LRC 1 1 1 0 0 1 1 0 Al efectuar el control de la paridad VRC y LRC en el receptor. tercero y quinto. permite la verificación de todos los bits del mensaje mediante la utilización de un algoritmo matemático. Este método requiere de dos bits adicionales para el control de la paridad. Control de paridad entrelazada o cíclica Es un procedimiento que proporciona un nivel de detección de los errores de mayor calidad que el método VRC y menor que el LRC. Carácter transmitido: 010101 Generación de la paridad cíclica: X 0 1 X Bits X 0 1 X de datos X 0 1 X 0 BP1 1 BP2 Control de errores por el método de redundancia cíclica o polinomial (CRC) Conceptos generales del procedimiento Este método. Básicamente. En la figura siguiente se puede observar una palabra de seis bits de información y un esquema que indica gráficamente la forma en que trabaja este procedimiento. conocido también como polinomial. Ejemplo: Bytes transmitidos: D1 0 B1 1 B2 1 B3 0 B4 0 B5 0 B6 0 B7 VRC 0 D2 0 1 0 1 1 1 1 1 D3 0 1 0 0 0 1 1 1 D4 1 1 0 1 0 1 0 0 D5 0 0 0 0 0 0 0 0 D6 1 1 1 1 1 1 1 1 D7 0 1 0 1 0 1 0 1 D8 1 1 1 1 0 0 0 0 LRC 1 1 1 1 0 1 1 0 Bytes recibidos con un bit de error en la posición de la fila 4. 5 .

Finalmente. Ejemplo de suma: 11101001 + 10011100 01110101 Ejemplo de resta: 11010001 -10010110 01000111 Como ejemplo. 3. 2. Como resultado de esta división. que es el polinomio a transmitir. El método se basa en la detección de errores por medio de operaciones aritméticas con polinomios que utilizan la técnica conocida como de módulo 2. se procede a obtener un polinomio que denominaremos T(x). se muestra una operación de suma y luego otra de resta. se notifica al transmisor del error mediante otro procedimiento. toman la forma de X elevado a una potencia de la posición del bit dentro de la secuencia a transmitir. ni de préstamo para la resta. Definimos un polinomio G(x) de grado r (generador). 7. Forma de ejecutar el procedimiento: 1. Cuando se recibe esta trama generadora. se obtendrán otros dos polinomios. Definimos un polinomio M(x) de grado n con los bits del mensaje. Para una mayor comprensión de lo expuesto. Este último se transmite con la secuencia de bits sobre la que se quiere efectuar el control de errores. el receptor vuelve a efectuar la división por el polinomio conocido. se interpreta que el mensaje llego sin error. 6. 5. 6 . M(x) X r / G(x) = C(x) + R(x). El grado n del polinomio M(x) debe ser: n>>r. junto con el resto de la división en el transmisor y enviarlo al receptor. y los bits de valor uno. Los pasos que se realizan son: 1. en la que no hay términos de acarreo para la suma. De dicha división se obtendrá un polinomio resto R(x) que siempre debe tener un número de bits igual o menor que r. de la forma M(x) X r (recordar que M(x) es de grado n). 8. mediante el método de módulo 2. el mensaje 11011011 puede ser expresado como un polinomio de grado n = 7 porque tiene 8 términos desde el grado cero: 1x 7 + 1x 6 + 0 x 5 + 1x 4 + 1x 3 + 0 x 2 + 1x1 + 1x 0 = x 7 + x 6 + x 4 + x 3 + x1 + 1 Los términos correspondientes a los bits de valor cero se anulan. 4. caso contrario. denominados cociente y resto. En el receptor se reciben el mensaje a controlar junto con el polinomio del resto de la división. Estas operaciones son realizadas con circuitos digitales convencionales que ejecutan la función OR EXCLUSIVA. Se forma un polinomio que contenga (r+n) bits. por un polinomio conocido. Definimos un polinomio auxiliar de valor X r de grado r más alto que tenga G(x). los bits correspondientes al polinomio M(x) X r y del polinomio resto R(x). grado del polinomio resto. donde C(x) es el cociente de la división y que no se utiliza o se descarta. Éste resulta de restar.consiste en dividir el mensaje de información que se quiere enviar. y si el resto de la división es cero. Se divide el nuevo polinomio formado de la forma M(x) X r por el polinomio generador G(x).

Su forma es la siguiente: P( x) = x 12 + x 11 + x 3 + x 2 + 1 Para finalizar con este método. En general. primero debemos efectuar los siguientes pasos: 1. es decir: M(x) = x9 + x8 + x6 + x4 + x3 + x +1 1.1 Definimos un polinomio M(x) de grado n con los bits del mensaje.998 para ráfagas mayores a 17 bits. Para determinar el resto de la división. resulta muy poco probable que E(x) no sea detectable. 99.997 % para ráfagas de hasta 17 bits.2 Definimos los bits del polinomio G ( x) = x 4 + x + 1 G(x) de grado r como: 10011 1. 3) La verificación del error en el receptor.3 Definimos el polinomio auxiliar X r como: x4. Polinomio CRC-12: está indicado para caracteres codificados con 6 bits. Si se introducen errores en la transmisión se recibirá: T(x) = T(x) + E(x). 4. En los tres polinomios. 7 . Como se puede observar. 2) La trama de bits T(x) enviada por el transmisor. tres polinomios se han convertido en normas usadas internacionalmente.2. ha normalizado el siguiente polinomio generador: P( x) = x 16 + x 12 + x 5 + 1 Su rendimiento es igual al anterior. siempre que este último sea bien escogido (por ello el uso de estos polinomios normalizados). Determinar: 1) El resto de la división R(x). Polinomio normalizado por la UIT-T: el CCITT. el término (x+1) está contenido como factor primo. Polinomios generadores En particular. Resolución: 1. daremos un ejemplo de detección de errores por CRC. T(x) = M(x) X r + R(x) 3. donde E(x) será la componente de error y entonces el polinomio recibido deja de ser divisible por el polinomio generador. Polinomio CRC-16: se usa para caracteres codificados con 8 bits y cuyo polinomio es el siguiente: P( x) = x 16 + x 15 + x 2 + 1 Este polinomio generador es capaz de detectar entre otros: *Errores simples: 100% *Errores dobles: 100% *Errores impares: 100% *Errores en ráfagas: 100% para ráfagas menores a 17 bits. Sea un mensaje 1101011011 y un polinomio generador de la forma G ( x) = x 4 + x + 1 . 99. sobre la base de pruebas prácticas con diversas opciones. el polinomio T(x) será siempre divisible por el polinomio generador G(x).

Si por ejemplo. 11010110111110/10011 10011 1100001010 010011 10011 0000010111 10011 0010011 10011 0 0 0 0 0 0 _ resto Como el resto de la división da cero para todos los bits del residuo. Caso contrario.1. 3. sin embargo. El control del error en el receptor se realiza dividiendo T(x) / G(x). 8 . ya tenemos los bits del dividendo y del divisor para efectuar la división no convencional mediante una función or exclusivo de módulo 2 para la resta en el dividendo hasta obtener el resto de la división: 11010110110000/10011 10011 1 1 0 0 0 0 1 0 1 0 _ no se tiene en cuenta 010011 10011 0000010110 10011 0010100 10011 0 0 1 1 1 0 _ resto o residuo El resto de la división se trunca en los últimos 4 bits. donde los cuatro últimos ceros de la trama generadora son ocupados por el resto de la división.5 Definimos los bits del polinomio M ( x) x r = x 13 + x 12 + x 10 + x 8 + x 7 + x 5 + x 4 como: 11010110110000 De esta manera. La trama T(x) enviada por transmisor vale: 1 1 0 1 0 1 1 0 1 1 1 1 1 0. un caracter único que es indefinido por el código de caracteres. a partir de la verificación de la existencia de los mimos. Los métodos más comunes para la corrección de errores son: Sustitución de símbolos. se sustituye por el caracter malo. significa que el mensaje ha llegado sin error.4 Definimos el polinomio M ( x) x r = ( x 9 + x 8 + x 6 + x 4 + x 3 + x + 1) x 4 . Se analizan los datos recibidos y se toman decisiones sobre su integridad. es decir que vale: 1 1 1 0 2. y todo esto es llevado a cabo por la persona que está a cargo del sistema. Corrección de errores Hasta aquí hemos considerado solamente la detección de los errores. el resto sería diferente de cero. se mostraría como "ComunicacióÞ". y no se necesita la retransmisión. Si un caracter se recibe con error. si se hubiera producido un error en cualquiera de los bits de la trama T(x). M ( x) x r = x 13 + x 12 + x 10 + x 8 + x 7 + x 5 + x 4 1. Un operador puede discernir el mensaje correcto por inspección. es necesario la retransmisión. en vez de revertirse a un nivel superior de corrección de errores o mostrar el caracter erróneo. verificando el residuo de la división. Pero si el mensaje no se puede descifrar. el mensaje "Comunicación" se recibe con un error en el último caracter. es decir. en la terminal de recepción. se pueden adoptar dos posturas diferentes: corregirlos o no tomarlos en cuenta. Se diseña para usarse en un ambiente humano.

Seguimiento de corrección del error hacia delante (FEC). Se puede apreciar claramente que cuando se eligen velocidades muy altas. se produce la paradoja de que aumentando la velocidad de modulación disminuye la velocidad real de transferencia de datos. La terminal de recepción automáticamente pide la retransmisión de todo el mensaje mediante un aviso al transmisor. existen otros códigos mas complejos.99% de los mismos. Técnicas de corrección de errores Consideraciones generales: Existen dos estrategias fundamentales para la corrección de errores: _ Corrección hacia delante. que significa petición automática para retransmisión. hasta que sean recibidos libre de errores. Corrección hacia delante: Este técnica se denomina también FEC (Forward Error Correction). De ahí la importancia de este tema en el diseño de cualquier sistema. Imaginemos. Uno de los tantos métodos conocidos es a través de la codificación de Hamming. puede producir problemas graves. Este sistema implica la retransmisión de los datos tantas veces como sea necesario. control del error y corrección automática del o los bits erróneos. En algunas aplicaciones. Cuando se detecta un error en el equipo receptor. una aplicación bancaria y nos daremos cuenta de los daños que se podrían producir si no se resuelve adecuadamente la corrección de los errores. la mayoría de las técnicas que normalmente se emplean. como se ha visto anteriormente. Aunque estos métodos hacen jnnecesaria la retransmisión. De esto se desprende la importancia de una buena elección de la velocidad de modulación en el caso de las transmisiones por canales analógicos mediante módems de datos. 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. se agregan bits redundantes al mensaje y se lo codifica antes de la transmisión. que se basa en la inclusión de bits redundantes colocados en determinadas posiciones de una cadena de bits de datos para formar un código que permite el control para la detección y la corrección de un bit erróneo en una cadena de bits transmitidos. Con FEC. automáticamente del lado receptor. Para la detección y corrección de errores de más de un bit en una cadena de bits transmitidos. De ahí la llamada corrección hacia atrás. es la que más interesa al administrador del sistema informático. Corrección hacia atrás: Consiste en el uso de sistemas de detección de errores. Si bien resulta casi imposible corregir la totalidad de los errores.Retransmisión (ARQ). La retransmisión también se llama ARQ. sin pedir retransmisión. El receptor realiza la decodificación. por ejemplo. Es el único esquema de corrección del error que detecta y corrige los errores de transmisión. se basa en el uso de códigos autocorrectores 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. llegan a corregir el 99. la no corrección de errores. 9 . respecto de las que el canal de comunicaciones realmente puede soportar. los errores provocan una pérdida de tiempo mayor que la ganancia que presumiblemente se iba a obtener con una velocidad superior. éste solicita al equipo transmisor la repetición del bloque de datos transmitidos. Es volver a enviar un mensaje. Dicho en otras palabras. que en última instancia. cuando se recibe una señal de error. no son neutros al usuario. _ Corrección hacia atrás.

Las desventajas son: _ El enlace es factible solamente entre dos estaciones al mismo tiempo. pasando luego el equipo a la posición de reencendido (restart). Puede utilizarse un código CRC para determinar si los datos del bloque contienen errores. resulta ser el más efectivo y. el emisor deja de enviar datos y queda a la espera de que el receptor confirme los datos pendientes. se emplean para la transmisión de bloques de más de 512 bytes. Requerimiento automático de repetición: También conocido como ARQ (Automatic Retransmissión Request). se utiliza solamente entre dos estaciones. el método consiste en pedir la retransmisión del carácter o grupos de caracteres hacia el receptor. aún cuando no existan errores que corregir. siempre que este método pueda ser usado. Este sistema se suele denominar control por medio del eco o echo checking. y será mucho más lento a medida que se incremente el número de errores. Normalmente. en muchas aplicaciones es necesario el uso de este tipo de código porque no resulta posible o conveniente pedir la retransmisión de los datos. Sin embargo. pero sin enviar datos. En particular. _ La estación receptora debe tener en operación un equipo transmisor para acusar recibo y solicitar la retransmisión. 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. El sistema consiste en la transmisión de pequeños bloques de datos. 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 rede de transmisión de datos. en general 32. La mayor ventaja de este método es que prácticamente garantiza una transmisión de datos. La petición automática de retransmisión (ARQ) es una técnica basada en comprobar si los datos recibidos contienen errores y solicitar de forma automática una repetición de la transmisión. el proceso puede llegar a repetirse hasta un determinado número de veces. El transmisor debe almacenar los bloques transmitidos en un buffer adecuado hasta que reciba confirmación. el más usado. suponiendo que el enlace es posible. En caso de detectarse un error. _ El sistema ARQ es más lento que el de Corrección de Errores hacia delante (FEC). Cuando el número de bloques de información que no han recibido confirmación supera el valor de la ventana de emisión. luego. por lo tanto. En caso de que la comprobación sea satisfactoria envía un símbolo de reconocimiento positivo (ACK). Cada bloque tiene 8 caracteres de 7 bits cada uno. libre de errores. piden su retransmisión inmediata.Sin embargo. el número de bloques de información o tramas que se pueden encontrar sin confirmación en cualquier instante está limitado por un valor denominado en algunos protocolos “ancho de la ventana de emisión”. Si el receptor hubiera detectado un error. Una vez detectada la existencia de un error (por intermedio del o los bits de paridad o por códigos de redundancia cíclica). poseen capacidad para detectar errores y cuando los detectan. 10 . enviando en algunas ocasiones mensajes de interrogación. La corrección por retransmisión requiere una tecnología sencilla y poca capacidad de memoria. Con esto se evita tener que disponer de un buffer de emisión demasiado grande y al mismo tiempo da la posibilidad al receptor de controlar parcialmente su mecanismo de recepción y confirmación. requerirá la retransmisión del bloque anterior. Si el CRC calculado en el receptor detecta errores envía un símbolo de reconocimiento negativo (NAK) al transmisor. la fuente espera que la estación receptora le envíe un nuevo requerimiento para la transmisión de un nuevo bloque de datos. ya sea por razones de seguridad o por necesidades de la misma operación del sistema informático asociado.

7.Existen tres formas básicas de ARQ: 1. Envío y espera: el sistema espera la confirmación por parte del receptor de cada uno de los bloques. Si las tasas de error son elevadas. La mayor desventaja de este método son los largos períodos en los que el canal permanece inactivo pero tiene la ventaja de que el protocolo es sencillo. Más información leer bibliografía recomendada. 2. Envío continuo no selectivo: se lo denomina también “retroceda n” necesitan emplear un canal full-dúplex para enviar por un canal los bloques al receptor y por el otro de retorno. si se guardan 5 bloques. mandar simultáneamente las señales ACK y NAK de los bloques que se están recibiendo. Envío continuo selectivo: permiten que el transmisor envíe datos hasta que se recibe un NAK. el bloque original se retransmite y en caso de que se reciba un ACK se continúa con el siguiente bloque. ante la recepción de un NAK. La siguiente figura muestra los tres métodos básicos de ARQ. Las técnicas ARQ no necesitan que se añada tanta redundancia de bits a los distintos bloques de datos como sucede con los códigos auto correctores ya que permiten al emisor que controle la comunicación. Solamente el bloque erróneo que se identifica al recibirse la señal NAK. En caso de que se reciba un NAK. El protocolo SDLC especifica que pueden emitirse hasta 7 bloques de información antes de que se reciba una señal de confirmación. Transmisor 1 2 3 3 4 4 5 6 ACK Receptor 1 2 ACK 3 Error NAK 3 ACK 4 Error NAK 4 ACK 5 ACK 6 ACK ENVIO Y ESPERA Transmisor 1 2 3 4 5 3 4 5 6 7 8 6 7 8 9 10 ACK NAK ACK NAK ACK Receptor 1 2 3 Error 4 5 3 4 5 6 Error 7 8 6 7 8 9 10 ENVIO CONTINUO NO SELECTIVO Transmisor 1 2 3 4 5 3 6 7 8 9 10 8 11 12 13 14 ACK ACK NAK ACK ACK ACK ACK ACK NAK ACK ACK ACK ACK ACK Receptor 1 2 3 Error 4 5 3 6 7 8 Error 9 10 8 11 12 13 14 ENVIO CONTINUO SELECTIVO 11 . interrumpiendo su actividad en caso de no recibir respuesta. el transmisor registra el suceso y busca en el buffer el número previo al suceso y retransmite el bloque erróneo juntamente con los bloques restantes aunque no se registren errores hasta que se reciba un ACK de fin de bloque. por ejemplo. de modo que N puede valer como máximo. En estos protocolos. 3. El transmisor debe guardar previamente los N bloques en un buffer para poder retransmitirlos cuando sea necesario. los sistemas ARQ pueden verse saturados por las peticiones reiteradas de retransmisión. es el que se retransmite.

• Menor tiempo de transmisión. No obstante. Para un mismo carácter pueden suceder los casos indicados en esta otra figura: Posibles operaciones del FEC Caracteres Serie Dx Serie Rx Sin error Sin error Se ordena imprimir el caracter Con error Sin error Se ordena imprimir el carácter Sin error Con error Se ordena imprimir el carácter Con error Con error Se ordena imprimir un carácter especial que indica error en la recepción Las ventajas del sistema FEC. Mensaje Dx ================================================== * * 1 * 2 * 3 1 4 2 5 3 6 4 7 5 8 6 9 * ================================================ Mensaje Rx Los asteriscos representan los caracteres anteriores a la serie transmitida en el ejemplo. 12 . • No requiere el empleo de transmisores en las estaciones receptoras. la cantidad de bits que es necesario añadir es mucho mayor que la que se necesitaría para poder detectar la presencia de errores. Por ejemplo si se desean enviar caracteres del 1 al 9 como los indicados en la figura. permitiendo que cada mensaje se envíe dos veces. Este método se usa en ciertas aplicaciones especiales. También es aplicable en los sistemas digitales que trabajan en tiempo real. la estación receptora tiene dos oportunidades de recibir correctamente cada carácter. se emplea en los casos en que hay más de una estación receptora y no se necesitan réplicas por parte de estas últimas. serán las únicas habilitadas para recibir el mensaje. y además ubicar la posición del bit en donde se ha producido dicho error. La estación receptora examinará primero la serie Dx y luego la serie Rx. Este método se conoce en telecomunicaciones como transmisión por difusión (Transmisión Broadcasting). en el caso de canales unidireccionales sin retorno o en 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. son los siguientes: • Se pueden transmitir mensajes a varias estaciones receptoras. como por ejemplo. con respecto al sistema ARQ. Funciona en el modo denominado diversidad de tiempo (Time Diversity). Consecuentemente. Este procedimiento agrega suficiente redundancia para que el receptor pueda detectar la presencia de un error. por ejemplo.Corrección de errores hacia delante: También conocido como FEC (Forward Error Correction). Para poder realizar esta última operación. por medio de la cual la estación transmisora emite un código correspondiente sólo a determinadas estaciones receptoras. intercalando los caracteres en diferentes instantes. el transmisor enviará el mensaje tal como se indica. las cuales. existe una variación del sistema de Corrección hacia delante denominada SEL/FEC (Selective FEC). consecuentemente. aquellos que actúan sobre un proceso industrial a partir de los valores de ciertas variables del proceso.

y sean también las secuencias S2. S3. S1 y S2. en algunos casos. Para H=1. la distancia de Hamming varía de 1 a 4. menor será la probabilidad de cometer errores. Para interpretar el funcionamiento de estos códigos. cuanto mayor sea la distancia mínima entre los bits de los símbolos de un código dado. también llamados códigos de acción progresiva. Estos métodos no son sencillos. que permite detectar un error pero no corregirlo. por lo que se puede deducir que se trata de un error. que corresponde a la letra B en el Alfabeto Internacional Nº 5 de la UIT-T. En efecto. a fin de recibir una confirmación de lo transmitido en sentido inverso al cabo de un cierto número de mensajes. 13 . Para demostrar este concepto. se ha tomado como referencia la secuencia S1. de la misma longitud. debemos analizar previamente el concepto denominado “Distancia de Hamming”. y los hay de distintos tipos: los más conocidos son los códigos Hamming. Como se puede observar en este ejemplo. En efecto. pues la alteración de un bit de datos dará por resultado una nueva combinación que tiene asignado otro símbolo como válido. la primera de las secuencias con las restantes. es posible detectar la presencia de un bit erróneo. Sin embargo. los respectivos conjuntos. Sea por ejemplo. Distancia de Hamming: Es el número de bits en que difieren dos secuencias binarias.En este último caso también se usa un método combinado ARQ/FEC. La distancia de Hamming está relacionada con la probabilidad de error. la alteración de un solo bit da una combinación que no tiene asignado un símbolo válido. Los resultados de este ejemplo se muestran en la siguiente tabla: Conjunto S1 S2 S3 S4 S5 Distancias de Hamming Representa Secuencia binaria B 0100001 C 1100001 D 0010001 E 1010001 U 1010101 Distancia -1 2 3 4 A efectos de la comparación y del cálculo de la Distancia de Hamming. una vez detectados. con esta distancia mínima para construir un código dado. Para H=2. aumentando la redundancia de bits se logra disminuir la probabilidad de ocurrencia de datos erróneos pero aumenta la cantidad de bits utilizados para la codificación de un símbolo. recomendamos leer la bibliografía recomendada al final de este artículo. Esta situación es la que se produce cuando se usa un bit de paridad. la secuencia S1. como valor mínimo de la distancia de Hamming para construir un código dado no es posible detectar ni corregir ningún error. la Distancia de Hamming estará dada por la cantidad de bits en que difieren uno a uno. Si comparamos bit a bit de igual peso. entre otros. Corrección de errores mediante códigos auto correctores Introducción: Los métodos de corrección de errores mediante el empleo de códigos auto correctores se basan en códigos que tienen la suficiente redundancia para que. aumentar las distancias de Hamming mínima entre símbolos codificados significa codificar menos símbolos con igual número de bits. se puedan corregir los errores sin necesidad de proceder a la correspondiente retransmisión. La redundancia se extiende desde unos pocos bits hasta llegar. pero no corregirlo. En otras palabras. al doble que represente un carácter o aún a una cantidad mucho mayor que los necesarios para transmitir un carácter. S4 y S5 correspondientes a otras letras del mismo alfabeto. Hagelbarger y Bose-Chaudhurí.

En caso de que no exista error. con esta distancia mínima para construir un código dado es posible detectar bytes con 1 o 2 bits erróneos.Para H=3. En general. El número p de bits añadidos debe ser suficiente para permitir la detección y la ausencia de error en las n + p posiciones. En este nuevo código se realizan p detecciones de paridad en bits seleccionados de la cadena. también es posible corregir los bytes que tengan un solo bit erróneo. Además. cuyo equivalente decimal nos indica la posición del bit erróneo. es posible detectar el byte con error y luego efectuar la correspondiente corrección. dicho número debe ser cero. obteniéndose un nuevo código de n + p bits. obteniéndose un bit de paridad uno o cero según el número de bits sea par o impar. Detección corrección de errores en función de H Distancia de Hamming Control de errores Detección Corrección 1 No No 2 Uno No 3 Dos Uno 4 Tres Uno 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. Este ejemplo nos permite inferir que la capacidad de detección y corrección de errores es función del valor de H. En efecto. ya que si se sabe que ha habido un solo error. En la siguiente tabla se indica la relación entre el valor de H y la capacidad de detección y corrección de errores. El conjunto de los p bits de paridad forma un número en el sistema binario natural. la alteración de 1 o 2 bits dará lugar a combinaciones que no representan ningún otro símbolo válido. la distancia mínima de un código para que permita corregir errores de n bits debe ser: dm = 2n + 1. Dado que con p bits se obtienen 2n combinaciones. 14 . TRANSMISOR RECEPTOR Algoritmo Algoritmo Fuente Datos Datos Codificados Procesador Detección y auto corrección de errores Datos decodificados Destino Bits de Paridad De la tabla anterior vimos que un código de distancia mínima de Hamming igual a tres permite detectar errores de dos bits y corregir errores de un bit. se debe cumplir la relación: 2n ≥ p + n + 1 . valor que hemos denominado Distancia de Hamming. Los códigos de Hamming están basados en la adición de p bits a un código de distancia unidad de n bits.

Por lo tanto. Es decir: C1 = b1 ⊕ b3 ⊕ b5 ⊕ b7 C2 = b2 ⊕ b3 ⊕ b6 ⊕ b7 C3 = b4 ⊕ b5 ⊕ b6 ⊕ b7 Para lo cual ha de cumplirse la condición de que el número de unos debe ser par en las combinaciones b2. en sus respectivas posiciones y con los bits de menor a mayor peso de derecha a izquierda: 15 . En la siguiente tabla se presentan todas las combinaciones de los bits C1. b3. el número de bits que se deben añadir es 3. b5 y b7 de las combinaciones del código. b5.Como ejemplo de aplicación del código de Hamming. b5. b7 y b4. y cero en caso contrario. C2 y C3. un error en cualquiera de esos cuatro bits lo convierte en impar. C1 debe valer 1 si el número de unos en la posiciones b1. El bit b1 debe valer 1 si el número de unos de b3. son necesarias 8 combinaciones binarias que denominaremos “correctoras de error”. Nº decimal equivalente C3 C2 C1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 El bit C1. y cero en caso contrario. b3.b7. toma el valor 1 si se producen errores en los bits de posición b1. los elegiremos como bits añadidos a la combinación BCD de datos formada por b3. C2 y C3. dado que 23 = 4 + 3 + 1. b6. se puede formar una tabla para el código de Hamming que represente los 4 bits de datos y los 3 bits de paridad. La función lógica que cumple las condiciones especificadas es la función lógica OR EXCLUSIVA. juntamente con el número decimal equivalente al binario formado por ellos que ha de indicar la posición errónea. por lo tanto: b1 = b3 ⊕ b5 ⊕ b7 b2 = b3 ⊕ b6 ⊕ b7 b3 = b5 ⊕ b6 ⊕ b7 En consecuencia. vamos a utilizar un código decimal codificado en binario natural. Para detectar los 7 posibles errores de un bit en cada una de las posiciones y la ausencia del error. Si este código BCD adoptado es de n = 4 bits. b6 y b7 de la cadena. Dichas combinaciones se obtienen mediante 3 bits que denominaremos C1. Si el número de “unos” existentes en esas cuatro posiciones es siempre “par”. Para lograr estas condiciones se deben generar adecuadamente los tres bits de paridad que se añaden a los cuatro bits de datos de la combinación de datos BCD.b5 y b7 es impar. Dado que b1. b2 y b4 solo aparecen una vez en cada una de las expresiones anteriores. b5 y b7 es impar. b3. b6.

b6 y b7 de los datos de información. generada por el transmisor. Para detectarlo. La tasa de error en el diseño de sistemas de transmisión de datos. El bit b2 que corresponde a p2 controla las posiciones b3. 21. y el bit b4 que corresponde a p3 controla las posiciones b5. cuando se diseña o se implanta un determinado sistema con su correspondiente tecnología asociada. Si las tres comprobaciones dan cero. C2 y C3 en la cadena 0 1 0 0 1 0 0. El error puede producirse en cualquier lugar de la cadena ya sea en la posición de los datos o de los bits de paridad y la comprobación es siempre válida. Recordemos que para detectar y corregir un bit erróneo en una cadena de un código de 4 bits de datos hemos necesitado 3 bits adicionales como mínimo para detectar y corregir un error de un bit de una cadena de 7 bits de un código auto corrector de Hamming. Caso contrario. se observa que para 4 bits de datos. C1 = b1 ⊕ b3 ⊕ b5 ⊕ b7 = 0 ⊕ 1 ⊕ 0 ⊕ 0 = 1 C2 = b2 ⊕ b3 ⊕ b6 ⊕ b7 = 0 ⊕ 1 ⊗ 1 ⊕ 0 = 0 C3 = b4 ⊕ b5 ⊕ b6 ⊕ b7 = 0 ⊕ 0 ⊕ 1 ⊕ 0 = 1 La combinación de C3. El bit b1 que corresponde a p1 controla las posiciones b3. se hace la verificación del error a través de los códigos correctores C1. equivalente al número decimal 5 que es la posición desde derecha a izquierda del bit erróneo donde el receptor procede a invertir el bit.Nº decimal equivalente 0 1 2 3 4 5 6 7 8 9 I7 I6 I5 p 4 I3 p 2 p 1 b7b6b5b4b3b2b1 0000000 0000111 0011001 0011110 0101010 0101101 0110011 0110100 1001011 1001100 En la tabla. deben tenerse presente los siguientes aspectos: 16 .22. C2 y C1 indica el número decimal equivalente del lugar de la cadena donde se ha producido el error. se necesitan 3 bits adicionales de paridad. C2 y C1 es 101. A partir de esta tabla. b5 y b7 de los datos de información. el transmisor genera estos siete símbolos codificados. Ejemplo: Dada la cadena de bits 0110100 que corresponde al número decimal 7. están en relación al valor 20. comprobaremos el valor lógico de C1. y así sucesivamente. no hay error. Cuando llegan al receptor. La posición de estos bits de paridad en la cadena de 7 bits. que corresponden a la posición 1 para p1. C2 y C3. 2 para p2 y 4 para la p3. La presencia de errores en el diseño de los sistemas de transmisión de datos no puede ser omitida nunca. b6 y b7 de los bits de datos de información. Por este motivo. el número binario formado por C3. comprobar el error si en el receptor se ha recibido la cadena 0100100.

Fusario.Antonio R. la tasa de error es normalmente menor que en las comunicaciones remotas. • La cantidad de información a transmitir por unidad de tiempo: que se corresponda con el concepto definido como velocidad real de transferencia de datos. Marcombo • 17 . Reverté “Redes de Computadoras” – Andrews S. se deberá determinar: • El ancho de banda del canal que será necesario usar. • La velocidad de transmisión que es necesaria para satisfacer los requerimientos del sistema. • Los medios de comunicaciones y elementos técnicos que podrán cumplir con dichos requerimientos. • El tipo de control de errores que se requiere.William Stalling. Bibliografía recomendada: “Comunicaciones y Redes de Computadores”. Castro Lechtaler y Rubén J. Edit. Edit. Prentice Hall “Técnicas Digitales” – Enrique Mandado – Edit. Tanenbaum – Edit. tanto para las comunicaciones locales como para las remotas. Basándose en los aspectos anteriores. En el caso de las comunicaciones locales.La tasa de error. Prentice Hall “Teleinformática”. • Los medios para recuperar la información afectada por errores.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->