k onvolučné kódy
DESCRIPTION
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“) - PowerPoint PPT PresentationTRANSCRIPT
Konvoluč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“)
– 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úcich k – 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
Konkrétne realizácie 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
22
21
1
1
DDg
DDDg)(
)(
Určenie výst. kódového slova pomocou gen. pol.
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
22
21
1
1
DDg
DDDg)(
)(
431 DDDm
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
Opis pomocou stavového diagramu
Opis pomocou stavového diagramu
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ť
Dekódovanie konvolučných kódov
akumulovanémetriky
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
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
Kompenzácia viacnásobných chýb: Interleaving
Ď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)