Tesi di laurea igor trestini 2003

55
UNIVERSIT ` A DI BOLOGNA Facolt` a di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Comunicazioni Elettriche L-A Tesi di Laurea Analisi delle Prestazioni di Codici Spazio Tempo con Concatenazione Seriale Relatori: prof. Marco Chiani Ing. Alexandre Graell i Amat Ing. Andrea Conti Candidato: Igor Trestini Dicembre 2003

description

Analisi delle Prestazioni di Codici Spazio Tempo con Concatenazione Seriale

Transcript of Tesi di laurea igor trestini 2003

Page 1: Tesi di laurea igor trestini 2003

UNIVERSITA DI BOLOGNA

Facolta di IngegneriaCorso di Laurea in Ingegneria delle Telecomunicazioni

Comunicazioni Elettriche L-A

Tesi di Laurea

Analisi delle Prestazioni di CodiciSpazio Tempo con Concatenazione

Seriale

Relatori:prof. Marco ChianiIng. Alexandre Graell i AmatIng. Andrea Conti

Candidato:Igor Trestini

Dicembre 2003

Page 2: Tesi di laurea igor trestini 2003

Sommario

La rapida crescita di utenti nel traffico mobile vocale, di internet e di strumenta-zioni portatili ha aumentato rapidamente (e probabilmente aumentera ancora) larichiesta di servizi multimedialiwireless. La ormai matura seconda generazione(2G) di sistemi digitali cellulari (GSM, Global System for Mobile Communica-tions) fornisce una buona qualita vocale, tuttavia non riesce a garantire una altret-tanto buona qualita nel servizio di trasmissioni dati ( a causa della limitata velocitadi trasmissione del sistema). Il desiderio di supportare servizi di trasmissione datia maggior velocita, in aggiunta al sevizio di telefonia mobile vocale,e stato, eprobabilmente sara, il fattore primario per lo sviluppo dei servizi della terza (3G)o future generazioni. La neonata terza generazione di servizi di comunicazionewireless europea (UMTS, Universal Mobile Telecomunications System Standard)basata sulla tecnologia wideband code division multiple access (WCDMA) sup-porta segnali di fonia e di trasmissione dati grazie all’alta velocita di trasmissioneche puo arrivare fino a 2 Mbit/s.Le barriere all’ulteriore sviluppo di questo tipo di servizi sono rappresentate dallabassafrequenza di bit, dall’alto consumo di potenzae dall’alto costo per bit. Isistemi della terza generazione hanno aumentato la frequenza di bit e diminuitoil costo per bit trasmesso. Tuttavia i metodi di processamento del segnale pos-sono essere applicati per abbassare ulteriormente il tasso di errore, il consumo dipotenza e il costo per bit. Inoltre i metodi di processamento del segnale possiedo-no le potenzialita per ottenere le future richieste di velocita di trasmissione senzaespandere la richiesta di banda.Tra i metodi di processamento del segnalee possibile distinguere tra ilprocessa-mento temporaledel segnale che unisce assieme la modulazione e la codifica dicanale e ilprocessamento spazio temporaleche utilizza antenne multiple in tra-smissione e ricezione.

Il metodo di processamento temporale del segnale che viene analizzato dallatesie la turbo codifica. Il punto di partenza verso i Turbo Codicie stato il teoremadi Shannon che nel 1948 in [1] ha sviluppato i limiti fondamentali sulla efficienzadi un canale rumoroso. Il teorema di codifica asserisce che esistono codici con

I

Page 3: Tesi di laurea igor trestini 2003

tasso di codifica vicina alla capacita del canale e con probabilita di errore arbitra-riamente vicina a zero. Da allora gli studiosi di codifica hanno lavorato per trovarecodici che raggiungessero il limite di capacita di Shannon pur mantenendo un ri-tardo di decodifica ed una complessita accettabili. I codici concatenati di Forneysono stati il primo passo in questa direzione e i Turbo Codici, inizialmente presen-tati da Berrou in [2] nel 1993 e successivamente formalizzati in [3], rappresentanoil punto culminante dello sforzo di costruire codici potenti utilizzando codici sem-plici. La versione originale dei Turbo Codicie stata una concatenazione paralleladi due codificatori convoluzionali costituenti in cui l’informazione di ingresso alsecondo codificatoree una versione permutata dell’informazione di ingresso alprimo decodificatore. Le incredibili prestazioni dei Turbo Codici hanno motivatol’estensione del principio turbo ad altre strutture e il loro sfruttamento in applica-zioni come l’equalizzazione e la codifica di sorgente. Questa tesi analizzera unaarchitettura in cui i due codificatori siano concatenati in serie.

Il metodo di processamento spazio temporale invece utilizza antenne multi-ple in trasmissione e ricezione per minimizzare l’effetto del fading. Sie appenaevidenziato come un risultato importante nella codificae stato rappresentato dal-l’invenzione dei turbo codici che riescono ad avere performance vicine al limitedi capacita di Shannon. Tuttavia, la codifica da sola non puo risolvere pienamenteil problema dei cammini multipli di un canale: cio significa che la capacita per uncanale a un’ingresso e ad una uscita (SISO, single-input single-output)e limitata aun piccolo intervallo. Invece l’uso di antenne multiple in trasmissione e ricezionein combinazione con codifica e processamento del segnalee una strada promet-tente per il miglioramento delle prestazioni di sistemi di comunicazione wirelessin ambiente con fading. Un modello di analisi di un generico sistema spazio tem-po che impieghi antenne multiple in trasmissione e ricezionee rappresentato dalmodello MIMO (multiple input multiple output) e la capacita di un canale MIMOcon fading cresce, in teoria, linearmente con il numero di antenne in trasmissionee ricezione. Infatti scoperte recenti nella teoria dell’informazione hanno rivoluzio-nato il tradizionale punto di vista che vedeva i cammini multipli come un danno.Per avvantaggiarsi di questi nuovi risultatie stato recentemente inventato un me-todo che fornisce sia guadagno di codifica sia vantaggi in diversita: la codificaspazio tempo. Sono state proposte varie tecniche per implementarlo e per trattarel’inevitabile interferenza mutua tra i multipli sottocanali SISO di un canale MIMOsfruttandone le potenzialita: la Bell Laboratories Space Time Wireless Architec-ture (BLAST), la Codifica Spazio Tempo a Blocco (STBC) e la Codifica SpazioTempo a Traliccio (STTC). L’idea di base che risiede dietro a essee di utilizzarea proprio vantaggio i cammini multipli del canale piuttosto che di mitigarne glieffetti indesiderati.

II

Page 4: Tesi di laurea igor trestini 2003

La tesi si concentrera sulla codifica Spazio Tempo a Traliccio. Originariamen-te proposta da Tarokhat. al. [6] si ottiene introducendo ridondanza temporaleattraverso le antenne trasmittenti. Questa codifica aggiunge la dimensione spa-ziale alla dimensione temporale assumendo come sconosciuta la conoscenza delcanale al ricevitore. Infatti i bit di informazione della sorgente sono codificati invari sottosegnali, uno per ogni antenna trasmittente, antenna da cui poi il sottose-gnale viene trasmesso dopo essere stato modulato.

Ricapitolando: laturbo codificae un modo di avvicinarsi al limite di Shannondella capacita di canale mentre lacodifica spazio tempoe un modo di aumentarela capacita del canale affetto da fading sfruttando proprio i cammini multipli delcanale MIMO affetto da fading. Allora una combinazione di codici turbo spaziotempo, che incorpori i due concetti, puo rappresentare la via per, contemporanea-mente, aumentare e avvicinare la capacita limite di un canale MIMO.

La tesie organizzata nel seguente modo. Nel capitolo (1) si espone una tratta-zione approfondita della turbo codifica e dell’algoritmo usato per la sua decodifi-ca, basato sull’algoritmo BCJR dalle iniziali dei nomi dei suoi ideatori [4].Nel capitolo (2) inizialmente si approfondiscono le tematiche legate alla codificaspazio tempo e se ne introducono le principali tecniche di implementazione.

Infine si descrive in dettaglio lo schema, proposto da questa dissertazione, diturbo codificatore concatenato in serie. Il lavoro della tesi, svolto in parte pressol’ Universitat Pompeu Fabradi Barcellona e in parte presso ilPolitecnico di To-rino si propone lo studio di uno schema di codifica-decodifica caratterizzato dallaconcatenazione seriale di un codice convoluzionale con un codice spazio tempo,entrambi ricorsivi. Per il codificatore sie scelto un approcio aterminazione ditraliccio, per il decodificatore sie lavorato con la versione moltiplicativa dell’al-goritmo BCJR. Sie inoltre utilizzata la punturazione del codice esterno allo scopodi ottenere un tasso elevato senza aumentare la complessita della decodifica. Siutilizza una modulazione 4PSK, un interlacciamento sui bit, sequenze di informa-zione di 1024 e 100 simboli, due antenne in trasmissione e una o due antenne inricezione.

Nel capitolo (3) si espongono i risultati delle simulazioni svolte con l’imple-mentazione, inlinguaggio C, dello schema proposto. Si confrontano varie tipolo-gie di codice,per vari tipi di punturazione, due antenne in trasmissione, una e dueantenne in ricezione. Si confrontano i risultati ottenuti per canali affetti da fastfading e da slow fading.

Infine nel capitolo (4) si presentano le conclusioni.

III

Page 5: Tesi di laurea igor trestini 2003

Ringraziamenti

Grazie a tutti coloro che mi hanno sostenuto e aiutato nello svolgimento di questolavoro.

IV

Page 6: Tesi di laurea igor trestini 2003

Indice

Sommario I

Ringraziamenti IV

1 Turbo Codici 11.1 Introduzione alla codifica di canale . . . . . . . . . . . . . . . . . 1

1.1.1 Limite di capacita di Shannon . . . . . . . . . . . . . . . 31.2 I Codici Convoluzionali . . . . . . . . . . . . . . . . . . . . . . . 41.3 I turbo Codici . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3.1 Interlacciatore . . . . . . . . . . . . . . . . . . . . . . . 61.3.2 Terminazione del traliccio . . . . . . . . . . . . . . . . . 71.3.3 Punturazione . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Decodifica iterativa dei TC . . . . . . . . . . . . . . . . . . . . . 81.4.1 L’algoritmo euristico di decodifica iterativa . . . . . . . . 101.4.2 L’algoritmo SISO . . . . . . . . . . . . . . . . . . . . . 15

2 Codici Turbo Spazio Tempo 172.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.2 Processamento Spazio Tempo . . . . . . . . . . . . . . . . . . . 18

2.2.1 Codifica Spazio Tempo a Traliccio . . . . . . . . . . . . . 192.2.2 Codifica Spazio Tempo a Blocco . . . . . . . . . . . . . . 21

2.3 Turbo Codice Spazio Tempo Concatenato in Serie . . . . . . . . . 222.3.1 Descrizione del Sistema di Codifica . . . . . . . . . . . . 232.3.2 Descrizione del Sistema di Trasmissione . . . . . . . . . . 242.3.3 Descrizione del Sistema di Decodifica . . . . . . . . . . . 25

3 Implementazione e simulazioni sul canale affetto da fading 293.1 Codici Proposti dalla Tesi . . . . . . . . . . . . . . . . . . . . . . 303.2 Confronto di prestazioni tra architetture equivalenti . . . . . . . . 363.3 Punturazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.4 Canale affetto da Slow Fading . . . . . . . . . . . . . . . . . . . 42

V

Page 7: Tesi di laurea igor trestini 2003

INDICE

4 Conclusioni e ricerche future 43

Bibliografia 45

VI

Page 8: Tesi di laurea igor trestini 2003

Elenco delle figure

1.1 Diagramma a blocchi di un modello del sistema di trasmissione . . 21.2 Diagramma a blocchi del codificatore concatenato in serie . . . . 51.3 Diagramma a blocchi del codificatore concatenato in parallelo . . 51.4 Diagramma a blocchi del decodificatore concatenato in parallelo . 81.5 Codificatore a traliccio . . . . . . . . . . . . . . . . . . . . . . . 131.6 Singola sezione del traliccio . . . . . . . . . . . . . . . . . . . . 141.7 Il modulo SISO . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.1 Modello di canale MIMO . . . . . . . . . . . . . . . . . . . . . . 182.2 Modello di codifica spazio tempo . . . . . . . . . . . . . . . . . . 202.3 Modello di codifica spazio tempo a blocco . . . . . . . . . . . . . 212.4 Modello del turbo codificatore spazio tempo . . . . . . . . . . . . 232.5 Diagramma del sistema di trasmissione . . . . . . . . . . . . . . 242.6 Modello del turbo decodificatore spazio tempo . . . . . . . . . . . 253.1 Panoramica dei codici proposti dalla tesi, per canale affetto da fast

fading, modulazione 4PSK e interlacciatore di dimensione 1024. . 303.2 Codificatori 164, 816 e 24 per R1 e R2. . . . . . . . . . . . . . . 313.3 Codificatori 84, 1616 e 88 per R1 e R2. . . . . . . . . . . . . . . 323.4 Codificatori 44, 168 e 44 per R1 e R2. . . . . . . . . . . . . . . . 323.5 Codificatori 48, 24 e 216 per R1 e R2. . . . . . . . . . . . . . . . 333.6 Codificatori proposti, nel caso R1. . . . . . . . . . . . . . . . . . 343.7 Codificatori con codice esterno a 2 stati: 24, 28, 216. . . . . . . . 343.8 Codificatori con codice esterno a 4 stati: 44, 48, 416. . . . . . . . 353.9 Codificatori con codice esterno a 8 stati: 84, 88, 816. . . . . . . . 353.10 Codificatori con codice esterno a 16 stati: 164, 168, 1616. . . . . . 363.11 Codificatori con codice interno a 4 stati: 24, 44, 84 e 164. . . . . . 373.12 Codificatori con codice interno a 8 stati: 28, 48, 88 e 168. . . . . . 373.13 Codificatori con codice interno a 16 stati: 216, 416, 816 e 1616. . 383.14 Confronto nel caso R1 . . . . . . . . . . . . . . . . . . . . . . . 383.15 Confronto nel caso R2 . . . . . . . . . . . . . . . . . . . . . . . 393.16 Punturazione P1. . . . . . . . . . . . . . . . . . . . . . . . . . . 403.17 Confronto tra P1 e non punturati. . . . . . . . . . . . . . . . . . . 40

VII

Page 9: Tesi di laurea igor trestini 2003

ELENCO DELLE FIGURE

3.18 Confronto tra P1 e non punturati. . . . . . . . . . . . . . . . . . . 413.19 Punturazione P2. . . . . . . . . . . . . . . . . . . . . . . . . . . 413.20 Canale affetto da slow fading. . . . . . . . . . . . . . . . . . . . 42

VIII

Page 10: Tesi di laurea igor trestini 2003

Capitolo 1

Turbo Codici

1.1 Introduzione alla codifica di canale

I progettisti dei primitivi sistemi di comunicazione digitale cercavano di raggiun-gere basse probabilita di errore sul bit trasmettendo ad alte potenze o usando ban-de piu larghe di quelle strettamente necessarie. Questo approcio ottiene buoneprestazioni utilizzando le risorse piu preziose: la potenza e la larghezza spettraledi banda. Nel 1948 Shannon dimostro che alte prestazioni sono anche ottenibilichiamando in causa una terza risorsa: la complessita del sistema. Grazie a questalezione attualmente sono largamente usate tecniche di codifica e di decodifica al-tamente complesse.

L’effetto dei difetti del canale, quali il rumore, le distorsioni, e l’attenuazionee che il flusso binario destinato all’utente contiene errori. La probabilita di erroresu questa sequenza binaria ricevutae uno dei piu importanti parametri di progettodi un sistema di comunicazione. Solitamente essa deve essere tenuta al di sotto diun certo valore prefissato che dipende dal campo di applicazione. Le tecniche dicontrollo della probabilita di errore sono basate sull’aggiunta di ridondanza allasequenza di informazione. Il piu banale esempioe la ripetizione dello stesso mes-saggio sul canale trasmissivo. Quando la ridondanzae aggiunta a una sequenzabinaria di sorgente di k cifre binarie si ottiene, in uscita dal codificatore di cana-le, una sequenza di n (conn > k) cifre binarie. In questo caso le2k possibilisequenze di sorgente vengono mappate in un insieme di parole di codice di lun-ghezza n. Questo processo, eseguito dal codificatore di canale,e senza memorianel caso di codici a blocco e con memoria nel caso dei codici a traliccio di cui icodici convoluzionali ne sono un esempio. I codici sono classificati come codicia rivelazione di errore e come codici a correzione di errore (FEC, Forward Errorcorrection). Come codici a rivelazione di errore nel caso in cui il decodificatore

1

Page 11: Tesi di laurea igor trestini 2003

1 – Turbo Codici

sorgentecodificatore

dicanale

modulatore

canale

demodulatoredecodificatore

dicanale

utentey

xu

Figura 1.1. Diagramma a blocchi di un modello del sistema di trasmissione

di canale, osservando la sequenza ricevuta, si limiti a rivelare se si sono verificatio meno degli errori; esempi sono sistemi che utilizzano l’indicazione d’errore ola richiesta automatica di ripetizione (ARQ). Come codici a correzione di errorenel caso in cui il decodificatore di canale, osservando la sequenza ricevuta tenti dicorreggerli. Analizziamo i vantaggi che si ottengono usando la codifica di canale,rispetto a quelli che non la applicano, considerando il modello di figura (1.1). Lasorgenteemette cifre binarie alla frequenza diRs bit/s e il codificatore di canalemappa ogni sequenza di k cifre di sorgente in una sequenza di codice di n cifrebinarie.Rc , k

nviene chiamato rate del codice.

Si sottintende in questo caso che l’ammontare di ridondanza della sorgente sia giastata ridotta o idealmente rimossa.La velocita di trasmissione sul canale deve essere aumentata fino al valore diRs/Rc simboli binari al secondo pertanto la banda necessaria deve essere parimen-ti aumentata. Quindi l’utilizzo della codifica di canale diminuisce l’efficienza dibanda rispetto alla trasmissione non codificata. Sebbene il risultato sembri negati-vo in realta, in un sistema di codifica correttamente progettato, il maggior numerodi errori sui simboli di canale, dovuto alla diminuzione nell’efficienza nell’usodella banda, viene compensato dalle capacita di correzione dell’errore del codi-ficatore. Pertanto una trasmissione codificata deve barattare l’efficienza nell’usodella banda con delle migliori prestazioni dal punto di vista della probabilita dierrore, utilizzando la stessa potenza in trasmissione.I simboli binari prodotti dal codificatore di canale sono presentati al modulatore econvertiti in una sequenza di forme d’onda utilizzando un sistema di modulazione.Supponendo che il modulatore usi una modulazione binaria antipodale su cana-le AWGN, ogni simbolo binario codificatoe associato sul canale ad una formad’onda binaria di durata T=Tc=Rc/Rs secondi. Questa duratae inferiore a quellausata nel caso non codificato e indicando conEb l’energia per bit di informazione,mantenendo costante la potenza trasmessa, possiamo concludere che la codificadiminuisce l’energia per simbolo di canale al valoreEs = EbRc. Ancora ne risulta

2

Page 12: Tesi di laurea igor trestini 2003

1 – Turbo Codici

che un maggior numero di simboli di canale risulteranno errati rispetto al caso ditrasmissione non codificata ma, come visto precedentemente, il maggior numerodi errori sui simboli di canale verra compensato dalle capacita di correzione del-l’errore del codificatore.Rispetto alla operazione di codifica il codificatore si dicesistematicoquando i pri-mi k bit di ogni parola di codicex coincidono con i k bit della parola di datiu. Euso comune dire che un codice, anziche il suo codificatore,e sistematico.

Il demodulatore , nel caso sia hard,e utilizzato per prendere la decisione seogni forma d’onda binaria rappresenti uno 0 o un 1. Nel caso di decodifica a deci-sione hard l’uscita del demodulatoree quantizzata su due livelli indicati con 1 e 0.La sequenza di cifre binarie all’uscita del demodulatoree inviata al decodificato-re. Esso tenta di ricostruire la sequenza di informazione utilizzando la ridondanzao per rivelare o per correggere gli errori presenti all’uscita del demodulatore.

Invece nel caso di decodifica non quantizzata a decisione soft, l’uscita nonquantizzata del demodulatoree inviata al decodificatore. Esso memorizza le nuscite corrispondenti ad ogni sequenza di n forme d’onda binarie e costruisce2k

variabili di decisione. Il processo di decodifica consiste nel scegliere una fra le2k possibili sequenze quale sequenza a massima verosimiglianza.E intuitivo chetale approcio offra un’affidabilita maggiore di quella ottenibile con il sistema adecisione hard dato che il decodificatore puo trarre vantaggio dall’informazioneaggiuntiva contenuta nei campioni non quantizzati che rappresentano ogni singolaforma d’onda binaria trasmessa.

Il vantaggio di un sistema di trasmissione codificato rispetto ad uno non codi-ficatoe misurato dal suoguadagno di codifica. Essoe definito come la differenzain decibel nel valore diEb/N0 richiesto per ottenere una data probabilita di errorerispetto ad una trasmissione binaria antipodale ideale non codificata.

1.1.1 Limite di capacita di Shannon

Nel 1948 Shannon dimostro che dato uno schema di codifica-decodifica di canaleadeguato possiamo trasmettere informazione digitale attraverso il canale ad unavelocita inferiore alla capacita del canale con una probabilita di errore arbitraria-mente piccola. La codifica a correzione di erroree la tecnica usata per raggiungerequesto obiettivo.Il famoso limite di capacita di Shannon per un canale additivo gaussiano bianco(AWGN) a banda limitatae:

C = log2(1 +Es

N0

)

doveEs e l’energia per simbolo eN0/2 e la densita di rumore bilaterale.

3

Page 13: Tesi di laurea igor trestini 2003

1 – Turbo Codici

1.2 I Codici Convoluzionali

In funzione del modo in cui il codificatore associa le sequenze di codice alle se-quenze di informazione i codici si classificano in due classi: codici a blocco ecodici convoluzionali. Nel caso dei codici a blocco la sequenza di informazioneesegmentata in blocchi codificati indipendentemente tra loro per formare la sequen-za codificata come una successione di parole di codice indipendenti di lunghezzafissa. I codici convoluzionali si comportano in modo diverso. Glin0 bit che ilcodificatore genera in corrispondenza deik0 bit di informazione dipendono daik0 bit di informazione e anche da alcuni frame di dati precedenti: il codificatoreconvoluzionale ha una memoria.Un codificatore convoluzionale binarioe un sistema a memoria finita che produ-ce in uscitan0 bit ogni k0 bit che si presentano in ingresso. Il tasso del codicee definito comeRc = k0/n0. Inoltre gli n0 bit generati dipendono non solo daicorrispondentik0 bit in ingresso ma anche dai precedenti (N-1)k0 bit. Indichiamoquesto codice come codice convoluzionale(n0,k0,N).Per descrivere il codificatore si usera la matrice funzione di trasferimentoG

G =

g1,1 . . . g1,n0

. .

. .

. .gk0,1 . . . gk0,no

(1.1)

dovegi,j, chiamatogeneratore, e un vettore binario di N elementi e descrive leconnessioni, ottenute attraverso sommatori a modulo-2, dall’ i-mo ingresso allaj-ma uscita.Inoltre, sempre per descrivere il CC, si usera una rappresentazione atraliccio cheverra spiegata in maggior dettaglio successivamente.

1.3 I turbo Codici

Comparando la frequenza di taglio e il limite di capacita di Shannon si puo osser-vare, ad esempio per codici di tasso 1/2, un guadagno di codifica addizionale di2.4dB. Tuttavia l’eccessiva complessita, degli algoritmi di decodifica necessari aoperare in questa regione, ha a lungo impedito di sfruttarlo.E stato solo nel 1993che, con l’articolo di Berrou et al. [2], sie constatata la possibilita di raggiungereprestazioni a solo 0.5 dB sopra al limite di Shannon, a una probabilita di erroreper bit di 10−5. Questo grazie a questa nuova classe di codici concatenati con

4

Page 14: Tesi di laurea igor trestini 2003

1 – Turbo Codici

codificatoreesterno

codificatoreinterno

interlacciatoreu x

Figura 1.2. Diagramma a blocchi del codificatore concatenato in serie

u

interlacciatore

codificatoreinferiore

Yp2

Ys

Yp1codificatoresuperiore

Figura 1.3. Diagramma a blocchi del codificatore concatenato in parallelo

interlacciatori: i Turbo Codici(TC). Essi sono a tutt’oggi un metodo di codificamolto efficiente dal punto di vista della protezione dagli errori.

In generale il TCe un codificatore a blocco con una struttura basata su due co-dici costituenti, che possono essere sia codici a blocco sia codici convoluzionali,e uno o piu interlacciatori. Possono essere connessi in serie o in parallelo. Nellafigura (1.2), si mostra una concatenazione seriale, composta dalla cascata di uncodice esterno (outer code)Co(k,p) con tassoRo

c=k/p e uno interno (inner code)Ci(p,n) con tassoRi

c=p/n, concatenati attraverso un interlacciatore di lunghezzaN. Il codice complessivoCs(n,k,N) ha un tassoRs

c=RocR

ic=k/n.

Nella figura (1.3) si mostra una concatenazione parallela, i due codici costituentiC1 con parametri(n1,k) e tassoR1 = k/n1 e C2 con parametri(n2,k) e tassoR2 = k/n2 hanno in comune le parole d’informazione in ingresso e sono conca-tenati attraverso un interlacciatore di lunghezza N. I blocchi di parole in ingressoal secondo codificatore sono una versione permutata dei corrispondenti blocchi diingresso al primo. Il codificatore superiore produce poi i bit di parita Yp1(n) conn=0,...,N-1 mentre quello inferiore produce i bit di paritaYp2(n) con n=0,...,N-1.

5

Page 15: Tesi di laurea igor trestini 2003

1 – Turbo Codici

L’interlacciatoreπ = (π1,...,πN) e una permutazionei −→ π(i) che mappa unasequenza di N simboli di ingresso sulla stessa sequenza in un ordine diverso; Nviene chiamatalunghezza dell’interlacciatore. Il corrispondente deinterlacciatoreπ−1 rovescia il processo. Per facilitare la decodifica, come vedremo, si fa in modoche il codificatore inizi la sua evoluzione nello stato nullo e la termini nello stessostato. Questo costringe ad aggiungere alla stringa di bit di sorgente alcuni bitditerminazione di codache hanno appunto questo scopo.La particolare struttura di tali codici si presta ad una decodifica subottima ma dicomplessita accettabile di tipo iterativo. Le prestazioni risultanti sono prossime ailimiti teorici previsti dalla teoria dell’informazione.

Infatti sebbbene la concatenazione dei due codificatori costituenti crei un di-zionario di codice altamente casuale, in realta il codificatoree comunque unamacchina sequenziale (lineare) con un numero finito di stati, e quindi in teoria ilcodice sarebbe decodificabile con algoritmi noti, come quello di Viterbi, per sti-marea massima verosimiglianzala sequenza di simboli in un blocco. A causa delpermutatore pero, la memoria del codificatoree molto profonda (pari in generalealla lunghezza dell’interlacciatore), quindi il numero di stati nella descrizione del-la macchina a stati finitie altissima. Questo impedisce ogni tentativo di decodificatradizionale basata su algoritmo di Viterbi o similari a complessita ridotta.In altre parole, gli algoritmi a massima verosimiglianza come Viterbi hanno unacomplessita che cresce esponenzialmente con il numero degli stati del traliccio.Quindi non sono applicabili ai TC che hanno una complessita degli stati che cre-sce esponenzialmente con la lunghezza N degli interlacciatori. La chiave di voltaper la risoluzione del problemae stata, per i TC, l’invenzione di un algoritmo didecodifica iterativa. Esso ha reso possibile, con complessita ragionevole, la lorodecodifica.

1.3.1 Interlacciatore

La permutazionee implementata dal blocco interlacciatore. Questa permutazionee pseudocasuale perche l’interlacciatore ha lo scopo di sparpagliare i bit di sorgen-te in un blocco nella maniera piu casuale possibile. In questo modo si implementala strategia dicodifica casualedi Shannon. La combinazione di due codificatoricon l’interlacciatore fornisce la soluzione a due importanti problemi associati allacodifica: la creazione di codici con buone proprieta di distanza e che possano es-sere efficacemente decodificati, attraverso una decodifica iterativa. La ragione percui gli interlacciatori rendono possibile l’uso della decodifica iterativae che essidecorrelano simboli o bit vicini tra loro nella sequenza di ingresso al decodificato-re. Questoe fondamentale dato che gli elementi vicini tra loro che siano correlatihanno una influenza distruttiva sulle prestazioni del decodificatore.In generale l’interlacciatore puo processare stringhe continue, tuttavia si vedra il

6

Page 16: Tesi di laurea igor trestini 2003

1 – Turbo Codici

loro input come suddiviso in blocchi di lunghezza N. Il riordinoe quindi svol-to all’interno di questi blocchi. Tipicamente le prestazioni di un interlacciatoreaumenta all’aumentare della sua lunghezza, cio ha un effetto positivo sia sulleproprieta del codice sia sulle prestazioni di decodifica iterativa.Si rappresentano le regole di interlacciamento attraverso l’uso del vettoreπ dilunghezza N, contenente la posizione che ogni simbolo di ingresso occupa dopol’interlacciamento. Cosı, π(i) e la posizione che il simbolo o il bit di ingressoi-mo occupa dopo l’interlacciamento.

1.3.2 Terminazione del traliccio

Le prestazioni di un codice dipendono fortemente dalla distanza di Hamming traparole di codice. Se un codice convoluzionale venisse troncato potrebbero avveni-re severe degradazioni della sua distanza spettrale. Una soluzione al problemae laterminazione di traliccio. Vengono appesi alla fine della sequenza di informazio-ne un numero di simboliν pari al numero di elementi di memoria del codificatore.Questi bit vengono scelti in modo che dopo la terminazione il codificatore termininello stato zero. In questo modo la distanza spettralee preservata.Nel caso di codici convoluzionalifeed-forward(cioe privi di retroazione) la termi-nazione di traliccioe ottenuta facilmente appendendoν simboli, tutti a zero, allastringa codificata. Nel caso invece di codificatori ricorsivi i bit appesi deriverannodall’osservazione del codificatore.

1.3.3 Punturazione

La punturazionee il processo di rimozione di alcuni simboli dalla stringa di co-dice, riducendone cosı la lunghezza ed aumentando il tasso complessivo. Un’ap-propriata misura della complessita del decodificatore a massima verosimiglianzaper un un codice convoluzionalee il numero di rami visitati per ogni bit decodifi-cato. Un codice di tassok0/n0 ha2k0 rami che partono ed arrivano ad ogni statodel traliccio, ed ha un numero di stati pari aNσ = 2ν doveν e la memoria delcodificatore. In questo modo, ogni sezione del traliccio, corrispondente ak0 bitdi ingresso, ha un numero di rami totali pari a2k0+ν . Di conseguenza, un codice(n0,k0,N) ha una complessita di decodifica

D =2k0+ν

k0

L’incremento della complessta nel passaggio da un codice di tasso1/n0 ad uno ditassok0/n0 puo essere mitigata usando la cosiddettapunturazione del codice. Un

7

Page 17: Tesi di laurea igor trestini 2003

1 – Turbo Codici

interlacciatore

deiterlacciatore

decodificoresuperiore

interlacciatore

decodificoreinferiore

Yp1

L21Yp2

Ys

L12

Figura 1.4. Diagramma a blocchi del decodificatore concatenato in parallelo

codice convoluzionale punturato di tassok0/n0 puo essere ottenuto partendo daun codice con tasso1/n0, tipicamente 1/2, ed eliminando certi bit di codice. Lapunturazione permette di ottenere codici ad alto tasso limitandone la complessitadi decodifica e senza introdurre una importante perdita nel guadagno di codifica.Il decodificatore, partendo dalla conoscenza del pattern di punturazione, inseriscezeri nelle posizioni dei bit eliminati. In questo modo, l’algoritmo soft di decodificaiterativa non si vede alterato dalla punturazione, applicandosi ancora al trellis delcodificatore di tasso 1/2, detto codificatoremadre.

1.4 Decodifica iterativa dei TC

Il processo di decodificae organizzato in due stadi, ciascuno relativo ad ognunodei due codificatori costituenti. La peculiarita sta nel fatto che la decodificae ite-rativa, cioe il decodificatore effettua piu volte la stessa elaborazione sul segnale inuscita dal canale riportando pero all’indietroogni volta una informazione relativaall’affidabilita del simbolo di sorgente su cui decidere, affidabilita che di volta involta tende ad aumentare. Questo ripassare la stessa informazione piu volte vieneassimilata al modo di rotazione vorticosa del turbo compressore di un motore ascoppio dando il nome ai turbo codici. L’architettura del decodificatore turboemostrata nella figura (1.4).

Si nota l’informazione di affidabilitaLij, chiamata anche estrinseca, che vieneriportata dall’uscita del secondo decodificatore verso l’ingresso del primo e pro-pagata dal primo decodificatore verso il secondo. Nascono due domande: cosa sial’informazione estrinseca e come si proceda alla decisione finale sul simbolo disorgente.

8

Page 18: Tesi di laurea igor trestini 2003

1 – Turbo Codici

L’informazione estrinseca ha carattere continuo (soft). Per capirne la naturaenecessario capire come siano costituiti gli stadi di decodifica. Essi sono basatisull’algoritmo di decodificaa massima probabilita a posteriori(MAP) o BCJRdal nome dei suoi autori. Questo algoritmo opera su di un blocco di valori soft perfornire in uscita un blocco di N valori continui sui qualie possibile prendere unadecisione finale a soglia. La decisione presa in questa maniera massimizza la pro-babilita di una corretta decisione su ogni singolo simbolo condizionata all’avereosservato tutto il blocco di valori soft dato in ingresso all’algoritmo, cioe segueun criterio di massima probabilita a posteriori.La particolarita dell’algoritmo BCJRe che opera in maniera ricorsiva incrociatacon due ricorsioni che procedonoin avanti a partire dal primo simbolo soft delblocco eindietroa partire dall’ultimo simbolo soft del blocco verso il primo.L’algoritmo, a differenza della decodifica di Viterbi none causale e richiede, pereffettuare una decisione ottima, anche l’osservazione di simboli soft futuri all’in-terno della finestra (blocco di osservazione). Ecco perche e anche necessario co-noscere lo stato in cui i decodificatori terminano la loro evoluzione: per far partirecorrettamente la ricorsione a ritroso.I valori continui in uscita all’algoritmo BCJR sono le probabilita a posteriori cheogni simbolo assuma il valore di uno dei possibili simboli di ingresso condiziona-tamente all’osservazione dell’intera stringa di segnale. Quindi se indichiamo conril vettore dei campioni soft di segnale all’uscita del canale rumoroso la probabilitaa posteriorie :

P (u = i | r) = L× Li × Le (1.2)

dove u assume il valore di tutti i possibili simboli di ingresso.L’APP puo essere quindi partizionata in tre parti. La prima (L) che contiene i con-tributi dall’informazione a priori di ingresso. La seconda (Li), chiamata informa-zione intrinseca, che contiene i contributi dell’osservazione del canale sistematico.La terza chiamata appuntoinformazione estrinseca(Le) dato che non dipende nedalle informazioni a priori ne dalle informazioni del canale sistematico. In una ite-razione, durante il processo di decodifica, la informazione a priori viene prelevatadal codificatore costituente; quindiL non deve essere incluso nell’informazioneda passare al decodificatore del successivo passo di decodifica. Ugualmente perLi dato chee direttamente disponibile al successivo decodificatore attraverso l’os-servazione del canale sistematico.Allora l’unica porzione dell’APP che deve essere passata come informazione diaffidabilita eLe: l’informazione estrinseca appunto.

Questo valore costituisce l’informazione di affidabilita prodotta dal decodifi-catore BCJR necessaria al turbo decoder. Infine l’ APP permette di prendere deci-sioni a soglia (hard), infatti avra un valore maggiore per il simbolo piu probabilea posteriori. Quanto maggioree questa quantita tanto maggioree la probabilita

9

Page 19: Tesi di laurea igor trestini 2003

1 – Turbo Codici

del simbolo deciso rispetto all’altra e quindi tanto maggioree l’affidabilita delladecisione.Dalla figura si nota infine che ognuno dei due decodificatori ha tre ingressi:il se-gnale ricevuto,la parita rispettiva e l’informazione estrinseca di affidabilita prove-niente dall’altro decodificatore.E questa informazione addizionale che permettedi migliorare ad ogni iterazione l’affidabilita delle decisioni, cioe di diminuire adogni iterazione la probabilita di errore.Lo schemae fatto in modo che il secondo decodificatore fornisca al primo unainformazione estrinseca basata sui bit di parita cui il primo non ha accesso e vice-versa per l’informazione estrinseca in ingresso al secondo proveniente dal primo.Quindi al termine di ogni iterazione l’affidabilita nel messaggio ricostruito tendea migliorare.Due sono gli aspetti sfavorevoli dei TC. Il primo riguarda la decodifica tramite al-goritmo BCJR la cui complessita none trascurabile. Il secondoe legatoal ritardodi decodificachee pari alla lunghezza di un blocco piu una ulteriore componenteproporzionale al numero di iterazioni nella decodifica. Se il blocco di codiceelungo, questo ritardo puo essere considerevole e puo risultare intollerabile in ap-plicazioni che richiedono il tempo reale,ad esempio, una conversazione telefonica.Si osserva infine che i codici turbo sono gia previsti dallo standard di trasmissioneUMTS per la modalita dati non sensibile al ritardo.

1.4.1 L’algoritmo euristico di decodifica iterativa

Si introduce un algoritmo di decodifica subottimo la cui complessita e quasi indi-pendente dalla dimensione dell’interlacciatore e cresce linearmente con il nume-ro di stati dei CCs. Il comportamento dell’algoritmo di decodifica in termini diconvergenzae lontana dall’essere capita. Tuttavia, nelle applicazioni reali l’algo-ritmo ha dimostrato di fornire risultati molto vicini al limite di Shannon ad unaprobabilita di errore per bit nell’ intervallo10−5 ÷ 10−7.

In seguito viene mostrata un’analisi euristica dell’algoritmo iterativo che im-plementa il calcolo delle probabilia a posteriori(APP) mediante recursioni forwarde backward. I risultati ottenuti rappresentano il punto di partenza per lo sviluppodi una versione modificata dell’algoritmo BCJR (SISO) analizzata in seguito.

La descrizione dell’algoritmo di decodifica iterativo sara basata sul sistema diriferimento di Fig. 1.4. Il nucleo della procedura di decodifica viene svolta daidue decodificatori SISO1 (Soft-Input Soft-Output) e SISO2, come si descriveranel seguito. I decodificatori ricevono in ingresso le informazioni a priori sui sim-boli ricevuti e portano a termine la rivelazione MAP(Massima Probabilita a Po-steriori).Invece nel caso dell’algoritmo di Viterbi si implementava la rivelazione amassima verosimiglianza (ML).

Il decodificatore fornisce una stimau della sequenza trasmessau. La decisione

10

Page 20: Tesi di laurea igor trestini 2003

1 – Turbo Codici

ottima simbolo a simbolo MAP si basa sulla massimizzazione della probabilita aposteriori(APP) dei simboliu

u = argmaxi[APP (k,i)] (1.3)

dove si definisce la probabilita a posteriori

APP (k,i) = p(uk = i,y1,y2) =∑

u:uk=1

p(y1|c1(u))p(y2|c2(u))pa(u) (1.4)

p(y1|c1(u)) =

N1∏j=1

p(y1j|c1j(u))pa(u) (1.5)

p(y2|c2(u)) =

N2∏m=1

p(y2m|c2m(u)) (1.6)

pa(u) =K∏

l=1

pa(ul) (1.7)

Come osservato precedentemente la valutazione di 1.3 per un PCCC ha unacomplessita computazionale chee linearmente proporzionale al numero di statidel codice complessivo,rendendo cosı impossibile la valutazione dell’APP quan-do la lunghezza N dell’interlacciatoree maggiore di10−15. Berrou [2] ha propostouna tecnica per valutare iterativamente (1.4), con una complessita chee quasi indi-pendente dalla dimensione dell’interlacciatore. Nonostante questa sia una tecnicasubottima ha dimostrato di lavorare bene in un gran numero di simulazioni.

Un’analisi euristica dell’algoritmo iterativo puo essere basata sull’assunzionedi indipendenza che stabilisce che le probabilita(1.5) (1.6), riferite ai CCs, posso-no essere espresse come il prodotto di funzioni definite sui simboli di informazio-ne individualmente:

p(y1|c1(u)) '∏

l

P1l(ul) (1.8)

p(y2|c2(u)) '∏

l

P2l(ul) (1.9)

Quindi, dopo aver sostituito nella (1.4), si ottiene che gli APP devono soddi-sfare i seguenti sistemi non lineari:

APP (k,i) = [∑

u:uk=1

p(y2|c2(u))∏

l 6=k

P1l(ul)pa(ul)]× P1k(i)× pa(i) (1.10)

11

Page 21: Tesi di laurea igor trestini 2003

1 – Turbo Codici

APP (k,i) = [∑

u:uk=1

p(y1|c1(u))∏

l 6=k

P2l(ul)pa(ul)]× P2k(i)× pa(i) (1.11)

che ammettono come soluzioni( ammesso che esistano):

P1k(i) =∑

u:uk=1

p(y1|c1(u))∏

l 6=k

P2l(ul)pa(ul) (1.12)

P2k(i) =∑

u:uk=1

p(y2|c2(u))∏

l 6=k

P1l(ul)pa(ul) (1.13)

Da queste soluzioni si puo determinare la APP del k-esimo bit di informazionecome:

APP (k,i) = P1k(i)× P2k(i)× pa(i) (1.14)

Il sistema non lineare (1.12)(1.13)e il punto chiave per la valutazione iterativadell’ APP(k,i). Lo schema di decodifica iterativa di Berrou puo sicuramente esserevisto come un procedimento di calcolo iterativo della (1.13) come

P o1k(i) = 1 k = 1,...,K

···

P(m)1k (i) =

∑u:uk=1

p(y1|c1(u))∏

l 6=k

P(m−1)2l (ul)pa(ul) k = 1,...,K

P(m)2k (i) =

∑u:uk=1

p(y2|c2(u))∏

l 6=k

P(m)1l (ul)pa(ul) k = 1,...,K

(1.15)

Rimane da vedere come risolvere le operazioni ( 1.15 ). Esse possono essereeseguite attraverso una ricorsione forward e una backward. Queste operazionisono svolte da due blocchi SISO ( Soft-Input Soft-Output) il cui comportamentoverra descritto nella prossima sezione.

Vediamo adesso alcune notazioni e definizioni.

Il Codificatore a traliccio

L’algoritmo di decodifica chee alla base del funzionamento del modulo SISOlavora su codici rappresentati con un traliccio. Si considereranno solo traliccitempo-invarianti. Nella figura (1.5) si mostra un codificatore a traliccio, caratte-rizzato dai simboli di informazione in ingressou e dai simboli di codice in uscita

12

Page 22: Tesi di laurea igor trestini 2003

1 – Turbo Codici

u cCodificatorea

Traliccio

Figura 1.5. Codificatore a traliccio

c. Il codificatore prende un gruppo dinu simboli consecutivi di ingresso ed emetteun gruppo dinc simboli in accordo con la sezione del traliccio.

Alla sequenza di simboli in ingresso viene associata la sequenza di distribu-zioni di probabilita a priori:

P(U) = [Pk(u)]k∈K (1.16)

dovePk(u) , P (Uk = u) (1.17)

Invece alla sequenza dei simboli di uscita viene associata la sequenza di distribu-zioni di probabilita:

P (c) = (Pk(c))k∈K (1.18)

Il Traliccio del Codice

La dinamica di di un codice convoluzionale tempo-invariantee completamentespecificata da una singola sezione del traliccio che descrive le transizioni tra glistati del traliccio in due consecutivi istanti di tempo. Una sezione del traliccioecaratterizzata da:

• Un insieme di N statiS = (s1,...,sN). Lo stato del traliccio in un tempo keSk = s, cons ∈ S

• Un insieme diN ·Ni rami ottenute dal prodotto cartesiano

E = S× U = (e1,...,eN ¦N1) (1.19)

che rappresenta tutte le possibili transizioni tra gli stati del traliccio.

Ad ogni ramoe ∈ E sono associate le seguenti funzioni(figura 1.6)

• Lo stato inizialesS(e)

• Lo stato finalesE(e)

13

Page 23: Tesi di laurea igor trestini 2003

1 – Turbo Codici

e

e u(e),c(e))(eS S)(eS E

Figura 1.6. Singola sezione del traliccio

SISO

);( IcP

);( OcP

);( OuP

);( IuPFigura 1.7. Il modulo SISO

• Il simbolo di ingresso u(e)

• Il simbolo di uscita c(e)

Nel seguito si assumera che la coppia[sS(e),c(e)] identifica univocamente lostato finalesE(e); questa assunzionee sempre verificata ed equivale a dire che,dato uno stato iniziale del traliccio, si ha soltanto una corrispondenza uno-uno trale sequenze di ingresso e le sequenze di stato, proprieta richiesta dal codice inmodo che possa essere decodificato univocamente.

14

Page 24: Tesi di laurea igor trestini 2003

1 – Turbo Codici

Il modulo SISO

Il modulo SISO (figura1.7)e un dispositivo a quattro porte che accetta comeingressi le sequenze di distribuzione di probabilita:

P(c,I)P(u,I) (1.20)

P(c,O)P(u,O) (1.21)

ottenute in accordo con i suoi ingressi e con la conoscenza della sezione deltraliccio del codice. Si mostra infine l’algoritmo SISO.

1.4.2 L’algoritmo SISO

Vediamo una variazione dell’algoritmo BCJR. Come gia anticipato l’algoritmoSISO permette il calcolo delle espressioni( 1.15 ). Si assume innanzitutto chel’insieme di indici temporali K = 1,...,n sia finito. L’algoritmo consta di due passi:

1. In un tempo K, le distribuzioni di probabilita di uscita sono calcolate comedistribuzione di probabilita:

Pk(u,O) = Hu

e:u(e)=u

Ak−1[sS(e)]Pk[c(e),I]Pk[u(e),I]Bk[s

E]

Pk(c,O) = Hc

e:c(e)=c

Ak−1[sS(e)]Pk[c(e),I]Pk[u(e),I]Bk[s

E](1.22)

2. Le quantita Ak(·) e Bk(·) sono ottenute attraverso le ricorsioni in avanti(forward) e indietro (backward), rispettivamente come:

Ak(s) =∑

e:sE(e)=s

Ak−1[sS(e)]Pk[u(e),I]Pk[c(e),I] k = 1,...,k − 1 (1.23)

Bk(s) =∑

e:sS(e)=s

Bk+1[sE(e)]Pk+1[u(e),I]Pk+1[c(e),I] k = k − 1,...,1

(1.24)con valori iniziali:

Ao(s) =

{1 s = So

0 altrimenti

Bk(s) =

{1 s = Sk

0 altrimenti

(1.25)

15

Page 25: Tesi di laurea igor trestini 2003

1 – Turbo Codici

Le quantita Hu, Hc sono costanti di normalizzazione definite come segue:

H(c) →∑

c

Pk(c,O) = 1

H(u) →∑

u

Pk(u,O) = 1(1.26)

Nelle equazioni ( 1.22 ) la quantita Pk[u(e),I]ePk[c(e),I] non dipendono da e epossono quindi essere estratte dalla sommatoria.Inoltre definendo le quantita

Pk(c,O) , HcPk(c,O)

Pk(c,I)

Pk(u,O) , HuPk(u,O)

Pk(u,I)

(1.27)

doveHc eHu sono costanti di normalizzazione tali che

H(c) →∑

c

Pk(c,O) = 1

H(u) →∑

u

Pk(u,O) = 1(1.28)

si verifica facilmente che le equazioni ( 1.27 ) possono essere ottenute attraversole espressioni

Pk(c,O) = HcHc

e:c(e)=c

Ak−1[sS(e)]Pk[u(e),I]Bk[s

E]

Pk(u,O) = HuHu

e:u(e)=u

Ak−1[sS(e)]Pk[c(e),I]Bk[s

E](1.29)

Le nuove distribuzioni di probabilita Pk(c,O)Pk(u,O) rappresentano una versio-ne aggiornata delle distribuzioni di ingressoPk(c,I)Pk(u,I), basate sui vincolidel codice ed ottenute usando le distribuzioni di probabilita di tutti i simboli dellasequenza. Nella letteratura dei TC sono chiamateinformazioni estrinsechee rap-presentano il valore aggiunto, dei moduli SISO, alle distribuzioni di probabilita apriori.

16

Page 26: Tesi di laurea igor trestini 2003

Capitolo 2

Codici Turbo Spazio Tempo

2.1 Introduzione

La richiesta di traffico wireless per applicazioni multimedialie rapidamente cre-sciuto negli ultimi anni. Le barriere allo sviluppo di questo tipo di servizi sonorappresentate dalla bassa frequenza di bit, dall’alto consumo di potenza e dall’altocosto per bit. I metodi di processamento del segnale possono essere efficacementeapplicati per abbatterle senza espandere l’efficienza di banda. Tra questi metodie possibile distinguere tra il processamento temporale del segnale che unisce as-sieme la modulazione e la codifica di canale e il processamento spazio temporaleche utilizza antenne multiple in trasmissione e ricezione. Scoperte recenti nel-la teoria dell’informazione hanno rivoluzionato il tradizionale punto di vista chevedeva i cammini multipli come un danno. Nuovi risultati mostrano chee pos-sibile raggiungere alti guadagni di capacita attraverso l’uso di antenne multiplein trasmissione e in ricezione. Per avvantaggiarsi di questi nuovi risultatie statorecentemente inventato un metodo che fornisce sia guadagno di codifica sia van-taggi in diversita: la codifica spazio tempo.Un risultato importante nella codifica, evidenziato nel capitolo precedente,e rap-presentato dall’invenzione dei turbo codici che riescono ad avere prestazioni disolo 0.5 dB sopra il limite di capacita di Shannon. Tuttavia, la codifica da solanon puo risolvere pienamente il problema dei cammini multipli di un canale: ciosignifica che la capacita per un canale a un’ingresso e ad una uscita (SISO, single-input single-output)e limitata a un piccolo intervallo. Da qui l’idea di fondere leproprieta dei turbo codici e dei codici spazio tempo in un’unica struttura. Si ottie-ne questo risultato utilizzando codificatori spazio tempo come blocchi costituentidei turbo codici.

17

Page 27: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

T1

Tn

R1

Rn

Figura 2.1. Modello di canale MIMO

2.2 Processamento Spazio Tempo

L’uso di antenne multiple in trasmissione e ricezione, in collegamenti wireless,e in combinazione con tecniche di codifica di canalee un modo promettente dimigliorare le prestazioni del sistema in un ambiente con fading. L’obbiettivo delprocessamento spazio tempoe l’ottimizzazione dell’efficienza spettrale. Un si-stema con antenne multiple in trasmissione e in ricezione viene chiamato sistemaMIMO (multiple input multiple output) mostrato in figura (2.1).

In teoria la capacita di un canale MIMO con fading puo crescere linearmentecon il numero di antenne trasmittenti o riceventi. Migliori prestazioni possonoessere raggiunte sfruttando la diversita spaziale e temporale associata al rispettivocanale wireless con camini multipli. Il processamento spazio tempo ha le poten-zialita per migliorarne in modo significativo la capacita.

In un ambiente privo di fading antenne multiple possono essere usate per au-mentare il guadagno dell’ antenna trasmittente mentre in un ambiente con fadingse il trasmettitore e il ricevitore hanno un vettore di antenne con elementi suffi-cientemente distanziati (almeno mezza lunghezza d’onda) si produce una vastapluralita di sottocanali che condividono le stesse frequenze.

Antenne multiple in ricezione e trasmissione permettono un segnale spazialeavente una maggior dimensionalita, senza un corrispondente aumento di banda.In un canale affetto daRayleigh block-fading, un collegamento wireless senzamemoria che utilizzi delle multi antenne ha una capacita teorica che cresce li-nearmente con il numero di antenne riceventi e trasmittenti. Questo purche si siafatto in modo che i coefficienti complessi del canale tra ogni coppia di antennetrasmittenti e riceventi siano statisticamente indipendenti e noti al ricevitore (nonal trasmettitore). Infatti, l’indipendenza dei coefficienti assicura diversita spazialee puo essere ottenuta separando fisicamente le antenne di trasmissione e di rice-zione di qualche lunghezza d’onda.

18

Page 28: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

Recentemente sono state proposte varie tecniche per trattare l’inevitabile inter-ferenza mutua tra i multipli sottocanali SISO di un canale MIMO e per sfruttarnele potenzialita: la Bell Laboratories Space Time Wireless Architecture (BLAST),la Codifica Spazio Tempo a Traliccio (STTC) e la Codifica Spazio Tempo a Bloc-co (STBC). L’idea di base che risiede dietro a essee di utilizzare a proprio vantag-gio i cammini multipli del canale piuttosto che di mitigarne gli effetti indesiderati.L’obiettivo e quello di raggiungere alte efficienze spettrali. Ci si occupera nellaprossima sezione con maggior dettaglio delle ultime due strategie.

Completa diversita spaziale

La completadiversita spaziale, per un dato numero di antenne trasmittenti e rice-venti e il massimo vantaggio in diversita raggiungibile.nt antenne in trasmissionefornisconont cammini indipendenti tra trasmettitore e ricevitore. Distribuendoi dati di informazione aglint cammini, e processando propriamente il segnale alricevitore, questo canale MIMOe molto migliore rispetto al caso del canale SISO.Il segnale trasmesso (parola di codice) puo essere interpretato come una matricent × L, dove Le la lunghezza della parola di codice. Il rango di questa matricedi valori complessi determina la diversita spaziale. Aumentando il rango, cioeaumentando la diversita, si riduce la probabilita di errore chee rappresentata dallapendenza asintotica della curva delle prestazioni in scala logaritmica.Si definiscono due concetti. Ilvantaggio in diversita descrive il decrementoesponenziale del tasso di errore di decodifica contro il rapporto segnale rumore(pendenza asintotica della curva delle prestazioni in scala logaritmica). Ilguada-gno di codificanon agisce sulla pendenza asintotica della curva ma produce unospostamento delle prestazioni della curva.

2.2.1 Codifica Spazio Tempo a Traliccio

Originariamente proposta da Tarokhat. al. [6] si ottiene introducendo ridondanzatemporale attraverso le antenne trasmittenti. Questa codifica aggiunge la dimen-sione spaziale alla dimensione temporale assumendo come sconosciuta la cono-scenza del canale al ricevitore. Un esempio di codifica spazio tempoe mostrata infigura(2.2) per una modulazione 4-PSK.

Si mostra un diagramma a blocchi con due antenne in trasmissione e in ri-cezione. Il codificatore spazio tempo ha memoriaν = 3 ed e rappresentato dalcorrispondente traliccio a 8 stati. I bit di informazione della sorgente, appartenen-ti a un alfabeto U, sono codificati nel segnale[S1,S2] secondo i diagrammi e iltraliccio di figura. Ogni sottosegnale[S1,S2] e modulato e trasmesso attraverso le

19

Page 29: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

S1

S2

y1

y2

T1

T2

codificatore seriale

parallelodemodulatore spazio tempo

R1

R2

decodificatore spazio tempo

UsU

00 01 02 0310 11 12 13 20 21 22 23 30 31 32 3322 23 20 2132 33 30 3102 03 00 0112 13 10 11

0

3

2

1 00011011

0123

Codificatore Spazio Tempo

Figura 2.2. Modello di codifica spazio tempo

antenneT1 e T2 rispettivamente. I diagrammi e il traliccio di figura devono inter-pretarsi come segue. Il codificatore ST genera per ogni coppia di bit in ingressodue simboli[S1,S2] ∈ {0,..,3}, li modula quindi li trasmette contemporaneamentedalle due antenne trasmittenti. L’efficienza spettralee quindi di 2 bit/s/Hz. Se, adesempio, ci si trova nello stato 1 e viene ricevuto un 2 allora lo stato successivosara lo stato 6 e il segnale emesso complessivo sara 7: 1 (+j) per l’antennaT1 e 2(-1) per l’antennaT2.

Il decodificatore utilizza un algoritmo di Viterbi che prende una decisione ba-sata sulla minima metrica accumulata.In Bevan et al. si dimostra che la codifica spazio tempo, comparata al sistemaBLAST, offre il miglior equilibrio tra prestazioni e complessita.Inoltre questo schema raggiunge lo stesso vantaggio in diversita dello schema Ma-ximal Ratio Receive Combining (MRRC) e puo raggiungere un buon guadagno dicodifica.Nel caso di strutture di codici ST concatenati i codificatori costituenti utilizzati so-no spesso ricorsivi. Infattie stato mostrato in un lavoro di Benedetto e Montorsiche i codici turbo ne hanno bisogno per lavorare propriamente.

20

Page 30: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

decisore a massima

verosimiglianza

stimatore di canale

combinatore

T2

T1 h1

h2

n1n2

h1 h2

Figura 2.3. Modello di codifica spazio tempo a blocco

2.2.2 Codifica Spazio Tempo a Blocco

Nel tentativo di ridurre la complessita esponenziale del STT, Alamouti [5] ha pro-posto un semplice schema di trasmissione. Questo codificatore raggiunge lo stessovantaggio in diversita della tecnica MRRC ma con una struttura notevolmente piusemplice. Bisogna tuttavia osservare che non c’e memoria tra blocchi consecutivie che la lunghezza tipica di bloccoe molto corta. Quindi bisogna aspettarsi unguadagno di codifica molto limitato.La forma piu semplice di codificatore STB in banda basee rappresentata in figura(2.3).

La matrice di trasmissionee

G2 =

(x1 x2

−x2 x1

)

Ad ogni istante di tempo vengono simultaneamente trasmessi due segnali dal-le antenneT1 e T2. Al tempo t l’antennaT1 trasmette il segnalex1e l’antennaT2

trasmette il segnalex2. Al tempo t+1 vengono trasmessi rispettivamente i segnali−x2 ex1 (i coniugati dei simbolix1 ex2).In questo caso siamo in presenza di due canali differenti che andremo a generareconsiderando anche la loro fase. Consideriamo un generico istante t e chiamiamoh1 il coefficiente di fading tra l’antenna ricevente e l’antenna trasmittente 1 eh2

quello nel caso dell’antenna trasmittente 2.Se assumiamo che il fading sia costante per due simboli consecutivi, allora pos-siamo scrivere le espressioni dei coefficienti di fading, per due diversi istanti ditempo, come:

21

Page 31: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

h1 = α1ejθ1 (2.1)

h2 = α2ejθ2 (2.2)

A monte del ricevitore si avra quindi la somma data dai due segnali trasmessiche avranno percorso due cammini differenti, e dal rumoreni che rappresentail rumore del ricevitore e l’interferenza. Naturalmente in due istanti di tempoconsecutivi si ottengono due segnali in banda base, che indico conx1ed x2 equindi il rumore saran1 all’istante t edn2 all’istante t+1:

y1 = h1x1 + h2x2 + n1 (2.3)

y2 = −h1x2 + h2x1 + n2 (2.4)

Per determinare il simbolo trasmesso si deve estrarre il segnalex1e x2 dal se-gnale ricevutoy1 e y2 quindi entrambi i segnali ricevuti sono passati al combina-tore. Questo, aiutato dallo stimatore di canale, che ne fornisce una stima perfetta,combina i segnali ricevuti ottenendo:

x1 = h1y1 + h2y2 = (| h1 |2 + | h2 |2)x1 + h1n1 + h2n2 (2.5)

x2 = h2y1 − h1y2 = (| h1 |2 + | h2 |2)x2 + h2n1 − h1n2 (2.6)

Come si puo vedere i segnalix1 e x2 sono stati separati attraverso una sempli-ce moltiplicazione e addizione. Questo grazie all’ortogonalita del codice.Infine le stime dei segnalix1 e x2 vengono passate al decisore a massima verosi-miglianza che determina il simbolo trasmesso piu probabile.

2.3 Turbo Codice Spazio Tempo Concatenato in Se-rie

La codifica/decodifica turboe un modo di avvicinarsi al limite di Shannon dellacapacita di canale. Invece la codifica spazio tempoe un modo di aumentare lacapacita del canale sfruttando i cammini multipli di un canale MIMO. Una com-binazione di turbo codici spazio tempo che incorpori i due concetti puo fornireun modo per aumentare entrambi e per avvicinare la possibile capacita del canaleMIMO.

22

Page 32: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

S P ΠΠΠΠcodificatoreSpace-Time

codificatoreconvoluzionale

U Xp'XpX

S1

S2

Figura 2.4. Modello del turbo codificatore spazio tempo

Full coding rate

Per turbo STC si ottienefull coding ratequando il numero totale di bit in uscitada tutte le antennee uguale al numero di bit in uscita da ogni codificatore spaziotempo costituente, in ognitime slot.

In questa sezione si introduce il sistema considerato in questa tesi che combi-na il guadagno di codifica tipico dei turbo codici e il vantaggio di diversita tipicodei codici spazio tempo. Si presentera in dettaglio il codificatore e il decodifica-tore di questo sistema. Si studiera sia il caso di due antenne trasmittenti e unaricevente, sia il caso di due antenne trasmittenti e due riceventi. Inoltre verran-no implementati e confrontati diversi codici, sia convoluzionali che spazio temporicorsivi.

2.3.1 Descrizione del Sistema di Codifica

Lo schema a blocchi del codificatoree mostrato in figura (2.4).

La sorgentefornisce stringhe di bit pseudocasuali u. La lunghezza della strin-ga per le simulazioni viene fissata a 1024 bit.Il codificatore convoluzionaleha un tasso di codificaRc = 1/2; per ogni bit diingresso fornisce in uscita simboli di 2 bit ciascuno. Si implementeranno codifi-catori con un numero di statiNσ da 2 a 16 conNσ = 2νcc doveνcc e la memoriadel codificatore convoluzionale. Inoltre la stringa codificata viene terminata allostato zero quindi il codificatore le aggiungeraνcc simboli di terminazione.La parola di codice generata dal codificatore convoluzionale viene punturata edinterlacciata.Il punturatoreinterviene sui bit di informazione ma non sui bit di terminazione.L’ interlacciatoree di tipoS-random.Il codificatore spazio tempo a tralicciocodifica a sua volta i simboli di ingressosecondo le regole del suo traliccio e termina il codice conνst simboli spazio tem-po (4 bit ciascuno) doveνst e la memoria del codificatore spazio tempo. Infine

23

Page 33: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

S codificatoremappatore

4-PSKcanale

demdulatoresoft

decisore MAP

uk

uksP(uk|Y)

Sk

yk

Figura 2.5. Diagramma del sistema di trasmissione

trasmette la sequenza codificata su due diverse antenne. Si implementeranno uni-camente codificatori spazio tempo ricorsivi, con un numero di statiNσST

da 4 a16. Sie infatti gia osservato come la ricorsivita del codice interno sia piu appro-priata all’architettura dei turbo codici seriali.Inoltre i codici saranno tuttifull diversity.La modulazionee di tipo 4-PSK e viene applicata sul segnale delle due antenneseparatamente come si vedra nella prossima sezione.

2.3.2 Descrizione del Sistema di Trasmissione

In figura (2.5) si mostra un diagramma schematico del sistema di trasmissione.La sorgente genera una sequenza di informazione di simboliuk che nel nostro

caso appartengono ad un alfabeto 0,1 dato che la sorgentee binaria. Il codificatore(composto dai codificatori convoluzionale e spazio tempo) codifica il simbolouk

in nt simboli ( connt = 2 antenne trasmittenti). Non si considera in questa partegenerica l’operazione di terminazione.Gli nt simboli vengono inviati al mappatore 4-PSK che emette i simboliSk =[S1

k ,S2k ].

Il canalee rappresentato dalla matrice di canaleH di dimensioni [nt × nr] connr

uguale al numero di antenne riceventi. Pernr=2 la matrice di canale diventa:

H =

(h11 h12

h21 h22

)

dovehij e il coefficiente di fading tra l’antenna trasmittentej e l’antenna riceventei.Il canale verra assunto affetto da fading alla Rayleigh, quindi gli elementi della

24

Page 34: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

ΠΠΠΠ P

DRx ΠΠΠΠ-1 P-1APP1

ΨΨΨΨ

decodificatoreSpace-Time

decodificatoreconvoluzionale

APP2

ΨΨΨΨ

1111

Figura 2.6. Modello del turbo decodificatore spazio tempo

matriceH sono variabili aleatorie complesse, a valor medio nullo, identicamentedistribuite, a varianza unitaria e mutuamente indipendenti. Noi assumiamo infattiche i coefficienti di fading siano incorrelati tra di loro.Il rumore bianco additivoe indicato dal vettorenk. Il rumoree assunto AWGN:complesso, con distribuzione Gaussiana, a valor medio nullo e varianza:

σ2 =Nt

2(Es

N0)

Es e l’energia per simbolo eN0 e la densita di potenza bilatera del rumore a radiofrequenza. Le componenti del vettore del rumore sono assunte indipendenti eidenticamente distribuite.Il simbolo in uscita dal canale MIMO puo essere espresso come

yk =√

EsHsk + nk

Infine il simboloyk viene inviato al decodificatore soft che deve generare laprobabilita a posteriori, o APP,P (uk|Y)per tutti i possibili simboli di ingresso esolo dopo aver ricevuto tutta la sequenza trasmessa. Quando le APP sono statecalcolate, cioe dopo varie iterazioni, il decisore deve fornire la stima harduks delsimbolo trasmesso scegliendo la quantita a piu alta probabilita.

2.3.3 Descrizione del Sistema di Decodifica

Lo schema a blocchi del decodificatoree mostrato in figura (2.6).La strutturae iterativa e i due decodificatori, quello spazio tempo e quello con-

voluzionale, sono moduli concatenati in serie che calcolano laprobabilita a po-steriori (APP) sui simboli di codice attraverso l’algoritmo maximum a posteriori

25

Page 35: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

(MAP).L’algoritmo di decodifica iterativae stato approfondito nel precedente capitolo esi richiamano qui i passaggi fondamentali.

L’algoritmo APP

Si mostra adesso un generico algoritmo APP, evoluzione del BCJR [4], per il cal-colo delleprobabilita a posterioriper un codificatore a traliccio, data la sequenzaricevuta di un canale MIMO.

Le APP all’istante k valgono:

P (uk = u(i)|Y) =∑σk

∑σk+1

P (uk = u(i),σk,σk+1|Y) (2.7)

doveP (uk = u(i),σk,σk+1|Y) e la probabilita congiunta che dataY la transizionetra lo statoσk e lo statoσk+1 avvenga con il simbolo di informazioneuk = u(i).Applicando la regola di Bayes si ottiene:

P (uk = u(i)|Y) =∑σk

∑σk+1

αk(σk)γ(i)k (σk,σk+1,yk)βk+1(σk+1) (2.8)

dove:

• γ(i)k (σk,σk+1,yk) e la probabilita congiunta della transizione dallo statoσk

allo σk+1 con ingressou(i) e dell’osservazione diyk e puo essere calcolatacome:

γ(i)k (σk,σk+1,yk) = p(yk|σk,uk = u(i))P (uk = u(i))

in cui il primo fattore puo essere calcolato come:

p(yk|σk,uk = u(i)) = (πN0)−Mexp(− 1

N0

‖yk −√

EsHsk‖2) (2.9)

sk e il vettore di simboli associati alla coppia(σk,uk =u(i)).

• αk+1(σk+1) = Σσkαk(σk)γ(σk,σk+1,yk)

• βk(σk) = Σσk+1βk+1(σk+1)γ(σk,σk+1,yk)

26

Page 36: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

L’algoritmo MAP

L’algoritmo MAP calcola le APP, di ogni transizione di stato dei tralicci, e i sim-boli di sorgente, data la sequenza ricevuta (y) dal canale rumoroso e affetto dafading.Il MAP utilizza le APP in uscita dai decodificatori, associati ai rispettivi codifica-tori costituenti, per raffinare in un processo iterativo l’informazione soft che questicondividono.Alla fine di tutte le iterazioni, quando tutte le APP sono state calcolate e sufficien-temente raffinate, viene presa una decisionehardscegliendo la quantita a maggiorprobabilita.

Se si definisce la quantitaL(uk = u(i)) come la informazione a priori:

L(uk = u(i)) = P (uk = u(i))

e la quantitaM(uk = u(i)|Y) come la probabilita a posteriori:

M(uk = u(i)|Y) = P (uk = u(i)|Y)

allora la informazione sistematica e estrinseca risulta:

ψ(yk|u(i)) = M(uk = u(i)|Y)/L(uk = u(i))

L’algoritmo MAP e il seguente.Si suppone per ora che sia gia stata svolta la prima iterazione. I pedici1 e 2 in-dicheranno rispettivamente il primo e il secondo decodificatore. Dalle relazioniprecedenti si osserva che l’uscita dei due decodificatori puo essere divisa in dueparti: l’informazione a prioriL(uk = u(i)) e l’informazione assieme estrinseca esistematicaψ(yk|u(i)). La chiave dell’algoritmo MAPe che l’ingresso a priori diogni decodificatore puo essere ottenuto dall’uscita dell’altro.Spieghiamo l’algo-ritmo iterativo. Si assuma che l’uscita del primo decodificatore peruk = u(i) siaM1(uk = u(i)|Y). Questa quantita deve essere usata per derivare l’ingresso a prio-ri del secondo decodificatoreL2(uk = u(i)). Si vuole inoltre passare al secondodecoder solo informazionenuovagenerata dal primo decoder. Questo lo si ottienerimuovendo daM1(uk = u(i)|Y) l’informazione a priori al primo decodificatoreche aveva contribuito a generareM1(uk = u(i)|Y). Allora l’informazione a priorida fornire al secondo decodificatore la si ottiene dal primo decodificatore e peruk = u(i) al generico istante k risulta:

L2(uk = u(i)) =M1(uk = u(i)|Y)

L1(uk = u(i))= ψ1(yk|u(i))

27

Page 37: Tesi di laurea igor trestini 2003

2 – Codici Turbo Spazio Tempo

Adeso il secondo decodificatore puo generare l’uscitaM2(uk = u(i)|Y) e l’algo-ritmo puo continuare a iterare per un numero di volte che viene impostato comeparametro di progetto del simulatore.

Nella prima iterazione la informazione a priori del primo decodificatore none disponibile, allora la si imposta come vettore di tutti 1, ovvero come se tutti isimboli di codice fossero equiprobabili; questo vettore di probabilita si raffinerapoi nelle iterazioni successive.

Alla fine dell’ultima iterazione il secondo decodificatore invia la APP al de-cisore che deve fornire la stima harduks del simbolo trasmesso scegliendo laquantita a piu altaprobabilita a posteriori.

Si descrive infine il caso specifico del sistema di figura (2.6).Il ricevitorecalcola la quantita (2.9) osservandotutta la sequenza ricevutaY e lafornisce al primo decodificatore.Il decodificatore Spazio Tempoha due ingressi: l’ingresso dal canale fornito dalricevitore e l’informazione estrinseca sulla parola di codice (appartenente all’al-fabeto (0,.., 3)) fornita dal decodificatore convoluzionale nella semi iterazioneprecedente ma settata a vettore di 1 nella prima iterazione.L’informazione estrinseca sulla parola di codice che produce viene deinterlacciatae depunturata a livello di bit e inviata al secondo decodificatore.Si osserva che i due decodificatori condividono l’informazione estrinseca sullaparola di codice dell’alfabeto (0,..,3).Il decodificatore convoluzionaleha anch’esso due ingressi e nel primo utilizzal’informazione estrinseca sulla parola di codice dal primo decodificatore mentrenel secondo ingresso,relativo all’informazione estrinseca sui bit di sorgente (ap-partenenti all’alfabeto (0,1)) viene imposto a 1 in tutte le iterazioni. La prima usci-ta del decodificatore convoluzionale rappresenta l’informazione estrinseca sulleparole di codice da passare al decodificatore convoluzionale, dopo averla puntu-rata e interlacciata a livello di bit, per svolgere la seconda iterazione. Invece laseconda uscita rappresenta le APP, sui simboli di sorgente, che deve essere inviataal decisore MAP dopo l’ultima iterazione.

Viene infine calcolato il tasso di errore per frame (FER, frame error rate) comerapporto tra i frame decodificati in modo errato ed i frame simulati.

28

Page 38: Tesi di laurea igor trestini 2003

Capitolo 3

Implementazione e simulazioni sulcanale affetto da fading

In questo capitolo si presentano i risultati delle simulazioni sulle prestazioni delturbo codificatore spazio tempo concatenato in serie per modulazioni 4-PSK. Ini-zialmente si analizza un modello del canale affetto dafast fading(l’attenuazionecambia simbolo a simbolo) quindi si osserveranno gli effetti di un canale affettoda slow fading( l’attenuazione cambia da sequenza a sequenza). La dimensio-ne degli interlacciatorie espressa in termini di numero di simboli per sequenzatrasmessa. Si utilizzano sequenze di 1024 simboli, per il primo tipo di canale, edi 100 simboli, per il secondo tipo di canale. Nelle simulazioni si utilizzano 2antenne trasmittenti; verranno invece studiati i due casi di 1 e 2 antenne in rice-zione. Nella leggenda delle figure si specifica il numero di antenne riceventi (adesempio, R2 corrisponde a 2 antenne riceventi). Ogni singolo codicee indicato inbase al numero di stati del codice esterno ed interno (ad esempio, 48 corrispondead un codice esterno a 4 stati ed un codice interno a 8 stati).

Si e scelto di implementare codici esterni convoluzionali ricorsivi a 2, 4, 8 e16 stati e codici interni spazio tempo ricorsivi a 4, 8 e 16 stati. I codici esternisono: il 2 stati con polinomi generatori[1, 1

1+D], il 4stati con polinomi generatori

[1, 1+D2

1+D+D2 ], l’8 stati con polinomi generatori[1, 1+D+D3

1+D2+D3 ], il 16 stati con polinomi

generatori[1,1+D2+D3+D4

1+D+D4 ]. I codici interni utilizzati sono presentati in [8]. Siutilizzera un codice esterno di tasso 1/2.

Inizialmente si analizzano le prestazioni di questi codici sul canale affetto dafast fading. Poi si fara un confronto con i codici ( un codice esterno a 2 e 4 statied un codice interno a 4 stati), implementati da Gulati in [7] con una architetturaanaloga a quella proposta in questa tesi.

29

Page 39: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

-2,5 -1,5 -0,5 0,5 1,5 2,5 3,5 4,5 5,5

SNR

Fram

e Er

ror R

ate

44_R1 84_R1 164_R1 168_R1 1616_R1 44_R2

84_R2 164_R2 168_R2 1616_R2 48_R1 416_R1

88_R1 816_R1 48_R2 416_R2 88_R2 816_R2

24_R1 28_R1 216_R1 24_R2 28_R2 216_R2

Figura 3.1. Panoramica dei codici proposti dalla tesi, per canale affetto da fastfading, modulazione 4PSK e interlacciatore di dimensione 1024.

Si analizzeranno quindi due diverse punturazioni per ottenere un codice conrate 2/3 e 3/4 punturando il codice esterno di tasso 1/2.

Infine si analizza un canale affetto da slow fading.

3.1 Codici Proposti dalla Tesi

In figura (3.1) si presenta una panoramica di tutti i codificatori implementati. Vi simostrano le prestazioni per una modulazione 4-PSK, canale affetto da fast fading,interlacciatore di dimensione 1024, nel caso di una antenna ricevente (etichettaR1) e di due antenne riceventi (etichetta R2), dopo 10 iterazioni del decodificatorenel caso R1 e dopo 6 iterazioni nel caso R2. In ascissa si riporta il rapporto senalerumore espresso in dB ( SNR ), in ordinata il tasso di errore di frame.

Per una migliore leggibilita delle curve e per facilitare un confronto tra il casodi una antenna in ricezione (R1) e di due antenne in ricezione (R2) si suddivide fi-gura (3.1) nelle seguenti figure: figura (3.2) dove si confrontano i codici 164, 816e 24 , figura (3.3) dove si confrontano i codici 84, 1616 e 88 , figura (3.4) dove si

30

Page 40: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

-2,5 -1,5 -0,5 0,5 1,5 2,5 3,5 4,5 5,5

SNR

Fram

e E

rror

Rat

e

164_R1

164_R2

816_R1

816_R2

24_R1

24_R2

Figura 3.2. Codificatori 164, 816 e 24 per R1 e R2.

confrontano i codici 44, 168 e 44 e figura (3.5) dove si confrontano i codici 48, 24e 216.Si puo osservare dalle figure unguadagno di codifica, nel caso di due antenne ri-ceventi rispetto al caso di una sola antenna ricevente, di circa 4dB. La spiegazioneteorica del fenomenoe stata spiegata in dettaglio nel capitolo precedente.

Inoltre si osserva, sia nel caso R1 che R2 , che i codificatori con prestazionimigliori risultano, rispettivamente dal migliore al peggiore : il 164, l’84 e il 44.Quindi, gia ad una prima analisi, risultano migliori quelle combinazioni di codiciin cui un complesso codice esterno sia abbinato ad un meno complesso codiceinterno. Infattie questa una caratteristica generale di questo tipo di codificatori eproseguendo con l’analisi questo fatto diventera piu evidente.

A questo scopo nella figura (3.6) si raccolgono tutti i codici proposti nel casodi una sola antenna ricevente, codici che nelle figure successive vengono poi con-frontati. Prima si confrontano codificatori accomunati dal fatto di avere lo stessocodice esterno ( a 2, 4, 8, 16 stati rispettivamente) poi codificatori accomunati dalfatto di avere lo stesso codice interno ( a 4, 8, 16 stati rispettivamente). Nellafigura (3.7) si confrontano codificatori con codice esterno a 2 stati: 24, 28, 216.Nella figura (3.8) si confrontano codificatori con codice esterno a 4 stati: 44, 48,

31

Page 41: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

-2,5 -1,5 -0,5 0,5 1,5 2,5 3,5 4,5 5,5

SNR

Fram

e E

rror

Rat

e

84_R1

1616_R1

84_R2

1616_R2

88_R1

88_R2

Figura 3.3. Codificatori 84, 1616 e 88 per R1 e R2.

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

-2,5 -1,5 -0,5 0,5 1,5 2,5 3,5 4,5 5,5

SNR

Fram

e E

rror

Rat

e

44_R1

168_R1

44_R2

168_R2

416_R1

416_R2

Figura 3.4. Codificatori 44, 168 e 44 per R1 e R2.

32

Page 42: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

-2,5 -1,5 -0,5 0,5 1,5 2,5 3,5 4,5 5,5

SNR

Fram

e E

rror

Rat

e

48_R1

48_R2

24_R1

216_R1

24_R2

216_R2

Figura 3.5. Codificatori 48, 24 e 216 per R1 e R2.

416 . Nella figura (3.9) si confrontano codificatori con codice esterno a 8 stati:84, 88, 816 . Nella figura (3.10) si confrontano codificatori con codice esterno a16 stati: 164, 168, 1616 . Poi nella figura (3.11) si confrontano codificatori concodice interno a 4 stati: 24, 44, 84 e 164. Nella figura (3.12) si confrontano codi-ficatori con codice interno a 8 stati: 28, 48, 88 e 168. Infine nella figura (3.13) siconfrontano codificatori con codice interno a 16 stati: 216, 416, 816 e 1616.

Nella figura (3.7) si osserva che le prestazioni sono migliori per codici internipiu complessi. Mentre ancora nelle figure (3.8), (3.12) e (3.10) avviene l’inver-so: le prestazioni migliorano al diminuire della complessita del codice interno.La spiegazione risiede nel fatto che un codice esterno a 2 stati ha una semplicitaminimale quindi un codice interno complesso non puo che migliorarne le presta-zioni. Tuttavia nelle altre tre figure ritroviamo la regola generale.

Proseguendo, e confrontando i codificatori secondo il loro codice interno,abbiamo un’ulteriore verifica delle affermazioni precedenti. Infatti nella figura(3.11), dove il codice internoe semplice (un 4 stati), ritroviamo la gerarchia ap-pena descritta mentre nelle figure (3.12) (3.13), dove il codice interno e piu com-plesso, le prestazioni migliorano in modo contrario alla regola generale. Tuttaviabisogna osservare le prestazioni delle ultime due figure sono inferiori di almeno 1

33

Page 43: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5

SNR

Fram

e E

rror

Rat

e

44_R1

84_R1

164_R1

168_R1

1616_R1

48_R1

416_R1

88_R1

816_R1

24_R1

28_R1

216_R1

Figura 3.6. Codificatori proposti, nel caso R1.

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5

SNR

Fra

me E

rro

r R

ate

24_R1

28_R1

216_R1

Figura 3.7. Codificatori con codice esterno a 2 stati: 24, 28, 216.

34

Page 44: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5

SNR

Fra

me

Err

or

Rat

e

44_R1

48_R1

416_R1

Figura 3.8. Codificatori con codice esterno a 4 stati: 44, 48, 416.

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5

SNR

Fra

me

Err

or

Rat

e

84_R1

88_R1

816_R1

Figura 3.9. Codificatori con codice esterno a 8 stati: 84, 88, 816.

35

Page 45: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5

SNR

Fram

e E

rror

Rat

e

164_R1

168_R1

1616_R1

Figura 3.10. Codificatori con codice esterno a 16 stati: 164, 168, 1616.

dB a quelle di figura (3.11), cioe alle prestazioni dei codificatori 164, 84 e 44.

3.2 Confronto di prestazioni tra architetture equi-valenti

Gulati in [7] implementa un turbo codificatore spazio tempo, equivalente a quelloproposto da questa tesi, ma con codici diversi. Si sono utilizzati questi codici peravviare delle simulazioni da confrontare con le simulazioni mostrate nelle figureprecedenti.

Nelle figure (3.14) e (3.15) si osserva il risultato delle simulazioni nel di unae due antenne riceventi ( R1 e R2 ). Si sono utilizzati codici esterni a 2 e 4 statie codici interni a 4 stati. Si sono indicati i codici presentati in [7] con le etichetteG24 e G44. Dal confronto si evince che i codici proposti dalla tesi hanno presta-zioni di circa 1,5dB migliori.

36

Page 46: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5

SNR

Fra

me

Err

or

Rat

e

44_R1

84_R1

164_R1

24_R1

Figura 3.11. Codificatori con codice interno a 4 stati: 24, 44, 84 e 164.

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5

SNR

Fram

e E

rror

Rat

e

168_R1

48_R1

88_R1

28_R1

Figura 3.12. Codificatori con codice interno a 8 stati: 28, 48, 88 e 168.

37

Page 47: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5

SNR

Fra

me E

rro

r R

ate

1616_R1

416_R1

816_R1

216_R1

Figura 3.13. Codificatori con codice interno a 16 stati: 216, 416, 816 e 1616.

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5 6,5 7,5

SNR

Fra

me E

rro

r R

ate

44_R1

24_R1

G_24_R1

G_44_R1

Figura 3.14. Confronto nel caso R1

38

Page 48: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

-2,5 -1,5 -0,5 0,5 1,5 2,5 3,5

SNR

Fra

me E

rro

r R

ate

44_R2

24_R2

G_24_R2

G_44_R2

Figura 3.15. Confronto nel caso R2

3.3 Punturazione

Si puntura la sequenza di informazione, di tasso 1/2, per ottenere un codice ditasso 2/3. I motivi per cui punturare sono stati approfonditi nel primo capitolo.

In figura (3.16) si mostrano le prestazioni, di tutti i codici prima proposti, do-po la punturazione. Si nota l’accentuatoerror floor del codificatore 24. Si spiegaquesto andamento col fatto che ilpatterndi punturazione none stato ottimizzatoper ogni codice; di conseguenza la distanza libera diminuisce causando il feno-meno dell’error floor.

Nelle figure (3.17) e (3.18) si confrontano le prestazioni di alcuni codificatoripunturati (indicati con l’etichetta P1) con il loro equivalente non punturato. Si puonotare un peggioramento delle prestazioni di 2 dB, per la versione punturata, nelcaso di una antenna ricevente e di 1,5 dB nel caso di due antenne riceventi.

Si analizza un secondo codice punturato di tasso 3/4. In figura (3.19) si mo-strano le prestazioni dei codificatori punturati 84 e 164, indicati con l’etichetta P2.Ancora il 164 presenta un error floor, i motivi sono gli stessi discussi piu sopra.

39

Page 49: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

4 5 6 7 8 9

SNR

Fram

e Er

ror R

ate

168_1110_R1 1616_1110_R1 164_1110_R1 24_1110_R1

28_1110_R1 216_1110_R1 44_1110_R1 48_1110_R1

416_1110_R1 84_1110_R1 88_1110_R1 816_1110_R1

Figura 3.16. Punturazione P1.

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5 6,5

SNR

Fram

e E

rror

Rat

e

44_R1

84_R1

164_R1

P1_44_R1

P1_84_R1

P1_164_R1

Figura 3.17. Confronto tra P1 e non punturati.

40

Page 50: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5 6,5

SNR

Fram

e E

rror

Rat

e

168_R1

416_R1

88_R1

P1_416_R1

P1_88_R1

P1_168_R1

Figura 3.18. Confronto tra P1 e non punturati.

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

2,5 3,5 4,5 5,5 6,5 7,5 8,5 9,5

SNR

Fra

me

Err

or

Rat

e

44_R1

84_R1

164_R1

P2_164_R1

P2_84_R1

P2_44_R1

Figura 3.19. Punturazione P2.

41

Page 51: Tesi di laurea igor trestini 2003

3 – Implementazione e simulazioni sul canale affetto da fading

1,E-06

1,E-05

1,E-04

1,E-03

1,E-02

1,E-01

1,E+00

-2,5 -1,5 -0,5 0,5 1,5 2,5 3,5 4,5 5,5 6,5 7,5 8,5 9,5 10,5

SNR

Fram

e E

rror

Rat

e

44_R2 84_R2

164_R2 164_Slow_R2

44_Slow_R2 84_Slow_R2

164_fast_100_R2

Figura 3.20. Canale affetto da slow fading.

3.4 Canale affetto da Slow Fading

Si analizza il canale affetto da slow fading. Per rendere verosimile l’ipotesi siutilizza una sequenza di informazione di 100 simboli. Si utilizzano due antennein ricezione. Nella figura (3.20) sono mostrate le prestazioni, per il canale affettoda slow fading, dei codificatori 164, 84 e 44. Inoltre si mostra la curva delleprestazioni del codificatore 164 con canale affetto da fast fading ma con sequenzatrasmessa di 100 simboli. Infine si mostrano le tre curve dei codificatori 44, 84,164 con canale affetto da fast fading e sequenza trasmessa di 1024 simboli.

Le prestazioni peggiorano in parte utilizzando una sequenza di soli 100 sim-boli ma si deteriorano ulteriormente ipotizzando un canale affetto da slow fading.In questo caso infatti il codificatore spazio tempo non puo piu avvantaggiarsi deicammini multipli, tra loro indipendenti, come avviene in canale affetto da fastfading, comee gia stato discusso in dettaglio nel capitolo precedente.

42

Page 52: Tesi di laurea igor trestini 2003

Capitolo 4

Conclusioni e ricerche future

La tecnica della turbo codifica, chee stata introdotta nel 1993 [2],e un modo diconcatenare due semplici codificatori convoluzionali in parallelo per ottenere unpotente codificatore complessivo. Tuttavia la codifica da sola non puo sfruttare laricchezza offerta da un canale affetto da cammini multipli. Recenti risultati sullacapacita mostrano infatti che antenne multiple in trasmissione e ricezione posso-no aumentare le prestazioni senza espandere la larghezza di banda. Per sfruttarele potenzialita di un canale multiple input multiple output (MIMO) sono neces-sarie nuove tecniche che combinino la turbo codifica con la diversita spaziale inricezione e trasmissione.

Si e cosı proposto uno schema di turbo codificatore spazio tempo concatenatoin serie, con due antenne in trasmissione e una o due antenne in ricezione, checombini i vantaggi di potenti turbo codificatori con i vantaggi della diversita intrasmissione e ricezione dei codificatori spazio tempo. Lo schema utilizza codicicostituenti ricorsivi, un algoritmo iterativomaximum a posterioriper la decodifi-ca. Inoltre il sistemae studiato per modulazione 4-PSK , per un canale affetto dafast fading e per un canale affetto da slow fading e opera un interlacciamento suibit.

Sono stati proposti ed analizzati vari codici a 2, 4, 8 e 16 stati. Sie verificatocome le migliori prestazioni siano offerte da codificatori turbo spazio tempo cheutilizzino un codificatore convoluzionale a molti stati come codice esterno( un 16o 8 stati nel caso dei codici proposti), ed un piu semplice codice spazio tempocome codificatore interno (un 4 stati sempre nell’ambito dei codici proposti).

Si sono proposte ed analizzate due diverse punturazioni, per aumentare il tassodel codice senza aumentare la complessita del codificatore. Tuttavia queste nonsono state ottimizzate al codice e in vari casi causano il problema dell’error floor.

Il lavoro richiederebbe ricerche future. Uno studio sulla implementazione dei

43

Page 53: Tesi di laurea igor trestini 2003

4 – Conclusioni e ricerche future

codici spazio tempo a blocco (STB) come codificatore interno. Una ottimizza-zione dei pattern di punturazione per limitare l’error floor. Una analisi sull’inter-lacciamento sui simboli. L’implementazione di antenne in trasmissione e ricezio-ne in numero maggiore di due. Uno studio sulla convergenza dell’algoritmo didecodifica tramite il programma exit charts in [9].

44

Page 54: Tesi di laurea igor trestini 2003

Bibliografia

[1] C.E. Shannon,A mathematical theory of communications, Bell SystemTechnical Journal, 1948.

[2] C. Berrou, A. Glavieux and P. Thitimajshima,Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes, Proceedings IEEE ICC’93,Geneva, Switzerland, 1993.

[3] C. Berrou and A. GlavieuxNear optimum error correcting coding anddecoding: Turbo-Codes, IEEE Transaction on Communications, Oct 1996.

[4] L.R. Bahl, J. Cocke, F. Jelinek and J. Raviv,Optimal Decoding of LinearCodes for Minimizing Symbol Error RateIEEE Trans. Inform. Theory, vol.20, pp. 284-287, March 1974.

[5] S.M. Alamouti A simple transmit diversity technique for wirelesscommunications, IEEE Journal Areas in Communications, 1998.

[6] V. Tarokh,N. Seshadri and A.R. CalderbankSpace-Time codes for high datarates wireless communications: performance criterion and code construction,IEEE Transactions on Information Theory, 1998.

[7] V. Gulati, K.R. Narayanan,Concatenated Codes for Fading ChannelsBased on Recursive Space-Time CodesIEEE Transaction on wirelesscommunications, 2003.

[8] Branka VuceticDesign of Space-Time Turbo TCM on Fading ChannelsITW2001, Cairns, Australia, 2001.

[9] S.Brink,Convergence of iterative decodingElectron. Letters,May 1999.[10] S. Benedetto, D. Divsalar, G. Montorsi and F. Pollara,Serial Concatenation

of Interleaved Codes: Performance analysis, design, and iterative decodingIEEE Trans. Inform, Theory, vol. 44, pp. 909-926, May 1998.

[11] A.J. Viterbi, An Intuitive Justification and a Simplified Implementation ofthe MAP Decoder for Convolutional CodesIEEE J Sel Areas Commun, vol.16(2), pp.260-264, 1998.

[12] G.D. Forney,The Viterbi AlgorithmProc. IEEE, vol. 61, pp. 268-278, 1973.[13] A. Glavieux, C. Laot and J. Labat,Turbo Equalization over a Frequancy

Selective Channel, Proceedings Intl Symposium on Turbo Codes & RelatedTopics, Brest, 1997.

45

Page 55: Tesi di laurea igor trestini 2003

Bibliografia

[14] J. Hagenauer,The Turbo Principal: Tutorial Introduction and State of ArtProceedings Intl Symposium on Turbo Codes & Related Topics, Brest, 1998.

46