Transcript PPTX
Kodavimo teorija: Sąsūkų kodai KM Jonas Daugalas 1 Klaidas taisantys kodai • Blokiniai • Sąsūkų (konvoliuciniai, angl. convolutional) 2 Blokiniai kodai Informacija skaidoma į k ilgio blokus, kiekvienas jų nepriklausomai užkoduojamas į n ilgio bloką ir taip pat nepriklausomai iškoduojamas. 3 Sąsūkų kodai • Kiekvienas k simbolių ilgio informacijos srauto vienetas transformuojamas į n simbolių ilgio kodo vienetą. • Transformacija – tai funkcija nuo einamojo informacijos vieneto ir m prieš tai buvusių informacijos vienetų. • Praktikoje blokinių kodų blokų dydžiai yra daug didesni už sąsūkų kodų informacijos vienetų dydžius. 4 Sąsūkų kodai (kodavimo schema) 5 Privalumai • „Greitas kodavimas ir dekodavimas, vykstantys vienu metu su informacijos siuntimu ir gavimu“ [1] • „Kodavimo ir dekodavimo schemos labai paprastos, tuo tarpu blokiniams kodams sunku rasti efektyvius dekodavimo algoritmus (didelei daliai blokinių kodų efektyvūs dekodavimo algoritmai išvis neegzistuoja)“ [1] 6 Trūkumai • „Mažesnės klaidų ištaisymo galimybės nei blokiniame kodavime“ [1] • „Jų struktūra mažiau ištyrinėta, tuo tarpu blokinių kodų struktūra yra įvairesnė ir geriau išstudijuota, nes blokiniai kodai yra artimesni tradicinėms, gerai ištyrinėtoms matematinėms struktūroms“ [1] 7 Kodavimo aprašymai ir reprezentacijos • Generuojančiomis matricomis • Stumiamaisiais registrais (angl. shift registers) • Būsenų diagramomis • ... 8 Generuojanti matrica 𝑠 = 𝑠1, 𝑠2, 𝑠3, … Informacijos srautas reprezentuojamas begaliniu vektoriumi s: Generuojanti matrica G: 𝐺= G0 G1 G 2 … Gm G0 G 1 G2 … Gm G 0 G1 G2 … Gm ⋱ kur Gi yra k × n dydžio submatricos: 𝐺𝑖 = Užkoduotas srautas vaizduojamas vektoriumi c, kuris gaunamas dauginant informacijos vektorių dauginant iš generuojančios matricos: 𝑔1,𝑖 1 𝑔2,𝑖 1 … 𝑔𝑛,𝑖 2 𝑔2,𝑖 ⋮ 𝑘 𝑔2,𝑖 2 … 2 𝑔1,𝑖 ⋮ 𝑘 𝑔1,𝑖 1 𝑔𝑛,𝑖 ⋮ 𝑘 … 𝑔𝑛,𝑖 𝑐 =𝑠∙𝐺 9 Pavyzdys (generuojanti matrica) G1 G0 𝐺= 1 0 0 0 ⋮ 1 0 0 0 ⋮ 0 1 0 0 ⋮ 1 1 0 0 ⋮ 0 0 1 0 ⋮ 0 1 1 0 ⋮ 0 0 0 1 ⋮ 0 0 1 1 ⋮ … … … … ⋱ 𝑘=1 𝑛=2 𝑚=1 𝑠 = (1 0 1 1 0 0 … ) 𝑐 = 𝑠 ∙ 𝐺 = (11 01 11 10 01 00 … ) 10 Pavyzdys (stumiamieji registrai) Diagrama iš konspektų [1] • Stačiakampis – atmintis, užlaikanti įrašytą reikšmę vieną laiko momentą. • Pliusiukas – sumatorius moduliu 2. 11 Pavyzdys (būsenų diagrama) • Grafo viršūnė atitinka užkoduotojo būseną - stumiamųjų registrų reikšmių kombinaciją. • Briauna reprezentuoja, kaip keičiasi būsena (registrų reikšmių kombinacija) ir kas išvedama, priklausomai nuo esamos būsenos ir įeinančių simbolių. Diagrama iš konspektų [1] 12 Dekodavimas Iš anksto parenkamas t: 𝑡 ≥1 • Imama t kodo srauto vienetų seka. • Gauta seka lyginama su galimais t kodo vienetų ilgio kodais iš reikiamos būsenos (jei tai pirmi t blokų, tai būsena - nulinė/pradinė) • Iš galimų sekų renkamasi mažiausiai besiskirianti nuo paimtos iš srauto. • Iškoduojamas pirmasis iš gautųjų kodo vienetų. • Prisimenama nauja būsena. • Iškoduotas kodo vienetas pašalinamas iš sekos, paimamas tolimesnis kodo srauto vienetas, ir su turima nauja t kodo vienetų ilgio seka bei nauja būsena procesas kartojamas 13 Šaltiniai [1] Gintaras Skersys „Klaidas taisančių kodų teorija: Paskaitų konspektai“, 2013 14