Come funzionano i telefoni cellulari? – B-log(0) :B-log(0)
Dopo 3 anni di blog è giunto il momento di scrivere qualcosa correlato al mio lavoro di tutti i giorni: le telecomunicazioni (beh in realtà qualcosa di attinente l’avevo già letto: il post sulla serie di Fourier…).
Sono solo una dozzina d’anni o poco più che tutti usiamo il celluare e già non ci facciamo più caso, diamo per scontato che funzioni e anzi ci incazziamo quando non “prende”.
Ben pochi hanno una vaga idea di come funziona veramente la rete cellulare e praticamente nessuno è davvero interessato a saperlo, abituati come siamo ad usare degli oggetti sofisticatissimi senza farci troppe domande.
Beh, per quel praticamente nessuno che è comunque interessato a capirne qualcosa di più, butto giù qualche riga introduttiva al mondo dei telefoni cellulari, partendo dalla conversione audio/bit quando parliamo dentro al microfono fino a quando il nostro interlocutore risponderà dall’altro lato della telefonata.
Se vi piace l’argomento c’è da scriverne per parecchi post, fatemi sapere tramite i commenti.
GSM, 3G… di cosa stiamo parlando?
Due parole velocissime sulla storia dei cellulari…
se il 3G (UMTS) è la terza generazione e almeno di nome la conoscono tutti (ogni smartphone si connette in 3G), e se la seconda generazione è il precedente e arci-noto GSM (ogni cellulare precedente agli smartphone funzionava in 2G), chi ha mai sentito parlare di 1G, la prima generazione?
Probabilmente nessuno ma è stata usata, soprattutto in Giappone e nord Europa, all’inizio degli anni ’80. Era una tecnologia decisamente inadatta alla trasmissione senza fili visto che non era digitale ma analogica, quindi la protezione e la correzione degli inevitabili errori di trasmissione era davvero minima.
Vi dirò di più, c’è stata pure la generazione zero, quelle specie di cabine telefoniche portatili che si vedono sui camion in certi telefilm americani… Roba da anni sessanta, quelle erano più delle radio che dei telefoni, comunque molti li considerano i progenitori dei cellulari perciò… mi sembra giusto farvi vedere una foto commemorativa:
Come si passa dalla voce al bit?
Facciamola semplice: pensate che la voce è un’onda, e quest’onda va a colpire il microfono con una certa energia e pressione (dopotutto noi parlando spostiamo semplicemente l’aria!).
Il microfono non è nient’altro che un rilevatore e convertitore di pressione sonora in segnale elettrico.
La conversione può avvenire in molti modi, in base al tipo di microfono… ma possiamo farci un’idea pensando ad una superficie che viene fatta vibrare dalle nostre onde sonore e, muovendosi, cambia la capacità di un circuito che genera un segnale elettrico variabile nel tempo, che riflette proprio l’energia dell’onda in arrivo.
Una volta trasformata l’onda in segnale elettrico, questo segnale viene “campionato”.
Questo significa che l’onda elettrica viene letta tantissime volte al secondo e digitalizzata (vedi immagine): si passa dal mondo analogico al mondo digitale, l’onda viene “spezzata” in tanti punti e può finalmente essere facilmente memorizzata ed eventualmente inviata.
Ogni “punto” dell’onda viene identificato da un insieme di bit (variabile in base alla precisione che si vuole raggiungere) che ne indica la posizione rispetto al punto massimo e il minimo dell’onda.
La perdita di informazione rispetto al segnale originario è minima o addirittura zero, come dimostra il teorema di Nyquist (link wiki).
Ora che abbiamo portato la nostra voce in bit possiamo lasciare il mondo delle onde e dei segnali elettrici e passare all’informatica: i bit infatti vengono elaborati dal microprocessore del cellulare prima di essere inviati verso l’antenna.
Che diavolo fa il processore del cellulare?
Oltra a consumarvi completamente la batteria il processore del cellulare fa un sacco di cose… per fortuna (altrimenti non avrei un lavoro 🙂 ).
Infatti con i bit “grezzi” che rappresentano l’onda ci si può fare poco, magari salvarli su CD o convertirli in qualche altro formato audio… ma se si vuole mandarli senza fili verso un antenna a qualche km di distanza, magari viaggiando su un’auto a 120km/h mentre siete in mezzo ad un bosco e magari piove pure… beh in quel caso bisogna decisamente proteggere i bit in modo che sia possibile recuperare dai tanti problemi a cui andranno incontro nel loro tragitto nell’aria.
Il modo migliore per farlo (ma non l’unico) è la codifica dei dati.
La codifica consiste nell’aggiungere ai bit di informazione altri bit che dipendono dai primi e consentono di recuperare l’informazione originale anche quando quest’ultima è decisamente danneggiata. Aumentando il numero di bit di protezione, si aumenta la probabilità che l’informazione non venga persa nel tragitto, ma allo stesso tempo si diminuisce anche il numero di bit che vengono inviati al secondo.
Ecco perchè quando il telefono “prende male” la connessione è così lenta… perchè si aumentano i bit di protezione!!
Ad esser precisi, piuttosto che aumentare a dismisura il numero di bit di protezione in genere si introducono tecniche di ritrasmissione del messaggio (l’antenna manda un messaggio dicendo di aver perso il messaggio X e ne chiede il reinvio).
Per aiutare l’antenna a capire che “viaggio” stia facendo il segnale in aria vengono anche aggiunti dei bit di riferimento, conosciuti a priori dall’antenna… questo permette di attuare astute tecniche di recupero del segnale.
Infatti il segnale telefonico, inviato dal vostro telefono in tutte le direzioni attorno a voi, prima di giungere a destinazione può percorrere moltissime strade e viene riflesso di continuo da case, montagne, alberi, e anche dai vari strati dell’atmosfera terrestre, in base all’angolazione con cui la colpisce.
Attenzione, non è che il segnale percorrerà UNA di queste traiettorie, non è così facile… dato che il segnale viene inviato in tutte le direzioni, esso segue migliaia di possibili traiettorie fino ad arrivare al ricevitore in istanti diversi e con potenze diverse, sfasato e sporcato da tutte le interferenze che ha trovato nel tragitto.
Il ricevitore ha un bel da fare per ricostruire i bit… quindi la prossima volta che siete in montagna dentro una casa con mura spesse 40cm e il video dei gattini che avete trovato su youtube si carica lentamente, pensateci su prima di arrabbiarvi 🙂
Come fanno i cellulari a ricevere ed inviare il segnale?
Una singola antenna può inviare e ricevere centinaia di segnali telefonici, uno sovrapposto all’altro… e i cellulari possono inviare dati nello stesso momento a pochi centimetri di distanza, senza interferire tra loro.
Com’è possibile? Dipende molto dalla tecnologia.
Nel GSM (2G), ogni cellulare ha delle piccole porzioni di tempo in cui inviare/ricevere dei dati, e altre in cui deve stare fermo (così che gli altri possano inviare e ricevere a loro volta). In questo modo i telefoni hanno periodi di “riposo” che non consentono di trasmettere a grandi velocità ma danno respiro alla batteria, che così può durare anche una settimana (bei ricordi!).
Nel 3G, molto più veloce, tutti i cellulari mandano e ricevono contemporaneamente e anche alla stessa frequenza, così i segnali si sovrappongono uno all’altro… questo permette di inviare tanti dati, ma come evitare l’interferenza?
Semplice: i diversi flussi di informazione prima di essere inviati vengono moltiplicati per delle sequenze di bit, detti codici, che sono ortogonali tra loro (indipendenti tra loro in modo matematicamente particolare… ).
L’antenna, che riceverà tutti i segnali sovrapposti uno all’altro, potrà isolarli uno ad uno moltiplicando a sua volta il segnale ricevuto per il codice ortogonale, che ovviamente è diverso per ogni mobile servito dall’antenna.
Ovviamente questi codici sono fatti in modo matematicamente molto astuto, in modo tale che per ogni codice usato un solo segnale (quello del mobile corrispondente) avrà dei valori molto buoni (e verrà decodificato con successo), mentre tutti gli altri segnali tenderanno a zero diventando così del semplice rumore di fondo.
Per ora fermiamoci qui: per maggiori informazioni sui codici di Walsh, vedete wikipedia.