COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR El CONTROL DE ERROR El proceso de control de error es de gran importancia en la transmisión de datos pues debido a la baja redundancia de la información digital, un grupo de dígitos que representan símbolos alfanuméricos que esté en error puede parecerse a otro con un significado enteramente distinto. Prof. J. Briceño M., ULA. LAMINA VII-1/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR TECNICAS DE CONTROL DE ERROR En la práctica se utiliza dos técnicas para el control de error: • La Corrección Directa del Error (Forward Error Correction, FEC) • La Solicitud de Repetición Automática (Automatic Repeat Request, ARQ) FUENTE CODEC Tx/Rx CANAL Tx/Rx CODEC DESTINO Control de Error (FEC o ARQ). Prof. J. Briceño M., ULA. LAMINA VII-2/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error DEFINICION DE PARIDAD Se dice que hay “paridad par” cuando la ponderación (número de UNOS) de la palabra codificada es cero o par. Si la ponderación es impar, se tiene la “paridad impar”. Ejemplo de Paridad Par 0 0 1 1 0 1 0 1 0 1 1 0 Código Resultante: [000, 011, 101, 110] Cuatro palabras definidas con paridad par Dígitos Redundantes o de Verificación Dígitos de Información Mecanismo de Codificación con Paridad Par Prof. J. Briceño M., ULA. LAMINA VII-3/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Códigos de Ponderación Constante (m-de-n) Son códigos de bloque con N palabras código que consisten en todas las secuencias binarias posibles de longitud n que contienen m UNOS. Por ejemplo, en el código m = 2, n = 4, el número de secuencias posibles o palabras código ( N = 6 ) son: 1100-1010-1001-0101-0011-0110 Donde n! N= m!(n − m)! Prof. J. Briceño M., ULA. LAMINA VII-4/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Código de Prueba de Paridad Sencilla La palabra código se forma agregando a la palabra mensaje un dígito C de paridad que es la suma módulo 2 de los valores de los m dígitos de la palabra mensaje, donde m C = d1 ⊕ d 2 ⊕ d 3 ⊕ .... ⊕ d m = ∑ d j módulo 2; n = m + 1 j=1 La palabra codificada tiene la forma d1d2d3….dmC ==> n dígitos Prof. J. Briceño M., ULA. LAMINA VII-5/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Prueba de Paridad Vertical y Horizontal Sentido de Transmisión Caracteres …… E L [] B LRC (par)→ I T …… BCC b0 1 0 0 0 1 0 → 0 b1 0 0 0 1 0 0 → 1 b2 1 1 0 0 0 1 → 1 b3 0 1 0 0 1 0 → 0 b4 0 0 0 0 0 1 → 1 b5 0 0 1 0 0 0 → 1 b6 1 1 0 1 1 1 → 1 0 0 0 1 0 0 → 1 VRC↓ Paridad (impar) Prof. J. Briceño M., ULA. LAMINA VII-6/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Códigos Matriciales (Array Codes) C columnas Prueba Horizontal EJEMPLO: Palabra Dato: 1 1 1 1 0 0 F filas Paridad Par Prueba Vertical F x C dígitos de Información (a) Matriz de (F +1)x (C +1) dígitos 1 1 1 1 1 0 0 1 0 1 1 0 Palabra Codificada: 111110010110 Prueba de Prueba (b) Matriz de Codificación y Secuencia Transmitida C≥F Generación del Código Matricial Prof. J. Briceño M., ULA. LAMINA VII-7/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Códigos Matriciales. Mecanismo de Corrección de Error Dígito en error 1 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 101001011111 (a) Bloque enviado en Serie por Filas 1 0 1 1 0 1 0 1 1 1 111001011111 (b) Bloque Recibido. Error en un dígito de información Dígito en error 1 0 1 0 1 0 1 0 1 1 1 1 1 0 101101011111 (c) Bloque Recibido. Error en un dígito de prueba Dígito en error 101001011110 (d) Bloque Recibido. Error en el dígito de prueba de prueba . Mecanismo de Corrección de Error. Prof. J. Briceño M., ULA. LAMINA VII-8/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error CODIGO DE HAMMING Tabla de Codificación de Hamming ← 7 c4 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 6 c3 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 5 c2 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 4 c1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 3 ck/dm c1 c2 d1 c3 d2 d3 d4 c4 d5 d6 d7 d8 d9 d10 d11 Sentido del Flujo de Datos DATOS BCC d1 d2 d3 dm c1 c2 LSB 2 2i 20 21 22 23 - 1 n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ck MS Prof. J. Briceño M., ULA. LAMINA VII-9/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error CODIGO DE HAMMING n ≤ 15; m ≤ 11 y k ≤ 4 Cálculo de los Dígitos de Paridad para c1 = d1 ⊕ d 2 ⊕ d 4 ⊕ d 5 ⊕ d 7 ⊕ d 9 ⊕ d11 c 2 = d1 ⊕ d 3 ⊕ d 4 ⊕ d 6 ⊕ d 7 ⊕ d10 ⊕ d11 c 3 = d 2 ⊕ d 3 ⊕ d 4 ⊕ d 8 ⊕ d 9 ⊕ d10 ⊕ d11 c 4 = d 5 ⊕ d 6 ⊕ d 7 ⊕ d 8 ⊕ d 9 ⊕ d10 ⊕ d11 m 3 4 5 6 7 8 9 10 11 k 3 3 4 4 4 4 4 4 4 n 6 7 9 10 11 12 13 14 15 E% 50 57 56 60 64 67 69 71 73 R% 50 43 44 40 36 33 31 29 27 Relación entre m, k, n, E y R Prof. J. Briceño M., ULA. LAMINA VII-10/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error CODIGO DE HAMMING Algoritmo de Descodificación de Hamming (a) En el receptor se recalculan los dígitos de paridad a partir de los dígitos de información de la palabra codificada recibida (b) Los dígitos de paridad recalculados ci' y los recibidos ci se suman dígito a dígito en módulo 2 para obtener el “Síndrome S” (c) Si el Síndrome S es una k-tupla formada por puros CEROS, entonces se supone que no hubo error en la transmisión (d) Si el Síndrome S es distinto de cero (contiene por lo menos un UNO), entonces se lee en sentido inverso. El valor del inverso del Síndrome indica la posición en la Tabla de Codificación de Hamming, columna 1, de un error sencillo en la palabra codificada clave de la columna 3, el cual se puede corregir. Prof. J. Briceño M., ULA. LAMINA VII-11/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Códigos de Redundancia Cíclica (CRC) Entrada de Datos 16 LSB 0 1 2 3 4 5 6 7 8 12 X X MSB 11 12 13 14 15 9 10 X (a) 5 X 0 Entrada de un "1" 0 0 0 1 0 Secuencia de Entrada (Datos) 1 0 Reloj de Sincronización 0 0 0 0 0 1 0 0 0 0 1 (b) 1 0 0 1 (c) Registro CRC UIT-T V.41. Utilizado en los Protocolos SDLC y HDLC Prof. J. Briceño M., ULA. LAMINA VII-12/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Códigos de Redundancia Cíclica (CRC) Otros Registros CRC Entrada de Datos 12 LSB 0 1 2 3 4 5 6 7 8 11 X 9 3 X X (a) Código CRC-12. Utilizado en Transcódigo de 6 dígitos 2 MSB 11 10 X X 1 Entrada de Datos 16 X LSB 0 15 1 2 3 4 5 6 7 8 MSB 14 15 9 10 11 12 13 2 X X 1 (b) Código CRC-16. Utilizado en los Protocolos BSC y DDCMP Codificadores CRC de aplicación práctica. Prof. J. Briceño M., ULA. LAMINA VII-13/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Códigos de Redundancia Cíclica (CRC) Polinomios Generadores: CRC UIT-T: PG(X) = X16 + X12 + X5 + 1 CRC-16: PG(X) = X16 + X15 + X2 + 1 CRC-12: PG(X) = X12 + X11 + X3 + X2 + X + 1 Los Códigos CRC detectan todos los errores sencillos y dobles, todos los errores con un número impar de dígitos, todas las ráfagas de errores de longitud igual o menor de 16 dígitos, el 99,997% de las ráfagas de 17 dígitos y el 99,998% de todas las ráfagas iguales o superiores a 18 dígitos. Prof. J. Briceño M., ULA. LAMINA VII-14/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Códigos de Redundancia Cíclica (CRC) PG (X ) = X 4 + X + 1 ⇒ 1 0 0 11 M(X) = X 7 + X 6 + X 2 + X ⇒ 11 0 0 0 11 0 Ejemplo: 01100011 100010111 Entrada de Datos X X 4 3 0 X 2 1 X 2 0 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 3 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 0 1 X 0 Estado 1Inicial (en negrita) 1 0 1 0 0 0 1 => C(X) = BCC Prof. J. Briceño M., ULA. LAMINA VII-15/17 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR Esquemas de Detección de Error Códigos de Redundancia Cíclica (CRC) REGISTRO CRC DE LAS REDES ETHERNET PG ( X ) = X 32 + X 26 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X + 1 Entrada de Datos X 0 32 1 2 3 4 5 6 X X 7 X 26 25 8 9 X 8 24 7 26 X 10 23 22 10 11 12 13 14 15 23 X X 11 22 X 21 20 12 19 18 17 16 X X 5 27 28 29 X 4 30 X 2 16 31 X X 0 Prof. J. Briceño M., ULA. LAMINA VII-16/17 VII-15 COMUNICACIONES DIGITALES CAPITULO VII. TECNICAS DE CONTROL DE ERROR PRINCIPIOS DE LA ALEATORIZACION SEUDOALEATORIZADOR AUTOSINCRONIZANTE ALEATORIZADOR CODEC FEC CODEC FEC ENLACE DESALEATORIZADOR Emplazamiento de los Aleatorizadores/Desaleatorizadores. X(n) Entrada de Datos Datos transmitidos Y(n) Z(n) Y(n) Datos recibidos Salida de Datos 7 6 5 4 3 2 (a) Aleatorizador o Desordenador 1 1 2 3 4 5 6 7 (b) Desaleatorizador o Reordenador Aleatorizador y Desaleatorizador UIT-T V.27. Prof. J. Briceño M., ULA. LAMINA VII-17/17