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
![Page 1: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/1.jpg)
Konvolučné kódy
![Page 2: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/2.jpg)
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)
![Page 3: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/3.jpg)
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
![Page 4: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/4.jpg)
Konkrétne realizácie konvolučného kódera
![Page 5: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/5.jpg)
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
![Page 6: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/6.jpg)
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)(
)(
![Page 7: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/7.jpg)
Určenie výst. kódového slova pomocou gen. pol.
![Page 8: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/8.jpg)
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)
![Page 9: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/9.jpg)
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ú
![Page 10: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/10.jpg)
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
![Page 11: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/11.jpg)
Opis pomocou stavového diagramu
![Page 12: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/12.jpg)
Opis pomocou stavového diagramu
![Page 13: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/13.jpg)
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ť
![Page 14: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/14.jpg)
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).
![Page 15: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/15.jpg)
Dekódovanie konvolučných kódov
![Page 16: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/16.jpg)
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.
![Page 17: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/17.jpg)
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
![Page 18: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/18.jpg)
Kompenzácia viacnásobných chýb: Interleaving• umožňuje kompenzovať tzv. burst errors – chyby vyskytujúce sa v zhlukoch
![Page 19: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/19.jpg)
Kompenzácia viacnásobných chýb: Interleaving
![Page 20: K onvolučné kódy](https://reader035.vdocuments.site/reader035/viewer/2022081511/568157ad550346895dc53a23/html5/thumbnails/20.jpg)
Ď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)