You are on page 1of 6

Cdigo de Hamming. La transferencia de datos en la memoria puede en ocasiones tener errores que se producen por variaciones en la corriente elctrica.

Una forma de detectar esos errores es usando algn cdigo de deteccin de errores, o bits de paridad, los cuales se agregan ala dato inicial para poder controlar alguna desviacin. Es una forma de funcionamiento anlogo al dgito de verificacin que se utilizan en los lega os de los alumnos. !rimero se a"aden tantos bits de paridad como sean necesarios para formar una palabra que sea igual a# m + r = n bits $iendo m la cantidad de bits dados por la palabra del sistema % r la cantidad de bits de paridad que se agregan % n la cantidad de bits resultante. Los bits se numeran comenzando desde & en lugar de 'acerlo desde ( como 'abitualmente se 'ace en todas las funciones de computacin, siendo por lo tanto el bit &el de e)trema derec'a *tambin llamado bit de ma%or significado especialmente en sistemas numricos+. ,odos los bits cu%o nmero es potencia de - son bits de paridad, los dems se utilizan para datos, por lo tanto los bits &, -, ., /, &0, 1-,... etc. son bits de paridad % el resto son datos. Es importante saber cual es el tama"o de los registros porque as sabremos cuantos bits debemos agregarle. 2e esta manera si la palabra es de &0 bits deberemos agregarle 3 bits de paridad con lo cual tendremos -& bits en total, cumpliendo con la formula que dimos al principio# 16 + 5 = 21 4ecordamos que podemos tener dos tipos de paridad# par e impar, sabiendo que cualquiera sea la que tomemos debemos sumar la cantidad de bits con valor & % obtener siempre un nmero par o impar de acuerdo a la forma elegida. Los bits verifican los siguientes campos# Bits 1 2 ! " 16 Verifica los siguientes bits & 1 3 5 6 && &1 &3 &5 &6 -& - 1 0 5 &( && &. &3 &/ &6 . 3 0 5 &- &1 & . &3 -( -& / 6 &( && &- &1 &. &3 &0 &5 &/ &6 -( -& -- -1 -. Noten ue & si7 & no - si7 - no . si7 . no / si7 / no &0 si7 &0 no

8ada bit de paridad comienza de su nmero para arriba. En general un bit es verificado por todos aquellos que respondan a# bp1 + bp2 + bp# +.... + bpn = b lo que da, por e emplo que el bit 3 es verificado por el bit de paridad & % el bit de paridad . lo que cumple con la frmula dada anteriormente bp1 + bp! = 5 % el bit && es verificado por el & 9 - 9 / : &&. ;eamos como se controla una palabra de &0 bits en memoria.

,omemos la palabra en memoria &&((&&&((((&(&&& % apliquemos el cdigo de <amming para paridad par. & - 1 . 3 0 5 / 6 & ( Hamming < < & < & ( ( < & & $ara 16 $ara " & & & $ara ! & & ( ( $ara 2 ( & ( ( & $ara 1 & & & ( & %inal & ( & & & ( ( & & & Nro.Bits & & & & & & & & ( ( ( ( & 1 ( ( ( ( ( & . ( ( ( ( ( & 3 ( ( ( ( ( ( & 0 < ( & 5 & & & / ( ( ( ( & & ( & 6 & & & & & ( & & & & - 8antidad & & & . 1 & 1 . & 5 & &-

$i se produce un cambio en el bit 3 deber ser tomado por el control de los bits & % . donde se verificar el cambio o error producido en la transmisin o por una variacin de corriente elctrica. =o querramos controlar con los valores de & % . porque no es as como se debe 'acer. Esto se debe 'acer de la misma manera en que se constru%e cada bit. >niciamos por el &0 % contamos la cantidad de unos que este bit controla % luego seguimos con el /, luego el cuatro, el - % por ltimo el &. 2e la misma manera se 'ace con el error. $i da impar sabremos que ese control est mal. Es importante indicar que el cdigo de <amming slo puede detectar el cambio de & bit. $i fueran dos los que cambiaron sera casi imposible % si fueran 1 totalmente imposible ms an si se compensan. ?ndre@ $. ,anembaum& desarrolla el siguiente e ercicio, que traducimos en un desarrollo igual que el nuestro para que pueda ser seguido detalladamente & - 1 . 3 0 5 / 6 & ( Hamming < < & < & & & < ( ( $ara 16 $ara " ( ( ( $ara ! ( & & & $ara 2 ( & & & ( $ara 1 ( & & & ( %inal ( ( & ( & & & ( ( ( Continuando Cdigos de Hamming. Nro.Bits & & ( ( ( ( ( & ( ( ( ( & 1 & & & & & & . ( ( ( ( ( & 3 & & & & & & & 0 < & & 5 ( ( & / & & & & ( ( & & 6 & & & & & ( & & & & - 8antidad & ( ( 1 ( 0 0 ( 0 ( &(

&

?ndre@ $. ,anembaum en su libro &'rgani(acin de Computadoras un )nfo ue )structurado* Editorial !rentice <all 1ra. Edicin pginas 3( a 3.. ?conse amos leer.

Es un mtodo general propuesto por 4. A <amming usando una distancia mnima m. 8on este mtodo, por cada entero m e)iste un cdigo de 'amming de - mB& bits que contiene m bits de paridad % -mB&Bm bits de informacin. En este cdigo, los bits de paridad % los bits de paridad se encuentran entremezclados de la siguiente forma# $i se numeran las posiciones de los bits desde & 'asta - mB&, los bits en la posicin - C, donde de informacin. El valor de cada bit de paridad se escoge de modo que el total de unos en un nmero especfico de bits sea par, % estos grupos se escogen de tal forma que ningn bit de informacin se cubra con la misma combinacin de bits de paridad. Es lo anterior lo que proporciona al cdigo su capacidad de correccin. !ara cada bit de paridad en la posicin -C, su grupo de bits de informacin correspondiente inclu%e todos esos bits de informacin correspondiente cu%a representacin binaria tenga un uno en la posicin -C. La siguiente tabla muestra los grupos de paridad para un cdigo de 'amming de 5 bits o sea de la forma -mB& con m : 1. En este e emplo, los bits de informacin son . % los bits de paridad son 1. Los bits de informacin estn en las posiciones 5, 0, 3 ,1. Los bits de paridad estn en las posiciones &, -, .. !D$>8>E= 2E LD$ F>,$ , son los bits de paridad % los bits restantes son bits

5 G G G

0 G G

3 G

. G

&

G G G

G G

En la tabla anterior, el grupo de paridad del bit de paridad situado en la posicin . son los bits de informacin situados en las posiciones 5, 0, 3 que contienen unos en la posicin -C o sea . cuando C : -.

El grupo de paridad del bit de paridad situado en la posicin - son los bits de informacin situados en las posiciones 5, 0, 1 que contienen unos en la posicin -C o sea - cuando C : &. El grupo de paridad del bit de paridad situado en la posicin & son los bits de informacin situados en las posiciones 5, 3, 1 que contienen unos en la posicin -C o sea & cuando H : (. 8omo &&& es la representacin binaria de 5, el bit de informacin en la posicin 5 se usa para calcular el valor de los tres bits de paridad. $imilarmente, el bit de informacin en la posicin 0 se usa para calcular el valor de los bits de paridad en las posiciones . % -7 el bit de informacin en la posicin 3 se usa se usa para calcular el valor de los bits de paridad en las posiciones . % &. Iinalmente, el bit de informacin en la posicin 1 se usa para calcular el valor de los bits de paridad en las posiciones - % &. 2e acuerdo con estos grupos de paridad, el valor del bit de paridad de la posicin & tiene que elegirse de modo que el nmero de unos en las posiciones 5, 3, 1, & sea par, mientras el bit de paridad en la posicin - 'ace el nmero de unos par 5, 0, 1, - % el valor del bit de paridad en la posicin cuatro 'ace el nmero de unos par en las posiciones 5, 0, 3, .. Es fcil observar que, en estas condiciones, la distancia mnima es 1, o sea que tienen que 'aber al menos tres cambios de un bit para convertir una palabra de cdigo en otra. !ara probar que un cambio de un bit siempre genera una palabra que no pertenece al cdigo, 'a% que observar que un cambio de un bit en una palabra del cdigo afecta al menos un bit de paridad. !or otra parte, un cambio de dos bits en una palabra del cdigo no cambia el valor del bit de paridad si ambos bits pertenecen al mismo grupo de paridad. $in embargo ello no es posible %a que para dos posiciones cualquiera de una palabra del cdigo siempre 'a% un grupo de paridad que no inclu%e ambas posiciones. En otras palabras, como dos bits cualquiera deben estar en distintas posiciones, sus nmeros binarios deben diferir al menos en un bit, as que siempre 'a% al menos un grupo de paridad con un solo bit cambiado, lo cul da lugar a una palabra que no pertenece al cdigo con al menos un valor de paridad incorrecto.

)+emplo #.

$upngase que se transmite una palabra de cdigo % se recibe una palabra que no pertenece al cdigo % que es &&&(&(& . 8ul fue la palabra correcta transmitidaJ !osiciones de los bits.

5 &

0 &

3 &

. (

1 &

& &

En la tabla anterior se puede observar lo siguiente# 8uando se cuenta el nmero de unos que 'a% en los bits, 5, 0, 3, . de la palabra del cdigo recibida, se encuentra que este nmero es impar. 2e forma similar, se encuentra que los bits 5, 0, 1, contienen un nmero( impar de unos. !or tanto 'a% un error en los bits de paridad . % -. 8omo la suma de los nmeros en esas posiciones es 0, se sabe que el error se 'a producido en el bit de posicin 0 % por tanto la palabra transmitida fue &(&(&(&.

),)-C.C.'/
&+ 2efina un cdigo de . bits para la representacin de dgitos decimales, con la propiedad de que las palabras de cdigo para dos dgitos cualquiera cu%a diferencia sea uno, difieran slo en una posicin de bits, % que esto tambin se cumpla para los dgitos ( % 6.

1+ 2eterminar la distancia entre G % K en# a+ G : &&(((&( % K : &(&(((& b+ G : (&((&&( % K : (&&((&( c+ G : ((&&&((&, % K : &(&(&((& .+ 2etermine la distancia mnima de la funcin de decodificacin e: *(((+: (((((((( e: *((&+: (&&&((&(

e: *(&(+: &((&&&(( e: *(&&+: (&&&(((& e: *&((+: (&&((&(& e: *&(&+: &(&&(((( e: *&&&+: ((((&&&& 8uantos errores detectar eJ 8uantos errores corregir eJ

You might also like