Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Deteccin de errores
Es una importante practica para el mantenimiento e integridad de los datos a travs de
diferentes procedimientos y dispositivos.
Redundancia
Es aquella parte del mensaje que seria innecesaria en ausencia de errores (es decir, no
aporta informacin nueva: solo permite detectar errores).
Tipos de comprobacin de redundancia.
Verificacin de redundancia vertical (VRC,Vertical Redundancy Check conociad como
verificacin de paridad)
Verifiacion de redundancia longitudinal (LRC) longitudinal Redundancy Check
Verifiacion de redundancia cclica (CRC) Cyclic Redundandy Check
La CRC fue inventada y propuesta por W. Wesley Peterson en un artculo publicado en 1961.
El CRC son un potente sistema muy usado en comunicaciones y en dispositivos de hardware para
detectar si la informacin esta corrupta (daada)
Polinomios generadores
Uno de los polinomios generadores que mas se suelen utilizar es el estndar CCITT:x16+x12+x5+1
100% de errores en rfagas (en una serie sucesiva de bits) de 16 o menos bits.
Cdigo CRC
El cdigo CRC o de comprobacin de redundancia cclica tiene como finalidad agregar bits
redundantes al final de la transmisin.
Los n bits que se transmitan se toman como los coeficientes un polinomio de grado n-1.
Funcionamientos de CRC
A cada bloque de datos le corresponde una secuencia fija de nmeros binarios conocida como
cogido CRC.
El CRC se utiliza como una deteccin de errores de cdigo, el cual tiene una serie de aplicaciones
usadas cuando se implementa mediante normas convirtindolo as en un sistema practico
Algunas de sus aplicaciones:
Concepto
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 + 1*X + 1*X + 0*X + 1*X + 0*X + 1*X + 0*X + 0*X + 1*X
9 8 7 6 5 4 3 2 1 0
siendo
X + X + X + X + X
8 7 5 3 0
o
X + X + X + X + 1
8 7 5 3
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), (X0 = 1), el 4 bit de la derecha
representa el grado 3 del polinomio (X3), 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.
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) = X3 + 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..,.,.,.....
1001..,.,.,.....
----..,.,.,.....
1100.,.,.,.....
1001.,.,.,.....
----.,.,.,.....
1101,.,.,.....
1001,.,.,.....
----,.,.,.....
1000.,.,.....
0000.,.,.....
----.,.,.....
10001......
1001,.,.....
----,.,.....
10000.,.....
1001.,.....
----
1111,.....
1001,.....
----,.....
1100.....
1001.....
----.....
1100....
1001....
----....
1010...
1001...
----...
0110..
0000..
----..
1100.
1001.
----.
1010
1001
----
0011
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..,.,.,.....
0000..,.,.,.....
----..,.,.,.....
1010.,.,.,.....
1001.,.,.,.....
----.,.,.,.....
0110,.,.,.....
0000,.,.,.....
----,.,.,.....
1101.,.,.....
1001.,.,.....
----.,.,.....
1010,.,.....
1001,.,.....
----,.,.....
0111.,.....
0000.,.....
----
1110,.....
1001,.....
----,.....
1111.....
1001.....
----.....
1100....
1001....
----....
1010...
1001...
----...
0110..
0000..
----,,
1101,
1001,
----,
1001
1001
----
0
Polinomios generadores
Los polinomios generadores ms comunes son:
CRC-12: X12 + X11 + X3 + X2 + X + 1
CRC-16: X16 + X15 + X2 + 1
CRC CCITT V41: X16 + X12 + X5 + 1
(este cdigo se utiliza en el procedimiento HDLC)
CRC-32 (Ethernet): = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X +
1
CRC ARPA: X24 + X23+ X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1