12
KONVOLUCIONI KODOVI Konvolucioni kodovi se dobijaju propuštanjem informacione sekvence koja se prenosi kroz linearni pomerački registar sa konačnim brojem stanja. <u opštem slučaju pomerački registar se sastoji od K stanja i n algebarskih funkcija kao što je dato na slici. Ulazni podatak u enkoder za koji prespostavljamo da je u binarnom obliku se smešta u i duž pomeračkog registra za k bitova u isto vreme. Prema tome nivo koda se definiše kao R = k n , što je u skladu sa izrazpm za blok kodove. Parametak K se naziva dužina ograničavanja konvolucionog koda. Jedan od načina da opišemo konvolucioni kod je dati njegovu generatorsku matricu. Razmotrimo konvoulucioni koder dat na slici. Sa slike se vidi da je K=3, k=1, n=3. Da bi dobili generatroske matrcice pretpostavljamo da na početku pomerački registar ima vrednosti nula. Ako pretpostavimo da prvi bit koji stiže u koder ima vrednost1. Izlazna sekvenca se dobija za svaki od tri izlaza, tj za prvi imamo unetu vrednost (1), za izlaz 2 sabiramo po modulu dva prvo i treće polje 1+0=1, za treći izlaz sabirmo po modulu 2 sva tri polja (1+0+0=1). Tj izlaz je 111. Zatim u drugom koraku dovodimo vrednost 0, a vrednosti registra pomera u desno pa u registru imamo vrednosti 010. A zatim vrešimo sabiranje kao u prethodnom slučaju (0, 0+0=0, 0+1+0=1)(001)... kao što vidimo iz ovog primera izlazna vrednost koda zavisi od sabiranja po modulu 2, tj izlaz na prvom zavisi samo od ulaza jedan pa je onda g 1 =[ 100 ] , Drugi iylay se dobija sabiranjem po modulu 2 prvog i trćrg stanja registra pa je g 2 =[ 101 ] g 3 =[ 111 ] Ovej generatorski kod možemo zapisati u oktalnom obliku kao (4,5,7), tj ako imamo k=1 pomeračkih registara treba nam n generatora da damo tačnu specifikaciju enkodera. Primer Napisati generatorske polinome za 2/3 konvolucioni enkoder dat na slici: U ovakav enkoder po dva bita se smeštaju u njega, a tri izlaza se dobijaju. Generatori su: g 1 =[ 1011 ] g 2 =[ 1101 ] g 3 =[ 1010 ] TREE DIJAGRAM (DIJAGRAM STABLA) PRIMER: Nacrtati dijagram stabla za konvolucionu enkoder na slici. Da bi dobili dijagram stabla za početno stanje uzimamo (000) koje je postavljeno na početku. Na ulaz mgu doći samo dve moguće vrednosti 0 ili 1, ako dođe 0 ma izlazu imamo (000) ako dođe 1 n izlazu imamo (111). U drugom koraku ove dve početne vrednosti su sada osnova za dalji rad sada na svaku od njih može doći 0 ili jedinica i dalje razmatramo dijagram stabla...

Konvolucioni_kodovi.pdf

Embed Size (px)

Citation preview

Page 1: Konvolucioni_kodovi.pdf

KONVOLUCIONI KODOVI

Konvolucioni kodovi se dobijaju propuštanjem informacione sekvence koja se prenosi kroz linearni pomerački registar sa konačnim brojem stanja. <u opštem slučaju pomerački registar se sastoji od K stanja i n algebarskih funkcija kao što je dato na slici.

Ulazni podatak u enkoder za koji prespostavljamo da je u binarnom obliku se smešta u i duž pomeračkog registra za k bitova u isto vreme. Prema tome nivo

koda se definiše kao R= kn , što je u

skladu sa izrazpm za blok kodove. Parametak K se naziva dužina ograničavanja konvolucionog koda.

Jedan od načina da opišemo konvolucioni kod je dati njegovu generatorsku matricu. Razmotrimo konvoulucioni koder dat na slici. Sa slike se vidi da je K=3, k=1, n=3. Da bi dobili generatroske matrcice pretpostavljamo da na početku pomerački registar ima vrednosti nula. Ako pretpostavimo da prvi bit koji stiže u koder ima vrednost1. Izlazna sekvenca se dobija za svaki od tri izlaza, tj za prvi imamo unetu vrednost (1), za izlaz 2 sabiramo po modulu dva prvo i treće polje 1+0=1, za treći izlaz sabirmo po modulu 2 sva tri polja (1+0+0=1). Tj izlaz je 111. Zatim u drugom koraku dovodimo vrednost 0, a vrednosti registra pomera u desno pa u registru imamo vrednosti 010. A zatim vrešimo sabiranje kao u prethodnom slučaju (0, 0+0=0, 0+1+0=1)(001)... kao što vidimo iz ovog primera izlazna vrednost koda zavisi od sabiranja po modulu 2, tj izlaz na prvom zavisi samo od ulaza jedan pa je onda

g1=[100 ] ,Drugi iylay se dobija sabiranjem po modulu 2 prvog i trćrg stanja registra pa je

g2=[101]g3=[111]

Ovej generatorski kod možemo zapisati u oktalnom obliku kao (4,5,7), tj ako imamo k=1 pomeračkih registara treba nam n generatora da damo tačnu specifikaciju enkodera.

Primer Napisati generatorske polinome za 2/3 konvolucioni enkoder dat na slici:

U ovakav enkoder po dva bita se smeštaju u njega, a tri izlaza se dobijaju. Generatori su:

g1=[1011 ]g2=[1101]g3=[1010 ]

TREE DIJAGRAM (DIJAGRAM STABLA)

PRIMER: Nacrtati dijagram stabla za konvolucionu enkoder na slici.

Da bi dobili dijagram stabla za početno stanje uzimamo (000) koje je postavljeno na početku. Na ulaz mgu doći samo dve moguće vrednosti 0 ili 1, ako dođe 0 ma izlazu imamo (000) ako dođe 1 n izlazu imamo (111). U drugom koraku ove dve početne vrednosti su sada osnova za dalji rad sada na svaku od njih može doći 0 ili jedinica i dalje razmatramo dijagram stabla...

Page 2: Konvolucioni_kodovi.pdf

Ako želimo da pratimo neku prizvoljnu sekvencu bitova kroz stablo jednostavno počinjemo od prvog bita i ako je vrednost 0 pratimo gornju, a vrednost 1 donju stranu dijagrama. Ako bliže razmotrimo stablo generisano enkoderom vidimo da se struktura ponavlja nakon trećeg nivoa, što je u skladu sa dužinom ograničavanja koja je u ovom slučaju K=3. Tj, da je izlazna sekvenca od tri bita na svakom nivou određena sa ulaznim i predthodna dva bita. Bit na kraju registra se izbacuje i ne utiče na uzlaznu vrednost. Tj možemo reći sa je iizlazna sekvenca definisana sa ulaznim bitom i četiri moguća stanja pomeračkog registra a=(00), b=(01), c=(10), d=(11).Ako svaku čvor u drvetu odgovara za ččetiri moguća stanja pomeračkog registra, videćemo da na trećem nivou imamo dva čvora a, dva b, dvac, i dva d. Takođe svi idući čvorovi dobijeni iz ovih identičnih daju identičn

nozove sekvenci. Ovo znači da dva čvora iste oznake mogu biti spojeni. Ako ovo uradimo dobijamo drugu vrestu dijagrama koja se naziva TRELIS dijagram.

TRELIS DIJAGRAM

Nacrtati Trelis dijagram za enkoder dat u prthodnom primeru. Prvo pišemo uspravno moguće vrednosti zadnja dva registra a,b,c,d. Zatim krećemo od nule. Ako dođe nula punom linijom vežemo sa idućom tačkon koja se dobija tako što se vidi kolika je vrednost dva registra u idućem koraku. Tj ako dođe 0 izlaz je 000, a pomeranjem se dobija 000, i oba linija se veže sa istom u trlosu. Ako dolazi 1 izlaz je 111, isprekidanom vežemo sa novim stanjem u registru 100 tj sa tačkom c. Ako sad krenemo od tačke c i u nu dođe nula novo stanje registra je 010, pa je vežemo punom linijom sa b. A ako je 1 novo stanje registra je 110 pa isprekidanom vežemo sa d i tako dalje ponavljamo postupak.

Page 3: Konvolucioni_kodovi.pdf

DIJAGRAM STANJA

Najkompaktniji način predstavljanje enkodera je dijagram stanja. To je jednostavan grafik mogućih stanja enkodera i mogućih prelaza iz jednog stanja u drugo. Npr za prethodno dat enkoder ččetiri moguća prelaza su

Primer: Nacrtati dijagram stanja, stablo i trelis za konvolucioni koder dat na slici.

Kao što vidimo u ovom slučaju je k=2, tj sada na uloaz dovodimo po dva bita pa tako prvi ulazni bitovi mogu biti 00, 01, 10, 11. A izlazi su onda 0000, za 01 imamo registar 0100 a izlaz 0+0+0=0, 0+1+0=1, 0+0=0, 010, za 10 imamo 111, za 11 imamo izlaz 101. Kada idući šar bitova uđe u enkoder prvi se prebaci na desno. Pa prema tome stablo ima četiri grane po čvoru.

Page 4: Konvolucioni_kodovi.pdf
Page 5: Konvolucioni_kodovi.pdf
Page 6: Konvolucioni_kodovi.pdf

Primer: Razmotriti konvolucioni kod generisan enkoderom datim na slici.

Ovaj kod se može opisati kao binarni konvolucioni kod sa parametrima K=2, k=2, n=4. I ima generatore

g1=[ 1010]g2=[ 0101]g3=[ 1110]g 4=[ 1001]

osim u razlici nivoa kod je sličan prethodnom konvolucionom kodu. Za proveru nacrtati dijagram stanja, trelis i stablo.

TRANSFER FUNKCIJA KONVOLUCIONOG KODA

Da bi smo demonstrirali metodu za dobijanje osobina rastojanja konvolucionog koda posmatraćemo dijagram stanja dat na slici. Za početak će mo grane obelležiiti sa

D0=1, D1, D2, D 3 gde eksponent D označava Hamingovo rastojanje sekvence izlaznih bita koje odgovaraju grani sa svim nulama. Takođe ćemo iz dijagrama stanja izbrisati u početnoj tački prelazak u samu sebe pošto on ne dprinosi nizu sekvence u odnosu na niz nnula. Zatim pošetnu tačku a (000) delimo u dva čvora jedan predstavlja ulaz, a drugi izlaz dijagrama stanja. Na idućoj slici je da rezultujući dijagram. Sada ovaj dijagram koristimo da dobijemo jednačine stanja.

X c=D3 X aD X b

X b=D X cD X d

X d=D2 X cD2 X d

X e=D2 X b

Pošto je transfer funkcija u stvari T d =X e

X a. Rešavanjem sistema jednačina dobijamo

Page 7: Konvolucioni_kodovi.pdf

T d = D6

1−2 D2=D62 D84 D10...

Ova i ovakva transfer funkcija u stvari znači da postoji samo jedan put koji ima Hamingovo rastojanje d=6, koji vodi od prvog stanja sa svim nulama do idućeg stanja sa svim nulama i to je put acbe. Ne postoji nni jedan drugi put od tračke a do tačke e koji ima ovo rastojanje. Postoje dva puta od tačke a do e koje imaju Hamingovo rastojanje 8 itd. Minimalno rastojanje koda je minimalno slobodno rastojanje.

Prenosna funkcija se može iskoristiti i za detaljniji opis koda nego što je samo rastojanje izmkeđu različitih puteva. Pretpostavimo da uvedemo faktor N u svaku granu prenosa koja je izazvana bitom 1, primenom ovog pravilla eksponent N se povećava samo ako je prenos ostvaren prenosom bita vrednosti 1. zatim uvedemo i faktor J čiji je ekksponent brojačka funkcija koja pokazuje broj grana od a do e. Za prethodni dijagram primenom ovog pravila dobijamo sliku.

Sada jednačine stanja imaju oblik

X c=JND3 X aJND X b

X b=JD X cJ D X d

X d=JND2 X cJND2 X d

X e=J D2 X b

ponovo rešavajući ovaj sistem dobijamo prenosnu funkciju

T D , N , J = J 3 N D6

1−JN D21J =J 3 N D6J 4 N 2 D8J 5 N 2 D10...

Prvi sabirak u sumi znači da postoji jedno rastojanje d=6, eksponent iznad J da je dužina puta 3 i da je jedan informacioni bit jedinica, drugi i treći deo sume označčavaju da postoje dva puta dužžine d=8, jedan dužine 4 a drugi 5, u prvom dva od četiri bita su jedinice, a u drugom 2 od 5 informacionih bitova su jedinice.

Primer 1: Konvolucioni kod je opisan kao

g1=[100 ]g2=[101]g3=[111 ]

a) nacrtati enkoder koji odgovara ovom kodu

Page 8: Konvolucioni_kodovi.pdf

b) Nacrtati dijagram prenosa stanja za ovaj kodc) Nacrtati Trelis dijagram za ovaj kodd) Naći transfer funkciju i slobodnu distancu za ovaj kod

e) Da li je kod katastrofičan ili ne.

Primer 2: Konvolucioni kod je opisan kao

g1=[110 ]g2=[101]g3=[111]

a) nacrtati enkoder koji odgovara ovom kodub) Nacrtati dijagram prenosa stanja za ovaj kod

ci) Nacrtati Trelis dijagram za ovaj kodd) Naći transfer funkciju i slobodnu distancu za ovaj kod

e) Da li je kod katastrofičan ili ne.

Primer 3: Blok dijagram binarnog konvolucionog koda je dat na slici

a) Nacrtati dijagram stanja kodab) naći transfer funkciju koda T(D)

c) koja je minimalna slobodna distanca kodaci)

Primer 4: Dat je konvolucioni koder nivoa ½, i dužine ograničenja 2.

a) Skicirati stablo, trelis i dijagram stanjab) Odrediti transfer funkciju T(D,N,J) i iz ovoga odrediti minimalnu slobodnu distancu.

VITERBIJEV ALGORITAM ZA KONVOLUCIONO DEKODIRANJE

Za razmatranje Viterbijevog algoritma za konvoluciono dekodiranje koristićemo enkoder dat na slici.

Page 9: Konvolucioni_kodovi.pdf

Čiji je Trelis dijagram dat na slici.

Recimo da imamo vrednost m , koja se kodira u neku kodnu reč U, a da na prijemniku imamo šumom izobličenu poruku Z=11 01 01 10 01. Da bi odradili dekodiranje pratimo primljen signal i vidimo da su prvi primljeni signali 11. Sada žželimo da uključimo Hamingova rastojanja u ovu priču. Vidimo da od prve tačke imamo dva mmoguća prelaza koji daju izlaze 00 i 11. Prvi ima Hamingovo rastojanje od primljenog signala 2, a drugi 0. Zatim u drugom prelazu imamo primljen sugnal 01, a prelaze vrednosti 00 Haming 1, 11 Haming 1, 10 Haming 1 i 01 Haming 0. Kada primenimo ova pravila dobijamo novi Trelis dijagram na kome nisu dati izlazi dekodera već Hamingova rastojanja.

Page 10: Konvolucioni_kodovi.pdf

Upravo će ova Hamingova rastojanja dati mogućnost da nađemo najverovatniji put kroz Trelis dijagram. Osnova Viterbijevog dekodiranja je sledeća opservacija da ako bilo koja dva puta kroz Trelis dijagram stižu u zajedničku tačku jedan od njih se može eliminisati u našoj potrazi za idealnim putem.Da bi smo ovo objasnili moramo definisati kumulativnu Hamingovu metriku za određeni put koja je suma svih Hamingovih rastojanja duž datog puta. Ako na slici dva puta u određenom momentu vremena stižu u tačku 0 kao na slici onda je metrika gornjeg puta 4, a donjeg 1.

U svakom momentu postoji 2K−1 stanja u Trelisu, gde je K dužina ograničenja, a u svako stanje se može ući preko dva puta. Samo Viterbijevo dekodiranje se sastoji iz izračunavanja metrike dva puta koji ulaze u svako stanje i eliminisanja jednog od njih.Recimo da znamo primljenu sekvencu Z i trelis dijagram enkodera postupak dekodovanja ide na sledeći način. U prvom momentu primamo signal 11, a jedina dva prelaza iz stanja 00 su u stanje 00 metrike 2 i stanje 10 metrike 0. U drugom momentu postoje dve nove grane iz svakog od datih stanja sa metrikma kao na slici.

Page 11: Konvolucioni_kodovi.pdf

U momentu tri imaće po još dve grane koje izlaze iz svakog čvora u momentu 2., kao rezultat dobićemo da dva puta ulaze uu svako stanje u tački 4.

Sada možemo eliminisati po jedan put koji ulazi u stanja u vremenu 4 i to onaj koji ima veću kumulativnu metriku. Ako su metrike iste, možemo proizvoljno eliminisati jedan put. U ovom momentu dekodiranja dobili smo samo jedan preživeli put između tačaka 1 i 2 i to je tzm zajednički stem. Prema tome dekoder odlučuje da je prvi prelaz između 00 i 01 koji se dobija ulazom 1 i ovaj broj se predstavlja kao prvi dekodirani bit.

Zatim ovaj postupak ponavljamo do kompletnog dekodiranja.

Page 12: Konvolucioni_kodovi.pdf