Torna alla pagina di Sistemi per l'elaborazione delle informazioni
:: Sistemi per l'elaborazione delle informazioni ::
Lezione 25 Settembre 2007
Segnali
La trasmissione consiste di segnali su reti che portano sequenze di bit. Queste sequenze possono essere dati, files, video etc. etc.
Nei computer i bit sono statici: sono rappresentati fisicamente da cariche immagazzinate in piccoli condensatori nelle varie memorie del computer. La trasmissione invece deve rappresentare questi bit statici nel dominio del tempo, cioè trasmetterli uno dopo l'altro.
Il segnale è una grandezza fisica che varia nel tempo, come le onde (sinusoidali, quadrate, a dente di sega. NOTA: è ovvio che fisicamente non saranno mai onde perfette, perché la perfezione non è di questo mondo etc.etc.
Un segnale è periodico quando si ripete uguale a se stesso dopo un certo periodo di tempo. La frequenza mi dice appunto quante sono le ripetizioni di un segnale nell'arco di un secondo: 1 Hz = 1 ripetizione al secondo. Il periodo è invece il tempo che passa tra l'inizio di una forma d'onda e la sua ripetizione. È l'opposto della frequenza.
Le onde sinusoidali sono proiezioni sull'asse y di un punto sulla circonferenza, il quale punto ruota in senso antiorario.
Un'onda sinusoidale si può determinare univocamente in base ad ampiezza (cioè la lunghzza del raggio, ovvero quanto è alta la cresta dell'onda), frequenza e fase, cioè quando inizia, ovvero se all'istante di tempo 0 l'onda è a 0, a 1 oppure in qualche posizione intermedia.
Le onde sinusoidali sono importanti perché
- facili da generare
- perché c'è Fourier.
Fourier era un matematico francese il quale dice che ogni onda periodica può essere ottenuta con la somma di un certo numero di componenti sinusoidali. Onda periodica vuol dire un'onda dal profilo qualsiasi, ma che abbia un periodo. Queste componenti sinusoidali sono dette armoniche. Ecco che ogni onda periodica è quindi scomponibile in onde sinusoidali, dette armoniche del segnale, e se prendo un treno di bit e lo vedo come un'onda periodica, ecco che posso scomporlo in onde sinusoidali facilmente riproducibili.
Problema: Fourier vale per i segnali periodici, ma in genere le sequenze di bit non sono periodiche. Quindi? Vedi dopo.
Le varie armoniche, tutte a frequenze diverse, sono dette componenti spettrali, e l'ampiezza delle armoniche sull'asse delle frequenze si chiama spettro. Per far capire ciò uso dei numeri a caso: se per generare un segnale periodico uso 10 armoniche, ed ognuna lavora a 10 Hz più dell'altra, ecco che il mio spettro ha un'ampiezza di 10 onde * 10 Hz = 100Hz. Questa differenza di Hz si chiama banda. Da notare che è una differenza: vuol dire che è la differenza tra l'armonica con frequenza più alta e l'armonica con frequenza più bassa. Se la più bassa è a 1000Hz e la più alta è a 1100Hz, l'ampiezza è 100Hz. Se la più bassa è a 2000Hz e la più alta è a 2100Hz, l'ampiezza è sempre 100Hz. L'armonica più bassa si chiama fondamentale.
NOTA: secondo la teoria, ci possono essere infinite armoniche, ma è chiaro che occorre approssimare, e in genere ci si ritiene soddisfatti quando si sono generate abbastanza armoniche da coprire il 90% del segnale originale.
Posso immaginare le armoniche esattamente come le bande verticali di un equalizzatore, che sia l'eq di uno stereo o di un lettore multimediale etc. Questo equalizzatore ha degli slider verticali, ognuno con la sua brava etichetta che dice "100Hz", "300Hz", "1500Hz" e così via. Se alzo uno di questi slider, vuol dire che tutte le onde che lavorano intorno alla frequenza dello slider stesso avranno un'ampiezza più alta: ciò vuol dire che se alzo lo slider dei 100Hz, le frequenze che lavorano intorno ai 100Hz saranno più grandi in ampiezza.
Posso quindi rappresentare un segnale graficamente tramite un istogramma delle sue armoniche, in cui in genere l'altezza di un segmento è proporzionale al quadrato dell'ampiezza max dell'armonica corrispondente. Ripassando, lo spettro è la distanza tra la fondamentale (l'armonica più bassa) e la più alta armonica. Questo istogramma si chiama spettrogramma.
Una situazione frequente è che il mio spettro va per esempio dai 1000Hz ai 20000Hz, ma il mezzo che uso per la riproduzione non abbia la stessa risposta in frequenza. Per esempio, le casse dei computer in genere hanno pochi bassi: vuol dire che rispondono solamente a frequenze che partono dai 500Hz in su, per esempio. Ciò vuol dire che il mio segnale originale viene tagliato, e quindi perdo una parte di informazione (in questo caso, il tum tum delle canzoni, che lo sento come se fosse un toc toc).
Praticamente, le mie casse fanno da filtro, e si può immaginare di creare filtri da usare deliberatamente. I filtri fermano certe armoniche e ne fanno passare altre. Che utilità hanno? Per esempio, se sto registrando da un microfono che ha un brusio di fondo, posso tagliare dai 50Hz in giù per eliminarlo, perché in genere è dovuto alla corrente elettrica che da noi è a 50Hz.
Quando il segnale NON è periodico, Fourier non trasforma più l'onda complessa in componenti sinusoidali che si sommano (cioè una serie), ma la trasforma in integrali: è la famosa trasformata di Fourier. Questi integrali appartengono alla matematica del Cariboni e quindi sono continui, non discreti come le barre di un istogramma.
Rete telefonica
La rete telefonica trasforma la voce in corrente e poi di nuovo in suono. Lo fa perché la corrente si può trasportare per lunghe distanze, la voce che non sia di Patrizia no.
La voce quando esce dalla cavità orale è aria che si muove con più o meno pressione: questa variazione di pressione può essere captata comodamente in diversi modi. Uno dei più banali è l'orecchio. L'orecchio ha una membrana che reagisce allo spostamento d'aria, la quale muove vari ossicini che sono collegati al nervo, il quale poi trasmette queste vibrazioni al cervello, il quale le interpreta come suoni.
Antonio Meucci ebbe l'idea di sfruttare l'effetto piezoelettrico per generare corrente a partire dalla variazione di pressione. Ci sono certi materiali che quando vengono compressi generano una tensione elettrica proporzionale alla compressione. Uno di questi materiali è quella roba di carbone che si trova nelle cornette del telefono, o almeno, in quelle vecchie. Il segnale elettrico così generato viaggia sul filo e alla fine del percorso viene catturato da un'altra membrana, simile a quella in partenza, che vibra a sua volta in funzione della corrente, riproducendo così la voce originale.
Buona idea. Problema: va bene per i citofoni. Il filo deve andare direttamente da una membrana all'altra. Finché ho due ricevitori (il citofono, appunto) va bene, ma se ho devo parlare con più persone, che faccio? Tiro un filo da ogni casa ad ogni casa? Qui entra in gioco l'idea di Graham Bell, il quale ha usato le sinusoidi in questo modo.
Prende un segnale periodico con frequenza fissa, ed utilizzo il segnale della voce per modificarlo e creare così un'onda diversa: si chiama modulazione. Il segnale fisso è detto portante, e il segnale che lo modifica si chiama modulante.
Se ho due microfoni, uso semplicemente due portanti diverse, così che posso su una portante moltiplicare il segnale della mia voce, e sull'altra moltiplicare il segnale della voce di qualcun altro: stesso filo, due conversazioni. Se ho più voci, uso più portanti. Come faccio a distinguere tra due portanti diverse? Occorre usare le formule di prostaferesi, che si trovano nel Necronomicon.
Quindi, posso avere una portante a 100 Hz, una a 200Hz, una a 300 Hz etc. etc. Se il mio filo ha una risposta in frequenza che va da 100 a 1000 Hz, ecco che posso avere 10 conversazioni contemporanee con 10 portanti diverse.
Questo procedimento si chiama multiplexing a divisione di frequenza, FDM come acronimo inglese.
Siccome le portanti non sono infinite, c'erano le centraliniste che collegavano fisicamente i cavi per far comunicare utenti lontani l'uno dall'altro, nel caso in cui un utente era su di una linea e l'altro su di un'altra (ovvero sempre a meno che non si abiti nello stesso quartiere).
Telefonia digitale
Si campiona la voce, si trasforma il campione in bit, e poi si modula il treno di bit...
Il campione è la frequenza con cui vado ad analizzare la voce per analizzarne l'onda. Se sto campionando a 22Khz vuol dire che ogni secondo prelevo 22000 piccoli campioni dalla forma d'onda della mia voce. La frequenza di campionamento non è scelta a caso. Secondo il teorema di Nyquist, per mantenere un segnale identico dopo il campionamento, mi occorre una frequenza di campionamento che sia pari almeno al doppio dell'armonica più alta del mio segnale.
La voce ha l'armonica più alta a 4Khz, quindi vuol dire che per rappresentarla fedelmente mi occorre campionare a 8khz, cioè raccogliere ogni secondo 8000 immagini diverse della forma d'onda della voce. Il CDROM funziona a 44.1 Khz, il che vuol dire che può rappresentare, al massimo, frequenze che si aggirano intorno ai 22050 Hz. Non è un valore scelto a caso, dato che in generale l'orecchio umano discerne suoni che arrivano a un po' prima dei 20000 Hz, e le frequenze superiori vengono comunque percepite inconsciamente e servono ad arricchire il suono.
Ma non basta campionare 8000 volte al secondo. Ogni singolo campione è una piccola porzione della forma d'onda che la voce assume. Questo piccolo campione, quanti valori può assumere? Supponendo di disegnare la voce come un'onda su di un grafico, e di dividerla in tante piccole torri verticali che rappresentano i campioni, la domanda di questo paragrafo è: quanto deve essere alta ogni torre?
La risposta a questa domanda viene data tramite la risoluzione del campione. I sistemi di telefonia digitale campionano a 8Khz e 8 bit. 8 bit significa 2^8 = 256 valori, il che vuol dire che le mie piccole torri saranno tutte divise più o meno brutalmente in 256 classi. La classe con valore minimo ha ampiezza 0, la classe con valore massimo ha ampiezza 256. Quindi, ogni singolo campione porterà con sé il suo valore in bit, che ne rappresenta l'ampiezza, ed in questo caso questo valore può assumere 256 valori diversi. Per tornare all'esempio del CDROM, questo lavora invece a 16 bit, cioè ogni singolo campione dei 44100 che analizzo ogni minuto può assumere 2^16 = 65536 valori diversi.
È chiaro che più la risoluzione in bit è alta, più il segnale sarà fedele. Il limite degli 8 bit è che non è vero che l'orecchio umano discerne solo 256 livelli di volume. Già 16bit è più accettabile.
La frequenza e la risoluzione mi permettono anche di determinare quanti bit al secondo mi servono per codificare la mia informazione originale, in questo caso, la voce. Il bitrate è la misura della trasmissione di bit al secondo: bit / secondo. Se ho 8000 campioni, ciascuno con 8 bit, vuol dire che ogni secondo avrò 8 * 8000 = 64000 bit da trasmettere, ovvero 64Kbps (64 kilo bit per secondo).
Ora, la mia modulante non sarà più la forma d'onda originale della mia voce, ma sarà questo treno di bit: ogni singolo bit determinerà una variazione di una forma d'onda, variazione che viene decisa dagli standard, e l'onda risultante sarà utilizzata per modulare la portante come abbiamo visto prima, cioè col metodo FDM di Graham Bell.
Il sistema che si usa per portare la voce digitalizzata è il PSTN: da casa fino alla centralina la voce corre analogicamente sul filo, che è detto local loop. Poi nella centralina si digitalizza la voce e la si mette su di una portante FDM fino alla centrale di zona, e poi lì viene smistata bla bla fino al destinatario, finché la sua centralina non riconverte la portante modulata con la mia voce digitalizzata in segnale analogico, il quale alla fine viene ritrasformato in suono dal suo apparecchio telefonico... puff puff!
I collegamenti tra le centrali sono detti trunk, e sono interamente digitali. Se i vari collegamenti sono fatti bene, tra le varie centraline a livello gerarchico, ciò significa che io da casa posso raggiungere qualsiasi altro numero telefonico in tutta Italia, o anche nel mondo. Una volta c'era la centralinista che connetteva nel pannello di fronte a sé i fili: uno veniva dalla mia centrale di zona, l'altro dalla centrale di zona della mia morosa, e lei li univa fisicamente con degli spinotti. Invece adesso c'è la teleselezione: compongo un numero, il quale viene analizzato: il prefisso mi dice la zona, i primi due numeri la sottozona etc. fino a scegliere l'abbonato, e i computer mi hanno connesso automaticamente. Una volta ho letto un racconto di un telefono che si era innamorato della centralinista, e quando sono passati alla teleselezione e non c'era più la centralinista, si era rifiutato di funzionare ancora.
Per far funzionare la teleselezione occorre che il sistema telefonico capisca, in base al numero che io digito sulla tastiera del mio telefono, come trovare l'altro numero. Una volta c'era la centralina che commutava manualmente i circuiti, e questa operazione viene detta circuit switching: metteva fisicamente in contatto il circuito del mio telefono col circuito del telefono della morosa. Invece adesso c'è la teleselezione, e al posto della centralina si usano dei messaggi di controllo che automaticamente uniscono i nostri due telefoni nel modo spiegato nel paragrafo sopra.
Per inviare questi messaggi di controllo, posso adoperare 2 strategie differenti. La prima è quella di usare dei suoni particolari, all'interno dello spettro che effettivamente viene usato dai telefoni, per dare ordini alle varie centraline. Si chiama in-band sygnaling. Vuol dire questo: lo spettro dei suoni viene filtrato, supponiamo, dai 300Hz fino ai 4Khz per farci passare la mia voce. In questo spettro, si è scelto di dedicare (dico a caso) un fischio dell'ampiezza di 3800 Hz per indicare il numero 0, uo a 3820Hz per indicare il numero 1 e così via. Questo sistema lo si usava in America, e non è leggenda ma verità che c'era gente che era riuscita a interpretare questo linguaggio di fischi, e trovato il modo di riprodurlo con fischietti vari, riusciva a dare gli ordini che voleva alla centralina, come per esempio chiamare gratis.
Da noi invece si usa la seconda strategia, che è quella dell' Out of band sygnaling, ovveri c'è una piccola banda dedicata a far funzionare la teleselezione e le altre amenità. Le reti di computer, tra l'altro, sono In-band, perché ovviamente non val la pena tirare un cavo per i dati e un altro per le informazioni di controllo, oltre a essere irrealizabile.
Per concludere, c'è il PBX, che vuol dire Private Branch Exchange, che altro non è che una centralina come quelle che ci sono in ogni quartiere, solo che non è in un quartiere, ma è installata all'interno di un'azienda o simili. In questo modo quando alzo il telefono il numero che compongo non viene passato alla Telecom, ma viene teleselezionato all'interno degli uffici dell'azienda. Con questo sistema in genere se voglio chiamare all'esterno devo prima fare lo 0, così che il PBX mette in comunicazione il mio telefono col mondo circostante. È quello che succede quando le segretarie compongono il numero 126 e risponde il grande capo nell'altro ufficio e gli annunciano visite, come nei film. Il PBX può essere uno scatolo fisico, oppure una simulazione che la Telecom ti fa attraverso la rete normale.
Multiplexing Digitale
Se la voce viene digitalizzata, perché devo usare ancora l'FDM analogico? Non posso usare un sistema direttamente digitale? È la domanda che si sono fatti alla Bell, in America.
La risposta è stata l'idea di fare multiplexing non nel dominio delle frequenze (cioè una portante a frequenza diversa per ogni segnale) ma nel dominio del tempo (cioè ogni segnale ha una sua finestra temporale, e ad ogni segnale ne segue un altro in rapida successione). C'è una portante ad alta frequenza, che trasmette modulanti una dopo l'altra.
Questo affare si chiama TDM, cioè time division multiplexing. Ha il vantaggio di essere facilmente standardizzabile, e di essere facilmente scalabile (cioè si può aumentare la dimensione dell'installazione in modo coerente). Infatti, posso fare TDM su un altro TDM, e così via, a livelli gerarchici. In America ciò è stato chiamato T1, da noi in Europa si chiama E1. Avviene che da loro le linee telefoniche siano a 7 bit, quindi con un bitrate di 56kbps. Una linea T1 trasmette ogni secondo 24 linee normali, ovvero 24 * 56kbps. Ciò vuol dire che trasmetto io, poi il mio vicino di casa, poi l'altro vicino ancora etc. e dopo 24 persone tocca ancora a me, poi ancora al vicino e così via. In Europa le E1 lavorano invece con 24 utenti, ma a 8 bit.
Quando dicevo "fare il TDM del TDM" vuol dire quanto segue. Prendo una T1, e la metto su di un cavo T2, che porta 4 T1 una dopo l'altra. Ciò vuol dire che il cavo T2 mi porta fino a 24 * 4 = 96 utenti finali, uno dopo l'altro. È chiaro che una linea T2 deve essere 4 volte più veloce di una linea T1. A sua volta, la T3 porta 7 T2, cioè 7 * 4 * 24 = 672 utenti, e la T4 porta 6 T3. NOTA: sugli appunti sta scritto DS0, DS1 etc. devo ancora capire se i nomi sono intercambiabili.
C'è da far rilevare che siccome in America usano 7 bit e non 8, a parità di portata della singola linea, loro avranno più bit sprecati.
Tecniche di Multiplexing
FDMA
Frequency Division Multiple Access
- portanti diverse
- i segnali non si sovrappongono
TDMA
Time Division Multiple Access
- le stazioni trasmettono a turno, un bit ciascuna, una dopo l'altra
- i segnali non si sovrappongono
- c'è un numero finito di slot
CDMA
Code Division Multiple Access
- ogni stazione ha un codice diverso
- i segnali sono sovrapposti ma intelligibili tramite al codice (Cocktail Party Effect: tutti parlano insieme, c'è rumore, ma io capisco comunque quello che mi dice l'interlocutore che ho di fronte).
Le reti cellulari usano il CDMA e non gli altri sistemi di multiplexing, perché questi altri hanno un numero finito di slot disponibili, siano essi portanti o slot temporali diversi, mentre non sai mai quanti cellulari diversi posso avere sotto la stessa cella.
SONET
SONET = Synchronous Optical Network. È un sistema TDM ma usa tecnologia a fibre ottiche, con tutto il suo sistema gerarchico simile a quello delle DS0, DS1 etc.
Ogni 810 byte che trasmette, SONET ne usa altri 27 per il sincronismo, perché con un alto bitrate è possibile che si perda qualche byte per strada. Ecco qui che introduciamo il concetto di overhead.
L'overhead è la percentuale di informazioni, in una trasmissione, che non contengono i dati che sto inviando, ma contengono informazioni per il sincronismo. Nel caso di SONET, 27 byte su 810 = 3,33% di dati di overhead. È da notare che gli overhead esistono per ogni protocollo che vado ad utilizzare, a catena. Se ho una rete fisica come il SONET, ogni 810 byte ne "perdo" 27 per overhead, e 810 sono i miei dati. Di questi 810, supponiamo che uso un protocollo internet, un'altra percentuale se ne va per il suo overhead etc. etc. => gli overhead si sommano, e alla fine può rimanermi poca cosa...
ATM
ATM = Asynchronous Transfer Mode
Il TDM mi garantisce l'isocronia: il tempo di intervallo tra due bit consecutivi provenienti dalla stessa sorgente è sempre lo stesso. Se ho una linea a 64kbps, vuol dire che ogni bit proveniente da me arriverà garantito tra 1/64000 di secondo, così come per quello del mio vicino etc. Questo è il tempo reale, ed è una delle carateristiche del TDM: ho un tempo garantito tra un bit e l'altro. Chiaro che se poi ho schede T5 etc. il tempo tra un bit e l'altro è ancora più piccolo, e quindi la scheda sarà molto più costosa.
C'è invece il sistema ATM, che al momento attuale non so a che tipo di rete si riferisca. Non è isocrono, il che vuol dire che non passa lo stesso identico tempo tra un bit e l'altro della mia trasmissione. Gli apparecchi riceventi hanno un buffer: quando il buffer viene riempito, lo svuotano, e poi attendono che si riempia ancora. È chiaro che questo sistema non funzioni bene per il telefono, perché potrei avere delle attese ora che il buffer si riempie, e mi arriva la voce a sprazzi. Questo sistema non usa trame (si chiamano trame le finestrelle temporali del TDM) ma celle con una propria intestazione, e questa intestazione indica il destinatario del pacchetto. Chiaro che qui l'overhead è più alto, perché ogni cella ha byte sprecati per l'indirizzo etc.
Torna alla pagina di Sistemi per l'elaborazione delle informazioni