I.T.I.S. "Antonio Meucci" di Roma La trasmissione numerica a cura del Prof. Mauro Perotti Anno Scolastico 2012-2013 La trasmissione numerica Sommario Parte I - Teoria dell’informazione ............................................................................3 1. 2. 3. 4. Misura dell'informazione ............................................................................... 3 Entropia di una sorgente .............................................................................. 5 Ridondanza ................................................................................................. 5 Codifica di sorgente ..................................................................................... 6 4.1 Codifica di Huffman ........................................................................................................8 4.2 Decodifica di Huffman....................................................................................................9 4.3 Efficienza di codice .......................................................................................................10 5. Codifica di canale....................................................................................... 10 5.1 Codifica ARQ..................................................................................................................10 5.1.1 Controllo di parità ............................................................................ 11 5.1.2 CRC ............................................................................................... 11 5.2 Codifica FEC (Forward Error Correction) ................................................................... 12 5.2.1. Il codice Hamming .......................................................................... 13 5.2.2 Protezione a ridondanza di blocco ...................................................... 14 Parte II - Trasmissione numerica in banda base ................................................... 15 6. La trasmissione numerica in banda base ...................................................... 15 6.1 Capacità di un canale di comunicazione ...................................................................... 15 6.1.1 6.1.2 6.1.3 6.1.4 Capacità di un canale in assenza di rumore ......................................... 15 Capacità di un canale in assenza di rumore e con codice multilivello....... 17 Capacità di un canale in presenza di rumore ....................................... 17 Velocità di trasmissione e velocità di modulazione................................ 18 6.2 Codifica di linea............................................................................................................. 18 6.2.1 Codici interni................................................................................... 19 6.2.2 Codici di linea.................................................................................. 19 7. Trasmissione numerica in banda traslata ..................................................... 20 7.1 ASK ................................................................................................................................ 20 7.1.1 Spettro di un segnale ASK ed occupazione di banda ............................. 22 7.2 FSK.................................................................................................................................25 7.2.1 Spettro di un segnale FSK ed occupazione di banda ............................. 26 7.3 PSK.................................................................................................................................26 7.3.1 Spettro di un segnale 2PSK ed occupazione di banda ........................... 27 7.4 QAM ...............................................................................................................................28 7.5 Probabilità di errore ..................................................................................................... 30 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 Interferenza intersimbolica (ISI) e caratteristiche del canale ................. 30 Rumore .......................................................................................... 30 Potenza trasmessa e potenza ricevuta ................................................ 30 Velocità di trasmissione dell'informazione ........................................... 31 Modulazione e demodulazione dei segnali ........................................... 31 7.6 Pe nel caso della modulazione ASK .............................................................................. 31 7.7 Pe nel caso della modulazione FSK...............................................................................34 7.8 Pe nel caso della modulazione PSK ..............................................................................34 7.9 Pe nel caso della modulazione LPSK ............................................................................35 Ultimo aggionamento: 08/01/2014 pag. 2 La trasmissione numerica PARTE I - TEORIA DELL’INFORMAZIONE 1. Misura dell'informazione L'efficace gestione di un sistema di telecomunicazioni non può prescindere dalla quantità di informazione che viene scambiata tra due soggetti e dalla sua misura. Quando una persona invia un messaggio ad un'altra persona lo sceglie all'interno di un universo più o meno ampio di messaggi presente nella sua testa. Quando il destinatario riceve il messaggio (e supponiamo che lo comprenda pure) l'informazione contenuta in esso diviene superflua ed una sua ritrasmissione non muterebbe l'informazione posseduta dal destinatario. Si può affermare, quindi, che la quantità di informazione è legata alla sorpresa o alla novità che il messaggio rappresenta per chi lo riceve. Si può anche dire, pertanto, che se si riceve un messaggio che non rappresenta una novità - per il destinatario - la quantità di informazione da esso posseduta è nulla. Va detto, per completezza, che il mittente ed il destinatario devono condividere lo stesso universo di messaggi affinché, tra loro, possa instaurarsi una comunicazione. Due persone che non parlano la stessa lingua, per esempio, non possono comunicare in quanto gli universi di parole da essi conosciuti non sono gli stessi. C.E. Shannon, nel 1948, pubblica Una teoria matematica della comunicazione , in cui getta le basi dello studio sistematico dell'informazione e della comunicazione. L'informazione, secondo Shannon, è proporzionale alla sorpresa che il messaggio genera in chi lo riceve. Più un messaggio è probabile e tanto minore è la sorpresa che esso induce nel destinatario. In formula, se indichiamo con Q(m) la quantità di informazione posseduta da un messaggio e con scrivere: p(m) la probabilità della sua emissione, possiamo (1) Dobbiamo quindi cercare di individuare un'opportuna funzione f. Cominciamo con l'osservare che se un (1) destinatario riceve un messaggio m1 e, successivamente, un messaggio m2 indipendente da questo allora, è abbastanza naturale, la quantità di informazione complessiva dovrà essere la somma delle due singole quantità: (2) D'altronde sappiamo che la probabilità che si verifichi una successione di eventi tra loro indipendenti è il prodotto delle rispettive probabilità: (3) Sulla base della relazione (1), quindi, possiamo scrivere: (4) Riscrivendo la (2) nel seguente modo: (5) 1 Due messaggi si ritengono indipendenti se la conoscenza di uno dei due non ci consente di fare alcuna inferenza sulla conoscenza dell'altro e viceversa. Ultimo aggionamento: 08/01/2014 pag. 3 La trasmissione numerica ed eguagliando quest'ultima alla (4): (6) la funzione che stiamo cercando, dunque, è il logaritmo: (7) La scelta della base della funzione logaritmo implica la scelta dell'unità di misura dell'informazione. Se si opta per la base 10 l'unità di misura è l' hartley o il decit. Se invece si opta per la base 2 l'unità di misura è il bit. E' questa l'unità di misura più utilizzata. Il bit corrisponde alla quantità di informazione necessaria e sufficiente per decidere tra due eventi egualmente probabili e mutuamente esclusivi. Per fare un esempio si consideri il lancio di una moneta equilibrata. I possibili eventi sono due ed hanno la stessa probabilità di occorrenza. La quantità di informazione associata ad uno dei due eventi è quindi un bit. Infatti, indicando con s1 uno dei due eventi: Possiamo, ora, riscrivere la (1): (8) (2) la quantità di informazione posseduta da una Nel caso di una sorgente discreta e senza memoria successione di simboli equivarrà alla somma delle quantità di informazione associate a ciascuno dei singoli simboli. Ad esempio, supponiamo che i simboli e le relative probabilità di emissione siano: Simbolo Probabilità di emissione X1 X2 X3 X4 0.38 0.25 0.22 0.15 Il contenuto informativo del messaggio M=X1 X4 X1 X2 sarà: In generale, se il messaggio è costituito da k simboli, la quantità di informazione ad esso associata sarà: (9) Se i simboli emessi dalla sorgente - costituita da un alfabeto di n simboli - sono equiprobabili allora si avrà che la probabilità di emissione di uno di questi sarà: In questo caso un messaggio costituito da k simboli avrà una quantità di informazione: (10) 2 Si tratta di una sorgente che emette, in istanti prefissati, simboli indipendenti ed appartenenti ad un alfabeto limitato. Ultimo aggionamento: 08/01/2014 pag. 4 La trasmissione numerica 2. Entropia di una sorgente Simboli con bassa probabilità di emissione trasportano una grande quantità di informazione ma è poco probabile che possano essere inclusi in un messaggio. E simboli con alta probabilità di emissione trasportano una piccola quantità di informazione ed è molto probabile che possano essere inclusi in un messaggio. Ci poniamo l'obiettivo di determinare la quantità media di informazione di una sorgente discreta. Per sapere la quantità media di informazione da associare ad ogni simbolo occorre eseguire un'osservazione su un messaggio sufficientemente lungo in modo che i valori delle probabilità possano assumere il loro pieno significato (3) . Supponiamo di comporre un messaggio con N1 simboli aventi, ciascuno, probabilità di emissione ed N2 simboli aventi, ciascuno, probabilità di emissione messaggio sarà: p(m2). p(m1) La quantità di informazione associata al (11) Se ora dividiamo simbolo: Q(m) per N=N1+N2 otteniamo la quantità media di informazione associata a ciascun (12) dove N1/N e N2/N sono le frequenze di occorrenza dei simboli m1 ed m2. Se facciamo tendere N ad infinito tali frequenze tendono alle probabilità di emissione dei rispettivi simboli. Se ora consideriamo una sorgente con alfabeto di n simboli, ognuno con differente probabilità di emissione, indichiamo con entropia di una sorgente discreta la quantità: (13) che corrisponde alla quantità media di informazione della sorgente. In sostanza abbiamo sommato le quantità di informazione associate ad ogni simbolo della sorgente pesate secondo la probabilità di emissione di ciascuno di questi. Si può dimostrare che l'entropia di una sorgente è massima quando tutti i suoi simboli sono equiprobabili. In tale circostanza essa vale: (14) 3. Ridondanza Ogni sorgente discreta la cui entropia non è massima ha determinati vincoli. Questi vincoli, che sono noti, impongono a priori che, dato un simbolo, è molto probabile individuare quale sia il successivo. Ciò significa che vi è correlazione tra i vari simboli. Nella lingua italiana, ad esempio, se consideriamo parole composte al massimo da 8 lettere si ha che il 50% (circa) di queste è sufficiente per ricostruire l'intera parola. Il lettore se ne può convincere prendendo un qualunque testo e cancellando, a caso, circa il 50% delle lettere. Ciò che rimane, nella maggior parte dei casi, è sufficiente per ricostruire l'intero testo di partenza. Un altro esempio è quello della comunicazione tra due individui in un locale particolarmente affollato e rumoroso: la perdita di qualche sillaba non compromette, nel destinatario, la comprensione dell'intero messaggio. Questa caratteristica della sorgente viene indicata con il termine di ridondanza. Essa è direttamente proporzionale alla differenza tra l'entropia e l'entropia massima: 3 Al crescere del numero degli esperimenti la frequenza di un evento tende alla sua probabilità. Immaginiamo di non conoscere la probabilità dell'evento “uscita della faccia 3” nel lancio di un dado a sei facce. Se lo lanciamo 10 volte e ci annotiamo il numero di volte che esce il 3 avremo la frequenza di tale evento. Se invece effettuiamo 100 lanci la frequenza, si può osservare, tenderà ad avvicinarsi sempre più ad 1/6. Con 1000 lanci ci avvicineremo ancor più e così via. Ultimo aggionamento: 08/01/2014 pag. 5 La trasmissione numerica (15) dove si è indicato con Hr l'entropia relativa di una sorgente discreta: (16) Quando i simboli di una sorgente non sono equiprobabili esiste un vincolo alla libertà di emissione degli stessi simboli. Sempre per rimanere nel caso della lingua italiana, se consideriamo la lettera q sappiamo, già prima di ricevere il simbolo successivo, che questo sarà molto probabilmente la lettera u (a parte il caso di parole come soqquadro). In questo caso il contenuto informativo trasportato dalla lettera u è nullo (o quasi). Oppure, in un brano musicale, la sequenza degli accordi segue quasi sempre schemi già prestabiliti (do-fa-sol, ad esempio). La ridondanza di una sorgente presenta il vantaggio della comprensione di un messaggio anche se alcuni caratteri ci sfuggono. Lo svantaggio è che possiamo comporre solo alcune parole. Parole come "almqq", infatti, sono prive di significato. In figura 1 è riportato l'istogramma di frequenza delle 21 lettere dell'alfabeto della lingua italiana (si noti la particolare frequenza dello spazio, indicato col trattino). In figura 2, invece, è riportato l'istogramma di frequenza delle 26 lettere dell'alfabeto della lingua inglese (si noti, anche qui, la particolare frequenza dello spazio: maggiore rispetto al caso della lingua italiana). In figura 3, infine, vi è un istogramma che confronta tali frequenze. 4. Codifica di sorgente I simboli generati da una sorgente, prima di essere inviati al trasmettitore, devono essere associati ad opportune combinazioni di codice in modo univoco. E' questa la codifica di sorgente. In pratica i codici sorgente sono tutti di tipo binario e le unità di tali codici sono cifre binarie e vengono indicate con il termine bit (che non deve essere confuso con l'unità di informazione). Se ad ogni simbolo della sorgente si associa la stessa quantità di bit allora, detto N il numero dei simboli della sorgente e detto M il numero dei bit necessari per codificare ciascun simbolo, deve valere la relazione: (17) Ultimo aggionamento: 08/01/2014 pag. 6 La trasmissione numerica con M arrotondato all'intero superiore. Se, ad esempio, volessimo codificare le 27 lettere dell'alfabeto inglese (26 + lo spazio) avremmo necessità di: che arrotondato all'intero superiore diviene 5. La lunghezza di codice , in questo caso, sarebbe quindi pari a 5. In questo esempio tutti i simboli della sorgente hanno la stessa lunghezza di codice e, pertanto, non si (4) tiene conto della statistica della sorgente. Una trasmissione più efficiente adotta tecniche volte alla riduzione della ridondanza della sorgente. Per far ciò si cerca di associare ad ogni simbolo della sorgente una lunghezza di codice inversamente proporzionale alla probabilità di emissione di quel simbolo. In tal modo quei simboli che avranno più elevate probabilità di emissione saranno codificati con sequenze di codice più corte. E viceversa. In questo modo se indichiamo con Mi la lunghezza di codice dell'i-esimo simbolo di sorgente e con simbolo sarà: pi la sua probabilità di emissione, avremo che la lunghezza media di ogni (18) Facciamo un esempio. Consideriamo una sorgente binaria discreta costituita da 4 simboli aventi differenti probabilità di emissione così come indicato in tabella. E supponiamo di codificarli, ciascuno, con due bit (un codice, quindi, a lunghezza fissa). Simbolo Probabilità di emissione Codifica A B C D 0.25 0.125 0.5 0.125 00 01 10 11 Supponiamo, ora, che la sorgente emetta la seguente stringa di sedici caratteri: BCDACACCBACACCDC Questa verrà codificata, in accordo con la precedente tabella, con: 01 10 11 00 10 00 10 10 01 00 10 00 10 10 11 10 Avendo associato a ciascun simbolo lo stesso numero di bit si avrà che la lunghezza media di ogni simbolo sarà proprio pari a 2 bit (senza ricorrere all'uso della formula 18). Ora proviamo ad usare una codifica differente, come quella illustrata nella tabella successiva. Simbolo Probabilità di emissione Codifica Huffman A B C D 0.25 0.125 0.5 0.125 01 001 1 000 Come si vede si è tenuto conto del criterio prima indicato: ad ogni simbolo si è associato un codice la cui lunghezza è inversamente proporzionala alla rispettiva probabilità di emissione. Andiamo a vedere, in 4 Per statistica si intende l’insieme delle probabilità di emissione di tutti i simboli della sorgente. Ultimo aggionamento: 08/01/2014 pag. 7 La trasmissione numerica questo caso, quali e quanti saranno i bit necessari per codificare la stessa sequenza di 16 caratteri vista prima: BCDACACCBACACCDC 001 1 000 01 1 01 1 1 001 01 1 01 1 1 000 1 Come si può osservare il numero complessivo di bit impiegato è inferiore: 28 contro i 32 della codifica precedente. La lunghezza media, in questo caso, è inferiore e pari a: In sostanza si è attuata una compressione dell'informazione. I programmi di compressione come Winzip e Arj, ad esempio, analizzano la sequenza dei bit del file da comprimere, e lo ricodificano associando sequenze di minor lunghezza a quelle più ricorrenti (codifica di Huffman). Se il file da comprimere ha molta ridondanza, allora la compressione sarà molto efficiente. Questo tipo di compressione si basa sull'eliminazione delle ridondanze senza perdita di informazioni, vale a dire che il file compresso può essere riportato alla forma originale senza che il messaggio si sia degradato. Un altro tipo di compressione è quella con perdita di informazione. Questa oltre a sfruttare il principio precedente, elimina quelle informazioni ritenute poco importanti per la comprensione globale del messaggio. E' il caso di compressioni di immagini in formato jpg o gif, queste comprimono molto ma provocano una certa perdita della qualità dell'immagine. La perdita è irreversibile perché si è scelto di memorizzare solo una certa parte delle informazioni. Il primo codice che aveva l'obiettivo di ridurre la ridondanza della sorgente fu elaborato da Samuel Morse ben prima della formulazione matematica della teoria dell'informazione. 4.1 Codifica di Huffman E' un algoritmo di compressione sviluppato da David Huffman nel 1952 quando era dottorando presso il MIT. E' un codice senza prefissi (in cui nessuna stringa binaria di nessun simbolo è la parte iniziale della stringa binaria di nessun altro simbolo) e ciò rende l'operazione di decodifica particolarmente agevole. Vediamo come funziona l'algoritmo con un esempio. Supponiamo di considerare una sorgente discreta avente un alfabeto di 4 simboli con differenti probabilità di emissione come indicato in tabella. Simbolo A B C D Probabilità di emissione 0.5 0.2 0.18 0.12 • • • Si ordinano i simboli in ordine decrescente di probabilità (come in tabella) Si sommano le probabilità degli ultimi due simboli della lista e si reintroduce tale probabilità nella lista Si ripete il passo precedente fino ad ottenere un solo elemento di probabilità unitaria. Si ottiene, in questo modo, l'albero di figura 4. Ultimo aggionamento: 08/01/2014 pag. 8 La trasmissione numerica Si etichetta ogni biforcazione con uno 0 (in alto) ed un 1 (in basso) come indicato in figura 5. La codifica di ogni simbolo dell'alfabeto è data dal percorso dalla radice dell'albero fino alla foglia contenente il simbolo. In questo modo si ottiene la codifica illustrata dalla tabella successiva. Per le proprietà degli alberi, ogni foglia ha un unico percorso (codifica) che non sarà mai il prefisso di un altro percorso (la codifica di un simbolo non può essere l'inizio della codifica di un altro simbolo). Simbolo A B C D Probabilità di emissione 0.5 0.2 0.18 0.12 Codifica Huffman 0 11 100 101 Se applichiamo il codice così ottenuto alla stringa di 12 simboli: AABABCABDACB Si ottiene la stringa binaria: 0 0 11 0 11 100 0 11 101 0 100 11 il numero totale di unità binarie impiegate è 22 (in media 22/12=1.833 bit/simbolo); se si fosse codificato senza tener conto della statistica della sorgente – con due bit per simbolo – la stringa dell'esempio precedente avrebbe richiesto 24 bit (con una lunghezza media di 2 bit/simbolo). Calcoliamo ora la lunghezza media sulla base della codifica di Huffman: che eguaglia quasi il valore assunto dall'entropia della sorgente (che è il limite inferiore di una qualunque codifica decifrabile): 4.2 Decodifica di Huffman Grazie al fatto che ogni simbolo è codificato con una stringa binaria che non è mai il prefisso di nessun'altra stringa binaria, la decodifica è univoca e mai ambigua. Se consideriamo la stringa binaria dell'esempio precedente: 100 100 11 0 11 0 0 0 e la esaminiamo con attenzione deduciamo che i primi tre bit 100 100 11 0 11 0 0 0 corrispondono al carattere C. Ciò in quanto non esiste alcun C C B A B A A A simbolo che sia stato codificato con il bit 1 o con la coppia 10. Inoltre, la terna 100 non è l'inizio di nessun altra sequenza (anche perché, in questo codice, non esistono sequenze di 4 bit). Allo stesso modo si procede per i bit successivi. Ultimo aggionamento: 08/01/2014 pag. 9 La trasmissione numerica 4.3 Efficienza di codice L'entropia della sorgente rappresenta il valore minimo raggiungibile dalla lunghezza media del codice. Se Mm scende al di sotto di H il codice non è più decifrabile. Si definisce efficienza di un codice il rapporto: Quanto più Mm si avvicina ad H tanto più è efficiente il codice. Se h =1 il codice si dice ottimo. 5. Codifica di canale Lo scopo di questa codifica è quello di inserire bit ridondanti - che non aggiungono contenuto informativo al messaggio - al fine di consentire, in ricezione, la rivelazione e l'eventuale correzione degli errori. Il lettore potrebbe, a questo punto, cogliere un apparente paradosso: nel corso della codifica di sorgente si cerca di limitare la ridondanza della sorgente e, con la codifica di canale, si aumenta nuovamente la ridondanza del messaggio trasmesso. In realtà, come si diceva, tale paradosso è solo apparente: la codifica di sorgente limita la ridondanza della sorgente al fine di ottimizzare le prestazioni del canale in termini di velocità di trasmissione. Mentre la codifica di canale viene effettuata allo scopo di aumentare la sicurezza della trasmissione rispetto al rumore e alla distorsione che un qualunque canale generalmente introduce, compromettendo il riconoscimento, in ricezione, dei simboli ricevuti. Le codifiche di canale possono classificarsi secondo due tipologie: • • ARQ ( Automatic Repeat re Quest): richiesta automatica di ripetizione; FEC ( Forward Error Correction): correzione diretta degli errori. I codici di tipo ARQ consentono al destinatario di rivelare la presenza di un errore e richiedere, in tal caso, la ritrasmissione del messaggio. I codici di tipo FEC, invece, consentono al destinatario di rivelare e correggere gli errori avvenuti. 5.1 Codifica ARQ Il metodo ARQ prevede la suddivisione del messaggio in blocchi e l'invio di ciascuno di questi ad un codificatore che tramite un determinato algoritmo inserisce in coda al medesimo uno o più bit di ridondanza denominati check bit. Quando il destinatario riceve un blocco del messaggio separa i bit che rappresentano il contenuto del messaggio dai check bit. Riapplica l'algoritmo di calcolo dei bit di controllo e, una volta ottenuti, li confronta con quelli ricevuti. In caso di accordo la ricezione viene considerata corretta ed il destinatario invia al trasmettitore un riscontro positivo denominato ACK (acknowledge). Diversamente si chiede la ripetizione della trasmissione inviando un riscontro negativo denominato L'invio dei riscontri • • NACK (negative acknowledge). NACK ed ACK può avvenire secondo tre modalità: Stop and Wait: dopo la ricezione di ciascun blocco il ricevitore invia al mittente il riscontro e, questi, trasmette il blocco successivo o ritrasmette quello errato; è un metodo semplice che, però, rallenta notevolmente la trasmissione. Go-Back-N: il trasmettitore invia un certo numero di blocchi consecutivi e poi attende il riscontro dal destinatario su tutta la sequenza trasmessa: se tutti i blocchi sono stati ricevuti correttamente il destinatario invia un ACK; se uno o più blocchi sono stati ricevuti in modo errato il destinatario invia un NACK specificando il primo blocco errato; a quel punto il trasmettitore ritrasmette tutti i blocchi a partire da quello errato. Ultimo aggionamento: 08/01/2014 pag. 10 La trasmissione numerica • Selective Retrasmission: questa metodologia migliora la precedente: il destinatario invia un NACK per ciascun blocco ricevuto in modo errato consentendo, così, la ritrasmissione solo di quelli errati. 5.1.1 Controllo di parità Tra i metodi ARQ è certamente quello più semplice. Consiste nell'aggiungere alla sequenza di bit, che rappresenta un determinato simbolo, un bit di ridondanza il cui valore è 1 o 0 sulla base dei bit pari ad 1 presenti nella sequenza. In sostanza le tecniche sono due: quella del bit di parità che aggiunge un uno 0 in modo da rendere pari il numero complessivo degli carattere A, codificato con 01000001, diviene: presenti nella stringa era già pari. 1 1 od uno presenti nella sequenza. Il carattere 01000001, 1 od presenti nella sequenza. Ad esempio: il 010000010. Si è aggiunto uno 0 in quanto il numero di 1 Vi è poi la tecnica del bit di disparità che aggiunge un complessivo degli 1 diviene: 010000011. Si è aggiunto un complessivamente nella stringa. 1 A 0 in modo da rendere dispari il numero dell'esempio precedente, codificato con in modo da rendere dispari il numero di 1 presenti 5.1.2 CRC Il sistema CRC (Cyclic Redundancy Check) è un metodo ARQ di rivelazione d'errore in cui i check bit, qui denominati bit CRC, sono individuati per mezzo di operazioni eseguite con l'algebra modulo 2. Si tratta di leggi di composizione di numeri binari che non hanno lo stesso significato quantitativo delle operazioni dell'algebra ordinaria. Vediamo, in breve, le regole dell'algebra modulo 2. • La somma modulo 2 è definita (operativamente) in modo analogo alla somma esclusiva (EX-OR) dell'algebra di Boole: E' bene ricordare che l'EX-OR di un numero di n cifre binarie è uno se il numero di 1 di tali cifre è dispari, in caso contrario è zero. • Addizione e sottrazione di due numeri binari sono operazioni equivalenti: a+b = a-b (vedi esempio). • L'operazione di moltiplicazione si esegue come la moltiplicazione in aritmetica binaria. Le somme dei prodotti parziali vanno eseguite usando le regole prima indicate (EXOR). Nell'esempio più avanti riportato, la somma della terza colonna da destra è uno in quanto il numero di 1 presenti nelle tre cifre è dispari. 10011+ 11000= --------01011 0+0=0 0+1=1 1+0=1 1+1=0 1010110100= --------00001 1 0 1 0 1 x 1 0 0 = ______________________ 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 ______________________ 1 0 1 0 1 0 0 Per l'operazione di divisione occorre innanzitutto precisare che questa è possibile se il divisore è contenuto nel dividendo. Ciò accade se il numero di bit del primo è minore o uguale al numero dei bit del secondo. In figura è riportato il seguente esempio: 1000100000 : 1001. Si opera come nella ordinaria divisione. La prima cifra del quoziente è sempre 1, 1 moltiplicato un qualsiasi numero abbiamo visto precedentemente che equivale sempre al numero stesso, quindi si riportano le cifre del divisore sotto lo stesso numero di cifre del dividendo a partire da sinistra. Si esegue la sottrazione, con le regole dell'EXOR, e si scrive la differenza (che nel nostro esempio è 0001). Poi si abbassa la prima cifra disponibile a destra e si ottiene 11 (si trascurano gli zeri a sinistra). Siccome non è possibile eseguire la differenza tra 11 e 1001 si riporta 0 nel quoziente. Si abbassa la cifra successiva e si ottiene 110. Ancora, non essendo Ultimo aggionamento: 08/01/2014 pag. 11 La trasmissione numerica possibile la differenza si scrive 0 nel quoziente. Si abbassa un'altra cifra e, in questo caso, si ottiene 1100. Ora si può eseguire la differenza e si scrive 1 nel quoziente. Si procede in questo modo fino al termine delle cifre del dividendo. Il quoziente finale ed il resto dell'esempio qui illustrato sono indicati in figura 6. Vediamo ora come funziona il metodo CRC. L'insieme dei bit che costituiscono il blocco soggetto a controllo viene considerato come insieme dei coefficienti di un polinomio detto polinomio del messaggio ed indicato con P(x). Il grado di tale polinomio è pari al numero dei bit formanti il blocco (diciamo m) diminuito di uno. Diciamo, in generale, che P(x) è di grado m-1. Facciamo un esempio. Supponiamo che il blocco sia costituito dai seguenti 7 bit: D = 1000100 Il polinomio corrispondente, di grado 6, sarà: Mittente e destinatario, per poter usare questo metodo, devono concordare su un polinomio G(x), detto generatore di grado r ≤ m-1. Il polinomio generatore deve essere caratterizzato dal fatto di avere pari ad 1 almeno il bit più a sinistra e quello più a destra. Supponiamo, in questo caso, che sia: 1001 r A questo punto il mittente moltiplica la stringa blocco per 2 . Ciò equivale a giustapporre a destra di tale stringa r zeri. Nel caso del nostro esempio tre zeri. Si ottiene una nuova stringa, che chiamiamo D', che nel nostro caso vale: D' = 1000100000 Il resto R viene calcolato dividendo, modulo 2, D' per G(x). Nel caso dell'esempio che stiamo esaminando, vedi figura 6, si ottiene: 1000100000 : 1001 = 1001101 con il resto di 101. Fatto ciò il mittente sottrae il resto così calcolato da D' ed ottiene: 1000100000 - 101 = 1000100101 La nuova stringa così ottenuta è ora divisibile in modo esatto per il polinomio generatore (ovvero con resto nullo). Essa viene quindi inviata al destinatario che la dividerà per il polinomio generatore (1001 nel nostro caso). Se il resto che ottiene è nullo vuol dire che non sono avvenuti errori in trasmissione. Diversamente chiederà al mittente il reinvio dell'ultimo blocco. 5.2 Codifica FEC (Forward Error Correction) L'insieme delle metodologie che appartengono alla codifica FEC, quelle cioè che consentono di rilevare e correggere automaticamente gli errori, sono basate sulla codifica convoluzionale, che consiste nel codificare il messaggio da trasmettere secondo regole che escludono alcune combinazioni di codice. Ultimo aggionamento: 08/01/2014 pag. 12 La trasmissione numerica 5.2.1. Il codice Hamming Supponiamo di avere sequenze di 4 bit come quelle che codificano l'alfabeto esadecimale (vedi tabella). Simbolo Codifica in binario puro 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Aggiungiamo ora tre bit di parità calcolati su gruppi diversi di tre bit della stessa parola come mostrato in figura 7. In questo modo si ottiene il codice Hamming riportato nella tabella successiva. Simbolo Codifica in binario puro Codifica Hamming 0 1 2 3 4 5 6 7 8 9 A B C D E F Ultimo aggionamento: 08/01/2014 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000000 0001101 0010111 0011010 0100011 0101110 0110100 0111001 1000110 1001011 1010001 1011100 1100101 1101000 1110010 1111111 pag. 13 La trasmissione numerica Con questo codice è possibile correggere fino ad un massimo di 1 errore. Supponiamo, per fare un esempio, di trasmettere il simbolo A (1010001). Supponiamo che si verifichi un errore sul secondo bit e 1110001. Osservando la tabella si vede che non esistono parole di codice, all'infuori di quella che rappresenta il simbolo A, che possano generare la sequenza ricevuta alterando un solo bit. Il simbolo A è dunque quello che dista meno dalla sequenza ricevuta. Il ricevitore può dunque la parola ricevuta, quindi, sia: correggere l'errore. 5.2.2 Protezione a ridondanza di blocco E' un'estensione del controllo di parità. Dato un insieme di parole (blocco), si esegue il calcolo del bit di parità in modo incrociato: verticalmente e longitudinalmente. La tabella riporta un esempio effettuato su un blocco di 5 parole di 4 bit ciascuna. 1 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 0 0 1 In ricezione il blocco di bit viene posto sotto matrice in modo analogo a quello adottato per il trasmettitore e sottoposto al controllo di parità. 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 1 Supponiamo che il bit all'incrocio tra la terza riga e la terza colonna subisca, in trasmissione, un'inversione. In tal modo si avrà che sia la terza riga che la terza colonna non rispetteranno più il criterio di parità. Ciò significa che all'incrocio tra esse vi sarà un bit errato. Ultimo aggionamento: 08/01/2014 pag. 14 La trasmissione numerica PARTE II - TRASMISSIONE NUMERICA IN BANDA BASE 6. La trasmissione numerica in banda base La trasmissione numerica in banda base è la trasmissione diretta di informazioni sotto forma di segnali numerici su un mezzo trasmissivo. Non viene eseguito alcun processo di modulazione. Il trasmettitore, dopo la codifica di sorgente e di canale, associa ad ogni bit della stringa che deve trasmettere un impulso avente un'adeguata forma d'onda (codifica di linea). Dal momento che ogni mezzo trasmissivo reale introduce distorsioni si avrà che in ricezione gli impulsi avranno una forma d'onda diversa da quella che avevano in origine. Inoltre, occorre tener anche conto degli effetti del rumore. Tuttavia, poiché in una trasmissione numerica l'informazione è contenuta in una combinazione di codice, il contenuto informativo del segnale rimane invariato fino a quando tale combinazione è riconoscibile. La degradazione del segnale dovuta agli effetti distorsivi del canale e del rumore, pertanto, non avrà effetto se la sequenza di bit viene correttamente riconosciuta dal ricevitore. A differenza di quanto avviene nella trasmissione analogica, dove il ricevitore deve ricostruire la forma d'onda del segnale trasmesso la più fedele possibile, nel caso della trasmissione numerica questo non è necessario: è sufficiente che ogni bit venga correttamente riconosciuto. Il segnale ricevuto viene campionato in particolari intervalli temporali e confrontato con una soglia di riferimento: se tale soglia viene superata si avrà un particolare stato logico (ad esempio 1), altrimenti, se non viene superata, si avrà lo stato logico opposto (ad esempio 0). Da quanto appena illustrato si comprende che l'operazione di sincronizzazione che consente di eseguire il campionamento in ricezione è particolarmente delicata: essa deve essere perfettamente sincronizzata con quanto avviene in trasmissione; trasmettitore e ricevitore devono avere lo stesso riferimento temporale. Se la degradazione del segnale supera particolari limiti vi sarà un aumento della probabilità di errore. La qualità di una trasmissione numerica viene quindi misurata sulla base del tasso d'errore, ovvero del rapporto tra bit ricevuti errati e bit trasmessi complessivamente. (19) 6.1 Capacità di un canale di comunicazione La capacità di un canale di comunicazione è definita come la massima quantità di informazione che esso riesce a trasmettere in modo affidabile nell'unità di tempo. (20) 6.1.1 Capacità di un canale in assenza di rumore Un canale di trasmissione è ben rappresentabile, da un punto di vista fisico, come un filtro passa-basso (vedi figura 8a). Ultimo aggionamento: 08/01/2014 pag. 15 La trasmissione numerica Supponiamo che il trasmettitore invii una sequenza binaria come quella illustrata dalla figura 8b dove ogni simbolo ha una durata pari a Ts. Il segnale presente all'uscita del canale avrà una forma d'onda come quella riportata in figura 8c (carica e scarica del condensatore C). Se il tempo Ts diviene troppo piccolo il condensatore non riesce più a caricarsi e a scaricarsi completamente e si avrà la situazione descritta nella figura 9b. In tale situazione i simboli 1 e 0 rischiano di non essere più riconoscibili. Se indichiamo con Tmin il tempo minimo di durata di un bit per avere ancora la garanzia di riconoscibilità si avrà che: (21) rappresenta la capacità del canale (al numeratore abbiamo ed al denominatore la sua durata). 1 bit Lo sviluppo in serie di Fourier del segnale di figura 9a conduce a: per k dispari Un tale segnale, inviato in un canale di comunicazione, per essere perfettamente riprodotto dovrebbe mantenere inalterate le caratteristiche di ampiezza e fase di ogni armonica. In pratica, però, la perfetta ricostruzione del segnale non è necessaria per la decifrabilità dei bit che lo costituiscono. E' sufficiente che il canale consenta il passaggio inalterato della componente continua e della prima armonica. Se indichiamo con f1 la frequenza di tale armonica, possiamo scrivere: (22) Se componente continua e prima armonica transitano in modo inalterato vuol dire che la risposta in frequenza del canale di trasmissione si ammette che sia come quella di figura 10a. La banda passante di tale canale è: B = fmax - fmin = f1 e quindi: (23) In genere non si desidera quasi mai far transitare la componente continua in un canale di trasmissione in quanto ciò potrebbe alterare le condizioni di polarizzazione dei vari componenti attivi presenti lungo la linea (amplificatori, filtri attivi, equalizzatori, ecc.). D'altronde la sola armonica fondamentale è sufficiente per garantire la distinguibilità dei due livelli di tensione associati ai due stati logici. E così si lasciano transitare tutte le frequenza comprese tra una fmin ed f1. In sostanza si ammette per il canale una risposta di filtro passa-banda ideale come quella di figura 10b. La (23) costituisce il criterio di Nyquist per il canale ideale: per ogni Hz di banda disponibile la capacità del canale cresce di 2 bit/s. Questo risultato, per come è stato ottenuto, rappresenta un limite ideale. Ultimo aggionamento: 08/01/2014 pag. 16 La trasmissione numerica 6.1.2 Capacità di un canale in assenza di rumore e con codice multilivello Per aumentare le prestazioni di un canale di trasmissione si può adottare una codifica multilivello che associa un simbolo della sorgente ad un particolare livello di tensione. La figura 11, ad esempio, mostra quattro possibili livelli di tensione ognuno dei quali di durata Ts . Ad ognuno di tali livelli (o simboli) associamo una coppia di bit. Se la durata di ogni livello è la stessa di quella vista nel paragrafo precedente per un bit, allora la capacità del canale raddoppia. La capacità di una canale multilivello, che indichiamo con Cn, sarà: (24) dove con Qn si è indicata la quantità di informazione di ciascun simbolo. Se i simboli sono equiprobabili avremo che: (25) sostituendo nella (24): (26) L'aumento della capacità del canale è però ottenuto a scapito di una minore immunità ai disturbi. Ciò in quanto diminuisce la differenza di tensione tra due livelli e, quindi, anche un piccolo disturbo può alterare il contenuto informativo di uno dei suddetti livelli. Se indichiamo con VMAX la tensione di fondo scala e con V l'ampiezza di uno dei livelli avremo che il numero di questi, incluso lo zero, sarà: che sostituita nella (26) fornisce: (27) 6.1.3 Capacità di un canale in presenza di rumore Se il rumore presente nel canale è confrontabile col livello di tensione V che separa i vari simboli è molto probabile che si verifichi una non corretta ricezione del segnale sul ricevitore. Si può dimostrare che in presenza di canale rumoroso la capacità di trasmissione vale: (28) che va sotto il nome di teorema di Shannon per una canale reale. Attenzione! S ed N rappresentano le potenze del segnale e del rumore (non le tensioni). E' questo il limite che non ci consente di aumentare liberamente la capacità di un canale aumentando il numero dei livelli (in base alla 27): aumentando il numero dei simboli i dislivelli di tensione divengono troppo piccoli rispetto al valore del rumore presente nel canale. Ancora una volta è bene porre in rilievo che la (28) è comunque un limite superiore e che in condizioni reali la capacità di un canale di trasmissione è ancora inferiore. Tale relazione, infatti, non tiene conto di altri fenomeni che contribuiscono a degradare il segnale (distorsioni di ampiezza e fase, diafonie, intermodulazioni, ecc.). Ultimo aggionamento: 08/01/2014 pag. 17 La trasmissione numerica 6.1.4 Velocità di trasmissione e velocità di modulazione Supponiamo di avere un canale di comunicazione che sia in grado di trasportare in modo affidabile n simboli distinti. E supponiamo, inoltre, che la sorgente sia costituita da un alfabeto di m simboli. E' allora necessario introdurre una legge di codifica che consenta di associare ad ogni simbolo della sorgente uno o più simboli adatti al canale che stiamo considerando. Il valore massimo della velocità media di trasmissione dei simboli, anche indicata con il termine di velocità di modulazione, vale: (29) simboli/s o baud. Facciamo un esempio. Supponiamo che il canale abbia una capacità di 10 bit/s e che la quantità media di informazione della sorgente sia di 2 bit/simbolo. La velocità di modulazione sarà allora di 5 simboli/s o 5 baud. Infatti, se io rappresento ogni simbolo, in media, con 2 bit ed il canale può ospitare una velocità massima di 10 bit/s è chiaro che ogni secondo potrò inviare, sempre in media, 5 simboli. che si misura in La velocità di trasmissione, indicata con vT (o frequenza di cifra), rappresenta la quantità di informazione (espressa in bit) trasmessa nell'unità di tempo. Si misura in bit/s. Non deve essere confusa con la velocità di modulazione, che invece rappresenta il numero di simboli trasmessi nell'unità di tempo, e che si misura in baud. Soltanto se la sorgente è binaria, e quindi costituita da due soli simboli, queste due velocità coincidono. 6.2 Codifica di linea La codifica di linea è quel processo tramite il quale un insieme di simboli Kè convertito in un insieme di K. Oltre a ciò la codifica di linea fornisce al segnale numerico le caratteristiche idonee livelli L con L all'ottimizzazione della trasmissione. In particolare: • • • • realizza una sagomatura dello spettro di potenza che sia il più possibile simile a quella del canale trasmissivo; semplifica le operazioni di recupero del segnale di temporizzazione, da parte del ricevitore, per consentirne il corretto riconoscimento; consente la misura della qualità della trasmissione; genera segnali privi di componente continua (anche per poter effettuare la telealimentazione degli apparati presenti lungo la linea). I codici impiegati nella codifica di linea si classificano in: • • codici interni, per ottimizzare il funzionamento dei circuiti elettronici all'interno degli apparati; codici di linea veri e propri, utilizzati nei sistemi di trasmissione con lo scopo di convertire il segnale numerico, dopo la codifica di sorgente e di canale, in una sequenza di simboli più adatta al mezzo trasmissivo. Ultimo aggionamento: 08/01/2014 pag. 18 La trasmissione numerica 6.2.1 Codici interni Si tratta di codici a due livelli che associano ad ogni stato logico un livello di tensione. Il codice NRZ (Not Return to Zero) è rappresentato in figura 12a: Tb rappresenta la durata del singolo impulso, corrispondente ad uno stato logico, e l'inverso di tale tempo è la velocità di trasmissione che, in questo caso, coincide con la velocità di modulazione. (30) La denominazione NRZ deriva dal fatto che se per due intervalli di tempo Tb consecutivi si presenta lo stesso stato logico il corrispondente livello di tensione rimane inalterato. Lo spettro, riportato in figura 12b, presenta un lobo principale e più lobi secondari con annullamenti di f in corrispondenza di 1/Tb e successivi multipli. Con questo codice, quindi, non è possibile per il ricevitore estrarre la componente spettrale a frequenza fb indispensabile per la sincronizzazione. Il codice RZ (Return to Zero) si ottiene dall'NRZ riducendo a metà la durata dell'impulso corrispondente allo stato logico 1. E' illustrato in figura 13a. Lo spettro, questa volta, è costituito da un lobo principale che si estende dalla continua fino alla frequenza 2fb e da una serie di lobi secondari con annullamenti a 2fb e successivi multipli. Questo codice presenta il vantaggio di poter estrarre, in ricezione, la frequenza fb necessaria per la sincronizzazione. Ha però lo svantaggio di occupare una banda doppia rispetto al codice NRZ. 6.2.2 Codici di linea AMI (Alternate Mark Inversion) è una codifica che usa tre livelli di tensione: +V, 0, -V. Lo si ottiene dal codice RZ associando allo stato logico 1 alternativamente impulsi positivi e negativi. Lo stato logico 0 rimane inalterato (vedi figura 14a). Lo spettro del segnale AMI presenta una concentrazione della potenza ad una frequenza pari a fb/2. La componente continua è assente (lo spettro vale 0 per f=0). Gli annullamenti successivi dello spettro si situano ad fb e suoi Il codice multipli (vedi figura 14b). Per il recupero della frequenza fb, ai fini della sincronizzazione, si procede ad un raddrizzamento del segnale AMI in modo da ottenere un RZ contenente fb. Si sottolinea, infine, che il segnale AMI consente la misura del tasso di errore. Ultimo aggionamento: 08/01/2014 pag. 19 La trasmissione numerica HDBn (High Density Bipolar Code di ordine n ) deriva dall'AMI: i bit 1 La codifica sono alternativamente positivi e negativi sino a quando non si presentano n bit pari a 0. In questo caso l'n+1-esimo bit 0 si 1 avente la stessa 1 che precede la sequenza di codifica con un bit polarità del bit 0. Tale bit particolare viene indicato col termine bit di violazione, in quanto viola il principio di alternatività. Il codice più utilizzato è l'HDB3 nel quale si ammette un massimo di tre stati logici pari a 0 consecutivi (vedi figura 15). Il vantaggio principale di questo tipo di codifiche è che vengono eliminate quelle lunghe sequenze di che rendono difficoltosa l'estrazione del segnale di clock. 0 7. Trasmissione numerica in banda traslata La trasmissione numerica in banda traslata consiste nella modulazione di una portante analogica, di tipo sinusoidale, da parte di un segnale digitale. Nella letteratura del settore tale trasmissione è anche indicata col termine di modulazione digitale di portante analogica. Un segnale sinusoidale, come ormai dovrebbe apparir chiaro, è univocamente individuato da tre parametri: ampiezza, frequenza e fase. Si possono quindi avere tre tipi di modulazione: di ampiezza, di frequenza e di fase. Concettualmente non vi sono differenze con le modulazioni analogiche già incontrate in precedenza. La sola differenza è che qui il segnale modulante non è analogico ma digitale. Tutte le considerazioni fatte a proposito delle modulazioni analogiche, quindi, possono essere riprese per le modulazioni digitali. Per certi versi, anzi, le modulazioni digitali possono essere considerate più semplici. Ciò in quanto il segnale modulante non assume, istante per istante, un valore diverso, ma solo due possibili livelli: uno per lo stato logico 0 e l'altro per lo stato logico 1. Per distinguere queste modulazioni da quelle analogiche si usa il termine inglese Shift Keying (codifica a scostamento). Avremo quindi la modulazione d'ampiezza, ASK (Amplitude Shift Keying), quella di frequenza FSK (Frequency Shift Keying) e quella di fase PSK (Phase Shift Keying). Va detto, inoltre, che le modulazioni ASK e FSK sono sempre meno usate e la maggior parte dei sistemi di trasmissione che utilizzano modulazioni digitali usa prevalentemente la PSK o altre modulazioni che sono combinazioni di ASK e FSK. 7.1 ASK Come abbiamo già indicato tale modulazione può essere vista come una normale AM nella quale la (5) modulante assume l'aspetto di un'onda pseudo-quadra . Anche qui occorre imporre che la frequenza della portante sia maggiore della frequenza della modulante. Ciò equivale ad imporre che nell'intervallo di tempo di durata di un bit, che indichiamo con Tb, si sviluppi almeno un periodo completo di portante. 5 Si tratta di un'onda in cui la distribuzione dei due livelli non è regolare (ovvero, è del tutto casuale) come nell'onda quadra. Ultimo aggionamento: 08/01/2014 pag. 20 La trasmissione numerica In figura 16 è visibile l'andamento del segnale portante, del segnale modulante a due livelli e del segnale modulato. Il segnale modulato ASK, come si può notare, coincide con la portante durante il livello alto e con una frazione di questa durante il livello basso. Se l'espressione della portante è: il segnale modulato ASK avrà l'espressione: Nel caso in cui in corrispondenza del bit 0 l'ampiezza del segnale modulato sia nulla si ottiene la modulazione OOK (ON-OFF Keying). In questo caso l'espressione del segnale modulato sarà: In figura 17 è illustrato lo schema di principio della modulazione OOK. Ed in figura 18 è visibile l'andamento del segnale modulante a due livelli e del segnale modulato. La modulazione OOK presenta il vantaggio, rispetto alla ASK, di trasportare una potenza inferiore. Presenta anche uno svantaggio: nel caso di lunghe sequenze di 0 queste potrebbero essere interpretate dal ricevitore come un'interruzione del collegamento. Quindi, quando si adotta questa modulazione, è bene inserire ogni sequenza di 0 superiore ad una determinata quantità un 1. Questi 1, naturalmente, dovranno essere eliminati in ricezione prima della fase della decodifica. Ultimo aggionamento: 08/01/2014 pag. 21 La trasmissione numerica A parità di frequenza della portante si può raddoppiare la velocità di trasmissione raggruppando coppie di bit ed associando ciascuna di queste ad uno fra quattro possibili livelli. Questa situazione è illustrata nella figura 19. La figura 20, invece, illustra una modulazione ASK ad otto livelli con la quale si triplica la velocità di trasmissione (rispetto al caso binario semplice). Questo procedimento non può però essere esteso all'infinito. Infatti, all'aumentare del numero dei livelli aumenta la probabilità, in ricezione, di commettere errori di interpretazione. Ciò in quanto l'ampiezza di ogni livello diminuisce e diviene sempre più confrontabile con il rumore. Se invece si vuole mantenere costante l'ampiezza di ogni livello, evidentemente, occorrerà aumentare l'ampiezza massima del segnale modulato e ciò comporta una crescita della potenza trasmessa (che, come è bene ricordare, aumenta in modo quadratico rispetto all'ampiezza). Per queste ragioni, e per il fatto che come tutte le modulazioni analogiche è particolarmente sensibile al rumore, la tecnica ASK è oggi sempre meno usata. 7.1.1 Spettro di un segnale ASK ed occupazione di banda Consideriamo un segnale sinusoidale modulato in ampiezza da un segnale digitale del tipo di quello mostrato in figura 21. Poniamoci il problema di valutare la potenza associata al segnale modulato ASK e l'occupazione di banda di questo. Trattandosi di una modulazione d'ampiezza possiamo scrivere: (31) dove d(t), essendo un segnale ad onda quadra periodico, è sviluppabile in serie di Fourier e può così essere scritto: (32) Se ora si sostituisce la (32) nella (31) si ottiene: Ultimo aggionamento: 08/01/2014 pag. 22 La trasmissione numerica esplicitando i primi termini della serie: (33) Sappiamo, inoltre, che per ogni e, ricordando che m< α e per ogni β possiamo scrivere (formula di Werner): p, poniamo: (l'altra posizione, pur essendo matematicamente lecita, la dobbiamo però scartare in quanto condurrebbe a valori di frequenza negativa che non hanno senso fisico). Applicando le formule di Werner alla (33) si ottiene: Sappiamo che per un segnale modulato in ampiezza la potenza complessiva è la somma della potenza trasportata dalla portante e di quella trasportata da ciascuna banda laterale: dove la potenza associata alla portante vale: e quella ad una banda laterale: (34) ricordando che: possiamo riscrivere la (34): la potenza complessiva esatta è, allora: (35) Ultimo aggionamento: 08/01/2014 pag. 23 La trasmissione numerica Se poniamo alto: Vp =E si ottiene il caso della OOK. Infatti, analizzando la (31) si ha che nel corso del livello si ottiene perciò un segnale equivalente alla portante con ampiezza doppia. Nel corso del livello basso, invece, si ha: E quindi la (35) può essere riscritta: (36) Poniamoci ora il problema di calcolare la potenza approssimata al solo termine fondamentale (sempre in riferimento al caso della OOK). Dobbiamo allora riconsiderare la (34) e porre n=0. In tal modo l'unico termine della serie corrisponde all'armonica fondamentale. La potenza totale, approssimata alla presenza della sola armonica fondamentale, vale dunque: Ciò equivale a dire che se limitiamo lo spettro alla presenza della sola portante e dell'armonica fondamentale avremo, complessivamente, il 91% circa di tutta la potenza che avremmo se considerassimo tutte le armoniche (fino a quella di grado infinito). Ripetiamo il calcolo includendo, questa volta, anche la terza armonica: La potenza totale, approssimata alla presenza dell'armonica fondamentale e della terza armonica, vale dunque: (37) Ciò equivale a dire che se limitiamo lo spettro alla presenza della portante, dell'armonica fondamentale e della terza armonica avremo, complessivamente, il 95% circa di tutta la potenza che avremmo se considerassimo tutte le armoniche (fino a quella di grado infinito). E' allora ragionevole limitare lo spettro alla portante, l'armonica fondamentale e la terza armonica e considerare, quale banda occupata dal segnale (vedi figura 22): (38) Ultimo aggionamento: 08/01/2014 pag. 24 La trasmissione numerica 7.2 FSK Anche la FSK , come la ASK , non presenta sostanziali differenze con la sua equivalente analogica. Anzi, in questo caso si può dire che è molto più semplice. In sostanza si associa un segnale sinusoidale con frequenza f0 allo stato logico 0 ed un altro segnale sinusoidale con frequenza f1 allo stato logico 1. I due segnali sinusoidali hanno la medesima ampiezza. Oppure, in termini di deviazione di frequenza, si può pensare di avere una portante fp alla quale venga sommata o sottratta una certa frequenza per ottenere f0 ed f1: In questo tipo di modulazione è molto importante la continuità di fase; sia per garantire una buona ricezione che per ottenere un basso livello di errori. Nella transizione da uno stato logico a quello opposto, in pratica, il segnale modulato non deve presentare brusche variazioni. Per far ciò è necessario che per ogni bit si abbia un numero intero di periodi del segnale. Secondo questa impostazione, allora, si fissa una delle due frequenze e si pone l'altra pari ad un multiplo intero della prima: Scegliendo 2, ovviamente, si avrà una minore occupazione di banda La figura 23 mostra lo schema di principio di un modulatore FSK. La figura 24, invece, l'andamento temporale temporalmente con un segnale digitale. del segnale FSK correlato Anche la FSK può essere fatta su più livelli. Per coppie di bit, ad esempio, si opera in questo modo. Alla coppia 00 si associa una frequenza, diciamo base. Ed alle coppie successive si associano multipli interi della frequenza base (vedi figura 25). In questo modo si aumenta la velocità di trasmissione senza aumentare quella di modulazione. E quindi l'occupazione di banda resta la medesima. Ultimo aggionamento: 08/01/2014 pag. 25 La trasmissione numerica 7.2.1 Spettro di un segnale FSK ed occupazione di banda Un segnale FSK può essere considerato come somma di due segnali modulati ASK-OOK con portanti f0 ed f1. La figura 26 mostra l'andamento temporale di una modulante digitale (primo grafico), di una modulata ASK- OOK con frequenza portante f0 (secondo grafico), una modulata ASK-OOK con frequenza portante f1 (terzo grafico) e di una modulata FSK (quarto grafico). Lo spettro di tale segnale FSK sarà allora quello riportato in figura 27. Supponendo, come per il caso della ASK-OOK, una modulante digitale costituita da una successione di 1 e 0 con frequenza fm e limitando lo spettro alla portante, all'armonica fondamentale e alla terza armonica si ha, per la banda occupata dal segnale: (39) dove si è ipotizzato di associare allo stato 0 la frequenza più alta (f0>f1). Confrontando questo tipo di modulazione con l'ASK si nota un aumento della banda occupata di una quantità pari a: f0-f1. 7.3 PSK Rispetto all'ASK ed alla FSK la PSK trova oggi ancora molti spazi di impiego. Consideriamo, ancora una volta, un segnale armonico di frequenza fp. In base al bit da trasmettere si attribuisce a tale segnale uno sfasamento di 0° o di 180°. In linea di principio si potrebbero attribuire, ai due stati logici, un'altra qualunque coppia di valori di fase. La scelta di 0° e 180° presenta però due innegabili vantaggi: • • le due forme d'onda della modulata sono molto diverse tra loro e quindi, in ricezione, vi è una minore possibilità di errore; il circuito che realizza tali sfasamenti è molto semplice. Ultimo aggionamento: 08/01/2014 pag. 26 La trasmissione numerica La figura 28 mostra un esempio di segnale modulato PSK. In realtà questo tipo di modulazione assume la denominazione 2PSK. Ciò in quanto, come accadeva per l'ASK e la FSK anche in questo caso è possibile codificare coppie di bit con fasi differenti. In pratica, nella 4PSK (anche indicata con la sigla QPSK), ad ognuna delle coppie 00, 01 10 e 11 viene 0°, 90°, 180° e associata una delle fasi 270°. Nella 8PSK, invece, si associano terne di bit a segnali sfasati fra loro di 45°. 7.3.1 Spettro di un segnale 2PSK ed occupazione di banda Consideriamo un segnale sinusoidale del tipo: modulato in 2PSK dal segnale digitale di figura 21 (vedi pag. 22), che può essere considerato un'onda quadra con duty-cycle del 50%, con Tm =2Tb. L'espressione analitica del segnale modulato la possiamo scrivere nel seguente modo: che per comodità possiamo riscrivere: (40) con: b(t)=1 se d(t)=0 (stato logico basso) b(t)=-1 se d(t)=1 (stato logico alto) Il segnale b(t) ha quindi lo stesso andamento di d(t). L'unica differenza è che i livelli di E' un segnale che, sviluppato in serie di Fourier, diviene: b(t) sono +1 e -1. (41) in quanto la frequenza di ripetizione di otteniamo: b(t) e di d(t) coincidono. Se sostituiamo la (41) nella (40) approssimando questa espressione alla terza armonica si ottiene: Ultimo aggionamento: 08/01/2014 pag. 27 La trasmissione numerica ricordando le formule di Werner relativamente al prodotto di un seno per un coseno: Osservando questa espressione notiamo la presenza di quattro armoniche a frequenza: fp+fm , fp-fm, fp+3fm e fp-3fm Notiamo, inoltre, l'assenza della portante e ciò comporta un innegabile vantaggio in termini di risparmio di potenza. La banda occupata, infine, vale: (42) al pari del segnale modulato ASK-OOK. 7.4 QAM Quando si desidera raggiungere un'elevata velocità di trasmissione, senza aumentare l'occupazione di banda, è necessario fare ricorso a modulazioni di tipo misto. Si tratta di tecniche che combinano la modulazione d'ampiezza e quella di fase. La QAM (Quadrature Amplitude Modulation) ne è l'esempio più diffuso. Si considerano pacchetti di quattro, cinque o più bit. Alcuni di essi svolgono una modulazione di tipo ASK a 2, 4 od 8 livelli; i restanti svolgono una modulazione di tipo PSK. La 16QAM, ad esempio, considera quaterne (o quadribit) di bit Q1 Q2 Q3 Q4 di cui Q1 destinato all'ASK e Q2 Q3 Q4 PSK. Il nome 16QAM deriva dal fatto che con questo tipo di modulazione si possono codificare fino Q1, ed 8 possibili sfasamenti (0°,45°,90°,135°,180°,225°,270° e 315°) controllati dalla terna (o tribit) Q2 Q3 Q4. alla a 16 simboli differenti. Si hanno, pertanto, due possibili valori dell'ampiezza, controllati da Dal punto di vista matematico l'espressione del segnale modulato 16QAM si ottiene sommando vettorialmente due segnali armonici isofrequenziali e in quadratura (una sinusoide ed una cosinusoide, ad esempio). Tali segnali, prima di essere sommati, sono modulati in ampiezza da altri due segnali P(t) e Q(t) a quattro livelli: -1, -1/3, +1, +1/3. Se indichiamo con fp la frequenza della portante e con Vp la sua ampiezza avremo, per il segnale 16QAM: (43) Lo schema di principio di questa modulazione è rappresentato in figura 29. Vi sono due moltiplicatori, all'ingresso di ognuno dei quali vengono applicati i due segnali P(t) e Q(t) e le portanti isofrequenziali ed ortogonali. Le uscite di tali moltiplicatori sono poi sommate per ottenere il segnale 16QAM. Va detto, inoltre, che i valori Ultimo aggionamento: 08/01/2014 pag. 28 La trasmissione numerica assunti da P(t) e Q(t) sono determinati dal quadribit, relativo al simbolo che di volta in volta deve essere trasmesso, secondo la tabella successiva. fase 10 9 12 11 13 15 14 16 8 6 7 5 3 4 1 2 Q3 Q2 Q1 Q0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 P(t) -1/3 -1 -1/3 -1 1/3 1/3 1 1 -1/3 -1/3 -1 -1 1/3 1 1/3 1 Q(t) -1/3 -1/3 -1 -1 -1/3 -1 -1/3 -1 1/3 1 1/3 1 1/3 1/3 1 1 In figura 30a è rappresentato il diagramma vettoriale delle due oscillazioni isofrequenziali e ortogonali. In figura 30b, invece, è rappresentato il segnale 16QAM. Per fare un esempio, consideriamo la fase 10 P(t) e Q(t) valgono, rispettivamente, -1/3 e -1/3. -Vp/3 e --Vp/3. Si tratta, allora, dei due vettori indicati nella figura 30a uno orientato lungo l'asse negativo delle x e l'altro lungo l'asse positivo delle y. della tabella. Per essa, come si può vedere, i segnali Le ampiezze delle due oscillazioni varranno, allora, La loro somma da luogo al vettore indicato con 10 nella figura 30b. Ultimo aggionamento: 08/01/2014 pag. 29 La trasmissione numerica 7.5 Probabilità di errore La qualità di una trasmissione numerica è espressa dal tasso di errore indicato con l'acronimo BER (Bit Error Ratio) che corrisponde al rapporto fra il numero di bit ricevuti errati ed il numero dei bit trasmessi in un determinato intervallo di tempo. E' necessario poter conoscere a priori la probabilità di errore Pe di un sistema di comunicazione numerico. Questa probabilità dipende da diversi fattori. 7.5.1 Interferenza intersimbolica (ISI) e caratteristiche del canale La limitazione di banda del canale allarga e arrotonda gli impulsi rettangolari del segnale numerico, in tal modo ciascun impulso viene ad invadere anche gli intervalli di tempo relativi ai bit adiacenti; è questo il fenomeno dell'ISI (Inter Simbol Interference). Per il calcolo della probabilità di errore supporremo nel seguito che il canale impiegato sia di tipo lineare e con funzione di trasferimento costante in una banda molto maggiore rispetto a quella interessata dai segnali numerici trasmessi; in tal modo si potrà ritenere trascurabile il fenomeno dell'ISI. 7.5.2 Rumore Nell'ipotesi di assenza di ISI il rumore è l'unica causa di errore. In un sistema di comunicazione si tiene conto del rumore immaginando che esso si sommi al segnale in ingresso al ricevitore (vedi figura 31). II segnale n(t) che rappresenta il rumore è un segnale aleatorio, di cui si possono stimare soltanto i valori medi. Supporremo in particolare che il rumore sia di tipo termico, cioè sia un processo gaussiano a valore medio nullo e con spettro di densità di potenza costante pari a Gn [W/Hz]. Ciò significa che la potenza del rumore è distribuita in modo uniforme alle varie frequenze (rumore bianco). Per limitare il rumore in ingresso al ricevitore, questo è sempre preceduto da un filtro di ingresso passa banda, con banda passante BT . In tal modo la potenza di rumore in ingresso al ricevitore risulta: 7.5.3 Potenza trasmessa e potenza ricevuta Nell'ipotesi di canale lineare, la potenza trasmessa e quella ricevuta sono linearmente legate fra loro. La potenza ricevuta incide sulla probabilità di errore in quanto quest'ultima risulta essere una funzione del rapporto S/N, tra la potenza media ricevuta e la potenza del rumore. Ultimo aggionamento: 08/01/2014 pag. 30 La trasmissione numerica 7.5.4 Velocità di trasmissione dell'informazione La velocità di trasmissione larghezza di banda vT è doppiamente legata alla potenza trasmessa. Infatti da vT dipende la BT del segnale utile e quindi la potenza di rumore N=BTGn. Assumendo, ad esempio, BT=2vT risulta: Pe, S a scapito della velocità di trasmissione vT, o viceversa. Per avere, quindi, in una comunicazione, una certa probabilità di errore potenza trasmessa si può agire sul valore della 7.5.5 Modulazione e demodulazione dei segnali La funzione che lega la probabilità di errore Pe al rapporto dalla tecnica di demodulazione adottate. La durata corrispondente all'inverso della velocità di trasmissione: In luogo di Tb S/N dipende anche dal tipo di modulazione e di un singolo bit del segnale modulante, vT si considera, spesso, la frequenza fondamentale della trasmissione, data da: 7.6 Pe nel caso della modulazione ASK La demodulazione di un segnale OOK può essere effettuata in modo coerente o in modo incoerente (vedi figura 32). In generale la demodulazione coerente offre prestazioni superiori rispetto a quella incoerente, poiché a parità di rapporto segnale/rumore comporta una probabilità di errore inferiore. È però più complessa, in quanto è necessario sincronizzare in frequenza e in fase il segnale generato dall'oscillatore locale con il segnale ricevuto; tale operazione è normalmente effettuata con un circuito ad aggancio di fase (PLL). Ultimo aggionamento: 08/01/2014 pag. 31 La trasmissione numerica Nel caso della demodulazione coerente, il segnale ricevuto, dopo essere stato filtrato dal filtro passabanda d'ingresso per limitare il contenuto di rumore, viene moltiplicato per la portante: ricostruita mediante un oscillatore locale; il prodotto viene filtrato con un filtro passa-basso che ne estrae la componente continua, e infine inviato ad un circuito di soglia, all'uscita del quale sono presenti i bit demodulati. Con i simboli di figura 32, valutiamo l'uscita in presenza del solo segnale utile tralasciando per ora il rumore: con: La presenza del rumore si traduce in un termine aleatorio sommato a esattamente pari a: V2; pertanto, V2, non sarà (a seconda del bit trasmesso) ma sarà prossimo a tali valori. Per decidere quale bit sia stato trasmesso, il circuito di soglia viene tarato ad un valore in modo che restituisca un segnale corrispondente al livello logico 1 se corrispondente al livello logico V2 VS: Vs, ed un segnale 0 se V2<Vs: Ultimo aggionamento: 08/01/2014 pag. 32 La trasmissione numerica In ogni caso il rumore n(t), nell'istante di clock in cui avviene il confronto di V2 con Vs, può essere tale da far "scavalcare" a V2 la soglia Vs, causando una ricezione errata. Nell'ipotesi di rumore AWGN (cioè di rumore additivo bianco e gaussiano), la probabilità che questo avvenga (probabilità di errore) è data da: con: I valori della funzione x Q(x) .05 .10 .15 .20 .25 .30 .35 .40 .45 .50 .55 .60 .65 .70 .75 .80 .85 .90 .95 1.00 fino a .4801 .4602 .4405 .4207 .4013 .3821 .3632 .3446 .3264 .3085 .2912 .2743 .2578 .2420 .2266 .2119 .1977 .1841 .1711 .1587 Q(x) sono riportati nella tabella, per valori dell'argomento: x 1.05 1.10 1.15 1.20 1.25 1.30 1.35 1.40 1.45 1.50 1.55 1.60 1.65 1.70 1.75 1.80 1.85 1.90 1.95 2.00 Q(x) .1469 .1357 .1251 .1151 .1056 .0968 .0885 .0808 .0735 .0668 .0606 .0548 .0485 .0446 .0401 .0359 .0322 .0287 .0256 .0228 x 2.05 2.10 2.15 2.20 2.25 2.30 2.35 2.40 2.45 2.50 2.55 2.60 2.65 2.70 2.75 2.80 2.85 2.90 2.95 3.00 Q(x) .0202 .0179 .0158 .0139 .0122 .0107 .0094 .0082 .0071 .0062 .0054 .0047 .0040 .0035 .0030 .0026 .0022 .0019 .0016 .0013 x Q(x) 3.05 3.10 3.15 3.20 3.25 3.30 3.35 3.40 3.45 3.50 3.55 3.60 3.65 3.70 3.75 3.80 3.85 3.90 3.95 4.00 .00114 .00097 .00082 .00069 .00058 .00048 .00040 .00034 .00028 .00023 .00019 .00016 .00013 .00010 .00009 .00007 .00006 .00005 .00004 .00003 4. Per x > 4 è lecita l'approssimazione, per il calcolo della Pec : Nel caso della demodulazione incoerente (vedi figura 33), il segnale ricevuto, anziché essere moltiplicato per la portante ricostruita localmente, viene moltiplicato per se stesso, sottoponendolo ad una operazione di quadratura (che si ottiene passando attraverso una non linearità quadratica, come ad esempio un diodo). Ultimo aggionamento: 08/01/2014 pag. 33 La trasmissione numerica Per mezzo di considerazioni analoghe a quelle fatte per la modulazione coerente si ottiene, per la probabilità di errore: che possiamo anche scrivere: 7.7 Pe nel caso della modulazione FSK Come per la ASK , la probabilità di errore nella demodulazione FSK coerente si calcola mediante la funzione Q(x) definita in precedenza e tabulata nella corrispondente tabella. II valore dell'argomento x dipende anche dall'indice di modulazione mf, oltre che, come per la ASK , dall'ampiezza della portante, dalla velocità di trasmissione e dalla densità spettrale del rumore; per minima probabilità di errore, data da: formula valida indicativamente anche per >> 1; p >> mf 2/3, mf = 2/3 = 0,67 si ottiene la nelle ipotesi, solitamente verificate in pratica: pTb p. 7.8 Pe nel caso della modulazione PSK Ponendo la soglia a livello zero, si ottengono in uscita i bit demodulati. In presenza di rumore ha una probabilità di errore: Ultimo aggionamento: 08/01/2014 AWGN si pag. 34 La trasmissione numerica Per una corretta demodulazione è di fondamentale importanza un riferimento coerente del ricevitore, per evitare che la portante ricostruita si trovi agganciata in modo casuale ad una delle due posizioni di fase. II superamento di tale indeterminazione comporta una certa complessità circuitale. Questo problema può anche essere risolto mediante la modulazione DPSK (Differential PSK), che associa la cifra, non al valore assoluto della fase del segnale, ma alla sua variazione. In questo caso il demodulatore risulta più semplice. DPSK è fatta in modo da provocare un salto di fase di 180° (da 0° a 180° o viceversa) in corrispondenza della cifra 1, e nessuna variazione in corrispondenza della cifra 0. Normalmente la Con la DPSK la probabilità di errore è data da: 7.9 Pe nel caso della modulazione LPSK La modulazione polifase si realizza effettuando una codifica preliminare dei bit di sorgente, ottenuta n raggruppandoli in simboli di m bit (parallelizzazione) e facendo corrispondere a ciascuno degli L=2 simboli possibili una determinata fase della frequenza portante. In ricezione si effettua il procedimento opposto: il riconoscimento della fase (o della variazione di fase) porta alla individuazione del simbolo ed alla serializzazione dei bit che lo compongono. In pratica per la trasmissione dati è di normale impiego la codifica a 2 bit nei modem a 2400 bit/s, a 3 bit nei modem a 4800 bit/s, e a 4 bit in quelli a 9600 bit/s. per che per L>4 L = 4 fornisce in particolare: con: Ultimo aggionamento: 08/01/2014 pag. 35