Está en la página 1de 3

Verificacin de errores

Junio 2014
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).
Por este motivo existen algunos mecanismos que garantizan un nivel de integridad de los datos, es decir, que el destinatario obtiene una confirmacin de
que los datos recibidos son, de hecho, similares a los datos transmitidos. Existen dos maneras de proteger la transferencia de datos para que no se
produzcan errores:
instalando un medio de transmisin ms seguro, es decir, una capa de proteccin fsica. Una conexin convencional tiene, por lo general, un
porcentaje de error entre 10
-5
y 10
-7
.
implementando mecanismos lgicos para detectar y corregir errores.
La mayora de los sistemas de control lgico de errores se basan en la suma de informacin (esto se denomina "redundancia") para verificar la validez de
los datos. Esta informacin adicional se denomina suma de comprobacin.
Verificacin de errores
Se han perfeccionado mejores sistemas de deteccin de errores mediante cdigos denominados:
Cdigos de autocorreccin
Cdigos de autoverificacin
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:
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:
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.
Concepto
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
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.
Aplicaciones prcticas
Digamos que M es el mensaje que corresponde a los bits de la trama que se enviar, y que M(X) es el polinomio relacionado. Supongamos que M' es el
mensaje transmitido, por ejemplo, el mensaje inicial al que se concatena un CRC de n bits. El CRC es el siguiente: M'(X)/G(X)=0. Por lo tanto, el cdigo
CRC es igual al remanente de la divisin polinomial de M(X) (X) (al que se le ha anexado los n bits nulos que corresponden a la longitud del CRC) entre
G(X).
Por ejemplo: tomemos el mensaje M con los siguientes 16 bits: 1011 0001 0010 1010 (denominado B1 en hexadecimal). Tomemos G(X) = X
3
+ 1
(representado en el sistema binario por 1001). Siendo que G(X) tiene un grado 3, el resultado es aadirle a M 4 bits nulos: 10110001001010100000. El
CRC es igual al remanente de M dividido por G :
10110001001010100000
1001...,..,.,.,.....----...,..,.,.,..... 0100..,..,.,.,..... 0000..,..,.,.,..... ----..,..,.,.,..... 1000.,..,.,.,..... 0000.,..,.,.,..... ----.,..,.,.,..... 1000.,..,.,.,..... 1001,..,.,.,..... ----,..,.,.,..... 1111..,.,.,.....
Para crear M' se debe concatenar el CRC resultante con los bits de la trama que se va a transmitir:
M' = 1011000100101010 + 0011
M' = 10110001001010100011
Por lo tanto, si el destinatario del mensaje divide M' por G, obtendr un remanente de cero si la transmisin ocurri sin errores.
10110001001010100011
1001...,..,.,.,...,,----...,..,.,.,...,, 0100..,..,.,.,...,, 0000..,..,.,.,...,, ----..,..,.,.,...,, 1000.,..,.,.,..... 1001.,..,.,.,..... ----.,..,.,.,..... 0010,..,.,.,..... 0000,..,.,.,..... ----,..,.,.,..... 0101..,.,.,.....
Polinomios generadores
Los polinomios generadores ms comunes son:
CRC-12: X
12
+ X
11
+ X
3
+ X
2
+ X + 1
CRC-16: X
16
+ X
15
+ X
2
+ 1
CRC CCITT V41: X
16
+ X
12
+ X
5
+ 1
(este cdigo se utiliza en el procedimiento HDLC)
CRC-32 (Ethernet): = X
32
+ X
26
+ X
23
+ X
22
+ X
16
+ X
12
+ X
11
+ X
10
+ X
8
+ X
7
+ X
5
+ X
4
+ X
2
+ X + 1
CRC ARPA: X
24
+ X
23
+ X
17
+ X
16
+ X
15
+ X
13
+ X
11
+ X
10
+ X
9
+ X
8
+ X
5
+ X
3
+ 1
Error checking Die Fehlerkontrolle Contrle d'erreur (CRC) Il controllo degli errori O controlo de erros
Este documento intitulado Verificacin de errores de Kioskea (es.kioskea.net) esta puesto a diposicin bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones
puestas por la licencia, siempre que esta nota sea visible.

También podría gustarte