4
CÓDIGOS DE DETECCIÓN DE ERRORES: CÓDIGOS HAMMING Y CÓDIGOS DE REDUNDANCIA CÍCLICA (CRC) Semanate Esquivel Luis Clinton e-mail: [email protected] Simba Palomo Alexis Fabricio e-mail: [email protected] Ingeniería Mecatrónica, 6to Nivel, Universidad de las Fuerzas Armadas ESPE - Extensión Latacunga, Márquez de Maenza S/N Latacunga, Ecuador. Fecha de presentación: 24/04/2015 RESUMEN: Una comunicación que varía entre computadoras existe una infinidad de movimiento de datos que en algunos casos estos no están diseñados para ese uso y que por lo cual se introduce ruido y esto ocasiona errores en la transmisión, aquí es donde entra el código Hamming que este busca la posición del error y realizan la respectiva corrección, el código CRC sirve para completar el mensaje que dejaron los vacíos puestos por las divisiones de los polinomios. PALABRAS CLAVE: Detección de errores, Código Hamming, Código CRC. 1. INTRODUCCIÓN El código Hamming es un código detector y corrector, detector en un bit y corregirlos pero solo lo puede hacer con un solo bit en la transmisión de códigos binarios, a esto se añade la palabra código que está formado por los bits de comprobación y los de deformación. Para poder trabajar estos datos lo que se realiza por medio de tablas colocando los datos en las posiciones apropiadas y los bits de paridad en cada uno usando la paridad par. [1] Los códigos CRC es un método de control de integridad de datos para la protección de datos en bloques en largas secuencias de datos, este método es utilizado para las telecomunicaciones. Este método se basa en representar los datos obtenidos en polinomios, cabe destacar que el número de datos que ingresa serán los mismos que salen, osea de igual longitud.[2] 2. CARACTERÍSTICAS GENERALES 2.1 CÓDIGO HAMMING [7] Detecta y corrige los errores de 1 bit. Se usaran como bits de paridad aquellos en que las posiciones son de potencia 2. Ocupa en código ASCII ya que se usa para el intercambio de información, que es el más utilizado el alfanumérico. 2.2 CÓDIGO CRC [7] Los códigos CRC se expresan por lo general en polinomios de Galois. Detecta errores simples, dobles, impares, etc. 3. DESARROLLO 3.1 CÓDIGO HAMMING El código Hamming es un método de rectificación de un bit erróneo [8] Números de bits de paridad

Codigos de Dectección de Error

  • Upload
    luis

  • View
    256

  • Download
    6

Embed Size (px)

DESCRIPTION

Codigo Hamming , CRC

Citation preview

CDIGOS DE DETECCIN DE ERRORES: CDIGOS HAMMING Y CDIGOS DE REDUNDANCIA CCLICA (CRC)

Semanate Esquivel Luis Clintone-mail: [email protected] Palomo Alexis Fabricioe-mail: [email protected]

Ingeniera Mecatrnica, 6to Nivel, Universidad de las Fuerzas Armadas ESPE

- Extensin Latacunga, Mrquez de Maenza S/N Latacunga, Ecuador.

Fecha de presentacin: 24/04/2015

RESUMEN: Una comunicacin que vara entre computadoras existe una infinidad de movimiento de datos que en algunos casos estos no estn diseados para ese uso y que por lo cual se introduce ruido y esto ocasiona errores en la transmisin, aqu es donde entra el cdigo Hamming que este busca la posicin del error y realizan la respectiva correccin, el cdigo CRC sirve para completar el mensaje que dejaron los vacos puestos por las divisiones de los polinomios.

PALABRAS CLAVE: Deteccin de errores, Cdigo Hamming, Cdigo CRC.

1. INTRODUCCIN

El cdigo Hamming es un cdigo detector y corrector, detector en un bit y corregirlos pero solo lo puede hacer con un solo bit en la transmisin de cdigos binarios, a esto se aade la palabra cdigo que est formado por los bits de comprobacin y los de deformacin.

Para poder trabajar estos datos lo que se realiza por medio de tablas colocando los datos en las posiciones apropiadas y los bits de paridad en cada uno usando la paridad par. [1]

Los cdigos CRC es un mtodo de control de integridad de datos para la proteccin de datos en bloques en largas secuencias de datos, este mtodo es utilizado para las telecomunicaciones.

Este mtodo se basa en representar los datos obtenidos en polinomios, cabe destacar que el nmero de datos que ingresa sern los mismos que salen, osea de igual longitud.[2]

2. CARACTERSTICAS GENERALES

2.1 CDIGO HAMMING [7]

Detecta y corrige los errores de 1 bit. Se usaran como bits de paridad aquellos en que las posiciones son de potencia 2. Ocupa en cdigo ASCII ya que se usa para el intercambio de informacin, que es el ms utilizado el alfanumrico.

2.2 CDIGO CRC [7]

Los cdigos CRC se expresan por lo general en polinomios de Galois. Detecta errores simples, dobles, impares, etc.

3. DESARROLLO

3.1 CDIGO HAMMING

El cdigo Hamming es un mtodo de rectificacin de un bit errneo [8]Nmeros de bits de paridadLa determinamos por la siguiente relacin: (1)Dnde:d = nmero de bits de datosp = nmero de datos de paridad

3.1.1 CMO DETECTAR Y CORREGIR CDIGO HAMMING[9]

Cada uno de los bits de paridad unido con su pertinente grupo de bits debe corroborarse de acuerdo con la paridad que se vaya a utilizar. Independientemente cada verificacin de paridad mostrara un resultado bueno o malo de la siguiente forma:Paso 1.Comience con el grupo comprobado por P1. Paso 2.Compruebe si el grupo tiene la paridad correcta. Un 0 representa que la comprobacin de paridad es correcta y un 1 que es incorrecta. Paso 3.Repita el paso 2 para cada grupo de paridad. Paso 4.El nmero binario formado por los resultados de todas las comparaciones de paridad indica la posicin del bit del cdigo que es errneo. Es el cdigo de posicin de error. La primera comprobacin de paridad genera el bit menos significativo (LSB). Si todas las comprobaciones son correctas, no habr error. [6]La nomenclatura de los cdigos Hamming son entre parntesis, ejemplo (8.7) quiere decir 8 bits de los cuales 7 son datos.

Todos los bits cuya posicin es potencia par se utilizan como bits de paridad empezando desde el 1, el resto de bits con utilizados como bits de datos.

Ejemplo:

Tabla 1. Posiciones de bits para un cdigo de correccin de errores de 7 bits [3]Como ejemplo tomamos BCD 1001[3]

Como detectar el cdigo y corregir se utiliza los siguientes pasos:

Comprobamos con el grupo

Tiene paridad correcta, 0 correcta y 1 incorrecta.

Repetimos el mismo paso para el grupo de paridad.

El nmero formado binario por el resultado de las comprobaciones de paridad indica la posicin de los bits del cdigo que es el incorrecto.

Tabla 2. Cdigo Recibido [3]

Ejemplo 0011001 y recibe 0010001.

3.2 Cdigo CRC

La CRC fue inventada y propuesta por W. Wesley Peterson en un artculo publicado en 1961. [5]

Este cdigo se utiliza para representar el conjunto de datos recibidos en base binaria y transformarla a polinomios generando uno de grado r y de grado n de bits.

Sirve para determinar la variacin accidental en los datos. Los grupos de datos incorporados en estos sistemas llevan un valor de verificacin anexo, fundamentado en el residuo de una divisin de polinomios; la accin se realiza repetidamente, y la rectificacin puede tomarse en oposicin de los datos hipotticamente adulterados en el proceso de que el valor de correccin no concuerde. Puede ser tratado como adicin de comprobacin para determinar la variacin de datos en el proceso de almacenamiento o transmisin. Propio en revelar errores generados por ruido en las vas de transmisin. Su implementacin en hardware binario es fcil por la examinacin matemtica.3.2.1 Calculo del CRC [4]:La mecnica de la informtica con su lenguaje binario produce unas CRC simples. Los bits representados de entrada son alineados en una fila, y el (n+ 1) representa el patrn de bits del divisor CRC (llamado polinomio) se coloca debajo de la parte izquierda del final de la fila. Aqu est la primera de ellas para el clculo de 3 bits de CRC:Fig.1 Calculo de 3 bits CRC

Si la entrada que est por encima del extremo izquierdo del divisor es 0, no se hace nada y se pasa el divisor a la derecha de uno en uno. Si la entrada que est por encima de la izquierda del divisor es 1, el divisor esuna disyuncin exclusiva [6]en la entrada (en otras palabras, por encima de la entrada de cada bit el primer bit conmuta con el divisor). El divisor es entonces desplazado hacia la derecha, y el proceso se repite hasta que el divisor llega a la derecha, en la parte final de la fila de entrada. Aqu est el ltimo clculo:

Fig.2 Calculo Final

Desde la izquierda se divide por cero todos los bits de entrada, cuando este proceso termina el nico bits en la fila de entrada que puede ser distinto de cero es n bits ms a la derecha, en la parte final de la fila. Estosnbits son el resto de la divisin, y ser tambin el valor de la funcin CRC (es el CRC escogido a menos que la especificacin de algn proceso posterior lo cambie).

4 RESULTADOSEl cdigo Hamming depende mucho de la paridad del anlisis de P1, P2, P3, etc. Tanto para su transformacin o encriptacin as como para su cambio o decodificacin [10].De existir algn cambio en la paridad quiere decir que hay un error grave en la transmisin, para esto se debe volver analizar y verificar en que parte del bit est mal y corregirlo.

Para un cdigo CRC se debe considerar con mucho cuidado la ecuacin que se obtenga, junto a las dems que obtenemos ya que a partir de esta obtendremos el residuo y se analizara siendo este diferente de cero.

5 CONCLUSIONES Y RECOMENDACIONES

El cdigo Hamming solo puede corregir un solo bit en todo el proceso.

Las unidades controladoras son una de las aplicaciones ms importantes en el cdigo CRC y adems se aplican en redes de datos, adems este mtodo de deteccin de error es el ms confiable ya que se trabaja con todos sus bits para evitar errores.

Los tres cdigos tienen una secuencia, ya que, uno detecta el otro corrige y el ultimo corrobora si hay algn error extra.Todos los cdigos trabajan con el sistema binario y no con otros como el hexadecimal, octal, etc.Estos cdigos en conjunto sirven esencialmente para la verificacin de errores usado frecuentemente en redes digitales y en dispositivos de almacenamiento para detectar variacin accidental en los datos.

6 REFERENCIAS

[1]Fundacin Wikimedia, Inc. Recuperado el (23 de Abril de 2015, Disponible en: http://es.wikipedia.org/wiki/C%C3%B3digo_Hamming

[2]Kioskeanet, Inc. Recuperado el (23 de Abril del 2015, Disponible en: http://es.kioskea.net/contents/59-verificacion-de-errores

[3]Tomas L. Floyd, FUNDAMENTOS DE SISTEMAS DIGITALES, PEARSON EDUCACIN S.A., Novena Edicin, Madrid, 2006, pp.109.

[4]Fundacin Wikimedia, Inc. Recuperado el (23 de Abril del 2015, Disponible en: http://es.wikipedia.org/wiki/Verificaci%C3%B3n_por_redundancia_c%C3%ADclica

[5]Peterson, W. W. y Brown, D. T. Cyclic Codes for Error Detection.Proceedings of the IRE. [6]Fundacin Wikimedia, Inc. Recuperado el (23 de Abril del 2015, Disponible en: http://es.wikipedia.org/wiki/Verificaci%C3%B3n_por_redundancia_c%C3%ADclica

[7]Slideshare, Inc., Disponible en: http://es.slideshare.net/carlosamayat/hamming-y-crc

[8]Fundacin Wikimedia, Inc. Recuperado el (23 de Abril del 2015, Disponible en: http://es.wikipedia.org/wiki/Detecci%C3%B3n_y_correcci%C3%B3n_de_errores

[9]Introduccin a los sistemas digitales. Recuperado el (23 de Abril del 2015), de e-libro:http://ezp1.espe.edu.ec:2050/lib/espesp/docDetail.action?docID=10436640&p00=codigo%20hamming[10]Comunicaciones Digitales. Recuperado el (23 de Abril del 2015), de e-libro:http://ezp1.espe.edu.ec:2050/lib/espesp/docDetail.action?docID=10165675&p00=codigo%20hamming