28.11.2015 Views

PR6_-_Turbo_kod

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Sveučilište J. J. Strossmayera u Osijeku<br />

Elektrotehnički fakultet<br />

Kneza Trpimira 2b, 31 000 OSIJEK<br />

Tel. 031 224 600 - Fax. 031 224 605<br />

http://www.etfos.hr<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

Kodovi i <strong>kod</strong>iranje<br />

6. <strong>Turbo</strong> <strong>kod</strong><br />

Akademska godina 2011./2012.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 1/50


De<strong>kod</strong>er s tvrdim i mekim odlučivanjem<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• U cilju realizacije pouzdanog <strong>kod</strong>nog<br />

sustava važnu ulogu ima odabrana mjera<br />

sličnosti (udaljenosti) između dviju <strong>kod</strong>nih<br />

riječi koja se naziva udaljenost <strong>kod</strong>a.<br />

• Dvije važne mjere sličnosti koje se koriste<br />

za određivanje udaljenosti između dviju<br />

<strong>kod</strong>nih riječi su Hammingova i Euklidska<br />

udaljenost <strong>kod</strong>a.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 2/50


De<strong>kod</strong>er s tvrdim odlučivanjem<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Primjena neke od navedenih mjera <strong>kod</strong>a ovisi o odabranom<br />

<strong>kod</strong>nom sustavu, zahtijevanoj vjerojatnosti pogreške bita, tipu<br />

prijenosnog kanala i vrsti demodulatora.<br />

• U praksi se Hammingova udaljenost <strong>kod</strong>a koristi u slučaju<br />

prijenosa binarnim simetričnim kanalom (BSC, engl. binary<br />

simmetric channel) u kojem se svaki simbol promatra zasebno u<br />

odnosu na ostale simbole.<br />

• Kod donošenja odluke o primljenom simbolu koristi se tzv.<br />

većinska odluka što je potpuno jednako računanju Hammingove<br />

udaljenosti između primljene riječi i svih mogućih poslanih<br />

<strong>kod</strong>nih riječi.<br />

• Ovakav tip de<strong>kod</strong>era naziva se de<strong>kod</strong>er s tvrdim odlučivanjem<br />

(engl. hard-decision decoder).<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 3/50


BSC i AWGN kanal<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Važno je napomenuti da su <strong>kod</strong> prijamnika koji koristi<br />

de<strong>kod</strong>er s tvrdim odlučivanjem demodulator i de<strong>kod</strong>er dva<br />

odvojena bloka.<br />

• Prethodno navedeno svojstvo binarnog simetričnog kanala<br />

svrstava ga u kategoriju diskretnih kanala bez memorije<br />

(engl. discrete memoryless channels).<br />

• Navedena definicija za BSC može se proširiti ako se u<br />

razmatranje uključi kanal s aditivnim bijelim Gaussovim<br />

šumom AWGN (engl. Additive White Gaussian Noise).<br />

• Kada se prijenos obavlja preko AWGN kanala, tada se kao<br />

metrika uzima Euklidska udaljenost:<br />

n<br />

∑<br />

j=<br />

1<br />

( r j<br />

− c′<br />

j<br />

) 2 .<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 4/50


De<strong>kod</strong>er s mekim odlučivanjem<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Odluka o primljenom simbolu provodi se uzimajući u<br />

razmatranje cijelu <strong>kod</strong>iranu poruku.<br />

• U ovom slučaju de<strong>kod</strong>er se naziva de<strong>kod</strong>er s mekim<br />

odlučivanjem (engl. soft-decision decoder).<br />

• Demodulator i de<strong>kod</strong>er u prijamniku nisu dva odvojena<br />

bloka, nego jedan jedinstveni blok.<br />

• Na ovaj se način obavlja izmjena informacija između<br />

demodulatora i de<strong>kod</strong>era s ciljem smanjenja<br />

vjerojatnosti pogreške bita.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 5/50


De<strong>kod</strong>er s mekim odlučivanjem<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Vjerojatnost pogrešne odluke o primljenom bitu<br />

manja je <strong>kod</strong> de<strong>kod</strong>era s mekim odlučivanjem u<br />

odnosu na de<strong>kod</strong>er koji koristi tvrdo<br />

odlučivanje.<br />

• Složenost sklopovske izvedbe de<strong>kod</strong>era s<br />

mekim odlučivanjem nešto je veća u odnosu na<br />

de<strong>kod</strong>er s tvrdim odlučivanjem.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 6/50


Primjer:<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Pretpostavimo prijenos binarne informacije<br />

preko AWGN kanala koristeći sljedeći signalni<br />

skup:<br />

– kada izvorište generira „0“, tada se odašilju tri<br />

jednaka signala s pozitivnim polaritetom i<br />

jediničnim iznosom energije (+1, +1, +1),<br />

– za slučaj kada izvorište generira " 1" odašilju se tri<br />

jednaka signala s negativnim polaritetom i<br />

jediničnim iznosom energije (-1, -1, -1).<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 7/50


Primjer:<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Za slučaj prijamnika s de<strong>kod</strong>erom, koji koristi tvrdo<br />

odlučivanje, svaki se od signalnih uzoraka pojedinačno<br />

demodulira, a potom se, ako većina od primljenih<br />

uzoraka ima pozitivan polaritet, na izlazu de<strong>kod</strong>era<br />

pojavljuje "0".<br />

• U suprotnom se na izlazu de<strong>kod</strong>era pojavljuje "1".<br />

• Navedeni postupak, tzv. većinska odluka, identičan je<br />

određivanju Hammingove udaljenosti između<br />

primljenih signalnih uzoraka i svih mogućih signalnih<br />

sljedova koji se mogu pojaviti na izlazu predajnika.<br />

• Uzima onaj <strong>kod</strong>ni slijed koji ima najmanju<br />

Hammingovu udaljenost.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 8/50


Primjer:<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Drugi tip de<strong>kod</strong>era (meko odlučivanje), nakon što je<br />

provedena demodulacija, provodi odluku između + + +<br />

i - - - na osnovu Euklidske udaljenosti:<br />

• Pretpostavimo da su odaslani i primljeni signali x =<br />

(+1, +1, +1) odnosno y = (+0.8, -0.1, -0.2).<br />

• Pojedinačna demodulacija signalnih uzoraka pokazuje<br />

da je, u primljenom signalu, većina signalnih uzoraka<br />

negativnog polariteta, što nas navodi na (pogrešan)<br />

zaključak da je odaslani simbol "1".<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 9/50


Primjer:<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Također, isti rezultat dobivamo računanjem<br />

Hammingove udaljenosti između primljenog<br />

signalnog slijeda i svih mogućih poslanih<br />

signalnih slijedova, tj. (+,-,-),(+,+,+) = 2 i<br />

(+,-,-),(-,-,-) = 1.<br />

• Iz ovoga zaključujemo da je odaslani simbol 1.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 10/50


Primjer:<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• S druge strane, kvadratična Euklidska udaljenost između<br />

primljenih i poslanih signala je:<br />

• Što nas navodi na (ispravnu) odluku, tj. odaslan je simbol<br />

"0".<br />

• Zaključujemo da de<strong>kod</strong>er s tvrdim odlučivanjem donosi<br />

pogrešnu odluku zato što nije u razmatranje uključio<br />

činjenicu da demodulacija drugog i trećeg signalnog<br />

uzorka nije pouzdana jer su njihove vrijednosti bliske<br />

nuli.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 11/50


TURBO KOD<br />

T<br />

E F<br />

O<br />

• Patentirao ih je Claude Berrou-a 1992.g.<br />

• Nude velika poboljšanja pri usporedbi s<br />

ostalim <strong>kod</strong>ovima. Omogućavaju rad vrlo<br />

blizu Shannonovog ograničenja.<br />

Zavod za komunikacije<br />

• Koriste ulančavanje konvolucijskih <strong>kod</strong>ova<br />

za postizanje boljih performansi <strong>kod</strong>iranja<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 12/50


Ulančavanje <strong>kod</strong>ova<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Ulančavanje je spajanje dvije <strong>kod</strong>ne riječi c 1 i c 2 u jednu<br />

<strong>kod</strong>nu riječ tako da se novi niz sastoji od elemenata jednog i<br />

drugog koji su poredani zadanim redoslijedom.<br />

• Ako je c 1 = {000; 001; 110; 111} i c 2 = {000; 100; 011; 111}.<br />

• Tada je c_ = {000000; 001100; 110011; 111111}.<br />

• Kombinacija dvaju <strong>kod</strong>ova c 1 i c 2 je niz c 1 c 2 koji se sastoji od<br />

<strong>kod</strong>nih riječi nastalih ulančanim vezanjem svih <strong>kod</strong>nih riječi<br />

c 1 sa svim <strong>kod</strong>nim riječima c 2 .<br />

• Veličina c 1<br />

i c 2<br />

ne moraju biti jednake<br />

• Npr. ako je c 1 = {00; 01; 10; 11} i c 2 = {00; 11}.<br />

Tada je c_ = {0000; 0011; 0100; 0111; 1000; 1011; 1100;<br />

1111}.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 13/50


Ulančavanje <strong>kod</strong>ova<br />

T<br />

E F<br />

O<br />

• Ulančani <strong>kod</strong>ovi se sastoje od dva odvojena <strong>kod</strong>a koji se<br />

međusobno povezuju da bi tvorili jači <strong>kod</strong>. Mogu se<br />

povezivati serijski ili paralelno.<br />

• Pr. Serijsko ulančavanje<br />

Zavod za komunikacije<br />

<strong>kod</strong>er 1<br />

<strong>kod</strong>er 2<br />

F 1<br />

=k 1<br />

/n 1<br />

F 2<br />

=k 2<br />

/n 2<br />

modulator<br />

kanal<br />

de<strong>kod</strong>er 1<br />

de<strong>kod</strong>er 2<br />

demodulator<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 14/50


Serijsko ulančavanje <strong>kod</strong>ova<br />

T<br />

E F<br />

O<br />

• Ukupna <strong>kod</strong>na brzina <strong>kod</strong> serijskog<br />

ulančavanja iznosi:<br />

• što je jednako umnošku <strong>kod</strong>nih brzina ta dva<br />

<strong>kod</strong>era.<br />

• Općenito:<br />

F tot<br />

=<br />

Zavod za komunikacije<br />

k1k<br />

n n<br />

1<br />

2<br />

2<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 15/50


Serijsko ulančavanje <strong>kod</strong>ova<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Krajnji <strong>kod</strong>er prije kanala se naziva unutarnji <strong>kod</strong>er.<br />

Izlazni kompozitni <strong>kod</strong> je složeniji nego bilo koji <strong>kod</strong><br />

posebno.<br />

• Međutim, takav <strong>kod</strong> je jednostavan za de<strong>kod</strong>iranje:<br />

jednostavno primijenimo svaku komponentu de<strong>kod</strong>era<br />

prema redoslijedu, od unutarnjeg prema vanjskom.<br />

• Takva jednostavna shema ima nekoliko nedostataka,<br />

najznačajniji od njih se naziva “širenje pogreške”.<br />

• Ako se dogodi pogreška u <strong>kod</strong>noj riječi, ona rezultira<br />

određenim brojem pogrešnih bitova. Kada pogreška<br />

prijeđe na sljedeći de<strong>kod</strong>er, može se dogoditi da ne bude<br />

ispravljena.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 16/50


Serijsko ulančavanje <strong>kod</strong>ova<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Serijski ulančani <strong>kod</strong>ovi još se nazivaju produktni<br />

<strong>kod</strong>ovi, jer je serijsko ulančavanje u biti multiplikativan<br />

proces.<br />

• Minimalna <strong>kod</strong>na<br />

distanca iznosi:<br />

d = d ×<br />

min<br />

1<br />

min<br />

d<br />

2<br />

min<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 17/50


Paralelno ulančavanje <strong>kod</strong>ova<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

<strong>kod</strong>er 1<br />

n1<br />

ulaz<br />

k<br />

<strong>kod</strong>er 2<br />

n2<br />

multiplekser<br />

modulator<br />

kanal<br />

izlaz<br />

osnovni<br />

ulančani<br />

de<strong>kod</strong>er<br />

demultiplekser<br />

demodulator<br />

Kod paralelnog ulančavanja <strong>kod</strong>na brzina iznosi:<br />

1 2<br />

Minimalna <strong>kod</strong>na distanca je: d = d + d −1<br />

min<br />

k<br />

F tot<br />

=<br />

n 1<br />

+ n 2<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 18/50<br />

min<br />

min


Usporedba PCCC i SCCC<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 19/50


Ulančavanje <strong>kod</strong>ova<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Kod oba načina ulančavanja najčešće se još između<br />

<strong>kod</strong>era dodaje interleaver (preplitanje) koji povećava<br />

kapacitet otklanjanja pogrešaka povećavajući<br />

slučajnost <strong>kod</strong>a.<br />

• <strong>Turbo</strong> <strong>kod</strong>ovi <strong>kod</strong> <strong>kod</strong>iranja koriste paralelno<br />

ulančavanje, a de<strong>kod</strong>er je zasnovan na načelu<br />

serijskog ulančavanja.<br />

• Serijski ulančani de<strong>kod</strong>eri se koriste iz razloga što je<br />

između pojedinih <strong>kod</strong>era moguće razmjenjivati<br />

informacije zbog čega imaju bolje karakteristike, dok<br />

u paralelnom ulančavanju de<strong>kod</strong>eri rade neovisno.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 20/50


Primjena Interleavera<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Interleaving je postupak preuređivanja redoslijeda niza bitova iz<br />

jednog u drugi po nekom zadanom pravilu. Inverzni postupak se<br />

naziva deinterleaving.<br />

• Poboljšava sposobnost ispravljanja pogreške <strong>kod</strong> <strong>kod</strong>iranja.<br />

• Kod turbo <strong>kod</strong>ova, interleaving se koristi prije <strong>kod</strong>iranja<br />

informacije <strong>kod</strong> drugog <strong>kod</strong>era.<br />

• Osnovna uloga interleavera je konstruiranje dugih blok <strong>kod</strong>ova iz<br />

konvolucijskih <strong>kod</strong>ova s malom memorijom, jer se <strong>kod</strong>ovi sa<br />

velikom dužinom mogu približiti Shannonovom ograničenju.<br />

• Osim toga, interleaving širi paritetne bitove iz ostalih de<strong>kod</strong>era<br />

izvan usnopljene pogreške.<br />

• Interleaver daje ispremještane informacijske bitove za drugi <strong>kod</strong>er<br />

i dekorelira ulaze za de<strong>kod</strong>ere na prijemnoj strani, tako da su<br />

iterativni algoritmi de<strong>kod</strong>iranja zasnovani na nekoreliranoj<br />

informaciji koja se razmjenjuje između de<strong>kod</strong>era.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 21/50


Primjena Interleavera<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Dužina interleavera je obično jednaka dužini informacijskih<br />

okvira koji se <strong>kod</strong>iraju.<br />

• Izbor dužine interleavera za promjenjive vrijednosti SNR također<br />

igra značajnu ulogu u performansama turbo <strong>kod</strong>a. Povećanjem<br />

dužine interleavera smanjuje se broj pogrešaka.<br />

• Interleaver smanjuje koeficijent pogreške procesom nazvanim<br />

“spektralno raspršenje”.<br />

• Dužina interleavera ovisi i o vrsti primjene turbo <strong>kod</strong>a, zato što o<br />

njoj ovisi kašnjenje <strong>kod</strong> de<strong>kod</strong>iranja.<br />

• Na primjer za prijenos zvuka u realnom vremenu koriste se male<br />

dužine interleavera (oko 300 bita), za prijenos slike koriste se<br />

srednje dužine interleavera (oko 4000 bita), a za prijenos datoteka<br />

mogu se koristiti interleaveri s velikom dužinom (oko 16000<br />

bita), što izaziva veliko kašnjenje, ali se postiže vrlo mali BER pri<br />

de<strong>kod</strong>iranju.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 22/50


Pseudo-slučajni interleaver<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Pseudo-slučajni interleaver je definiran sa pseudo-slučajnim<br />

generatorom brojeva ili look-up tablicom gdje su svi brojevi u<br />

rasponu od 1 do N (dužina bloka informacijskih bitova).<br />

• Interleaver na slici ulazni niz [01101001] transformira u niz<br />

[01011001]<br />

• Kod turbo <strong>kod</strong>ova najbolje rezultate daju pseudo-slučajni interleaveri<br />

i interleaveri koji su zasnovani na njima.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 23/50


Interleaver sa cirkularnim pomakom<br />

T<br />

E F<br />

O<br />

• Permutacija P <strong>kod</strong> interleavera sa cirkularnim pomakom je<br />

definirana sa<br />

P<br />

( i) = ( ai + s) mod L<br />

s < i<br />

Zavod za komunikacije<br />

• gdje su zadovoljeni uvjeti a < L i , a je prost broj i<br />

period cirkularnog pomaka, i je indeks informacijskih bitova u<br />

okviru, a s predstavlja pomak.<br />

Primjer:<br />

parametri: L=8, a=3<br />

i s=0<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 24/50


UMTS Interleaver<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• UMTS interleaver je optimiziran za mobilne mreže treće<br />

generacije. Standardiziran je prema UMTS (Universal Mobile<br />

Telecommunications System) specifikacijama.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 25/50


UMTS Interleaver<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Radi sa dužinama okvira od 40 do 5114 bitova.<br />

• UMTS interleaver se sastoji od četiri faze:<br />

• u prvoj fazi (a) informacijski bitovi se ubacuju u matricu.<br />

Matrica može imati 5, 10 ili 20 redaka, a broj stupaca se kreće<br />

od 8 do 256 što ovisi o dužini okvira. Ako je broj bitova manji<br />

od broja elemenata u matrici dodaju se lažni bitovi (dummy<br />

characters).<br />

• u drugoj fazi (b) obavlja se permutacija u retcima<br />

• u trećoj fazi se obavlja miješanje pozicije redaka (c)<br />

• četvrta faza je čitanje informacijskih bitova po stupcima (d)<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 26/50


Bušenje prilikom <strong>kod</strong>iranja<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Svrha bušenja u turbo <strong>kod</strong>ovima je periodično brisanje<br />

određenih bitova zbog smanjenja opterećenja sustava uslijed<br />

<strong>kod</strong>iranja.<br />

k bitova<br />

<strong>Turbo</strong><br />

<strong>kod</strong>er<br />

n bitova<br />

Uređaj za<br />

bušenje<br />

(1−λ) n bitova<br />

• uređaj za bušenje briše bitove s vjerojatnošću λ. Stoga<br />

očekivani broj preostalih bitova iznosi (1-λ)n.<br />

• Ovakav koncept je prikladan za konvolucijske <strong>kod</strong>ove i stvara<br />

optimalne karakteristike u prilagodbi brzine <strong>kod</strong>a<br />

multipleksiranju transportnog kanala.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 27/50


Bušenje prilikom <strong>kod</strong>iranja<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Osnovni tip turbo <strong>kod</strong>era koristi dva RSC <strong>kod</strong>era. Kodna<br />

brzina takvog <strong>kod</strong>era je F = 1/3 ako nema bušenja, to jest za<br />

neki ulazni niz bitova u <strong>kod</strong>er, dobije se tri puta duži niz<br />

bitova. Prvi bit u izlaznom nizu je informacijski, drugi je<br />

paritetni iz prvog RSC <strong>kod</strong>era, treći je paritetni iz drugog RSC<br />

<strong>kod</strong>era, taj redoslijed se naizmjence ponavlja do kraja<br />

izlaznog niza:<br />

•Algoritam za bušenje briše paritetne bitove zadanim redoslijedom, jer<br />

oni predstavljaju redundanciju, a bušenje sustavnih bitova se izbjegava,<br />

zato što su oni najvažniji za prijenos informacije.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 28/50


Bušenje prilikom <strong>kod</strong>iranja<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Slika prikazuje način bušenja u slučaju kada se koriste dva<br />

RSC <strong>kod</strong>era. Pri tome je <strong>kod</strong>na brzina F = 1/2 zato što je sada<br />

u <strong>kod</strong>noj riječi svaki drugi bit paritetni. Bušeni <strong>kod</strong> ima nešto<br />

slabiju BER karakteristiku, ali veću <strong>kod</strong>nu brzinu.<br />

Sustavni<br />

bitovi<br />

Paritetni<br />

bitovi #1<br />

Paritetni<br />

bitovi #2<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 29/50


<strong>Turbo</strong> <strong>kod</strong>er<br />

T<br />

E F<br />

O<br />

• Općeniti turbo <strong>kod</strong>er sastoji se od dva, tri ili n rekurzivnih<br />

sustavnih konvolucijskih <strong>kod</strong>era (RSC).<br />

• Svi <strong>kod</strong>eri koriste različite interleavere iste dužine.<br />

Zavod za komunikacije<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 30/50


<strong>Turbo</strong> <strong>kod</strong>er<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Na ulaz prvog <strong>kod</strong>era se dovodi niz informacijskih bitova<br />

određene duljine K, a svi ostali <strong>kod</strong>eri primaju isti niz bitova,<br />

ali s različitim redoslijedom.<br />

• Redoslijed ulaznih bitova za svaki <strong>kod</strong>er je različit i ovisi o<br />

vrsti interleavera. Na taj način svaki <strong>kod</strong>er generira paritetne<br />

bitove koji su nezavisni.<br />

• Dobiveni paritetni bitovi i sustavni bitovi se buše i<br />

multipleksiraju u serijski niz bitova .<br />

• Konvolucijski <strong>kod</strong>ovi korišteni u turbo <strong>kod</strong>ovima najčešće<br />

imaju malu ograničenu duljinu od 3 do 5. Veće vrijednosti se<br />

ne koriste, jer se povećava kompleksnost de<strong>kod</strong>iranja, a time i<br />

kašnjenje. Ako se ne koristi bušenje, <strong>kod</strong>na brzina turbo<br />

<strong>kod</strong>era je:<br />

1<br />

F = n + 1<br />

• gdje je n broj RSC <strong>kod</strong>era u turbo <strong>kod</strong>eru.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 31/50


Rekurzivni sustavni konvolucijski <strong>kod</strong>er<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Ovaj <strong>kod</strong>er se dobiva dovođenjem jednog izlaza na ulaz neponavljajućem<br />

sustavnom konvolucijskom <strong>kod</strong>eru.<br />

• Osnovni konvolucijski <strong>kod</strong>er se predstavlja generatorskim<br />

nizom g 1<br />

= [1 1 1] i g 2<br />

= [1 0 1], te se može prikazati kao G =<br />

[g 1<br />

,g 2<br />

].<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 32/50


Rekurzivni sustavni konvolucijski <strong>kod</strong>er<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• RSC <strong>kod</strong>er koji je proizašao iz osnovnog konvolucijskog <strong>kod</strong>era<br />

predstavlja se s G = [1, g 2<br />

/g 1<br />

], gdje je prvi izlaz predstavljen s g 1<br />

vraća na ulaz. c 1 predstavlja sustavni izlaz, g 2<br />

izlaz za sljedeći stupanj,<br />

a g 1<br />

izlaz koji se vraća na ulaz <strong>kod</strong>era.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 33/50


Algoritmi za de<strong>kod</strong>iranje<br />

turbo <strong>kod</strong>ova<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Algoritam odlučivanja koji uzima u obzir a<br />

posteriory vjerojatnosti naziva se MAP algoritam.<br />

• MAP je skraćenica od “Maksimum a posteriori<br />

Probability”.<br />

• MAP maksimizira izlaznu vjerojatnost koja se<br />

zasniva na mekim vrijednostima iz de<strong>kod</strong>era.<br />

Algoritam koji upotrebljava meke ulaze i izlaze<br />

naziva se SISO (Soft Input – Soft Output)<br />

algoritam.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 34/50


MAP ili BCJR algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Algoritam su prvi uveli L. Bahl, J. Cocke, F. Jelinek i J. Raviv<br />

1974. god. te se često naziva i BCJR, u čast pronalazača.<br />

• SISO algoritmi koriste rešetkasti dijagram za predstavljanje svih<br />

mogućih sekvenci stanja <strong>kod</strong>era. Rešetkasti dijagram opisuje<br />

moguće prijelaze iz trenutnog stanja u vremenskom koraku k u<br />

slijedeće stanje u vremenskom koraku k+1 za RSC <strong>kod</strong>er koji<br />

<strong>kod</strong>ira dani ulazni niz.<br />

• Broj stanja ovisi o memoriji RSC <strong>kod</strong>era. Duljina rešetkastog<br />

dijagrama ovisi o duljini informacijskih bitova K i memoriji m.<br />

• Rešetkasti dijagram ne mora prikazivati prijelaze za svaki<br />

vremenski korak posebno, dopušten je skraćeni prikaz dijagrama.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 35/50


MAP i SOVA algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• SOVA (Soft Output Viterbi Algorithm)<br />

• SOVA algoritam je manje kompleksan od MAP<br />

algoritma, ali ima slabije karakteristike.<br />

• Složenost MAP algoritma se može smanjiti<br />

implementacijom u logaritamskoj domeni.<br />

• Logaritamska inačica MAP algoritma se naziva log-<br />

MAP. Na taj način se računske operacije množenja<br />

pretvaraju u zbrajanje, što znatno ubrzava algoritam.<br />

• log-MAP algoritam se može pojednostaviti sa linearlog-MAP,<br />

constant-log-MAP i max-log-MAP<br />

algoritmom.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 36/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Osnovna zamisao je da MAP algoritam pronalazi<br />

najvjerojatniji bit koji je poslan u <strong>kod</strong>noj riječi.<br />

• Algoritam je kompliciraniji od Viterbijevog algoritma,<br />

jer u proračun uključuje metriku puta i metriku<br />

prijelaza. Te metrike se računaju rekurzivno iz<br />

rešetkastog dijagrama.<br />

• Kod rekurzije naprijed računaju se koeficijenti α s<br />

lijeva na desno, a <strong>kod</strong> rekurzije unatrag računaju se<br />

koeficijenti β s desna na lijevo. Na temelju izračunatih<br />

koeficijenata MAP algoritam dobiva meke izlaze.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 37/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

• Na izlazu iz <strong>kod</strong>era<br />

imamo slijed c = c 1 c 2 …<br />

c N , tj. N <strong>kod</strong>nu riječ, gdje<br />

je c k generirani simbol<br />

trenutka k. Kodirani<br />

podatak se potom prenosi<br />

bezmemorijskim AWGN<br />

kanalom pa za primljeni<br />

slijed imamo r = r 1 r 2 …<br />

r N . Primljeni slijed<br />

podijelimo na tri dijela<br />

koji redom predstavljaju<br />

prošlost, sadašnjost i<br />

budućnost:<br />

r<br />

= r r2<br />

... r<br />

14243<br />

k − 1<br />

rk<br />

rk<br />

+ 1<br />

... rN<br />

=<br />

Zavod za komunikacije<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 38/50<br />

r<br />

< k<br />

14243<br />

r<br />

> k<br />

r<br />

< k<br />

r<br />

k<br />

r<br />

> k


MAP algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Logaritam omjera a posteriori vjerojatnosti za ulazni bit trenutka<br />

k računamo iz sljedeće relacije:<br />

L(<br />

i<br />

k<br />

| r)<br />

=<br />

ln<br />

∑<br />

R<br />

1<br />

∑<br />

R<br />

0<br />

P(<br />

s′<br />

, s,<br />

r)<br />

P(<br />

s′<br />

, s,<br />

r)<br />

=<br />

ln<br />

∑<br />

R<br />

1<br />

∑<br />

α<br />

α<br />

k −1<br />

k<br />

−<br />

1<br />

( s′<br />

) γ ( s′<br />

, s)<br />

β ( s)<br />

k<br />

( s′<br />

) γ ( s′<br />

, s)<br />

β ( s)<br />

• gdje P ( s′<br />

, s,<br />

r)<br />

predstavlja a posteriori (združenu) vjerojatnost<br />

primljenog slijeda r za prijelazno stanje od stanja s' trenutka k-1<br />

do stanja s trenutka k.<br />

• R 1 označava skup svih grana koje potječu od ulaznog bita 1, a R 0<br />

skup svih grana koje potječu od ulaznog bita 0.<br />

R<br />

0<br />

k<br />

k<br />

k<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 39/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• γ k<br />

( s′<br />

, s)<br />

je vjerojatnost prijelaza tj. vjerojatnost da je u stanju S k<br />

= s primljen simbol r k<br />

te da je grana koja se spaja na to stanje<br />

došla iz stanja S k-1<br />

= s ' , a računa se iz relacije:<br />

γ<br />

k<br />

( s ′,<br />

s)<br />

= P(<br />

rk<br />

ck<br />

) P(<br />

ik<br />

• Za AWGN kanal, računamo na sljedeći način:<br />

n<br />

i L i ⎛ L ⎞<br />

′ =<br />

⎜ ∑<br />

k ( k )/ 2 c<br />

γ<br />

k<br />

( s , s)<br />

Cke<br />

exp cklrkl<br />

⎟<br />

⎝ 2 l=<br />

1 ⎠<br />

• α i β su vjerojatnosti prošlosti i budućnosti, a izračunavaju se iz<br />

rekurzivnih formula:<br />

1 s = 0<br />

( s)<br />

( ) ( , ) početni uvjet: α<br />

0<br />

( s)<br />

=<br />

= α<br />

1<br />

s′<br />

γ s s<br />

k<br />

∑<br />

α ⎩ ⎨⎧ 0 s ≠ 0<br />

s′<br />

′<br />

k − k<br />

)<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 40/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

β<br />

1(<br />

s′<br />

k<br />

) ∑ k<br />

( s)<br />

k<br />

( s′<br />

−<br />

= β γ , s)<br />

s<br />

početni uvjet:<br />

β N<br />

( s)<br />

=<br />

⎧1<br />

⎨<br />

⎩0<br />

s<br />

s<br />

=<br />

≠<br />

0<br />

0<br />

• Vjerojatnost α računamo kada se <strong>kod</strong>nom rešetkom krećemo<br />

prema naprijed, počevši sa α 0<br />

( s)<br />

gdje je s = 0, 1, …, Q – 1. Q je<br />

ukupan broj stanja. Taj proračun se naziva prolaz unaprijed<br />

(engl. forward pass).<br />

• Vjerojatnost β računamo kada se <strong>kod</strong>nom rešetkom krećemo<br />

prema natrag, počevši sa β N<br />

(s) gdje je s = 0, 1, …, Q – 1. Taj<br />

proračun se naziva prolaz unatrag (engl. backward pass).<br />

• Upravo je zbog toga BCJR algoritam poznat i pod nazivom<br />

algoritam naprijed-natrag (engl. forward-backward algorithm).<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 41/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Obilježavanje <strong>kod</strong>ne rešetke uz pomoć α, β i γ vjerojatnosti<br />

• Sa dobivenim vrijednostima α, β i γ računamo oblik posteriori<br />

(združene) vjerojatnosti P( s′ , s,<br />

r)<br />

= α<br />

1(<br />

s)<br />

( s′<br />

−<br />

γ , s)<br />

β ( s )<br />

′<br />

k k k<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 42/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

• slučaj P(1,2,r) kada je ulazni bit 1.<br />

Zavod za komunikacije<br />

• Na isti način računamo i sva ostala stanja <strong>kod</strong>ne<br />

rešetke, prvo za ulazni bit 1, a potom i za ulazni bit 0.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 43/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Logaritam omjera a posteriori vjerojatnosti za<br />

ulazni bit trenutka k dobijemo iz relacije:<br />

R1<br />

L( i | r)<br />

= ln<br />

k<br />

∑<br />

∑<br />

R<br />

0<br />

P(<br />

s′<br />

, s,<br />

r)<br />

P<br />

(<br />

s<br />

′<br />

,<br />

s<br />

,<br />

r<br />

)<br />

P(0,2,<br />

r)<br />

+ P(1,2,<br />

r)<br />

+ P(2,3,<br />

r)<br />

+ P(3,3,<br />

r)<br />

= ln<br />

P<br />

(0,0,<br />

r<br />

)<br />

+<br />

P<br />

(1,0,<br />

r<br />

)<br />

+<br />

P<br />

(2,1,<br />

r<br />

)<br />

+<br />

P<br />

(3,1,<br />

r<br />

)<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 44/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

• Sažetak<br />

izračuna:<br />

Zavod za komunikacije<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 45/50


MAP algoritam<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Normalizirani oblik za α, β i P norm dobivamo iz<br />

relacija:<br />

α ( s)<br />

k<br />

=<br />

gdje je:<br />

α ′<br />

k<br />

( s)<br />

∑ α ′ k<br />

( s)<br />

β<br />

k −1<br />

( s′<br />

)<br />

=<br />

∑<br />

s s<br />

′<br />

∑<br />

Pk<br />

= ∑α<br />

k<br />

R<br />

0<br />

R<br />

1<br />

( −1 β ′ ′<br />

k −1<br />

( s )<br />

β ′ ( s′<br />

)<br />

k −1<br />

s′<br />

) γ ( s′<br />

, s)<br />

β ( s)<br />

k<br />

k<br />

P<br />

norm<br />

=<br />

( s′<br />

, s,<br />

r)<br />

=<br />

P(<br />

s′<br />

, s,<br />

r)<br />

∑ Pk<br />

∑ α ′ ′ + ∑ ′ ′<br />

k −1( s ) γ<br />

k<br />

( s , s)<br />

β<br />

k<br />

( s)<br />

α<br />

k 1(<br />

s ) γ<br />

k<br />

( s<br />

=<br />

−<br />

R<br />

R<br />

0<br />

1<br />

, s)<br />

β ( s)<br />

k<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 46/50


<strong>Turbo</strong> de<strong>kod</strong>er<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• De<strong>kod</strong>er turbo <strong>kod</strong>a se sastoji od dva ili više MAP de<strong>kod</strong>era, što ovisi<br />

o vrsti turbo <strong>kod</strong>a.<br />

• Na početku de<strong>kod</strong>iranja a posteriori informacija je jednaka nuli,<br />

nakon de<strong>kod</strong>iranja u prvom de<strong>kod</strong>eru proizvedena a posteriori<br />

informacija se šalje u drugi de<strong>kod</strong>er zajedno sa primljenom<br />

informacijom iz drugog <strong>kod</strong>era na predajnoj strani, nakon toga ili se<br />

donosi čvrsta odluka ili se a posteriori informacija iz drugog de<strong>kod</strong>era<br />

šalje u prvi de<strong>kod</strong>er.<br />

• Pri tome je de<strong>kod</strong>irana informacija koja se dobije svakim sljedećim<br />

de<strong>kod</strong>erom sve bliža izvornoj informaciji. Nakon de<strong>kod</strong>iranja<br />

informacije u drugom de<strong>kod</strong>eru završava prva iteracija.<br />

• Iteracija predstavlja jedan ciklus razmjene a priori informacije koji<br />

počinje de<strong>kod</strong>iranjem informacije u prvom de<strong>kod</strong>eru, a završava<br />

de<strong>kod</strong>iranjem u drugom de<strong>kod</strong>eru. Pri tome se a posteriori<br />

informacija s drugog de<strong>kod</strong>era na početku sljedeće iteracije šalje<br />

prema prvom de<strong>kod</strong>eru.<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 47/50


T<br />

E F<br />

O<br />

• Povećanjem broja iteracija algoritam<br />

je sve bliže ispravnoj <strong>kod</strong>noj riječi.<br />

• Broj iteracija koji će se koristiti<br />

ovisi o omjeru signal/šum.<br />

• Pri određenom broju iteracija dolazi<br />

do zasićenja i nakon toga nema<br />

smisla povećavati broj iteracija.<br />

• Pri manjim omjerima signal/šum se<br />

koristi veći broj iteracija, a pri većim<br />

manji broj iteracija.<br />

Zavod za komunikacije<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 48/50


Primjena turbo <strong>kod</strong>a<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

• Upotrebljava se u mobilnim mrežama treće generacije<br />

UMTS i CDMA 2000, digitalnoj televiziji DVB, u<br />

satelitskim komunikacijama i u istraživanju svemira<br />

CCSDS.<br />

• O vrsti primjene ovisi koliki broj stanja i koje <strong>kod</strong>ne brzine<br />

će biti upotrebljavane. Za implementaciju algoritama<br />

<strong>kod</strong>iranja i de<strong>kod</strong>iranja se upotrebljavaju DSP procesori,<br />

ASIC integrirani krugovi i sklopovi sa FPGA jezgrom.<br />

• Brzine de<strong>kod</strong>iranja se kreću od nekoliko kilobita u sekundi<br />

(DSP procesori) do nekoliko stotina megabita u sekundi<br />

(FPGA sklopovi)<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 49/50


Neke primjene turbo <strong>kod</strong>a<br />

T<br />

E F<br />

O<br />

Zavod za komunikacije<br />

11.4.2012. <strong>Turbo</strong> <strong>kod</strong> 50/50

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!