Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
15Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Deteccion y Correccion de Errores

Deteccion y Correccion de Errores

Ratings: (0)|Views: 1,940|Likes:
Published by Renzo_Andre_7963

More info:

Published by: Renzo_Andre_7963 on Jan 08, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, DOCX, TXT or read online from Scribd
See More
See less

06/18/2013

pdf

text

original

 
ALGORITMO DE CORRECCION Y DETECCION DEERRORES
INTRODUCCION
Lacomunicaciónentre variascomputadorasproduce continuamente un movimiento de datos, generalmente porcanalesno diseñados para estepropósito (línea telefónica), y que introducen unruidoexterno que produceerrores en la transmisión.Por lo tanto, debemos asegurarnos que si dicho movimiento causa errores,éstos puedan ser detectados. El método para detectar y corregir errores esincluir en los bloques de datos transmitidosbitsadicionalesdenominadosredundancia.Se han desarrollado dos estrategias básicas para manejar los errores:Incluir suficiente información redundante en cada bloque de datos para quese puedan detectar y corregir los bits erróneos. Se utilizan
códigos decorrección de errores
.Incluir sólo la información redundante necesaria en cada bloque de datospara detectar los errores. En este caso el número de bits de redundancia esmenor. Se utilizan
códigos de detección de errores
.Si consideramos un bloque de datos formado por
m
bits de datos y
r
deredundancia, la longitud final del bloque será
n
, donde
n
=
m
+
r
.
TIPOS DE DETECTORESParidad simple (paridad horizontal)
 
Consiste en
añadir un bit de más a la cadena que queremos enviar
, yque nos indicará si el número 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 incluiremoscon valor = 1.
Ejemplo de generación de un bit de paridad simple:Queremos enviar la cadena “1110100”:1º Contamos la cantidad de
unos
que hay: 4
unos
2º El número de
unos
es par por tanto añadimos un bit con valor = 03º La cadena enviada es 1110100
El receptor ahora, repite la operación de contar la cantidad de “unos” quehay (menos el último bit) y si coincide, es que no ha habido error.
Problemas de este método:
Hay una alta probabilidad de que se
cuelen
casos en los que ha habidoerror, y que el error no sea detectado, como ocurre si se cambian dosnúmeros en la transmisión en vez de uno.
Paridad cruzada (paridad horizontal-vertical)
 
Para mejorar un poco el método anterior, se realiza una paridad que afectetanto a los bits de cada cadena o
 palabra
como a un conjunto de todos ellos.Siempre se utilizan cadenas relativamente cortas para evitar quese
cuelen
muchos errores.Para ver más claro este método, se suelen agrupar los bits en una matriz deN filas por K columnas, luego se realizan todas las paridades horizontalespor el todo anterior, y por último, se hace las misma operacn decalcular el número de
unos
, pero ahora de cada columna.La probabilidad de encontrar
un
solo error es la misma, pero en cambio, laprobabilidad de encontrar un número par errores ya no es cero, como en elcaso anterior. Aun así, existen todavía una gran cantidad de errores
nodetectables
Un ejemplo de paridad cruzada (o de código geométrico)1º Tenemos este código para transmitir: 11001011110101100101110101102º Agrupamos el código en cada una de las palabras, formando una matriz de N xK:11001011110101100101110101103º Añadimos los bits de paridad horizontal:1100101 01110101 11001011 01010110 04º Añadimos los bits de paridad vertical:1100101 01110101 11001011 01010110 00001101 1
Una vez creada la matriz, podemos enviar ésta por filas, o por columnas.Enviando las palabras por columnas aumentamos la posibilidad de corregiruna palabra que haya sufrido un error de ráfaga (errores que afectan avarios bits consecutivos, debidos a causas generalmente electrónicas,como
chispazos
, y que harían que se perdiera toda una palabra completa).
Códigos de redundancia cíclica también llamados CRC
Intentando mejorar los digos que lo controlan la paridad de bit,aparecen losdigos clicos. Estos códigos utilizan laaritmética  modularpara detectar una mayor cantidad de errores, se usan operacionesen módulo 2 y las sumas y restas se realizan sin acarreo (convirtiéndose enoperaciones de tipoOr-Exclusivo o XOR). Además, para facilitar los cálculosse trabaja, aunque sólo teóricamente, conpolinomios.La finalidad de este método es crear
una parte de redundancia la cualse añade al final del código a transmitir
(como en los métodos de
 
paridad) que siendo la más pequeña posible, detecte el mayor número deerrores que sea posible.Pero además de esto, debe ser un métodosistemático, es decir, que con unmismo código a transmitir (y un mismopolinomio generador) se generesiempre el mismo código final.
El polinomio generador
:es un polinomio elegido previamente y que tienecomo propiedad minimizar la redundancia. Suele tener una longitud de 16bits, para mensajes de 128 bytes, lo que indica que la eficiencia es buena. Ya que sólo incrementa la longitud en un aproximado 1,6%.
(16
bits
/ (128
bytes
* 8
bitsporbyte
)) * 100 = 1,5625
Un ejemplo de polinomio generador usado normalmente en lasredesWANes:
g
(
 x 
) =
 x 
16
+
 x 
12
+
 x 
5
+ 1Los cálculos que realiza el equipo transmisor para calcular su CRC son:
Añade tantos ceros por la derecha al mensaje original como el gradodel polinomio generador
Divide el mensaje con los ceros incluidos entre el polinomiogenerador
El resto que se obtiene de la división se suma al mensaje con losceros incluidos
Se envía el resultado obtenido
Estas operaciones generalmente son incorporadas enelhardwarepara que pueda ser calculado con mayor rapidez, pero enla teoría se utilizan los polinomios para facilitar los cálculos.
Ejemplo de obtención del CRC:Datos:Mensaje codificado en binario: 1101001Polinomio generador:
4
+
+ 1Operaciones:1º Obtener el polinomio equivalente al mensaje:
6
+
5
+
3
+ 1Multiplicar el mensaje por
4
(añadir 4 ceros por la derecha):
10
+
9
+
7
+
4
3º Dividir en binario el mensaje por el polinomio generador y sacar el resto:
2
+ 14º Concatenar el mensaje con el resto (en módulo 2 también):
10
+
9
+
7
+
4
+
2
+ 15º Transmitir el mensaje
El equipo receptor debe comprobar el código CRC para detectar si se hanproducido o no errores.
Ejemplo de los cálculos del receptor:1º Mediante el protocolo correspondiente acuerdan el polinomio generador2º Divide el código recibido entre el polinomio generador3º Comprueba el resto de dicha operación

Activity (15)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Dennys Aucancela liked this
Pinto Xavy liked this
gatoasr liked this
Edu Tsu'x Mym liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->