Uploaded on

Técnicas de detección y corrección de errores. Código lineal y de redundancia cíclica.

Técnicas de detección y corrección de errores. Código lineal y de redundancia cíclica.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
23,113
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
6
Likes
21

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. MATERIAL PARA DOCENCIA, Creado por In, Carlos Alberto Amaya T.
  • 2. UNAD Ing, Carlos Alberto Amaya Tarazona
  • 3. INTRODUCCION OBJETIVOS FUNDAMENTACION HAMMING CRC Agenda
  • 4. Como garantizar que los datos lleguen bien a su destino? Si fallan, Como se pueden restaurar? Qué métodos existen para detectar y corregir errores? INTRODUCCION
  • 5. Estudiar las técnicas de detección y corrección de errores de Hamming y CRC. OBJETIVOS
    • Identificar los fundamentos teóricos para la detección y control de errores en una transmisión
    • Analizar el método de Hamming para la detección y corrección de errores
    • Establecer el algoritmo para el desarrollo del método de Hamming
    • Analizar el método de control de redundancia cíclica (CRC) para la detección de errores.
    • Establecer el algoritmo para el desarrollo del método CRC.
    • Realizar una guía que permita mecanizar el método de Hamming y CRC.
  • 6. FUNDAMENTACION ERROR de Transmisión Transmisor Receptor CANAL Ruido Térmico Ruido Impulsivo Intermodulación Se debe a Ruido de redondeo Atenuación Cruce de líneas Eco Medio de transmisión codificación códigos detección corrección Interferencia, ruido Sistema de comunicaciones
  • 7. Sistema de comunicación Flujo de información Transmisor Codificador Decodificador receptor CANAL Perturbaciones: distorsión Ruido Transforma el mensaje a formato original D y C EL MODELO OSI FUNDAMENTACION detecta Parte el flujo en tramas y corrige los errores. Normalmente calcula un bit de chequeo para cada trama, si difiere con el de la trama, hubo error. Aplicación Parte el flujo en tramas y corrige los errores. Normalmente calcula un bit de chequeo para cada trama, si difiere con el de la trama hubo error . Presentación Sesión Transporte Red Enlace Física
  • 8. Técnicas de Detección y corrección de error Transmisor Receptor CANAL Incluir bits redundantes Detecta error Solicita retransmisión Código VRC ( Vertical Redundancy Check ) Código CRC ( Cyclic Redundancy Check ) Código LRC ( Longitudinal Redundancy Check ) FUNDAMENTACION Tipos de chequeo
  • 9. Técnicas de Detección y corrección de error Código VRC ( Vertical Redundancy Check ) 1 2 3 4 5 6 7 8 9 10 … P1 P2 P4 P8 Transmisor Receptor CANAL Flujo de información Par Par Impar Impar sincrona Asincrona Bit de paridad FUNDAMENTACION El BIT de paridad se añade al final de cada bloque
  • 10. Técnicas de Detección y corrección de error Código LRC ( Longitudinal Redundancy Check ) Transmisor Receptor CANAL paridad bidimensional Datos se agrupan en bloque 1 2 3 4 5 6 7 8 9 10 … P1 P2 P4 P8 1 2 3 4 5 6 7 8 9 10 … P1 P2 P4 P8 1 2 3 4 5 6 7 8 9 10 … P1 P2 P4 P8 P1 P4 P2 Bloque al final FUNDAMENTACION P8
  • 11. Técnicas de Detección y corrección de error Código CRC ( Cyclic Redundancy Check ) Transmisor Receptor CANAL Secuencia de comprobación de trama Trama resultante R Resto = 0 => OK 1…retransmitir n + k bits patrón de bits FUNDAMENTACION Recibe mensaje Comprobaciones de redundancia: Aritmética de modulo 2 Polinomios Lógica digital
  • 12. Técnicas de corrección de error Recuperar datos perdidos Incluye información redundante (bits de paridad) Transmisor Receptor CANAL Deduce que carácter se envió Corrige (# limitado) errores ARQ (requerimiento automático de repetición) Hacia atrás FEC (corrección de errores hacia adelante) Pare y espere Envió continuo ACK acknowledge NAK Error Negative acknowledge señal Paraliza todo hasta confirmar Código Bloque Código árbol Con memoria Sin Memoria FUNDAMENTACION estrategias formas
  • 13. Códigos de bloque FUNDAMENTACION 1 2 3 4 5 6 7 8 9 10 … P1 P2 P4 P8 1 2 3 4 5 6 7 8 9 10 … Lineales (matrices) No lineales (Cíclicos)
  • 14. DETECCION Y CORRECCION DE ERRORES
  • 15. HAMMING DETECCION Y CORRECCION DE ERRORES
  • 16. 1. Adicionar ciertos bits de control (llamados bits de paridad) al mensaje original. Los bits de paridad corresponden a los bits que son potencias de 2: 1,2,4,8,16, etc, según el tamaño del mensaje. HAMMING Mecanismo 1 2 3 4 5 6 7 8 9 10 … P1 P2 P4 P8
  • 17. 2. El mensaje se ubica en los bits restantes HAMMING 1 2 3 4 5 6 7 8 9 10 …
  • 18.
    • Los bits de control o paridad se calculan basados en unos criterios. Estos criterios se calculan dependiendo del tamaño del mensaje.
    • Para una mensaje de longitud 4…
    HAMMING El bit de paridad 1 (P1) se calcula con la paridad de los bits de datos 3,5,7 El bit de paridad 2 (P2) se calcula con la paridad de los bits de datos 3,6,7 El bit de paridad 4 (P4) se calcula con la paridad de los bits de datos 5,6,7 Para otras longitudes, hay otras reglas.
  • 19. 4. Se envía el mensaje. El receptor recalcula los bits de paridad. Si no coinciden, el mensaje es errado. HAMMING 1 2 3 4 5 6 7 8 9 10 …
  • 20. Enviar el siguiente mensaje: 1101 HAMMING Ejercicio 1
  • 21. El mensaje se ubica en los bits correspondientes ( ya se ha dicho que las potencias de 2 son reservadas ) HAMMING 1 2 3 4 5 6 7 1 1 0 1
  • 22.
    • Los bits de control o paridad se calculan y se ubican:
    HAMMING (P1) -> paridad de 3,5,7: 1,1,1 = 1 1 2 3 4 5 6 7 1 1 0 1 (P4) -> paridad de 5,6,7: 1,0,1 = 0 (P2) -> paridad de 3,6,7: 1,0,1 = 0 1 0 0
  • 23. Se envía el mensaje… Ocurre un error en la transmision, y el bit 5 falla HAMMING 1 2 3 4 5 6 7 1 0 0 1 1 0 0 Pero el receptor no sabe que en lugar de un 0 se envió un 1…
  • 24. El receptor recalcula los bits de paridad … HAMMING 1 2 3 4 5 6 7 1 0 0 1 0 0 1 (P1) -> paridad de 3,5,7: 1,0,1 = 0 (P4) -> paridad de 5,6,7: 0,0,1 = 1 (P2) -> paridad de 3,6,7: 1,0,1 = 0
  • 25. Y detecta que los bits de paridad que se recibieron son diferentes a los que se recalcularon … HAMMING 1 2 3 4 5 6 7 1 0 0 1 1 0 0 1 2 3 4 5 6 7 1 0 0 1 0 0 1 Recibidos: Recalculados: Se afectó el bit 1 y el 4.
  • 26. Qué bits de datos son controlados por el bit de paridad 1 (P1) y el 4 (P4) , pero que no son controlados por P2 ? HAMMING El bit 5 (P1) -> paridad de 3,5,7 (P4) -> paridad de 5,6,7 (P2) -> paridad de 3,6,7 Porque:
  • 27. Como sabe que el bit 5 estaba errado, arma de nuevo la cadena original: HAMMING 1 1 0 1 1 0 0
  • 28. Ejercicios HAMMING
  • 29. CRC DETECCION Y CORRECCION DE ERRORES
  • 30. CRC DETECCION Y CORRECCION DE ERRORES Notación Polinomial El código cíclico es aquel en el que cualquier rotación cíclica (lo que sale por un lado, entra por el otro) de una palabra código produce otra palabra código válida. Los códigos cíclicos son una familia de códigos bloques lineales. Para representar los códigos cíclicos se presenta cualquier número binario de n posiciones como un polinomio de grado (n-1) , que contienen la variable ficticia x . Los exponentes de x corresponden a los números de las posiciones de la notación binaria comenzando desde el bit de mas a la derecha .
  • 31. Polinomio Generador Ideal DETECCION Y CORRECCION DE ERRORES
    • La aritmética con estos polinomios es módulo 2 sin llevar.
    • Es decir la adición y la sustracción son equivalentes a XOR
    • La división usa XOR en lugar de sustracción y A se divide entre B si el número de bits es mayor de o igual a el número en A
    • Todos los polinomios correspondientes a las palabras del código cíclico, deben dividirse entre g(x) sin residuo.
    • g(x) debe ser un divisor de x – 1
    • El bit mayor y el menor del generador deben ser 1.
  • 32. EJEMPLO DETECCION Y CORRECCION DE ERRORES Escribir en forma polinomial la palabra de código binario: 10101 En este caso obtenemos el polinomio, digamos g(x), así: g(x)= 1.x + 0.x + 1.x + 0.x + 1.x Entonces: g(x)= x + x + 1 4 4 2 3 2 1 0
  • 33. EJEMPLO DETECCION Y CORRECCION DE ERRORES 0001101 x + x + 1 3 2 Suma en modulo 2 x + x + x 4 3 Se multiplica 0011010 x 0010111 x + x + x + 1 2 4
  • 34. PROCEDIMIENTOS DE DETECCION DE REDUNDANCIA CICLICA DETECCION Y CORRECCION DE ERRORES Sumas binarias sin acarreos 1. ARITMETICA MODULO 2 Operación lógica XOR = Operación lógica XOR = Restas binarias sin acarreos Trama de (k + n) bits a transmitir, con n<k T = n = Bits de comprobación M = Mensaje de k bits, los primeros k bits de T Patrón de n + 1 bits , este es el divisor elegido. Como mínimo el bit más significatico y el menos significativo debe ser 1. P =
  • 35. DETECCION Y CORRECCION DE ERRORES 1. ARITMETICA MODULO 2 EJEMPLO = n = M = Dado: P T = 2 M / P n El Mensaje: 1010001101 (10 bits) 110101 (6 bits) (no olvidar que es n + 1 ) (5 bits) 2 = 10000 5 10000 1010001101 101000110100000 M T 2 n
  • 36. DETECCION Y CORRECCION DE ERRORES 1. ARITMETICA MODULO 2 T = 2 M / P n El Mensaje: 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 T (n =5 bits de comprobación ) P = Patron 1 1 0 1 0 1 1 0 1 1 1 0 X 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 X 0 0 0 0 0 0 0 1 1 0 X 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 Nuevos 5 bits comprobación 0
  • 37. DETECCION Y CORRECCION DE ERRORES 1. ARITMETICA MODULO 2 T = 2 M / P n FINALMENTE EL MENSAJE A TRANSMITIR ES: El Residuo R se suma a 2 M para dar T n 1010001101 01110 101000110101110 Mensaje Final a transmitir T = La recepción del mensaje será evaluada así (nuevamente hacemos aritmética modulo 2) 1010001101 01110 110101 El mismo Patrón Mensaje Nuevos 5 bits de comprobación
  • 38. DETECCION Y CORRECCION DE ERRORES 1. ARITMETICA MODULO 2 T = 2 M / P n 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 El mismo Patrón Mensaje Nuevos 5 bits de comprobación 1 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 No hay errores en el receptor, el residuo es 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1
  • 39. EJERCICIO EJERCICIO Dado: El Mensaje a enviar es 1 0 1 1 0 1 1 1 Es un polinomio que agrega 5 bits de protección a un mensaje de 8 bits , para dar un total de 13 bits P 5 C R C (13,8) = X + X + X + X 4 1 0 M n = ? T , Suponga que el receptor recibió : 1 0 1 1 1 1 1 1 Demuestre mediante la aritmética modo 2 que hubo error