You are on page 1of 17

1

Escuela Superior Politcnica Del Litoral



PROYECTO DE MATEMATICAS:


APLICACIN DE LOS POLINOMIOS PARA EL CONTROL Y
DETECCION DE ERRORES EN LA TRANSMISION DE DATOS.












16 DE AGOSTO DEL 2013


2

Escuela Superior Politcnica Del Litoral


INDICE

Introduccin...1
Objetivos2
Desarrollo del tema.4-10
Conclusiones.12
Referencias Consultadas.13












3

Escuela Superior Politcnica Del Litoral

INTRODUCCION
La necesidad de comunicacin que ha encontrado el hombre desde el comienzo
de su historia, lo ha llevado a dar pasos gigantes en la evolucin. Al comienzo su
preocupacin fue la lengua, luego la comunicacin entre ciudades, ms tarde
pases, continentes y el espacio. Pero l no ha superado esto solo con su cuerpo,
se ha valido de equipos tecnolgicos para lograr su cometido, y esto ha llevado al
desarrollo de ms dispositivos que giran alrededor de ellos. Esto significa que
entra ms evolucionado sea un equipo de comunicacin, al tiempo se necesita de
ms y mejores medios de transmisin de los diferentes tipos de datos que
deseamos sean conocidos por los dems. Desde el inicio de esta nueva era de
telecomunicacin y hasta el da de hoy, la transmisin de datos de un dispositivo a
otro no siempre se produce exitosamente.

La codificacin binaria es de gran utilidad prctica en dispositivos electrnicos
como ordenadores, donde la informacin se puede codificar basndose en la
presencia o no de una seal elctrica. La utilizacin de polinomios en estos casos
es un mtodo eficaz para tratar estos errores cotidianos en el amplio mundo de la
telecomunicacin. Tambin podemos decir que el CRC es un cdigo de deteccin
de error cuyo clculo es una larga divisin de computacin en el que se descarta
el cociente y el resto se convierte en el resultado, con la importante diferencia de
que la aritmtica que usamos conforma que el clculo utilizado es el arrastre de un
campo, en este caso los bits. El tamao del resto es siempre menor que la
longitud del divisor, que, por lo tanto, determina el tamao del resultado. La
definicin de un CRC especifica el divisor que se utilizar, entre otras cosas.
Aunque se puede construir utilizando cualquier tipo de regla finita, todos los CRC
de uso comn emplean una base finita binaria, esta base consta de dos
elementos, generalmente el 0 y 1. El resto de este artculo se centrar en este tipo
de composicin, es decir el mbito binario y los principios generales de los CRC.


4

Escuela Superior Politcnica Del Litoral

OBJETIVO GENERAL

Aplicar los distintos mtodos de correccin de errores

OBJETIVOS ESPECIFICOS

Conocer cmo pueden detectarse y prevenirse errores que puedan
aparecer en los distintos intercambios de informacin que realiza el
ordenador.
















5

Escuela Superior Politcnica Del Litoral
MARCO TEORICO
1.1 POLINOMIOS

Los polinomios son objetos muy utilizados en matemticas y en ciencia. En la
prctica, son utilizados en clculo y anlisis matemtico para aproximar cualquier
funcin derivable; las ecuaciones polinmicas y las funciones polinmicas tienen
aplicaciones en una gran variedad de problemas, desde la matemtica elemental y
el lgebra hasta reas como la fsica, qumica, economa y las ciencias sociales.
Los polinomios permiten demostrar propiedades:
Si el polinomio no es divisible por x
Se pueden detectar todos los errores de rfaga de una longitud igual a la del
polinomio
Si el polinomio es divisible por (x+1)
Se pueden detectar todos los errores de rfaga que afectan a un nmero impar de
bit.
1.2. Modos de transmisin.
Cuando una seal es enviada de un equipo terminal de datos (ETD) a otro,
previamente sta debe atravesar una interfaz, denominada equipo terminal del
circuito de datos (ETCD), hacia el medio de transmisin. Por modo de transmisin
se entender el empleo de las distintas tcnicas de preparar la informacin que se
desea comunicar y la forma en que sta es presentada en el medio de
transmisin. La figura adjunta esquematiza los elementos constituyentes de un
sistema de transmisin de datos entre dos puntos A y B.





6

Escuela Superior Politcnica Del Litoral
1.3 Deteccin de errores VRC, LRC, CRC
Verificacin de errores
La codificacin binaria es de gran utilidad prctica en dispositivos electrnicos
como ordenadores, donde la informacin se puede codificar basndose en la
presencia o no de una seal elctrica. Sin embargo, esta seal elctrica puede
sufrir alteraciones (como distorsiones o ruidos), especialmente cuando se
transportan datos a grandes distancias.

Por este motivo, ser capaz de verificar la autenticidad de estos datos es
imprescindible para ciertos propsitos (incluido el uso de informacin en entornos
profesionales, bancarios, industriales, confidenciales o relacionados con la
seguridad).

Se han perfeccionado mejores sistemas de deteccin de errores mediante cdigos
denominados:
Cdigos de autocorreccin
Cdigos de auto verificacin
Verificacin de paridad
La verificacin de paridad (a veces denominada VRC o verificacin de
redundancia vertical) es uno de los mecanismos de verificacin ms
simples. Consiste en agregar un bit adicional (denominado bit de paridad) a
un cierto nmero de bits de datos denominado palabra cdigo
(generalmente 7 bits, de manera que se forme un byte cuando se combina
con el bit de paridad) cuyo valor (0 o 1) es tal que el nmero total de bits 1
es par. Para ser ms claro, 1 si el nmero de bits en la palabra cdigo es
impar, 0 en caso contrario.

Tomemos el siguiente ejemplo:





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



7

Escuela Superior Politcnica Del Litoral

Supongamos que despus de haber realizado la transmisin, el bit con
menos peso del byte anterior (aquel que se encuentra ms a la derecha) ha
sido vctima de una interferencia:




El bit de paridad, en este caso, ya no corresponde al byte de paridad: se ha
detectado un error.


Sin embargo, si dos bits (o un nmero par de bits) cambian
simultneamente mientras se est enviando la seal, no se habra
detectado ningn error.



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

Verificacin de redundancia longitudinal
La verificacin de la redundancia longitudinal (LRC, tambin denominada
verificacin de redundancia horizontal) no consiste en verificar la integridad de los
datos mediante la representacin de un carcter individual, sino en verificar la
integridad del bit de paridad de un grupo de caracteres.
Digamos que "HELLO" es el mensaje que transmitiremos utilizando el estndar
ASCII. Estos son los datos tal como se transmitirn con los cdigos de verificacin
de redundancia longitudinal:




8

Escuela Superior Politcnica Del Litoral
Letra
Cdigo ASCII
(7 bits)
Bit de paridad
(LRC)
H 1001000 0
E 1000101 1
L 1001100 1
L 1001100 1
0 1001111 1
VRC 1000010 0
Verificacin de redundancia cclica
La verificacin de redundancia cclica (abreviado, CRC) es un mtodo de control
de integridad de datos de fcil implementacin. Es el principal mtodo de
deteccin de errores utilizado en las telecomunicaciones.

La verificacin de redundancia cclica consiste en la proteccin de los datos en
bloques, denominados tramas. A cada trama se le asigna un segmento de datos
denominado cdigo de control (al que se denomina a veces FCS, secuencia de
verificacin de trama, en el caso de una secuencia de 32 bits, y que en ocasiones
se identifica errneamente como CRC). El cdigo CRC contiene datos
redundantes con la trama, de manera que los errores no slo se pueden detectar
sino que adems se pueden solucionar.







El concepto de CRC consiste en tratar a las secuencias binarias como polinomios
binarios, denotando polinomios cuyos coeficientes se correspondan con la
secuencia binaria. Por ejemplo, la secuencia binaria 0110101001 se puede
representar como un polinomio, como se muestra a continuacin:

0*X
9
+ 1*X
8
+ 1*X
7
+ 0*X
6
+ 1*X
5
+ 0*X
4
+ 1*X
3
+ 0*X
2
+ 0*X
1
+ 1*X
0



9

Escuela Superior Politcnica Del Litoral

Siendo X
8
+ X
7
+ X
5
+ X
3
+ X
0
o X
8
+ X
7
+ X
5
+ X
3
+ 1

De esta manera, la secuencia de bits con menos peso (aquella que se encuentra
ms a la derecha) representa el grado 0 del polinomio (X0 = 1), (X0 = 1), (X
0
= 1),
el 4

bit de la derecha representa el grado 3 del polinomio (X


3
), y as
sucesivamente. Luego, una secuencia de n- bits forma un polinomio de grado
mximo n-1. Todas las expresiones de polinomios se manipulan posteriormente
utilizando un mdulo 2.
En este proceso de deteccin de errores, un polinomio predeterminado
(denominado polinomio generador y abreviado G(X)) es conocido tanto por el
remitente como por el destinatario. El remitente, para comenzar el mecanismo de
deteccin de errores, ejecuta un algoritmo en los bits de la trama, de forma que se
genere un CRC, y luego transmite estos dos elementos al destinatario. El
destinatario realiza el mismo clculo a fin de verificar la validez del CRC.
Los polinomios generadores estndares internacionales, en su forma polinmica,
son:
a. CRC-12 = x
12
+ x
11
+ x
3
+ x
2
+ x + 1
b. CRC-16 = x
16
+ x
15
+ x
2
+ 1
c. CRC-CCITT = x
16
+ x
12
+ x
5
+ 1

Los dos ltimos detectan todos los errores de uno y dos bits, los errores con un
nmero impar de bits invertidos, los grupos de errores con longitudes menores de
16 o igual a ste, el 99,997% con longitudes de 17, y el 99,998% con longitudes
mayores o iguales a 18. El CCITT ha adoptado los cdigos CRC como parte de
algunas de sus normas, como por ejemplo la V.41, que emplea como polinomio
generador el CRC-CCITT.




Tipo de cdigos detectores


10

Escuela Superior Politcnica Del Litoral
1.1. Paridad simple (paridad horizontal)
Consiste en aadir un bit de ms a la cadena que queremos enviar, y que nos
indicar si el nmero de unos (bits puestos a 1) es par o es impar. Si es par
incluiremos este bit con el valor = 0, y si no es as, lo incluiremos con valor = 1.
Ejemplo de generacin de un bit de paridad simple:

Queremos enviar la cadena 1110100:
1 Contamos la cantidad de unos que hay: 4 unos
2 El nmero de unos es par por tanto aadimos un bit con valor = 0
3 La cadena enviada es 11101000
El receptor ahora, repite la operacin de contar la cantidad de unos que hay
(menos el ltimo bit) y si coincide, es que no ha habido error.
Problemas de este mtodo:
Hay una alta probabilidad de que se cuelen casos en los que ha habido error, y
que el error no sea detectado, como ocurre si se cambian dos nmeros en la
transmisin en vez de uno.
Un ejemplo de polinomio generador usado normalmente en las redes WAN es:

Los clculos que realiza el equipo transmisor para calcular su CRC son:
1. Aade tantos ceros por la derecha al mensaje original como el grado del
polinomio generador
2. Divide el mensaje con los ceros incluidos entre el polinomio generador
3. El resto que se obtiene de la divisin se suma al mensaje con los ceros
incluidos
4. Se enva el resultado obtenido
Estas operaciones generalmente son incorporadas en el hardware para que pueda
ser calculado con mayor rapidez, pero en la teora se utilizan los polinomios para



Ejemplo de obtencin del CRC:


11

Escuela Superior Politcnica Del Litoral

Datos:
Mensaje codificado en binario: 1101001
Polinomio generador:


Operaciones:

1 Obtener el polinomio equivalente al mensaje:

2 Multiplicar el mensaje por (aadir 4 ceros por la derecha):


3 Dividir en binario el mensaje por el polinomio generador y sacar el resto:


4 Concatenar el mensaje con el resto (en mdulo 2 tambin):


5 Transmitir el mensaje
El equipo receptor debe comprobar el cdigo CRC para detectar si se han
producido o no errores.
Ejemplo de los clculos del receptor:

1 Mediante el protocolo correspondiente acuerdan el polinomio generador
2 Divide el cdigo recibido entre el polinomio generador
3 Comprueba el resto de dicha operacin
3.1 Si el resto es cero, no se han producido errores
3.2 Procesar el mensaje
3.1 Si el resto es distinto de cero, significa que se han producido errores
3.2 Reenviar el mensaje
3.2 Intentar corregir los errores mediante los cdigos correctores
En resumen, este mtodo requiere de un polinomio generador que, elegido
correctamente, puede llegar a detectar gran cantidad de errores:
Errores simples: todos
Errores dobles: todos
Errores en las posiciones impares de los bits: todos
Errores en rfagas con una longitud menor que el grado del polinomio
generador: todos
Otras rfagas: un porcentaje elevado y cercano al 100%


12

Escuela Superior Politcnica Del Litoral
1.2. Suma de comprobacin
Es un mtodo sencillo pero eficiente slo con cadenas de palabras de una longitud
pequea, es por esto que se suele utilizar en cabeceras de tramas importantes u
otras cadenas importantes y en combinacin con otros mtodos.
Funcionalidad: consiste en agrupar el mensaje a transmitir en cadenas de una
longitud determinada L no muy grande, de por ejemplo 16 bits. Considerando a
cada cadena como un nmero entero numerado segn el sistema de numeracin
. A continuacin se suma el valor de todas las palabras en las que se
divide el mensaje, y se aade el resultado al mensaje a transmitir, pero cambiado
de signo.
Con esto, el receptor lo nico que tiene que hacer es sumar todas las cadenas, y
si el resultado es 0 no hay errores.
Ejemplo:

Mensaje 101001110101

1 Acordar la longitud de cada cadena: 3

2 Acordar el sistema de numeracin:

3 Dividir el mensaje: 101 001 110 101

4 Asociar cada cadena con un entero: 5 1 6 5

5 Sumar todos los valores y aadir el nmero cambiado de signo: -17

6 Enviar 5 1 6 5 -17 codificado en binario
El receptor:

1 Suma todos los valores; si la suma es 0, procesa el mensaje; si no, se ha
producido un error.
Este mtodo al ser ms sencillo es ptimo para ser implementado en software ya
que se puede alcanzar velocidades de clculo similares a la implementacin en
hardware.

1.3. POLINOMIO GENERADOR IDEAL


13

Escuela Superior Politcnica Del Litoral
La aritmtica con estos polinomios es modulo 2 sin llevar
La adicin y sustraccin son equivalentes a XOR
La divisin usa XOR en lugar de sustraccin y A se divide entre B si el
numero de bits es mayor de o igual a el numero de A
Todos los polinomios correspondientes a las palabras del cdigo cclico,
deben dividirse entre g(x) sin residuo
G(x) debe ser un divisor de x-1
El bit mayor y el menor del generador deben ser 1.
Ejemplo: Escribir en forma polinomio la palabra de cdigo binario:
10101
En este caso obtenemos el polinomio, digamos p(x), as:
()


Entonces: ()


Ejemplo: Trama a transmitir: M
5
(x) = x
5
+ x
2
.

Polinomio CRC: G
3
(x) = x
3
+ x
2
+ 1.

Residuo: R
2
(x) = 1.

Trama finalmente transmitida: 100100 001
(T
8
(x) = x
8
+ x
5
+ 1).


14

Escuela Superior Politcnica Del Litoral

Errores detectados
Una trama con errores sera T
n+k
(x) + E
i
(x), donde E
i
(x) es el polinomio
formado por todos los bits de T
n+k
(x) que han sido invertidos. Para no
detectar el error tiene que ocurrir que
(

()

())

()
o lo que es lo mismo, que Ei(x)

()

ya que por definicin

Por tanto, los mejores polinomios generadores son aquellos que
difcilmente son factor de otro posible polinomio error. Por ello los
polinomios de CRC deben: (1) tener un grado lo ms alto posible y (2) no
ser factorizables. Ejemplos:


15

Escuela Superior Politcnica Del Litoral
Denominacin G(x)
CRC-8 x
8
+ x
2
+ x
1
+ 1
CRC-10 x
10
+ x
9
+ x
5
+ x
4
+ x
1
+ 1
CRC-12 x
12
+ x
11
+ x
3
+ x
2
+ 1
CRC-16 x
16
+ x
15
+ x
2
+ 1
CRC-CCITT x
16
+ x
12
+ x
5
+ 1
CRC-32 x
32
+ x
26
+ x
23
+ x
16
+ x
11
+

x
10
+ x
8
+ x
7
+ x
5
+ x
4
+ x
2
+ 1
Ntese, por ejemplo, que el CRC-32 detectar todos aquellos errores tipo
rfaga que afecte a menos de 32 bits ya que ningn polinomio error de
grado menor que 32 ser divisible entre l.















16

Escuela Superior Politcnica Del Litoral
CONCLUSIONES

El mtodo que utilizamos para la deteccin de errores es la verificacin de
redundancia cclica ya que aqu utilizamos polinomio para la deteccin de
errores.


En el desarrollo del tema, se obtuvo ejemplos de cmo detectar errores por
medio de polinomios.


Se realizaron ejemplos de verificacin en la transmisin de datos.


En conclusin para la elaboracin de este proyecto se deben tener claro
los conceptos ya que esto nos ayuda a cmo detectar los errores en la
transmisin de datos.














17

Escuela Superior Politcnica Del Litoral
Bibliografa
(2013, 08). deteccin y correccin de errores. Recuperado 08, 2013, de
http://www3.uji.es/~redondo/redes/capitulo4_IS20.pdf
(2013, 08). deteccin y correccin de errores. Recuperado 04, 2013, de
http://es.wikipedia.org/wiki/Detecci%C3%B3n_y_correcci%C3%B3n_de_errores#Ti
po_de_c.C3.B3digos_detectores
(2013, 08). deteccin y correccin de errores. Recuperado 08, 2013, de
http://es.wikipedia.org/wiki/Polinomio
(2012, 12). deteccion y correccion de errores. Recuperado 08, 2013, de
http://www.slideshare.net/dhuertacruz/mtodos-para-la-deteccin-y-correccin-de-
errores
(2010, 07). Deteccin Y Correccin De Errores En La Transmisin De Datos.
BuenasTareas.com. Recuperado 07, 2010, de
http://www.buenastareas.com/ensayos/Detecci%C3%B3n-y-Correcci%C3%B3n-
De-Errores-En/511427.html

You might also like