Práctico de Corrección y Detección de Errores Taller de Redes Inalámbricas Ejercicio 1 Encuentre la distancia mı́nima de los siguientes códigos 1. 0000, 1100, 1010, 1001, 0110, 0101, 0011, 1111 ; 2. 10000, 01010, 00001 ; 3. 000000, 101010, 010101 . En cada caso especifique el número de errores que pueden ser detectados y corregidos. Indique si alguno de estos códigos es lineal de bloques y si alguno es cı́clico. Ejercicio 2 ¿Cuáles de los códigos del ejercicio 1 pueden ser extendidos agregando una palabra más de código sin alterar su capacidad de corregir o detectar errores? Ejercicio 3 Determine la distancia mı́nima de la función de codificación e(000) = 00000000 e(001) = 01110010 e(010) = 10011100 e(011) = 01110001 e(100) = 01100101 e(101) = 10110000 e(111) = 00001111 ¿Cuántos errores detectará e? ¿Cuántos errores corregirá e? Ejercicio 4 ¿Cuáles de los siguientes códigos son cı́clicos? 1. 000, 100, 010; 2. 000, 100, 010, 001; 3. 000, 111; 4. 0000, 1010, 0101, 1111. Ejercicio 5 Sea C un código lineal definido por la siguiente matriz de paridad H 1 Práctico de Corrección y Detección de Errores 1 H = 1 1 2 1 1 0 0 0 1 1 0 1 1 0 0 0 1 0 Si se recibe la palabra 110110 y solo se comete un error ¿cuál es la palabra de código enviada? Ejercicio 6 Considere los siguientes esquemas de corrección de errores en una red inalámbrica: 1) Stop-and-wait ARQ: Quien envı́a, solo envı́a la siguiente trama si recibe el ACK de la trama anterior. El receptor solo envı́a un ACK si el paquete se recibió correctamente, de lo contrario no envı́a nada. Si quien envı́a no recibe un ACK durante timeout segundos, envı́a el paquete nuevamente. Quien envı́a utiliza un 1 byte de datos redundantes como checksum al final de la trama que puede ser usado para detectar errores. ACK tiene 1 byte de largo. Asumir que el valor del timeout es igual al requerido para enviar 6 bytes. 2) Forward Error Correction (FEC): Quien envı́a no espera un ACK del receptor para enviar la siguiente trama. Cualquier error en la trama puede ser detectado por el receptor y corregido. Para esto se envı́an 7 bytes de datos redundantes para corregir errores. Por simplicidad se hacen las siguientes hipótesis: Todo paquete con error puede ser detectado por el esquema ARQ y corregido por el mecanismo FEC. Todas las tramas (sin redundancia) enviadas sobre este enlace son del mismo largo (43 bytes) No hay latencia al enviar una trama sobre el enlace y las tramas sucesivas (data/ACK) son enviadas inmediatamente después de la trama anterior. Los ACKs y los paquetes retransmitidos (en ARQ) no tienen errores. La probabilidad de que una trama de datos (excluyendo retransmisiones) tenga un error es perr . Indique qué esquema es más eficiente y porqué en los siguientes casos: (a) perr = 0,5 (b) perr = 0,1 (c) perr = 0,01 Basado en lo cálculos anteriores, bajo que condiciones Ud. utilizarı́a A. ARQ B. FEC Ejercicio 7 Considere un código (7,4) con matriz generadora 0 1 0 1 0 1 G = 0 1 1 1 1 0 1 0 0 0 1 1 0 0 (a) Encuentre todas las palabras de código del código. 0 0 1 0 0 0 0 1 Práctico de Corrección y Detección de Errores 3 (b) ¿Cuál es la distancia mı́nima del código? (c) Encuentre la matriz de paridad H del código. (d) Encuentre el sı́ndrome del vector recibido R = [1101011]. Ejercicio 8 El código de Hamming (15,11) tiene como polinomio generador g(X) = 1 + X + X 4 . Determinar si las siguientes palabras de código son válidas c1(X) = 1 + X + X 3 + X 7 y c2(X) = 1 + X 3 + X 5 + X 6 Ejercicio 9 El código de Hamming cı́clico (7,4) tiene un polinomio generador g(X) = 1 + X 2 + X 3 . (a) Encontrar la matriz generadora del código en la forma sistemática. (b) Encontrar la matriz de chequeo de paridad. (c) Suponga que la palabra de código C = [1011010] es transmitida y la palabra correspondiente recibida es R = [1010011]. Encuentre el sı́ndrome asociado con esta palabra. Ejercicio 10 Considere una conexión inalámbrica punto a punto con ARQ. La distancia entre el transmisor y el receptor es de 12 km y la señal se propaga a 2x108 m/s. La tasa de transmisión es C = 107 bit/s y el tamaño de trama es de F = 500 bits, incluyendo el cabezal, CRC y número de trama. El tiempo de procesamiento para chequear el CRC en el receptor es 9µs y el tiempo de transmisión para ACK/NAK/RN es 1µs. Se asume que todos los errores de transmisión son detectados por el CRC y que el ACKs/NAKs/RNs son siempre recibidos correctamente. a) Dibujar un diagrama de secuencias de mensajes para un protocolo stop-and-wait ARQ desde t = 0s a t = 470µs con todos su valores caracterı́sticos. La transmisión comienza en t = 0s número de trama 0. En t = 100µs ocurre un error de transmisión. b) Calcular la mı́nima ventana de transmisión para un protocolo go-back-N ARQ tal que el transmisor nunca tenga que esperar por un del receptor al final de una ventana de transmisión. c) Dibujar la secuencia de mensajes para un protocolo go-back-N ARQ con el tamaño de la ventana de transmisión calculado en b) desde t = 0s hasta t = 570µs con todos los valores caracterı́sticos. La transmisión comienza en t = 0s con número de trama 0. En t = 240µs ocurre un error de transmisión. d) Calcular la ventana mı́nima de transmisión para un protocolo selective-repeat ARQ tal que t una retransmisión de una trama nunca conlleve la interrupción de una transmisión. e) Calcular el throughput del protocolo stop-and-wait ARQ, el protocolo go-back-N ARQ y el protocolo selective-repeat ARQ cuando la tasa de codificación es R = 0.9 y la probabilidad de error de una trama es Pr = 0.1. Asumir que la ventana de GBN es la de b) y para el SR tal que nunca se interrumpe la transmisión.