Sei sulla pagina 1di 10

c 

à  
    

à  
   
La  
    (abreviado,  ) es un método de control de
integridad de datos de fácil implementación. Es el principal método de detección de errores
utilizado en las telecomunicaciones.

 
La  
    consiste en la protección de los datos en bloques,
denominados | . A cada trama se le asigna un segmento de datos denominado 


 | (al que se denomina a veces ,   

 

| , en el caso
de una secuencia de 32 bits, y que en ocasiones se identifica erróneamente como ). El

 contiene datos redundantes con la trama, de manera que los errores no sólo se
pueden detectar sino que además 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  se puede representar como un polinomio, como
se muestra a continuación:

0   0   0 


  0  0  0

  0

  

[e esta manera, la secuencia de bits con menos peso (aquella que se encuentra más 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 (£ ), y así sucesivamente. Luego, una
secuencia de  bits forma un polinomio de grado máximo . Todas las expresiones de
polinomios se manipulan posteriormente utilizando un módulo 2.
En este proceso de detección de errores, un polinomio predeterminado (denominado
î  
  y abreviado G(X)) es conocido tanto por el remitente como por el
destinatario. El remitente, para comenzar el mecanismo de detección 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 cálculo a fin de verificar la
validez del CRC.

x  
[igamos 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 bits. El CRC es el siguiente:
M'(X)/G(X)=0. Por lo tanto, el código CRC es igual al remanente de la división polinomial
de M(X) (X) (al que se le ha anexado los bits nulos que corresponden a la longitud del
CRC) entre G(X).

Por ejemplo: tomemos el mensaje  con los siguientes 16 bits: 





(denominado  en hexadecimal). Tomemos G(X) = X3 + 1 (representado en el sistema
binario por ). Siendo que G(X) tiene un grado , el resultado es añadirle a M  bits
nulos: . El CRC es igual al remanente de M dividido por G :

0000000000000
00

000
0000

000
0000

000
00

 
 00
 
 00
 00
 
 0
 00
 
 000
 0000
 
 000
  00
  
  0000
  00
  
  
  00
  
  00
  00
  
   00
   00
   
   00
   00
   
   00
   0000
   
   00
   00
   
    00
    00
    
    00

Para crear M' se debe concatenar el CRC resultante con los bits de la trama que se va a
transmitir:

00000000000
00000000000

Por lo tanto, si el destinatario del mensaje divide M' por G, obtendrá un remanente de cero
si la transmisión ocurrió sin errores.

00000000000
00

000
0000

000
00

000
0000

 00
 0000
 
 00
 00
 
 00
 0000
 
 0
 00
 
  00
  00
  
  0
  0000
  
  0
  00
  
  
  00
  
   00
   00
   
   00
   00
   
   00
   0000
   
   0
   00
   
    00
    00
    
    0

     
Los polinomios generadores más comunes son:

ë : X12 + X11 + X3 + X2 + X + 1


ë : X16 + X15 + X2 + 1
ë à: X16 + X12 + X5 + 1
(este código se utiliza en el procedimiento  )
32 26 23 22 16 12 11 10 8 7
ë  (  ): = X + X + X + X + X + X + X + X + X + X +
5 4 2
X +X +X +X+1
24 23 17 16 15 13 11 10 9 8 5 3
ë xx: X + X + X + X + X + X + X + X + X + X + X + X +
1

6  

Para poder recuperar los datos perdidos es
necesario emplear códigos altamente
redundantes, de esta forma, la utilización
efectiva del canal de transmisión se reduce
considerablemente. Es necesario pues, que el
receptor disponga de los mecanismos
necesarios (Hardware) para recuperar la
información a través de los datos corruptos que
le llegan.

O  
   

Este tipo de códigos se caracteriza por repetir la


información 3 veces. Si una información
cualquiera está codificada en n bits, se forma un
nuevo código 3*n bits, en donde A está repetido
3 veces. Al analizar la información transferida se
decide si es correcta según el número de veces
que coincida las 3 secuencias.

O  
   

Con este nombre se conoce a un conjunto de


códigos correctores de error en k dígitos
binarios; donde k es un número natural
arbitrario. En estas líneas trataremos solo el
caso de k=1, es decir, códigos de Hamming de
orden uno.
Este código se construye a partir de uno de n
dígitos binarios de distancia mínima uno. Estos
n dígitos formarán dentro del código de
Hamming los dígitos binarios de datos. A
continuación añadiremos p dígitos binarios
llamados dígitos de control. Por lo tanto el
código formado (código de Hamming) tendrá
una longitud de l=n+p dígitos. La numeración
de los dígitos se realiza de la forma habitual
pero comenzando por uno, es decir: bn+p bn+p-
1... b2 b1.

Los dígitos de control ocuparán las posiciones


iguales a las potencias exactas de dos, es decir
bj con j=20, 21,...,2p-1. De aquí deducimos que
el número p debe ser el natural más pequeño
que satisfaga la siguiente desigualdad:

2p>=n+p+1

El valor que alcanzan estos códigos binarios ,


surge de establecer p controles de paridad
sobre determinadas subcombinaciones del
código. Para ello se siguen sistemáticamente
estos pasos:
Se renombran eventualmente los dígitos
binarios de control como: cp cp-1 ... c2 c1. Donde
cj = b2j-1 (j=1,2,....p).
Se halla la codificación en binario natural de
cada una de las posiciones dentro del código a
través de los dígitos binarios: cp cp-1...c2 c1.
El dígito binario cj establecerá un control de
paridad (par o impar) sobre la subcombinación
formada por las posiciones, que codificadas en
el punto anterior, posean un uno en dicho dígito
binario cj.
à           
       

‘   ‘    


  ‘
 

ë         !"#$%  


#$    & !"   
ë '      "(#(#$($
ë       &     ) 
    

         


 ‘ "%#%$ $!"$
 **$ # "#
 *$* " !
 *$$
 $**
 $*$
 $$*
 $$$

+          

 ddd
dddd
******

*
****$$

$
**$$**

$
**$$$$

*
*$*$*$

*
*$*$$*

$
*$$**$

$
*$$*$*

*
 $**$*$
$
$**$$*
º
*
$*$**$

*
$*$*$*

$
$$****

$
$$**$$

*
$$$$**

*
$$$$$$

$
  
 




r      r

r         r 

Potrebbero piacerti anche