Come codificare i canali del percorso radio nel GSM

Per proteggere i canali logici dagli errori di trasmissione introdotti dal percorso radio, vengono utilizzati molti schemi di codifica diversi. Il diagramma seguente illustra il processo di codifica per i canali vocali, di controllo e dati; la sequenza è molto complessa.

Gli schemi di codifica e di interleaving dipendono dal tipo di canale logico da codificare. Tutti i canali logici richiedono una qualche forma di codifica convoluzionale, ma poiché le esigenze di protezione sono diverse, anche le velocità di codice possono differire.

Tre schemi di protezione della codifica:

Codifica del canale vocale

Le informazioni vocali per un blocco vocale da 20 ms sono suddivise in otto burst GSM. Ciò garantisce che, se i burst vengono persi a causa di interferenze sull’interfaccia aerea, il parlato possa comunque essere riprodotto accuratamente.

Codifica canale di controllo comune

20 ms di informazioni via etere trasporteranno quattro raffiche di informazioni di controllo, ad esempio BCCH. Ciò consente di inserire i burst in un multiframe TDMA.

Codifica canale dati

Le informazioni sui dati sono distribuite su 22 burst. Questo perché ogni bit di informazione sui dati è molto importante. Pertanto, quando i dati vengono ricostruiti presso il ricevitore, se un burst viene perso, solo una parte molto piccola del blocco di dati da 20 ms andrà persa. I meccanismi di codifica degli errori dovrebbero quindi consentire la ricostruzione dei dati mancanti.

Radio Path Channel Encoding in GSM

Comprendiamoli in dettaglio.

Codifica del canale vocale

Il BTS riceve il parlato transcodificato tramite l’interfaccia A-bis dal BSC. A questo punto il discorso viene organizzato nei suoi singoli canali logici dai BTS. Questi canali logici di informazioni vengono quindi codificati prima di essere trasmessi tramite l’interfaccia aerea.

Le informazioni vocali transcodificate vengono ricevute in frame, ciascuno contenente 260 bit. I frammenti del parlato sono raggruppati in tre classi di sensibilità agli errori, a seconda della loro importanza per l’intelligibilità del parlato.

  • Classe 1a

Tre bit di parità derivano dai 50 bit di classe 1a. Gli errori di trasmissione all’interno di questi bit sono catastrofici per l’intelligibilità del parlato, pertanto il decodificatore vocale è in grado di rilevare errori non correggibili all’interno dei bit di classe 1a. Se sono presenti errori di classe 1a bit, l’intero blocco viene solitamente ignorato.

  • Classe 1b

I 132 bit di classe 1b non vengono controllati di parità, ma vengono inviati insieme ai bit di classe 1a e di parità a un codificatore convoluzionale. Vengono aggiunti quattro bit di coda che impostano i registri nel ricevitore su uno stato noto per scopi di decodifica.

  • Classe 2

I 78 bit meno sensibili non sono affatto protetti. Il blocco risultante da 456 bit viene quindi intercalato prima di essere inviato tramite l’interfaccia aerea.

Speech Channel Encoding

Controlla la codifica del canale

Lo schema seguente mostra il principio della protezione dagli errori per i canali di controllo. Questo schema viene utilizzato per tutti i canali di segnalazione logici, il canale di sincronizzazione (SCH) e il burst di accesso casuale (RACH). Il diagramma si applica a SCH e RACH, ma con numeri diversi.

Quando le informazioni di controllo vengono ricevute dal BTS, vengono ricevute come un blocco di 184 bit. Questi bit vengono innanzitutto protetti con un codice a blocco ciclico di una classe nota come Fire Code, particolarmente adatto per il rilevamento e la correzione di errori burst, poiché utilizza 40 bit di parità. Prima della codifica convoluzionale, vengono aggiunti quattro bit di coda che impostano i registri nel ricevitore su uno stato noto per scopi di decodifica.

L’output del processo di codifica per ciascun blocco di 184 bit di dati di segnalazione è di 456 bit, esattamente lo stesso del parlato. Il blocco risultante da 456 bit viene quindi intercalato prima di essere inviato tramite l’interfaccia aerea.

Control Channel Encoding

Codifica canale dati

Il diagramma seguente mostra il principio della protezione dagli errori per il canale dati da 9,6 kbit/s. Gli altri canali dati a velocità di 4,8 kbit/s e 2,4 kbit/s sono codificati in modo leggermente diverso, ma il principio è lo stesso.

I canali dati sono codificati utilizzando solo un codice convoluzionale. Con i dati a 9,6 kbit/s alcuni bit codificati devono essere rimossi (punteggiati) prima dell’interlacciamento, in modo che, come i canali vocali e di controllo, contengano 456 bit ogni 20 ms.

Data Channel Encoding

I canali di traffico dati richiedono una velocità netta più elevata (per “velocità netta” si intende il bitrate prima dell’aggiunta dei bit di codifica) rispetto alla velocità di trasmissione effettiva. Ad esempio, il servizio a 9,6 kbit/s richiederà 12 kbit/s, poiché devono essere trasmessi anche i segnali di stato (come ad esempio RS-232 DTR (Data Terminal Ready)).

L’output del processo di codifica per ogni blocco di 240 bit di traffico dati è di 456 bit, esattamente lo stesso del parlato e del controllo. Il blocco risultante da 456 bit viene quindi intercalato prima di essere inviato tramite l’interfaccia aerea.