Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Aproximatia max-log MAP

Matematica


Aproximatia max-log MAP

Expresia(figura) (3.23) pentru receptorul(inregistratorul) MAP contine functii transcendente si astfel poate fi uneori prea costisitor pentru a fi implementat. Aproximatia maxlog MAP este deseori folosita in practica deoarece este destul de exacta in cazul in care SNR-ul nu este foarte scazut. In cazul acesta, sumele dintre numerator si numitor sunt dominate de catre termenul cel mai mare si Ecuatia (3.23) poate fi aproximata de:



??

Notam ca deciziile obtinute de receptorul maxlog MAP sunt intotdeauna identice cu cele obtinute de receptorul MLSE, deoarece acesta din urma cauta max bE B log( (p|b) P(b)) si decide secventa(succesiunea) coresprunzatoare b=B si astfel L(bk = 0|y) are intotdeauna acelasi semn ca si semnul obtinut de MLSE.

Daca inseram Ecuatia (3.24) pentru argumentul logaritmului, putem scrie acest lucru astfel:

??

Pentru un cod binar cu semnul diametral opus, metrica este data de:

??

Daca nici o informatie apriorica nu este disponibila, atat alimentarea LLR L …Ay*x cat si randamentul LLR L sunt liniare in valoare SNR σ . Acest factor scalar si liniar poate si omis fara nici o pierdere si este folost doar pentru calcularea posibilitatii absolute. Acest lucru in contrast cu MAP-ul exact, unde randamentul este o funcite nonlineara in SNR si chiar si hard decision value poate depinde de valoarea sa.

3.2 Coduri convolutionale

3.2.1 Structura generala si codificator

In contrast cu codurile “bloc”, cele convolutionale nu au o structura definita. Un flux de date continuu va fi codificat intr-un cuvant de cod continuu fluent.

??

Figura 3.4 Diagrama “bloc” pentru un codificator convolutional simplu

Chiar daca este acceptabil pentru ca motivele(proportiile) teoretice si practice sa lucreze cu seturi finite de da 16116e422q te si bucati de coduri, lungimea unui cuvant de cod este data de alte cerinte decat structura codului. Codificatorii convolutionali sunt liniari si sisteme temporal-invariante date de convolutia unui flux de date binar cu secvente generatoare(de generator). Ele pot fi implementate de registre de transfer. Figura 3.4 arata un exemplu simplu al unui astfel de codificator cu un coeficient Rc = ½ si memorie m=2.

Fiind dat un input bit stream …., un codificator convolutional cu coeficientul de cod Rc = 1/n

Produce n fluxuri de date paralele.??..., v=1,….,n ce poate fi compus intr-un cuvant de cod serial inainte de transmisie. Poate fi scris astfel:

???

unde bi = 0fόr i < 0 .suma trebuie inteleasa ca suma modulo 2. Aici, gv, k , (v=1,…n; k=0,…,m) sunt generatoare care pot si scrise si ca generatoare polinomiale

??

unde D este o variabila formala care poate fi interpretata ca o “intarziere”. In exemplul figurii 3.4 avem:

??

unde am introdus notatia vectorului binar si notatia octala pnetru generator.

Este deseori mai convenabil sa lucram cu serii de puteri formale in loc de secvente. Acest lucru este similar formalismului procesarii indicatorului, unde putem schimba domeniul de frecventa pentru a inlocui convolutiunile prin multiplicare. Definim seriile de putere:

??

pentru cuvantul de data:

??

pentru cuvantul de cod. Apoi poate fi descris de:

??

sau in notatie vectoriala:

??

care este:

??

Codurile convolutionale sunt coduri liniare. Astfel distanta Hamming a codului este greutatea minima. Acest lucru este numit “distanta libera” si va fi notata dfree.

Diagrame incrucisate

Pentru orice timp instant i, se poate caracteriza etapa de codificare din starea actuala s s1,…,sm), care este continutul registrului de transef (s1 este cel mai recent bit care a fost mutat in registru) si bitul actual de alimentare, bi. Acest lucru defineste in mod unic urmatoare stare s = bi, s1,…,sm- si bitul de randament codificat c1i, c2i…cni. Pentru codul dat de figura 3.4, exista 4 stari posibile (S1S2) E si opt transmisii posibile de la o etapa la urmatoarea, ca in figura 3.5. Pentru fiecare transmisie, xista un bit de alimentare bi si o pereche de biti de randament (c1i, c2i) notati bi/c1i c2i la fiecare linie de transmisie din figura. Acum consideram un anumit numar de astfel de transmisii. Ele pot

??

Figura 3.5 Transmisii de stari pentru (1+D2, D+D2) codul convolutional

??

Figura 3.6 Diagrama incrucisata pentru (1+D2, D+D2) codul convolutional

fi redate prin anexarea succesiva a transmisiilor ca cele din figura 3.6. Aceasta se numeste o diagrama incrucisata. Fiind data de o stare initiala definita a registrului de transef, fiecare cuvant cod este caracterizat de secventele unor anumite transmisi. Numim acest lucru o traiectorie corespunzatoare cuvantului. Data 1000 0111 0100 si cuvantului cod 1101 1100 00 11 10 01 10 00 01 11 este redata de liniille ingrosate pentru tranzitiile din diagrama. In exemplu, ultimul m=2 biti sunt 0, iar, ca si consecinta, stadiul final din diagrama este la stadiul zero. De obicei se incepe si dse termina cu stadiul zero deoarce ajuta decodorul. Acest lucru poate fi usor de realizat anexand nu zerouri – asa numitii “biti de coada” – fluxului de biti folositori.

Diagrama de stare

Codificatorul se poate caracteriza si dupa stadii si intrari, si de transmisiile corespondente ca in partea (a) a figurii 3.7 pentru codul sub observatie. Acest lucru este cunoscut ca un automat Mealy. Pentru a evalua distanta libera a unui cod, este convenabila taierea diagramei automat ca in partea (b) a figurii 3.7. Fiecare traiectorie (cuvant cod) care incepe din stadiul zero si revine la aceasta stare poate fi vizualizata e o secventa de stari care incepe din stadiul zero la stanga si se termina in stadiul zero la dreapta. Ne uitam la bitii codati in etichetarea bi/c1i c2i si numaram bitii care au valoarea 1. aceasta este doar distanta Hamming intre cuvantul cod corespunzator si acelei secvente si cuvantul cod zero.

Pentru codul din exemplul nostru, distanta minima corespunde succesiunii de tranzitii 00->10->01->00 are distanta de d=6. toate celelalte succesiuni include noduri ce produc distante mai mari.

De la diagrama de stare putem gasi si asa-numitul coeficient de eroare cd. Acesti coeficienti de eroare unt coeficienti multiplicativi care leaga probabilitatea Pd a unei posibilitati de eroare de distanta d de probabilitatea de eroare de bit corespunzatoare. Pentru a obtine cd, trebuie sa numaram toti bitii de data nenuli ai traiectoriilor de eroare de distanta d pana la cuvantul cod zero. Folosind P(A U A ) ≤ P(A ) + P(A ), obtinem legatura de uniune

??

pentru probabilitatea erorii de bit. Coeficientii cd pentru majoritatea codurilor relevante pot fi gasiti in carti. Probabilitatea erorii posibile Pd, spre exemplu, pentru semnalarea diametral opusa este data e Ecuatia (3.2) pentru canalul AWGN si de Ecuatia (3.4) pentru canalul Rayleigh.

Coduri catastrofale

Diagrama de stare ne permite de asemenea sa gasim o categorie de codificatori numita codificatori catastrofali, ce trebuie exclusa deoarece are o proprietate nedorita de propagare a erorilor: daca exista un nod inchis in diagrama de stare, unde toti bitii de cod c1; c2 sunt egali cu zero dar cel putin un bit de date bi este egal cu 1, atunci exista o traiectorie de lungime infinita cu un numar infinit de 1 in date, dar cu un singur numar finit de 1 in cuvantul cod. Ca si consecinta, un numar finit de erori de bit de canal poate duce la un numar infinit de erori in date, ceea ce este desigur o proprietate nedorita. Un exemplu pentru un codificator catastrofal este cel caracterizat de generatoare (3, 6)oct = (1+D2, D+D2), si este redat in figura 3.8. Odata ajunsa in stadiul 11, secventa uni-alimentare va fi codificata la cuvantul cod zero.

Coduri convolutionale perforate

Pana acum am luat in considerare numai codurile convolutionale de coeficient Rc = 1/n. Exista 2 posibilitatie pentru a obtine coduri Rc = k/n. Metoda clasica este folosirea a k registre de transfer paralele si combinarea randamentelor acestora. Insa, acest lucru face implementarea mult mai complicata. O metoda mai simpla si flexibila, numita perforare, este adesea preferata in sistemul de comunicatii practic. O explicam prin exemplul unui cod Rc = ½ ce poate fi perforat pentru a obtine Rc = 2/3. Codificatorul produce 2 fluxuri paralele codificate de date i si i=0.

Primul flux de date va ramane neschimbat. Din celalalt flux, fiecare bit secund va fi respins, insa doar bitii cu timpul index i egal vor fi transmisi. In locul codului original c c c c c c c c c codul perforat va fi transmis c c c c c c c

Aici am indicat bitii perforati de La receptor, positia de perforare trebuie stiuta. Receptorul maleabil (ex. MLSE) are valori metrice …ca si intrare ce corespund bitilor codificati Valoarea absoluta a este un indicator pentru autenticitatea bitului. Bitii perforati pot fi priviti ca biti cu autenticitate zero. Astfel, receptorul trebuie sa adauge biti fictivi la pozitia perfirata a cuvantului cod si sa ii atribuie valorii metrice

Codificatori convolutionali sistematici recursivi

Codificatorii convolutionali sistematici recursivi (RSC) au devenit populari in contextul codurilor paralele   in serie si al turbo decodarii (vezi mai jos). Pentru orice codificatori convolutional nonsistematic (NSC) Rc = 1/n, putem gasi un codificator echivalent RSC care produce acelasi cod (acelasi set de cuvinte cod) cu o relatie diferita intre cuvantul data si cuvantul cod. Poate fi construit in asa fel incat primul dintre n fluxurile de bit paralele codificate ale cuvantului cod sistematic, este identic cu cuvantul data.

Spre exemplu, consideram Rc = cod convolutional al figurii 3.4 ce poate fi scris in notatie de serii de putere compacte

??

unde secventele bitului sunt legate de …… .

Pentru un cod convolutional Rc = 1/n, avem codificatorul NSC dat de vectorul generator polinomial.

??

Echivalentul codificatorului RSC este dat de vectorul generator:

??

Secventa bitului b(D) codificata de g(D) rezulta acelasi cuvant cod ca si secventa bitului b(D) – g1(D)b(D) codificat de g(D) = g1 -1(D)g(D), c(D) = b(D)g(D) = b(D)g(D).

Un decodor MLSE va gasi cel mai probabil cuvant cod care este in mod unic legat de un cuvant data corespunzand unui codificator NSC si un alt cuvant data corespunzand unui codificator RSC. Ca si consecinta, se poate folosi acelasi decodor pentru amandoua pentru a lega apoi secventele. A se lua aminte insa ca acest lucru este valabil doar pentru un decodor care ia decizii despre secvente. Acest lucru nu este valabil pentru un decodor ca MAP.

3.2.2 MLSE pentru codurile convolutionale: algoritmul Viterbi

Sa consideram un cod convolutional cu o memorie m si o secventa finita de biti de de date de intrare K Indicam bitii codati ca ci. Presupunem ca diagrama corespunzatoare incepe si se termina in stadiul zero. In notatia noastra, bitii de coada sunt inclusi in deci sunt numai biti K – m care intradevar poarta informatia.

Desi urmatoarea discutie nu este restrictionata acelui caz, mai intai consideram cazul concret de semnal antipodal (BPSK), adica, simbolurile de transmisie xi = (-1)c1 E scirs ca un vector x si un foarte discret canal AWGN dat de

x = y + n,

unde y este vectorul simbolurilor de receptie iar n este vectorul AWGN real cu ni componente de variatie.

??

Aici, am normalizat zgomotul simbolului energiei Es. Stim din discutia din subcategoria 1.3.2 ca, fiind dat un vector de receptie fix y, cea mai probabila secvente de transmisie x in cazul acesta este cel ce maximizeaza corelatia metrica data de produsul scalar.

??

Pentru un cod conventional Rc = 1/n contine nK biti codificati, si metirca poate fi scirsa ca o suma

??

a cresterii metrice

??

corespunzand masurilor de timp k=1,….., K ale diagramei incrucisate. Aici xk este vectorul n simbolurilor xi ce corespund bitilor codificati pentru numarul masurilor de timp k, unde bitul bk este codificat si yk este vectorul vectorului de receptie corespunzator.

Acum, cerinta este gasirea vectorului x ce maximizeaza metirca data de Ecuatia (3.31), in felul acesta exploatand structura speciala de incrucisare a codului convolutional. Notam ca urmatoarea prealucrare este destul de generala si nu este in nici un caz restrictionata de cazul special al metricii AWGN data de Ecuatia (3.30). Bunaoara, orice metrica data de expresii ca Ecuatiile (3.19-3.21) poate fi scrisa ca Ecuatia (3.31). Astfel, informatia apriorica despre biti poate, de asemena, fi inclusa intr-un mod foarte simplu de expresia prezentata in subcategoria 3.1.5, vezi si (Hagenauer 1995).

Pentru o lungime rezonabila a secventei K, este imposibila gasirea vectorului x, prin cautari epuizante, deoarece acest lucru ar solicita un efort numeric care este proportional cu 2K. dar, datorita structurii de incrucisare a codurilor convolutionale, acest lucru nu este necesar. Fie doua cuvinte cod x si x’ cu traiectorii corespondente ce se imbina intr-o anumita masura de timp k intr-o stare normala Sk (vezi figura 3.11). Presupunem ca pentru ambele triaectorii metricile acumulate, adica suma tuturor cresterilor metrice pana la acea masura de timp

??

pentru x si

??

pentru x’ au fost calculate. Pentru ca cele 2 traiectorii se imbina in masura de timp k si vor fi identice in viitor,

??

este valabila si putem deja lua o decizie intre amandoua traiectoriile. Presupunem ca ₯ .x) - ₯μ(x) > 0. Atunci, x’ este mult mai probabil decat x, si il putem elimina pe x din orice alte consideratii. Acest lucru ne permite sa separam traiectoriile neverosimile inainte de decizia finala si astfel un efort ce creste odata cu timpul poate fi evitat.

Algoritmul care face acest lucru este algoritmul Viterbi si functioneaza astfel: incepand din starea initiala, cresterile metrice … pentru toate tranzitiile intre stari Sk si Sk sunt calculate recursiv si adaugate metricilor acumulate in timp ∑k-1. apoi, pentru cele doua tranzitii cu aceeasi stare noua Sk, valorile ∑k-1+ … sunt comparate. Cea mai mare valoare va servi drept noua metrica acumulata ∑k = ∑k-1+ …, si cealalta va fi eliminata. In plus, va fi depozitat un indicator ce arata de la Sk la starea precedenta corespunzatoare celei mai mari valori metrice. Astfel, mergand de la stanga la dreapta diagramei incrucisate, pentru fiecare timp k instant pentru toate starile posibile, algoritmul urmeaza urmatorii pasi:

Calculeaza cresterile metrice … pentru toate tranzitiile 2*2m intre toate starile 2m Sk si toate starile 2m Sk si le aduna cu valorile metrice acumulate 2m ∑k-1 corespondente cu starile Sk .

Pentru starile Sk compara valorile ∑k-1+ … pentru cele doua tranzitii terminate ;a Sk si o selecteaza pe cea mai mare stabilind ∑k = ∑k-1+ …, care este metrica acumulata a starii.

Pune un indicator starii Sk care este cel mai probabil starea precedenta pentru acea transmisie.

Apoi, cand toate calculele si cerintele au fost indeplinite, incepand din capatul diagramei, urmarim indicatorii care ne arata cele mai probabile stari precedente. Aceasta procedura ne duce catre cea mai posibila traiectorie din diagrama.

Randamentul maleabil al algoritmului Viterbi (SOVA)

Randamentul maleabil al algoritmului Viterbi (SOVA) este o modificare realtiv simpla a algoritmului Viterbi ce permite obtinerea in plus unei informatii viabile pentru bitii hard decision MLSE.

Dupa constructie, algoritmul Viterbi este un estimator(calculator) de secvente, nu de biti. Astfel, nu ofera informatii viabile despre bitii care corespund unei secvente. Totusi, ne poate da informatii despre valabilitatea deciziei dintre doua secvente. Fie x si x’ doua secvente de transmisie posibile. Atunci, potrivit Ecuatiei (3.18), probabilitatea conditionata ca aceasta secventa a fost transmisa fiind dat fiind ca y a fost primit este

??

pentru x si

??

pentru x’. acum presupunem ca x’ secventa maxima probabila obtinuta de algoritmul Viterbi. Daca am putea fi siguri ca una dintre acele doua succesiuni x ssau x’ este cea corecta (si nu oricare alta), atunci ……. Si LLR-ul unei decizii corecte va fi dar de

??

adica, diferenta metrica este o masura a viabilitatii deciziei intre cele doua succesiuni. Notam ca acest LLR este conditionat de faptul ca una dintre cele traiectorii este cea corecta.

Acum luam in considerare un bit de data bk, ocupand o pozitie anume in fluxul de biti corespunzand secventei ML x’ estimata de Algoritmul Viterbi6. Acum, scopul este sa obtinem informatii despre valabilitatea bitului uitandu-ne la valabilitatea deciziei dintre x’ si alte secvente xβ ale caror traiectorii se imbina cu traiectoriile ML la o anumita stare Sk. Orice decizie in favoarea x’ in locul secventei alternative xβ cu un bit bkβ este relevanta doar pentru acea decizie a bitului daca bkβ nu este egal cu bk. Astfel, ne putem restrictiona considerarea catre secventele relevante xβ. Fiecare dintre traiectoriile alternative relevante etichetate de catre indexul β este o sursa de posibile decizii eronate in favoarea bk decat in favoarea bkβ. Definim o eroare de bit intamplatoare ekβ ce ia valoarea ekβ=1 pentru o decizie eronata in favoarea bk in locul lui bkβ si ekβ=0 altminteri. Scriem ….. pentru L-valori ale erorilor de bit. Prin construcite, este dat de

??

Notam ca ….. este veridic deoarece bk apartine traiectoriei de maxima probabilitate care este per definitionem mult mai posibila decat oricare alta.

Este important sa retinem ca toate porobabilitatile care corespund sunt probabilitati condinionale pentru ca in orice caz este sigur ca una dintre cele doua secvente x’ sau xβ este cea corecta. In plus, luam in considerare numai traiectoriile care se imbina in mod direct cu traiectoria ML. Prin urmare, toate traiectoriile care sunt inlaturate dupa compararea lor cu o alta traiectorie in afara de ML nu sunt luate in calcul. Este posibil(dar nu foarte mult in cele mai multe cazuri) ca traiectora corecta este printre aceste traiectorii neluate in calcul. Acest eveniment rar a fost exclus din aproximatiile noastre. Presupunem mai departe ca erorile intamplatoare de bit ekβ sunt independente din punct de vedere statistic. Toate erorile intamplatoare de bit ekβ rezulta impreuna o eroare de bit ek care este se presupune ca este data de suma modulo 2.

??

Scriem mai departe Lk=L(ek = 0) pentru valoare L a rezultatului erorii de bit. Folosind Ecuatia (3.14), valoare L pentru acest rezultat este aproximativ data de

??

unde am folosit Ecuatia (3.32). Este intuitiv simplu sa intelegem ca acest lucru este o informatie rezonabil valabila despre bitul bk. Luam in considerare toate secventele care sunt relevante pentru deciziile pentru acest bit. Apoi, conform regulii intuitiv clare cum ca un lant este la fel de puternic ca si veriga sa slaba, atribuim cea mai mica dintre acele exactitati ale secventei ca fiind ale bitului.

Acum, in algoritmul Viterbi, informatia veridica despre traiectoriile imbinate trebuie sa fie stocata in fiecare stare in adaugare la metrica acumulata si la indiatorul in cea mai probabila stare precedenta. Apoi, valabilitatea bitilor traiectoriei ML vor fi calculati. In primul rand, vor fi redusi la zero cu + infinit, adica, cu un numar foarte mare. Apoi, pentru fiecare decizie relevanta intre doau traiectorii, aceasta valoare va fi actualizata, adica, vechea valabilitate va fi inlocuita cu ea a deciziei traiectoriei daca cea de pe urma este mai mica. Pentru a face acest lucru, fiecare traiectorie corespunzand oricarei secvente xβ care a fost inlaturata in favoarea secventei ML x’ trebuie sa fie urmarita pana in punctul in care cele doua traiectorii se imbina.

In final, notam ca solvabilitatea informatiei poate fi atribuita simbolurilor de transmisie ….. ( ex. Semnele corespunzatoare bititlor cuvantului cod) cat si bitului de data.

Decodarea MAP pentru coduri convolutionale: algoritmul BCJR

Pentru a obtine informatia LLR despre biti decat despre secvente, receptorul MAP al Ecuatiei (3.23) trebuie aplicat in locul celui MLSE. Aceasta ecuatie nu poate fi aplicata direct deoarece ar cere o cautare epuizanta printre toate cuvintele cod. Pentru un cod convolutional, aceasta cautare pentru MLSE poate fi evitata in algoritmul Viterbi prin folosirea structurii incurcisate. Pentru receptorul MAP, cautarea epuizanta poate fi evitata prin folosirea algoritmului BCJR (Bahl, Cocke, Jelinek, Raviv). In constrast cu SOVA, ne spune valoare exacta a LLR pentru un bit, nu doar una aproximata. Pretul aceste informatii exacte este complexitatea mai mare. Algoritmul BCJR este cunoscut de mult timp, dar a devenit popular nu inainte de raspandita aplicatie in turbo decodare.

Fie un vector de biti de data b=…… codificat intr-un cuvant cod c si transmis cu simboluri Xk. Fiind data o secventa simbol de receptie y=……vrem sa calculam LLR-ul pentru data de bit bk data ca

??

Aici, bk0 este setul pentru acei vectori b…….pentru care bk=0 si …..este setul pentru cei care bk=1. presupunem ca bitul bk este codificat in timpul tranzitiei dintre starile Sk-1 si Sk ale unei incurcisari. Pentru orice timp instant k, exista 2m transmisii corespondente cu bk =0 si 2m transmisii corespondente cu bk =1. fiecare termen de probabilitate P(b|y) in numaratorul sau numitorul Ecuatiei (3.33) poate fi scirs probabilitatea conditionala ……… pentru transmisia dintre doua stari Sk-1 si Sk. In timp ce numitorul din ……. Se anuleaza in Ecuatia (3.33), putem considera funcita de probabilitate si densitate alaturata ……in loc de probabilitatea conditionala … Descompunem acum vectorul simbol de receptie in trei parti: scirem … pentru acele simboluri de receptie corespunzatoare instantelor de timp anterioare transimisei dintre starile Sk-1 si Sk. Scriem yk pentru acele simboluri de receptie corespunzatoare instantelor de timp la transmisia dintre starile Sk-1 si Sk. Si cirem yk+ pentru acele simboluri de receptie corespunzatoare instantelor de timp ulterioare transmisiilor dintre starile Sk-1 si Sk. Astfel, vectorul de receptie poate fi scirs ca

??

(vezi figura 3.12), si probabilitatea densitatii poate fi scirsa ca

??

Daca nu apar confuzii, inlaturam virculele dintre vectori. Folosing definitia probabilitatii conditionale, modificam cel de-al doilea membru al ecuatiei si obtinem

??

si in alta etapa,

??

Acum presupunem

??

si

??

care sunt asemanatoare proportiilor unui lant Markov. Prima ecuatie inseamna ca presupunem ca variabila intamplatoare yk+ corespunzatoare simbolului de receptie dupa starea Sk depinde de acea stare, dar este independenta de starea anterioara Sk-1 si orice alt simbol de receptie anterior.corespunzator lui y si yk-. A doua ecuatie inseamna ca presupunem ca variabila intamplatoare yk corespunzatoare simbolurilor de receptie pentru tranzitia din starea Sk-1 la Sk nu depinde de simboluri de receptie anterioare ce corespund lui yk-. Pentru o secventa de receptie fixa data y, definim

??

Si scriem

??

Densitatile de probabilitate ………. pentru transimisa de la starea Sk-1 la Sk poate fi obtinuta cu ajutorul valori metrice…. calculata de la yk. Ca si in sectiunea 3.1.5, pentru canalul AWGN cu variatia de sunet … normalizata si transmisie bipolara, avem pur si simplu

??

unde xk este simbolul de transmisie si P(Xk) este probabilitatea apriorica corespunzatoare acelei transmisii. Valorile…. si …. trebuie sa calculate folosind relatiile recursive. Declaram ca:

Afirmatia 3.2.1 (Recursia progresiv-reversibila) Pentru …….. definite de Ecuatia (3.34). urmatoarele doau relatii recursive

??

si

??

viabile.

Dovada. Recursia progresiva:

???

Folosind proprietatea Markov ……………, obtinem Ecuatia (3.35)

Recursia reversibila:

??

Folosind ……………. Si proprietatea Markov ……………, obtinem Ecuatia (3.36).

Acum algoritmul BCJR procedeaza dupa cum urmeaza: initializeaza starea initiala si finala a incrucisarii ……… si …….. si calculeaza valorile …. conform recursiei progresive a Ecuatiei (3.35) de la dreapta la stanga incrucisarii. Apoi, LLR-urile pentru fiecare tranzitie in parte pot fi calculate ca

??

adica,

??

In acasta notatie, intelegem suma tuturor ………. ca suma tuturor tranzitiilor de la Sk-1 la Sk cu bk = 0 si suma tutuor ….. ca suma tuturor tranzitiilor de la Sk-1 la Sk cu bk=1.

Coduri convolutionale paralel concatenate si turbo decodarea

In ultimii zece ani, mari succese au fost obtinute in atenta abordare a limitei teoretice a codificarii canalelor. Codurile care au fost folosite pentru acest lucru sunt numite turbo coduri. Mai precis, trebuie facuta foarte clar diferenta dintre cod si metoda de decodare. Primul turbo cod a fost un cod convolutional concatenat paralel (PCCC). Concatenarea paralela de asemena, poate fi facuta si cu coduri “bloc”. Asemenea, concatenarea seriala este posibila. Noua metoda de decodare ce a fost aplicata pe toate aceste coduri merita numele de turbo decodor pentru ca exista un schimb de informatie iterativ (repetabil) exterior si aprioric intre decodoare si componentele de cod.

Pentru a explica metoda, luam in considerare schema clasica cu concatenatie paralela a doua coduri RSC cu coeficient Rc= ½ ca in figura 3.13. Fluxul de biti de date este codificat in paralel de doi codificatori RSC (ce pot si identici). Partea comuna sistematica xs a ambelor coduri va fi transmisa o singura data. Astfel, cuvantul cod de randament alcatuit din trei vectori paraleli: vectorul simbol sistematic x, si cei doi vectori PC simbol nonsistematici xp1 si xp2. intrarea pentru al doilea codificator RSC pentru verificarea paritatii (RSC-PC2) este interconectate de o pseudo-intamplatoare permutatie П inainte de codificare. Codul rezultant Rc= 1/3 poate fi perforat in simbolurile nonsistematice pentru a obtine coeficienti de cod mai mari. Coeficientii de cod mai scazuti pot fi obtinuti prin adaugarea RSC-PC-urilor, impreuna cu interconectoare. Aceasta setare poate fi la fel de bine privita ca o concatenare paralela a primului cod RSC de coeficient Rc= ½ cu un co Rc=1 recursiv nonsistematic care produce xp2.


Document Info


Accesari: 1854
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )