SlideShare una empresa de Scribd logo
1 de 4
Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2014,Barrera Llanga Kevin Iván
1
(Simmons, 1992) (Peterson, 1961) (James,2010)CÓDIGOS DE DETECCIÓNDE
ERROR CRC Y HAMMING
Barrera Llanga Kevin Iván
Ingeniería Mecatrónica, Quinto “A”
Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga
e-mail: kevinivancho@hotmail.com
Abstract: This article describes that is the code error
detection Hamming and CRC, each of its features,
functions, s step by step procedure, applications
developers and a brief example of each of these using
the knowledge acquired throughout this document. Also
some special characteristics of error detection codes will
be discussed.
Resumen: En este artículo se describe en que
consiste el código de detección de error Hamming y
CRC, cada una de sus características, funciones, s
procedimiento paso a paso, aplicaciones,creadores y un
breve ejemplo de cada una de estas utilizando los
conocimientos adquiridos a lo largo de este documento.
Además se expondrá algunas características especiales
de los códigos de detección de error.
PALABRAS CLAVE: CRC, Detección de error,
Hamming, Sistemas Digitales.
I. Introducción
En todo sistema se presente una cantidad de error,
por más mínima que esta sea se necesita una forma
correctiva, para esta corrección en los sistemas digitales
se utilizan códigos de detección de errores entre estos
esta el chequeo de redundancia cíclica o CRC y los
códigos Hamming. Estos poseen la capacidad de
detectar diferentes errores de transmisión o
perturbaciones producidos por factores como el ruido
térmico, impulsivo, redondeo, cruce de líneas, etc.
Corrigiéndolos y dándonos como resultado un sistema
optimo, evitando la perdida de datos y comunicación en
los sistemas digitales. (Andy, 2007)
II. Código de detección de error
Hamming
2.1 Richard Wesley Hamming
R.W. Hamming [Fig.1] fue un matemático
estadounidense que tubo un principal aporte en el
campo de la informática y telecomunicaciones
trabajando en temas relacionados con los mismos dando
como resultado entre sus principales contribuciones el
código Hamming, la distancia Hamming y la ventana
Hamming. Nació en Chicago en 1915, entre sus
aptitudes académicas obtuvo una licenciatura en la
universidad de su ciudad de origen, una maestría en la
Universidad de Nebraska yse doctoró en la Universidad
Urbana- Champaign.
Trabajo en el proyecto Manhattan más conocido
como la primera bomba atómica. Fue fundador y
presidente de la Asociación de Maquinaria en
Informática. Murió en Monterey, California el 7 de enero
de 1998. (James, 2010)
Fig. 1. Richard Wesley Hamming [1]
2.2 Código de detección de error
Hamming
Los códigos Hamming son códigos de detección de
error cuyo nombre proviene de su descubridor R.W.
Hamming,es uno de los tipos de código de bloques más
conocidos,entre sus características principales se puede
decir que es un código de distancia numero 3, es capaz
de detectar diferentes errores dobles ycorregir errores si
es un solo error simple es decir errores en un bit
enviados por un canal que es sensible al ruido. Un
ejemplo muy común de este método de corrección de
errores seria en redes WI-FI para la transmisión de
mensajes.
2.3 Distancia de Hamming
Como se decía este código se forma a partir de una
distancia mínima de 3,esto es así ya que con distancias
de 1 o 2 es incomodo para poder generar un código para
la detección de su error ya que si se tuviera el valor de 1
no existiera ningún otro valor para realizar una
comparación y si se tuviera una distancia de 2 puede
tener una corrección de error al existir una sola
comparación podrían pasar desapercibidos otros errores
existentes. Cuando mayor sea la diferencia menor será
Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2014,Barrera Llanga Kevin Iván
2
la posibilidad de que un código se convierta en otro
código por una serie de errores. Esta distancia está
dada por la siguiente ecuación:
𝐷 𝑚 = 2𝑋 + 1 [Ec.1. Distancia mínima de Hamming]
En donde:
Dm= Es la distancia mínima para la corrección de datos
exceptuando 1 y 2 por motivos ya mencionados.
X= Son las líneas de los datos.
2 y 1= Son constantes utilizados en la ecuación.
Ejemplo: ¿Cuál es la distancia de Hamming entre
los números binarios 1011010 y 1001111?
La distancia de Hamming seria de 3 ya que los valores
son diferentes en 3 de sus dígitos. (Peterson, 1961)
2.4 Variables para la generación del
código Hamming
Las variables que se toman a consideración para el
código Hamming son:
n: el número de bits que posee el código original.
p: es el número de bits de paridad par generados en el
transmisor.
c: el número de bits de detectores de paridad par
generados por el receptor.
c=p ya que los bits de transmisor y receptor deben ser
los mismos.
𝑛 = 2 𝑐
− 𝑐 − 1 [Ec.2. Combinaciones de Hamming] [2]
2.5 Generación del código Hamming
En esencia el código Hamming propone generar
una tabla para asignar valores a las combinaciones que
se generen en los bits de paridad tanto como de
transmisor y receptor. El procedimiento es el siguiente:
1.- Los bits de posición que sea potencia de dos se
utilizan como bits de paridad, estas posiciones son 20
=
1, 21
= 2, 22
= 4, 23
= 8, 24
= 16, 25
= 32, etc.
2. Los bits que sobran en las posiciones son utilizados
como bits de datos.
3. Los bits de paridad se obtiene calculando la paridad
de alguno de los bits de datos. La posición del bit de
paridad determina la secuencia de los bits que
alternativamente comprueba y salta. (Simmons, 1992)
Tabla. 1. Código ASCII de 7 bits para generación del
código Hamming [3]
Ejemplo:Con un dato de 7 bits 1001110 calcule los bits
del código Hamming.
El nuevo dato de paridad seria 10100010110
2.6 Extensión del código de Hamming
La extension consiste en colocar en la tabla un
número adicional con el fin de encontrar más de un bit
dañado,esto lo logra mediante el desarrollo de matrices
estas matrices se computan para poder detectar y
corregir un bit dañado e informar cuando hay dos o más
bit dañados en el proceso. Se pueden dar 3 casos:
“1.- No hay error :Hamming =0, Paridad OK
2.- Un bit de error :Paridad Fallo entonces
a) Hamming = 0,P = incorrecto,en este caso se cambia
el valor del bit de paridad.
b) Hamming <> 0, corrijo según Hamming.
3.- Dos bit en error -> Paridad Ok, Hamming <> 0, por lo
tanto informo, NO corrijo” [Ref. Introducción a los
Sistemas Digitales, pág. 89] (Peterson, 1961)
III. Código de detección de error CRC
3.1 William Wesley Peterson
W. Wesley Peterson [Fig.2], nació en Michigan en
1924 fue un matemático y un científico, su pación fue la
informática, conocido por inventar el método de
comprobación de redundancia cíclica, por lo que fue
galardonado con un Premio Japón en 1999. Fue
profesor de Ciencias de la computación de la
universidad Manoa.Escribió varios libros sobre códigos
de corrección de errores, incluyendo la 2da edición
revisada de: Código de Corrección de Errores. Además
hizo investigaciones y publicaciones en los campos de
lenguajes de programación,programación de sistemas y
redes. Ganó el Premio Claude Shannon en 1981 y la
medalla Centenaria de IEEE en 1984. Falleció en mayo
de 2009 en Honolulu, Hawaii (James, 2010)
Fig. 1. W. Wesley Peterson [4]
Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2014,Barrera Llanga Kevin Iván
3
3.2 Código de detección de error
CRC
El código de detección de error CRC también
conocido como verificación de redundancia cíclica es un
código el cual permite detectar errores usándose
mayormente en dispositivos por su simpleza de
implementación como en los dispositivos de
almacenamiento, telecomunicaciones y redes digitales,
con el fin de detectar y controlar cambios en los datos,
estos se generan en la mayoría de los casos de forma
accidental.
Se encarga de la protección de los datos en bloques
conocidos como tramas,el código de detección de error
CRC contiene datos repetidos con la trama, de manera
que los errores no sólo se pueden detectar sino que
además se pueden solucionar. Este método es muy
efectivo en la detección de errores en los sistemas de
comunicaciones,una de esas características es que no
permite la corrección de errores ya que se envía uno o
más caracteres adicionales de redundancia
denominados FCS ("frame check sequence") o BCC
("block check caracter"), que difieren fundamentalmente
en la forma de calcularlo. (Andy, 2007)
3.3 Definición de código de
detección de error CRC
El código CRC consiste en considerar a los bits a
ser transmitidos como un polinomio en x (para n bits el
orden es n-1) tal que la presencia de un término significa
un "1", y la ausencia, un "0", denotando polinomios
cuyos coeficientes se correspondan con la secuencia
binaria cuyo cálculo es una larga división de
computación en el que se descarta el cociente y el resto
se convierte en el resultado, con la diferencia que el
arrastre se produce con bits formando una familia de
códigos de bloques lineales.
3.4 Polinomio Generador Ideal
La aritmética con estos polinomios del CRC es de
módulo 2 sin llevar, es decir la adición y la sustracción
son equivalentes a la puerta XOR, la división la usa en
lugar de sustracción y A se divide entre B si el número
de bits es mayor de o igual a el número en A. Todos los
polinomios correspondientes a las palabras del código
cíclico, deben dividirse entre g(x) sin residuo siendo este
un divisor de x – 1 el bit mayor y el menor del generador
deben ser 1, es decir:
 Si 110001 son los bits a transmitir,
entonces el mensaje podrá ser
considerado como un polinomio U(x) tal
que: U(x) = X6
+ X5
+1
 Un ejemplo a la inversa seria si G(x)= X4
+
X3
+ X+1 seria igual a 11011. (James, 2010)
3.5 Polinomios Generadores más
Comunes
 CRC-12: X12
+ X11
+ X3
+ X2
+ X + 1
 CRC-16: X16
+ X15
+ X2
+ 1
 CRC CCITT V41: X16
+ X12
+ X5
+ 1 (este
código se utiliza en el procedimiento HDLC)
 CRC-32 (Ethernet): = X32
+ X26
+ X23
+ X22
+
X16
+ X12
+ X11
+ X10
+ X8
+ X7
+ X5
+ X4
+ X2
+
X + 1
 CRC ARPA: X24
+ X23
+ X17
+ X16
+ X15
+ X13
+
X11
+ X10
+ X9
+ X8
+ X5
+ X3
+ 1
3.6 Características principales de
CRC
 Se utiliza la división de números binarios.
 Tanto el emisor como el receptor conocen un
divisor común.
 Detecta todos los errores de 1 y 2 bits es decir
los errores simples y dobles.
 Detecta todos los errores de un “Burst” menor
que el grado de P(x)
 Detecta el 99 % de los errores de un “Burst”
mayor que el grado de P(x)
 Sirve para verificar la integridad, pero no para
saber si el mensaje es correcto.
 Cualquier bit se refleja en varios bits por un
tiempo considerable después que éste fue
transmitido. (Peterson, 1961)
3.7 Cálculo de código de detección
de error CRC
Pasos:
1.- Comience con el mensaje a codificar:
11010011101100
2.- Esta se rellena primero con ceros correspondientes a
la longitud n de bits de la CRC. Este es el primer cálculo
para calcular una de 3 bits CRC:
11010011101100 000
3.- Si el bit de entrada por encima del divisor poco más a
la izquierda es 0, no haga nada.
4.- Si el bit de entrada por encima del divisor de bits más
a la izquierda es 1, el divisor es XOR en la entrada.
5.- El divisor es entonces desplazado un poco hacia la
derecha, y el proceso se repite hasta que el divisor
alcanza el extremo de la derecha de la fila de entrada.
Todo el cálculo:
11010011101100 000.
La validez de un mensaje recibido puede ser fácilmente
verificado por realizar el cálculo anterior de nuevo, esta
vez con el valor de comprobación añadido en lugar de
ceros. El resto debe ser igual a cero si no hay errores
detectables.
11010011101100 100
Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2014,Barrera Llanga Kevin Iván
4
La aritmética en modulo 2 se considera así:
Sumas binarias sin acarreos = Operación lógica XOR
Restas binarias sin acarreos = Operación lógica XOR
En donde:
T= Trama de (k + n) bits a transmitir, con n<k
n = Bits de comprobación
M = Mensaje de k bits, los primeros k bits de T
P= Patrón de n + 1 bits , este es el divisor elegido.Como
mínimo el bit más significativo y el menos significativo
debe ser 1.
𝑇 = 2 𝑛
∗
𝑀
𝑃
11010011101100 =entrada=M
1011 =divisor (4 bits)=P
-----------------------
01100011101100 = resultado
00000000001110=resultado de la multiplicación
1011=divisor
-----------------------
00000000000101=resto (3 bits) (James, 2010)
3.8 Especificaciones de código de
detección de error CRC
 “A veces una prefijos implementación de un
patrón de bits fija para el flujo de bits de
comprobación.
 Por lo general, una aplicación anexa n 0-bits a
la corriente de bits de comprobación antes de
que ocurra la división polinómica.
 A veces, una aplicación exclusiva-Ors un
patrón de bits fija en el resto de la división
polinómica.
 Orden de los bits: Algunos programas
consideran que el bit de orden inferior de cada
byte como "primero", el cual durante la división
polinómica significa "izquierda", lo cual es
contrario a nuestra comprensión habitual de
"orden inferior".
 Orden de bytes: Con CRC de varios bytes, no
puede haber confusión sobre si el byte
transmitido primero es el byte menos
significativo o el byte más significativo.
 La omisión del bit de orden del polinomio
divisor: Puesto que el bit de orden superior es
siempre 1,y puesto que un CRC de n bits debe
ser definido por un divisor de bits que se
desborda un registro de n bits, algunos autores
suponen que se es innecesario mencionar bit
de orden del divisor.”
[Ref.2. E-centro de Artigo, sección CRC, tema
especificación de código de detección de error.]
(Simmons, 1992)
IV. Conclusiones
El Código Hamming, es un sistema de detección y
corrección automática de errores en información
electrónica,el cual asocia una serie de bits de validación
o paridad a los bits de datos, de tal forma que una
alteración en cualquiera de esos bits de datos pueda ser
detectada y corregida adecuadamente.
El CRC es una función diseñada para detectar
cambios accidentales en datos de computadora y es
comúnmente usada en redes digitales y dispositivos de
almacenamiento (como discos duros) el cual utiliza
polinomios generadores y su medio de resolución es con
divisiones sucesivas.
Estos métodos para la detección de error son muy
útiles aunque cada uno se especializa en su campo,
ambos son necesarios en los sistemas de control ya que
gracias a estas correcciones de errores permite un
sistema mas estable y optimo en los códigos digitales.
V. Bibliografía
Simmons,G. (1992).A survey of information
Authentication. En G. Simmons, A survey of information
Authentication (pág.23). New York: IEEE Press.
Peterson.(1961).Cyclic Codes for Error Detection.En
Peterson,Cyclic Codes for Error Detection (pág.281).
Boston:ISSN.
James,P. (2010).Introduccion de los sistemas Digitales.
En P. James, Introduccion de los sistemas Digitales. Mc-
Graw.
Andy, B. (2007).Comunicacion Digitales.En B. Andy,
Comunicacion Digitales. Marcombo.
ezp1-
espe.edu.ec:2050/lib/espesp/docDetail.action?DocID=10
515233&p00=codigo+hamming

Más contenido relacionado

La actualidad más candente

Circuitos integrados y familias logicas
Circuitos integrados y familias logicasCircuitos integrados y familias logicas
Circuitos integrados y familias logicasNoe Garcia
 
Constants in C Programming
Constants in C ProgrammingConstants in C Programming
Constants in C Programmingprogramming9
 
Decoder Full Presentation
Decoder Full Presentation Decoder Full Presentation
Decoder Full Presentation Adeel Rasheed
 
Sistemas numéricos.ppt
Sistemas numéricos.pptSistemas numéricos.ppt
Sistemas numéricos.pptMarcos Rdguez
 
Library functions in c++
Library functions in c++Library functions in c++
Library functions in c++Neeru Mittal
 
1.2.4.5 packet tracer network representation - ilm
1.2.4.5 packet tracer   network representation - ilm1.2.4.5 packet tracer   network representation - ilm
1.2.4.5 packet tracer network representation - ilmmariosaavedra27
 
Type conversion, precedence, associativity in c programming
Type conversion, precedence, associativity in c programmingType conversion, precedence, associativity in c programming
Type conversion, precedence, associativity in c programmingDhrumil Panchal
 
Basic c operators
Basic c operatorsBasic c operators
Basic c operatorsAnuja Lad
 
compiler ppt on symbol table
 compiler ppt on symbol table compiler ppt on symbol table
compiler ppt on symbol tablenadarmispapaulraj
 
Data types in C language
Data types in C languageData types in C language
Data types in C languagekashyap399
 
Types of c operators ppt
Types of c operators pptTypes of c operators ppt
Types of c operators pptViraj Shah
 
File handling in c
File handling in cFile handling in c
File handling in caakanksha s
 
3.codes( binary code ,excess 3, gray code )
3.codes( binary code ,excess 3, gray code )3.codes( binary code ,excess 3, gray code )
3.codes( binary code ,excess 3, gray code )MdFazleRabbi18
 
What are variables and keywords in c++
What are variables and keywords in c++What are variables and keywords in c++
What are variables and keywords in c++Abdul Hafeez
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++die_dex
 
CS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptx
CS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptxCS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptx
CS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptxAsst.prof M.Gokilavani
 

La actualidad más candente (20)

Pointers in C
Pointers in CPointers in C
Pointers in C
 
Circuitos integrados y familias logicas
Circuitos integrados y familias logicasCircuitos integrados y familias logicas
Circuitos integrados y familias logicas
 
Lect 3
Lect 3Lect 3
Lect 3
 
Complements
ComplementsComplements
Complements
 
Constants in C Programming
Constants in C ProgrammingConstants in C Programming
Constants in C Programming
 
Decoder Full Presentation
Decoder Full Presentation Decoder Full Presentation
Decoder Full Presentation
 
Sistemas numéricos.ppt
Sistemas numéricos.pptSistemas numéricos.ppt
Sistemas numéricos.ppt
 
Library functions in c++
Library functions in c++Library functions in c++
Library functions in c++
 
1.2.4.5 packet tracer network representation - ilm
1.2.4.5 packet tracer   network representation - ilm1.2.4.5 packet tracer   network representation - ilm
1.2.4.5 packet tracer network representation - ilm
 
Type conversion, precedence, associativity in c programming
Type conversion, precedence, associativity in c programmingType conversion, precedence, associativity in c programming
Type conversion, precedence, associativity in c programming
 
Basic c operators
Basic c operatorsBasic c operators
Basic c operators
 
compiler ppt on symbol table
 compiler ppt on symbol table compiler ppt on symbol table
compiler ppt on symbol table
 
Data types in C language
Data types in C languageData types in C language
Data types in C language
 
Types of c operators ppt
Types of c operators pptTypes of c operators ppt
Types of c operators ppt
 
File handling in c
File handling in cFile handling in c
File handling in c
 
Unit ii ppt
Unit ii pptUnit ii ppt
Unit ii ppt
 
3.codes( binary code ,excess 3, gray code )
3.codes( binary code ,excess 3, gray code )3.codes( binary code ,excess 3, gray code )
3.codes( binary code ,excess 3, gray code )
 
What are variables and keywords in c++
What are variables and keywords in c++What are variables and keywords in c++
What are variables and keywords in c++
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
 
CS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptx
CS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptxCS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptx
CS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptx
 

Destacado

Fonctionnalités
FonctionnalitésFonctionnalités
FonctionnalitésDralkcib
 
Discapacidad visual - Software para personas con discapacidad
Discapacidad visual - Software para personas con discapacidadDiscapacidad visual - Software para personas con discapacidad
Discapacidad visual - Software para personas con discapacidadFernando Maquera
 
Inversor con pwm y panel solar
Inversor con pwm y panel solarInversor con pwm y panel solar
Inversor con pwm y panel solarKevin Barrera
 
Presentación Segunda Parte
Presentación Segunda PartePresentación Segunda Parte
Presentación Segunda ParteJosé Fung
 
Comunicado nacional 19.10.16
Comunicado nacional 19.10.16Comunicado nacional 19.10.16
Comunicado nacional 19.10.16Marcos Roa
 
Modulo del curso programación I
Modulo del curso programación IModulo del curso programación I
Modulo del curso programación IJosé Fung
 
LSC Soccer Weekly Release (10/19/16)
LSC Soccer Weekly Release (10/19/16)LSC Soccer Weekly Release (10/19/16)
LSC Soccer Weekly Release (10/19/16)lscmedia
 
Ruta de los castillos del vinalopó presentación - pdf.pptx
Ruta de los castillos del vinalopó   presentación - pdf.pptxRuta de los castillos del vinalopó   presentación - pdf.pptx
Ruta de los castillos del vinalopó presentación - pdf.pptxJuan Diego Martí Durà
 
Mediación Pedagogica Plan
Mediación Pedagogica PlanMediación Pedagogica Plan
Mediación Pedagogica PlanJosé Fung
 
Historia de la producción musical
Historia de la producción musicalHistoria de la producción musical
Historia de la producción musicalbussinessband
 
Producción de música por computadora
Producción de música por computadoraProducción de música por computadora
Producción de música por computadorabussinessband
 
Software libre para miembros de venenux panamá
Software libre para miembros de venenux panamáSoftware libre para miembros de venenux panamá
Software libre para miembros de venenux panamáJosé Fung
 

Destacado (19)

Fonctionnalités
FonctionnalitésFonctionnalités
Fonctionnalités
 
Discapacidad visual - Software para personas con discapacidad
Discapacidad visual - Software para personas con discapacidadDiscapacidad visual - Software para personas con discapacidad
Discapacidad visual - Software para personas con discapacidad
 
Inversor con pwm y panel solar
Inversor con pwm y panel solarInversor con pwm y panel solar
Inversor con pwm y panel solar
 
Vru84.Residential portafolio
Vru84.Residential portafolioVru84.Residential portafolio
Vru84.Residential portafolio
 
Presentación Segunda Parte
Presentación Segunda PartePresentación Segunda Parte
Presentación Segunda Parte
 
Comunicado nacional 19.10.16
Comunicado nacional 19.10.16Comunicado nacional 19.10.16
Comunicado nacional 19.10.16
 
Banco de preguntas
Banco de preguntasBanco de preguntas
Banco de preguntas
 
Modulo del curso programación I
Modulo del curso programación IModulo del curso programación I
Modulo del curso programación I
 
Fuerza de roce
Fuerza de roceFuerza de roce
Fuerza de roce
 
Radiación
RadiaciónRadiación
Radiación
 
LSC Soccer Weekly Release (10/19/16)
LSC Soccer Weekly Release (10/19/16)LSC Soccer Weekly Release (10/19/16)
LSC Soccer Weekly Release (10/19/16)
 
Contact us
Contact usContact us
Contact us
 
Ruta de los castillos del vinalopó presentación - pdf.pptx
Ruta de los castillos del vinalopó   presentación - pdf.pptxRuta de los castillos del vinalopó   presentación - pdf.pptx
Ruta de los castillos del vinalopó presentación - pdf.pptx
 
Mediación Pedagogica Plan
Mediación Pedagogica PlanMediación Pedagogica Plan
Mediación Pedagogica Plan
 
Historia de la producción musical
Historia de la producción musicalHistoria de la producción musical
Historia de la producción musical
 
Sl
SlSl
Sl
 
Etica beatriz
Etica  beatrizEtica  beatriz
Etica beatriz
 
Producción de música por computadora
Producción de música por computadoraProducción de música por computadora
Producción de música por computadora
 
Software libre para miembros de venenux panamá
Software libre para miembros de venenux panamáSoftware libre para miembros de venenux panamá
Software libre para miembros de venenux panamá
 

Similar a error crc y hamming (20)

Código de Hamming
Código de Hamming Código de Hamming
Código de Hamming
 
Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuente
 
Cap 3 capa_enlace
Cap 3 capa_enlaceCap 3 capa_enlace
Cap 3 capa_enlace
 
Capa de Enlace de Red (UFT) Mauricio Yepez
Capa de Enlace de Red (UFT) Mauricio YepezCapa de Enlace de Red (UFT) Mauricio Yepez
Capa de Enlace de Red (UFT) Mauricio Yepez
 
TRANSMISION DE DATOS
TRANSMISION DE DATOSTRANSMISION DE DATOS
TRANSMISION DE DATOS
 
Detección de errores CRC
Detección de errores CRCDetección de errores CRC
Detección de errores CRC
 
Teoría de códigos saira isaac
Teoría de códigos   saira isaacTeoría de códigos   saira isaac
Teoría de códigos saira isaac
 
Control de Enlace de Datos.
Control de Enlace de Datos.Control de Enlace de Datos.
Control de Enlace de Datos.
 
Control de Enlace de Datos.
Control de Enlace de Datos. Control de Enlace de Datos.
Control de Enlace de Datos.
 
Mandala grupos y codigos
Mandala grupos y codigosMandala grupos y codigos
Mandala grupos y codigos
 
Código binario
Código binarioCódigo binario
Código binario
 
PROTOCOLOS Y SERVICIOS INFORMÁTICOS
PROTOCOLOS  Y SERVICIOS INFORMÁTICOS PROTOCOLOS  Y SERVICIOS INFORMÁTICOS
PROTOCOLOS Y SERVICIOS INFORMÁTICOS
 
PROTOCOLOS Y SERVICIOS INFORMÁTICOS
PROTOCOLOS  Y SERVICIOS INFORMÁTICOS PROTOCOLOS  Y SERVICIOS INFORMÁTICOS
PROTOCOLOS Y SERVICIOS INFORMÁTICOS
 
Transmisión de datos
Transmisión de datosTransmisión de datos
Transmisión de datos
 
Teoría de códigos
Teoría de códigosTeoría de códigos
Teoría de códigos
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de errores
 
Ingeneria De Software
Ingeneria De SoftwareIngeneria De Software
Ingeneria De Software
 
Comunicacion de datos
Comunicacion de datosComunicacion de datos
Comunicacion de datos
 
Mapa conceptual E.D (ll)
Mapa conceptual E.D (ll)Mapa conceptual E.D (ll)
Mapa conceptual E.D (ll)
 

Último

Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 

Último (20)

Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 

error crc y hamming

  • 1. Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2014,Barrera Llanga Kevin Iván 1 (Simmons, 1992) (Peterson, 1961) (James,2010)CÓDIGOS DE DETECCIÓNDE ERROR CRC Y HAMMING Barrera Llanga Kevin Iván Ingeniería Mecatrónica, Quinto “A” Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga e-mail: kevinivancho@hotmail.com Abstract: This article describes that is the code error detection Hamming and CRC, each of its features, functions, s step by step procedure, applications developers and a brief example of each of these using the knowledge acquired throughout this document. Also some special characteristics of error detection codes will be discussed. Resumen: En este artículo se describe en que consiste el código de detección de error Hamming y CRC, cada una de sus características, funciones, s procedimiento paso a paso, aplicaciones,creadores y un breve ejemplo de cada una de estas utilizando los conocimientos adquiridos a lo largo de este documento. Además se expondrá algunas características especiales de los códigos de detección de error. PALABRAS CLAVE: CRC, Detección de error, Hamming, Sistemas Digitales. I. Introducción En todo sistema se presente una cantidad de error, por más mínima que esta sea se necesita una forma correctiva, para esta corrección en los sistemas digitales se utilizan códigos de detección de errores entre estos esta el chequeo de redundancia cíclica o CRC y los códigos Hamming. Estos poseen la capacidad de detectar diferentes errores de transmisión o perturbaciones producidos por factores como el ruido térmico, impulsivo, redondeo, cruce de líneas, etc. Corrigiéndolos y dándonos como resultado un sistema optimo, evitando la perdida de datos y comunicación en los sistemas digitales. (Andy, 2007) II. Código de detección de error Hamming 2.1 Richard Wesley Hamming R.W. Hamming [Fig.1] fue un matemático estadounidense que tubo un principal aporte en el campo de la informática y telecomunicaciones trabajando en temas relacionados con los mismos dando como resultado entre sus principales contribuciones el código Hamming, la distancia Hamming y la ventana Hamming. Nació en Chicago en 1915, entre sus aptitudes académicas obtuvo una licenciatura en la universidad de su ciudad de origen, una maestría en la Universidad de Nebraska yse doctoró en la Universidad Urbana- Champaign. Trabajo en el proyecto Manhattan más conocido como la primera bomba atómica. Fue fundador y presidente de la Asociación de Maquinaria en Informática. Murió en Monterey, California el 7 de enero de 1998. (James, 2010) Fig. 1. Richard Wesley Hamming [1] 2.2 Código de detección de error Hamming Los códigos Hamming son códigos de detección de error cuyo nombre proviene de su descubridor R.W. Hamming,es uno de los tipos de código de bloques más conocidos,entre sus características principales se puede decir que es un código de distancia numero 3, es capaz de detectar diferentes errores dobles ycorregir errores si es un solo error simple es decir errores en un bit enviados por un canal que es sensible al ruido. Un ejemplo muy común de este método de corrección de errores seria en redes WI-FI para la transmisión de mensajes. 2.3 Distancia de Hamming Como se decía este código se forma a partir de una distancia mínima de 3,esto es así ya que con distancias de 1 o 2 es incomodo para poder generar un código para la detección de su error ya que si se tuviera el valor de 1 no existiera ningún otro valor para realizar una comparación y si se tuviera una distancia de 2 puede tener una corrección de error al existir una sola comparación podrían pasar desapercibidos otros errores existentes. Cuando mayor sea la diferencia menor será
  • 2. Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2014,Barrera Llanga Kevin Iván 2 la posibilidad de que un código se convierta en otro código por una serie de errores. Esta distancia está dada por la siguiente ecuación: 𝐷 𝑚 = 2𝑋 + 1 [Ec.1. Distancia mínima de Hamming] En donde: Dm= Es la distancia mínima para la corrección de datos exceptuando 1 y 2 por motivos ya mencionados. X= Son las líneas de los datos. 2 y 1= Son constantes utilizados en la ecuación. Ejemplo: ¿Cuál es la distancia de Hamming entre los números binarios 1011010 y 1001111? La distancia de Hamming seria de 3 ya que los valores son diferentes en 3 de sus dígitos. (Peterson, 1961) 2.4 Variables para la generación del código Hamming Las variables que se toman a consideración para el código Hamming son: n: el número de bits que posee el código original. p: es el número de bits de paridad par generados en el transmisor. c: el número de bits de detectores de paridad par generados por el receptor. c=p ya que los bits de transmisor y receptor deben ser los mismos. 𝑛 = 2 𝑐 − 𝑐 − 1 [Ec.2. Combinaciones de Hamming] [2] 2.5 Generación del código Hamming En esencia el código Hamming propone generar una tabla para asignar valores a las combinaciones que se generen en los bits de paridad tanto como de transmisor y receptor. El procedimiento es el siguiente: 1.- Los bits de posición que sea potencia de dos se utilizan como bits de paridad, estas posiciones son 20 = 1, 21 = 2, 22 = 4, 23 = 8, 24 = 16, 25 = 32, etc. 2. Los bits que sobran en las posiciones son utilizados como bits de datos. 3. Los bits de paridad se obtiene calculando la paridad de alguno de los bits de datos. La posición del bit de paridad determina la secuencia de los bits que alternativamente comprueba y salta. (Simmons, 1992) Tabla. 1. Código ASCII de 7 bits para generación del código Hamming [3] Ejemplo:Con un dato de 7 bits 1001110 calcule los bits del código Hamming. El nuevo dato de paridad seria 10100010110 2.6 Extensión del código de Hamming La extension consiste en colocar en la tabla un número adicional con el fin de encontrar más de un bit dañado,esto lo logra mediante el desarrollo de matrices estas matrices se computan para poder detectar y corregir un bit dañado e informar cuando hay dos o más bit dañados en el proceso. Se pueden dar 3 casos: “1.- No hay error :Hamming =0, Paridad OK 2.- Un bit de error :Paridad Fallo entonces a) Hamming = 0,P = incorrecto,en este caso se cambia el valor del bit de paridad. b) Hamming <> 0, corrijo según Hamming. 3.- Dos bit en error -> Paridad Ok, Hamming <> 0, por lo tanto informo, NO corrijo” [Ref. Introducción a los Sistemas Digitales, pág. 89] (Peterson, 1961) III. Código de detección de error CRC 3.1 William Wesley Peterson W. Wesley Peterson [Fig.2], nació en Michigan en 1924 fue un matemático y un científico, su pación fue la informática, conocido por inventar el método de comprobación de redundancia cíclica, por lo que fue galardonado con un Premio Japón en 1999. Fue profesor de Ciencias de la computación de la universidad Manoa.Escribió varios libros sobre códigos de corrección de errores, incluyendo la 2da edición revisada de: Código de Corrección de Errores. Además hizo investigaciones y publicaciones en los campos de lenguajes de programación,programación de sistemas y redes. Ganó el Premio Claude Shannon en 1981 y la medalla Centenaria de IEEE en 1984. Falleció en mayo de 2009 en Honolulu, Hawaii (James, 2010) Fig. 1. W. Wesley Peterson [4]
  • 3. Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2014,Barrera Llanga Kevin Iván 3 3.2 Código de detección de error CRC El código de detección de error CRC también conocido como verificación de redundancia cíclica es un código el cual permite detectar errores usándose mayormente en dispositivos por su simpleza de implementación como en los dispositivos de almacenamiento, telecomunicaciones y redes digitales, con el fin de detectar y controlar cambios en los datos, estos se generan en la mayoría de los casos de forma accidental. Se encarga de la protección de los datos en bloques conocidos como tramas,el código de detección de error CRC contiene datos repetidos con la trama, de manera que los errores no sólo se pueden detectar sino que además se pueden solucionar. Este método es muy efectivo en la detección de errores en los sistemas de comunicaciones,una de esas características es que no permite la corrección de errores ya que se envía uno o más caracteres adicionales de redundancia denominados FCS ("frame check sequence") o BCC ("block check caracter"), que difieren fundamentalmente en la forma de calcularlo. (Andy, 2007) 3.3 Definición de código de detección de error CRC El código CRC consiste en considerar a los bits a ser transmitidos como un polinomio en x (para n bits el orden es n-1) tal que la presencia de un término significa un "1", y la ausencia, un "0", denotando polinomios cuyos coeficientes se correspondan con la secuencia binaria cuyo cálculo es una larga división de computación en el que se descarta el cociente y el resto se convierte en el resultado, con la diferencia que el arrastre se produce con bits formando una familia de códigos de bloques lineales. 3.4 Polinomio Generador Ideal La aritmética con estos polinomios del CRC es de módulo 2 sin llevar, es decir la adición y la sustracción son equivalentes a la puerta XOR, la división la usa en lugar de sustracción y A se divide entre B si el número de bits es mayor de o igual a el número en A. Todos los polinomios correspondientes a las palabras del código cíclico, deben dividirse entre g(x) sin residuo siendo este un divisor de x – 1 el bit mayor y el menor del generador deben ser 1, es decir:  Si 110001 son los bits a transmitir, entonces el mensaje podrá ser considerado como un polinomio U(x) tal que: U(x) = X6 + X5 +1  Un ejemplo a la inversa seria si G(x)= X4 + X3 + X+1 seria igual a 11011. (James, 2010) 3.5 Polinomios Generadores más Comunes  CRC-12: X12 + X11 + X3 + X2 + X + 1  CRC-16: X16 + X15 + X2 + 1  CRC CCITT V41: X16 + X12 + X5 + 1 (este código se utiliza en el procedimiento HDLC)  CRC-32 (Ethernet): = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1  CRC ARPA: X24 + X23 + X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1 3.6 Características principales de CRC  Se utiliza la división de números binarios.  Tanto el emisor como el receptor conocen un divisor común.  Detecta todos los errores de 1 y 2 bits es decir los errores simples y dobles.  Detecta todos los errores de un “Burst” menor que el grado de P(x)  Detecta el 99 % de los errores de un “Burst” mayor que el grado de P(x)  Sirve para verificar la integridad, pero no para saber si el mensaje es correcto.  Cualquier bit se refleja en varios bits por un tiempo considerable después que éste fue transmitido. (Peterson, 1961) 3.7 Cálculo de código de detección de error CRC Pasos: 1.- Comience con el mensaje a codificar: 11010011101100 2.- Esta se rellena primero con ceros correspondientes a la longitud n de bits de la CRC. Este es el primer cálculo para calcular una de 3 bits CRC: 11010011101100 000 3.- Si el bit de entrada por encima del divisor poco más a la izquierda es 0, no haga nada. 4.- Si el bit de entrada por encima del divisor de bits más a la izquierda es 1, el divisor es XOR en la entrada. 5.- El divisor es entonces desplazado un poco hacia la derecha, y el proceso se repite hasta que el divisor alcanza el extremo de la derecha de la fila de entrada. Todo el cálculo: 11010011101100 000. La validez de un mensaje recibido puede ser fácilmente verificado por realizar el cálculo anterior de nuevo, esta vez con el valor de comprobación añadido en lugar de ceros. El resto debe ser igual a cero si no hay errores detectables. 11010011101100 100
  • 4. Universidad de las Fuerzas Armadas ESPE, Extensión Latacunga 2014,Barrera Llanga Kevin Iván 4 La aritmética en modulo 2 se considera así: Sumas binarias sin acarreos = Operación lógica XOR Restas binarias sin acarreos = Operación lógica XOR En donde: T= Trama de (k + n) bits a transmitir, con n<k n = Bits de comprobación M = Mensaje de k bits, los primeros k bits de T P= Patrón de n + 1 bits , este es el divisor elegido.Como mínimo el bit más significativo y el menos significativo debe ser 1. 𝑇 = 2 𝑛 ∗ 𝑀 𝑃 11010011101100 =entrada=M 1011 =divisor (4 bits)=P ----------------------- 01100011101100 = resultado 00000000001110=resultado de la multiplicación 1011=divisor ----------------------- 00000000000101=resto (3 bits) (James, 2010) 3.8 Especificaciones de código de detección de error CRC  “A veces una prefijos implementación de un patrón de bits fija para el flujo de bits de comprobación.  Por lo general, una aplicación anexa n 0-bits a la corriente de bits de comprobación antes de que ocurra la división polinómica.  A veces, una aplicación exclusiva-Ors un patrón de bits fija en el resto de la división polinómica.  Orden de los bits: Algunos programas consideran que el bit de orden inferior de cada byte como "primero", el cual durante la división polinómica significa "izquierda", lo cual es contrario a nuestra comprensión habitual de "orden inferior".  Orden de bytes: Con CRC de varios bytes, no puede haber confusión sobre si el byte transmitido primero es el byte menos significativo o el byte más significativo.  La omisión del bit de orden del polinomio divisor: Puesto que el bit de orden superior es siempre 1,y puesto que un CRC de n bits debe ser definido por un divisor de bits que se desborda un registro de n bits, algunos autores suponen que se es innecesario mencionar bit de orden del divisor.” [Ref.2. E-centro de Artigo, sección CRC, tema especificación de código de detección de error.] (Simmons, 1992) IV. Conclusiones El Código Hamming, es un sistema de detección y corrección automática de errores en información electrónica,el cual asocia una serie de bits de validación o paridad a los bits de datos, de tal forma que una alteración en cualquiera de esos bits de datos pueda ser detectada y corregida adecuadamente. El CRC es una función diseñada para detectar cambios accidentales en datos de computadora y es comúnmente usada en redes digitales y dispositivos de almacenamiento (como discos duros) el cual utiliza polinomios generadores y su medio de resolución es con divisiones sucesivas. Estos métodos para la detección de error son muy útiles aunque cada uno se especializa en su campo, ambos son necesarios en los sistemas de control ya que gracias a estas correcciones de errores permite un sistema mas estable y optimo en los códigos digitales. V. Bibliografía Simmons,G. (1992).A survey of information Authentication. En G. Simmons, A survey of information Authentication (pág.23). New York: IEEE Press. Peterson.(1961).Cyclic Codes for Error Detection.En Peterson,Cyclic Codes for Error Detection (pág.281). Boston:ISSN. James,P. (2010).Introduccion de los sistemas Digitales. En P. James, Introduccion de los sistemas Digitales. Mc- Graw. Andy, B. (2007).Comunicacion Digitales.En B. Andy, Comunicacion Digitales. Marcombo. ezp1- espe.edu.ec:2050/lib/espesp/docDetail.action?DocID=10 515233&p00=codigo+hamming