organizacion de computadoras ejercicioscs.uns.edu.ar/~ags/oc/downloads/prÁcticos de...

4
Organizaci ´ on de computadoras Departamento de Ciencias e Ingenier´ ıa de la Computaci´ on Universidad Nacional del Sur Segundo Cuatrimestre de 2018 Trabajo Pr´ actico N 4 odigos Detectores y Correctores de Errores Ejercicios 1. Calcular el bit de paridad par asociado a las siguientes cadenas de 16 bits: a ) 0111 0101 1100 1010 b ) 1011 0110 0010 1001 c ) 0101 1010 1101 1101 d ) 0110 1010 1101 1100 e ) 0101 1010 1110 1010 2. Rehacer el ejercicio anterior, utilizando en esta oportunidad paridad impar. 3. Considerando las siguientes cadenas de 16 bits y sus bits de paridad par asociados, deter- minar en cada caso, si es que se ha producido alg´ un error: a ) 1 0101 0110 1010 1010 b ) 0 0101 0111 1011 1011 c ) 0 1011 0100 0010 0110 d ) 0 0101 0111 1101 0101 e ) 1 1010 0111 1001 1110 4. Suponiendo que se desea enviar un conjunto de caracteres desde la A hasta la H, codi- ficados en ASCII asico (7 bits), por un medio no muy confiable el cual es capaz de introducir errores en la transmisi´ on. a ) Mostrar la codificaci´ on resultante de hacer uso de LRC para los cheksums, asumiendo que cada caracter constituye una fila y que se trabaja con paridad impar. Pista: Recordar que A se codifica 1000001, y as´ ı sucesivamente. b ) Al momento del env´ ıo, todo parece indicar que el medio de transmisi´ on afect´ o la transmisi´ on, ya que del lado del receptor la H se transform´ o en una M. En base a esto, ¿cu´ al es la longitud del burst de error que se produjo? El checksum LRC, ¿fue capaz de detectarlo? 5. Al emplear CRC para detectar errores en la transmisi´on de mensajes, pueden adoptarse dos pol´ ıticas diferentes a la hora de transmirir el valor de CRC asociado al mensaje en consideraci´ on. La pol´ ıtica m´ as inmediata, consiste en transmitir s´ olo el mensaje y enviar el CRC obtenido por separado. En este caso, el receptor recomputa el CRC asociado al mensaje que recibi´ o y luego lo coteja con el valor de CRC recibido. 1

Upload: vuongxuyen

Post on 04-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Organizacion de computadoras Ejercicioscs.uns.edu.ar/~ags/OC/downloads/PRÁCTICOS DE TEORÍA/TP-04.pdf · Ejercicios 1.Calcular el bit de paridad par asociado a las siguientes cadenas

Organizacion de computadorasDepartamento de Ciencias e Ingenierıa de la Computacion

Universidad Nacional del SurSegundo Cuatrimestre de 2018

Trabajo Practico N◦ 4Codigos Detectores y Correctores de Errores

Ejercicios

1. Calcular el bit de paridad par asociado a las siguientes cadenas de 16 bits:

a) 0111 0101 1100 1010

b) 1011 0110 0010 1001

c) 0101 1010 1101 1101

d) 0110 1010 1101 1100

e) 0101 1010 1110 1010

2. Rehacer el ejercicio anterior, utilizando en esta oportunidad paridad impar.

3. Considerando las siguientes cadenas de 16 bits y sus bits de paridad par asociados, deter-minar en cada caso, si es que se ha producido algun error:

a) 1 0101 0110 1010 1010

b) 0 0101 0111 1011 1011

c) 0 1011 0100 0010 0110

d) 0 0101 0111 1101 0101

e) 1 1010 0111 1001 1110

4. Suponiendo que se desea enviar un conjunto de caracteres desde la A hasta la H, codi-ficados en ASCII basico (7 bits), por un medio no muy confiable el cual es capaz deintroducir errores en la transmision.

a) Mostrar la codificacion resultante de hacer uso de LRC para los cheksums, asumiendoque cada caracter constituye una fila y que se trabaja con paridad impar.

Pista: Recordar que A se codifica 1000001, y ası sucesivamente.

b) Al momento del envıo, todo parece indicar que el medio de transmision afecto latransmision, ya que del lado del receptor la H se transformo en una M. En base aesto, ¿cual es la longitud del burst de error que se produjo? El checksum LRC, ¿fuecapaz de detectarlo?

5. Al emplear CRC para detectar errores en la transmision de mensajes, pueden adoptarsedos polıticas diferentes a la hora de transmirir el valor de CRC asociado al mensaje enconsideracion. La polıtica mas inmediata, consiste en transmitir solo el mensaje y enviarel CRC obtenido por separado. En este caso, el receptor recomputa el CRC asociado almensaje que recibio y luego lo coteja con el valor de CRC recibido.

1

Page 2: Organizacion de computadoras Ejercicioscs.uns.edu.ar/~ags/OC/downloads/PRÁCTICOS DE TEORÍA/TP-04.pdf · Ejercicios 1.Calcular el bit de paridad par asociado a las siguientes cadenas

Una segunda polıtica, consiste en entretejer el CRC dentro del mensaje que se esta trans-mitiendo. Para lograr esto, el emisor extiende el mensaje original (M(x)) con tantos ceroscomo indique el grado del polinomio clave (G(x)), obteniendo de esta manera xr∗M(x).Luego se calcula el resto (R(x)) dividiendo xr∗M(x) por G(x) usando ⊕ en las restas de ladivision. R(x) es sumado al mensaje extendido xr∗M(x) obteniendo el mensaje que seratransmitido (T(x)).

Por su parte, el receptor (una vez recibido el mensaje) computa el CRC asociado al mensajeextendido que recibio, sabiendo que debe obtener una secuencia de ceros (es decir, serauna division exacta resultando R(x)=0). De no ser ası, sabe que se debe haber producidoalgun error durante la transmision y puede solicitar el reenvıo del mismo.

En este contexto, suponiendo que el mensaje a transmitir es M(x) = 1011 1110 0001 yque el polinomio clave o generador es G(x) = 11001, realizar la deteccion o no del error,segun corresponda, en los siguientes casos:

a) Asumiendo un error en la transmision que altere solo un bit.

b) Asumiendo un error en transmision que afecte a dos bits, con maxima separacionentre ellos.

c) Asumiendo un burst en error arbitrario, de longitud menor o igual que el grado deG(x).

d) Asumiendo un burst en error de longitud cinco (grado de G(x) + 1), para los casosen que se presente un patron de error E(x) arbitrario y alternativamente para elcaso que el patron de error E(x) se corresponda exactamente con G(x).

6. Computar el Codigo Cıclico Redundante (CRC) asociado a los siguientes mensajes, em-pleando los polinomios generadores indicados:

a) M(x) = 1011, con G(x) = x3 + x + 1.

b) M(x) = 1001011, con G(x) = x8 + x7 + x5 + x4 + x3 + x + 1.

c) M(x) = 10010101100, con G(x) = x4 + x + 1.

7. Para cada uno de los T (x) resultantes en el ejercicio anterior, verificar que el codigoadoptado (CRC) se comporta de manera cıclica. Para esto, rotar el mensaje entero aizquierda o derecha una cantidad finita de posiciones y verificar que el checksum siguesiendo valido (esto es, que el resto de la division sigue siendo cero).

8. A modo de verificacion de la teorıa de las probabilidades de que un error producto de unburst de longitud l sea o no sea detectado por el CRC, desarrollar todas las combinacionesposibles al enfrentar bursts de las longitudes indicadas, cuando se adopta un polinomiogenerador G(x) = 101.

a) l = 2

b) l = r + 1 = 3

c) l = 4

Por ultimo, contrastar los resultados observados con la estimacion producto de la proba-bilidad calculada, donde:

Errores que se Detec. = Total de Combinaciones en error×(1−Prob. de No Detectar el Error)

2

Page 3: Organizacion de computadoras Ejercicioscs.uns.edu.ar/~ags/OC/downloads/PRÁCTICOS DE TEORÍA/TP-04.pdf · Ejercicios 1.Calcular el bit de paridad par asociado a las siguientes cadenas

9. Demostrar que el codigo paridad par se corresponde con el CRC, cuando el polinomiogenerador es G(x) = 11, para el caso en concreto 1001 1010.

En el marco de esta comparativa, calcular el check-bit que acompana al frame y analizarlos casos de burst de error de longitud 1, 2, 3 y 4, en consonancia con lo demostrado enla teorıa y considerando si se conserva o no la paridad.

10. Dado un dato de k bits de extension, la cantidad de bits redundantes (denominada r)necesarios para detectar y corregir un bit en error es tal que:

2r ≥ k + r + 1

Analogamente, para detectar y corregir dos bits en error se tendra:

2r ≥ k + r +(k + r)(k + r − 1)

2+ 1

Teniendo en cuenta estas relaciones, determinar:

a) La cantidad de bits redundantes que se deben agregar para detectar y corregir unbit en error en datos de dos y de cuatro bytes.

b) La cantidad de bits redundantes que se deben agregar para detectar y corregir dosbits en error en datos de dos y de cuatro bytes.

11. Un codigo de longitud n, puede definirse formalmente como un subconjunto de todas lascadena posibles de n sımbolos tomados de algun alfabeto Σ, por caso Σ = {0, 1}. En estecontexto, cuando para todo par de miembros del codigo se observa que se modifican losbits en d posiciones, se dice que el codigo tiene distancia d. Es decir, podemos caracterizarun determinado codigo en base a la cantidad p de sımbolos de su alfabeto, la distancia dentre los miembros validos del codigo, y el numero de cadenas validas, que denominaremosm. En otras palabras, podemos denotar a un codigo C simplemente como C(p, d,m).

Teniendo esto en cuenta, considerando el codigo compuesto por las siguientes secuenciasde bits:

000 0001

000 1110

011 0010

011 1101

101 0100

101 1011

110 0111

110 1000

a) Determinar cual es su distancia mınima.

b) Analizar la capacidad de deteccion/correccion de errores del codigo.

Pista: la capacidad de correccion de un bit en error se basa en contar con una unicarepresentacion valida a distancia 1 (la representacion correcta), y todas las restantesrepresentaciones validas a distancia dos o superior.

3

Page 4: Organizacion de computadoras Ejercicioscs.uns.edu.ar/~ags/OC/downloads/PRÁCTICOS DE TEORÍA/TP-04.pdf · Ejercicios 1.Calcular el bit de paridad par asociado a las siguientes cadenas

c) Utilizando el codigo anterior, transformar los siguientes datos de 7 bits a binarioy determinar si se produjeron errores. En caso que se puedan corregir, determinarcuales eran los datos iniciales correctos:

24, 62, 65, 84, 90, 104, 127

12. Para cada uno de los siguientes datos, calcular los bits de codigo asociados a un esquemamınima distancia 3 (Hamming basico), indicando el codeword resultante:

a) 0010 1111

b) 1101 1000

c) 0111 0100

d) 1011 1101

e) 1111 0110

13. En el contexto de un codigo mınima distancia 4 (Hamming extendido), considerar lossiguientes planteos:

a) ¿Cuantos bits se deben agregar a un sistema que manipula informacion de 16 bitspara poder implementar este codigo?

b) ¿Que posiciones han de ocupar los bits de control que se intercalan entre los datos?

14. Para cada uno de los siguientes codewords, recalcular los bits de paridad correspondientesa un codigo mınima distancia 4 (Hamming extendido), en base a paridad par, de izquierdaa derecha, con el bit de paridad ocupando la posicion extrema derecha, indicando lasacciones a seguir tanto bajo una polıtica de “deteccion de dos errores y correccion de uno”como bajo una polıtica de “deteccion de tres errores”:

a) 0011101101001

b) 1000110011011

c) 0010010110101

d) 1101101011100

e) 0010110100101

Referencias

[Mar62] Marcus, M. P. Switching Circuits for Engineers. Prentince-Hall, 1962.

[MH00] Murdocca, M. J., and Heuring, V. P. Principles of Computer Architecture.Prentince-Hall, 2000.

4