You are on page 1of 52

Teorija informacija i komunikacija

Sekvencijalno dekodovanje
Teorija informacija i komunikacija

Za veće vrednosti dužine memorije, M, razvijen je čitav niz suboptimalnih


postupaka dekodovanja trelis kodova, poznatijih pod zajedničkim nazivom
"sekvencijalno dekodovanje".

Osnovna ideja:
Razmotati trelis u stablo, tako što će se stanja u trenutku n razlikovati ne
samo ukoliko je u tom trenutku sadržaj memorije različit, nego i ukoliko se
informacione sekvence koje su do tog (tih) stanja dovele različite.

Sekvencijalno dekodovanje
Teorija informacija i komunikacija

Nastavak osnovne ideje


Algoritam plaća jedno "računanje" (dinar, sekund,...) svaki put kad od
kopije kodera traži da mu za željeno stanje da izlaz iz kodera.
Stanje: prethodnih KM informacionih simbola (bita u do sada
analiziranom slučaju).

Sekvencijalno dekodovanje
Teorija informacija i komunikacija

Fanoova metrika proističe od zahteva za minimalnom verovatnoćom


greške pri dekodovanju kodova sa promenljivom dužinom kodnih reči.
Pretpostavimo da je maksimalna dužina neke kodne reči iz takvog koda
Ns. Pretpostavimo da se, nakon prijema kodne reči dužine Nf < Ns, primi
još Ns - Nf grana (po N bita svaka) generisanih iz neke mašine čije nam
funkcionisanje nije poznato, ali za koju važi ista apriorna verovatnoća
pojave svakog simbola kao i za naš kod.

m – poruka, kodovana u reč dužine f

Fanoova metrika
Teorija informacija i komunikacija

Fanoova metrika
Teorija informacija i komunikacija

Dovoljno je, znači, maksimizovati

Metrika se, kao i ranije, dobija logaritmovanjem ove verovatnoće.

Fanoova metrika
Teorija informacija i komunikacija

gde je
R=K/N
bitska
Fanoova
metrika

Fanoova metrika
Teorija informacija i komunikacija

Produži put sa najvećom Fanoovom metrikom u poluistraženom


stablu. Ukoliko je put sa najvećom Fanoovom metrikom na kraju
stabla (trelisa) stop.

Stek algoritam sekvencijalnog dekodovanja


Teorija informacija i komunikacija

Osobine sekvencijalnih dekodera


Teorija informacija i komunikacija

1. Mala veravatnoća greške - u principu istog reda veličine kao za VA


(ali VA se ne može realizovati za veće M);

2. Količina računanja je skoro nezavisna od dužine koda, pa se mogu


koristiti za dekodovanje vrlo dugih kodova (M = 24 - 48);

3. Lako se prilagođava finom odlučivanju (SD);

Osobine sekvencijalnih dekodera


Teorija informacija i komunikacija

4. Količina računanja je slučajna promenljiva sa Paretoovom


raspodelom. Praktično, uz prihvatljivu vremensku kompleksnost
dekodovanja, mora se dozvoliti određena količina "brisanja" (otkaz
funkcije dekodera). Ova vrednost kreće se oko 10-3 za L ~ 10000.

5. Za razliku od VA, SEQD nemaju izrazene samosinhronišuće


osobine. Stoga je potrebno povremeno ubacivanje "repa" od M "0"
(K-torka nula), da bi se dekoder resinhronizovao nakon brisanja.

Osobine sekvencijalnih dekodera


Teorija informacija i komunikacija

Osobine dobrih trelis kodova


Teorija informacija i komunikacija

Jedna od osnovnih osobina trelis kodova je kolonsko rastojanje koda.

di = osnovno rastojanje i-tog reda


= najmanji broj izlaznih simbola koji se ne slažu od n = 0 do n = i + 1
(uključno), pod uslovom da se ulazi u trenutku n = 0 razlikuju.

Odavde sledi da je

Osobine dobrih trelis kodova


Teorija informacija i komunikacija

Osobine dobrih trelis kodova


Teorija informacija i komunikacija

Jedna od osnovnih osobina trelis kodova je kolonsko rastojanje koda.

di = osnovno rastojanje i-tog reda


= najmanji broj izlaznih simbola koji se ne slažu od n = 0 do n = i + 1
(uključno), pod uslovom da se ulazi u trenutku n = 0 razlikuju.

Osobine dobrih trelis kodova


Teorija informacija i komunikacija

Za konvolucioni (linearni) koder važi

Osobine dobrih trelis kodova


Teorija informacija i komunikacija

Osobine dobrih trelis kodova


Teorija informacija i komunikacija

Vrstno rastojanje očigledno opada, pošto sa porastom i u skup po kom


se vrši minimizacija samo dodaju novi članovi, a stari ostaju u
njemu.Očigledno bi trebalo da važi i

Dakle

Međutim, ima kodova za koje ovo ne važi!


Ovi kodovi nazivaju se katastrofalni.

Osobine dobrih trelis kodova


Teorija informacija i komunikacija

PRIMER – Kolonsko i vrstno rastojanje


Primer

000 0 7 7,6 6,7 6,7 6,8

100 2 5 9,4 8,5 8,3 8,6

010 3 4 6,7 5,5 6,7 6,6

110 3 4 6,7 5,7 6,5 6,6

001 5 4 6,5 5,7 7,6 8,6

101 3 6 4,7 8,9 5,8 6,8

011 4 5 5,6 7,6 6,7 7,7

111 4 5 5,6 7,6 6,7 7,7

+ i 0 1 2 3 4 5 6 7

di 2 3 3 4 4 5 5 6

+ ri 7 6 6 6 6

Kolonsko i vrstno rastojanje


Teorija informacija i komunikacija

PRIMER – Stek algoritam


Primer

11 00 01 11 11 11 10 11 00 11
0000
0000 - 28
- 10 1000 0100 0010 0001
0000 0001 1000 -8 -6 - 14 - 22
- 18 0010 - 12 - 30
-4 1001 0100
0000 0100 - 12
0 -6 - 20
1010 1100
1000 - 24 0011 - 20
2 0110 - 32
0101
0110 - 14 1011 - 30 0110
- 12
-6 1101 - 28
1110 - 10
- 14 1110
-8 0111 0011 0001 0000
-6 -4 - 12 - 10

Metrika poklapanja: 1
+
Metrika razlikovanja: - 9
Koder počinje i završava rad u
+ nultom stanju!

Stek algoritam
Teorija informacija i komunikacija

PRIMER – Fanoov algoritam


Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

0 Koren 0 0
1 -8 -∞ T↓ Koren 0 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

1 -8 -∞ T↓ Koren 0 - 10
2 -8 → 0 -8 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

2 -8 → 0 -8 - 10
3 -6 → 01 -6 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

3 -6 → 01 -6 - 10
4 -4 → 010 -4 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

4 -4 → 010 -4 - 10
5 - 12 -6 ← 01 -6 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

5 - 12 -6 ← 01 -6 - 10
6 - 24 -8 ← 0 -8 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

6 - 24 -8 ← 0 -8 - 10
7 - 26 0 ← Koren 0 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

7 - 26 0 ← Koren 0 - 10
8 -8 → 0 -8 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

8 -8 → 0 -8 - 10
9 - 16 0 ← Koren 0 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

9 - 16 0 ← Koren 0 - 10
10 -∞ T↓ Koren 0 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

10 -∞ T↓ Koren 0 - 20
11 -8 → 0 -8 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

11 -8 → 0 -8 - 20
12 -6 → 01 -6 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

12 -6 → 01 -6 - 20
13 -4 → 010 -4 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

13 -4 → 010 -4 - 20
14 - 12 → 0100 - 12 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

14 - 12 → 0100 - 12 - 20
15 - 10 → 01001 - 10 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

15 - 10 → 01001 - 10 - 10
16 -8 → 010011 - 8 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

16 -8 → 010011 -8 - 10
17 -6 → 010011(0) -8 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

17 -6 → 010011(0) -8 - 10
18 -4 → 010011(00) -4 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

18 -4 → 010011(00) -4 - 10
19 - 12 -6 ← 010011(0) -6 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

19 - 12 -6 ← 010011(0) -6 - 10
20 -8 ← 010011 -8 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

20 -8 ← 010011 -8 - 10
21 - 10 ← 01001 - 10 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

21 - 10 ← 01001 - 10 - 10
22 - 28 - 12 T↓ 01001 - 10 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

22 - 28 - 12 T↓ 01001 - 10 - 20
23 -8 → 010011 -8 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

23 -8 → 010011 -8 - 20
24 -6 → 010011(0) -6 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

24 -6 → 010011(0) -6 - 20
25 -4 → 010011(00) -4 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

25 -4 → 010011(00) -4 - 20
26 - 12 → 010011(000) - 12 - 20

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

26 - 12 → 010011(000) - 12 - 20
27 - 10 → 010011(0000) - 10 - 10

Fanoov algoritam
Primer

01 11 10 11 10 10 11 00 00 11

0000
0010 0000 - 30 0000
- 26
0000 - 12 1000 - 28
0001 1000 - 10 1000 0100 0010 0001 0001
-8
1010 -4 - 12 -8 -6 -4 - 12 - 10
0000 -6 1001
0 0110 - 24
- 16
1000
-8
1110
- 16

N Mf Mb Akcija Put M T

26 - 12 → 010011(000) - 12 - 20
27 - 10 → 010011(0000) - 10 - 10

Fanoov algoritam
Teorija informacija i komunikacija

Predavanja: Prof. dr Vojin Šenk Grafika: Branislav Popović

You might also like