Sei sulla pagina 1di 72

Control de errores

Ingeniera en Informtica

Ing. Omar M. Antonio

Objetivos

Contenido

Deteccin de errores

Funciones de la Capa de Enlace Control de Errores: Deteccin y correccin mediante alguna de las tcnicas siguientes:
Control directo de errores (FEC) Peticin automtica de retransmisin (ARQ) Control de Eco, utilizado para transmisiones asncronas.

Control de Flujo: Regulacin del ritmo de envo de tramas del transmisor al receptor mediante alguna de las tcnicas siguientes:
Parada y Espera. Ventana Deslizante.

Deteccin y Correccin de Errores Todo canal de transmisin de datos introduce errores en la informacin transmitida.
Tasa de errores (BER): Relacin entre el nmero de bits errneos recibidos y el nmero de bits transmitidos.

Redundancia: Informacin que se aade al mensaje transmitido para permitir la deteccin y correccin de errores.

Deteccin y Correccin de Errores Tipos de Errores


Error de Bit. Error de Rfaga: Una cadena de bits contiguos errneos.
A una mayor velocidad de transmisin, un mismo error afecta a ms bits. Un ruido de 1/100 segundos puede afectar:
Si se transmite a 1 Kbps, a 10 bits. Si se transmite a 1 Mbps, a 10.000 bits.

Tipos de errores Error de Bit simple

Error de Bits mltiples Error de rfagas

Deteccin y Correccin de Errores


Deteccin de Errores:
Para detectar errores es necesario aadir una redundancia que permita determinar mediante algn algoritmo que la informacin recibida no es correcta Si se retransmite dos veces el mismo mensaje es muy improbable que los mismos bits fallen en las mismas posiciones. Se intenta repetir la mnima informacin posible.

Mtodos de Deteccin:
VRC y LRC CRC Suma de Comprobacin

Redundancia

Paridad
Puede ser par o impar A cada carcter se le adiciona un bit, y este bit completara un nmero par de 1s o impar de 1s Puede combinarse paridad vertical u horizontal

Verificacin de Redundancia Vertical (VRC) Se utiliza un bit de paridad por cada unidad de datos. Prestaciones:
Detecta todos los errores de bit. Detecta errores de rfaga siempre y cuando el nmero total de bits cambiados sea impar.

Utiliza un solo bit redundante por unidad de datos.

VRC

Verificacin de Redundancia Longitudinal (LRC)


Los bloques a transmitir se organizan en forma de tabla. Se aade un bit de paridad por cada columna. Utiliza un solo bit redundante por unidad de datos.

Verificacin de Redundancia Longitudinal (LRC) Prestaciones:


Incrementa la probabilidad de detectar errores de rfaga. LRC de n bits detecta todos los errores de rfaga de n bits. Puede detectar errores de rfaga de ms de n bits. No detecta errores en los que cambian dos bits de una unidad de datos y dos bits de otra unidad de datos que estn en la misma posicin

VRC y LRC

VRC y LRC

Verificacin de Redundancia Cclica (CRC) Ms potente que los anteriores. Est basado en la divisin binaria. Consiste en aadir al final de la trama una secuencia de bits redundantes, conocida como CRC o resto CRC, obtenidos de dividir los bits de la trama por un nmero binario (divisor) predeterminado. El resto de esta operacin es el CRC. El nmero de bits usados para CRC debe ser uno menos que el nmero de bits del divisor.

Verificacin de Redundancia Cclica (CRC) Los pasos para calcularlo en el transmisor son:
Aadir n ceros a la trama (siendo n+1 el nmero de bits del divisor). La trama resultante se divide por el divisor usando el proceso de la divisin binaria (divisin mdulo 2). El resto es el CRC. Sustituir el CRC de n bits obtenido por los ceros aadidos.

Verificacin de Redundancia Cclica (CRC) El Receptor recibir la trama que contiene el CRC y la dividir por el divisor. No se habrn producido errores si el resto es cero.

Ejemplo:
Definimos: T : trama a transmitir (k+n) K>n M: mensaje de k bits (primeros bits de t) F : FCS-CRC de n bits P : polinomio de n+1 bits (divisor predeterminado) En el ejemplo: M = 100100; k=6 P = 1101 ; (n+1)= 4 n=3 F = 001 T = 100100001 En el receptor se divide T por P y si no hay error el residuo es cero

Verificacin de Redundancia Cclica (CRC) Los divisores se representan como polinomio algebraico.
Por ej. El divisor 10100111 se representa como el polinomio: x7+x5+x2+x+1

Verificacin de Redundancia Cclica (CRC) Polinomios

Verificacin de Redundancia Cclica (CRC) Polinomios

Verificacin de Redundancia Cclica (CRC) Polinomios Estndares:


CRC-12: x12+x11+x3+x+1 CRC-16: x16+x15+x2+x+1 CRC-IUT-T: x16+x12+x5+1 CRC-32:

x32+x26+x23+x22+x16+x12+x11+x10+x8+x5+x4+x2+1

Detecta errores de rfagas que afectan a un nmero impar de bits y rfagas de longitud menor o igual que el grado del polinomio.

Verificacin de Redundancia Cclica (CRC)

Suma de Comprobacin Checksum Tcnica general de deteccin de errores. Tpica de niveles superiores. Se aplica cuando se reciben bloques de caracteres, en lugar de caracteres aislados.

Suma de Comprobacin Checksum En el transmisor se realizan los siguientes pasos:


Dividir la trama en k trozos de n bits. Sumar todos los trozos con aritmtica complemento a uno. Complementar resultado. Este sera el checksum.

Suma de Comprobacin Checksum En el Receptor se realizan los siguientes pasos:


Dividir la trama (que incluye checksum) en k trozos de n bits. Sumar todos los trozos con aritmtica complemento a uno. Complementar el resultado. Si el resultado es cero No error

Checksum detecta todos los errores que tienen que ver con un nmero de bits impares.

Suma de Comprobacin Checksum

Suma de Comprobacin Checksum

Correccin de errores

Correccin de Errores
FEC (Forward Error Correction)
Significa correccin de errores a posteriori y se utiliza en sistemas sin retorno o sistemas en tiempo real donde no se puede esperar a la retransmisin para mostrar los datos. Bsicamente consiste en codificar en el transmisor cada bloque de k bits de la trama en palabras de n bits, siendo n>k. El receptor decodifica las palabras en los bloques originales aunque stos tuviesen algn error.

Correccin de Errores
FEC.
Los bits aadidos, conocidos como de redundancia, hacen posible detectar errores y deducir el dato que se transmiti.

Aplicaciones Tcnicas:
En estos ltimos aos, la codificacin ha cobrado un carcter fundamental por la posibilidad de mejorar la calidad de las comunicaciones y asegurar la mejor transaccin de informacin. Se aplican a un gran numero de sistemas:
Sistemas de comunicacin: comunicacin satelital, broadcasting, telecomunicaciones, etc. Sistemas informticos: circuitos lgicos, memorias semiconductores, HD, CD-ROM, etc. Sistemas de audio y video: sonido digital (CD), video digital (DVD), etc.

Clasificacin de los cdigos correctores


Cada tipo de error requiere un tipo de cdigo especfico para detectarlo y corregirlo. Se pueden clasificar en:

FEC a bloques. Algunos ejemplos


Hamming BCH. RS (Reed Solomon).

FEC convolucional.
Aplica el algoritmo Viterbi.

Turbo Cdigos
Funciona como una combinacin de un cdigo de bloque y uno convolucional

Correccin de Errores
FEC a bloques.
Se denomina Distancia Hamming entre dos cdigos al nmero de smbolos en que se diferencian. Peso de una palabra: nmero de unos que tiene. Distancia de hamming: Nmero de bits en que difieren dos palabras.

Correccin de Errores
FEC a bloques. Distancia Hamming. 10001110 00111000 d=5 11100101 11110111 d=2

Peso de la suma de las 2 palabras. 10001110 11100101 +00111000 +11110111 =10110110 (peso 5) =00010010 (peso 2)

Correccin de Errores
FEC a bloque. Distancia Hamming.
Cuanto mayor sea la distancia de hamming entre dos palabras, ms difcil ser que un error en la transmisin convierta una en la otra, ya que ser necesario alterar d bits. Un cdigo de distancia hamming d ser capaz de detectar errores en d-1 bits. Un cdigo de distancia hamming d ser capaz de corregir errores en (d-1)/2 bits. Para corregir errores en d bits har falta un cdigo con distancia de hamming 2d+1.

Correccin de Errores
FEC a bloques. Distancia Hamming.
Cdigos de control de paridad.
Se aade un bit de paridad al final de la palabra de forma que el nmero total de unos, includo el bit de paridad sea par (paridad par) o impar (paridad impar).
Paridad par: 1011000 1 Paridad impar: 1101011 0

Es un cdigo detector, detectar los errores producidos en un nmero impar de bits

Correccin de Errores
FEC a bloques. Distancia Hamming.
Cdigos de control de paridad.
Si la transmisin se realiza por bloques, se pueden aadir bits de paridad adicionales. Paridad vertical y horizontal

Este cdigo puede detectar con el o los bits errneos. Cuando ocurre una combinacin cuadrangular de errores, esta pasa inadvertida

Correccin de Errores
FEC a bloques. Distancia Hamming.
Cdigos de hamming.
Son un subconjunto de los cdigos de control de paridad, en los cuales se disponen los bits de paridad de forma que permitan localizar la presencia de errores en el mensaje. Su distancia de hamming mnima es 3. Para palabras de L bits, hace falta que R de esos bits sean de paridad para poder corregir un error en un bit, donde:

L 2R - 1
R ser el menor nmero entero que cumpla esta condicin

Correccin de Errores
FEC a bloques. Distancia Hamming.
Cdigos de hamming.
Cada bit de paridad debe controlar un conjunto distinto de bits de informacin. Un error en un bits de informacin debe afectar a 2 o ms bits de paridad. Para el clculo de los bits de paridad slo se pueden utilizar bits de informacin no se pueden incluir los otros bits de paridad. Ejemplo:

Correccin de Errores
FEC a bloques. Distancia Hamming.
Cdigos de hamming. Cdigo ptimo.
Se numeran los bits de la palabra cdigo empezando por 1.Los bits potencia de 2 sern de redundancia y el resto de datos. Cada bits de datos contribuye a varios bits de redundancia, que se determinan descomponiendo la posicin del bit en suma de potencias de 2.
Ejemplo: 11 = 1 + 2 + 8

Si se produce un error, el bit errneo ser el situado en la posicin que se obtenga sumando las posiciones de los bits de redundancia incorrectos.

Cdigo Hamming (7:4)

Determinacin de bits de redundancia

Determinacin de bits de redundancia

Determinacin de bits de redundancia

Deteccin y Correccin de errores. Error simple

Deteccin y Correccin de errores.

Correccin de Errores
FEC a bloques. Cdigo Hamming H.
Usado en algunos radioenlaces digitales en la dcada de los 80. En particular la versin H(555,544). Permite corregir 2 errores en la secuencia de 544 bits de informacin.

Correccin de Errores
FEC a bloques. Cdigo BCH.
Bose-Chaudhuri-Hocquenghen.

Es el cdigo ms conveniente para errores independientes. Los parmetros definidos son:


Longitud del bloque: N=2M-1 M>=3 Bits de informacin: I=N-M.t Distancia mnima: d=2.t+1

Correccin de Errores
FEC a bloques. Cdigo BCH.
Es usado para corregir errores aleatorios mltiples. Es usado por ejemplo en telefona celular analgica AMPS en el canal de control bajo la versin BCH(48,36) y BCH(40,28). En codificadores digitales de TV a 34Mb/s se utiliza el codec BCH(511,493) para corregir 2 errores por bloque. Estos cdigos estn entre los que mejor funcionan

Correccin de Errores
FEC a bloques. Cdigo RS.
Reed-Solomon.

Es una variante del BCH y la ms apropiada para rfagas de errores. Los parmetros definidos:
Bits por smbolo: m Longitud del bloque: N=m.2m-1 Bits de informacin: (N-I)=m.2t Distancia mnima: d=m.(2.t+1)

Correccin de Errores
FEC a bloques. Cdigo RS.
En general el nmero de errores corregidos son t rfagas de m bits en una palabra de cdigo.Por ejemplo: En RS(60,40) se corrigen 2 rfagas de 4 bits errados. Una aplicacin, entre otras, es en radioenlaces digitales de 140Mb/s en la versin RS(65/62) para corregir 4 errores en 4 bloques. Un RS conocido es RS(255,223) con smbolos de 8bits.

Correccin de Errores
FEC convolucional.
Se presenta como el mtodo ms interesante, teniendo en cuanta la modulacin TCM (Trellis Code Modulation). Algoritmo de Viterbi.
Mtodo denominado decodificacin de mxima probabilidad, consiste en computar a cada camino un peso consistente en el nmero de diferencias acumuladas.

Correccin de Errores
FEC convolucional. Viterbi. Algoritmo de

Cuando se recibe un error (01 en lugar de 11), se encuentra que dicha secuencia es imposible; slo 2 errores consecutivos pueden simular un camino correcto. Detectado el error es necesario saber cual es; es decir, si se transmiti 00 o 11. Ambos caminos comienzan con un peso 1 (nmero de errores acumulados).

Correccin de Errores
FEC convolucional. Viterbi. Algoritmo de

Al paso siguiente las distintas posibilidades incrementan el valor del peso con excepcin de un camino (el de mxima probabilidad) que mantiene el peso en (1). Al cabo de una determinada longitud de anlisis se decide el camino de mxima probabilidad (mnimo de errores) y se determina el bit con error, corrigindolo. Si existen muchos errores puede ser que varios caminos tengan igual peso; en tal caso se selecciona uno en forma aleatoria.

Correccin de Errores
FEC convolucional. Representacin.

Correccin de Errores
ARQ.
La correccin de los posibles errores en la transmisin se consigue retransmitiendo de nuevo la trama problemtica. Se basa en:
Confirmaciones positivas (ACK, ACKnowledgement, Reconocimiento). Retransmisin tras expiracin de un temporizador (time_out). El origen retransmite las tramas sin ACK despus de un perodo de tiempo. Confirmacin negativa (NACK, NoACKnowledgement, No Reconocimiento) y retransmisin. El destino detecta un error en la trama y enva un ACK negativo.

Correccin de Errores
ARQ.
Las variantes de ARQ son:

ARQ con parada y espera. ARQ con vuelta atrs N (GoBackN). Repeticin no selectiva ARQ con rechazo selectivo.

Correccin de Errores
ARQ. ARQ con parada y espera
Basado en el control de flujo parada y espera. El transmisor enva una nica trama y espera la llegada del ACK. No se puede enviar otra trama hasta haber recibido el ACK. Sencillo e ineficiente.

Correccin de Errores
ARQ. ARQ con parada y espera
Si se recibe una trama daada el receptor la descarta.
El transmisor asocia un timeout a cada trama enviada. Si no recibe el ACK antes de que expire, la retransmite.

Si se pierde o daa el ACK, el transmisor retransmitir la trama.


El receptor debe descartar la trama duplicada que reciba.

Correccin de Errores
ARQ. ARQ con vuelta atrs N.
Basado en ventana deslizante. El transmisor puede enviar una ventana de tramas. El receptor confirma las tramas recibidas correctamente (ACK). Si el receptor detecta un error, enva un ACK negativo (N-ACK).
Descarta esa trama y las futuras tramas recibidas hasta recibir la trama errnea.

Correccin de Errores
ARQ. ARQ con vuelta atrs N.
El transmisor si recibe un N-ACK debe retransmitir la trama errnea y todas las posteriores. Es bastante utilizado (aunque con variantes)

Correccin de Errores
ARQ. ARQ con vuelta atrs N.
Si el receptor recibe la trama X errnea, la descarta y:
Si el origen enva la trama X+1, el receptor enva N-ACK X, el transmisor retransmite la trama X. Si el origen no enva ms tramas, el receptor no contesta.
El origen enviar un ACK con un bit P=1 El receptor al recibir el ACK con P=1, contesta con un ACK X. El transmisor retransmitir la trama X.

Correccin de Errores
ARQ. ARQ atrs N. con vuelta

Si se pierde el ACK de la trama X (ACK X+1):


Si el transmisor recibe algn ACK posterior (ACK X+2,...) antes de que expire el timeout, la trama X est confirmada. Si el timeout expira, se enva un ACK con P=1, y se inicia otro temporizador.
Si el receptor no responde antes del temporizador, el transmisor repite el ACK con P=1. Se reintenta varias veces.

Correccin de Errores
ARQ. ARQ con rechazo selectivo.
Slo se retransmiten las tramas con ACK negativo (SN-ACK) o cuando expira el timeout. Se minimiza el nmero de retransmisiones. El receptor necesita un buffer suficientemente grande para almacenar las tramas que va recibiendo despus de un SN-ACK.

Correccin de Errores
ARQ. ARQ con rechazo selectivo.
Tambin necesita una lgica especial para insertar la trama retransmitida en su posicin correcta. El transmisor tambin tiene una lgica ms compleja para enviar tramas fuera de orden. Se utiliza bastante menos que el ARQ con vuelta atrs N.

Correccin de Errores
ARQ. ARQ con rechazo selectivo.

FIN
PREGUNTAS???

Ing. Omar M. Antonio

Potrebbero piacerti anche