Вы находитесь на странице: 1из 15

Fundamentos de la Informtica

Cdigos detectores y correctores de error

8
1.- INTRODUCCIN

Cdigos detectores y correctores de error

Estudiada la fiabilidad de los canales de transmisin, vamos a centrarnos en este tema en la posibilidad de transmitir mensajes confiables por canales no confiables. Una conclusin importante del tema anterior es que existe la posibilidad de que el mensaje recibido no sea el transmitido. Ningn canal real est libre de error , por lo que por muy pequea que sea la probabilidad de ste en los canales actuales: del orden de 10-6, 10-8 e inferiores, su existencia impone la necesidad de mecanismos ajenos al medio de transmisin que mejoren la calidad de sta. El mecanismo ms inmediato es la simple repeticin de cada smbolo transmitido un nmero n de veces. Si los n smbolos recibidos son iguales, se supondr que en ninguna de las transmisiones ha existido error y, por lo tanto, el centro receptor identificar como smbolo transmitido el n veces repetido. Si los n smbolos recibidos no son todos iguales, implicar error en alguna de las transmisiones y se identificar como smbolo transmitido ms probable al que aparezca repetido ms veces en la recepcin. Es fcil observar como ste simple mecanismo mejora la fiabilidad de la transmisin. Vemoslo con un ejemplo: Ej.1.- Consideremos un canal BSC con una probabilidad de error p de 0.01, es decir, el 99% de los smbolos binarios transmitidos es recibido correctamente. Con objeto de aumentar la fiabilidad del canal repetimos el envo de cada dgito binario 3 veces. El proceso se representa en el siguiente esquema de emisin-transmisin de un dgito binario: Centro Emisor Dgito a enviar Se repite 3 veces Transmisin Centro Receptor Posibles secuencias Dgito enviado recibidas 000 001 010 011 100 101 110 111 0 1

0 1

000 111

Fundamentos de la Informtica

Cdigos detectores y correctores de error

La probabilidad de que no exista error en la transmisin es: (1 - p) 3 = ( p ) 3. La probabilidad de un solo error es: 3 p p 2. La probabilidad de 2 errores es: 3 p2 p . Y la probabilidad de que los tres smbolos binarios recibidos sean errneos es: p3. Aplicando la regla de decisin indicada se tiene que la probabilidad de interpretar el mensaje errneamente es igual a la suma de las probabilidades de que varen dos o tres smbolos binarios durante la transmisin, o sea: p3 + 3 p2 p 3*10 -4. La probabilidad de error ha pasado de 10 -2 si no existe repeticin en la transmisin a 3*10 -4 si repetimos 3 veces cada smbolo emitido. Vista la mejora de la fiabilidad de la transmisin, es fcil de inducir que la probabilidad de error disminuir con el nmero de repeticiones, pero a costa de incrementar el tiempo de la transmisin, por lo que el procedimiento repetitivo descrito plantea un compromiso entre la velocidad de los mensajes y su fiabilidad. Por ejemplo, en el caso anterior se ha disminuido el porcentaje de error pero a costa de pasar de la transmisin de un mensaje por dgito binario a la de uno por cada tres dgitos binarios. Este mtodo de correccin de errores aunque efectivo, no es el ms eficaz que se puede utilizar; a continuacin vamos a estudiar mtodos ms sofisticados que logran una mayor velocidad en la transmisin de los mensajes mediante una adecuada codificacin de estos. En los apartados siguientes hablaremos de la transmisin de palabras de cdigo, para su mejor comprensin, y evitar as cualquier error, es conveniente sealar que en realidad los canales utilizados son binarios, por lo que la transmisin de una palabra de cdigo supone la transmisin individual de cada uno de los n caracteres binarios que la componen. Dicho de otra forma, el proceso de transmisin de una palabra de cdigo por un canal binario, hay que verlo como la extensin de orden n (n=longitud de la palabra de cdigo) del canal binario.

2.- CDIGOS DETECTORES DE ERROR Vamos a estudiar una serie de cdigos cuya principal caracterstica es que permiten detectar si se ha producido o no error en la transmisin de la palabra de cdigo. Aunque en caso de producirse no son capaces de su correccin inmediata, su deteccin evita el uso de informacin incorrecta. El error se soluciona repitiendo la transmisin hasta que ste desaparezca. La ventaja de esta metodologa frente a la anterior es inmediata: el mensaje slo se repite en caso de error. Si en un cdigo binario de longitud constante (como slo nos referiremos a este tipo de cdigos, a partir de ahora obviaremos el indicar explcitamente esta caracterstica) se utilizaran todas las combinaciones posibles de sus n dgitos binarios (2n), resultara imposible detectar si se ha producido error, ya que una combinacin del cdigo se transformara en otra que tambin pertenece a l. Quiere esto decir, que la posibilidad de detectar errores se logra no utilizando todas la combinaciones posibles, de forma que al recibir una determinada combinacin se puede identificar como errnea si no pertenece al cdigo. Por ejemplo:

Fundamentos de la Informtica

Cdigos detectores y correctores de error

Ej. 2.- Queremos transmitir dgitos decimales para lo que usamos el cdigo BCD natural. En ste no se emplean ms que 10 de las 16 combinaciones posibles con 4 dgitos binarios. Supongamos que se emite la combinacin 0011 y tras producirse error en un dgito binario durante la transmisin se recibe la 1011; como no pertenece al cdigo utilizado es inmediato deducir que nunca ha podido ser transmitida, por lo que el error ser detectado. Sin embargo, esta condicin es necesaria pero no suficiente. Vemoslo con un contraejemplo: Ej. 3.- Retomemos el ejemplo anterior y supongamos ahora que al transmitir la combinacin 0011 se produce el error en el primer dgito, recibiendo la 0010. Como tambin pertenece al cdigo el centro receptor la considerar correcta, identificando, errneamente, al dgito decimal 2 como el mensaje emitido. De lo expuesto es fcil de deducir intuitivamente que la condicin necesaria y suficiente para poder detectar error en un dgito binario es que toda combinacin del cdigo se transforme, al variar uno cualquiera de sus dgitos, en una combinacin que no pertenezca al cdigo. En la Figura 1 se puede observar grficamente la condicin expuesta.

d=1

d=1

Figura 1. Los crculos sombreados representan combinaciones pertenecientes al cdigo y los blancos combinaciones no pertenecientes al cdigo. Las flechas negras indican transmisiones libres de error, mientras que con las grises se sealan las transmisiones con error en un dgito.

Los cdigos que cumplen esta condicin son aquellos cuya distancia mnima es mayor o igual a 2. Relacionando ambas afirmaciones se puede concluir que la condicin necesaria y suficiente para que un cdigo sea detector de error en un dgito binario es que su distancia mnima sea, como mnimo, dos. Generalizando el razonamiento anterior se puede afirmar que la condicin necesaria y suficiente para que un cdigo permita detectar el error producido por la variacin de un nmero de dgitos igual o menor que k durante la transmisin de la palabra de cdigo, es que su distancia mnima sea, al menos, k+1. Grficamente se puede ver en la Figura 2.

k-1 dgitos 2 dgitos 2 dgitos 1 dgito 1dgito k dgitos

k-1 dgitos 2 dgitos 1 dgito 2 dgitos 1dgito

...
d=1 d=1

...
d=k+1

...

Figura 2. La simbologa es la misma que en la figura anterior, slo se aade, en las flechas grises, el nmero de dgitos que varan en la transmisin. Se puede ver como el cdigo detector de k errores lo ser tambin de un nmero de errores inferior a k.

Fundamentos de la Informtica

Cdigos detectores y correctores de error

De los mltiples cdigos detectores de error cabe destacar, de entre los detectores de un solo error, a los de paridad y a los de peso constante. 2.1.- Cdigos de paridad Concepto de paridad: Se dice que una combinacin binaria tiene paridad par si el nmero de unos de esa combinacin es par. De igual forma se dice que una combinacin tiene paridad impar si su nmero de unos es impar. Sntesis del cdigo Un cdigo de paridad se obtiene aadiendo a las palabras de un cdigo de distancia mnima uno, un dgito que se denomina de paridad. Si el cdigo que se desea obtener es de paridad par, este dgito debe adquirir un valor tal que la paridad de cada combinacin sea par. Igual criterio se aplica si el cdigo deseado es de paridad impar. Ej. 4.- Vamos a crear un cdigo de paridad para los dgitos decimales a partir del cdigo BCD natural Dgito decimal 0 1 2 3 4 5 6 7 8 9 Cdigo de paridad Cdigo BCD natural Dgito de paridad 0000 0 0001 1 0010 1 0011 0 0100 1 0101 0 0110 0 0111 1 1000 1 1001 0

Para verificar que los cdigos de paridad son detectores de error en un dgito binario basta con probar que su distancia mnima es dos, para lo que se demostrarn las siguientes dos proposiciones: a) Un cdigo de paridad par posee una distancia mnima estrictamente mayor que uno.

Razonamos por reduccin al absurdo. Supngase que existen dos combinaciones bk bk-1 ... b1 b0 y ak ak-1 ... a1 a0, con una distancia entre ellas de uno. Esto implica que existe un bit, por ejemplo el j-simo, que hace que: b i = ai b j = aj

i [0, k] / i j

De aqu se infiere que si la primera combinacin posee m 1s, la segunda tiene m+1 m1. En cualquier caso si m es par m+1 m-1 son nmeros impares, con los cual la segunda combinacin no pertenecera al cdigo. Este razonamiento lleva a un absurdo, con lo que queda demostrada la proposicin.

Fundamentos de la Informtica

Cdigos detectores y correctores de error

b) En un cdigo de paridad par existen siempre dos combinaciones que distan dos unidades. Como el cdigo de partida es de distancia mnima uno, existirn al menos dos subcombinaciones bk-1 ... b1 b0 y ak-1 ... a1 a0, en las que solamente un ndice j hace que: b i = ai b j = aj

i [0, k] / i j

Si la primera combinacin posee m 1s, la segunda tendr m+1 m-1. Supngase que m es par. Entonces los respectivos bits de paridad sern bk=0 y ak=1. Si m fuera impar los bits de paridad seran bk=1 y ak=0. En cualquier caso se cumple que bk = ak. Por lo tanto, la distancia de estas dos combinaciones resultante es dos ( bk = ak y b j = aj ). En esta demostracin se ha trabajado con cdigos de paridad par. El razonamiento es el mismo si fuese de paridad impar. Anlisis del cdigo Para detectar si existe o no error en la palabra de cdigo recibida, se comprueba si sta cumple el criterio de paridad preestablecido, si es as se supondr que no ha existido error en la transmisin, si no es as es que algn dgito ha variado de valor, no podemos saber cual es, pero s que ha existido error. Ej. 5.- Supongamos que el criterio de paridad del cdigo usado es par. Entonces si se recibe: 10001 10000 01110 01100 Su paridad es par ser correcta. Su paridad es impar ser incorrecta. Su paridad es impar ser incorrecta. Su paridad es par ser correcta.

Como comentario final se puede aadir que por la forma de operar de estos cdigos, permitirn la deteccin de error siempre que el nmero de dgitos binarios que varen sea impar. 2.2.- Cdigos de peso constante Se denomina peso de una combinacin binaria al nmero de unos que posee. Entonces, los cdigos de peso constante sern aquellos cuyas combinaciones tienen siempre la misma cantidad de unos. Entre estos cdigos de peso constante se encuentran los BCD 2 entre 5 y biquinario o 2 entre 7, que es, adems ponderado:

Fundamentos de la Informtica
Dgito decimal Cdigo 2 entre 5

Cdigos detectores y correctores de error

0 1 2 3 4 5 6 7 8 9

01100 11000 10100 10010 01010 00110 10001 01001 00101 00011

Cdigo biquinario peso 5043210 0100001 0100010 0100100 0101000 0110000 1000001 1000010 1000100 1001000 1010000

Se puede comprobar que estos cdigos poseen una distancia mnima de dos. El error se detecta cuando la combinacin recibida tenga un nmero de unos distinto al peso del cdigo usado. Se puede aadir el mismo comentario que a los de paridad. 3.- CDIGOS CORRECTORES DE ERRORES Estos cdigos permiten, adems de detectar el error, corregirle sin necesidad de repetir la transmisin. De forma general, se puede decir que la tcnica empleada para la correccin consiste en identificar como combinacin correcta, a la perteneciente al cdigo que sea ms cercana a la errnea recibida, o sea, aquella cuya distancia de la combinacin incorrecta sea menor. Veamos, al igual que antes, las propiedades de estos cdigos partiendo del caso ms sencillo:

2 d g ito s 1 d g ito 1 d g ito

2 d g ito s 1 d g ito

d=1 d=2 d=3

P ro c e s o de c o rre c c i n

Figura 3. Se utiliza la misma simbologa que en figuras anteriores. Conviene fijarse como un cdigo corrector de orden 1 slo corrige correctamente si hay un error en la transmisin. Esta afirmacin es extrapolable a cdigos correctores de cualquier orden.

cdigos capaces de corregir el error cometido al variar un dgito binario. Puesto que se ha de detectar el error, no deben de usarse todas las combinaciones posibles (como se vio en la pregunta anterior), pero, adems, como el proceso de correccin ha de ser no ambiguo, slo debe de haber una posible combinacin del cdigo que diste una unidad de cada

Fundamentos de la Informtica

Cdigos detectores y correctores de error

combinacin no usada. En la Figura 3 se puede observar esquemticamente el proceso de correccin. Se puede concluir, que la condicin necesaria y suficiente para que un cdigo sea corrector de orden uno (corrija correctamente errores producidos al variar un dgito en la transmisin) es que su distancia mnima sea tres. Veamos un ejemplo que ilustra lo expuesto: Ej. 6.- Queremos transmitir dos mensajes A y B. Si la distancia mnima del cdigo usado es menos que tres, es imposible una correccin no ambigua: cdigo I: A.........00 B.........11

Supongamos que usando este cdigo se recibe la combinacin 01, evidentemente ha existido un error, y suponiendo que ha sido en un solo dgito es imposible discernir si la combinacin enviada ha sido la 00 o la 11 ya que ambas distan una unidad de la recibida. Creemos ahora un cdigo de distancia mnima tres: cdigo II: A..........000 B..........111

Las entradas y salidas del canal seran (suponiendo que no puede haber ms de un error en la transmisin de cada combinacin):

Combinacin de entrada

Combinacin de salida

000

111

000 001 010 011 100 101 110 111

Es inmediato ver como en el proceso de correccin no existe ninguna ambigedad:

Combinacin de salida

Combinacin corregida

000 001 010 011 100 101 110 111

000

111

Fundamentos de la Informtica

Cdigos detectores y correctores de error

Aunque la restriccin de que no existe ms de un error en la transmisin de cada combinacin es aplicable en numerosos canales reales, es conveniente generalizar el proceso de correccin a un orden k: Si durante la transmisin de una combinacin varan un nmero de dgitos igual o inferior a k, se recibir una combinacin no perteneciente al cdigo; para que este error pueda se corregido, debe de cumplirse que la combinacin emitida sea la nica perteneciente al cdigo cuya distancia de la recibida sea igual o inferior a k. Generalizando el razonamiento a cualquier combinacin transmitida se puede concluir que la condicin necesaria y suficiente para que un cdigo sea corrector de orden k es que su distancia mnima sea de 2k+1; slo en este caso el proceso de correccin ser no ambiguo. En la Figura 4 se puede observar una esquematizacin grfica del proceso de correccin de orden k que puede ayudar a la comprensin de lo anteriormente expuesto.

2 dgitos

2 dgitos 1 dgito 1 dgito k-1 dgitos

k dgitos

k dgitos

k-1 dgitos

2 dgitos 2 dgitos 1dgito 1dgito

...
d=1 d=1

...
d=k

...
d=k

...
Proceso de correccin

d=2k+1

Figura 4. Representacin simblica de un proceso de correccin de k errors.

De los posibles cdigos correctores de errores vamos a ver nicamente los denominados cdigos de Hamming. 3.1.- Cdigos de Hamming Con este nombre se conoce a un conjunto de cdigos correctores en k dgitos binarios. En esta leccin solamente se tratar el de orden uno: k=1. A la hora de trabajar con este tipo de cdigos podemos distinguir dos operaciones: a) Construccin, que se realizar en el centro emisor. b) Interpretacin, que se realizar en el centro receptor. a) Construccin. Se parte de un cdigo de n dgitos de distancia mnima uno 1 . Estos n dgitos son conocidos dentro del cdigo de Hamming como "dgitos de datos". A continuacin se le aaden p (cp-1, ..., c2, c1, c0) dgitos denominados de control o paridad. As pues, el nuevo cdigo tendr una longitud de palabra de l=n+p. La numeracin de los dgitos es la habitual (de derecha a izquierda) pero comenzando por uno: dn+p dn+p-1 ... d2 d1.
Esta condicin de partida, cdigo de distancia mnima uno, no es estrictamente imprescindible, pero de no ser as, se aade redundancia innecesaria al cdigo resultante (existen palabras de cdigo innecesariamente no utilizadas).
1

Fundamentos de la Informtica

Cdigos detectores y correctores de error

Cada uno de estos p dgitos que aadimos al cdigo original va a afectar a unas determinadas posiciones de la nueva palabra de cdigo de n+p dgitos, de forma que tomaran el valor adecuado para que se cumpla el criterio de paridad (par o impar) preestablecido en las subcombinaciones afectadas por cada uno. Se tiene, entonces, que en la construccin del cdigo los p dgitos aadidos actan como dgitos de paridad. b) Interpretacin. Recibida una combinacin de un cdigo de Hamming hay que comprobar si es correcta, y de no ser as habr que detectar el dgito que vari en la transmisin. Ahora los p dgitos aadidos actan como dgitos de control y con ellos formamos una palabra binaria. Cada uno de los dgitos de esta palabra toma el valor 0 1 dependiendo de si el nmero de unos de las posiciones de la palabra de cdigo por el afectadas cumplen o no el criterio de paridad establecido. Interpretando la combinacin resultante en binario natural, tendremos dos posibilidades: - Que se corresponda con el 0. Entonces quiere decir que la transmisin ha sido correcta. - Que se corresponda a un nmero distinto del 0. Entonces en la transmisin ha variado el dgito situado en la posicin indicada por ese nmero. Quedan varias cuestiones por resolver: I.- Cmo calcular p. II.- A que posiciones afecta cada uno de los p dgitos de control o paridad. III.- Dnde se colocan estos dgitos dentro de la palabra de cdigo. I.- Dada la forma de calcular la posicin errnea, con p dgitos binarios se tiene que poder detectar el error en todas y cada una de la n+p posiciones de la palabra de cdigo. Como la combinacin formada por los p dgitos de control se interpreta en binario natural, se debe cumplir que: 2p - 1 n + p Donde 2p-1 es el mayor nmero que se puede representar en binario natural con p dgitos. II.- Construyamos todas las combinaciones posibles con p dgitos de control, e interpretemos cada una en binario natural: Posicin cp-1 ... c2 c1 c0 0 ... 0 0 0...........0 0 ... 0 0 1...........1 0 ... 0 1 0...........2 0 ... 0 1 1...........3 0 ... 1 0 0...........4 0 ... 1 0 1...........5 ... Cada dgito de control ha de afectar a aquellas posiciones en las que sea capaz de detectar error, o sea, va a afectar a las posiciones de la tabla anterior para las que ese dgito valga 1:

Fundamentos de la Informtica

Cdigos detectores y correctores de error

10

Dgito Posiciones co .............. 1, 3, 5, 7, 9, 11, 13, ... c1 .............. 2, 3, 6, 7, 10, 11, 14, 15, ... c2 .............. 4, 5, 6, 7, 12, 13, 14, 15, ... ... cp .............. 2p, 2p+1, 2p+2, ... III.- Han de colocarse en aquellas posiciones en las que no se vean afectados por otro dgito de control, as no existirn ambigedades a la hora de otorgarles valor en la creacin del cdigo. Estas posiciones han de ser entonces: Dgito Posicin Combinacin en binario natural c0 .............. 20 ............. 0 ... 001 c1 .............. 21 ............. 0 ... 010 c2 .............. 22 ............. 0 ... 100 ... Veamos un ejemplo de creacin e interpretacin de un cdigo de Hamming de paridad par: Ej. 7.- Partimos del cdigo binario natural de 4 bits. a) Creacin. Dividimos el proceso en una secuencia lgica de pasos: 1.- Clculo del nmero de dgitos de control necesarios: 2p - 1 n+p 2p 5 + p p = 3 n=4 La palabra de cdigo tendr, entonces, una longitud l=4+3=7 dgitos: d7d6d5...d1. Para identificar los dgitos de control les denominamos c2, c1 y c0. 2.- Hallamos las posiciones de la palabra de cdigo afectadas por cada dgito de control. c2 c1 c0 Posicin 0 0 1 ......... 1 0 1 0 ......... 2 0 1 1 ......... 3 1 0 0 ......... 4 1 0 1 ......... 5 1 1 0 ......... 6 1 1 1 ......... 7 Los controles de paridad se efectan sobre las siguientes subcombinaciones: c0 .- d1, d3, d5, d7. c1 .- d2, d3, d6, d7. c2 .- d4, d5, d6, d7. 3.- Cada dgito de control estar situado en las siguientes posiciones de la palabra de cdigo: co .- d1 c1 .- d2 c2 .- d4

4.- Construccin del cdigo de Hamming:

Fundamentos de la Informtica

Cdigos detectores y correctores de error

11

c2 d7 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 d6 0 0 0 0 1 1 1 1 d5 0 0 1 1 0 0 1 1 d4 0 0 1 1 1 1 0 0 d3 0 1 0 1 0 1 0 1

c1 d2 0 1 0 1 1 0 1 0

c0 d1 0 1 1 0 0 1 1 0 8 9 10 11 12 13 14 15 d7 1 1 1 1 1 1 1 1 d6 0 0 0 0 1 1 1 1 d5 0 0 1 1 0 0 1 1

c2 d4 1 1 0 0 0 0 1 1 d3 0 1 0 1 0 1 0 1

c1 d2 1 0 1 0 0 1 0 1

c0 d1 1 0 0 1 1 0 0 1

b) Interpretacin. Analicemos todos los casos posibles de error en un bit. 1.- Alteracin de un bit de datos: d7 d6 d5 d4 d3 d2 d1 Combinacin transmitida 0 Combinacin recibida 1 - Control de paridad de c0 - Control de paridad de c1 - Control de paridad de c2 1 1 1 1 0 0 1 1 0 0 0 0

d7 d5 d3 d1 ; 3 unos impar co = 1. d7 d6 d3 d2 ; 3 unos impar c1 = 1. d7 d6 d5 d4 ; 3 unos impar c2 = 1.

El bit errneo es: c2 c1 c0 = 1 1 1(2 = 7. 2.- Alteracin de un bit de control: d7 d6 d5 d4 d3 d2 d1 Combinacin transmitida 0 Combinacin recibida 0 - Control de paridad de c0 - Control de paridad de c1 - Control de paridad de c2 1 1 1 1 0 1 1 1 0 0 0 0

d7 d5 d3 d1 ; 2 unos impar co = 0. d7 d6 d3 d2 ; 2 unos impar c1 = 0. d7 d6 d5 d4 ; 3 unos impar c2 = 1.

El bit errneo es: c2 c1 c0 = 1 0 0(2 = 4. 3.- No hay alteracin:

Fundamentos de la Informtica

Cdigos detectores y correctores de error

12

d7 d6 d5 d4 d3 d2 d1 Combinacin transmitida 0 Combinacin recibida 0 - Control de paridad de c0 - Control de paridad de c1 - Control de paridad de c2 1 1 1 1 0 0 1 1 0 0 0 0

d7 d5 d3 d1 ; 2 unos impar co = 0. d7 d6 d3 d2 ; 2 unos impar c1 = 0. d7 d6 d5 d4 ; 2 unos impar c2 = 0.

Como c2 c1 c0 = 0 0 0(2 = 0, entonces no existe error en la combinacin recibida.

4.- BIBLIOGRAFA Norman Abramson, "Teora de la Informacin y Codificacin", Paraninfo, 1986. Enrique Mandado, "Sistemas Electrnicos Digitales", Marcombo, 1987. J.-P. Meinadier, "Estructura y Funcionamiento de las Computadores Digitales", AC, 1986. Pedro de Miguel Anasagasti, "Fundamentos de los computadores", Paraninfo, 1988.

Fundamentos de la Informtica Ejercicios propuestos

Cdigos detectores y correctores de error

13

1. Crear un cdigo binario que represente los dgitos 0 a 3 que tenga distancia mnima 3. Cuntos errores podemos detectar y corregir?. 2. Cul es la distancia mnima necesaria de un cdigo para poder detectar errores de 3 bits?. Y para corregirlos?. 3. Crear un cdigo binario que permita representar a.) los siete das de la semana, b.) los caracteres del alfabeto. c.) los caracteres del alfabeto distinguiendo entre maysculas y minsculas. . . . Modifique los cdigos anteriores para obtener otros que permitan detectar errores de un dgito binario. Qu debera hacerse para convertirlos en cdigos de distancia mnima 3?. Si estos cdigos se utilizan en un sistema informtico en el que una vez enviada la informacin es imposible repetirla, construya los respectivos cdigos que solucionen este problema para errores de 1 dgito binario.

En todos los casos calcule su eficacia y redundancia, suponiendo smbolos equiprobables. 4. Partiendo de los cdigos siguientes, construir los correspondientes cdigos de Hamming de paridad impar e impar correctores de errores de un dgito binario: a.) Cdigo binario natural de 3 y 5 dgitos binarios, b.) Cdigo BCD exceso a 3. 5. Interpretar las siguientes combinaciones binarias de un cdigo de Hamming de paridad impar (diciendo la informacin contenida en ellos), indicando si hay error en qu posicin y corregirlo: Cdigo Gray de 4 bits i. 100 0000 ii. 000 1100 iii. 000 0100 ASCII extendido 8 bits iv. 0011 1011 1011 v. 0011 1000 0000 vi. 1011 1000 0000

Fundamentos de la Informtica

Cdigos detectores y correctores de error

14

6. Interprete la siguiente secuencia de 32 dgitos binarios 0100 0010 1000 0010 0110 0000 1010 0000 como datos del cdigo 2 entre 7 con dgito de paridad par en ltimo lugar (cccccccP; c = bit de cdigo, P = bit de paridad), Indicar cuando el dato almacenado es errneo. Si los datos representados son numricos, escriba su equivalente en base diez. 7. a.) Un dato y su dgito de paridad se copian de una parte a otra de un ordenador. La subsiguiente comprobacin de paridad falla. Es cierto que el dato es ahora incorrecto? Explicar la respuesta. b.) Si, en el caso anterior, la comprobacin de paridad no falla, es cierto que el dato es correcto? Explicar la respuesta. c.) A la luz de sus respuestas en los apartados a y b, comentar brevemente la utilidad de las comprobaciones de paridad. 8. Sea un cdigo instantneo se le aade un dgito binario de paridad a la derecha de cada palabra de cdigo, seguir siendo un cdigo instantneo? 9. A un cdigo de distancia mnima 1 se le aade un dgito de paridad par. Al cdigo as resultante se le agrega un nuevo dgito ahora de paridad impar. Hallar y justificar la distancia mnima del nuevo cdigo. 10. Dadas las siguientes secuencias de dgitos binarios: i) 000011111111001101101 ii) 10001110101101.01101001011100

interpretarlas como secuencias de palabras del cdigo de Hamming de paridad par formado a partir del BCD natural. Corregir cada palabra en el caso de que haya algn dgito errneo, obtener el dgito decimal representado y obtener las cantidades representadas en cada secuencia. 11. Interpretar la siguiente secuencia binaria perteneciente a un cdigo corrector de Hamming construido a partir jdel cdigo BCD natural, con criterio de paridad par.: 0000000101111001010101010111 12. Los dgitos decimales son representados en las calculadoras deigitales mediante 7 segmentos, de la forma descrita en la figura. A esta forma de representacin se la puede considerar como una codificacin de los dgitos decimales. a) Identificar el alfabeto cdigo. b) Ser un cdigo detector de un error? 13. Se desea transmitir los resultados de un experimento realizado en el laboratorio A hacia el B.

Fundamentos de la Informtica

Cdigos detectores y correctores de error

15

a) Sabiendo que el experimento tiene dos nicos posibles resultados, y que estos son equiprobables: crear, para estos resultados, un cdigo corrector de un error, de longitud media mnima. Indicar claramente por qu el cdigo creado es instantneo y su longitud media es mnima. b) Una vez codificado el resultado obtenido la palabra de cdigo es enviada hacia el centro de clculo. Para comprobar el funcionamiento del canal binario usado se realiza la siguiente prueba: se toma un nmero suficientemente grande de entradas (las palabras del cdigo creado en el apartado a) escogidas al azar, y se observa que a la salida 2 de cada 9 salidas contienen un error en uno cualquiera de sus dgitos, que 1 de cada 9 contiene dos errores, no observndose variacin de mayor nmero de dgitos. En ambos casos, la probabilidad de que un 1 se convierta en 0, y a la inversa (0 en 1) es la misma. Calcular la entropa de la fuente de salida del canal. c) El centro de clculo, una vez recibida una combinacin, procede a comprobar si sta es correcta, aplicando el proceso de correccin oportuno en caso de combinacin incorrecta. Viendo este proceso como un canal: I. Qu tipo de canal ser? II. Calcular la entropa de la fuente de salida del proceso de correccin. 14. Para transmitir la salida de la fuente de informacin de memoria nula S={S1,S2,S3,S4}, por un canal de alfabeto de entrada A={a1,a2,a3,a4}, se utiliza un cdigo compacto. a) Crear el cdigo compacto identificando claramente los alfabetos fuente y cdigo, e indicando por qu el cdigo creado es compacto. b) Supongamos que la lnea de transmisin es unidireccional (el centro receptor no puede comunicarse con el emisor), proponer algn procedimiento que permita mejorar la fiabilidad en la transmisin.

Вам также может понравиться