200 likes | 369 Vues
K onvolučné kódy. Blokové vs. konvolučné kódy. blokové kódy (n,k) : k – info. bitov -> n – bitové kódové slovo kódové slovo závisí len od k aktuálnych info. bitov vstupné dáta sú spracovávané po blokoch („paralelne“)
E N D
Blokové vs. konvolučné kódy • blokové kódy (n,k): k – info. bitov ->n – bitové kódové slovo • kódové slovo závisí len od k aktuálnych info. bitov • vstupné dáta sú spracovávané po blokoch („paralelne“) • pre väčšie hodnoty k sa vyžadujú pomerne veľké vyrovnávacie pamäte (buffers) • konvolučné kódy (n,k): k –info bitov -> n – bitové kódové slovo • kódové slovo závisí aj od predchádzjúcichk – tic info. bitov (pamäťové kódy) • k je obyčajne malé číslo (1,2,3 ... bity) • spracovávajú info. sériovo – pomerne jednoduchá realizácia pomocou klopných obvodov (tzv. flip-flop)
Všeobecná štruktúra konvolučného kódera • v každom takte je do konv. kódera vsunutá k-tica bitov • každej k-tici vstup. bitov je priradená n-tica výstupných • L – počet k-tic, ktoré ovplyvnia výstupnú n-ticu – tzv. dĺžka kódového ohraničenia • Rc = k/n – informačný (kódový) pomer konvolučného kódera
Opis pomocou generačných polynómov • KK (n,1) môžeme opísať množinou n generačných polynómov • D je zhodné s premennou X u cyklických kódov • často sa na vyjadrenie používa osmičková číselná sústava • získanie generačných polynómov • analógia s impulzovou odpoveďou filtra – na vstup privedieme jednotkový impulz a sledujeme výstup • na vstup privedieme postupnosť 1, 0, 0, 0, 0, ... • sledujeme postupnosti bitov v n - výstupných vetvách kódera • prevedieme ich na polynomické vyjadrenie
Opis pomocou generačných polynómov • Príklad: kóder (2,1) podľa obr. má generačné polynómy
Opis pomocou generačných polynómov • Príklad: určite výstup KK podľa obr. pre vstupnú postupnosť 1,0,0,1,1 c = (1 1 1 0 1 1 1 1 0 1 0 1 1 1)
Opis pomocou kódového stromu • kódový strom (code tree) pre KKz predchádzajúceho príkladu • každá vetva zodpovedá vst. bitu • podľa konvencie: • vst. bit 0 : horná vetva • vst. bit 1 : spodná vetva • dvojica bitov pri každej vetve jen = 2 výstupných bitov • 1 0 0 1 1 – 11 10 11 11 01 • veľkosť stromu rastie exponenciálnes dĺžkou vstup. postupnosti • kódový strom sa opakuje po prvých 3 uzloch • 4 uzly a, b, c, d sa stále opakujú
Opis pomocou tzv. trelisu • trelis – z anglického „tree-like“ • rastie lineárne s dĺžkou vst. postupnosti • použitá konvencia: • vst. bit 0 : plná čiara • vst. bit 1 : čiarkovaná čiara
Dekódovanie konvolučných kódov • základný princíp: hľadanie minimálnej Hammingovej vzdialenosti prijatej postupnosti bitov od všetkých možných postupností, ktoré môžeme dostať na výstupe KK • používa sa Viterbiho algoritmus ktorý využíva opis KK pomocou trelisu • hľadá sa „cesta“ trelisom, ktorá minimalizuje vzdialenosť od prijatej postupnosti bitov • v každom uzle sa vyhodnocujú vzdialenosti (tzv. metriky) čiastočných ciest • ak do uzla vstupujú dve cesty – tá s väčšou metrikou sa vylúči • pre každú cestu sa počíta akumulovaná metrika (súčet metrík v jednotlivých uzloch) • cesta s najmenšou akumulovanou metrikou predstavuje postupnosť bitov s minimálnou vzdialenosťou od prijatej postupnosti, t.j. pravdepodobnú vyslanú postupnosť
akumulované metriky Dekódovanie konvolučných kódov Príklad: Predpokladajme, že na výstupe KK z predchádzajúceho príkladu sme dostali postupnosť 00000000..., ktorú sme prijali v prijímači ako 010001000... (vznikli 2 chyby).
Dekódovanie konvolučných kódov Poznámka k Viterbiho algoritmu: Ak majú dve cesty vchádzajúce do uzla rovnakú metriku, potom je možné vybrať náhodne jednu z nich.
Zhrnutie vlastností KK • opravné schopnosti KK závisia podobne ako u blokových kódov od „vzdialenostných vlastností“ postupností bitov na výstupe KK
Kompenzácia viacnásobných chýb: Interleaving • umožňuje kompenzovať tzv. burst errors – chyby vyskytujúce sa v zhlukoch
Ďakujem za pozornosť Použitý zdroj informácií: doc. Ing. Miloš Drutarovský, CSc. Materiály na cvičenia z predmetu Kódovanie a modulácie (2000)