Coduri Turbo
Coduri Turbo
Cuprins
CAPITOLUL I. Aspecte generale privind canalul de transmisiune
I.1. O perspectivă istorică asupra codării canalului
I.2. Tipuri de zgomot ce apar pe canalul de transmisiune
I.2.1. Gaussian
I.2.2. Non-Gaussian (impulsiv)
I.2.2.1. Zgomot Middleton Class-A
I.3. Fading
CAPITOLUL II. Coduri turbo
II.1. Structura codurilor turbo
II.2. Terminarea trellis-ului
II.3. Interleaver-e. Parametri
II.3.1. Interleaver-ul aleator
II.3.2. Interleaver-ul S-aleator
II.4. Decodare turbo
II.4.1. Algoritmul de decodare Maximum A Posteriori (MAP)
II.4.2. Algoritmul Max-Log-MAP
II.4.3. Algoritmul cu intrare soft și ieșire soft (SISO) al lui Benedetto
II.4.4. Criterii de stop a iterațiilor
II.4.4.1. Criterii de stop a iterațiilor pentru algoritmul MAP
II.4.4.2. Criterii de stop a iterațiilor pentru algoritmul SISO-APP
II.5. Influența metodelor de terminare a trellis-ului asupra performanțelor codurilor turbo
II.6. Metoda impulsului de corecție pentru decodarea turbo în cazul zgomotului impulsiv de tip Middleton Class-A
CAPITOLUL III. Coduri turbo spațio-temporale
III.1. Codul Golden
III.2. Criteriu de stop a iterațiilor pentru schema combinării unui cod turbo cu un cod STBC
CAPITOLUL IV. Aplicație a codului Alamouti în transmiterea imaginilor sub influența zgmotului impulsiv
IV. 1. Performanța codului Alamouti sub influența zgomotului impulsiv
IV. 2. Transmitere de imagini folosind Alamouti pe canal afectat de zgomot impulsiv și fading Rayleigh
V. Bibliografie
Capitolul I
Aspecte generale privind canalul de transmisiune
I. 1. O perspectivă istorică asupra codării canalului
Îmbunătățirea performanțelor unui sistem de comunicație reprezintă preocuparea majoră la momentul actual, scopul principal fiind acela de a asigura comunicații eficiente și fără erori în canalele afectate de zgomot. Aceste performanțe sunt evaluate cu ajutorul probabilității de eroare a simbolurilor recepționate (rata erorii de bit – BER), probabilitate ce depinde de raportul semnal/zgomot de pe canal (SNR – Signal to Noise Ratio). Pentru a crește performanțele, o soluție foarte eficientă este codarea canalului. Acest tip de codare, numit FEC (Forward Error Correction), este utilizat în foarte multe sisteme. Codurile corectoare de erori au rolul de a detecta sau corecta erorile care apar cu certitudine pe un canal afectat de zgomot. Practic, scopul codării FEC este de a proteja informația transmisă în sistemele de comunicație.
Pentru a se asigura o comunicație eficientă, Shannon considera că este necesar ca rata de transmisie pe un canal (oricât de zgomotos) să fie mai mică decât capacitatea acestuia [1]. În opinia sa, transmiterea informației într-un mod cât mai sigur posibil se realizează cu ajutorul codării canalului, operație ce constă în adăugarea de informație redundantă mesajelor trimise. Cercetătorul a fost reținut în ceea ce privește propunerea unor soluții explicite de codare care să poată fi implementate practic. Mai mult, cu toate că redundanța adăugată produce o întârziere a mesajului transmis, nu a precizat care este întârzierea maximă ce poate fi acceptată, astfel încât să poată fi asigurată comunicația în apropierea limitei lui Shannon.
Pornind de la aceste considerente, au fost propuse o serie de coduri, limitate însă ca performanță de complexitatea decodării (aceasta crește exponențial cu lungimea blocului transmis) și de complexitatea canalului. Astfel, putem trece în revistă apariția codurilor bloc, a codurilor convoluționale și a codurilor concatenate din cele bloc, respectiv convoluționale.
Codarea bloc este prima categorie (din punct de vedere istoric) din clasa codurilor corectoare de erori. Aceasta a fost propusă în 1950, [2]. Unul din aceste coduri corectoare de erori fiind codul Hamming, cod ce a fost și implementat practic, însă nu a avut performanțe ridicate. Codurile descoperite de Hamming erau corectoare de o eroare sau corectoare de o eroare și detectoare de erori duble. În 1959, 1960, Bose, Chaudhuri și Hocquenghem au surprins prin codurile BCH, coduri bloc binare corectoare de erori multiple [3], [4]. Aceste coduri includ codurile Hamming, dar și pe cele Reed-Solomon (RS) [5], coduri cu proprietăți optime; cuvintele de cod au distanța minimă cea mai mare posibilă pentru o rată de cod dată, dar nu garantează minimizarea ratei erorii de bit. Codurile BCH binare sunt asimptotic slabe. Cel care a rezolvat problema complexității asimptotice a fost Forney, metoda folosită în acest sens fiind concatenarea codurilor aleatoare scurte cu coduri RS lungi [6].
În ceea ce privește decodarea codurilor bloc, aceasta își are punctul de start în 1954, când Reed a propus primul algoritm [7]. Au urmat apoi mai multe metode de decodare, printre care pot fi amintite: rezolvarea de sisteme de ecuații, decodare secvențială, decodarea algebrică etc. Dintre tehnicile cunoscute pentru decodarea codurilor bloc poate fi amintit algoritmul Chase [8]. Pentru decodarea codurilor RS, au fost propuși algoritmi puternici: Berlekamp [9, 10] și Massey [11, 12].
Codurile RS sunt utilizate în ultimii ani la realizarea CD-playerelor și în transmisia video digitală – „Digital Video Broadcasting”, standardizată de ETSI sub denumirea de DVB. Codurile corectoare de erori și-au găsit aplicabilitate în anii `70 în diverse sisteme de comunicații prin satelit sau în spațiu și în anii `80 în sistemele radio mobile celulare.
Codurile FEC convoluționale au fost propuse de Elias în 1955 [13], în timp ce Wozencraft și Reiffen [14], [15], Fano [16] și Massey [17] au propus diverși algoritmi de decodare. Cel mai cunoscut algoritm de decodare a codurilor convoluționale este cel propus de Viterbi [18] în 1967, algoritm folosit pe scară largă în comunicațiile spațiale, care se bazează pe estimarea secvenței de probabilitate maximă. Decodarea mai sus amintită nu duce la minimizarea BER (Bit Error Rate), având și un număr limitat de calcule per pas. Acesta operează pe trellis bloc cu bloc, pe un număr finit de blocuri, pentru a regăsi drumul utilizat la codare. În fiecare nod, se calculează distanțele între secvența recepționată și toate secvențele de pe trellis, cumulând distanța de la un nod la altul. În fiecare bloc, pentru fiecare nod vor exista două drumuri dintre care se va alege cel cu distanță minimă.
Minimizarea probabilității de eroare de bit este realizată de un algoritm de decodare propus în 1974 de Bahl, Cocke, Jelinek și Rasiv [19], algoritm cunoscut sub numele de Maximum-A-Posteriori (MAP). Acesta furnizează rapoartele de plauzibilitate (sub formă logaritmică) pentru fiecare bit al blocului codat recepționat. Varianta aceasta de decodare poate fi utilizată atât pentru coduri convoluționale cât și pentru cele bloc, însă a fost folosit foarte puțin în practică până la apariția codurilor turbo în 1993, având o complexitate de două ori mai ridicată decât algoritmul Viterbi.
Îmbunătățirea performanțelor poate fi obținută prin concatenarea codurilor. Conceptul de coduri concatenate a fost introdus în 1966, de către Forney [6], care a folosit concatenarea serială, obținând performanțe mai bune în corectarea de erori. Concatenarea paralelă a două coduri convoluționale sistematice recursive a marcat un moment important, deoarece această tehnică a dus la apariția codurilor turbo [20], inventate de Berroux, Glavieux și Thitimajshima. Utilizarea acestor coduri a facilitat operarea sistemelor de comunicații în apropierea limitei Shannon. Datorită performanțelor remarcabile, codurile turbo au fost introduse în sisteme standardizate (3G), precum și în sistemele de transmisie video.
Între cele două coduri convoluționale a fost plasat un dispozitiv de întrețesere (intreleaver). Algoritmul de decodare folosit în varianta originală este o versiune modificată a algoritmului MAP inventat de Bahl și colaboratorii săi [19]. Un algoritm de decodare de complexitate redusă este cel propus de Koch și Bayer: Max-Log-MAP (Maximum-Logarithm MAP), precum și Logarithm-MAP, sugerat de Robertson, Willbrun și Hocher. Variante ulterioare ale codurilor turbo sunt codurile concatenate serial, respectiv coduri concatenate hibrid [21].
Pentru a îmbunătăți siguranța transmisiilor de date, în special a celor cu viteze mari, prin creșterea diversității spațiale și minimizarea posibilității apariției de erori au fost propuse codurile spațiu-timp.
Primele arhitecturi folosind tehnicile de codare spatio-temporale sunt prezentate în [22] sub denumirea de coduri cu „diversitate prin întârziere”. Ulterior, conceptul de codare spațiu-timp a fost cercetat în profunzime de către Tarokh și ceilalți in [23], ei realizând codurile trellis spațio temporale, STTC (Space-Time Trellis Code). Aceste coduri oferă atât un câștig de diversitate care poate fi maxim, cât și un câștig de codare depinzând de complexitatea codului (numărul de stări în trellis) fără a pierde din eficiența spectrală (raportul între viteza de transmisie și lățimea de bandă (biți/s/Hz)). Performanța lor este unitară deoarece simbolurile transmise simultan la NT antene aparțin practic acelorași biți de informație prezenți la intrarea codorului (nu s-au mai adăugat biții redundanți). Acești biți de informație sunt așadar codați în timp și în spațiu.
Codurile STTC fiind o extindere a modulatiei codate trellis, MCT, la dimensiuni spațiale, la partea de recepție nu este suficient un decodor bazat pe algoritmul Viterbi (datorită complexității codării) care poate fi implementat pentru una sau mai multe antene de recepție, așadar este nevoie de un algoritm de decodare mai complex. Datorită acestui impediment, codurile STTC nu sunt foarte utilizate în aplicații. În căutarea rezolvării problemei de complexitate la recepție, Alamouti [24] a descoperit o tehnică de transmisie ce folosește două antene de emisie și una de recepție, mai puțin complexă decât STTC. Ulterior, Tarokh a generalizat această tehnică pentru un număr mai mare de antene, noile coduri numindu-se coduri spatio-temporale bloc, STBC (Space-Time Block Codes) [25]. Această tehnică necesită doar o singură antenă la recepție pentru a realiza decodarea.
Pentru cazul sistemelor MIMO 2×2 (două antene de emisie, respectiv două de recepție), Belfiore et al. [26] au propus Golden Code G, coduri de rată și diversitate maximă. Sunt construite folosind metode algebrice, asigurând astfel un câștig de codare spațio-temporal. Datorită avantajelor pe care le prezintă, aceste coduri au fost numite coduri perfecte [27].
I.2. Tipuri de zgomot ce apar pe canalul de transmisiune
Canalul de comunicație este mediul fizic prin care semnalele de la emițător sunt transmise la receptor. Acesta poate fi atmosfera sau spațiul liber – în cazul comunicațiilor wireless, sau liniile metalice, fibra optică etc. Canalele reale de transmisiuni pot fi descrise din punct de vedere matematic cu ajutorul modelelor matematice. Datele transmise pe canalele de comunicație sunt afectate de zgomot, principalele tipuri prezentate mai jos fiind zgomotul alb gaussian – Additive White Gaussian (AWGN) și zgomotul non-gaussian (impulsiv).
I.2.1. Gaussian
a) Canalul AWGN – caracteristici
Modelul matematic de canal cel mai utilizat, pentru care s-au evaluat performanțele codurilor folosite în transmiterea datelor, este modelul de canal cu zgomot alb gaussian aditiv – AWGN. Acest tip de zgomot respectă o distribuție gaussiană. Canalul AWGN este un canal cu intrare discretă și ieșire continuă, ceea ce înseamnă că sursa de informație generează la intrare un alfabet finit de forma: , în timp ce ieșirea poate lua orice valoare
Relația ce descrie acest tip de canal este:
, (I.1)
unde: y – este ieșirea canalului, n – reprezintă zgomotul modelat printr-o variabilă aleatoare gaussiană cu medie 0 și dispersie σ2.
Funcția densitate de probabilitate ce caracterizează acest tip de canal este dată de [28]:
(I.2)
Modelul sistemului de transmisiune (partea de modulație și canalul) este dat în e coduri au fost numite coduri perfecte [27].
I.2. Tipuri de zgomot ce apar pe canalul de transmisiune
Canalul de comunicație este mediul fizic prin care semnalele de la emițător sunt transmise la receptor. Acesta poate fi atmosfera sau spațiul liber – în cazul comunicațiilor wireless, sau liniile metalice, fibra optică etc. Canalele reale de transmisiuni pot fi descrise din punct de vedere matematic cu ajutorul modelelor matematice. Datele transmise pe canalele de comunicație sunt afectate de zgomot, principalele tipuri prezentate mai jos fiind zgomotul alb gaussian – Additive White Gaussian (AWGN) și zgomotul non-gaussian (impulsiv).
I.2.1. Gaussian
a) Canalul AWGN – caracteristici
Modelul matematic de canal cel mai utilizat, pentru care s-au evaluat performanțele codurilor folosite în transmiterea datelor, este modelul de canal cu zgomot alb gaussian aditiv – AWGN. Acest tip de zgomot respectă o distribuție gaussiană. Canalul AWGN este un canal cu intrare discretă și ieșire continuă, ceea ce înseamnă că sursa de informație generează la intrare un alfabet finit de forma: , în timp ce ieșirea poate lua orice valoare
Relația ce descrie acest tip de canal este:
, (I.1)
unde: y – este ieșirea canalului, n – reprezintă zgomotul modelat printr-o variabilă aleatoare gaussiană cu medie 0 și dispersie σ2.
Funcția densitate de probabilitate ce caracterizează acest tip de canal este dată de [28]:
(I.2)
Modelul sistemului de transmisiune (partea de modulație și canalul) este dat în figura I.1. Pot fi folosite diverse modulații, precum: BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase Shift Keying), QAM (Quadrature Amplitude Modulation) etc.
Figura I.1. Model de sistem de transmisiune cu modulație și canal AWGN
b) BER/SER pentru canalul AWGN
Rata de eroare de bit – BER (Bit Error Rate) reprezintă raportul dintre numărul de biți recepționați eronat după decodare și numărul total de biți de informație. Analog, se poate defini SER (Symbol Error Rate), doar că se face referire la simboluri recepționate eronat și numărul total de simboluri. Aceste rate de eroare (Pb, Ps) sunt evaluatori ai performanțelor sistemelor de comunicație, funcție de raportul semnal-zgomot.
Definesc două raporturi: SNRb=Eb/N0 – raportul semnal-zgomot per bit și SNRs=Es/N0 – raportul semnal-zgomot per simbol, unde Eb – este energia bitului codat, Es – energia simbolului și N0 – densitatea spectrală de putere a zgomotului.
Pentru o constelație de M puncte (M-array), pot fi făcute următoarele aproximări [29]:
(I.3)
b1) Modulație BPSK
Dacă se folosește modulația BPSK, constelația C, reprezentată în figura I.2, are puncte reale și xk Є C={-1, 1}. Bitul uk Є {0,1} se transformă în simbolul xk Є C={-1, 1}, după relația:
(I.4)
Din figura I.1 se poate observa că la ieșirea canalului, semnalul util yk va avea în componență un eșantion din zgomotul AWGN nk, conform relației:
, (I.5)
Figura I.2. Constelația BPSK
În cazul modulației BPSK, fiecărui simbol ii corespunde un bit, prin urmare rata de eroare de bit și cea de simbol sunt identice. Pentru acest tip de modulație, x Є {-A, A}, dmin=2A, dmin fiind distanța minimă dintre punctele din constelație. Probabilitatea de eroare de bit este definită de relația [29]:
, (I.6)
unde
Folosind funcția Q(x), definită de relația I.7, probabilitatea de eroare de bit poate fi scrisă ca în I.8.
(I.7)
, (I.8)
unde: N0 reprezintă densitatea spectrală de putere a zgomotului, iar SNRb este raportul semnal zgomot, definit astfel:
(I.9)
Eb este energia bitului codat si este A2 [29].
b2) Modulație QPSK
În cazul modulației QPSK, modulatorul primește la intrare doi biți de informație uk Є {0,1} și produce două simboluri complexe [x1 x2], unde xk Є C={1, j, -1, -j}. Practic, constă din două modulații BPSK ale componentelor semnalului, în fază și în cuadratură. Constelația este reprezentată în figura I.3.
Figura I.3. Constelația QPSK
Probabilitatea de eroare de bit este identică cu cea de la BPSK, cea care diferă este probabilitatea de simbol, definită astfel [29]:
(I.10)
Dacă raportul semnal-zgomot (Es/N0) este mare, probabilitatea de eroare de simbol poate fi aproximată cu:
(I.11)
Ținând cont și de faptul că sunt 2 biți pe simbol, se poate face și următoarea aproximare [29]: Pb≈Ps/2.
Generalizând, pentru o modulație PSK în M puncte (MPSK), figura I.4., pentru valori mari ale SNR, probabilitatea de eroare de simbol este dată de relația [29]:
(I.12)
Folosind relația I.3., rezultă că Pb poate fi scrisă sub forma:
(I.13)
Figura I.4. Constelație MPSK
b3) Modulație QAM
Constelația semnalului QAM se realizează pentru mai multe variante. Aceasta este o modulație de amplitudine în cuadratură, modulație efectuată simultan cu semnale distincte asupra a două purtătoare defazate una față de alta cu 90º. Cu doar 2 nivele de amplitudine și 4 de fază se poate realiza o modulație 8-QAM care codifică 3 biți, în cazul 16-QAM un simbol este alcătuit din 4 biți (24 biți) – figura I.5, în cazul 64-QAM din 6 biți, iar pentru 256-QAM un simbol este format din 8 biți.
Figura I.5. Constelație 16-QAM
Relațiile pentru probabilitatea de eroare de bit, respectiv pentru cea de simbol sunt [29]:
, (I.14)
unde și reprezintă energia medie pe bit, respectiv pe simbol.
Sintetizând, probabilitățile de eroare de bit, respectiv de simbol sunt date în tabelul I.1.
Tabelul I.1
În figura de mai jos, este prezentată probabilitatea de eroare de bit pentru modulațiile descrise anterior. Se poate observa, că pentru BPSK și QPSK, probabilitatea este identică și cea mai mică, deci se obțin performanțe mai bune în acest caz. Urmează apoi probabilitatea pentru modulație 16-QAM și 16-PSK.
Figura I.6. BER pentru canal AWGN, pentru diverse modulații
Figura I.7. SER pe canal AWGN, pentru diverse modulații
Și în cazul SER, modulația BPSK are cele mai bune performanțe. Pentru modulațiile 16-PSK și 16-QAM, 16-QAM este mai avantajoasă doar pentru valori mari ale SNR.
În simulările realizate în continuare pe parcursul lucrării, am folosit modulația BPSK, forma tradițională.
I.2.2. Non-Gaussian (impulsiv)
Eficientizarea comunicațiilor wireless presupune posibilitatea de a transmite un volum mare de date într-un timp foarte scurt și cu cât mai puține erori. Un factor important ce influențează semnificativ calitatea unei comunicații este mediul de propagare. Acesta afectează comunicațiile prin variabilitatea în timp a caracteristicilor sale, urmările fiind fie atenuare semnalului de la recepție (fenomen cunoscut sub numele de fading), fie introducerea anumitor întârzieri, fie deplasări de fază ale uneia sau mai multe componente ale frecvenței. Toate acestea conduc la imposibilitatea receptorului de a recupera semnalul. Pe lângă fading, și zgomotul are o contribuție majoră la deteriorarea semnalului. La rândul său, zgomotul poate fi de tip gaussian (AWGN) sau impulsiv (non-gaussian).
Zgomotul impulsiv este prezent în multe aplicații, sursele sale fiind multiple: zgomotul industrial, bujiile automobilelor [30], cuptoarele cu microunde [31], precum și interferențele de rețea [32]. De asemenea, în interior, comunicațiile wireless sunt afectate de zgomotul produs de dispozitive (aparate) cu comutatoare electromecanice, cum ar fi motoarele electrice din figidere, copiatoare, imprimante [33].
Având în vedere prezența la orice pas a acestui tip de zgomot, cercetările în domeniul comunicațiilor au impus realizarea unor modele statistice care să permită caracterizarea zgomotului non-gaussian. Astfel, Hall a propus în [34] un model care presupunea generarea zgomotului impulsiv ca produs de două procese aleatoare. Shao și Nikias au descris zgomotul impulsiv cu ajutorul unui parametru α, model cunoscut sub numele de symmetric α-stable (SαS) [35].
Un model foarte des utilizat pentru descrierea statistică a zgomotului impulsiv este cel propus de Middleton [36], un model parametric, prezentat sub formă canonică și care s-a dovedit a fi în concordanță cu măsurătorile empirice din diferite medii. Acesta are trei clase distincte (A, B și C), care se diferențiază funcție de banda zgomotului și de a receptorului. Class-A este potrivită pentru situația în care banda zgomotului este mai mică decât a receptorului și interferențele sunt neglijabile la receptor. În cazul în care banda zgomotului este mai mare decât a receptorului, iar efectele produse de interferențe devin semnificative la receptor, este recomandat să se folosească modelul Class-B. Class-C este o combinație a modelelor descrise anterior (A și B).
Pe parcursul lucrării, în simulările realizate am folosit modelul Middleton Class-A, comparativ cu AWGN.
I.2.2.1. Zgomot Middleton Class-A
Zgomotul non-gaussian are o componentă Gaussiana (ng), cu varianța și una impulsivă (ni), cu varianța . Astfel, modelul pentru un zgomot non-gaussian poate fi considerat ca și Additive White Class A Noise (AWCN) :
(I.15)
a cărei funcție densitate de probabilitate urmează o distribuție Middleton Class-A [37]. Expresia acesteia, pentru un zgomot complex, este dat de relația:
(I.16)
Se poate observa că este o sumă ponderată Poisson de distribuții Gaussiene. În relatia (I.16), termenii au următoarea semnificație : m este numărul de interferențe active (sau impulsuri). A – este indexul de impuls și indică numărul mediu de impulsuri pe durata interferenței. Acest parametru ajută la descrierea zgomotului astfel: cu cât A este mai mic, cu atât zgomotul este mai impulsive ; invers – cu cât A este mai mare, cu atât zgomotul tinde spre AWGN.
este dată de relația:
, (I.17)
unde: este puterea totală a zgomotului și
(I.18)
este numit factor gaussian. Se poate observa din (I.18) că pentru valori mici ale lui T, predomină componenta impulsivă, iar pentru valori mari – componenta AWGN.
Un e eșantion de zgomot impulsiv de tip Middleton Class-A este [38]:
, (I.19)
unde: secvența de zgomot de fundal de tip AWGN, cu media zero și varianța , este secvența de zgomot AWGN cu medie zero și varianța și este secvența distribuită Poisson, a cărui funcție densitate de probabilitate (pdf) este caracterizată de indexul de impuls A.
În figura I.8 sunt prezentate eșantioane de zgomot – AWGN și impulsiv (AWCN), generate în Matlab, folosind toolbox-ul propus de [39]. Simulările au fost realizate pentru un număr de 104 eșantioane, variind parametrii A și T ai modelului. Valorile pentru A au fost considerate în intervalul [10-4, 1], iar pentru T – [10-2, 1].
Se poate observa că pentru A=T=1, zgomotul impulsiv are aceeași alură ca și cel gaussian, iar pe măsură ce parametrii iau valori mai mici, acesta devine puternic impulsiv (apar impulsuri dese și cu amplitudine mare față de AWGN).
Figura I.8. Eșantioane de zgomot generate pentru diverse valori ai parametrilor A și T
Există o mică excepție de la regula ce spune că odată cu scăderea valorilor parametrilor A și T, zgomotul devine puternic impulsiv. Se poate observa că pentru A=0.0001, T=1, zgomotul este gaussian, nu prezintă nici un impuls; aceeași situație se regăsește și pentru T=0.1, numai că în acest caz și amplitudinea este mai mică față de AWGN. Dacă se generează un număr mai mare de eșantioane, atunci zgomotul este într-adevăr puternic impulsiv – figura I.9. Parametrul A a fost considerat 0.00001.
Figura I.9. Eșantioane de zgomot impulsiv pentru A=0.00001
Pentru a analiza acest tip de zgomot, am realizat în Matlab, simulări pentru un număr de 104 eșantioane, cu scopul de a vedea care este diferența între funcțiile densitate de probabilitate ale zgomotului gaussian (cu medie zero și varianță unitară) și cel non-gaussian descris de modelul Middleton Class-A [40]. Astfel, în figura I.10, este realizată o comparație a distribuțiilor normale și Middelton Class-A, pentru A=1, 0.1, și T=1, 0.1. Se poate observa faptul că odată cu micșorarea indexului de impuls – A, distribuția zgomotului AWCN este mai “îngustă” și mai înaltă față de cea gaussiană, iar cu cât T este mai mare, cu atât distribuția AWCN se apropie de cea normală.
Pentru A=1 și T=1, distribuțiile sunt identice. Pentru a vedea care este abaterea zgomotului impulsiv față de distribuția normală, am ales parametrii A=0.1, T=0.1. În figura I.11 este exemplificată această abatere cu ajutorul cumulative density function.
Figura I.10. Distribuția Middleton Class-A vs distribuția normală
Figura I.11. Cdf pentru Middleton Class-A vs distribuție normală pentru A=T=0.1
Figura I.12 prezintă două funcții densitate de probabilitate pentru modelul Middleton Class-A, pentru A=T=0.1: una reală, obținută pe baza eșantioanelor de zgomot generate, și cea estimată cu ajutorul unei funcții kernel normală din Matlab (utilizată pentru estimarea densității de probabilitate), care folosește un parametru fereastră – o funcție a numărului de puncte din eșantioanele generate.
Figura I.12. Pdf pentru Middleton Class-A, A=T=0.1
Figura I.13. Pdf estimat pentru Middleton Class-A, T=0.1
În figura I.13 sunt prezentate funcțiile densitate de probabilitate estimate pentru modelul Middleton Class-A, pentru valoarea fixă a factorului gaussian T=0.1 și diverse valori ale indexului de impuls A. Cum am spus și mai sus, cu cât parametrul A este mai mic, cu atât zgomotul are un caracter mai impulsiv, exceptând valoarea A=0.00001, unde distribuția se apropie de cea normală. Acest lucru se întâmplă deoarece pentru un număr de 1000 de eșantioane, impulsurile nu există sau sunt singulare, dar cu amplitudine mare pentru a se obține aceeași putere, consecința fiind aceea că distribuția unui astfel de zgomot este practic aceeași sau foarte apropiată de cea AWGN.
Fixând parametrul A la valoarea 0.01 și variind factorul gaussian T, am reprezentat în figura I.14, distribuția zgomotului impulsiv de tip Middleton Class-A, comparativ cu cea normală. Se poate observa că micșorarea parametrului T al modelului, duce la creșterea considerabilă (și „ascuțirea” distribuției) a valorii pdf, comparativ cu AWGN.
Figura I.14. Pdf estimat pentru Middleton Class-A, A=0.01
I.3. Fading
În general, comunicațiile prin canale wireless sunt afectate de caracteristici variabile în timp ale mediului de propagare. Un semnal emis de un transmițător parcurge mai multe căi până ajunge la destinație, efectuând o așa-numită propagare multi-cale, astfel încât la receptor ajung mai multe versiuni ale semnalului emis [41]. Prin urmare, semnalul recepționat în comunicațiile prin canale radio wireless nu poate fi modelat pur și simplu ca o copie a semnalului transmis corupt de zgomot gaussian aditiv [42].
Pe fiecare dintre căi se manifestă un proces de atenuare a semnalului (fading), în care semnalul suferă diferite atenuări, întârzieri în timp și deplasări de fază (phase shifts) ale uneia sau mai multor componente ale frecvenței. Semnalul observat la receptor este o sumă a acestor semnale multiple, fiind diferit de cel original, transmis prin canal cu fading (fading channel). În plus, numărul căilor și caracteristicile lor se pot schimba în timp, datorită schimbărilor de poziție relative ale transmițătorului, receptorului și, de asemenea, ale obiectelor din mediul înconjurător [43].
Modelul unui sistem de comunicație cu modulație și canal afectat de zgomot AWGN și fading este în figura I.16:
Figura I.16. Model de sistem de transmisiune cu canal afectat de AWGN și fading
Pentru un astfel de sistem, relația de intrare-ieșire este:
, (I.21)
unde: x – este inrarea canalului, y – ieșirea canalului, n – reprezintă zgomotul modelat printr-o variabilă aleatoare gaussiană cu medie 0 și dispersie σ2, iar h sunt coeficienții de fading modelați prin variabile aleatoare complexe gaussiene.
Cel mai întâlnit model statistic pentru canale cu fading este cel de tip Rayleigh. Datorită faptului că nu depinde de frecvență, acesta este de tip plat. Fluctuațiile aleatoare ale semnalului recepționat datorate fading-ului pot fi modelate considerând un proces aleatoriu în timp, c(τ, t), cu întârzierea τ. Deoarece semnalul recepționat se compune dintr-o multitudine de componente provenite prin diferite căi din reflexiile și împrăștierea semnalului pe diferite suprafețe neregulate, c(τ, t) poate fi modelat ca și un proces aleator complex, gaussian. Astfel, la orice moment de timp t, părțile reală și imaginară ale lui c(τ, t) sunt variabile aleatoare distribuite normal.
Dacă c(τ, t) este de medie nulă, atunci anvelopa are o densitate de probabilitate Rayleigh [44]:
(I.20)
În figura I.15. am reprezentat densitatea de probabilitate Rayleigh, pentru σ=1, ținând cont de relația I.20.
Figura I.15. Densitatea de probabilitate Rayleigh
Pentru un canal afectat de fading Rayleigh, probabilitatea de eroare de bit este dată de [44]:
(I.22)
În figura I.17 este reprezentată probabilitatea de eroare de bit pentru un canal AWGN, pentru un canal afectat de fading Rayleigh, respectiv un canal afectat de fading Rayleigh și zgomot impulsiv de tip Middleton Class-A, cu parametri A=0.001 și T=0.1. Toate canalele au fost considerate fără codare. Comparativ, se poate observa că BER este scăzută pentru AWCN, pentru valori mici ale SNR, în timp ce pentru valori mari ale SNR, canalul AWGN are performanțe mai bune. În cazul canalului afectat de fading Rayleigh, gama de valori ale SNR necesară pentru obținerea acelorași valori BER este mai mare față de AWGN.
Figura I.17. Probabilitatea de eroare de bit pe canale de transmisiune
Capitolul II
Coduri turbo
Turbo codurile [20] reprezintă o descoperire remanrcabilă a anului 1993, an în care Berrou, Glavieux și Thitimajshima au propus o un cod cu o capacitate mare de corecție a erorilor. Codurile corectoare de erori corectează sau detectează erorile ce apar pe parcursul unei transmisii de date, prin introducere de redundanță în mesaj. Acest lucru presupune adăugarea unor simboluri suplimentare la cele ce urmează a fi emise. Pentru că, odată cu inventarea codurilor turbo, calitatea serviciilor a fost îmbunătățită, sistemele de comunicații beneficiind astfel de avantajul de a opera în apropierea limitei Shannon. Limita Shannon reprezintă SNR minim necesar pentru a se realiza o transmisie sigură, în condițiile ideale ale unui canal de bandă infinită și are valoarea ln(2)=-1.59dB [1].
Dintre aplicațiile unde sunt folosite turbo codurilor, amintesc: sisteme de comunicații mobile de generația a treia (3G), transmisiuni video digitale, comunicații prin satelit și în spațiu. Spre exemplu, în septembrie 2003, Agenția Spațială Europeană (ESA), cu sediul la Paris, a lansat SMART-1, primul dispozitiv trimis în spațiu care va oferi transmisiuni de date bazate pe codurile turbo. În telefonia mobilă, aceste coduri au fost folosite în Japonia, în standardul generației a treia, cunoscut sub numele de UMTS (Universal Mobile Telecommunications System), fiind utilizate cu succes pentru transmisiuni de imagini și poștă electronică, nefiind recomandate în transmisiunile de voce (unde sunt folosite codurile convoluționale), deoarece sunt introduse întârzieri la decodare. De asemenea, turbo codurile au fost utilizate și de serviciul INMARSAT (International Maritime Satellite Organization), cât și de a treia generație a metodelor de acces multiplu de bandă largă (CDMA) în sistemul de comunicații mobile.
II.1. Structura codurilor turbo
În structura codurilor turbo se regăsesc două elemente principale: coduri „simple” concatenate și dispozitive de întrețesere (interleavere). Concatenarea codurilor are avantajul unui câștig mai mare al codării. Există trei scheme de concatenare: serie, paralel și hibrid (care folosește atât conatenarea în paralel, cât și cea serie), reprezentate în figurile II.1, II.2 și II.3, în cazul în care se utilizează două codoare convoluționale. Se pot folosi și mai multe codoare, fiecare cu interleaver-ul propriu, diferit de celelalte, dar creșterea numărului acestora reduce eficiența benzii, fără a îmbunătăți semnificativ performanțele. În concluzie, două codoare sunt suficiente.
Figura II.1. Codor turbo – concatenare serie
Această structură, propusă de [6], impune folosirea ca prim codor a unui cod recursiv sistematic, în timp ce al doilea codor poate fi chiar și un cod bloc. Ratele codoarelor din schema de mai sus pot fi diferite. Codurile concatenate serie au performanțe mai bune pentru valori mari ale SNR, în timp ce pentru valori mici ale SNR, concatenarea paralel are rezultate mai bune [45].
Figura II.2. Codor turbo – concatenare paralel
Figura II.3. Codor turbo hibrid
Codurile turbo propuse de Berrou și colaboratorii săi [20] au fost construite prin concatenarea în paralel a două coduri convoluționale recursive sistematice, secvențele de intrare în cele două codoare fiind versiuni intercalate ale celei de intrare, variante obținute cu un dispozitiv intrețesere (interleaver), ca în figura II.4. Aceasta este și schema pe care o voi folosi pe parcursul lucrării. Interlevaere-le sunt dispozitive care preiau blocul de intrare și furnizează la ieșire același bloc, dar într-o ordine amestecată. Întrețeserea mesajului înainte de transmisie și deîntrețeserea acestuia la recepție împrăștie erorile apărute în pachete, acestea putând fi tratate de decodor ca erori singulare.
Figura II.4. Structura generală a unui codor turbo de rată 1/3
Presupunem rata de codare a codoarelor convoluționale folosite ca fiind ½, lungimea interleaver-ului L, iar secvența de intrare:
(II.1)
Secvența de biți u este codată de primul codor, în timp ce al doilea codor va coda secvența de intrare care ajunge la el schimbată ũ (relația II.2) după legea dată de interleaver. Astfel, la ieșire, în urma codării turbo, vor rezulta: csk=uk – bitul sistematic, și cp1k, cp2k – biții de control ai parității la momentul k generați de cele două codoare convoluționale. Secvențele de biți obținute sunt date de relațiile de mai jos:
(II.2)
(II.3)
(II.4)
(II.5)
Structura cuvântului de cod c este obținută prin multiplexarea celor trei secvențe de la ieșire și este definit de relația:
(II.6)
Coduri convoluționale introduse de [13] sporesc rezistența la perturbațiile ce apar pe canalul de transmisiune. Aceste coduri sunt utilizate în structura codurilor turbo, deoarece asigură câștiguri mai mari decât codurile bloc, cât și datorită simplității lor. Au și avantajul că pot coda și transmite date chiar înainte de a recepționa mesajul complet, spre deosebire de cele bloc care trebuiau să primească mesajul întreg și apoi să îl codeze. La codurile bloc, cuvântul de cod depinde de un singur bloc de biți, de lungime fixă, pe când la cele convoluționale, biții de ieșire depind atât de biții de intrare de la momentul curent, cât și de un număr de biți de la momentul anterior.
Structura unui cod convoluțional se bazează pe un registru de deplasare, în care fiecare element este o celulă de întârziere. Codurile convoluționale din codorul turbo sunt recursive (prezintă reacție) și sunt sistematice (există o cale directă între intrarea codorului și ieșirea acestuia). Pentru descrierea unui codor convoluțional, este necesar să se cunoască parametrii acestuia:
rata de codare: raportul dintre numărul biților de intrare și al celor de ieșire;
memoria (m): numărul de celule de întârziere;
lungimea de constrângere (N): numărul de biți de care depind biții de ieșire;
și polinoamele generatoare sau matricea generatoare. Matricea generatoare G a unui cod convoluțional este :
, (II.7)
unde g1(D) este polinomul direct, iar g2(D) este polinomul de reacție. Acestea pot fi scrise sub formă de polinom, dar și sub formă numerică, de coeficienți reprezentați binar.
Schema generală a unui codor convoluțional este:
Figura II.5. Schema generală a unuo codor convoluțional
Un exemplu de codor convoluțional recursiv sistematic este cel din figura II.6.
Figura II.6. Codor convoluțional recursiv sistematic
D sunt celulele de întârziere, memoria codorului este m=3, rata de codare ½, lungimea de constrângere N=4, iar polinoamele generatoare sunt: cel direct – g1(D)=1+D2+D3, respectiv cel de reacție – g2(D)=1+D+D3. Sub formă numerică putem scrie: g1(D)=(1011), g2(D)=(1101), matricea fiind G=[1, 13/15].
II.2. Terminarea trellis-ului
Performanțele codurilor turbo sunt influențate de modalitatea în care se închide („termină”) trellis-ul codoarelor convoluționale folosite. Pentru o decodare optimă, trebuie ca acesta să înceapă din aceeași stare (de regulă starea nulă) la fiecare bloc de date de intrare. Dacă trellis-ul este trunchiat într-o stare necunoscută, atunci apar erori, iar performanțele vor fi slabe. Apare astfel necesitatea adăugării unui număr de biți fie în secvența de intrare sau după blocul de intrare, operație ce se numește „terminarea trellis-ului”. Există cinci metode de terminare a trellis-ului [46], din care voi detalia doar patru, cele pe care le-am utilizat mai departe în simulările realizate. Fie m1 și m2 memoriile celor două codoare, L – lungimea interleaver-ului. Cele patru metode sunt:
Fără terminarea trellis-ului
În acest caz ambele codoare sunt lăsate neterminate și desigur performanța de decodare este cea mai slabă. Rata de codare este în acest caz .
Terminarea primului codor
Această metodă constă în adăugarea a biți de coadă („tail bits”) secvenței de intrare astfel încât primul codor să fie adus în starea 0. Acești biți sunt incluși în secvența care intră în „interleaver” și de aceea, după permutare, nu mai corespund cu biții de terminare ai celui de-al doilea codor.
Pentru rata de codare este .
Terminarea ambelor codoare
Această metodă, numită terminare duală [47], presupune identificarea pozițiile de intrare specifice, dependente de „interleaver”, pentru a aduce codoarele în starea 0 independent unul de altul. Acest lucru este realizat fără a impune restricții „interleaver”-ului, dar cu o ușoară creștere a numărului de biți de intrare necesari pentru terminarea trellis-ului ( biți, unde ).
Pentru și rata de codare pentru această metodă de terminare este .
Terminarea post-interleaver (post-interleaver flushing)
Această metodă este asemănătoare cea de la punctul C, în sensul că ambele codoare sunt aduse în aceeași stare, independent unul de altul, numai că după codarea secvenței de intrare de biți.
O schemă pentru generarea biților „flush” este cea din figura II.7 [48], [49].
Figura II.7. Exemplu de codor convoluțional cu terminarea trellis-ului post-interleaver
După inițializarea registrelor, comutatorul este în poziția A pentru perioade de tact, necesare pentru codarea celor L biți de informație. După finalizarea operației de codare, va trece în poziția B pentru perioade de tact suplimentare (în cazul din figură – numărul celulelor de întârziere), determinând astfel biții de intrare care aduc codorul în starea zero. În acest caz, în locul biților de informație se vor prelua valorile de la fiecare celulă, forțând astfel fiecare registru să ajungă în starea nulă (se adună modulo 2 biți identici, deci rezultă valoarea 0). Biții obținuți ca urmare a terminării trellis-ului sunt biți de redundanță.
În acest caz rata de codare este , dacă biții de terminare ai celui de-al doilea trellis nu sunt transmiși și , dacă acești biți sunt transmiși [50]. Cazul din urmă va fi considerat în lucrarea de față.
II.3. Interleaver-e. Parametri
Un element foarte important din structura codurilor turbo, care are influențe semnificative asupra performanțelor acestora, este dispozitivul de întrețesere – interleaver-ul. Dimensiunea și tipul acestuia sunt factori esențiali în evaluarea performanțelor codurilor amintite [50]. Interleaver-ele reordonează informația primită (simboluri sau biți) după o anumită lege de permutare și o transmite apoi mai departe.
Rolul acestor dispozitive este esențial mai ales în cazul canalelor afectate de fading, la care apar erori multiple din cauza propagării multicale. Astfel, există situații în care erorile sunt consecutive, apărând așa-numitele „burst-uri” = pachete de erori, iar interleaver-ele s-au dovedit a fi eficiente în a le corecta, prin împrăștierea biților eronați, eorile dintr-un cuvânt de cod apărând in acest caz independente. Drept urmare, prin utilizarea unor asemenea dispozitive, un canal pe care erorile apar în rafală este transfomrat într-unul afectat de erori aleatoare independente (fiecare simbol sau bit de informație transmis este afectat în mod independent de zgomot) – așa cum este canalul AWGN, și, în consecință, codurile proiectate pentru canale cu erori independente pot fi utilizate și pe cele cu „burst-uri”. La recepție, în structura decodorului, există un dispozitiv care realizează operația inversă interleaver-ului și poartă numele de deinterleaver. Acesta reface secvența de date, aducând-o la forma inițială.
În schema propusă de Berrou, interleaver-ul este plasat înainte de cel de-al doilea codor, decorelând astfel întrările celor două decodoare. Acesta este un avantaj, deoarece, dacă în urma corectării erorilor de către primul decodor, mai sunt unele nesesizate, acestea sunt împrăștiate de dispozitivul de întrețesere și trimise spre al doilea decodor unde sunt corectate. Probabilitatea de eroare de bit se aproapie de capacitatea canalului, dacă se mărește numărul de iterații la decodare.
Interleaver-ele pot fi [51]:
Interleaver-e bloc: preiau blocuri de biți de lungime L și furnizează la ieșire blocuri de aceeași lungime, dar într-o ordine schimbată;
Interleaver-e convoluționale: preiau șiruri continue de biți, multiplexându-i la intrarea și ieșirea unui număr fix de registre de deplasare.
Funcția care descrie un dispozitiv de întrețesere este [52]:
, (II.8)
unde L este lungimea secvenței ce va fi aplicată interleaver-ului. Dispozitivul invers folosit pentru refacerea secvenței originale este descris de funcția inversă [52]:
(II.9)
Principalii parametri ai unui interleaver sunt:
Factorul de împrăștiere (s,t) – trebuie să respecte relația:
dacă , atunci , , (II.10)
unde reprezintă permutarea elementului i. Un interleaver poate avea mai mulți factori de împrăștiere. În cazul deinterleaver-ului, factorul de împrăștiere este (t,s).
Parametrul S – este valoarea maximă a lui s, astfel încât s≤t. [49] definea acest parametru astfel: S este valoarea maximă a lui s, pentru care este îndeplinită relația:
dacă , atunci , (II.11)
Dispersia Γ – reprezintă numărul vectorilor de deplasare distincți. Mulțimea vectorilor de deplasare ai unui interleaver este dată de setul de perechi (Δx, Δy) care satisfac relația:
(II.12)
Întârzierea – este direct proporțională cu capacitatea de memorare a interleaver-ului. Din acest motiv, lungimea acestora trebuie aleasă ca un compromis între performanțe și întârziere.
Latența – reprezintă suma distanțelor traversate (în graful interleaver-ului) de tranziția spre cea mai din dreapta poziție și tranziția spre cea mai din stânga.
Distanța minimă de întrețesere – minimul distanțelor dintre pozițiile rezultate după întrețeserea a doi vecini din secvența de intrare. Distanța de întrețesere dintre pozițiile i și j este definită de relația:
(II.13)
Distanța minimă va fi dată de relația de mai jos, valorile sale fiind cuprinse în intervalul [2, 2L-2] [53]:
(II.14)
Condițiile esențiale pentru ca un interleaver să asigure performanțe ridicate sunt: distanța minimă să aibă o valoare cât mai mare, iar gradul de împrăștiere să fie cât mai bun [52].
Din multitudinea de interleaver-e existente la ora actuală, am ales spre a descrie și a folosi în simulări doar interleaver-ul aleator și pe cel S-aleator, descrise pe scurt în paragrafele ce urmează.
II.3.1. Interleaver-ul aleator
Interleaver-ul aleator, [54], este unul din cele mai simple dispozitive de întrețesere. Acesta realizează permutarea aleatoare a secvenței de intrare, ca în figura:
Figura II.8. Interleaver-ul aleator
Pe lângă avantajul unei construcții foarte simple, acest tip de interleaver realizează o bună împrăștiere a secvenței de intrare. Printre dezavantajele interleaver-ului aleator, putem aminti faptul că are cea mai mică valoare posibilă a distanței minime, anume dmin=2, și că funcția de întrețesere π corespunzătoare nu poate fi reprodusă, ceea ce înseamnă că trebuie memorată, dacă se dorește regenerarea sa.
II.3.2. Interleaver-ul S-aleator
Acest tip de interleaver, [49], face parte tot din categoria interleaver-elor bloc generate aleator, cu distanța minimă de întrețesere egală cu parametrul S. Pentru construcția funcției de întrețesere trebuie urmați pașii descriși în [49]:
Se alege o posibilă poziție viitoare pentru bitul curent i;
Se selectează un întreg pozitiv , unde L este lungimea interleaver-ului;
Poziția aleasă inițial – i este comparată cu pozițiile -j celor S biți selectați anterior. Dacă , pentru cel puțin un j, atunci se alege o altă poziție i și se repetă pașii. În caz contrar, poziția i este reținută, fiind îndeplinită condiția II.11.
Procesul se repetă până s-au găsit toate cele L poziții.
Unul din dezavantajele majore ale acestui tip de interleaver este faptul că timpul de generare crește direct proporțional cu mărimea parametrului S impus. De asemenea, nu există certitudinea că algoritmul se va finaliza cu succes și este foarte dificil să se genereze numere aleatoare, după ce o mare parte a algoritmului a fost parcursă, din secvența de numere rămase, care să îndeplinească condiția II.11.
II.4. Decodare turbo
Decodarea codurilor turbo se realizează prin metode recursive care estimează secvența originală pe baza celei recepționate, evaluând distanța dintre secvența recepționată și toate secvențele posibile din trellis, distanță ce trebuie minimizată. Există două clase de algoritmi pentru decodarea codurilor turbo: una care se bazează pe algoritmul Viterbi [18] de decodare a codurilor convoluționale și cea de a doua pe algoritmul de decodare propus în 1974 de Bahl, Cocke, Jelinek și Rasiv [19], algoritm cunoscut sub numele de Maximum-A-Posteriori (MAP).
Cel mai cunoscut algoritm de decodare a codurilor convoluționale este cel propus de Viterbi [18] în 1967, algoritm folosit pe scară largă în comunicațiile spațiale, care se bazează pe estimarea secvenței de probabilitate maximă. Decodarea mai sus amintită nu duce la minimizarea BER (Bit Error Rate), având și un număr limitat de calcule per pas. Acesta operează pe trellis bloc cu bloc, pe un număr finit de blocuri, pentru a regăsi drumul utilizat la codare. În fiecare nod, se calculează distanțele între secvența recepționată și toate secvențele de pe trellis, cumulând distanța de la un nod la altul. În fiecare bloc, pentru fiecare nod vor exista două drumuri dintre care se va alege cel cu distanță minimă. Practic, acest algoritm estimează stări care trebuie să formeze o cale conectată prin trellis (determină secvența cea mai probabilă).
Minimizarea probabilității de eroare de bit este realizată de algoritmul propus în 1974 de Bahl, Cocke, Jelinek și Rasiv [19], algoritm cunoscut sub numele de Maximum-A-Posteriori (MAP). Acesta furnizează rapoartele de plauzibilitate (sub formă logaritmică) pentru fiecare bit al blocului codat recepționat. În acest caz, stările nu trebuie să formeze o cale, se determină starea individuală cea mai probabilă, dată fiind secvența recepționată (se realizează o estimare simbol cu simbol). Din cauza complexității sporite, au fost propuse versiuni simplificate care duc la performanțe mai bune: Max-Log-MAP sau Log-MAP.
Algoritmii de decodare folosiți în această lucrare sunt: MAP, Max-Log-MAP și algoritmul cu intrare sof și ieșire soft (SISO) al lui Benedetto bazat pe probabilități aposteriori [55], [56] – SISO-APP. Abordarea lui Benedetto are avantajul de a oferi estimări soft pentru biții codați, ce pot fi folosite în scheme care combină un cod turbo cu alt tip de cod de corectare a erorilor, de exemplu un cod bloc spațiu-timp (STBC) [57], [58].
Decodare codurilor turbo este iterativă, schema bloc a unui decodor turbo, fiind prezentată în figura II.9. Acesta este realizat cu două decodoare MAP de tipul BCJR și adaptate de Berrou pentru decodarea codurilor convoluționale recursive sistematice concatenate paralel. π reprezintă dispozitivul de întrețesere și este identic cu cel de la emisie, π-1 este de-interleaver-ul corespunzător, ysk este bitul sistematic recepționat, yp1k, yp2k – biții de paritate, L1e(uk), L2e(uk) – informația extrinsecă pentru cele două decodoare, iar este bitul estimat.
Figura II.9. Schema bloc a unui decodor turbo
Primul decodor preia biții generați de primul codor, iar cel de-al doilea, secvența întrețesută, furnizată de cel de-al doilea codor convoluțional din structura codorului turbo.
Informațiile trec de la un decodor la altul într-un anumit număr de iterații. Un câștig de decodare semnificativ se obține după câteva iterații și când îmbunătățirea devine neglijabilă, iterațiile pot fi oprite. Numărul de iterații poate avea o valoare fixă sau poate fi determinat de un criteriu specific de stopare a iterațiilor.
La fiecare iterație, decodorul 1 calculează informația extrinsecă L1e(uk), pe baza raportului de plauzibilitate al bitului uk – LLR(uk), al bitului de paritate generat de primul codor și pe baza informației extrinseci furnizată de cel de-al doilea decodor L2e(uk) (la prima iterație aceasta este 0). Apoi, L1e(uk) este aplicată unui interleaver și celui de-al doilea decodor. Analog, Decodorul 2 va calcula L2e(uk), care va fi furnizată primului decodor după ce este trecută prin dispozitivul de deîntrețesere.
La sfârșitul procesului (după numărul de iterații considerat), decodorul furnizează la ieșire rapoartele de plauzibilitate pentru biții informaționali:
(II.15)
Pe baza raportului de plauzibilitate de la ieșire, decodorul va lua decizia asupra valorii bitului astfel: bitul va avea valoarea 1, dacă raportul este pozitiv, și 0, ăn caz contrar.
Valoarea raportului calculată de un decodor component poate fi descompusă în trei termeni:
, (II.16)
unde Le(uk) este informația extrinsecă, La(uk) – informația apriori (cunoscută înainte de începerea codării), iar Lc(uk) – termenul introdus de caracteristicile canalului.
Informațiile schimbate între cele două decodoare sunt doar informațiile extrinseci, adică informații suplimentare introduse de procesul de decodare (informația obținută în urma decodării folosind proprietățile de corecție și detecție ale codului). Practic sunt contribuții ale decodoarelor la fiecare iterație, după examinarea secvenței recepționate, bazându-se pe informația oferită de biții de paritate, fără a folosi informația oferită de biții sistematici. Informația extrinsecă depinde de secvența de paritate și este independentă de măsura canalului.
II.4.1. Algoritmul de decodare Maximum A Posteriori (MAP)
Algoritmul MAP [19] este unul din algoritmii ce oferă performanțe bune, adică minimizează BER la decodare, mai ales în cazul codurilor convoluționale. A fost folosit și în varianta originală a codurilor turbo [20]. Singurul dezavantaj este complexitatea ridicată, deoarece examinează fiecare din căile posibile prin diagrama trellis. Acest algoritm generează atât secvența estimată de biți, cât și probabilitățile ca fiecare bit să fi fost decodat corect, calculând logaritmul raportului de plauzibilitate (LLR).
Scopul acestui algoritm este de a găsi probabilitatea:
și , (II.18)
unde suma se realizează după toate stările în trellis la momentul , iar
, (II.19)
unde reprezintă bitul de informație la momentul , reprezintă starea în trellis la momentul , iar este secvența recepționată de la momentul 1 până la momentul .
În articolul inițial al lui Berrou [20], ideea era de a factoriza ca:
(II.20)
și de a obține relații recursive pentru și . Datorită indicelui , însă, aceste relații sunt complicate.
Algoritmul BCJR modificat constă în a factoriza raportul de plauzibilitate :
(II.21)
și de a calcula fiecare factor recursiv.
Relațiile de calcul pentru , metrica de recurență înainte (de parcurgere a trellis-ului de la stânga la dreapta), respectiv cea de recurență înapoi (de parcurgere a trellis-ului de la dreapta la stânga) sunt [19]:
(II.22)
(II.23)
Condițiile inițiale pentru aceste metrici, pentru primul codor, care pornește și sfârșește în aceeași stare, sunt:
și , pentru , (II.24)
respectiv:
și , pentru . (II.25)
Pentru al doilea codor, datorită interleaver-ului, dacă nu se pot cunoaște biții de coadă (care aduc codorul în starea nulă), condițiile la limită pentru acesta sunt:
și , pentru , (II.26)
respectiv:
, pentru , (II.27)
unde reprezintă numărul de stări în trellis.
Un al parametru ce trebuie determinat în acest algoritm este metrica de tranziție a stărilor, notată , calculată astfel:
(II.28)
unde reprezintă probabilitățile de tranziție ale canalului discret fără memorie și pot fi calculate din caracteristicile acestuia, q – probabilitatea ca tranziția între stările S’și S la momentele k-1, respectiv k să se realizeze pentru bitul de intrare i.
reprezintă probabilitatea de tranziție între stări. Pentru primul decodor la prima iterație biții se presupun echiprobabili:
, (II.29)
de aceea pentru acele tranziții pentru care avem:
. (II.30)
Pentru un canal AWGN, cu modulație BPSK:
, (II.31)
unde este o constantă pentru un moment de timp și o secvență recepționată dată, constantă ce dispare în decizia finală.
, (II.32)
unde .
Rezultă raportul LLR:
(II.33)
Pentru canal AWGN:
, (II.34)
unde reprezintă tot fiabilitatea canalului. Presupunând (adică punctele din spațiul semnalelor sunt normate cu , rezultând valorile ), avem și putem exprima pe , respectiv pe , în funcție de măsura canalului , astfel:
(II.35)
respectiv,
(II.36)
Pentru al doilea decodor, începând cu a doua iterație și pentru primul decodor, depinde de probabilitatea a priori a lui , anume pentru numărătorul lui (când ) și pentru numitorul lui (când ), iar raportul lor este . Atunci LLR devine:
(II.37)
Față de cazul anterior a apărut în plus LLR al probabilității a priori a lui , care este . În acest caz, pentru canal AWGN, avem:
(II.38)
unde și (adică secvențele respective sunt trecute prin „interleaver”), iar:
(II.39)
În următoarea iterație, pentru primul decodor (secvența cuprinzând informația extrinsecă este trecută prin de-interleaver) și LLR dat de acesta este:
(II.40)
După un număr de iterații dat de un anumit criteriu (de exemplu, când probabilitatea de eroare nu mai scade, de la o iterație la alta, cu un procent mai mare decât o valoare dată) se ia decizia astfel:
, sau (II.41)
fiind bitul estimat la momentul .
Concluzionând, algoritmul MAP este, în forma descrisă în această secțiune, extrem de complex datorită multiplicărilor, a operatorilor exponențiali și a operatorilor logaritmi naturali utilizați.
II.4.2. Algoritmul Max-Log-MAP
Pentru că algoritmul MAP suferă de dezavantajul unei complexități sporite, s-a propus simplificarea sa, prin transferarea recursivității în domeniul logaritmic și prin utilizarea aproximării dată de relația II.42. Algoritmul se numește Max-Log-MAP [59] și are performanțe sub-optimale în comparație cu cele ale algoritmului MAP.
, (II.42)
unde reprezintă valoarea maximă a lui xi.
Se mai consideră logaritmul Jacobian:
, (II.43)
unde reprezintă funcția de corecție (poate fi memorată într-un „look-up table”).
Metricile scrise în domeniul logaritmic devin [60]:
, (II.44)
, (II.45)
. (II.46)
Atunci, deoarece:
, (II.47)
, (II.48)
, (II.49)
avem:
, (II.50)
, (II.51)
iar LLR devine:
. (II.52)
Logaritmul unei sume de exponențiale poate fi scris astfel:
, (II.53)
În cazul algoritmului Max-Log-MAP logaritmul sumei de exponențiale se aproximează cu exponentul maxim, :
. (II.54)
Raportul de plauzibilitate devine:
(II.55)
II.4.3. Algoritmul cu intrare soft și ieșire soft (SISO) al lui Benedetto
Benedetto propune în [56] un algoritm de decodare turbo, utilizat în cazul modulației codată turbo asimetrică cu diversitate de antene cu un număr mic de antene, cât și în cazul codurilor spațio-temporale cu un număr mare de antene. Ca și în cazul algoritmului MAP, există mai multe versiuni ale acestuia: APP, Log-APP, Max-Log-APP.
Schema unui astfel de decodor turbo este cea de mai jos, fiind realizată cu ajutorul a două dispozitive SISO (soft input soft output), un dispozitiv de întrețesere și deinterleaver-ul corespunzător:
Figura II.10. Decodarea iterativă a unui cod convoluțional concatenat paralel
Figura II.11. Modelul soft-input soft-output (SISO)
Modulele SISO, figura II.11, folosite au câte patru porturi: două de intrare, respectiv două de ieșire. La intrare sunt preluate secvențe ale distribuțiilor de probabilitate: și , iar la ieșire sunt furnizate secvențele distribuțiilor de probabilitate: și în funcție de intrări și de cunoașterea trellis-ului codorului.
Algoritmul pe baza căruia funcționează modulul SISO în evaluarea distribuțiilor de ieșire rulează în doi pași. În primul pas se va considera următorul algoritm:
La momentul de timp , probabilitățile de distribuție de la ieșire se vor calcula utilizând formulele:
(II.56)
(II.57)
Metricile și se calculează cu ajutorul recursiilor înainte și înapoi:
(II.58)
(II.59)
având valorile inițiale:
(II.60)
(II.61)
Pentru trellis neterminat :
, (II.62)
unde Ns este numărul de stări din trellis.
Semnificația variabilelor din relațiile de mai sus sunt: sS(e) și sE(e) reprezintă starea inițială, respectiv finală pentru ramura e din secțiunea din trellis, u(e) este bitul sistematic, iar c(e) este bitul codat aceleiași ramuri e.
și reprezintă constantele normalizate, astfel încât :
(II.63)
(II.64)
Noile probabilități de distribuție și reprezintă o versiune simplificată (aplatizată) a distribuțiilor de intrare și , bazate pe constrângerile codului și obținute utilizând probabilitățile de distribuție a tuturor simbolurilor din secvență. În decodarea turbo, și se vor numi informație extrinsecă, reprezentând valorile adăugate ale modulului SISO distribuțiilor apriori și .
Semnificația expresiilor π(·;·) din figura II.10 este dată cu ajutorul relațiilor II.71.
(II.65)
Avantajul folosirii acestui algoritm constă în faptul că se poate utiliza structura trellis generală a codului, folosindu-se stările finale (de la marginea trellis-ului) ale trellis-ului în loc de perechi de stări. Datorită acestui fapt, algoritmul are caracter general fiind utilizat în structuri de coduri cu rate mai mari decât 1.
II.4.4. Criterii de stop a iterațiilor
Decodarea turbo clasică se realizează făcând un număr de iterații între cele două decodoare componente. Numărul de iterații poate fi fix sau poate fi determinat de un anumit criteriu de stop a acestora. Criteriile de stop al iterațiilor eficiente sunt foarte utile deoarece limitează timpul de decodare fără a afecta performanțele ratelor de eroare de bit (BER) sau de cadru (FER) după decodare. Până în prezent s-au propus multiple criterii de stop a iterațiilor pentru varianta BCJR-MAP a algoritmului de decodare.
Cel mai simplu criteriu de stop este de a fixa un număr N de iterații, criteriu ce presupune doar incrementarea unui numărător în structura decodorului. Problema care apare este în alegerea numărului N, funcție de rapiditatea algoritmului sau performanțe ridicate. Majoritatea criteriilor de stop presupun ca pentru fiecare cadru de biți decodați, numărul de iterații să fie determinat prin impunerea unei anumite condiții ce trebuie să fie îndeplinită de sistem. În momentul în care aceasta este satisfăcută, iterațiile sunt oprite și algoritmul de decodare se consideră finalizat și se furnizează la ieșire secvența decodată. Pentru a preveni intrarea într-o buclă infinită (condiția de stop nu este niciodată îndeplinită), se impune o condiție suplimentară și anume încheierea decodării după un număr maxim de iterații.
II.4.4.1. Criterii de stop a iterațiilor pentru algoritmul MAP
Există două mari clase de criterii de stop a iterațiilor pentru decodarea MAP: bazate pe decizii hard (identifică secvențele decodate nefiabil prin estimarea deciziei hard a biților la sfârșitul fiecărei iterații sau după primul decodor) și cele bazate pe decizii soft (compară o metrică cu un anumit prag), propuse în [61].
Criteriul folosit la decodare codurilor turbo în simulările din această lucrare este S2 și face parte din categoria criteriilor bazate pe decizii soft.
Criteriile de stop utilizând decizia soft sunt:
S1, propus în [61], bazat pe modulul LLR – presupune ca valoarea medie a modulului LLR să fie comparată cu un prag, θ1:
(II.66)
S2, bazat pe valoarea minimă LLR – presupune compararea valorii minime a modulului LLR cu o anumită valoare de prag, θ2:
(II.67)
Mai există două versiuni ale acestui criteriu: una se referă la compararea unui prag cu valoarea minimă a sumei modulelor LLR a celor două decodoare (relația II.68), iar cealaltă este dată de relația II.69.
(II.68)
(II.69)
Pe lângă cele două mari categorii de criterii de stop, mai există o regulă numită „genie stoper”. Acest criteriu este unul ideal, nu poate fi utilizat în practică, dar se folosește ca bază de comparație pentru celelalte criterii. În acest caz, iterațiile se opresc când cadrul de biți decodați este identic cu cel format din biții de informație codați, reprezentând exact numărul de iterații necesar transmisiei cuvântului de cod corect.
II.4.4.2. Criterii de stop a iterațiilor pentru algoritmul SISO-APP
Pentru varianta SISO-APP a lui Benedetto nu se găsesc în literatura rezultate concrete privind acest subiect. Criteriile de stop pentru varianta BCJR-MAP pot fi însă adaptate la această variantă care lucrează cu probabilități. Se propune adaptarea criteriului bazat pe valoarea minimă absolută a LLR (S2) la algoritmul de decodare SISO-APP a lui Benedetto. Acest criteriu de stop este notat minsumP [62], deoarece decizia în acest caz se ia comparând sume de probabilități.
În varianta SISO-APP a algoritmului de decodare turbo de la un decodor la altul se trec valorile extrinseci exprimate prin probabilitățile , unde pentru primul decodor și pentru al doilea decodor. Bitul sistematic poate lua valorile sau . Deciziile în acest algoritm se iau comparând valorile cu , , furnizând la ieșire bitul corespunzător celei mai mari sume de probabilități.
Având în vedere modul cum se ia decizia în algoritmul SISO-APP, criteriul de stop minsumP este adaptat după cum urmează: iterațiile se opresc când toate valorile , , sau toate valorile , , sunt mai mari sau egale cu un anumit prag , adică :
, (II.70)
sau
,. (II.71)
În caz contrar, iterațiile continuă.
Simulările au fost realizate folosind un codor turbo clasic, cu un interleaver aleator de lungime 512, pe canal AWGN. Matricea generatoare a codurilor convoluționale recursiv sistematice componente din structura codului turbo, scrise în formă octală, este . Pragurile folosite au valoarea 0.2, iar când pragul are o valoare prea scăzută sau prea mare (aproape de valoarea 1 sau 2), se va alege un prag de valoare 0.1 sau 0.05. Când performanțele ratei de eroare se apropie de cele ale criteriului genie stopper, se va folosi un pas de 0.1 pentru a îmbunătăți pragul găsit.
Rezultatele simulărilor pentru codul turbo pe canalul AWGN sunt prezentate în figura II.12 a), curbele BER, b) curbele FER, iar în figura II.13 sunt prezentate curbele folosind un număr mediu de iterații pentru criteriul ideal genie stopper și pentru criteriul propus minsumP cu pragurile 1.05, 1.1, 1.2, 1.4, 1.6, 1.8 și 1.9, notate cu . În figura II.12 a) utilizând criteriul genie stopper se obțin valori BER similare dacă pragul este cel puțin 1.1. În figura II.12 b) se obțin valori FER similare dacă pragul este cel puțin 1.2.
Pentru pragul 1.2 diferența dintre numărul mediu de iterații pentru criteriul genie stopper și criteriul minsumP este cel mult 1.05. Pentru acest prag numărul mediu de iterații la valori mari ale SNR (2dB) este de aproximativ 3 iterații, mult mai scăzut decât valoarea maximă de cel puțin 8 iterații recomandată în literatură.
a)
b)
Figura II.12. Curbele a) BER și b) FER pentru codul turbo clasic pe canalul AWGN
Figura II.13. Numărul mediu de iterații pentru codul turbo clasic pe canal AWGN
II.5. Influența metodelor de terminare a trellis-ului asupra performanțelor codurilor turbo
Metodele de terminare a trellis-ului [46], prezentate în secțiunea II.2: terminarea primului codor, terminarea ambelor codoare, terminarea post-interleaver și tail-biting sunt de obicei comparate cu cazul în care trellis-ul nu este terminat. Pentru un interleaver de lungime 500, diferențele dintre ultimele trei metode sunt în general mici. Prima metodă, utilizată în [63] pentru a realiza o comparație e acestor metode de terminare a trellis-ului, este cea mai simplă, dar și cu rezultate cele mai slabe.
În varianta originală a codului turbo propus de Berrou [20], trellis-ul primului codor este terminat în starea nulă, în timp ce al doilea a fost trunchiat într-o stare necunoscută. Terminarea duală (a ambelor codoare) a fost descrisă în [47],[64] și extinsă ulerior în dual tail-biting [63].
Metodele de terminare a trellis-ului au fost comparate [46], concluzia fiind că performanțele codurilor turbo depind de metoda de terminare a trellis-ului aleasă, precum și de lungimea și tipul interleaver-ului utilizat. Cele mai eficiente metode s-au dovedit a fi: post-interleaver flushing și terminarea ambelor codoare.
În cele ce urmează mi-am propus să observ influența metodelor de terminare a trellis-ului asupra codurilor turbo [60], utilizând un interleaver S-aleator cu lungimile L=128, respectiv L=1024, pe canal AWGN, folosind algoritmul de decodare Max-Log-MAP.
Parametrii ce descriu codoarele componente și condițiile de simulare sunt date în tabelul II.1.
Tabelul II.1
Parametri de simulare
Pentru implementarea algoritmului de decodare, trebuie inițializate metricile. Acestea sunt prezentate în tabelul II.2.
Tabelul II.2
Inițializarea metricilor
După cum am precizat, simulările au fost efectuate pentru două matrice generatoare ale codului component (una pentru memorie 2 și una pentru memorie 3) și două lungimi ale interleaver-ului de tip S-aleator (128 și 1024). Algoritmul de decodare utilizat a fost Max-Log-MAP cu un coefficient de scalare a informatiei extrinseci . Criteriul de stop al iteratiilor a fost cel bazat pe modulul valorilor LLR corespunzatoare unui cadru de biti transmisi [65], iar pragul LLR ales a fost . Curbele BER si FER pentru cele 4 seturi de parametri ai sistemului sunt date in figurile 1, 2, 3 si 4 (a) si b)).
Din toate figurile se observă că atunci când nu se realizează terminarea trellis-ului se obțin cele mai slabe performanțe.
Atunci când numai primul trellis este terminat se obțin performanțe ceva mai bune, iar când se realizează terminarea ambelor trellisuri se obțin cele mai bune performanțe. Terminarea duală oferă un plus de performanță față de terminarea post-interleaver la lungimea mai mare (1024), mai ales în domeniul FER.
Astfel la lungime 128, pentru codul cu memorie 2, în domeniul BER la un BER=2×10-6, terminarea primului trellis oferă un câștig de codare de 0.2 dB față de cazul când ambele trellis-uri nu sunt terminate, în timp ce terminarea duală și post-interleaver oferă cele mai bune performanțe și similar, cu un câștig suplimentar de 0.1 dB. În domeniul FER pentru un FER=10-3, se obțin aceleași câștiguri de codare suplimentare ca în domeniul BER.
Analizele următoare din punct de vedere al câștigului de codare se vor face pentru aceleași valori BER și FER ca cele menționate anterior. La lungime 128, pentru codul cu memorie 3, în domeniul BER terminarea primului trellis oferă un câștig de codare de 0.3 dB față de cazul când ambele trellis-uri nu sunt terminate, în timp ce terminarea duală și post-interleaver aduc un câștig suplimentar de 0.03 dB. În domeniul FER terminarea primului trellis oferă un câștig de codare de 0.25 dB față de cazul când ambele trellis-uri nu sunt terminate, în timp ce terminarea duală și post-interleaver aduc un câștig suplimentar de 0.03 dB.
a)
b)
Figura II.14. Curbele BER/FER pentru cele patru metode de terminare a trellis-ului, codul de memorie 2 cu matricea generatoare G=[1, 5/7] și lungime a interleaver-ului 128.
a)
b)
Figura II.15. Curbele BER/FER pentru cele patru metode de terminare a trellis-ului, codul de memorie 3 cu matricea generatoare G=[1, 15/13] si lungime a interleaver-ului 128.
a)
b)
Figura II.16. Curbele BER/FER pentru cele patru metode de terminare a trellis-ului, codul de memorie 2 cu matricea generatoare G=[1, 5/7] și lungime a interleaver-ului 1024.
a)
b)
Figura II.17. Curbele BER/FER pentru cele patru metode de terminare a trellis-ului, codul de memorie 3 cu matricea generatoare G=[1, 15/13] și lungime a interleaver-ului 1024.
La lungime 1024, pentru codul cu memorie 2, în domeniul BER terminarea trellis-urilor prin una din cele trei ultime metode analizate oferă un câștig de codare de 0.15 dB față de terminarea primului trellis. În domeniul FER terminarea primului trellis oferă un câștig de codare de 0.075 dB față de cazul când ambele trellis-uri nu sunt terminate, terminarea post-interleaver aduce un câștig suplimentar de 0.06 dB, iar terminarea duală un câștig suplimentar de înca 0.05 dB.
La lungime 1024, pentru codul cu memorie 3, în domeniul BER terminarea primului trellis oferă un câștig de codare de 0.04 dB față de cazul când ambele trellis-uri nu sunt terminate, în timp ce terminarea duală și post-interleaver aduc un câștig suplimentar de 0.02 dB. În domeniul FER se obțin aceleași câștiguri suplimentare de codare. Trebuie menționat însă că la valori BER și FER mai mici decât cele considerate, în acest caz câștigurile de codare depășesc 0.15 dB în domeniul BER și 0.3 dB în domeniul FER.
II.6. Metoda impulsului de corecție pentru decodarea turbo în cazul zgomotului impulsiv de tip Middleton Class-A
Metoda impulsului de corecție (CIM) este foarte eficientă în a realiza BER-uri mici la decodarea turbo [66], [67]. A fost aplicată pentru canale AEGN, unde valoarea de corecție a impulsului trebuie să fie un număr real mai mare decât distanța minimă a codului turbo. Pe canale cu zgomot impulsiv de tip Middleton Class-A (MAWCAIN) însă nu se poate nu se poate aplica ținând cont de neliniaritatea fezabilității canalului. Astfel, propunem în [68] două „căi” de a aplica această metodă. În prima, valoarea de corecție a impulsului este aleasă să maximizeze fiabilitatea canalului, iar cea de a doua se bazează pe o aproximare utilizând metoda celor mai mici pătrate.
Codorul turbo
Structura codului turbo folosit este cea din figura II.18.,cu lungimea de constrângere 3 (memorie 2), rata ½ și matricea generatoare , sau în octal .
Figura II.18. Structura codorului turbo
Interleaver-ul utilizat este aleator cu lungime 1000, terminarea trellis-ului este post-interleaver.
Decodorul turbo
La decodare s-a folosit un algoritmul de tip MAP, decodorul fiind cel din figura II.19. Algoritmul, cât și semnificația variabilelor din figură a fost prezentat în secțiunea II.4.1.
Figura II.19. Decodor turbo
Decodorul MAP calculează LLR (Logarithm Likelihood Ratio) pentru biții sistematici estimați (notați cu ) și poate fi descompus în trei termeni
(II.72)
, , și reprezintă valoarea extrinsecă, valoarea canalului și, respectiv, valoarea a priori. Fiind date , (unde indică primul decodor și pe cel de-al doilea) și , cantitățile și/sau pot fi calculate.
Așa cum se poate observa în figura II.19, intrările decodorului MAP sunt , și , iar ieșirile decodorului MAP sunt sau . În decodorul turbo, decodorul MAP curent folosește valoarea extrinsecă a decodorului MAP precedent ca o valoare a priori . Alternând procesul decodorului MAP 1 și 2 din figura II.19, decodorul turbo poate mări fiabilitatea valorii extrinsece . După un număr adecvat de iterații efectuat de către cele două decodoare MAP, decodorul turbo scoate . Dacă ieșirea decodorului turbo este pozitivă (sau negativă), ieșirea detectorului este 1 (sau 0).
În cele ce urmează, prezentăm doar fiabilitățile pentru cele două tipuri de canale. În următoarele două relații, poate fi ori , ori , cu sau 2.
Astfel, pentru canale AWGN, fiabilitatea este dată de:
(II.73)
unde SNR este valoarea raportului semnal/zgomot, este rata de codare a codului turbo și este valoarea recepționată ce corespunde bitului de informație .
Fiabilitatea canalului MAWCAIN este dată de:
(II.74)
unde are aceeași semnificație ca aceea pentru canalul AWGN și a celorlalți parametri prezentați în secțiunea I.2.2.1.
Deoarece sumele din (II.74) sunt infinite, acestea nu pot fi calculate în practică. În [69], este propus ca limita superioară a acestor sume să fie , unde este cel mai mic număr întreg care este mai mare sau egal cu . Această alegere nu afectează performanța decodării turbo, deoarece termenii peste această limită sunt foarte mici.
Metoda impulsului de corecție pentru decodare turbo
Metoda impulsului de corecție a fost propusă în [66], [67]. CIM necesită o procedură de detecție a erorilor și presupune următorii pași. Cuvântul de cod recepționat este mai întâi decodat într-o manieră normală. În caz de decodare eronată, situație indicată în etapa de detecție a erorii, câteva poziții din cadrul de informație decodat sunt determinate ca având cea mai mare probabilitate de eroare, pe baza celor mai mici valori ale amplitudinilor RLL. Succesiv, pentru fiecare astfel de poziție, se modifică valoarea bitului decodat în valoarea opusă, si apoi se decodifică din nou cuvântul de cod. Decodările repetate continuă până când este declarată o decodare cu succes sau au fost testate toate pozițiile biților candidați.
Pentru modulația BPSK, fiecare bit b este convertit in valoarea 2b-1. Pentru a decide bitul bk din poziția k, metoda impulsului de corecție din [66] constă în inserarea impulsului în secvența ys, unde E este un număr real mai mare decât distanța minimă a codului turbo și este bitul estimat ca fiind cel mai probabil eronat.
După cum se vede în figura II.19, secvența apare în fiecare iterație, la intrarea celor două decodoare, ca și secvența , unde i = 1, 2 indică decodorul 1, respectiv decodorul 2. Informația apriori de la intrarea fiecărui decodor provine din informația extrinsecă a celuilalt decodor. Modificarea valorii k din secvența ys, prin inserarea impulsului Ik, duce la corecția bitului k dacă acesta este eronat. După cum se poate observa din (II.74), fiabilitatea canalului AWGN crește liniar relativ la yk. Spre deosebire de canalul AWGN, fiabilitatea canalului MAWCAIN definită în (II.74) nu este o funcție liniară de yk.
Pentru simulări, parametrii canalului MAWCAIN sunt: A = 0.1 și T = 0.1. În figura II.20 este reprezentată dependența fiabilității canalului MAWCAIN de yk, pentru 3 valori diferite ale : 0, 3,2 și 8 dB.
Figura II.20. Fiabilitatea canalului MAWCAIN pentru A=T=0.1
Se poate observa că fiabilitatea are un maxim, care depinde de . Pentru valori mari ale yk, fiabilitatea tinde asimptotic spre o valoare constantă, care este dependentă de și mult mai mică decât valoarea maximă. De aceea, impunând canalelor MAWCAIN o valoare foarte mare pentru numărul real E din componența impulsului, nu se obțin cele mai bune performanțe de decodare ale BER/FER față de cazul AWGN. Ca urmare, se propune alegerea valorii E (valoarea absolută a impulsului de corecție) egală cu valoarea lui yk, care maximizează din (II.74) pentru dat. În cele ce urmează, această valoare va fi numită optimală. Ea se obține prin anularea primei derivate a funcției din (II.74), în raport cu variabila yk. Rezultă:
(II.75)
Ecuația (II.75) are două soluții mai mari ca 0. Expresia analitică a soluției este dificil de determinat, însă valoarea poate fi obținută prin calcul numeric. Notăm membrul stâng cu . Această funcție este reprezentată în figura II.21, pentru aceleași 3 valori ale considerate în figura II.20.
Figura II.21. a) Funcția . b), c), d) soluțiile ecuației II.75
Cele două soluții pozitive ale (II.75), notate și , sunt evidențiate separat pentru fiecare caz în parte. Totuși, doar soluția corespunde valorii maxime și este alegerea potrivită pentru valoarea absolută E a impulsului de corecție. A doua soluție corespunde minimului, după cum se arată în figura II.21.
Trebuie menționat faptul că, biții eronați cu probabilitatea cea mai mare, pentru care se aplică CIM în canalele MAWCAIN, sunt tocmai cei care corespund valorilor absolute cele mai mici din LRR, deoarece și în acest caz, decizia este luată comparând LRR cu pragul 0.
Aproximarea impulsului corector pentru CIM folosit în decodarea turbo pe canal MAWCAIN
S-a constatat că pentru un set de parametri și ai canalului MAWCAIN, pentru valorile de interes ale SNR (pentru interleaver de lungime 1000 și memorie de ordinul 2, valorile SNR sunt mai mici de 4 dB), impulsul optim de corecție poate fi aproximat de o parabolă ce depinde de SNR, de exemplu:
(II.76)
Coeficienții parabolei pot fi determinați prin metoda celor mai mici pătrate, în manieră similară cu aproximarea pragurilor LLR în criteriul de stopare bazat pe valoarea absolută a LLR [65] din [70]. Validitatea aproximării este arătată în figura II.22 pentru și . Aproximarea este validă pentru valori optime ale lui mai mici decât 1. Pe măsura ce SNR crește, se apropie de 1.
Figura II.22. Optimum și parabola pentru A=0.1 și T=0.1.
Cu toate acestea, în practică, este de dorit o formulă pentru valid pentru orice și . Mai departe, considerăm aceeași rată de codare , obținută pentru un cod turbo cu o lungime a interleaver-ului de , patru stări, și terminare a trellis-ului post-interleaver, ca în secțiunea precedentă. Coeficienții parabolei , și au fost determinați prin metoda celor mai mici pătrate, care aproximează -ul optim conform cu SNR pentru zece valori de interes ale lui și , și anume: 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09 și 0.1. În acest fel, rezultă 100 de combinații ale parametrilor și . După aceea, coeficienții , și sunt și ei aproximați de parabole pentru fiecare , conform cu , folosind, de asemenea, metoda celor mai mici pătrate. Acești coeficienți sunt reprezentați grafic în figura II.23.
Figura II.23. Aproximarea coeficienților. Linia îngroșată reprezintă parabola cu coeficienții medii
Pentru cele zece valori ale lui , coeficienții au fost mediați iar coeficienții medii rezultați sunt dați în tabelul II.3. Parabolele corespunzătoare acestor coeficienți medii sunt reprezentate grafic în figura II.23, cu linii continue.
Coeficienții , sunt determinați de:
(II.77)
În cele din urmă, valoarea aproximată a lui E este determinată de:
(II.78)
Tabelul II.3
Coficienții mediați ai parabolei
Rezultatele simulărilor
În această secțiune, prezentăm rezultatele simulărilor pentru canalul MAWCAIN cu parametrii și .
Algoritmul de decodare este Log-MAP [71], [72], cu aproximări din [73] și un număr fix de iterații, egal cu 5, ca în [74]. Fiabilitățile sunt calculate prin mijloacele din (II.76) ca în [71], cu M=2. CIM(L) denotă performanța erorilor obținute prin testarea celor mai puțin fiabili L biți din cadrul decodat. CIM este aplicat pentru L egal cu 1, 4, 16, 256 sau 1000. Considerăm detecția ideală a erorilor ca în [66], [67]. Rezultatele simulărilor pentru E aproximat prin (II.76) și E fix la 100 sunt date în figura II.24 a) curbele BER și, respectiv figura II.24 b) curbele FER. Această valoare este acoperitoare, deoarece cea mai mare distanță minimă cunoscută a codurilor turbo nu depășește 100. Curbele pentru decodarea standard, fără CIM, sunt și ele date.
Din figura II.24 se poate observa că aproximat prin ecuația (II.76) duce la performanțe mai bune BER/FER decât . BER/FER scade cu aproape un ordin de mărime în comparație cu decodarea standard. Spre deosebire de cazul , de exemplu pentru SNR = 3.2 dB și CIM(256), BER scade de la la , și FER scade de la la . CIM(1000) duce la îmbunătățiri neglijabile în comparație cu CIM(256), iar CIM(64) este foarte apropiat de cele două menționate. Aproximarea ce folosește relația mai generală (II.78) duce la performanțe similare cu acelea obținute folosind aproximarea dată în (II.76).
a)
b)
Figura II.24. Curbele BER și FER pentru MAWCAIN, A=T=0.1
Capitolul III
Coduri turbo spațio-temporale
III.1. Codul Golden
Ultimii ani au fost marcați de aparația noilor tehnici de codare spațio-temporală bloc. Aceste tehnici permit construirea unor structuri de rată și diversitate maximă care ating capacitatea canalului. Majoritatea structurilor stabilite încearcă să realizeze compromisul diversitate/multiplexare. Pentru cazul sistemelor MIMO 2×2 (două antene de emisie, respectiv două de recepție), Belfiore et al. [26] au propus Golden Code G, coduri de rată și diversitate maximă. Datorită avantajelor pe care le prezintă, aceste coduri au fost numite coduri perfecte [27].
Codul de aur este un cod spațio-temporal perfect de dimensiune 2×2 cu avantajul obținerii unor performanțe superioare celorlalte coduri STBC caracterizat de numărul de aur . Este un cod spațiu-timp de rată și diversitate maximă pentru un sistem cu 2 antene de emisie și 2 antene de recepție în contextul unui canal MIMO coerent.
Un cod infinit se definește ca fiind setul matricelor cuvintelor de cod ale codului de aur de forma [26]:
, (III.1)
unde este un număr corespunzător ales, sunt simbolurile de informație care aparțin constelației , este numărul imaginar, este numărul de aur. Dacă
(III.2)
atunci
(III.3)
și
(III.4)
Folosind relațiile și matricele cuvintelor de cod se pot scrie:
(III.5)
Matricea se va aranja într-o matrice coloană de dimensiune 4×1:
(III.6)
Din matricea (III.6) părțile imaginară și reală vor fi separate pentru a forma o matrice de dimensiune 8×1:
(III.7)
Relația (III.7) poate fi factorizată, după cum urmează:
(III.8)
Matricea din relația (III.8) se poate scrie simplificat astfel:
(III.9)
unde
și ,
Matricea este matricea generatoare a codului de aur Și este matricea care conține părțile imaginară și reală a simbolurilor modulate pe linie (ca vectori linie).
Matricea semnalelor de la recepție este
(III.10)
unde este matricea 2×2 de canal formată din coeficienți de fading complecși, iar este matricea 2×2 de zgomot complex Gaussiană.
Pentru modulația 4-QAM matricea de canal devine:
(III.11)
Vectorul de la recepție devine:
(III.12)
în care este matricea de le recepție, vectorul real Gaussian al zgomotului, este matricea generatoare, iar este matricea simbolurilor de transmisie.
Decodarea semnalului recepționat se va face utilizând decodarea de maximă plauzibilitate (Maximum Likelihood ML) realizată prin căutarea matricei care minimizează puterea globală a zgomotului, adică decodorul ML calculează estimatul matricei de transmisie:
(III.13)
Diferența dintre celebrul cod al lui Alamouti și codul Golden cu 2 antene de transmisie și 2 antene de recepție pentru un canal AWGN folosind modulația 16-QAM este prezentat în figura III.1. Se observă obținerea unui câștig de codare mai bun cu aproximativ 3dB pentru codul Golden Code față de codul Alamouti la un pentru aceleași condiții de simulare.
Figura III.1. Comparație între BER a codului STBC Alamouti 2×2 și codul Golden 2×2
III.2. Criteriu de stop a iterațiilor pentru schema combinării unui cod turbo cu un cod STBC
Codurile spațio-temporale sunt frecvent utilizate în sistemele fără fir (wireless) datorită atingerii unor câștiguri de codare semnificative și reducerea zgomotelor de tip fading care afectează canalele de transmisie. Pentru a crește câștigul de diversitate și de codare, o schemă care combină un cod convoluțional nerecursiv nesistematic (CNRNS) și un cod spațiu-timp bloc este propusă în [75].
Pentru a crește performanțele acestui sistem s-a utilizat o schemă în care codul CNRNS este înlocuit de un cod turbo constituit din concatenarea paralelă a două coduri convoluționale recursive sistematice (RSC) despărțite de un interleaver, structură notată STTuBC (Space Time Turbo Block Code).
Pentru modelarea acestui sistem s-a considerat un canal MIMO neselectiv în frecvență, invariant în timp pentru două perioade simbol utilizând detecția maximum a posteriori (MAP) cu un ordin scăzut al modulației (BPSK sau QPSK). Secvența binară de informație este codată turbo, modulată, convertită binar simbol (CBS) și transmisă blocului spațio-temporal. Deoarece corecția erorilor (FEC) și decodarea STBC nu se pot realiza simultan în practică pentru lungimi mari ale secvențelor de informație, în primul rând va avea loc detecția STBC și apoi decodarea turbo. Gradul de complexitate a structurii de la recepție va fi mai mare decât cel al schemei originale propuse în [75] datorită algoritmului de decodare iterativ utilizat de către decodorul turbo. Un rol important în structură este atribuit alegerii optime a interleaverului.
Structura sistemului este reprezentată de figurile III.2 și III.3 [75].
Sistemul constă în două antene de transmisie și două antene de recepție. La emițător secvența de infromație binară este codată de un cod corector de erori (Forward error correcting code – FEC) de rată , este apoi trecută printr-un interleaver aleator și convertită din binar în simboluri pentru a fi codată spațio-temporal.
Figura III.1. Emițător
Pentru codul STCE , determinarea celor cuvinte de cod ale codului convoluțional definesc în mod unic matricea modulată , funcția fiind bijectivă:
(III.14)
Deoarece există cuvinte de cod ale codului corector de erori (CCE), mulțimea matricelor de analizat conține elemente.
Structura de recepție optimală constă în parcurgerea tuturor seturilor de cuvinte de cod ale codului și reținerea-alegerea cuvântului de cod cel mai probabil din punct de vedere al raportului de maximă plauzibilitate (MAP). Starea canalului fiind cunoscută la recepție, găsirea celor seturi se face minimizând distanța următoare:
(III.15)
Această structură de recepție, optimală în sensul MAP, înglobează detecția și decodarea într-o singură operație. În practică această implementare nu este folosită. Pentru a simplifica structura de la recepție se vor separa detectorul de decodor, așa cum este prezentat în figura III.3.
Figura III.3. Receptorul
La receptor secvența trece printr-un detector MAP STBC, apoi este convertită din simboluri în binar, dezintercalată de către de-interleaverul aleator și decodată MAP. Se utilizează modulația QPSK, iar codul FEC este un cod convoluțional cu polinoamele generatoare în formă octală . Interleaverul notat , respectiv de-interleaverul notat , sunt de lungime 509.
Matricea codului Golden este dată de următoarea relație:
(III.16)
unde este numărul codului Golden, , indexul de linie și de coloană reprezintă numărul antenei, respectiv intervalul de timp. Codul este de rată maximă deoarece patru simboluri sunt transmise de către cele două antene de-a lungul a două perioade simbol.
Conform definiției din [75], matricea secvenței de intrare se poate scrie simplificat astfel:
, (III.17)
unde
(III.18)
și
(III.19)
Pentru simplitate, matricele de mai sus vor fi notate și . Acestea au proprietatea de a fi matrici unitate și vor fi utilizate pentru a defini matricea coloană echivalentă:
(III.20)
Matricea:
(III.21)
este o matrice unitate.
În relația (III.21) este matricea simbolurilor de intrare cu indicii și reprezentând linia, respectiv coloana matricei , sunt matricele echivalente scrise astfel pentru a ușura detecția, iar este matricea nulă de dimensiune 2×2.
Canalul bloc neselectiv în frecvență afectat de fading este reprezentat de , o matrice de dimensiune ( reprezintă numărul antenelor de recepție) ale cărei intrări sunt variabile aleatoare gaussiene complexe de medie zero și varianță unu. Astfel matricea de recepție poate fi scrisă sub forma:
, (III.22)
unde este matricea zgomotului alb gaussian complex ale cărei intrări sunt variabile aleatoare gaussiene complexe de medie zero și varianță , este matricea codului Golden și este matricea de canal.
Relația (III.23) poate fi scrisă echivalent sub forma:
(III.24)
Variabilele din primul termen din (III.24) definesc matricea de lungime de la recepție, al doilea termen definește produsul dintre matricea de canal și matricea secvențelor de la intrare estimate la recepție, cel de-al treilea termen este reprezentat de matricea de zgomot estimată .
Secvența codată și intercalată este introdusă în modulator. Lungimea secvenței de informație este și lungimea secvenței de simboluri modulate este egală cu , rezultând astfel cuvinte de cod, în care este rata de codare, iar este ordinul constelației.
Metricile receptorului optimal corespunzătoare fiecărui bit codat reprezintă logaritmul probabilității fiecărui cuvânt de cod și sunt date de relația:
, (III.25)
unde este bitul 0 sau 1, este probabilitatea recepționării matricei secvențelor condiționată de matricea secvențelor transmise și matricea de canal , este distanța Euclidiană, este vectorul de recepție, este matricea de canal modificată și este matricea cuvintelor de cod.
La fiecare iterație, decodorul turbo folosește de două ori algoritmul log-MAP pentru a decoda codurile RSC. Decodarea sub-optimală constă în detecția soft a ieșirilor codului STBC urmată de decodarea turbo.
Rezultatele simulărilor criteriul de stop propus in [62] pentru schema care combină codul turbo cu codul Golden STBC pe un canal MIMO afectat de fading Rayleigh rapid sunt prezentate în figura III.4 a) curbele BER și figura III.4 b) curbele FER. În figura III.5 sunt reprezentate curbele numerelor medii de iterații pentru criteriul ideal genie stopper și pentru criteriul minsumP utilizând pragurile 1.05, 1.1, 1.2, 1.3, 1.4, 1.6, 1.8 și 1.9, notate cu .
În figura III.4 a) se obțin curbe BER similare folosind criteriul genie stopper dacă pragul este cel puțin 1.3. În figura III.4 b) se obțin curbe FER dacă pragul este cel puțin 1.4.
a)
b)
Figura III.4. Curbele a) BER și b) FER pentru schema combinată dintre codul turbo și codul Golden STBC pe canal MIMO afectat de fading rapid Rayleigh
Pentru un prag de 1.4 diferența dintre numărul mediu de iterații pentru criteriul genie stopper și criteriul minsumP este de cel mult 1.25, mai scăzut decât valoarea obținută de codul turbo pe canalul AWGN. Acest fapt poate fi datorat utilizării codului Golden STBC care îmbunătățește valorile soft de la intrarea decodorului turbo. Pentru acest prag, numărul mediu de iterații la valori mari ale SNR (2.5dB) este de aproximativ 3 iterații.
Figura III.5. Numărul mediu de iterații pentru schema combinată dintre codul turbo și codul Golden STBC pe canal MIMO afectat de fading rapid Rayleigh
Capitolul IV
Aplicație a codului Alamouti
în transmiterea imaginilor sub influența zgomotului impulsiv
IV. 1. Performanța codului Alamouti sub influența zgomotului impulsiv
Sistemele de comunicație wireless se bucură la momentul actual de o atenție sporită, datorită intenselor utilizări în activitatea umană. Siguranța datelor transmise în astfel de sisteme, pe canale afectate de fading, este îmbunătățită semnificativ prin utilizarea codurilor spațio-temporale. Acestea asigură protecție în special la viteze mari [23] și, mai mult, realizează diversitatea la transmisie [76]. Cea mai simplă schemă este cea propusă de Alamouti, cu două antene de emisie [24], fiind o realizare importantă în domeniul comunicațiilor.
Zgomotul ce poate afecta transmisia datelor pe canale multiple-input multiple-output (MIMO) poate fi de tip Additive White Gaussian Noise (AWGN) sau non-gaussian. Majoritatea receptoarelor pentru codurile bloc spațiu-timp (STBC) au fost proiectate pentru cazul AWGN. De aceea, în prezența zgomotului impulsive, performanța acestora scade semnificativ față de cazul AWGN, în special pentru valori mari ale Signal-to-Noise Ratio (SNR) [77]. Performanța codurilor spațiu-timp ortogonale (OSTBC), în prezența zgomotului impulsive de tip Middleton Class-A, a fost investigată pentru diverse modulații, pe canale afectat de fading Rayleigh [78]. Concluzia a fost că la valori joase ale SNR, Symol Error Rate (SER) scade cu până la 6dB față de AWGN, iar la valori mari aceasta crește odată cu mărirea SNR.
Modelul matematic pentru un sistem MIMO
Canalele de comunicație MIMO presupun antene multiple atât la emisie, cât și la recepție, realizând astfel diversitate spațială. În lucrarea de față, sunt folosite canale de propagare afectate de fading plat (de tip Rayleigh) și fără memorie. Considerând un sistem cu NT antene emițătoare și NR antene receptoare, semnalele transmise, xi, pe durata unui simbol formează un vector coloană, notat x de mărime [NT, 1]:
(IV.1)
Indicele i reprezintă numărul antenei de transmisie.
Relația liniară de intrare-ieșire a canalului MIMO este:
(IV.2)
unde: r reprezintă vectorul semnalelor recepționate de cele NR antene, este de mărime [NR, 1]:
(IV.3)
H, de mărime [NR, NT], este matricea canalului, numită și funcție de transfer, la momentul t fiind de forma:
(IV.4)
Coeficienții hj,i sunt, de fapt, coeficienții de fading ai canalului dintre antena de emisie i și cea de recepție j. Aceștia variază în timp și sunt descriși de diverse modele statistice, în lucrarea de față considerându-se modelul Rayleigh. Astfel, coeficienții de fading sunt variabile aleatorii complexe gaussiene, cu distribuție identică și medie zero.
n este vectorul coloană al zgomotului (gaussian sau impulsiv):
(IV.5)
La momentul t, semnalul recepționat de antena j va fi dat de relația:
, (IV.6)
Pentru cazul particular al schemei propusă de Alamouti, se folosesc două antene de emisie, respective NR de recepție. În lucrarea de față, vom considera 2 antene de emisie și 2 antene de recepție, cu modulație BPSK. Avantajul acestor coduri îl reprezintă simplitatea dezvoltării diversității spațiu-timp. [24]
Structura codorului propus de Alamouti este aratată în figura de mai jos:
Figura IV.1. Structura codorului Alamouti
La fiecare operație de codare, grupul celor două simboluri modulate este transmis conform schemei de mai jos :
(4.7)
La momentul t, prima antena (notata Tx1) transmite semnalele x1, iar antena Tx2 – semnalul x2. La momentul următor, t+T, semnalele transmise de cele două antene sunt –x2* , respectiv x1*.
La recepție, semnalele sunt date de relațiile :
(IV.8)
Forma matriceală este:
(IV.9)
La decodare se folosește un algoritm de determinare a plauzibilității maxime, selectând cele mai probabile simboluri și . Considerând o sursă de informație fără memorie, simbolurile modulate x2 și x1 sunt independente unul față de celălalt. Prin urmare, este posibilă decodarea separată a celor două simboluri:
(IV.19)
unde
(IV.11)
și (.)H este conjugata transpusă a matricii.
Analiza BER pentru codul Alamouti în cazul zgomotului impulsiv
În figurile IV.2 și IV.3 sunt prezentate performanțele codului Alamouti cu două antene de emisie și două de recepție, pentru un canal afectat de fading Rayleigh și modulatie BPSK [40]. Performanța codului este evaluată prin curbele Bit Error Rate (BER), pentru diverse valori ale parametrilor A, respectiv T. Simulările au fost realizate pentru A=0.01, 0.1, 1, T=0.01, 0.1, 1 și SNR є [0, 25dB].
Figure IV.2. Performance of Alamouti code, with different impulse index A
Figure IV.3. Performance of Alamouti code, with different T
Pentru zgomot AWGN, codul lui Alamouti asigură un câștig de codare de circa 11dB. Figura IV.2 arată faptul că în prezența zgomotului impulsive sistemul are performanțe mai slabe decât în cazul celui Gaussian. De la un SNR=8dB, odată cu micșorarea parametrului A, BER-ul suferă o creștere, cele mai slabe rezultate fiind pentru A=0.01. Pentru valori scăzute ale SNR, sistemul se comportă mai bine în cazul zgomotului impulsiv cu A=0.01. Cu cât crește SNR, cu atât performanțele devin semnificativ mai slabe pentru Middleton Class-A, cu A=0.01, față de AWGN. Acest lucru se întâmplă, deoarece la valori mari ale SNR, componenta impulsivă are o influență semnifiativă. Comparând performanțele codului pentru valorile lui A, se observă că pentru A mare, BER-ul este mai scăzut, iar pentru A=1, se apropie chiar de AWGN.
In figura IV.3, s-a considerat parametrul A fix 0.01 și a fost variat parametrul T, pentru a observa influenșa acestuia asupra perfromanțelor codului. Aceeași concluzie se poate trage și în cazul acesta și anume: la valori peste 4dB ale SNR, cu cât factorul gaussian T este mai mic, cu atât performanțele sunt mai scăzute față de cazul AWGN. Pentru T=1, valorile BER sunt foarte apropiate de AWGN, iar pentru T=0.1, respectiv 0.01 sunt diferite de AWGN, dar aproape identice între ele. La valori mici ale SNR, sub 4dB, situația este inversată : sunt perfromanțe ușor crescute cu cât T are valori mai mici.
IV. 2. Transmitere de imagini folosind Alamouti pe canal afectat de zgomot impulsiv și fading Rayleigh
Imaginile pot fi afectate de zgomotul impulsiv la fel ca și celelalte date. Pentru eliminarea sau cel puțin diminuarea efectului acestui zgomot s-au propus diverse filtre cu rezultate foarte bune. Filtrul median cu comutare progresivă (PSMF) propus de [79] implementează un detector de impulsuri ale zgomotului înainte de filtrarea mediană. Prin comparație cu diverse variante ale filtrului median, acesta a asigurat o recuperare foarte bună a imaginii.
Lucrarea de față propune o aplicație a codului lui Alamouti în transmiterea imaginilor pentru doua antene de emisie, respectiv doua antene de recepție [80]. Se consideră canal MIMO afectat de fading Rayleigh, modulație BPSK și zgomot impulsiv de tip Middleton Class-A. Se investigează influența parametrilor ce descriu modelul zgomotului non-gaussian asupra calității imaginilor. Pentru filtrarea imaginilor recepționate se utilizează diverse variante ale filtrului median: filtrul median standard 3×3, 5×5, 7×7 și progressive switching median filter (PSMF).
Filtre mediane
Aplicarea zgomotului impulsive de tip Middleton Class-A pe o imagine trasnmisă pe canale MIMO, utilizând codul bloc al lui Alamouti, a produs apariția zgomotului de tip salt & paper. Pentru eliminarea acestuia, am utilizat diverse variante ale filtrului median si anume : filtrul median standard 3×3, 5×5, 7×7, progressive switching median filter
Cel mai popular filtru pentru eliminarea zgomotului de tip salt & paper este cel median [81]. Acesta constă într-o fereastră de filtrare ce conține un număr impar de pixeli, la care pixelul central este înlocuit cu medianul pixelilor din fereastră. Dimensiunile ferestrelor de filtrare folosite sunt 3×3, 5×5 sau 7×7. Deoarece acest tip de filtru nu are performanțe bune în cazurile în care imaginea este puternic afectată de zgomot, au fost introduse diverse variante ale filtrului median standard.
Progressive switching median filter (PSMF) propus de [79] implementează un detector de impuls înaintea filtrării, ambele operații – de detectare, respectiv filtrare, realizându-se progresiv într-o maniera iterativă. Astfel, doar pixelii care au fost declarați afectați de zgomot, vor fi apoi filtrați, dezavantajul fiind ca detaliile și marginile imaginii să nu poată fi recuperate în totalitate, mai ales când zgomotul ce afectează imaginea este foarte puternic.
Rezultatele simulărilor
Simulările au fost realizate pentru un cod bloc spațiu-timp cu două antene de emisie și două de recepție, modulație BPSK, pe canal afectat de fading Rayleigh și zgomot impulsiv de tip Middleton Class-A. Imaginile transmise pe canal sunt cele din figurile IV.4 a și IV.6 a, imagini grayscale, de dimensiune 512×512 pixeli cu 8biți/pixel – lena.bmp și peppers.bmp. Simulările au fost realizate pentru două valori ale SNR 5dB și 10dB, variind parametrii zgomotului impulsiv. Zgomotul impulsiv de tip Middleton Class-A a fost generat by the toolbox [39]. Parametrii A și T ce descriu modelul zgomotului impulsiv considerat au fost variați în intervalele: A – [10-2, 1], T – [10-2, 1].
Comparațiile sunt date de MSE (mean square error), exprimată prin relația (IV.12), și PSNR (peak signal-noise ratio) cu expresia (IV.13). Valorile pentru cei doi parametri ce „măsoară” calitatea imaginii au fost calculate înainte și după aplicarea variantelor de filtre mediene. Ferestrele pentru fitrul median standard (MF) au fost considerate 3×3, 5×5 și 7×7. Pentru PSMF au fost considerați parametrii din [79]: fereastra de filtrare WF = 3; numărul de iterații pentru detecția impulsului ND = 3; pragul T = 40;a = 65;b = -50. T este utilizat pentru a decide dacă un pixel xi este sau nu afectat de zgomot. Astfel, dacă diferența dintre pixelul median din fereastra de 3×3 și pixelul curent este 0 sau egal cu T, pixelul este considerat corupt, deci s-a detectat impulsul de zgomot. Parametrii a și b au fost folosiți pentru a stabili pragul de detecție TD, dat de relația:
, (IV.12)
Unde NI este numărul de impulsuri detectate și N – numărul total de pixeli.
(IV.13)
unde: M, N – reprezintă numărul de pixeli pe orizontală, respectiv pe verticală ai imaginii, I este imaginea originală, iar este imaginea recepționată.
(IV.14)
Valorile sunt centralizate în tabelul IV.1 pentru MSE, respectiv tabelul IV.2 pentru PSNR.
Tabelul IV.1
Image quality metric – MSE – Lena
Valorile MSE calculate pentru cazul AWGN fără filtrare sunt semnificativ mai mici față de cazul zgomotului impulsiv. Se observă că MSE crește odată cu ponderea componentei impulsive, astfel că pentru cazul A=T=0.01, situație ce caracterizează un zgomot puternic impulsiv, calitatea imaginii este foarte slabă – MSE este de aproximativ 4 ori mai mare decât în cazul zgomtului Gaussian. Dacă SNR crește, zgomotul afectează mai puțin imaginea, MSE având valori semnificativ mai mici. După filtrare, valorile MSE scad drastic, pentru fiecare filtru, mai puțin pentru DBA, unde rămân comparabile cu cele dinaintea filtrării. Comparând MSE pentru diferitele filtre folosite, cele mai mici valori sunt pentru PSMF, iar cele mai slabe sunt pentru MF 7×7, deci acest tip de filtru nu este recomandat pentru mitigarea zgomotului impulsiv, mai ales pentru valori mari ale SNR.
Table IV.2
Image quality metric – PSNR – lena
În cazul PSNR, pentru situația când imaginea recepționată nu este filtrată, acesta are valori mari pentru AWGN, comparabil cu cazul zgomotului impulsiv pentru SNR=10. Pentru A=1 și T=0.01, valorile PSNR sunt apropiate de cele din cazul AWGN. După filtrare, valoarea parametrului crește semnificativ, dar rămâne aproximativ constant pentru restul situațiilor. Ca și în cazul MSE, cele mai bune performanțe sunt date de PSMF, iar cele mai slabe de MF 7×7.
Figura IV.4 arată cele trei imagini afectate de zgomot, iar figura IV.5 imaginea filtrată, cea din figura IV.4 a) coruptă de zgomotul impulsiv la SNR=5dB, pentru A=T=0.01, utilizând variante ale filtrului median. Se poate observa din figura IV.4 că Alamouti a propus un cod care are rezultate bune în transmiterea imaginilor. Imaginea recepționată are o calitate mai bună față de cea transmisă pe un canal necodat.
a) b) c) d)
Figura IV.4 a) imaginea originală; Imaginile corupte: b) necodat, cu AWGN; c) codat, cu AWGN; d) codat, cu zgomot impulsiv Middleton Class-A – A=T=0.01
a) b) c) d)
Figura IV. 5. Imaginile filtrate: a) MF 3×3 ; b) MF 5×5; c) MF 7×7; d) PSMF
Rezultatele obținute pentru imaginea de test peppers sunt similare cu cele din cazul Lena. Pot fi trasate aceleași concluzii: calitatea imaginii este puternic afectată de zgomotul impulsiv, comparativ cu AWGN. Cel mai bun filtru pentru eliminarea zgomotului rămâne PSMF. MF 3×3 are rezultate bune, iar MF 7×7 nu este recomnadat mai ales pentru valori mari ale SNR. Valorile MSE (tabelul IV.3) și PSNR (tabelul IV.4) sunt comparabile cu cele pentru Lena, sub aceleași condiții.
Figura IV.6 prezintă imaginile peppers afectate de zgomot, iar figura IV.7 imaginile filtrate, la SNR=5dB, pentru zgomot impulsiv cu parametrii A=T=0.01, folosind variante ale filtrului median.
a) b) c) d)
Figura IV.6 a) Imaginea originală; Imaginile corupte: b) necodat, AWGN; c) codat, AWGN; d) codat, Middleton Class-A – A=T=0.01
a) b) c) d)
Figura IV.7. Imaginile filtrate: a) MF 3×3 ; b) MF 5×5; c) MF 7×7; d) PSMF
Tabel IV.3
Image quality metric – MSE – peppers
Tabel IV.4
Image quality metric – PSNR – peppers
V. Bibliografie
C.E. Shannon, “A mathematical theory of communication”, Bell System Technical Journal, pp. 379-427, 1948
R. Hamming, “Error detecting and error correcting codes”, Bell System Technical Journal, vol. 29, pp. 147-160, 1950
A. Hocquenghem, “Codes correcteures d’erreurs”, Chiffres (Paris), vol. 2, pp. 147-156, September 1959
R. Bose and D. Ray-Chaudhuri, “On a class of error correcting binary group codes”, Information and control, vol. 3, pp. 68-79, March 1960
I.S. Reed and G. Solomon, “Polynomial codes over certain finite fields”, SIAM Journal on Applied Mathematics, vol. 8, pp. 300-304, 1960
G.D. Forney, “Concatenated codes”, Cambridge, MA: MIT Press, 1966
I.S. Reed, “A class of Multiple-Error-Correcting Codes and Decoding Scheme”, IRE Transactions on Information Theory, Vol. IT-4, pp. 38-49, September 1954
D. Chase, „A class of algoritms for decoding block codes with channel measurement information”, IEEE Transations on Information Theory, vol. IT-18, pp. 170-182, January 1972
E. Berlekamp, “On decoding binary Bose-Chaudhuri-Hocquenghem codes”, IEEE Transations on Information Theory, vol. 11, pp. 577-579, 1965
E. Berlekamp, “Algebraic Coding Theory”, New York, USA: McGraw-Hill, 1968
J. Massey, “Step-by-step decoding of the Bose- Chaudhuri-Hocquenghem codes”, IEEE Transations on Information Theory, vol. 11, pp. 580-585, 1965
J. Massey, “Shift-register synthesis and BCH decoding”, IEEE Transations on Information Theory, vol. IT-15, pp. 122-127, January 1969
P. Elias, “Coding for noisy channels”, IRE Convention Record, pp. 37-47, 1955
J. Wozencraft, “Sequential decoding for reliable communication”, IRE Natl. Conv. Rec., vol.5, pp. 11-25, 1957
J. Wozencraft, B. Reiffen, “Sequential Decoding”, Cambridge, MA, USA: MIT Press, 1961
R. Fano, “A heuristic discussion of probabilistic coding”, IEEE Transations on Information Theory, vol. IT-9, pp. 64-74, 1963
J. Massey, “Threshold Decoding”, Cambridge, MA, USA: MIT Press, 1963
A. Viterbi, “Error bounds for convolutional codes and an asymptotically optimum decoding algorithm”, IEEE Transations on Information Theory, vol. IT-13, pp. 260-269, 1967
L. R. Bahl, J. Cocke, F. Jelinek, J. Raviv, „Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate”, IEEE Transactions on Information Theory, Vol. 20, No. 2, pp. 284-287, March 1974
C. Berrou, A. Glavieux, P. Thitimajshima, “Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes”, Proceedings of ICC 1993, Geneva, Switzerland, pp. 1064-1070, May 1993
D. Divsalar, F. Pollara, “Serial and Hybrid Concatenation Codes with Applications”, Proceedings of International Symposium on Turbo Codes and Related Topics, Brest, France, pp. 80-87, September 1997
N. Seshadri, J.H. Winters, „Two signaling schemes for improving the error performance of frequency-divisio-duplex (FDD) transission system using transmitter antenna diversity”, Proc. IEEE Vehicular Technology Conference
V. Tarokh, N. Seshadri, A. R. Calderbank, “Space–time codes for high data rate wireless communication: Performance analysis and code construction”, IEEE Transactions on Information Theory, 44 (2): 744–765, 1998.
S.M. Alamouti, “A simple transmit diversity technique for wireless communications”, IEEE Journal on Selected Areas in Comm. 16 (8): 1451–1458, 1998.
V. Tarokh, H. Jafarkhani, A. R. Calderbank, “Space–time block codes from orthogonal designs”, IEEE Transactions on Information Theory, vol. 45 (5): 1456–1467, 1999.
J-C Belfiore, G. Rekaya, E. Viterbo, “The Golden Code: a 2×2 full-rate Space-Time Code with nn-vanishing determinants”, IEEE Transactions on Information Theory, vol. 51, nr. 4, 2005
E. Oggier, G. Rekaya, J.-C. Belfiore, E. Viterbo, “Perfect Space-Time Blocks Codes”, IEEE Transactions on Information Theory, vol. 52, nr. 9, 2006
C. E. Shannon, “Probability of error for optimal codes in a Gaussian channel”, Bell Systems Technical Journal, vol. 38, 1959
A. Goldsmith, “Wireless Communications”, Stanford University, 2004
D. Middleton, “Statistical-physical models of electromagnetic interference”, IEEE Trans. Electromagn. Compat., vol. EMC-19, no. 3, pp. 106-127, Aug. 1977
H. Kanemoto, S. Miyamoto, N. Morinaga, “Statistical model of microwave oven interference and optimum reception”, in Proc. IEEE ICC’98, pp. 1660 – 1664, Oct. 1998
M. Win, P. Pinto, L. Shepp, “A mathematical theory of network interference and its applications”, Proc. IEEE, vol. 97, no. 2, pp. 205 – 230, Feb. 2009
S. Al-Dharrab, M. Uysal, “Cooperative Diversity in the Presence of Impulsive Noise”, IEEE Trans. Wireless Communications, vol. 8, no. 9, pp. 4730-4739, September 2009
H. M. Hall, “A new model for impulsive phenomena: Application to atmospheric-noise communication channels”, Stanford University, Tech. Rep., August 1966
M. Shao, C.L. Nikias, “On symmetric stable models for impulsive noise”, University Southern California, Los Angeles, Tech. Rep., USC-SIPI-231, 1993
D. Middleton, “Statistical-physical models of electromagnetic interference”, IEEE Trans. Electromagnetic Compat., vol. EMC-19, no. 3, pp. 106-127, August 1977
D. Umehara, H. Yamaguchi, Y. Morihiro, “Turbo Decoding over Impulse Noise Channel”, Proc. IEEE ISPLC, 2004
N. Andreadou, F.-N. Pavlidou, “PLC Channel: Impulsive Noise Modeling and Its Performance Evaluation Under Different Array Coding Schemes”, IEEE Trans. on Power Delivery, vol. 24, no. 2, pp. 585-595 April 2009
K. Gulati, M. Nassar, A. Chopra, N. Ben Okafor, M. DeYoung, N. Aghasadeghi, A. Sujeeth, B. L. Evans, InterferenceModeling and Mitigation Toolbox 1.6, for Matlab, ESP Laboratory, ECE Dept., Univ. of Texas at Austin, Oct 2011.
M. Andrei, L. Trifina, D. Tarncieriu (2014) – „Influence of Impulsive Noise on Alamouti Code Performances”, Wireless and Mobile Applications, ECUMICT 2014, 6th Edition, 27-28 Martie 2014, Gent, Belgium
G. J. Pottie, “System design issues in personal communications”, IEEE Personal Communications. Mag., vol. 2, no. 5, pp. 50–67, 1995.
H. Jafarkhani, Space-Time Coding: Theory and Practice, Cambridge, 2005.
G. J. Foschini Jr., M. J. Gans, “On limits of wireless comm. in a fading environment when using multiple antennas”, Wireless Personal Communications., vol. 6 (3), pp. 311–335, 1998.
J. Proakis, „Digital Communications”, 4th Ed., McGraw Hill, New York, 2000
C. B. Schlegel, L. C. Pérez, „Trellis and Turbo Coding”, IEEE Series on Digital & Mobile Communications, USA, 2004
J. Hokfelt, O. Edfors, T. Maseng, “On the Theory and performance of Trellis Termination Methods of Turbo Codes”, IEEE Journal on Selected Areas in Communications, Vol. 19, No. 5, pp. 838-847, May 2001
P. Guinand, J. Lodge, “Trellis Termination for Turbo Encoders”, Procceedings 17th Biennial Symposium On Communications, Queen’s University, Kingston, Canada, pp. 389-392, May 30 – June 1, 1994
D. Divsalar, F. Pollara, “Multiple Turbo Codes for Deep-Space Communications”, TDA Progres Report 42-121, May 15, 1995
D. Divsalar, F. Pollara, “Turbo Codes for PCS Applications”, Proceedings of ICC 1995, Seattle, WA., pp54-59, June 1995
L. Trifina, D. Mătăsaru, „Interleavere pentru coduri turbo”, Ed. Tehnopress, Iași, 2013
C. Heegard, S.B. Wicker, „Turbo Coding”, Kluwer Academic Publishers, Dordrecht, the Netherlands, 1999
M. Kovaci, H. Baltă, M. Naforniță, „The performance of Interleavers used in Turbo Codes”, Proceedings of IEEE International Symposium SCS, ISSCS’ 2005, Iași, July, 14-15, 2005, pp. 363-366
Y. Ould-Cheikh-Mouhamedou, S. Crozier, P. Kabal, „Distance Measurement Method for Double Binay Turbo Codes and a New Interleaver Design for DVB-RCS”, Proceedings of the 4th annual IEEE Global Telecommunications Conference (Globecom 2004), Dallas, Texas, USA, Nov. 29-Dec. 3, 2004
B. Vucetic, J. Yuan, „Turbo Codes Principles and Applications”, The Kluwer international series in engineering and computer science, Second Printing, 2001
S. Benedetto, D. Divsalar, G. Montorsi and F. Pollara, “A soft-input soft-output maximum a posteriori (MAP) module to decode parallel and serial concatenated codes”, TDA Progress Report 42-127, Nov. 1996
S. Benedetto, D. Divsalar, G. Montorsy and F. Pollara, “A soft-input soft-output APP module for iterative decoding of concatenated codes”, IEEE Communications Letters, vol.1, no.1, pp. 22-24, Jan. 1997. [Online]. Available: http://dx.doi.org/10.1109/4234.552145
K. Amis, G. Sicot and D. Leroux, „Reduced complexity near-optimal iterative receiver for Wimax full-rate space-time code”, 5th International Symposium on Turbo Codes and Related Topics, Lausanne, pp. 102-106, 1-5 Sept. 2008. [Online]. Available: http://dx.doi.org/10.1109/TURBOCODING.2008.4658680
A. Savin and L. Trifina, ”Scheme combining a turbo code and a golden space-time block code with different interleavers”, IEEE International Symposium on Signals, Circuits and Systems ISSCS 2013, Iasi, Romania, pp. 37-40, 11-12 July 2013. [Online]. Available: http://dx.doi.org/10.1109/ISSCS.2013.6651189
W. Kock, A. Baier, „Optimum and sub-optimum detection of coded data disturbed by time-variyng inter-symbol interference”, IEEE Globecom, Dec. 1990, pp. 1679-1684
M. Andrei, L. Trifina, D. Tarniceriu (2013) – Influence of Trellis Termination Methods on Turbo Code Performances, 4th International Symposium On Electrical and Electronics Engineering (ISEEE 2013), 11-13 Oct. 2013, Galati, Romania
A. Matache, S. Dolinar, F. Pollara, “Stopping rules for turbo decoders,” JPL TMO Progress Report, vol. 42, pp.1–22, Aug. 2000.
A. Savin, L. Trifina L., M. Andrei, „Threshold Based Iteration Stopping Criterion for Turbo Codes and for Scheme Combining a Turbo Code and a Golden Space-Time Block Code”, Advances in Electrical and Computer Engineering(AECE), 2014.
S. Crozier, P. Guinand, J. Lodge and A. Hunt, “Costruction and performance of new tail-biting turbo codes”, 6th International Workshop Digital Signal Proccesing Tchniques for Space Applications, Nordwijk, The Netherlands, Sept. 1998
M. Breiling, S. Peeters and J. Huber, “Class of double terminating turbo code interleavers”, Electronics Letters, Vol. 35, No. 5 pp. 389-391, March 1999
Trifina, L., Balta, H.G. and Rusinaru, A., “Decreasing of the turbo MAP decoding time by using an iterations stopping criterion”, IEEE International Symposium on Signals, Circuits and Systems ISSCS 2005, Iasi, Romania, pp. 371–374, 14-15 July 2005
Ould-Cheikh-Mouhamedou, Y., Crozier, S., Gracie, K., Guinand, P., Kabal, P.: A Method for Lowering Turbo Code Error Flare using Correction Impulses and Repeated Decoding, Proc. 4th International Symposium on Turbo Codes & Related Topics, Munich, Germany (3-7 April 2006).
Ould-Cheikh-Mouhamedou, Y., Crozier, S.: Improving the Error Rate Performance of Turbo Codes using the Forced Symbol Method, IEEE Communications Letters, vol. 11, no. 7, pp. 616-618 (July 2007).
L. Trifina, D. Tărniceriu, M. Andrei, „Correction Impulse Method for Turbo Decoding over Middleton Class-A Impulsive Noise”, trimisă la Annals of telecommunications
Umehara, D., Yamaguchi, H., Morihiro, Y.: Turbo Decoding over Impulsive Noise Channel, in Proc. IEEE International Symposium on Power Line Communications, (2004).
Trifina, L., Tărniceriu, D., Baltă, H.: Threshold Determining for Minabsllr Stopping Criterion for Turbo Codes, Frequenz, vol. 67, no. 9-10, pp. 321-326 (Sept. 2013).
Umehara, D., Yamaguchi, H., Morihiro, Y.: Turbo Decoding over Impulsive Noise Channel, in Proc. IEEE International Symposium on Power Line Communications, (2004).
Umehara, D., Yamaguchi, H., Morihiro, Y.: Turbo Decoding in Impulsive Noise Environment, in Proc. IEEE Global Telecommunications Conference GOBECOM’04, , pp. 194-198 (29 Nov. – 3 Dec. 2004).
Baltă, H., Kovaci, M.: A Study on Turbo Decoding Iterative Algorithms, Scientific Bulletin of Politehnica University Timisoara – Transactions on Electronics and Communications, vol. 49(63), no. 2, pp. 33-37 (2004).
: Performance Analysis of Turbo Codes over Fading Channels with Additive White Gaussian and Impulsive Noise, PhD Thesis (May 2007).
Amis, K., Sicot, G. and Leroux, D., „Reduced complexity near-optimal iterative receiver for Wimax full-rate space-time code”, 5th International Symposium on Turbo Codes and Related Topics, , pp. 102-106, 1-5 September 2008.
B. Vucetic, J. Yuan, Space-Time Coding, John Wiley & Sons Ltd., , 2003
Madi G., Sacuto F., Vrigenau B., Agba B. L., Pousser Y., Vauzelle R. and Gagnon F., Impacts of impulsive noise from partial discharges on wireless systems perfromance : applications to MIMO precoders, EURASIP Journal on Wireless Communications and Networking, 2011
Y. Gong, X. Wang, R. He, F. Pang, “Performance of Space-Time Block Coding under Impulsive noise Enviroment”, Proc. IEEE of 2nd International Conference on Advanced Computer Control, vol. 4, pp. 445-448, March 2010
Wang Z. and Zhang D., “Progressive Switching Median Filter for the Removal of Impulse Noise from Highly Corrupted Images”, IEEE Transactions on Circuits and Systems-II: Analog and Digital Signal Processing, vol. 46, no. 1, pp. 78-80, Jan. 1999
M. Andrei (2013) – Influence of Impulsive Noise on Image Transmission using Space-Time Block Codes, Buletinul Institutului Politehnic din Iași, Tomul LIX(LXIII), Fasc. 4, 2013, ISSN 1223-8139
and Venetsanopoulus A.N., “Order statistics in digital image processing”, Proc. IEEE, vol. 80, no. 12, pp. 1893-1921, Dec. 1992
V. Bibliografie
C.E. Shannon, “A mathematical theory of communication”, Bell System Technical Journal, pp. 379-427, 1948
R. Hamming, “Error detecting and error correcting codes”, Bell System Technical Journal, vol. 29, pp. 147-160, 1950
A. Hocquenghem, “Codes correcteures d’erreurs”, Chiffres (Paris), vol. 2, pp. 147-156, September 1959
R. Bose and D. Ray-Chaudhuri, “On a class of error correcting binary group codes”, Information and control, vol. 3, pp. 68-79, March 1960
I.S. Reed and G. Solomon, “Polynomial codes over certain finite fields”, SIAM Journal on Applied Mathematics, vol. 8, pp. 300-304, 1960
G.D. Forney, “Concatenated codes”, Cambridge, MA: MIT Press, 1966
I.S. Reed, “A class of Multiple-Error-Correcting Codes and Decoding Scheme”, IRE Transactions on Information Theory, Vol. IT-4, pp. 38-49, September 1954
D. Chase, „A class of algoritms for decoding block codes with channel measurement information”, IEEE Transations on Information Theory, vol. IT-18, pp. 170-182, January 1972
E. Berlekamp, “On decoding binary Bose-Chaudhuri-Hocquenghem codes”, IEEE Transations on Information Theory, vol. 11, pp. 577-579, 1965
E. Berlekamp, “Algebraic Coding Theory”, New York, USA: McGraw-Hill, 1968
J. Massey, “Step-by-step decoding of the Bose- Chaudhuri-Hocquenghem codes”, IEEE Transations on Information Theory, vol. 11, pp. 580-585, 1965
J. Massey, “Shift-register synthesis and BCH decoding”, IEEE Transations on Information Theory, vol. IT-15, pp. 122-127, January 1969
P. Elias, “Coding for noisy channels”, IRE Convention Record, pp. 37-47, 1955
J. Wozencraft, “Sequential decoding for reliable communication”, IRE Natl. Conv. Rec., vol.5, pp. 11-25, 1957
J. Wozencraft, B. Reiffen, “Sequential Decoding”, Cambridge, MA, USA: MIT Press, 1961
R. Fano, “A heuristic discussion of probabilistic coding”, IEEE Transations on Information Theory, vol. IT-9, pp. 64-74, 1963
J. Massey, “Threshold Decoding”, Cambridge, MA, USA: MIT Press, 1963
A. Viterbi, “Error bounds for convolutional codes and an asymptotically optimum decoding algorithm”, IEEE Transations on Information Theory, vol. IT-13, pp. 260-269, 1967
L. R. Bahl, J. Cocke, F. Jelinek, J. Raviv, „Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate”, IEEE Transactions on Information Theory, Vol. 20, No. 2, pp. 284-287, March 1974
C. Berrou, A. Glavieux, P. Thitimajshima, “Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-Codes”, Proceedings of ICC 1993, Geneva, Switzerland, pp. 1064-1070, May 1993
D. Divsalar, F. Pollara, “Serial and Hybrid Concatenation Codes with Applications”, Proceedings of International Symposium on Turbo Codes and Related Topics, Brest, France, pp. 80-87, September 1997
N. Seshadri, J.H. Winters, „Two signaling schemes for improving the error performance of frequency-divisio-duplex (FDD) transission system using transmitter antenna diversity”, Proc. IEEE Vehicular Technology Conference
V. Tarokh, N. Seshadri, A. R. Calderbank, “Space–time codes for high data rate wireless communication: Performance analysis and code construction”, IEEE Transactions on Information Theory, 44 (2): 744–765, 1998.
S.M. Alamouti, “A simple transmit diversity technique for wireless communications”, IEEE Journal on Selected Areas in Comm. 16 (8): 1451–1458, 1998.
V. Tarokh, H. Jafarkhani, A. R. Calderbank, “Space–time block codes from orthogonal designs”, IEEE Transactions on Information Theory, vol. 45 (5): 1456–1467, 1999.
J-C Belfiore, G. Rekaya, E. Viterbo, “The Golden Code: a 2×2 full-rate Space-Time Code with nn-vanishing determinants”, IEEE Transactions on Information Theory, vol. 51, nr. 4, 2005
E. Oggier, G. Rekaya, J.-C. Belfiore, E. Viterbo, “Perfect Space-Time Blocks Codes”, IEEE Transactions on Information Theory, vol. 52, nr. 9, 2006
C. E. Shannon, “Probability of error for optimal codes in a Gaussian channel”, Bell Systems Technical Journal, vol. 38, 1959
A. Goldsmith, “Wireless Communications”, Stanford University, 2004
D. Middleton, “Statistical-physical models of electromagnetic interference”, IEEE Trans. Electromagn. Compat., vol. EMC-19, no. 3, pp. 106-127, Aug. 1977
H. Kanemoto, S. Miyamoto, N. Morinaga, “Statistical model of microwave oven interference and optimum reception”, in Proc. IEEE ICC’98, pp. 1660 – 1664, Oct. 1998
M. Win, P. Pinto, L. Shepp, “A mathematical theory of network interference and its applications”, Proc. IEEE, vol. 97, no. 2, pp. 205 – 230, Feb. 2009
S. Al-Dharrab, M. Uysal, “Cooperative Diversity in the Presence of Impulsive Noise”, IEEE Trans. Wireless Communications, vol. 8, no. 9, pp. 4730-4739, September 2009
H. M. Hall, “A new model for impulsive phenomena: Application to atmospheric-noise communication channels”, Stanford University, Tech. Rep., August 1966
M. Shao, C.L. Nikias, “On symmetric stable models for impulsive noise”, University Southern California, Los Angeles, Tech. Rep., USC-SIPI-231, 1993
D. Middleton, “Statistical-physical models of electromagnetic interference”, IEEE Trans. Electromagnetic Compat., vol. EMC-19, no. 3, pp. 106-127, August 1977
D. Umehara, H. Yamaguchi, Y. Morihiro, “Turbo Decoding over Impulse Noise Channel”, Proc. IEEE ISPLC, 2004
N. Andreadou, F.-N. Pavlidou, “PLC Channel: Impulsive Noise Modeling and Its Performance Evaluation Under Different Array Coding Schemes”, IEEE Trans. on Power Delivery, vol. 24, no. 2, pp. 585-595 April 2009
K. Gulati, M. Nassar, A. Chopra, N. Ben Okafor, M. DeYoung, N. Aghasadeghi, A. Sujeeth, B. L. Evans, InterferenceModeling and Mitigation Toolbox 1.6, for Matlab, ESP Laboratory, ECE Dept., Univ. of Texas at Austin, Oct 2011.
M. Andrei, L. Trifina, D. Tarncieriu (2014) – „Influence of Impulsive Noise on Alamouti Code Performances”, Wireless and Mobile Applications, ECUMICT 2014, 6th Edition, 27-28 Martie 2014, Gent, Belgium
G. J. Pottie, “System design issues in personal communications”, IEEE Personal Communications. Mag., vol. 2, no. 5, pp. 50–67, 1995.
H. Jafarkhani, Space-Time Coding: Theory and Practice, Cambridge, 2005.
G. J. Foschini Jr., M. J. Gans, “On limits of wireless comm. in a fading environment when using multiple antennas”, Wireless Personal Communications., vol. 6 (3), pp. 311–335, 1998.
J. Proakis, „Digital Communications”, 4th Ed., McGraw Hill, New York, 2000
C. B. Schlegel, L. C. Pérez, „Trellis and Turbo Coding”, IEEE Series on Digital & Mobile Communications, USA, 2004
J. Hokfelt, O. Edfors, T. Maseng, “On the Theory and performance of Trellis Termination Methods of Turbo Codes”, IEEE Journal on Selected Areas in Communications, Vol. 19, No. 5, pp. 838-847, May 2001
P. Guinand, J. Lodge, “Trellis Termination for Turbo Encoders”, Procceedings 17th Biennial Symposium On Communications, Queen’s University, Kingston, Canada, pp. 389-392, May 30 – June 1, 1994
D. Divsalar, F. Pollara, “Multiple Turbo Codes for Deep-Space Communications”, TDA Progres Report 42-121, May 15, 1995
D. Divsalar, F. Pollara, “Turbo Codes for PCS Applications”, Proceedings of ICC 1995, Seattle, WA., pp54-59, June 1995
L. Trifina, D. Mătăsaru, „Interleavere pentru coduri turbo”, Ed. Tehnopress, Iași, 2013
C. Heegard, S.B. Wicker, „Turbo Coding”, Kluwer Academic Publishers, Dordrecht, the Netherlands, 1999
M. Kovaci, H. Baltă, M. Naforniță, „The performance of Interleavers used in Turbo Codes”, Proceedings of IEEE International Symposium SCS, ISSCS’ 2005, Iași, July, 14-15, 2005, pp. 363-366
Y. Ould-Cheikh-Mouhamedou, S. Crozier, P. Kabal, „Distance Measurement Method for Double Binay Turbo Codes and a New Interleaver Design for DVB-RCS”, Proceedings of the 4th annual IEEE Global Telecommunications Conference (Globecom 2004), Dallas, Texas, USA, Nov. 29-Dec. 3, 2004
B. Vucetic, J. Yuan, „Turbo Codes Principles and Applications”, The Kluwer international series in engineering and computer science, Second Printing, 2001
S. Benedetto, D. Divsalar, G. Montorsi and F. Pollara, “A soft-input soft-output maximum a posteriori (MAP) module to decode parallel and serial concatenated codes”, TDA Progress Report 42-127, Nov. 1996
S. Benedetto, D. Divsalar, G. Montorsy and F. Pollara, “A soft-input soft-output APP module for iterative decoding of concatenated codes”, IEEE Communications Letters, vol.1, no.1, pp. 22-24, Jan. 1997. [Online]. Available: http://dx.doi.org/10.1109/4234.552145
K. Amis, G. Sicot and D. Leroux, „Reduced complexity near-optimal iterative receiver for Wimax full-rate space-time code”, 5th International Symposium on Turbo Codes and Related Topics, Lausanne, pp. 102-106, 1-5 Sept. 2008. [Online]. Available: http://dx.doi.org/10.1109/TURBOCODING.2008.4658680
A. Savin and L. Trifina, ”Scheme combining a turbo code and a golden space-time block code with different interleavers”, IEEE International Symposium on Signals, Circuits and Systems ISSCS 2013, Iasi, Romania, pp. 37-40, 11-12 July 2013. [Online]. Available: http://dx.doi.org/10.1109/ISSCS.2013.6651189
W. Kock, A. Baier, „Optimum and sub-optimum detection of coded data disturbed by time-variyng inter-symbol interference”, IEEE Globecom, Dec. 1990, pp. 1679-1684
M. Andrei, L. Trifina, D. Tarniceriu (2013) – Influence of Trellis Termination Methods on Turbo Code Performances, 4th International Symposium On Electrical and Electronics Engineering (ISEEE 2013), 11-13 Oct. 2013, Galati, Romania
A. Matache, S. Dolinar, F. Pollara, “Stopping rules for turbo decoders,” JPL TMO Progress Report, vol. 42, pp.1–22, Aug. 2000.
A. Savin, L. Trifina L., M. Andrei, „Threshold Based Iteration Stopping Criterion for Turbo Codes and for Scheme Combining a Turbo Code and a Golden Space-Time Block Code”, Advances in Electrical and Computer Engineering(AECE), 2014.
S. Crozier, P. Guinand, J. Lodge and A. Hunt, “Costruction and performance of new tail-biting turbo codes”, 6th International Workshop Digital Signal Proccesing Tchniques for Space Applications, Nordwijk, The Netherlands, Sept. 1998
M. Breiling, S. Peeters and J. Huber, “Class of double terminating turbo code interleavers”, Electronics Letters, Vol. 35, No. 5 pp. 389-391, March 1999
Trifina, L., Balta, H.G. and Rusinaru, A., “Decreasing of the turbo MAP decoding time by using an iterations stopping criterion”, IEEE International Symposium on Signals, Circuits and Systems ISSCS 2005, Iasi, Romania, pp. 371–374, 14-15 July 2005
Ould-Cheikh-Mouhamedou, Y., Crozier, S., Gracie, K., Guinand, P., Kabal, P.: A Method for Lowering Turbo Code Error Flare using Correction Impulses and Repeated Decoding, Proc. 4th International Symposium on Turbo Codes & Related Topics, Munich, Germany (3-7 April 2006).
Ould-Cheikh-Mouhamedou, Y., Crozier, S.: Improving the Error Rate Performance of Turbo Codes using the Forced Symbol Method, IEEE Communications Letters, vol. 11, no. 7, pp. 616-618 (July 2007).
L. Trifina, D. Tărniceriu, M. Andrei, „Correction Impulse Method for Turbo Decoding over Middleton Class-A Impulsive Noise”, trimisă la Annals of telecommunications
Umehara, D., Yamaguchi, H., Morihiro, Y.: Turbo Decoding over Impulsive Noise Channel, in Proc. IEEE International Symposium on Power Line Communications, (2004).
Trifina, L., Tărniceriu, D., Baltă, H.: Threshold Determining for Minabsllr Stopping Criterion for Turbo Codes, Frequenz, vol. 67, no. 9-10, pp. 321-326 (Sept. 2013).
Umehara, D., Yamaguchi, H., Morihiro, Y.: Turbo Decoding over Impulsive Noise Channel, in Proc. IEEE International Symposium on Power Line Communications, (2004).
Umehara, D., Yamaguchi, H., Morihiro, Y.: Turbo Decoding in Impulsive Noise Environment, in Proc. IEEE Global Telecommunications Conference GOBECOM’04, , pp. 194-198 (29 Nov. – 3 Dec. 2004).
Baltă, H., Kovaci, M.: A Study on Turbo Decoding Iterative Algorithms, Scientific Bulletin of Politehnica University Timisoara – Transactions on Electronics and Communications, vol. 49(63), no. 2, pp. 33-37 (2004).
: Performance Analysis of Turbo Codes over Fading Channels with Additive White Gaussian and Impulsive Noise, PhD Thesis (May 2007).
Amis, K., Sicot, G. and Leroux, D., „Reduced complexity near-optimal iterative receiver for Wimax full-rate space-time code”, 5th International Symposium on Turbo Codes and Related Topics, , pp. 102-106, 1-5 September 2008.
B. Vucetic, J. Yuan, Space-Time Coding, John Wiley & Sons Ltd., , 2003
Madi G., Sacuto F., Vrigenau B., Agba B. L., Pousser Y., Vauzelle R. and Gagnon F., Impacts of impulsive noise from partial discharges on wireless systems perfromance : applications to MIMO precoders, EURASIP Journal on Wireless Communications and Networking, 2011
Y. Gong, X. Wang, R. He, F. Pang, “Performance of Space-Time Block Coding under Impulsive noise Enviroment”, Proc. IEEE of 2nd International Conference on Advanced Computer Control, vol. 4, pp. 445-448, March 2010
Wang Z. and Zhang D., “Progressive Switching Median Filter for the Removal of Impulse Noise from Highly Corrupted Images”, IEEE Transactions on Circuits and Systems-II: Analog and Digital Signal Processing, vol. 46, no. 1, pp. 78-80, Jan. 1999
M. Andrei (2013) – Influence of Impulsive Noise on Image Transmission using Space-Time Block Codes, Buletinul Institutului Politehnic din Iași, Tomul LIX(LXIII), Fasc. 4, 2013, ISSN 1223-8139
and Venetsanopoulus A.N., “Order statistics in digital image processing”, Proc. IEEE, vol. 80, no. 12, pp. 1893-1921, Dec. 1992
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Coduri Turbo (ID: 162125)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
