SlideShare una empresa de Scribd logo

Detección de errores CRC

En este compilado de información se muestra cómo funciona el detector de errores CRC.

1 de 14
Descargar para leer sin conexión
TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE AGUASCALIENTES
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA - ELECTRÓNICA
Ingeniería Electrónica
Comunicaciones digitales
Unidad I
TAREA 1
CRC como método de detección de errores
Alumno: Héctor Alexis Reyes Martínez
8vo Semestre Ingeniería electrónica
Profesora: Ing. Yessica Rodríguez Estrada
Aguascalientes, Ags, a 05 de febrero de 2018
2
ÍNDICE
1 INTRODUCCIÓN.........................................................................................................................................3
2 MÉTODO DE DETECCIÓN DE ERRORES CRC................................................................................................4
2.1 FUNDAMENTO MATEMÁTICO........................................................................................................................... 5
2.2.1 Ejemplo 1: división en el emisor ....................................................................................................... 6
2.2.2 Ejemplo 2: división en el receptor (dos casos).................................................................................. 7
3 IMPLEMENTACIÓN DIGITAL ......................................................................................................................8
4 APLICACIONES...........................................................................................................................................9
5 ARQ: ESTRATEGIAS DE RETRANSMISIÓN................................................................................................. 10
5.1 STOP-AND-WAIT ARQ................................................................................................................................. 10
6 OBSERVACIONES..................................................................................................................................... 12
7 CONCLUSIONES....................................................................................................................................... 13
8 FUENTES DE INFORMACIÓN.................................................................................................................... 14
3
1 Introducción
El presente trabajo explica de manera detallada el funcionamiento de la verificación
por redundancia cíclica (CRC – Cyclic Redundancy Check), el cual consiste en un
método de detección de errores usado frecuentemente en redes digitales y en
dispositivos de almacenamiento para detectar cambios accidentales en los datos.
En redes y comunicaciones digitales, el CRC es utilizado para el control del flujo de
datos. Los desarrolladores e investigadores de tecnología de la información
procuran crear y desarrollar métodos de detección de transmisión de errores,
asumiendo que inicialmente el control de recepción de datos (DLC) sabe dónde
empieza la estructura de datos y dónde termina. El problema es cómo determinar
cuál de todas las estructuras de datos contiene el error. Desde el punto de vista del
empaquetamiento de bytes, los paquetes que entran al DLC son cadenas de bits
arbitrarias. Así, en el receptor del DLC, cualquier cadena de bits es aceptable como
un paquete y los errores no pueden ser detectados por el análisis del paquete en sí
mismo. Cabe señalar que una transformación en los paquetes de K bits en alguna
otra representación de longitud K no puede ayudar, ya que hay 2K paquetes posibles
y todas las posibles cadenas de bits de longitud K deben ser usadas para
representar todos los posibles paquetes. La conclusión obtenida por los
investigadores fue que se debía agregar algunos bits extra a los paquetes para
detectar los errores.
Un bit transmitido puede convertirse en un error debido al ruido que existe en el
canal de transmisión. Si estamos procesando una señal de voz o de video, la
ocurrencia de errores en un bajo porcentaje es tolerable, pero en muchos otros
casos es muy importante que todos los bits sean correctos. Por ejemplo, cuando se
descarga alguna aplicación de internet, el código binario del programa no podrá
ejecutarse si alguno de los bits es incorrecto. Si el destinatario o la dirección de
emisión de un paquete tiene un bit incorrecto, la comunicación es imposible.
4
2 Método de detección de errores CRC
El CRC fue inventado por W. Wesley Peterson, y publicado en un artículo en 1961.
Deriva de un código cíclico, pero generalmente se comporta de forma no cíclica,
basado en un tipo de código de bloques lineales. Los bloques de datos ingresados
en estos sistemas contienen un valor de verificación adjunto, basado en el residuo
de una división de polinomios, el cálculo es repetido y la acción de corrección puede
tomarse en contra de los datos presuntamente corruptos en caso de que el valor de
verificación no concuerde.
El CRC no puede detectar todos los posibles errores, pero el rango de errores que
puede detectar es impresionantemente grande. Autores de libros de redes como
Larry Peterson y Bruce Davie han señalado que es bastante notable como un CRC
de 32 bits es suficiente para proporcionar una protección adecuada contra los
errores en los mensajes de 12000 bits que el Ethernet puede enviar.
Figura 1. Diagrama de bloques del CRC.
5
2.1 Fundamento matemático
El CRC comúnmente utiliza vectores de cierta longitud para detectar los errores.
Para obtener una notación matemática conveniente, las posiciones en el bloque de
datos pueden ser expresadas como un polinomio de x. Establecemos “L” como la
longitud del CRC y “k” como la longitud de la cadena de bits de datos.
Representando la cadena de datos de forma polinomial:
𝑠(𝑥) = 𝑠 𝑘−1 𝑥 𝑘−1
+ 𝑠 𝑘−2 𝑥 𝑘−2
+ ⋯ + 𝑠0 = ∑ 𝑠𝑖 𝑥 𝑖
𝑘−1
𝑖 = 0
La potencia de la x indeterminada puede ser pensada como un seguimiento sobre
cual posición tiene cada bit; los términos de alto orden (MSB) son vistos como los
primeros en trasmitir. El CRC es representado como otro polinomial:
𝑐(𝑥) = 𝐶𝐿−1 𝑥 𝐿−1
+ ⋯ + 𝐶1 𝑥 + 𝐶0 = ∑ 𝐶𝑖 𝑥 𝑖
𝐿−1
𝑖=0
El paquete de datos entero de la información transmitida y el CRC pueden ser
representado como una suma de polinomios: 𝑋(𝑥) = 𝑠(𝑥)𝑥 𝐿
+ 𝑐(𝑥) , que sería:
𝑋(𝑥) = 𝑠 𝑘−1 𝑥 𝐿+𝐾−1
+ ⋯ + 𝑠0 𝑥 𝐿
+ 𝑐 𝐿−1 𝑥 𝐿−1
+ ⋯ + 𝑐0
El vector polinomial de CRC “c(x)” es una función de la información polinomial s(x),
definida en términos del generador polinomial g(x); este es un polinomio de grado L
con coeficiente binarios que especifican el código particular CRC a ser utilizado:
𝑔(𝑥) = 𝑥 𝐿
+ 𝑔 𝐿−1 𝑥 𝐿−1
+ ⋯ + 𝑔1 𝑥 + 1
Para un g(x) dado, el mapeo desde el polinomio de información hacia el polinomio
del CRC c(x) está dado por:
𝑐(𝑥) = 𝑟𝑒𝑠𝑖𝑑𝑢𝑜 (
𝑠(𝑥)𝑥 𝐿
𝑔(𝑥)
)
6
La división polinomial de arriba es sólo una ordinaria división larga de un polinomio
entre otro, excepto que los coeficientes están restringidos a ser binarios y la
aritmética en los coeficientes se realiza con módulo 2 (%2).
2.2.1 Ejemplo 1: división en el emisor
Figura 2. Ejemplo 2 de la división polinomial.
En este ejemplo, se envía un dato = 1001 y un CRC de 3 bits
• k = número de bits del dato = 4.
• L = #bits CRC deseados=3. Por lo tanto, el polinomio de generación g(x) es
de grado 3. Se escoge g(x) = 𝑥3
+ 𝑥 + 1.
• El grado del dato aumentado es de L+K-1 = 6. Por lo tanto, el dato cambia
su polinomio a 𝑋(𝑥) = 𝑥6
+ 𝑥3
.
• Al resolver la división de polinomios, queda un residuo de x2+x , que es el
equivalente a CRC = 110.
• El dato que es enviado por el emisor es: Dato = 1001110. Este dato ya incluye
el CRC de 3 bits para la detección de errores.
Publicidad

Recomendados

Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesJarvey Gonzalez
 
4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempoEdison Coimbra G.
 
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 erroresRonie Martínez
 
Investigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisiónInvestigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisiónJosé Alexis Cruz Solar
 
Lecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psdLecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psdnica2009
 
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclicaDeteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclicaSabino Chalen Balon
 
codificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarcodificaciones unipolar, polar, bipolar
codificaciones unipolar, polar, bipolarthejp
 

Más contenido relacionado

La actualidad más candente

2.Datos y señales en comunicaciones electrónicas
2.Datos y señales en comunicaciones electrónicas2.Datos y señales en comunicaciones electrónicas
2.Datos y señales en comunicaciones electrónicasEdison Coimbra G.
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresDaniel Huerta Cruz
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoFranklin Parrales Bravo
 
Modulación digital con portadora análoga
Modulación digital con portadora análogaModulación digital con portadora análoga
Modulación digital con portadora análogaJoaquin Vicioso
 
X.25 y frame relay
X.25 y frame relayX.25 y frame relay
X.25 y frame relayJLC1988
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 
Sistemas de Microondas - Capítulo I Introducción
Sistemas de Microondas - Capítulo I IntroducciónSistemas de Microondas - Capítulo I Introducción
Sistemas de Microondas - Capítulo I IntroducciónAndy Juan Sarango Veliz
 
Datos y señales analogicas y digitales
Datos y señales analogicas y digitalesDatos y señales analogicas y digitales
Datos y señales analogicas y digitalesCristian Justiniano J
 
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 erroresArnold Alfonso
 
Modulacion y Codificacion Digital - Analogo (ASK, FSK & PSK)
Modulacion y Codificacion Digital - Analogo (ASK, FSK & PSK)Modulacion y Codificacion Digital - Analogo (ASK, FSK & PSK)
Modulacion y Codificacion Digital - Analogo (ASK, FSK & PSK)Juan Herrera Benitez
 
Conversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaConversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaDiego Seminario
 
Códigos de línea
Códigos de líneaCódigos de línea
Códigos de líneaOscar Llanos
 
3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogica3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogicaEdison Coimbra G.
 
CI19 - Presentación 2: Principios básicos de modulación y demodulación
CI19 - Presentación 2: Principios básicos de modulación y demodulación CI19 - Presentación 2: Principios básicos de modulación y demodulación
CI19 - Presentación 2: Principios básicos de modulación y demodulación Francisco Sandoval
 
6. AM y FM Modulación de amplitud y de frecuencia
6. AM y FM Modulación de amplitud y de frecuencia6. AM y FM Modulación de amplitud y de frecuencia
6. AM y FM Modulación de amplitud y de frecuenciaEdison Coimbra G.
 

La actualidad más candente (20)

2.Datos y señales en comunicaciones electrónicas
2.Datos y señales en comunicaciones electrónicas2.Datos y señales en comunicaciones electrónicas
2.Datos y señales en comunicaciones electrónicas
 
Codificación de línea
Codificación de líneaCodificación de línea
Codificación de línea
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 
RD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y EnrutamientoRD Unidad 3: IPv6, Routers y Enrutamiento
RD Unidad 3: IPv6, Routers y Enrutamiento
 
Codigo Hamming
Codigo HammingCodigo Hamming
Codigo Hamming
 
Modulación digital con portadora análoga
Modulación digital con portadora análogaModulación digital con portadora análoga
Modulación digital con portadora análoga
 
X.25 y frame relay
X.25 y frame relayX.25 y frame relay
X.25 y frame relay
 
Modulación qam
Modulación qamModulación qam
Modulación qam
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Sistemas de Microondas - Capítulo I Introducción
Sistemas de Microondas - Capítulo I IntroducciónSistemas de Microondas - Capítulo I Introducción
Sistemas de Microondas - Capítulo I Introducción
 
Datos y señales analogicas y digitales
Datos y señales analogicas y digitalesDatos y señales analogicas y digitales
Datos y señales analogicas y digitales
 
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
 
Modulacion y Codificacion Digital - Analogo (ASK, FSK & PSK)
Modulacion y Codificacion Digital - Analogo (ASK, FSK & PSK)Modulacion y Codificacion Digital - Analogo (ASK, FSK & PSK)
Modulacion y Codificacion Digital - Analogo (ASK, FSK & PSK)
 
Conversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversaConversion señal Analógica a Digital Y viceversa
Conversion señal Analógica a Digital Y viceversa
 
Códigos de línea
Códigos de líneaCódigos de línea
Códigos de línea
 
Señales analogicas
Señales analogicasSeñales analogicas
Señales analogicas
 
3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogica3.PCM Digitalizacion de señal analogica
3.PCM Digitalizacion de señal analogica
 
Pcm
PcmPcm
Pcm
 
CI19 - Presentación 2: Principios básicos de modulación y demodulación
CI19 - Presentación 2: Principios básicos de modulación y demodulación CI19 - Presentación 2: Principios básicos de modulación y demodulación
CI19 - Presentación 2: Principios básicos de modulación y demodulación
 
6. AM y FM Modulación de amplitud y de frecuencia
6. AM y FM Modulación de amplitud y de frecuencia6. AM y FM Modulación de amplitud y de frecuencia
6. AM y FM Modulación de amplitud y de frecuencia
 

Similar a Detección de errores CRC

Similar a Detección de errores CRC (20)

Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptx
Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptxCervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptx
Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptx
 
Sintesis crc miguel
Sintesis  crc  miguelSintesis  crc  miguel
Sintesis crc miguel
 
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
 
Teleproceso 5
Teleproceso 5Teleproceso 5
Teleproceso 5
 
Cap 3 capa_enlace
Cap 3 capa_enlaceCap 3 capa_enlace
Cap 3 capa_enlace
 
Capa de Enlace de Datos
Capa de Enlace de DatosCapa de Enlace de Datos
Capa de Enlace de Datos
 
Tema 4 capa de enlace
Tema 4   capa de enlaceTema 4   capa de enlace
Tema 4 capa de enlace
 
Deteccion de errores y Red de Conmutacion
Deteccion de errores y Red de ConmutacionDeteccion de errores y Red de Conmutacion
Deteccion de errores y Red de Conmutacion
 
Transmisión de datos
Transmisión de datosTransmisión de datos
Transmisión de datos
 
TRANSMISION DE DATOS
TRANSMISION DE DATOSTRANSMISION DE DATOS
TRANSMISION DE DATOS
 
TEMA 2.3 Y 2.4.pptx
TEMA 2.3 Y 2.4.pptxTEMA 2.3 Y 2.4.pptx
TEMA 2.3 Y 2.4.pptx
 
DETECCION DE ERRORES DE REDES
DETECCION  DE ERRORES DE REDESDETECCION  DE ERRORES DE REDES
DETECCION DE ERRORES DE REDES
 
Transmisión de Datos
Transmisión de Datos Transmisión de Datos
Transmisión de Datos
 
Ut4
Ut4Ut4
Ut4
 
Transmision de Datos Pablo Delgado
Transmision de Datos Pablo Delgado Transmision de Datos Pablo Delgado
Transmision de Datos Pablo Delgado
 
UNIDAD I
UNIDAD IUNIDAD I
UNIDAD I
 
error crc y hamming
error crc y hammingerror crc y hamming
error crc y hamming
 
Transmisión de datos
Transmisión de datosTransmisión de datos
Transmisión de datos
 
Transmisión de datos
Transmisión de datosTransmisión de datos
Transmisión de datos
 
Comunicacion digital
Comunicacion digitalComunicacion digital
Comunicacion digital
 

Último

Hidroelectricidad en el mundo y Colombia Enrique Posada.pdf
Hidroelectricidad en el mundo y Colombia  Enrique Posada.pdfHidroelectricidad en el mundo y Colombia  Enrique Posada.pdf
Hidroelectricidad en el mundo y Colombia Enrique Posada.pdfEnrique Posada
 
Evaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfEvaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfmatepura
 
EVALUACION PARCIAL II.pdf
EVALUACION PARCIAL II.pdfEVALUACION PARCIAL II.pdf
EVALUACION PARCIAL II.pdfmatepura
 
POLÍTICAS INTERNAS DE OSC TELECOMS SAC..
POLÍTICAS INTERNAS DE OSC TELECOMS SAC..POLÍTICAS INTERNAS DE OSC TELECOMS SAC..
POLÍTICAS INTERNAS DE OSC TELECOMS SAC..CristianPantojaCampa
 
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docEvaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docMatematicaFisicaEsta
 
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJOSISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJOCristianPantojaCampa
 
evaluación 2 calculo aplicado periodo enero marzo.pdf
evaluación 2 calculo aplicado periodo enero marzo.pdfevaluación 2 calculo aplicado periodo enero marzo.pdf
evaluación 2 calculo aplicado periodo enero marzo.pdfMatematicaFisicaEsta
 
PLAN REGULADOR INTERCOMUNAL DE LA PROVINCIA DE LIMARÍ
PLAN REGULADOR INTERCOMUNAL DE LA PROVINCIA DE LIMARÍPLAN REGULADOR INTERCOMUNAL DE LA PROVINCIA DE LIMARÍ
PLAN REGULADOR INTERCOMUNAL DE LA PROVINCIA DE LIMARÍJuan Luis Menares, Arquitecto
 
Políticas OSC 7_Consolidado............pdf
Políticas OSC 7_Consolidado............pdfPolíticas OSC 7_Consolidado............pdf
Políticas OSC 7_Consolidado............pdfCristianPantojaCampa
 
Revista SAI 2023 - Número3 de la Revista de la Sociedad Antioqueña de Ingenie...
Revista SAI 2023 - Número3 de la Revista de la Sociedad Antioqueña de Ingenie...Revista SAI 2023 - Número3 de la Revista de la Sociedad Antioqueña de Ingenie...
Revista SAI 2023 - Número3 de la Revista de la Sociedad Antioqueña de Ingenie...Enrique Posada
 
Tema-1_Introducción a la Teledetección.pdf
Tema-1_Introducción a la Teledetección.pdfTema-1_Introducción a la Teledetección.pdf
Tema-1_Introducción a la Teledetección.pdfJORGEHUMBERTOATENCIO
 
Evaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfEvaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfMatematicaFisicaEsta
 
Evaluación de exposición a riesgos por vibraciones y posturas forzadas del Cu...
Evaluación de exposición a riesgos por vibraciones y posturas forzadas del Cu...Evaluación de exposición a riesgos por vibraciones y posturas forzadas del Cu...
Evaluación de exposición a riesgos por vibraciones y posturas forzadas del Cu...MARCOBARAHONA12
 
Presentacióndel curso de Cálculo diferencial
Presentacióndel curso de  Cálculo diferencialPresentacióndel curso de  Cálculo diferencial
Presentacióndel curso de Cálculo diferencialProfe Mate
 
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdfHOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdfJULIODELPIERODIAZRUI
 
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docEvaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docMatematicaFisicaEsta
 

Último (20)

Practica_14.pdf
Practica_14.pdfPractica_14.pdf
Practica_14.pdf
 
Hidroelectricidad en el mundo y Colombia Enrique Posada.pdf
Hidroelectricidad en el mundo y Colombia  Enrique Posada.pdfHidroelectricidad en el mundo y Colombia  Enrique Posada.pdf
Hidroelectricidad en el mundo y Colombia Enrique Posada.pdf
 
Evaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfEvaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdf
 
EVALUACION PARCIAL II.pdf
EVALUACION PARCIAL II.pdfEVALUACION PARCIAL II.pdf
EVALUACION PARCIAL II.pdf
 
POLÍTICAS INTERNAS DE OSC TELECOMS SAC..
POLÍTICAS INTERNAS DE OSC TELECOMS SAC..POLÍTICAS INTERNAS DE OSC TELECOMS SAC..
POLÍTICAS INTERNAS DE OSC TELECOMS SAC..
 
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docEvaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
 
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJOSISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
SISTEMA DE GESTIÓN DE SEGURIDA DY SALUD EN EL TRABAJO
 
evaluación 2 calculo aplicado periodo enero marzo.pdf
evaluación 2 calculo aplicado periodo enero marzo.pdfevaluación 2 calculo aplicado periodo enero marzo.pdf
evaluación 2 calculo aplicado periodo enero marzo.pdf
 
PLAN REGULADOR INTERCOMUNAL DE LA PROVINCIA DE LIMARÍ
PLAN REGULADOR INTERCOMUNAL DE LA PROVINCIA DE LIMARÍPLAN REGULADOR INTERCOMUNAL DE LA PROVINCIA DE LIMARÍ
PLAN REGULADOR INTERCOMUNAL DE LA PROVINCIA DE LIMARÍ
 
Políticas OSC 7_Consolidado............pdf
Políticas OSC 7_Consolidado............pdfPolíticas OSC 7_Consolidado............pdf
Políticas OSC 7_Consolidado............pdf
 
Revista SAI 2023 - Número3 de la Revista de la Sociedad Antioqueña de Ingenie...
Revista SAI 2023 - Número3 de la Revista de la Sociedad Antioqueña de Ingenie...Revista SAI 2023 - Número3 de la Revista de la Sociedad Antioqueña de Ingenie...
Revista SAI 2023 - Número3 de la Revista de la Sociedad Antioqueña de Ingenie...
 
Tema-1_Introducción a la Teledetección.pdf
Tema-1_Introducción a la Teledetección.pdfTema-1_Introducción a la Teledetección.pdf
Tema-1_Introducción a la Teledetección.pdf
 
Evaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdfEvaluacioìn 2estadistica (1).pdf
Evaluacioìn 2estadistica (1).pdf
 
EVALUACION II.pdf
EVALUACION II.pdfEVALUACION II.pdf
EVALUACION II.pdf
 
EVALUACION PARCIAL II.pdf
EVALUACION PARCIAL II.pdfEVALUACION PARCIAL II.pdf
EVALUACION PARCIAL II.pdf
 
Evaluación de exposición a riesgos por vibraciones y posturas forzadas del Cu...
Evaluación de exposición a riesgos por vibraciones y posturas forzadas del Cu...Evaluación de exposición a riesgos por vibraciones y posturas forzadas del Cu...
Evaluación de exposición a riesgos por vibraciones y posturas forzadas del Cu...
 
Presentacióndel curso de Cálculo diferencial
Presentacióndel curso de  Cálculo diferencialPresentacióndel curso de  Cálculo diferencial
Presentacióndel curso de Cálculo diferencial
 
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdfHOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
HOMEWORK 11 - HORNO DE ARCO ELECTRICO.pdf
 
DISTANCIAMIENTOS -norma, arquitectura chilena-
DISTANCIAMIENTOS -norma, arquitectura chilena-DISTANCIAMIENTOS -norma, arquitectura chilena-
DISTANCIAMIENTOS -norma, arquitectura chilena-
 
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.docEvaluación 2probabilidad y estadistica periodo enero marzo.doc
Evaluación 2probabilidad y estadistica periodo enero marzo.doc
 

Detección de errores CRC

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO INSTITUTO TECNOLÓGICO DE AGUASCALIENTES DEPARTAMENTO DE INGENIERÍA ELÉCTRICA - ELECTRÓNICA Ingeniería Electrónica Comunicaciones digitales Unidad I TAREA 1 CRC como método de detección de errores Alumno: Héctor Alexis Reyes Martínez 8vo Semestre Ingeniería electrónica Profesora: Ing. Yessica Rodríguez Estrada Aguascalientes, Ags, a 05 de febrero de 2018
  • 2. 2 ÍNDICE 1 INTRODUCCIÓN.........................................................................................................................................3 2 MÉTODO DE DETECCIÓN DE ERRORES CRC................................................................................................4 2.1 FUNDAMENTO MATEMÁTICO........................................................................................................................... 5 2.2.1 Ejemplo 1: división en el emisor ....................................................................................................... 6 2.2.2 Ejemplo 2: división en el receptor (dos casos).................................................................................. 7 3 IMPLEMENTACIÓN DIGITAL ......................................................................................................................8 4 APLICACIONES...........................................................................................................................................9 5 ARQ: ESTRATEGIAS DE RETRANSMISIÓN................................................................................................. 10 5.1 STOP-AND-WAIT ARQ................................................................................................................................. 10 6 OBSERVACIONES..................................................................................................................................... 12 7 CONCLUSIONES....................................................................................................................................... 13 8 FUENTES DE INFORMACIÓN.................................................................................................................... 14
  • 3. 3 1 Introducción El presente trabajo explica de manera detallada el funcionamiento de la verificación por redundancia cíclica (CRC – Cyclic Redundancy Check), el cual consiste en un método de detección de errores usado frecuentemente en redes digitales y en dispositivos de almacenamiento para detectar cambios accidentales en los datos. En redes y comunicaciones digitales, el CRC es utilizado para el control del flujo de datos. Los desarrolladores e investigadores de tecnología de la información procuran crear y desarrollar métodos de detección de transmisión de errores, asumiendo que inicialmente el control de recepción de datos (DLC) sabe dónde empieza la estructura de datos y dónde termina. El problema es cómo determinar cuál de todas las estructuras de datos contiene el error. Desde el punto de vista del empaquetamiento de bytes, los paquetes que entran al DLC son cadenas de bits arbitrarias. Así, en el receptor del DLC, cualquier cadena de bits es aceptable como un paquete y los errores no pueden ser detectados por el análisis del paquete en sí mismo. Cabe señalar que una transformación en los paquetes de K bits en alguna otra representación de longitud K no puede ayudar, ya que hay 2K paquetes posibles y todas las posibles cadenas de bits de longitud K deben ser usadas para representar todos los posibles paquetes. La conclusión obtenida por los investigadores fue que se debía agregar algunos bits extra a los paquetes para detectar los errores. Un bit transmitido puede convertirse en un error debido al ruido que existe en el canal de transmisión. Si estamos procesando una señal de voz o de video, la ocurrencia de errores en un bajo porcentaje es tolerable, pero en muchos otros casos es muy importante que todos los bits sean correctos. Por ejemplo, cuando se descarga alguna aplicación de internet, el código binario del programa no podrá ejecutarse si alguno de los bits es incorrecto. Si el destinatario o la dirección de emisión de un paquete tiene un bit incorrecto, la comunicación es imposible.
  • 4. 4 2 Método de detección de errores CRC El CRC fue inventado por W. Wesley Peterson, y publicado en un artículo en 1961. Deriva de un código cíclico, pero generalmente se comporta de forma no cíclica, basado en un tipo de código de bloques lineales. Los bloques de datos ingresados en estos sistemas contienen un valor de verificación adjunto, basado en el residuo de una división de polinomios, el cálculo es repetido y la acción de corrección puede tomarse en contra de los datos presuntamente corruptos en caso de que el valor de verificación no concuerde. El CRC no puede detectar todos los posibles errores, pero el rango de errores que puede detectar es impresionantemente grande. Autores de libros de redes como Larry Peterson y Bruce Davie han señalado que es bastante notable como un CRC de 32 bits es suficiente para proporcionar una protección adecuada contra los errores en los mensajes de 12000 bits que el Ethernet puede enviar. Figura 1. Diagrama de bloques del CRC.
  • 5. 5 2.1 Fundamento matemático El CRC comúnmente utiliza vectores de cierta longitud para detectar los errores. Para obtener una notación matemática conveniente, las posiciones en el bloque de datos pueden ser expresadas como un polinomio de x. Establecemos “L” como la longitud del CRC y “k” como la longitud de la cadena de bits de datos. Representando la cadena de datos de forma polinomial: 𝑠(𝑥) = 𝑠 𝑘−1 𝑥 𝑘−1 + 𝑠 𝑘−2 𝑥 𝑘−2 + ⋯ + 𝑠0 = ∑ 𝑠𝑖 𝑥 𝑖 𝑘−1 𝑖 = 0 La potencia de la x indeterminada puede ser pensada como un seguimiento sobre cual posición tiene cada bit; los términos de alto orden (MSB) son vistos como los primeros en trasmitir. El CRC es representado como otro polinomial: 𝑐(𝑥) = 𝐶𝐿−1 𝑥 𝐿−1 + ⋯ + 𝐶1 𝑥 + 𝐶0 = ∑ 𝐶𝑖 𝑥 𝑖 𝐿−1 𝑖=0 El paquete de datos entero de la información transmitida y el CRC pueden ser representado como una suma de polinomios: 𝑋(𝑥) = 𝑠(𝑥)𝑥 𝐿 + 𝑐(𝑥) , que sería: 𝑋(𝑥) = 𝑠 𝑘−1 𝑥 𝐿+𝐾−1 + ⋯ + 𝑠0 𝑥 𝐿 + 𝑐 𝐿−1 𝑥 𝐿−1 + ⋯ + 𝑐0 El vector polinomial de CRC “c(x)” es una función de la información polinomial s(x), definida en términos del generador polinomial g(x); este es un polinomio de grado L con coeficiente binarios que especifican el código particular CRC a ser utilizado: 𝑔(𝑥) = 𝑥 𝐿 + 𝑔 𝐿−1 𝑥 𝐿−1 + ⋯ + 𝑔1 𝑥 + 1 Para un g(x) dado, el mapeo desde el polinomio de información hacia el polinomio del CRC c(x) está dado por: 𝑐(𝑥) = 𝑟𝑒𝑠𝑖𝑑𝑢𝑜 ( 𝑠(𝑥)𝑥 𝐿 𝑔(𝑥) )
  • 6. 6 La división polinomial de arriba es sólo una ordinaria división larga de un polinomio entre otro, excepto que los coeficientes están restringidos a ser binarios y la aritmética en los coeficientes se realiza con módulo 2 (%2). 2.2.1 Ejemplo 1: división en el emisor Figura 2. Ejemplo 2 de la división polinomial. En este ejemplo, se envía un dato = 1001 y un CRC de 3 bits • k = número de bits del dato = 4. • L = #bits CRC deseados=3. Por lo tanto, el polinomio de generación g(x) es de grado 3. Se escoge g(x) = 𝑥3 + 𝑥 + 1. • El grado del dato aumentado es de L+K-1 = 6. Por lo tanto, el dato cambia su polinomio a 𝑋(𝑥) = 𝑥6 + 𝑥3 . • Al resolver la división de polinomios, queda un residuo de x2+x , que es el equivalente a CRC = 110. • El dato que es enviado por el emisor es: Dato = 1001110. Este dato ya incluye el CRC de 3 bits para la detección de errores.
  • 7. 7 2.2.2 Ejemplo 2: división en el receptor (dos casos) Figura 3. Dato en receptor. Se puede observar que el receptor recibe el dato con los bits CRC incluidos. • Primero el receptor divide el polinomio de la información recibida (incluyendo el CRC) entre el polinomio de generación g(x) (ambos dispositivos deben conocer el mismo polinomio de generación). • Si el residuo de dicha división binaria es cero, el dato es aceptado, quitando los bits de CRC. • Si el residuo es diferente a cero, se descarta el dato.
  • 8. 8 3 Implementación digital Como se puede observar, los algoritmos CRC pueden ser fácilmente codificados en software, pero pueden ser algo lentos. Podrían ser mucho más rápidos si son implementados en hardware lógico digital (como procesadores dsp), y sería más simple la codificación -decodificación de información. Si denotamos el número de bits del divisor polinomial C(x) como C, así el grado del polinomio es C-1. Entonces configuramos de izquierda a derecha el registro de desplazamiento el cual almacena C-1 bits. A la vez, los coeficientes denotan de izquierda a derecha: 𝑆0, 𝑆1, … , 𝑆𝑐−2 … . Así, cada registro queda reemplazado por Si en cada pulso de reloj. La figura 2 muestra como configurar en el caso de 𝐶(𝑥) = 𝑥3 + 𝑥 + 1 C=1011. Figura 4. Diseño digital del filtro-bit CRC.
  • 9. 9 4 Aplicaciones La idea de la codificación CRC puede ser vista como una generalización de la detección del bit de paridad. Los bits de paridad funcionan bien en vectores cortos de información donde pueden ser usados para detectar un bit de error. Sin embargo, si hay errores en dos posiciones, el vector resultante tendrá aún un número par de unos, y el error no será detectado. Para lograr una mejor protección se pueden agregar varios bits de paridad, derivados sobre otro arreglo de bits de datos. • Se usa como patrón de prefijos de bit para comprobar su autenticidad. • Funciona para hacer convenios entre dispositivos para saber en qué orden están los bits enviados (desde el menos significativo hasta el más significativo). En muchos protocolos de comunicación es utilizado el CRC para detectar errores, tanto en módulos de comunicación, así como en equipos de cliente. Uno de los aspectos más importantes en el CRC es el vector de generación polinomial, ya que éste define qué tan robusto será el sistema de detección de errores, y entre más bits, más eficiente será el sistema. A continuación, se muestra una lista de los generadores polinomiales CRC más utilizados: Como puede observarse, el número de bits del CRC define el grado del polinomio de generación. Entre más bits de CRC, más rápido debe ser el procesamiento de las señales digitales, para poder encontrar los errores de una manera eficiente, rápida y segura.
  • 10. 10 5 ARQ: Estrategias de retransmisión El concepto general de solicitud automática de repetición (ARQ – Automatic Repeat Request) consiste en detectar bloques de información con errores en el módulo receptor DLC y después enviar una solicitud al transmisor DLC para repetir la información de aquellos bloques con errores. Hay dos diferentes formas de algoritmos o protocolos de retransmisión. El primero es sobre la exactitud: ¿El protocolo tuvo éxito en la emisión de cada paquete sin errores en el receptor DLC? El segundo es sobre la eficiencia: ¿Cuánto de la capacidad de transmisión se desperdicia por la espera innecesaria y por el re-envío de retransmisiones innecesarias? Primeramente, muchas clases de protocolos son desarrolladas y mostradas para ser correctas. Después, el efecto de varios parámetros en la eficiencia de estas clases. Cuando un error es detectado en un bloque de información, un nuevo bloque que contiene el viejo paquete es transmitido. En consecuencia, el primer bloque transmitido podría contener el primer paquete, el siguiente bloque el segundo paquete, el tercer paquete una repetición del primer paquete, etc. Cuando un paquete es repetido, el bloque de cabecera y el trailer podrían o no podrían ser el mismo como en la versión anterior. 5.1 Stop-and-wait ARQ El tipo de protocolo de retransmisión más simple es llamado stop-and-wait. La idea básica es asegurar que cada paquete que ha sido recibido correctamente antes de transmitir el siguiente paquete. En consecuencia, en los paquetes transmitidos de un punto A a un punto B, el primer paquete es transmitido en el primer bloque, y después el emisor DLC espera. Si el bloque no tiene errores, B envía un mensaje de reconocimiento (acknowledgment), también llamado ack, de regreso a A; si el bloque tiene un error, B envía un reconocimiento negativo (también llamado nack) de regreso a A. Dado que los errores pueden ocurrir desde B a A o de A a B, el ack o nack están protegidos con CRC.
  • 11. 11 Si B recibe un paquete libre de errores, el ack que recibe A por parte B hace que comience a emitir el siguiente paquete de datos. Por el contrario, si A recibe un nak, comienza a retransmitir el paquete de datos enviado previamente. Finalmente, si alguno de los ack o nak se pierde, A debe eventualmente detenerse y re-enviar el paquete previo. Lo único que queda por hacer es que tanto el emisor como el receptor sepan cuándo se está retransmitiendo un dato, y que significa cada ack y nack que se envían al transmisor, para que de esta forma la transmisión de datos sea efectiva y correcta. Figura 5. Ejemplo de uso de una secuencia y solicitud de paquetes.
  • 12. 12 6 Observaciones • Las cadenas de bits que son enviadas por algún protocolo de comunicación es posible representarlas mediante polinomios, aunque es de matemática binaria. • El CRC es un método muy efectivo para la detección de errores, pero no asegura al 100% que la transmisión sea efectiva. • El número de bits que se desea de CRC son los bits que se agregan al dato original. • Al realizar la división de polinomios, esta división es algo diferente, ya que es en lógica binaria, y por lo tanto, no se restan o suman los distintos residuos que van saliendo, sino que simplemente se ignora el carry. • El vector de generación de polinomios g(x) puede ser cualquier vector de potencia L, pero existen algunos vectores pre-hechos que son de los más eficientes. • El CRC, entre más bits se agregan, más seguro es el envío de datos. • El vector de información ACK o NACK sirven para hacer una retransmisión de datos efectiva en caso de pérdida de información o datos modificados. • El transmisor y receptor deben estar en sincronía para saber qué número de paquetes de datos está siendo emitido, o si hubo una retransmisión, para evitar un mal acomodo de los bytes de información.
  • 13. 13 7 Conclusiones La implementación de métodos de detección de errores en las comunicaciones digitales permitió que éstas fueran más eficientes, correctas y que cada vez más el número de datos enviados aumentara exponencialmente. El método analizado en este trabajo fue el CRC: Verificación por redundancia cíclica. Básicamente se compone de ciertos polinomios hechos por los datos a enviar y el número de bits deseados en el CRC. Esto a su vez tiene la consecuencia de que el número de bits por paquete de datos emitido aumente, dependiendo del número de bits del CRC. Por ejemplo, si tengo un paquete de datos de 8 bits y deseo 4 bits de CRC, el dato a enviar ya transformado será de 12 bits. Cabe señalar que, entre un mayor número de bits de CRC, mayor es la protección de la información. Por otra parte, el desarrollo de los procesadores de información debe ser orientado hacia la rapidez y exactitud, ya que, debido a la emisión de un mayor número de bits, los distintos procesadores y módulos de comunicación deben enviarlos/recibirlos y codificarlos/decodificarlos de forma correcta y rápida, por lo que procesadores más avanzados permiten tener una protección de alta fiabilidad y rapidez. Si el objetivo final del CRC es mejorar la protección de los datos, es necesario implementar algunos protocolos de repetición/recuperación de datos, como el stop- and-wait ARQ, el cual se basa en mecanismos de reconocimiento de paquetes. Esto hace más robusta la protección, pero no tiene una fiabilidad del 100%. Deben existir algunos otros protocolos que aseguren el buen funcionamiento y transmisión de los datos, tal como lo hace el protocolo TCP/IP o el protocolo CAN.
  • 14. 14 8 Fuentes de información 1. Dr Ma,D. & Dr Yuk, T.I. Digital Communications III: Cyclic redundancy check (CRC) codes. University of Hong Kong, China, 2010. 2. Höst, Stefan. Error detection by CRC. Lund University: Electrical and Information Technology, Suecia. 3. Kowalk, W. CRC Cyclic Redundancy Check Analysing and correcting errors. Universität Oldenburg, Alemania, 2006. 4. Matloff, Norman. Cyclic Redundancy Checking. University of California at Davis, USA, 2001. 5. Bertsekas, Dimitri & Gallager, Robert. Data Networks. Massachusetts Institute of Technology, USA, 1992.