You are on page 1of 4

DETECCIN Y CORRECCION DE ERRORES En los procesos de almacenamiento, transmisin, escritura de datos se pueden producir errores.

Con la deteccin de errores aseguramos la integracin de la informacin; con la correccin hay una tolerancia al fallo. Si los valores vlidos difieren en un solo bit, no es posible la deteccin del error. Entonces definimos: Distancia entre dos representaciones vlidas: cantidad de bits para pasar de una representacin a otra. Distancia mnima de un cdigo: mnima cantidad de bits que se debe cambiar para pasar de una representacin vlida a otra.

Sea M: distancia mnima D: capacidad de deteccin C: capacidad de correccin M-1 = D+C , DC Capacidad de deteccin (correccin) se define como uno menos de los que no siempre puede ser detectado corregido. Podemos generar la siguiente tabla: M 1 2 3 4 D 1 2 1 3 2 C 1 1

PARIDAD Se puede trabajar con PARIDAD PAR que es un dato compuesto por un nmero par de 1s o con PARIDAD IMPAR que es un dato compuesto por un nmero impar de 1s.

Bit de paridad DATO BP

El bit de paridad es aquel que hace que el dato tenga una paridad par impar. Ya que la paridad se toma como: Nro de 1s del dato + Bit de paridad

Ejemplo: Sea A = 10011001 B = 11010101 Con paridad par: A= 100110010 B= 110101011 (el BP=0 ya que ya tena un nro par de 1s) (el BP=1 ya que tena un nro impar de 1s) (4 1s) (5 1s)

Paridad(A) = 4 + BP = 4 + 0 = 4 = par Paridad(B) = 5 + BP = 5 + 1 = 6 = par Con paridad impar: A= 100110011 B= 110101010 (el BP=1 ya que ya tena un nro par de 1s) (el BP=0 ya que tena un nro impar de 1s)

Paridad(A) = 4 + BP = 4 + 1 = 5 = impar Paridad(B) = 5 + BP = 5 + 0 = 5 = impar

CODIGO HAMMING (mnima distancia 3) Sea n: bits del dato m: bits redundantes (cdigo) m log2(n)+1 Se un dato de n=8 bits, por lo tanto m=4. Los bits de cdigo se colocan en potencias de dos: B=(b0 b1 b2 b3 b4 b5 b6 b7) 1 0001 C0 2 0010 C1 3 0011 b0 4 0100 C2 5 0101 b1 6 0110 b2 7 0111 b3 8 1000 C3 9 1001 b4 10 1010 b5 11 1011 b6 12 1100 (pos.) b7

Clculo de los Ci Los Ci se calculan (si es paridad par) haciendo el XOR de los bits del dato en cuya posicin, el bit i de la misma coincida con el bit i de la posicin del Ci. En caso de ser paridad impar se calculan del mismo modo pero se nega el resultado. (Es decir si con paridad par C1=1 entonces con paridad impar C1=0) Los Ci vendran a ser como el bit de paridad del grupo de bits de dato con el cual se calcula.
3 210

Por ejemplo: la posicin del Co es 0001 entonces el bit i=0 de la posicin es 1; las posiciones correspondiente a los bits del dato que cumplen con este requisito son: 0011, 0101, 0111, 1001, 1011 entonces: C0 = b0 b 1 b3 b4 b6 = b C0 = b0 b 1 b3 b4 b6 = b (b=1 0) (Paridad Par) (b=1 0) (Paridad Impar)

Cuando se recupera el dato se recalcula los indicado y se efecta la siguiente operacin Ci Ci = Pi

Ci

del

mismo

modo

que

antes

(Pi es una componente del vector puntero al bit en error)

Entonces P=(Pm-1 Pm-2 ... P0) nos indica la posicin del bit en error OBS. A 0 0 1 1 B 0 1 0 1 A B 0 1 1 0

Ejemplo B=10110110 b0=1, b1=0, b2=1, b3=1, b4=0, b5=1, b6=1, b7=0 1 0001 C0 2 0010 C1 3 0011 1 4 0100 C2 5 0101 0 6 0110 1 7 0111 1 8 1000 C3 9 1001 0 10 1010 1 11 1011 1 12 1100 (pos.) 0

Paridad Par C0 C1 C2 C3 = = = = b0 b0 b1 b4 b1 b2 b2 b5 b3 b3 b3 b6 b4 b6 b5 b6 b7 b7 = = = = 1 1 0 0

Luego Hamming queda: 1 0001 1 2 0010 1 3 0011 1 4 0100 0 5 0101 0 6 0110 1 7 0111 1 8 1000 0 9 1001 0 10 1010 1 11 1011 1 12 1100 (pos.) 0

Ahora supongamos que se produjo un error y se cambia el bit de la posicin 9 (1001) 1 0001 1 2 0010 1 3 0011 1 4 0100 0 5 0101 0 6 0110 1 7 0111 1 8 1000 0 9 1001 1 10 1010 1 11 1011 0 12 1100 (pos.)

Recalculamos los Ci, entonces: C0=0 C1=1 C2=0 C3=1 Luego: P0 = C0 P1 = C1 P2 = C2 P3 = C3

C0 C1 C2 C3

= = = =

1 1 0 0

0 1 0 1

= = = =

1 0 0 1

entonces P = (1001) esto indica la posicin en que se produjo el error, y como era de esperar esa posicin corresponde al bit que supusimos que cambi.

CODIGO HAMMING EXTENDIDO (mnima distancia 4)

H A M M I N G P:paridad

Se pueden dar 3 posibilidades: No hay error Un bit en error Hamming=0 Paridad OK Paridad FALLO Hamming=0 P incorrecto, luego P= P Hamming0 corrijo segn Hamming

Dos bit en error Paridad OK, Hamming0, por lo tanto informo, NO corrijo

Marcos Meli MarcosMeli@gmx.net

You might also like