You are on page 1of 7

FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I

INFORMACIJSKIH TEHNOLOGIJA

Stručni studij, 4. semestar

Informacijski sustavi i računalne mreže SAR401-17


Ime i prezime studenta: Broj indeksa: Datum: Pregledao:
MARKO ŠARIĆ 12.5.2020

Laboratorijska vježba broj 2:

Entropijsko kodiranje

U telekomunikacijama kodiranje se, prema mjestu na kome se provodi, općenito dijeli


na dvije skupine. Tako postoji kodiranje izvora i kodiranje kanala. Kodiranje izvora se
provodi na samom izvoru informacije s ciljem smanjivanja količina podataka (izdvaja se
redundancija
[zalihost] u podacima, odnosno provodi se sažimanje podataka) koji će se prenositi. Kodiranje
kanala se provodi prije prijenosa informacije preko komunikacijskog kanala, služi za zaštitu
informacija tijekom prijenosa i jako ovisi o vrsti komunikacijskog kanala.

kodiranje kodiranje
Izvor
izvora kanala

Komunikacijski

kanal

dekodiranje dekoder
Prijem
izvora kanala

Slika 1: Komunikacijski sustav

U ovoj vježbi ćemo se usredotočiti na entropijsko kodiranje (kodiranje izvora), odnosno na


optimalno kodiranje.

Prije dolaska na vježbu proučite Hufmann-ovo kodiranje!

Kao primjeri (koji mogu poslužiti za pripremu kod kuće) riješena su dva zadatka – jedan za
ravnomjerni, a jedan za Huffmanov kod:
Kodne riječi IME_PREZIME kodirati ravnomjernim i Huffmanovim kodom:
- prvo je potrebno ispisati sve znakove u imenu i prezimenu te pronaći vjerojatnosti njihove
pojave:

REDNI BROJ PONAVLJANJA VJEROJATNOST POJAVE


BROJ ZNAK
1. I 2 2/11
2. M 2 2/11
3. E 3 3/11
4. P 1 1/11
5. R 1 1/11
6. Z 1 1/11
7. _ 1 1/11

Vidimo da postoji ukupno sedam znakova te smo dijeljenjem njihovog broja pojavljivanja s
ukupnim brojem znakova u poruci dobili njihove vjerojatnosti pojave.
Entropija ulaznog skupa bi iznosila:
𝑛

𝐻(𝑋) = − ∑ 𝑝(𝑥𝑖) ∗ 𝑙𝑑𝑝(𝑥𝑖)


𝑖=1

H(X) = 2,66353 bit/znaku

I to je granica sažimanja podataka bez gubitka informacije.


Kako se cijeli skup sastoji od sedam znakova ravnomjerni kod za kodiranje vijesti tog skupa
bi morao imati 3 bita (23 = 8 > 7), dok bi se Huffmanovom metodom postigla srednja duljina
kodne riječi od 2,72727.
Znak p(xi) Ravnomjerni kod
I 2/11 000
M 2/11 001
E 3/11 010
P 1/11 011
R 1/11 100
Z 1/11 101
_ 1/11 110

Huffmanovom metodom dobivamo:


Napomena: dva znaka s najmanjim vjerojatnostima grupiraju se i zbroje se njihove
vjerojatnosti pojavljivanja → svakom se, ukoliko su istih vrijednosti vjerojatnosti,
proizvoljno, dodijeli 0 ili 1 (u ovom je primjeru gornja 0, donja 1) → ukoliko se pojave
različite vrijednosti vjerojatnosti, u ovom je primjeru takvoj dodijeljena 1→ postupak se
ponavlja (stalno se grupiraju po dvije najmanje vrijednosti) dok suma svih vjerojatnosti ne
bude 1.

Slijedi očitavanje koda za svaki znak s D na L, dok je zapis koda s L na D. Primjerice:


_ (0 1 1) ili z (0 1 0)

Znak p(xi) Huffmanov kod


E 3/11 0
11/11
7/11
1
I 2/11 1
0
M 2/11 1 4/11

P 1/11
0 0
R 1/11 1
2/11
0

Z 1/11 1
4/11
0
2/11
_ 1/11 1

Efikasnosti kodova su redom:

rav. = H(X)/Lrav. = 2,66353/3 = 0,8878 = 88,78%

opt. = H(X)/Lopt. = 2,66353/2,72727 = 0,9766 = 97,66%

Gdje je L srednja duljina kodne riječi, a izračunava se:

𝑛 𝑛

𝑳 = ∑ 𝑝(𝑥𝑖)𝑙(𝑥𝑖) = ∑ 𝑝𝑖𝑙𝑖 [bit/simbol]


𝑖=1 𝑖=1

(l je broj bita svakog znaka. Primjer: uz znak z stoji 3 bita)

Da bi kod bio reverzibilan mora vrijediti Kraftova nejednadžba:


N

2 2nk n(x) 1.

k1 xX

Gdje je nk duljina kodne riječi k.


Zadaci za pripremu:
1. Svoje ime_prezime kodirati ravnomjernim kodom i Huffmanovim kodom.
REDNI BROJ ZNAK BROJ PONAVLJANJA VJEROJATNOST POJAVE
1. M 1 1/11
2. A 2 2/11
3. R 2 2/11
4. K 1 1/11
5. O 1 1/11
6. Š 1 1/11
7. I 1 1/11
8. Ć 1 1/11
9. _ 1 1/11

Ravnomjerni kod: Huffmanov kod:


Znak p(xi) Ravnomjerni kod Znak p(xi) Huffmanov kod
M 1/11 0000 A 2/11 000
A 2/11 0001 R 2/11 010
R 2/11 0010 M 1/11 0110
K 1/11 0100 K 1/11 0111
O 1/11 1000 O 1/11 100
Š 1/11 0011 Š 1/11 101
I 1/11 0101 I 1/11 110
Ć 1/11 1010 Ć 1/11 111
_ 1/11 1100 _ 1/11 001

2. Izračunati entropiju, prosječnu duljinu kodne riječi, te efikasnost svakog koda.

H(x) L 
Ravnomjerni kod 3,0956 4 77,39%
Huffmanov kod 3,0958 3,18182 97,29/
IZRADA VJEŽBE

Zadatak 1: Za Sveučilište_Josipa_Jurja_Strossmayera ponoviti postupak iz pripreme


(obje metode).

REDNI BROJ ZNAK BROJ PONAVLJANJA VJEROJATNOST POJAVE


1. S 5 5/37
2. V 1 1/37
3. E 3 3/37
4. U 2 2/37
5. Č 1 1/37
6. I 3 3/37
7. L 1 1/37
8. Š 1 1/37
9. _ 3 3/37
10. J 3 3/37
11. O 2 2/37
12. P 1 1/37
13. A 4 4/37
14. R 3 3/37
15. T 2 2/37
16. M 1 1/37
17. Y 1 1/37

Ravnomjerni kod: Huffmanov kod:


Znak p(xi) Ravnomjerni kod Znak p(xi) Huffmanov kod
S 5/37 00000 S 5/37 000
V 1/37 00001 A 4/37 100
E 3/37 00010 E 3/37 0010
U 2/37 00011 I 3/37 0100
Č 1/37 00100 _ 3/37 0101
I 3/37 00101 J 3/37 0110
L 1/37 00110 R 3/37 0111
Š 1/37 00111 U 2/37 1010
_ 3/37 01000 O 2/37 1100
J 3/37 01001 T 2/37 1101
O 2/37 01010 V 1/37 11100
P 1/37 01011 Č 1/37 11101
A 4/37 0110 L 1/37 11110
R 3/37 01101 Š 1/37 11111
T 2/37 01110 P 1/37 00110
M 1/37 01111 H 1/37 00111
Y 1/37 10000 Y 1/37 1011

Izračunati entropiju, prosječnu duljinu kodne riječi, te efikasnost svakog koda.

H(x) L 
Ravnomjerni kod 3,87 5 78%
Huffmanov kod 3.87 3.91 98.85%

Provjerite reverzibilnost koda.

Zadatak 2: Nakon izračunavanja oba koda, pomoću funkcije Huffman.m (prilog) kodirati
zadani niz (datoteka Huffman.m se nalazi na Loomen-u u folderu gdje se nalazi i ovaj
predložak). Prepisati huffmanov kod, te vrijednosti za entropiju i efikasnost.
Provjerite reverzibilnost koda.

ZAKLJUČAK: Nisam uspio zalijepiti slike u preloženo mjesto te sam ih zalijepio ispod
zaključka…

You might also like