View
0
Download
0
Category
Preview:
Citation preview
32
33.. OOSSNNOOVVII TTEEOORRIIJJEE IINNFFOORRMMAACCIIJJAA
Teorija informacija je oblast koja se bavi statističkim modelovanjem i analizom komponenti
telekomunikacionog sistema. U opštem slučaju, blok šema telekomunikacionog sistema data je na
slici Slika 2, a od interesa za teoriju informacija su modelovanje izvora, modelovanje
telekomunikacionog kanala i šuma u njemu, kao i metode koje se koriste za zaštitno kodovanje (za
koje je zadužen koder kanala). Teorija informacija omogućava da se izračuna verovatnoća greške
pri prenosu informacije, efektivna brzina prenosa i slično.
3.1. Izvor informacija
U digitalnim komunikacijama, izvori informacija su diskretni. Diskretan izvor generiše
simbole iz nekog konačnog (ili prebrojivog) skupa
. (3.1)
Recimo, kada je u pitanju binarni izvor informacija, imamo dva moguća simbola: logičku
nulu i logičku jedinicu. Verovatnoća generisanja simbola data je sa
. (3.2)
Naravno, mora važiti da je
. (3.3)
Količina informacija koju nosi neka poruka (simbol) data je sa
. (3.4)
Na osnovu (3.4) možemo zaključiti da što je neka poruka manje verovatna, to je veća količina
informacija koju ona nosi. Ukoliko izvor generiše samo jedan simbol, tj. jednu poruku, onda ona
nosi nultu količinu informacija.
Izvori se dele na izvore bez memorije i izvore sa memorijom.
3.1.1. Izvor bez memorije
Kod izvora bez memorije, verovatnoća generisanja nekog simbola ne zavisi od sekvence
simbola koji su prethodno generisani. Praktično, generisanje svakog simbola ponaosob je slučajan
proces, koji ima određenu verovatnoću, datu jednačinom (3.2).
3.1.2. Izvor sa memorijom
Kod izvora sa memorijom, verovatnoća generisanja nekog simbola zavisi od m prethodno
generisanih simbola. Izvor sa memorijom možemo posmatrati kao konačan automat. Svaka od
mogućih generisanih sekvenci (gde je N broj mogućih simbola koje izvor generiše) definiše jedno
od stanja izvora. Verovatnoća generisanja nekog od N simbola zavisi od trenutnog stanja izvora.
Na slici Slika 58 predstavljen je jedan binarni izvor sa memorijom dužine 2. Verovatnoća
generisanja logičke nule u slučaju u kom je izvor u stanju 00 označena je sa , a razlikuje se
od verovatnoće generisanja logičke nule u stanju 11, označene sa , ili od verovatnoće
33
generisanja logičke nule u stanjima 01, i 10, . Generisanjem određenog simbola,
izvor prelazi u novo stanje – niži bit trenutnog stanja postaje viši bit u novom stanju, dok generisan
simbol postaje niži bit novog stanja. Prelasci između stanja označeni su strelicama, sa težinom koja
odgovara verovatnoći svakog prelaska, odnosno verovatnoći generisanja odgovarajućeg simbola u
prethodnom stanju.
Slika 58. Binarni izvor sa memorijom
3.2. Telekomunikacioni kanal
3.2.1. Telekomunikacioni kanal bez memorije
Diskretni komunikacioni kanal bez memorije opisan je listom simbola na ulazu , listom simbola na izlazu , i uslovnim verovatnoćama prenosa
pojedinih simbola, . Ovime je predstavljena verovatnoća da se na izlazu
telekomunikacionog kanala pojavi simbol , pod uslovom da je poslat simbol . Izlaz zavisi samo
od trenutnog ulaza, a ne i od prethodnih simbola na ulazu.
U slučaju binarnog kanala, skup ulaznih i izlaznih simbola su isti, i sadrže dva moguća
simbola – logičku nulu i logičku jedinicu. Dakle, . Binarni kanal bez memorije
opisan je sledećim verovatnoćama prenosa:
(3.5a) (3.5b)
(3.5c) (3.5d)
Ispravan prenos opisan je verovatnoćama i , dok druge dve verovatnoće označavaju
verovatnoću neispravnog prenosa simbola. Ukupna verovatnoća ispravnog prenosa data je
jednačinom (3.6):
(3.6)
34
Prvi sabirak ovde predstavlja verovatnoću da se uspešno prenese nula, dok je drugi sabirak
verovatnoća da se uspešno prenese jedinica.
Ukupna verovatnoća greške pri prenosu data je sa
(3.7)
Slika 59. Binarni kanal
3.2.2. Telekomunikacioni kanal sa memorijom
Kod telekomunikacionog kanala sa memorijom, verovatnoća da se na izlazu pojavi simbol zavisi kako od trenutnog signala na ulasku u telekomunikacioni kanal, tako i od prethodno prenete
sekvence simbola. Za binarni kanal sa memorijom, imamo skup uslovnih verovatnoća:
3.2.3. Šum u telekomunikacionom kanalu
Do šuma pri prenosu dolazi zbog interferencije signala u telekomunikacionom kanalu, kao i
zbog nesavršenosti elektronskih komponenti koje učestvuju u predaji i prijemu signala, izobličenja
koja unosi sam prenos, i slično.
Najjednostavniji model za šum je aditivni beli Gausov šum. Snaga ovog šuma ima normalnu
raspodelu. Sa stanovišta teorije informacija, možemo smatrati da se signal šuma sabira sa
poslatim korisnim signalom , usled čega signal na prijemnoj strani trpi izobličenja - Slika
60.
Slika 60. Kanal sa aditivnim šumom
Za ispravan prenos signala, od interesa je odnos snage korisnog signala, prema snazi šuma.
Ovaj odnos naziva se odnos signal šum i označava sa SNR. Što je odnos signal šum veći, to je
manja verovatnoća da pri prenosu dođe do greške. Na slici Slika 61 predstavljen je prenos QAM
35
signala pri različitim odnosima signal šum. Vidimo da varijacije u primljnom signalu rastu sa
smanjenjem odnosa SNR, dok je u slučaju kada je SNR na nuli praktično nemoguće detektovati
signal na prijemu.
Slika 61. Odnos signal šum i greška pri prenosu
36
3.3. Zaštitno kodovanje
Pri prenosu podataka, može usled šuma doći do greške pri prenosu pojedinačnih bita, ili do
greške na grupi bita u nizu (burst). Zaštitno kodovanje uvodi se kako bi se omogućila detekcija i
eventualna korekcija greške.
Zaštitno kodovanje unosi preopširnost (redundantnost) u podatak koji se šalje. Na osnovu
informacionih bita (koji predstavljaju podatak koji se šalje), generiše se zaštitni kod. Sekvenca od k
informacionih bita pretvara se u generatoru zaštitnog koda u kodnu reč dužine n. Odnos broja
informacionih bita prema dužini kodne reči naziva se kodni količnik, R = k/n.
Slika 62. Zaštitno kodovanje
U slučaju kada je moguća samo detekcija, ali ne i korekcija greške, predajniku se signalizira
da je neophodno da ponovo pošalje podatke. Signal za ponovno slanje poruke može biti izostanak
potvrde prijema (ACK), ili slanje negativne potvrde (NACK), već zavisno od sistema i
implementiranog protokola.
3.3.1. Blok kodovi
Kod blok kodova, na osnovu ulaznog bloka podataka dužine k informacionih bita, generiše
se podatak sa preopširnošću ukupne dužine n. Svaki blok podataka dužine k se obrađuje nezavisno
od prethodnih blokova podataka.
i) Višestruko ponavljanje poruke
Prost primer blok koda predstavlja višestruko ponavljanje poruke. Svaki informacioni bit se
ponavlja neki određen broj puta. Višestruko ponavljanje poruke je jednostavno za implementaciju,
može čak i ispraviti greške u prenosu, ali rezultuje lošim kodnim količnikom.
Binarni kod sa višestrukim ponavljanjem je najčešće oblika (n, 1), gde je n neparan broj.
Primer: binarni kod (3, 1)
0 se mapira na sekvencu 000
1 se mapira na sekvencu 111
U slučaju jednostruke greške, moguće je njeno ispravljanje.
Sekvence 001, 010 i 100 se tretiraju kao 000
Sekvence 110, 101 i 011 se tretiraju kao 111
37
ii) Provera na parnost (parity check)
Bloku podataka dužine k dodaje se jedan bit provere na parnost, tako da ukupan broj jedinica
u bloku dužine k+1 bude paran. Prijemnik ne može da ispravi grešku, ali može da detektuje neparan
broj grešaka u prenosu. Ako primljeni podatak ima neparan broj jedinica, znači da je došlo do
greške.
Slika 63. Provera na parnost
iii) Kontrolna suma (CRC , FCS, checksum)
Kontrolna suma je blok kod koji može detektovati veći broj grešaka. Sekvenca
informacionih bita dužine k tretira se kao broj, koji se na predajnoj strani deli brojem dužine m + 1.
Ostatak pri ovom deljenju ima m bita, i ti biti se pridodaju informacionim bitima u okviru CRC ili
FCS polja, da bi se formirala kodna reč dužine n = m + k.
Prijemnik zna broj kojim je izvršeno deljenje na predajnoj strani. Po prijemu k
informacionih bita, prijemnik takođe sprovodi proceduru računanja ostatka. Zatim proverava da li
se izračunati ostatak poklapa sa primljenom sekvencom od m CRC bita. Ukoliko ne postoji
poklapanje, znači da je došlo do greške u prenosu, što se signalizira predajniku.
Slika 64. Kontrolna suma
iv) Hamingovi kodovi
Hamingovi kodovi su kodovi sa višestrukim proverama na parnost, koji mogu ispravljati
grešku u prenosu. Kod Hamingovog koda (n, k), na blok podataka dužine k dodaje se n-k provera na
parnost. Za razliku od prethodno pominjanih blok kodova, dodatni biti se ovde ne dodaju na kraj
kodne reči, već se biti provere na parnost umetnu na pozicije koje su numerisane stepenom dvojke.
Primer je Slika 65, na kojoj je dat Hamingov kod (7, 4). Kod ovog koda, od 4 informaciona
bita, formira se kodna reč dužine 7. Tri bita provere na parnost dodaju se na pozicijama 1, 2 i 4 u
kodnoj reči (stepeni dvojke).
Sada se bit provere na parnost na poziciji i u kodnoj reči formira na osnovu vrednosti bita na
onim pozicijama, koje u binarnom zapisu imaju jedinicu na mestu i. U primeru sa slike, bit provere
na parnost na poziciji 1 formira se na osnovu bita na pozicijama 3, 5 i 7 (jer binarni zapis brojeva 3,
5 i 7 ima jedinicu na najnižem bitu). Bit na poziciji 2 formira se na osnovu bita na pozicijama 3, 6 i
7, dok se bit na poziciji 4 formira na osnovu bita na pozicijama 5, 6 i 7.
U slučaju da je došlo do greške u prenosu nekog bita kodne reči, pojaviće se greška u barem
jednoj od dodatih provera na parnost. Prijemnik proverava svaki od dodatih bita, i beleži rezultat.
Neka je ri rezultat provere za bit pi sa slike, i neka je ri=0 ukoliko je provera na parnost
38
zadovoljena, a ri=1 ukoliko je došlo do greške. Kada rezultat svih izvršenih provera zapišemo kao
binarni broj u formi r3 r2 r1, dobićemo nulu ukoliko greške nije bilo ni na jednom od bita, ili neki
broj različit od nule. Taj broj daje nam poziciju bita na kome je došlo do greške (recimo, 110
označava da je do greške došlo na bitu broj 6, tj. da je pogrešno prenet informacioni bit d3).
Slika 65. Hamingov kod (7,4)
3.3.2. Konvolucioni kodovi
Konvolucioni koderi generišu n bita na izlazu, na osnovu k ulaznih bita, kao i informacije o
m prethodnih k-torki podataka koje su bile na ulazu kodera. Drugim rečima, konvolucioni koderi
imaju memoriju. Kod se označava sa (n, k, m), gde je k dužina ulazne sekvence, m broj k-torki koje
koder pamti, a n dužina generisane sekvence. Kodni količnik definiše se kao R = k/n. Domašaj koda
dat je sa K = n (m + 1), i predstavlja broj bita na izlazu kodera koji zavise od jednog bita na ulazu.
Svaki bit koji se pojavi na ulazu kodera učestvuje u stvaranju m+1 izlaznih sekvenci dužine n.
i) Konvolucioni koder
Konvolucioni koder može se posmatrati kao konačni automat i predstaviti Markovljevim
dijagramom. Slika 66 predstavlja konvolucioni koder (2, 1, 2), koji za jedan ulazni bit generiše dva
bita na izlazu, pri čemu ima memoriju dužine 2 i pamti dva prethodna bita.
Slika 66. Konvolucioni koder (2, 1, 2)
39
Dijagram stanja za ovaj koder dat je na slici Slika 67. Prelazi između stanja označeni su
strelicama sa labelama oblika a/b1b2. Dolaskom bita a na ulaz kodera, emituje se sekvenca b1b2.
Zatim se zapamćeni biti u registrima kodera pomeraju u desno, kako bi se oslobodilo mesto za bit
a. Na ovaj način istiskuje se krajnji desni bit, a bit a se pamti u registar levo na slici Slika 66. Koder
prelazi u novo stanje.
Slika 67. Dijagram stanja konvolucionog kodera
Najjednostavniji način da se posmatraju sekvence koje konvolucioni koder generiše je
formiranje trelis dijagrama - Slika 68. Koder polazi iz stanja svih nula (00), i posle prvog koraka
može se naći u jednom od dva stanja (00 ili 10). Prelazi su označeni linijama na dijagramu, kao i
odgovarajućom sekvencom bita koji se generišu na izlazu kodera. Po ovom principu nastavlja se
formiranje dijagrama, sve dok se isti obrazac ne počne ponavljati u svakom koraku.
Slika 68. Trelis dijagram konvolucionog kodera
40
ii) Viterbi algoritam detektovanja
Viterbijev algoritam koristi se za dekodovanje konvolucionih kodova. Ovaj algoritam na
osnovu primljenih bita određuje koja je sekvenca ulaznih bita za koder bila najverovatnija.
Za Viterbi algoritam dekodovanja koristi se trelis dijagram kodera - Slika 68. Pretpostavimo
da se na ulazu kodera našao niz svih nula, tj. da je poslata sekvenca data sa 000000. Neka je došlo
do greške u prenosu, i neka je na prijemnoj strani detektovana sekvenca 100000.
Sa trelis dijagrama možemo videti da, posle trećeg koraka, do svakog stanja kodera postoje
dve moguće putanje. Želimo da odredimo koja od njih je verovatnija, a da odbacimo onu manje
verovatnu. Stoga računamo Hamingovo rastojanje primljene sekvence, i sekvence pridružene svakoj
od putanja na trelis dijagramu. Hamingovo rastojanje definiše se kao broj bita koji se u dve
sekvence razlikuju.
Posmatrajmo stanje 00. Do njega smo mogli stići putanjom koja emituje sekvencu 000000,
ili putanjom koja emituje sekvencu 111011. Hamingovo rastojanje primljene sekvence 100000 i
prve putanje je 1, dok je Hamingovo rastojanje primljene sekvence i druge putanje 4. Zato
odbacujemo putanju 111011, i sa trelis dijagrama brišemo granu koja označava prelaz iz stanja 01 u
00 - Slika 69. Po istom principu, eliminišemo po jednu od putanja do preostalih stanja - Slika 70.
Treba primetiti da smo odbacili i neke grane trelisa sa dubine 2 (recimo, prelaz iz 00 u 10 u drugom
koraku):
Slika 69. Prvi korak dekodovanja
Proces dekodovanja nastavljamo tako što dodamo nove moguće prelaze na trelis dijagram
(četvrti korak), usled čega opet imamo po dve moguće putanje do nekog stanja. Po istom principu
eliminišemo manje verovatne putanje, tj. one koje imaju veće Hamingovo rastojanje od primljene
sekvence. Tokom ovog procesa odbacivanja grana, u nekom trenutku će nam ostati samo jedna
moguća grana na dubini 1, čime smo dekodovali prvi bit poslatog podatka.
Proces se na isti način nastavlja dok se ne dekoduju svi biti.
41
Slika 70. Nastavak dekodovanja
Recommended