SlideShare una empresa de Scribd logo
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.
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
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
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
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
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
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
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
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.

Más contenido relacionado

La actualidad más candente

Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesJarvey Gonzalez
 
Forma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónForma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónJuan Anaya
 
Deteccion Y Control De
Deteccion Y Control DeDeteccion Y Control De
Deteccion Y Control Deguestc9b52b
 
Modulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaModulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaCarmen Ea
 
Ruido en un Sistema de Comunicación Parte II
Ruido en un Sistema de Comunicación   Parte IIRuido en un Sistema de Comunicación   Parte II
Ruido en un Sistema de Comunicación Parte IIFam ParCar
 
Deteccion y Correccion de errores
Deteccion y Correccion de erroresDeteccion y Correccion de errores
Deteccion y Correccion de erroresMishell Carrera
 
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
 
Códigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionalesCódigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionalesEduardoMedrano19
 
Laboratorio Redes de Datos - Práctica 01
Laboratorio Redes de Datos - Práctica 01Laboratorio Redes de Datos - Práctica 01
Laboratorio Redes de Datos - Práctica 01Cristian Ortiz Gómez
 
Diagrama del Ojo
Diagrama del OjoDiagrama del Ojo
Diagrama del OjoDouglas
 
Telecomunicaciones
TelecomunicacionesTelecomunicaciones
Telecomunicacioneswarrior1210
 

La actualidad más candente (20)

Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetes
 
Códigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de DatosCódigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de Datos
 
Forma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposiciónForma normal de boyce codd y algoritmos de descomposición
Forma normal de boyce codd y algoritmos de descomposición
 
Estándar ieee 802
Estándar ieee 802Estándar ieee 802
Estándar ieee 802
 
Deteccion Y Control De
Deteccion Y Control DeDeteccion Y Control De
Deteccion Y Control De
 
Modulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuenciaModulación por desplazamiento de frecuencia
Modulación por desplazamiento de frecuencia
 
Control de errores
Control de erroresControl de errores
Control de errores
 
Ruido en un Sistema de Comunicación Parte II
Ruido en un Sistema de Comunicación   Parte IIRuido en un Sistema de Comunicación   Parte II
Ruido en un Sistema de Comunicación Parte II
 
Codigo Hamming
Codigo HammingCodigo Hamming
Codigo Hamming
 
Códigos
Códigos Códigos
Códigos
 
Deteccion y Correccion de errores
Deteccion y Correccion de erroresDeteccion y Correccion de errores
Deteccion y Correccion de errores
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
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ón
 
Códigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionalesCódigos bch, Reed Solomon, convolucionales
Códigos bch, Reed Solomon, convolucionales
 
Codificacion BCH
Codificacion BCHCodificacion BCH
Codificacion BCH
 
Codigos bloque
 Codigos bloque Codigos bloque
Codigos bloque
 
Diseño de una computadora básica
Diseño de una computadora básicaDiseño de una computadora básica
Diseño de una computadora básica
 
Laboratorio Redes de Datos - Práctica 01
Laboratorio Redes de Datos - Práctica 01Laboratorio Redes de Datos - Práctica 01
Laboratorio Redes de Datos - Práctica 01
 
Diagrama del Ojo
Diagrama del OjoDiagrama del Ojo
Diagrama del Ojo
 
Telecomunicaciones
TelecomunicacionesTelecomunicaciones
Telecomunicaciones
 

Similar a Detección de errores CRC

Similar a Detección de errores CRC (20)

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-ciclica
 
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
 

Último

TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaSHERELYNSAMANTHAPALO1
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 

Último (20)

TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
CICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresaCICLO DE DEMING que se encarga en como mejorar una empresa
CICLO DE DEMING que se encarga en como mejorar una empresa
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 

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.