Está en la página 1de 6

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

INGENIERA MECATRNICA Nombre: Milton Cajilema Fecha: 02/09/2013 Tema: Cdigo CRC, Hamming y de Paridad CDIGO CRC.- Los cdigos de redundancia cclica (CRC) son un potente sistema muy usado en comunicaciones y en dispositivos de hardware para detectar si la informacin est corrupta (daada). Principalmente, estos cdigos CRC tambin llamados cdigos polinmicos usan un polinomio generador G(x) de grado r con n bits de datos binarios (coeficientes del polinomio de orden n-1). [1] A estos bits de datos se le aaden r bits de redundancia, de forma que el polinomio resultante sea divisible por el polinomio generador. El receptor verificar si el polinomio recibido es divisible por G(X). Si no lo es, habr un error en la transmisin. [1] El algoritmo para calcular la redundancia es el siguiente: Sea r el grado de G(x). Agregar r bits a cero al extremo de orden inferior de la trama, de tal manera que ahora contenga m + r bits, y corresponda al polinomio x rM(x). Dividir la serie de bits correspondientes a x rM(x) entre la serie de bits correspondientes a G(x), empleando la divisin en mdulo 2.

Restar el resto (que siempre tiene r o menos bits) de la serie de bits correspondientes a x rM(x), empleando la resta en mdulo 2. El resultado es la trama lista para trasmitir. Llmese T(x) a este polinomio. [2]

Ejemplo del clculo para la trama 1101011011 y G(x) = x4 +x+1

Los polinomios generadores ms usados son: CRC-12: x12 + x11 + x3 + x2 + x + 1. Usado para transmitir flujos de 6 bits, junto a otros 12 de redundancia. CRC-16: x16 + x15 + x2 + 1. Para flujos de 8 bits, con 16 de redundancia. Usado en USA, principalmente. CRC-CCITT: x16 + x12 + x5 + 1. Para flujos de 8 bits, con 16 de redundancia. Usado en Europa, principalmente. CRC-32: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1. Da una proteccin extra sobre la que dan los CRC de 16 bits, que suelen dar la suficiente. Se emplea por el comit de estndares de redes locales (IEEE-802) y en algunas aplicaciones del Departamento de Defensa de USA. [1]

CDIGO HAMMING.- es un cdigo detector y corrector de errores que lleva el nombre de su inventor, Richard Hamming. En los datos codificados en Hamming se pueden detectar errores en un bit y corregirlos, sin embargo no se distingue entre errores de dos bits y de un bit. Esto representa una mejora respecto a los cdigos con bit de paridad, que pueden detectar errores en slo un bit, pero no pueden corregirlo. [3] Si se aaden junto al mensaje ms bits detectores-correctores de error y si esos bits se pueden ordenar de modo que diferentes bits de error producen diferentes resultados, entonces los bits errneos podran ser identificados. En un conjunto de siete bits, hay slo siete posibles errores de bit, por lo que con tres bits de control de error se podra especificar, adems de que ocurri un error, en qu bit fue. [3] Adicionar ciertos bits de control al mensaje original. Los bits de paridad corresponden a los bits que son potencias de 2: 1, 2, 4, 8, 16, etc. segn el tamao del mensaje. Los bits de control o paridad se calculan basados en unos criterios. Estos criterios se calculan dependiendo del tamao del mensaje. Para un mensaje de longitud 4. El bit de paridad 1 (P1) se calcula con la paridad de los bits de datos 3, 5 ,7 El bit de paridad 2 (P2) se calcula con la paridad de los bits de datos 3, 6, 7 El bit de paridad 4 (P4) se calcula con la paridad de los bits de datos 5, 6, 7 Ejemplo Consideremos la palabra de datos de 7 bits "0110101". En primer lugar los bits de datos se insertan en las posiciones apropiadas y los bits de paridad calculados en cada caso usando la paridad par.

Clculo de los bits de paridad en el cdigo Hamming P1 = D1 exor D2 exor D4 exor D5 exor D7 P2 = D1 exor D3 exor D4 exor D6 exor D7

P3 = D2 exor D3 exor D4 P4 = D5 exor D6 exor D7 La nueva palabra de datos es ahora "10001100101". Consideremos ahora que el bit de la derecha, por error, cambia de 1 a 0. La nueva palabra de datos ser ahora "10001100100". Sin errores

Comprobacin de los bits de paridad (con primer bit de la derecha sin cambiar) Con errores

Comprobacin de los bits de paridad (con primer bit de la derecha cambiado) El paso final es evaluar los bits de paridad. El valor entero que representan los bits de paridad es 11 lo que significa que el bit dcimo primero de la palabra de datos es el errneo y necesita ser cambiado.

Cambiando el bit dcimo primero 10001100100 se obtiene de nuevo 10001100101.

PARIDAD .- es uno de los mecanismos de verificacin ms simples. Consiste en agregar un bit adicional (denominado bit de paridad) a un cierto nmero de bits de datos denominado palabra cdigo (generalmente 7 bits, de manera que se forme un byte cuando se combina con el bit de paridad) cuyo valor (0 o 1) es tal que el nmero total de bits 1 es par. Para ser ms claro, 1 si el nmero de bits en la palabra cdigo es impar, 0 en caso contrario. Ejemplo:

En este ejemplo, el nmero de bits de datos 1 es par, por lo tanto, el bit de paridad se determina en 0. Por el contrario, en el ejemplo que sigue, los bits de datos son impares, por lo que el bit de paridad se convierte en 1:

Supongamos que despus de haber realizado la transmisin, el bit con menos peso del byte anterior ha sido vctima de una interferencia:

El bit de paridad, en este caso, ya no corresponde al byte de paridad: se ha detectado un error. Sin embargo, si dos bits cambian simultneamente mientras se est enviando la seal, no se habra detectado ningn error.

Ya que el sistema de control de paridad puede detectar un nmero impar de errores, puede detectar solamente el 50% de todos los errores. Este mecanismo de deteccin de errores tambin tiene la gran desventaja de ser incapaz de corregir los errores que encuentra (la nica forma de arreglarlo es solicitar que el byte errneo sea retransmitido). [4]

Bibliografa [1] http://www.emezeta.com/articulos/codigos-de-redundancia-ciclica Consultado el 01 de septiembre de 2013 [2] http://www.geocities.com/CapeCanaveral/Launchpad/3973/codcrc.html Consultado el 01 de septiembre de 2013 [3] http://www.slideshare.net/sergioruiz1/codigo-hamming Consultado el 01 de septiembre de 2013 [4] http://es.kioskea.net/contents/59-verificacion-de-errores Consultado el 01 de septiembre de 2013