360 likes | 806 Views
Uvod u teoriju informacija. Doc. dr. sc. Sven Lončarić http://ipg.zesoi.fer.hr. Pregled tema. Uvod Osnovni pojmovi iz teorije informacija mjera količine informacije entropija Kodiranje definicija entropijsko kodiranje linearno blokovsko kodiranje Zaključak. Uvod.
E N D
Uvod u teoriju informacija Doc. dr. sc. Sven Lončarić http://ipg.zesoi.fer.hr
Pregled tema • Uvod • Osnovni pojmovi iz teorije informacija • mjera količine informacije • entropija • Kodiranje • definicija • entropijsko kodiranje • linearno blokovsko kodiranje • Zaključak
Uvod • U digitalnim komunikacijskim sustavima važno pitanje je kako kodirati digitalnu poruke koje se šalju kroz komunikacijski kanal • Kodiranje je proces u kojem se svakoj digitalnoj poruci dodjeljuje jedan kod koji se zatim šalje kroz kanal
Uvod • Za optimalno kodiranje informacije koja se šalje kroz komunikacijski kanal važno je opisati količinu informacije sadržane u pojedinim porukama koje se šalju • Zato je potrebno imati način mjerenja količine informacija u porukama
Mjerenje informacije • Što je vjerojatnost poruke veća, poruka sadrži manju količinu informacije • Prvi zahtjev: Mjera za količinu informacije treba biti takva da monotono pada s porastom vjerojatnosti poruke
Mjerenje informacije • Drugi zahtjev: Ako netko pošalje dvije poruke onda ukupna količina informacije treba biti jednaka zbroju pojedinih količina informacije • Ako su dvije poruke statistički nezavisne onda je vjerojatnost kombinacije jednaka produktu vjerojatnosti pojedinih poruka
Mjerenje informacije • Funkcija koja zadovoljava oba zahtjeva je logaritam • Zato se informacijski sadržaj poruke x definira izrazom: gdje je px vjerojatnost poruke x
Mjerenje informacije • Uobičajeno je da se koristi logaritam s bazom dva jer na taj način količina informacije sadržana u poruci predstavlja broj bitova potrebnih za opis poruke • Kada se koristi logaritam s bazom dva onda se količina informacija mjeri (izražava) u bitovima
Primjer • Neki restoran ima četiri jela na jelovniku koja imaju jednaku vjerojatnost narudžbe (1/4) • Količina informacije u svakoj poruci (narudžbi) je onda jednaka dva • Ako se koristi binarni kod onda jela mogu biti kodirana pomoću dva bita 00, 01, 10, i 11
Entropija • Entropija je definirana kao prosječna količina informacije sadržana u porukama • Da bi se izračunala entropija treba pomnožiti količinu informacije sadržanu u svakoj poruci s vjerojatnošću poruke i zbrojiti dobivene rezultate:
Primjer • Neki izvor informacije šalje šest poruka s vjerojatnostima 1/4, 1/4, 1/8, 1/8, 1/8, 1/8 • Količina informacije u pojedinim porukama je 2, 2, 3, 3, 3, 3 • Entropija je jednaka 2,5 bitova • To znači da je prosječna količina informacije u porukama jednaka 2,5 bitova
Entropija binarnog izvora • Ako imamo binarni izvor informacije (izvor koji šalje samo dvije poruke) onda entropija tog binarnog izvora ovisi o vjerojatnosti poruka • Neka je vjerojatnost prve poruke jednaka p, vjerojatnost druge poruke tada je jednaka 1 - p • Entropija izvora je tada jednaka:
Entropija binarnog izvora • Kad jedna od poruka postaje vjerojatnija entropija pada H 1 p 1/2 1
Brzina prijenosa informacije • Pretpostavimo da neki izvor informacija šalje poruke brzinom od r poruka/s • Znajući vjerojatnost pojedine poruke možemo izračunati entropiju H tj. prosječnu količinu informacije (u bitovima) • Brzina prijenosa informacija jednaka je produktu entropije H i brzine poruka r i mjeri se u bitovima u sekundi (bps)
Primjer • Ako izvor šalje poruke kao u prethodnom primjeru izračunato je ranije da je entropija H = 2,5 bitova • Ako je brzina slanja r = 2 poruke/s onda je brzina slanja informacije jednaka 5 bps
Kapacitet kanala • Intuitivno možemo zaključiti da uz dani komunikacijski kanal kako brzina prijenosa informacija kroz kanal raste da raste i broj pogrešaka u sekundi • Shannonov teorem kaže da svaki komunikacijski kanal ima neku maksimalnu brzinu prijenosa informacija C koja se zove kapacitet kanala
Shannonov teorem • Ako je brzina prijenosa informacija R manja od kapaciteta kanala C onda se upotrebom odgovarajućih tehnika kodiranja može postići proizvoljno male vjerojatnosti pogreške • Ova tvrdnja vrijedi čak i uz prisutnost šuma
Shannonov teorem • Vrijedi i obrat Shannonovog teorema: • Ako je brzina prijenosa informacija R veća od kapaciteta kanala C onda se pogreške ne mogu izbjeći nezavisno od načina kodiranja
Kanal s Gaussovim šumom • Primjena Shannonovog teorema na kanal ograničenog pojasa kroz koji se prenose poruke uz prisustvo aditivnog bijelog Gaussovog šuma daje slijedeći kapacitet kanala C : gdje je s odnos signal/šum, a B je širina pojasa
Kanal s Gaussovim šumom • Prethodni izraz je intuitivno jasan: • Kako širina pojasa raste moguće je i brže slati poruke pa je i kapacitet kanala veći • Ako nema šuma onda je odnos signal/šum s jednak beskonačnosti pa se dobiva beskonačni kapacitet nezavisno od širine pojasa
Kanal s Gaussovim šumom • Treba napomenuti da beskonačna širina pojasa ne vodi automatski ka beskonačnom kapacitetu kanala jer se uz veću širinu pojasa povećava i snaga šuma pa pada odnos signal/šum
Kodiranje • Problem kodiranja: • Svakoj od danih M mogućih poruka treba dodijeliti M kodnih riječi • Kodne riječi se mogu odabrati tako da se optimizira efikasnost, frekvencija pogrešaka ili sigurnost poruka
Jednoznačno dekodiranje • Kodovi se moraju pažljivo odabrati da bi se mogli jednoznačno dekodirati • Primjer: Neka imamo četiri poruke i kodove • M1=1, M2=10, M3=01, M4=101 • Pretpostavimo da na prijemnoj strani primimo kod 101 - ne bi znali da li je to poruka M4 ili M1M3 ili M2M1 (kod se ne može jednoznačno dekodirati) • Kod M1=1, M2=01, M3=001, M4=0001 se može jednoznačno dekodirati
Entropijsko kodiranje • Entropijsko kodiranje je metoda za određivanje jednoznačnog koda minimalne dulljine • Minimalna duljina koda omogućuje maksimalnu brzinu prijenosa informacije kroz kanal • Ideja je da se porukama s većom vjerojatnošću dodijele kraće kodne riječi • Jedan primjer entropijskog algoritma je Huffmanov kod
Huffmanov kod: Primjer • Primjer: Neka imamo pet poruka s1, s2, s3, s4, s5 s vjerojatnostima 1/16, 1/8, 1/4, 1/16, 1/2 • 1. Poredati poruke prema vjerojatnostima • s5 1/2 • s3 1/4 • s2 1/8 • s1 1/16 • s4 1/16
Huffmanov kod • 2. Kombinirati dva donja retka u jedan s zbrojenim vjerojatnostima: • s5 1/2 1/2 • s3 1/4 1/4 • s2 1/8 1/8 • s1 1/16 1/8 • s4 1/16
Huffmanov kod • 3. Ponavljati postupak sve dok ne ostanu samo dva retka: • s5 1/2 1/2 1/2 • s3 1/4 1/4 1/4 • s2 1/8 1/8 1/4 • s1 1/16 1/8 • s4 1/16
Huffmanov kod • 4. Ponavljati postupak sve dok ne ostanu samo dva retka: • s5 1/2 1/2 1/2 1/2 • s3 1/4 1/4 1/4 1/2 • s2 1/8 1/8 1/4 • s1 1/16 1/8 • s4 1/16
Huffmanov kod • 5. Dodijeliti kodne riječi s desna na lijevo dodajući novi bit kod svakog dijeljenja: • s5 1/2 1/2 1/2 1/2 0 • s3 1/4 1/4 1/4 10 1/2 1 • s2 1/8 1/8 110 1/4 11 • s1 1/16 1110 1/8 111 • s4 1/16 1111
Linearno blokovsko kodiranje • Kod linearnog blokovskog kodiranje poruke se formiraju kao skupovi određenog broja simbola • Npr. kod binarnog izvora informacija postoje dva moguća simbola: 0 i 1 • Ako formiramo grupe od po tri simbola možemo formirati osam mogućih poruka: 000,001,010,011,100,101,110,111 • Svakoj od ovih poruka možemo dodijeliti jedan kod
Linearno blokovsko kodiranje • Dodijeljeni kod može biti iste duljine kao i duljina poruke ali može biti i dulji - u tom slučaju imamo redundanciju (redundantni kod) • Kodovi koji korigiraju pogrešku su redundantni • Kod proučavanja takvih kodova važan je pojam udaljenosti između dva koda • Udaljenost dvaju kodova je definirana kao broj različitih bitova
Linearno blokovsko kodiranje • Npr. udaljenost između kodova 000 i 111 je 3 • Problem ovakvog koda je da ako se jedan bit promijeni uslijed smetnji prijemna strana ne može detektirati grešku • Npr. kod slijedećeg koda 0000,0011,0101,0110,1001,1010,1100,1111 razlika između svaka dva koda jednaka je 2 • Ako se desi pogreška u jednom bitu prijemnik može detektirati pogrešku ali je ne može korigirati
Linearno blokovsko kodiranje • Pretpostavimo da imamo slijedeći kod: 01111,10011,01000 • Tada je udaljenost između kodova 3 • Ukoliko se desi pogreška samo u jednom bitu prijemnik može detekirati pogrešku i korigirati ju
Zaključak • Predstavljeni su neki osnovni pojmovi iz teorije informacija kao što su mjera za količinu informacije, entropija • Definiran je problem kodiranja kao problem pridruživanja koda svakoj poruci pri čemu se može optimizirati duljina koda, vjerojatnost pogreške ili sigurnost poruke