CRC-4 (Check Redundancy Ciclic)

     A petición de un usuario y como complemento al artículo G.703 y G704 vamos a detallar el control de errores CRC-4 (Check Redundancy Ciclic-4).
     El CRC es un método para verificar o comprobar la correcta transmisión de un número de bits y para comprobar la alineación de trama. Para llevar a cabo esta verificación se introduce un código de redundancia cíclico de 4 bits en el flujo de 2Mb, utilizando el primer bit de la trama.

     El control de errores se utiliza con varias finalidades:
    • Protección contra falsos alineamientos de trama. Si en algún momento en el proceso de alineación de trama se ha cometido un error y el equipo está mal alineado el CRC fallará (porque el bit que se considera el primero de la trama en realidad no lo es), de este modo se detectan alineamientos falsos a la trama.
    • Monitorización de errores. Controla la BER de un enlace digital extremo a extremo. El CRC se incorpora al crear la trama (en el extremo transmisor) y se mantiene hasta el final, analizándose en el receptor.
    • Protección de flujos de 2M (E1). Protege flujos críticos cuando hay especial interés en que lleguen correctamente. Se manda el flujo duplicado por distintos recorridos y en recepción, basándose en el análisis del CRC, se selecciona el que tenga menos errores.
   
  Formato de una multitrama CRC-4

     Una multitrama CRC4 consiste de 16 tramas numeradas del 0 al 15. Esta multitrama se divide en dos submultitramas (SMF) llamadas SMF0 y SMF1. Una SMF constituirá 2048 bit de datos para el cálculo del código de redundancia cíclica.

     El time-slot 0 de todas las tramas pares contiene dos tipos de información: 
      • Bit 1:CRC4 (código de chequeo de errores de redundancia cíclica de orden 4).
      • Bits 2, 3, 4, 5, 6, 7, 8: palabra de alineamiento de trama.
     La señal de alineamiento de trama es X001 1011 (Situada en los bits de posición 2 a 8 en las tramas pares).

     Veamos un esquema de la multitrama CRC-4:


     Donde:
      • Ci: Bits de detección de error de código (Cyclic Redundancy Check-4)
      • E: Bits indicadores de error CRC-4
      • A: Indicación de alarma remota
      • Si: Canales de servicio. Se pueden utilizar para canal embebido de gestión y para sincronismo
      • TS: Timeslot

     Como se calcula el CRC

     Para el cálculo del CRC-4 se toman 8 tramas consecutivas. El número binario de 2048 bits resultante se nultiplica por X4.
     El resultado se divide por el polinomio X4+X+1 
     El resto de la división es el CRC-4

     Vamos a un ejemplo práctico para hallar el CRC de una transmisión. Imaginemos que queremos transmitir la palabra 'Net':

                                   N                e              t
     Net en binario= 01001110 01100101 01110100
     El polinomio para CRC-4: X4+X+1 (en binario 10011)

     Ahora dividimos, hasta que el dividendo es 0:

     El resto que nos queda será el valor introducido en las posiciones de bit CRC-4 y enviado con la submultitrama siguiente. Con lo que transmitimos los bit a transmitir +  el resultado de la operación (CRC-4):

                    01001110 01100101 01110100 0010

     En el receptor se realiza de nuevo la operación, quitando los bits CRC-4 y sustituyéndolos por ceros. Si el resultado coincide probablemente no ha habido errores.

     Otra forma de verificar que no ha habido errores es realizar las operaciones de división, sin sustituir los bits CRC-4 por 0,  y verificar que el resto es 0:


     Esto es lo que dice la recomendación UIT-T G.704:     _______________________________________________________________________________

2.3.3.5 Verificación por redundancia cíclica (CRC)
   2.3.3.5.1 Proceso de multiplicación/división
     Una palabra CRC-4 específica, situada por ejemplo en la submultitrama N, es el resto que queda
después de multiplicar el polinomio correspondiente a la submultitrama N – 1 por x4 y de dividir el
resultado (en módulo 2) por el polinomio generador x4 + x + 1.

     NOTA 1 – Al representar el contenido del bloque de verificación en forma de polinomio, el primer bit del bloque, o sea, el bit 1 en la trama 0 o el bit 1 en la trama 8, debe ser considerado como el bit más
significativo. De manera similar, se define C1 como el bit más significativo del resto y C4 como el bit menos
significativo del resto.

     NOTA 2 – Puede presentarse la necesidad de actualizar los bits CRC-4 en equipos intermedios que acceden al enlace de datos basado en mensaje por bits Sa4 (véase 2.3.3.5.4).

   2.3.3.5.2 Procedimiento de codificación
     i) Los bits CRC-4 de la SMF se sustituyen por 0 binarios.
     ii) La SMF se somete al proceso de multiplicación/división al que se hace referencia en 2.3.3.5.1.
     iii) Se almacena el resto del proceso de multiplicación/división, que queda listo para ser introducido en las posiciones de bit CRC-4 respectivas de la SMF siguiente.

     NOTA – Los bits CRC-4 generados de esta manera no influyen en el resultado del proceso de
multiplicación/división aplicado en la SMF siguiente porque, tal como se indica en el apartado i), las
posiciones de bit CRC-4 en una SMF se ponen inicialmente a cero en el proceso de multiplicación/división.

   2.3.3.5.3 Procedimiento de decodificación
     i) Una SMF recibida se somete al proceso de multiplicación/división a que se hace referencia en 2.3.3.5.1 después de extraerle los bits CRC-4 y reemplazarlos por 0.
     ii) Se almacena el resto de la división, y a continuación se compara bit por bit con los bits CRC recibidos en la SMF siguiente.
     iii) Si el resto calculado por el decodificador corresponde exactamente a los bits CRC-4  recibidos en la SMF siguiente, se supone que la SMF verificada no contiene errores.
______________________________________________________________________________

1 comentario:

Nota: solo los miembros de este blog pueden publicar comentarios.