CDMA

Quando due host condividono un canale di comunicazione è necessario un protocollo che ne regoli l'accesso. Nel capitolo 6 abbiamo visto tra classi di questi protocolli:

  • a suddivisone di canale
  • ad accesso a casuale
  • a rotazione.
    CDMA (code division multiple access, accesso multiplo a divisione di codice) appartiene alla famiglia dei protocolli a suddivisione di canale. CDMA è il protocollo di accesso a canale condiviso più utilizzato nelle reti wireless e nelle tecnologie cellulari.
    In CDMA ogni bit da inviare è codificato moltiplicandolo per una sequenza di bit (codice) molto lunga. Quindi invece di un solo bit, si trasmettono molti bit che non è altro che il codice modificato. Il codice modificato, come abbiamo detto, è ottenuto moltiplicandolo per il bit da inviare. Il codice cambia con una certa frequenza (detta chipping rate), tale frequenza è di molto superiore rispetto a quella con cui variano i bit dei dati da inviare. Questo vuole semplicemente dire che la frequenza con cui cambiano i bit dei dati da inviare (che sono funzione dei dati che il mittente vuole trasmettere), variano con una frequenza molto inferiore rispetto al chipping rate che è la frequenza con cui cambiano i bit del codice CDMA.
    Pasted image 20231030113530.png
    La figura riporta uno scenario di codifica/decodifica CDMA. Supponiamo che il tasso trasmissivo dei bit dei dati originali (inviati dal mittente) definisca l'unità di tempo, e quindi il tempo richiesto per la trasmissione di un bit sia di uno slot temporale.
    Sia il valore dello slot .
    Per comodità rappresenteremo con -1 il bit 0.
    Ogni slot è suddiviso in mini slot. Nella figura abbiamo . Nella pratica è molto più grande.
    Il codice CDMA usato da chi invia è una serie di valori. Un codice CDMA lo definiremo come . Per un certo utente , ha un codice , (che varia da a ). Ciascun elemento del codice possono essere 1 o -1. Il codice CDMA () del trasmittente in figura è .
    Per illustrare CDMA ci concentriamo sul bit di dati generico.
Per comprendere bene

Ogni trasmittente ha un codice CDMA.
Ogni trasmittente invia bit di dati. Abbiamo supposto che il tempo sia scandito dalla velocità di trasmissione e che dunque ciascun bit sia uno slot a sé stante. Ogni bit lo abbiamo indicato con . Il codice CDMA è lungo , ci riferiamo al codice di un utente con . Il bit trasmesso viene moltiplicato per il codice . Questo ci fa ottenere .
In figura si vede infatti che il primo bit da trasmettere ha valore pari a 1. Tale bit viene moltiplicato per il codice per ottenere . In questo caso non cambia, poiché il viene moltiplicato per .

In un mondo dove non ci sono interferenze, il ricevente si vedrebbe recapitare i bit codificati e per ricostruire i bit di dati originali calcola:
Ovvero moltiplica per ogni bit del codice e ne fa la somma, dividendo tutto alla fine per la dimensione del codice .
Se viene trasmesso , allora il destinatario moltiplicherà il bit m-esimo di per il rispettivo bit m-esimo di , facendo via via la somma, ottenendo:questo risultato viene poi diviso per che è il bit inviato dal trasmittente.

Il mondo però è tutt'altro che perfetto e CDMA deve operare in presenza d'interferenze dovute ad altri mittenti che codificano e trasmettono i loro dati con un codice diverso. Quindi si immagini di avere altri mittente, ognuno col suo codice univoco che trasmette dati.

Come fa un ricevente CDMA a ricostruire i bit di dati originali se questi sono stati combinati con quelli di un altro trasmittente?

CDMA opera nell'ipotesi che i segnali trasmessi con interferenza siano cumulativi. Questo vuol dire, per esempio, che se tre trasmittenti inviano un valore 1 e il quarto invia un valore -1 durante lo stesso mini slot, allora il segnale ricevuto sarà 2, poiché . In presenza di trasmittenti multipli, il trasmittente calcola la sua trasmissione codificata , esattamente come mostrato nella formula . Il valore che giunge a un ricevente durante l'm-esimo mini slot dell'i-esimo slot di bit è ora la somma dei bit inviati da tutti gli trasmittenti durante quel mini slot:

In un certo senso vengono effettuate le somme dei bit trasmessi in un certo mini slot, ovvero se il bit trasmesso e codificato con CDMA è dove con come potenza indichiamo il primo trasmittente, ipotizzando di avere un secondo trasmittente, avviene che ogni mini slot risultante da altri trasmittenti (relativi ad un certo bit ) viene sommato con il mini slot del primo trasmittente, come si vede nella figura in basso.
Pasted image 20231030130139.png
Il ricevente, dunque riceve la somma dei mini slot di tutte le trasmissioni (in questo caso due mittenti), questa somma è indicata con . Il destinatario decodifica allo stesso modo di prima, tuttavia, se vuole ottenere il messaggio del primo trasmittente utilizza il codice CDMA di quel trasmittente, altrimenti utilizzerà quello dell'altro. Nell'esempio in figura viene utilizza il codice .
L'analisi relativa a CDMA è necessariamente sintetica, nella pratica è molto più complicato di quanto abbiamo descritto. Ciò che è fondamentale capire e che i codici CDMA devono essere scelti accuratamente.