Obr. 2.8 – Časové průběhy pro výklad dekódování konvolučních kódů

2.6.5 Dekódování konvolučních kódů (1/2)

Pro dekódování konvolučních kódů se používá algoritmus, který v roce 1967 odvodil Viterbi. Informační posloupnost u = [u0; u1; u2; …] je konvolučně kódována ve výstupní posloupnost je v = [v0; v1; v2; …]. Přijatá posloupnost je r = [r0; r1; r2; …] se bude od vysílané lišit v důsledku průchodu komunikačním kanálem, kde působí rušení a šumy. Dekodér má za úkol obnovit i při pozměněné kódované posloupnosti původní informační posloupnost u.

Pro nalezení nejpravděpodobnější cesty hledáme minimální vzdálenost (metriku) mezi přijatou posloupností a možnou cestou v mřížkovém diagramu (vi - ri)2. Rozhodnutí jsou prováděna pro dílčí cesty, v každém uzlu mřížkového grafu se vyhodnocuje metrika cesty, jako součet dílčích metrik. Vybraná část cesty je nazývána pokrytím cesty. Známe-li pokrytí cesty, odvodíme přijatou posloupnost.

Jelikož se jedná o základní mechanismus používaný u digitálních komunikačních systémů, ukážeme si postup podrobně na příkladu opět pro kodér z obr. 2.6. Budeme uvažovat binární symboly reprezentované hodnotami napětí v přenosovém kanále tak, že "0" = -1; "1" = +1 ve voltech, jak ukazuje obr. 2.8.

Pro vstupní sekvenci u = [0;1;1;0;0] bude výstupní posloupnost po konvolučním kódování v = [0;0;1;1;0;1;0;1;1;1] vyjádřená impulsy o napětí ±1 V a šířce T. Po průchodu ideálním kanálem bychom měli přijímat rovněž hodnoty –1 nebo +1. Po průchodu skutečným kanálem se však bude signál v důsledku šumu a zkreslení podstatně lišit od vysílaného impulsního průběhu. Pro obnovu signálu používáme rozhodovací okamžiky v polovině šířky ideálního impulsu T/2. Rozhodovací okamžiky se získávají z taktonosné složky odvozené přímo z přijímaného signálu. Odečtením okamžitých hodnot časového průběhu přijímaného signálu r v rozhodovacích okamžicích získáme přijatou sekvenci např.

r = [-0,8; -0,5; 1,2; -0,5; -0,9; 0,7; 0,8; 1,1; 1,1; 0,9].

Pokud bychom použili konvenční způsob regenerace digitálního signálu, použili bychom rozhodovací úroveň např. v polovině mezi hodnotami ±1 V, tj. 0 V. V takovém případě bychom získali obnovenou posloupnost ve tvaru v´ = [0;0;1;0;0;1;0;1;1;1], která se liší od vysílané na čtvrté pozici vyznačené podtržením. Úkolem detekčního algoritmu je tuto chybu opravit.