Para proteger los canales lógicos de los errores de transmisión introducidos por la ruta de radio, se utilizan muchos esquemas de codificación diferentes. El siguiente diagrama ilustra el proceso de codificación para canales de voz, control y datos; la secuencia es muy compleja.
Los esquemas de codificación y entrelazado dependen del tipo de canal lógico a codificar. Todos los canales lógicos requieren alguna forma de codificación convolucional, pero como las necesidades de protección son diferentes, las velocidades de código también pueden diferir.
Tres esquemas de protección de codificación:
Codificación del canal de voz
La información de voz de un bloque de voz de 20 ms se divide en ocho ráfagas GSM. Esto garantiza que, si se pierden ráfagas debido a interferencias en la interfaz aérea, la voz aún se pueda reproducir con precisión.
Codificación de canal de control común
20 ms de información por aire transportarán cuatro ráfagas de información de control, por ejemplo BCCH. Esto permite que las ráfagas se inserten en una multitrama TDMA.
Codificación del canal de datos
La información de los datos se distribuye en 22 ráfagas. Esto se debe a que cada bit de información de datos es muy importante. Por lo tanto, cuando los datos se reconstruyen en el receptor, si se pierde una ráfaga, sólo se perderá una proporción muy pequeña del bloque de datos de 20 ms. Los mecanismos de codificación de errores deberían permitir entonces reconstruir los datos faltantes.
Comprendamos cada uno en detalle.
Codificación del canal de voz
La BTS recibe voz transcodificada a través de la interfaz A-bis desde el BSC. En este punto, el BTS organiza el discurso en sus canales lógicos individuales. Estos canales lógicos de información luego se codifican antes de transmitirse a través de la interfaz aérea.
La información de voz transcodificada se recibe en tramas, cada una de las cuales contiene 260 bits. Los bits de voz se agrupan en tres clases de sensibilidad a los errores, dependiendo de su importancia para la inteligibilidad del habla.
- Clase 1a
Tres bits de paridad se derivan de los 50 bits de clase 1a. Los errores de transmisión dentro de estos bits son catastróficos para la inteligibilidad de la voz; por lo tanto, el decodificador de voz es capaz de detectar errores incorregibles dentro de los bits de clase 1a. Si hay errores de bit de clase 1a, normalmente se ignora todo el bloque.
- Clase 1b
Los 132 bits de clase 1b no se verifican por paridad, pero se alimentan junto con los bits de clase 1a y de paridad a un codificador convolucional. Se agregan cuatro bits de cola que configuran los registros en el receptor a un estado conocido para fines de decodificación.
- Clase 2
Los 78 bits menos sensibles no están protegidos en absoluto. El bloque de 456 bits resultante se entrelaza antes de enviarse por la interfaz aérea.
Codificación del canal de control
El siguiente diagrama muestra el principio de protección contra errores para los canales de control. Este esquema se utiliza para todos los canales de señalización lógica, el canal de sincronización (SCH) y la ráfaga de acceso aleatorio (RACH). El diagrama se aplica a SCH y RACH, pero con números diferentes.
Cuando la BTS recibe información de control, se recibe como un bloque de 184 bits. Estos bits se protegen primero con un código de bloque cíclico de una clase conocida como código de incendio. Esto es particularmente adecuado para la detección y corrección de errores de ráfaga, ya que utiliza 40 bits de paridad. Antes de la codificación convolucional, se agregan cuatro bits de cola que configuran los registros en el receptor a un estado conocido para fines de decodificación.
La salida del proceso de codificación para cada bloque de 184 bits de datos de señalización es de 456 bits, exactamente igual que para la voz. El bloque de 456 bits resultante se entrelaza antes de enviarse por la interfaz aérea.
Codificación del canal de datos
El siguiente diagrama muestra el principio de protección contra errores para el canal de datos de 9,6 kbit/s. Los demás canales de datos con velocidades de 4,8 kbit/s y 2,4 kbit/s están codificados de forma ligeramente diferente, pero el principio es el mismo.
Los canales de datos se codifican utilizando únicamente un código convolucional. Con los datos de 9,6 kbit/s, es necesario eliminar (puntuar) algunos bits codificados antes del entrelazado, de modo que, al igual que los canales de voz y control, contengan 456 bits cada 20 ms.
Los canales de tráfico de datos requieren una tasa neta más alta (‘tasa neta’ significa la tasa de bits antes de que se hayan agregado los bits de codificación) que su tasa de transmisión real . Por ejemplo, el servicio de 9,6 kbit/s requerirá 12 kbit/s, porque también deben transmitirse señales de estado (como el RS-232 DTR (Terminal de datos listo)).
La salida del proceso de codificación para cada bloque de 240 bits de tráfico de datos es de 456 bits, exactamente lo mismo que para voz y control. El bloque de 456 bits resultante se entrelaza antes de enviarse por la interfaz aérea.