Kódovanie prenosu I.

Σχετικά έγγραφα
Lineárne kódy. Ján Karabáš. Kódovanie ZS 13/14 KM FPV UMB. J. Karabáš (FPV UMB) Lineárne kódy Kodo ZS 13/14 1 / 19

Kódovanie a dekódovanie

Matematika Funkcia viac premenných, Parciálne derivácie

Uvod do kodovania T. K.

Motivácia Denícia determinantu Výpo et determinantov Determinant sú inu matíc Vyuºitie determinantov. Determinanty. 14. decembra 2010.

Ekvačná a kvantifikačná logika

Gramatická indukcia a jej využitie

Matematika prednáška 4 Postupnosti a rady 4.5 Funkcionálne rady - mocninové rady - Taylorov rad, MacLaurinov rad

7. FUNKCIE POJEM FUNKCIE

1. Limita, spojitost a diferenciálny počet funkcie jednej premennej

Obvod a obsah štvoruholníka

Úvod do teórie kódovania

Komplexné čísla, Diskrétna Fourierova transformácia 1

Tomáš Madaras Prvočísla

Start. Vstup r. O = 2*π*r S = π*r*r. Vystup O, S. Stop. Start. Vstup P, C V = P*C*1,19. Vystup V. Stop

KATEDRA DOPRAVNEJ A MANIPULAČNEJ TECHNIKY Strojnícka fakulta, Žilinská Univerzita

Planárne a rovinné grafy

ARMA modely čast 2: moving average modely (MA)

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

Matematika 2. časť: Analytická geometria

ARMA modely čast 2: moving average modely (MA)

4. Výrokové funkcie (formy), ich definičný obor a obor pravdivosti

Cvičenie č. 4,5 Limita funkcie

1-MAT-220 Algebra februára 2012

Jednotkový koreň (unit root), diferencovanie časového radu, unit root testy

Goniometrické rovnice a nerovnice. Základné goniometrické rovnice

Matematika 2. časť: Funkcia viac premenných Letný semester 2013/2014

Funkcie - základné pojmy

Lineárna algebra I - pole skalárov, lineárny priestor, lineárna závislosť, dimenzia, podpriestor, suma podpriestorov, izomorfizmus

množiny F G = {t1, t2,, tn} T a pre ľubovoľný valec C so základňou B1, B2,, Bn v bodoch t1, t2,, tn, takou, že pre t G - F je Bt = E, platí PF(C) = PG

Príklady na precvičovanie Fourierove rady

Metódy vol nej optimalizácie

Prechod z 2D do 3D. Martin Florek 3. marca 2009

7. Dokážte, že z každej nekonečnej množiny môžeme vydeliť spočítateľnú podmnožinu.

Vektorový priestor V : Množina prvkov (vektory), na ktorej je definované ich sčítanie a ich

4. decembra decembra 2003 Teria grafov 1

1. písomná práca z matematiky Skupina A

Automaty a formálne jazyky

2. prednáška. Teória množín I. množina operácie nad množinami množinová algebra mohutnosť a enumerácia karteziánsky súčin

Motivácia pojmu derivácia

6 Limita funkcie. 6.1 Myšlienka limity, interval bez bodu

Obsah. 1.1 Reálne čísla a ich základné vlastnosti Komplexné čísla... 8

Goniometrické substitúcie

Priamkové plochy. Ak každým bodom plochy Φ prechádza aspoň jedna priamka, ktorá (celá) na nej leží potom plocha Φ je priamková. Santiago Calatrava

Reálna funkcia reálnej premennej

BANACHOVE A HILBERTOVE PRIESTORY

Pravdivostná hodnota negácie výroku A je opačná ako pravdivostná hodnota výroku A.

MODELOVANIE DETEKČNÝCH VLASTNOSTÍ BEZPEČNOSTNÉHO KÓDU V MATLABE

Úvod do lineárnej algebry. Monika Molnárová Prednášky

1 Úvod Predhovor Sylaby a literatúra Základné označenia... 3

Učební texty k státní bakalářské zkoušce Matematika Vektorové prostory. študenti MFF 15. augusta 2008

7 Derivácia funkcie. 7.1 Motivácia k derivácii

Vlastnosti nekonečných slov generovaných pomocou DGSM (diplomová práca)

x x x2 n

1 Prevod miestneho stredného slnečného času LMT 1 na iný miestny stredný slnečný čas LMT 2

C. Kontaktný fasádny zatepľovací systém

FUNKCIE N REÁLNYCH PREMENNÝCH

Metódy numerickej matematiky I

Moderné vzdelávanie pre vedomostnú spoločnosť Projekt je spolufinancovaný zo zdrojov EÚ M A T E M A T I K A

24. Základné spôsoby zobrazovania priestoru do roviny

Reprezentácia informácií v počítači

Prirodzené čísla. Kardinálne čísla

Deliteľnosť a znaky deliteľnosti

VLASTNÉ ČÍSLA A JORDANOV KANONICKÝ TVAR. Michal Zajac. 3 T b 1 = T b 2 = = = 2b

Rozsah hodnotenia a spôsob výpočtu energetickej účinnosti rozvodu tepla

NUMERICKÁ MATEMATIKA. Moderné vzdelávanie pre vedomostnú spoločnosť/ Projekt je spolufinancovaný zo zdrojov EÚ. Fakulta elektrotechniky a informatiky

2-INF-135/15 Pravdepodobnostné algoritmy LS 2017/18

3. Striedavé prúdy. Sínusoida

16. Základne rovinné útvary kružnica a kruh

PREHĽAD ZÁKLADNÝCH VZORCOV A VZŤAHOV ZO STREDOŠKOLSKEJ MATEMATIKY. Pomôcka pre prípravný kurz

Numerická lineárna algebra. Zobrazenie

Eulerovské grafy. Príklad Daný graf nie je eulerovský, ale obsahuje eulerovskú cestu (a, ab, b, bc, c, cd, d, da, a, ac, c, ce, e, ed, d, db).

3. prednáška. Komplexné čísla

Symbolická logika. Stanislav Krajči. Prírodovedecká fakulta

HASLIM112V, HASLIM123V, HASLIM136V HASLIM112Z, HASLIM123Z, HASLIM136Z HASLIM112S, HASLIM123S, HASLIM136S

Matematická logika. Emília Draženská Helena Myšková

Numerické metódy Učebný text pre bakalárske štúdium

1 Polynómy a racionálne funkcie Základy Polynómy Cvičenia Racionálne funkcie... 17

23. Zhodné zobrazenia

TECHNICKÁ UNIVERZITA V KOŠICIACH STROJNÍCKA FAKULTA MATEMATIKA 1. Funkcia jednej premennej a jej diferenciálny počet

Kompilátory. Cvičenie 6: LLVM. Peter Kostolányi. 21. novembra 2017

Kontrolné otázky na kvíz z jednotiek fyzikálnych veličín. Upozornenie: Umiestnenie správnej a nesprávnych odpovedí sa môže v teste meniť.

4 Reálna funkcia reálnej premennej a jej vlastnosti

Základy matematickej štatistiky

Definícia parciálna derivácia funkcie podľa premennej x. Definícia parciálna derivácia funkcie podľa premennej y. Ak existuje limita.

Integrovanie racionálnych funkcií

Teória funkcionálneho a logického programovania

Prednáška Fourierove rady. Matematická analýza pre fyzikov IV. Jozef Kise lák

Randomized Algorithms

Aproximačné algoritmy. (7. októbra 2010) DRAFT

Vybrané partie z logiky

DIFERENCÁLNE ROVNICE Matematická analýza (MAN 2c)

FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO. Pavol Ďuriš. Výpočtová zložitosť

Podnikateľ 90 Mobilný telefón Cena 95 % 50 % 25 %

PRIEMER DROTU d = 0,4-6,3 mm

Fakulta matematiky, fyziky a informatiky Univerzita Komenského, Bratislava Katedra Informatiky

KATALÓG KRUHOVÉ POTRUBIE

Život vedca krajší od vysnívaného... s prírodou na hladine α R-P-R

Teória grafov I definícia grafu, základné pojmy, podgraf, cesty a kružnice v grafe, orientované grafy, eulerovský ťah, hamiltonovská kružnica

Algoritmy teórie grafov

Transcript:

Kódovanie prenosu I. Ján Karabáš KM FPV UMB 20. november 2012 J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 1 / 13

Definície Abeceda, slovo, kódovanie Abeceda je konečná postupnosť symbolov (znakov), A = {a 1, a 2,..., a n}. Binárna abeceda: A = {0, 1}; ternárna abeceda A = {0, 1, 2}; slovenská abeceda A = {a, á,..., Ž} (44/46 znakov); ASCII 256 znakov. Slovo je konečná neprázdna postupnosť, w A +, znakov z danej abecedy. Dĺžka slova w = k > 0. Abeceda mohutnosti n obsahuje n slov dĺžky 1, n 2 slov dĺžky 2, n 3 slov dĺžky 3... Skladanie slov je nekomutatívna operácia w, v A + : w.v = w 1w 2... w k v 1v 2... v l ; wv A +. Kódovanie je zobrazenie f : A B. Predpokladáme, že f je prostá funkcia. A zdrojová abeceda (pozostáva zo zdrojových znakov); B kódová abeceda (pozostáva z kódových znakov). Množinu {f (a) : a A} nazývame kód. Jednoznačne dekódovateľné kódovanie nech f : A B je kódovanie. Kódovanie f je jednoznačne dekódovateľné, ak f : B A je prostá funkcia. Kódovanie správ platí f (w) = f (w 1).f (w 2)... f (w k ) slová kódujeme po znakoch. Navyše, kódovanie rozširujeme na skladanie: f (wv) = f (w).f (v). J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 2 / 13

Definície Blokové vs. prefixové kódovanie Blokové kódovanie je kódovanie f také, že a A : f (a) = k. Napr. ASCII, kódovanie čísel v pamäti počítača... Prefixové kódovanie je kódovanie f také, že a A b A : f (a) = f (b).w, w B. Napr. Huffmanov kód, n-árne kódy získané cez pestované n-árne stromy... a f 1(a) 0 00110000 1 00110001 2 00110010 3 00110011 4 00110100 5 00110101 6 00110110 7 00110111 8 00111000 9 00111001 a f 2(a) 0 000 1 100 2 001 3 101 4 010 5 110 6 0110 7 1110 8 0111 9 1111 a f (a) 0 000 1 001 2 002 3 010 4 011 5 012 6 020 7 021 8 022 9 100 a f (a) 0 00 1 01 2 02 3 10 4 11 5 12 6 20 7 21 8 220 9 221 ASCII Prefixový binárny kód Ternárny kód Prefixový ternárny kód J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 3 / 13

Najkratší prefixový kód Existencia a realizovateľnosť prefixového kódu Majme kódovanie f : A B, kde A = k a B = n. Označme l p = f (a p). Usporiadajme zdrojové znaky tak, že a 1 a 2... a k l 1 l 2... l k. Pri konštrukcii prefixového kódu zvolíme slovo w 1 = f (a 1). Pokračujeme voľbou slova w 2 = f (a 2) tak, že w 2 neobsahuje w 1 ako prefix. Zakázaných je celkovo n l 2 l 1 slov dĺžky l 2. Pri výbere slova w 3 = f (a 3), dĺžky l 3 nemožno použiť n l 3 l 1 + n l 3 l 2 slov dĺžky l 3. Naopak, ak existuje prefixový kód, potom n l 3 l 1 + n l 3 l 2 + 1 n l 3. Analogicky iterujeme túto nerovnosť pre l 4,..., ł k. Veta 1 (O existencii prefixového kódu) Nech f : A B je kódovanie a nech B = n. Prefixové kódovanie f je prosté ak pre dĺžky kódových slov l 1, l 2,..., l k platí Kraftova nerovnosť k n l i 1. i=1 Veta 2 (McMillan, O realizovateľnosti prefixového kódu) Pre každé jednoznačne dekódovateľné kódovanie platí Kraftova nerovnosť. J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 4 / 13

Najkratší prefixový kód Najkratší prefixový kód Redukovaná abeceda Nech A je abeceda, potom ak p i je pravdepodobnosť výskytu znaku a i v správe A A 0, 1 = {(a i, p i) : a i A, p i 0, 1 }. Priemerná dĺžka slova l(w) = a i w aipi. Najkratšie kódovanie nad n-znakovou abecedou je f : A B také, že l(w) = minw B { l(g(w)) : g je ľubovoľné kódovanie A B }. Veta 3 Nech f : A B je kódovanie a g : A B je kódovanie redukovanej abecedy g : (a i, p i) f (a i). Ak g je najkratšie kódovanie redukovanej abecedy A, potom f je najkratšie kódovanie abecedy A. Veta 4 Huffmanov kód je najkratší prefixový binárny kód. Rozšírené Huffmanovo kódovanie Majme redukovanú abecedu A. Zostrojíme pestovaný orientovaný strom stupňa k: Koreň stromu nemá žiadnu prichádzajúcu hranu; každý iný vrchol má práve jednu prichádzajúcu hranu; z každého vrchola vedie najviac k 1 odchádzajúcich hrán. Ľubovoľnému vrcholu priradíme ohodnotenie rovné súčtu pravdepodobností jeho potomkov. Každý list je ohodnotený (a i, p i). Takéto kódovanie je špeciálnym prípadom aritmetického kódovania (range coding). J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 5 / 13

Detekcia chýb prenosu Vplyv šumu Šum prostredia je náhodná funkcia n taká, že pre dané kódovanie f : A B dochádza 1 k zámene n(f (a)) = f (b), k deštrukcii kódu, tj. x A : n(f (a)) f (x), alebo 2 k poruche synchronizácie kód n(x) bol prijatý, hoci f (a) nebol odoslaný a naopak. Chyby detegujúci kód (detekčný kód) dokáže objaviť chyby spôsobené šumom. Takéto kódy možno použiť v situácii, keď správu možno vyslať opakovane. Samoopravný kód dokáže eliminovať vplyvy šumu spôsobujúce zámeny znakov. Napríklad vyslané slovo jasno sme prijali ako jaano. Čo však s prijatým slovom jasnn? Formálne jazyky neumožňujú semantickú opravu, túto vlastnosť musíme do nášho kódu pridať. Cenou je zvýšenie redundancie správy. Samoopravné kódy sú zvyčajne menej efektívne ako detekčné kódy. Detegujúce a samoopravné kódy budú exkluzívne blokové. J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 6 / 13

Detekcia chýb prenosu Detekcia chýb Nech f : A B je kódovanie. Množina B k = {b 1b 2... b k : b i B, i = 1, 2,..., k} je množina vsšetkých slov dĺžky k nad abecedou B. Množina (blokových) kódových slov je K = Im(f ) B k. Množina B k K je množina nekódových slov. Chyba nastane, ak prijmeme slovo z w B k K. Ak také slovo prijmeme, hovoríme, že sme objavili chybu. V opačnom prípade k chybe buď nedošlo, alebo sme ju neobjavili (!). t-násobná chyba vzniká, ak sa slovo w líši od vyslaného slova w v t znakoch. Kód K deteguje t-násobné chyby, ak pri vzniku ľubovoľnej t-násobnej chyby na slove w je slovo w B k K. Kód ( 5 2) je binárny kód dĺžky 5, K {0, 1} 5 taký, že každý kód obsahuje práve dve jednotky a f (a) a f (a) 0 00011 5 10100 1 00101 6 11000 2 00110 7 10001 3 01010 8 10010 4 01100 9 10100 Kód ( 5 2) deteguje jednoduché chyby (1-násobné chyby). J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 7 / 13

Detekcia chýb prenosu Hammingova vzdialenosť Hammingova vzdialenosť je pre slová w, v B k definovaná ako h(k) = w, v = {i : w i v i, i 1, 2,..., k}. Kód ( 5 2) má pre ľubovoľné dve kódové slová K Hammingovu vzdialenosť h(k) = 2. Pozorovanie 5 Blokový kód s minimálnou Hammingovou vzdialenosťou d(k) deteguje t-násobné chyby pre všetky t < d, ale nie je schopný detegovať všetky d-násobné chyby. Paritný kód je bežný binárny kód, kde ku kódu znaku pridávame paritný bit tak, aby parita (parita počtu jedničiek) výsledného slova bola nulová a f (a) a f (a) 0 00000 5 01010 1 00011 6 01100 2 00101 7 01111 3 00110 8 10001 4 01001 9 10010 Paritný kód má minimálnu Hammingovu vzdialenosť d(k) = 2; je schopný detegovať len jednoduché chyby. J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 8 / 13

Detekcia chýb prenosu Repetičný a koktavý kód V prípade veľkého šumu každý znak abecedy B zopakujeme n-krát. Touto konštrukciou dostávame n-repetičný kód. Hammingova vzdialenosť dvoch slov v n-repetičnom kóde K je h(k) = n. Minimálna Hammingova vzdialenosť n-repetičného kódu d(k) = n. Dôsledok 6 n-repetičný kód dokáže detegovať (n 1)-násobné chyby. 2-repetičný kód nazývame koktavý kód. J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 9 / 13

Oprava chýb Metrické vlastnosti Hammingovej vzdialenosti Binárna funkcia δ : M 2 R je metrika ak 1 δ(x, y) 0 pre všetky x, y M ; špeciálne δ(x, x) = 0; 2 δ(x, y) = δ(y, x); 3 x, y, z M : δ(x, z) δ(x, y) + δ(y, z). Hammingova vzdialenosť h(k) je metrika na množine B k. Kód K opravuje t-násobné chyby, ak pri vyslaní ľubovoľného kódovaného slova w má prijaté kódové slovo v, pri t-násobnej chybe Hammingovu vzdialenosť h(v, w) < d(k). Tj. w K, v B k : h(v, w) < h(x, w); x K, x w. Pozorovanie 7 Blokový kód K s minimálnou (Hammingovou) vzdialenosťou d = d(k) opravuje t-násobné chyby pre všetky t < d 2. ( ) t < d, h(w, v) = t < d a x K : h(w, x) d. Potom 2 2 h(w, x) h(w, v) + h(v, x), tj. h(x, v) h(x, w) h(w, v) d h(w, v) d. 2 ( ) Majme slová w, w K, h(w, w ) = d. Skonštruujme slovo v = v 1v 2... v k, kde v i = w i, ak i je párne, inak v i = w i. Ak v = 2l, potom h(w, v) = d d 1, inak h(w, v) =. 2 2 J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 10 / 13

Oprava chýb Príklady samoopravných kódov 5-repetičný kód opravuje dvojnásobné chyby. Pokiaľ vyšleme slovo w = aaaaa a nastane chyba na dvoch miestach, nadpolovičná väčšina znakov slova určuje jeho kód a slovo w dekódujeme ako a. Všeobecne, k-repetičné kódy opravujú t-násobné chyby pre t < k 2. Z dôvodu zachovania ostrej nerovnosti je vhodné voliť nepárne k pre k-repetičné kódy. Paritný binárny kód neopravuje ani jednoduché chyby; pokiaľ zistíme paritu 1, vieme, že doško k poškodeniu slova, ale nemáme informáciu o mieste vzniku chyby. 2D-paritný binárny kód je binárna matica (a i,j) k+1,l+1, kde stĺpec a k+1,1 nesie paritný bit i-teho znaku a riadok a 1,l+1 nesie paritný bit j-teho stĺpca. Bit a l+1,k+1 nesie paritu prenášanej správy. A 0x41 0 1 0 0 0 0 0 1 0 h 0x68 0 1 1 0 1 0 0 0 1 o 0x6f 0 1 1 0 1 1 1 1 0 j 0x6a 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 0 1 2D-paritný binárny kód je schopný opraviť jednoduché chyby. Ak dôjde k preklopeniu bitu a p,q, potom sa zmení parita p-teho stĺpca a q-tho riadku. Tak isto sa zmení celková parita kódu. J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 11 / 13

Efektivita samoopravných kódov Informačné a kontrolné znaky Nech K B n je blokový kód dĺžky n. Ak existuje prosté zobrazenie ϕ : B k K, k < n, hovoríme, že K má k informačných a n k kontrolných znakov. Zobrazenie ϕ sa nazýva kódovanie informačných znakov. Blokový kód K B n sa nazýva systematický, pokiaľ exituje k < n také, že ϕ : a 1a 2... a k a 1a 2... a k a k+1... a n je dobre definované prosté zobrazenie. Kódovanie ϕ : B k K sa nazýva systematické kódovanie. Pozorovanie 8 Minimálna Hammingova vzdialenosť d systematického kódu nemôže prekročiť počet n k kontrolných znakov viac ako o jeden, tj. d n k + 1. Nech K B n. Zvoľme ľubovoľný prefix w = a 1a 2... a k 1 a označme K 0 = {w : w K, w = w x}. Potom minimálna vzdialenosť d 0 dvoch kódov z K 0 je d 0 n (k 1), pretože ľubovoľné slová majú aspoň k 1 spoločných znakov. Keďže K 0 K d d 0. Pri tvorbe samoopravných kódov sa pre zafixovanú dĺžku kódového slova stretávame s dvomi protichodnými požiadavkami: potrebujeme maximalizovať d, aby sme dokázali opraviť čo najviac chýb vs. potrebujeme maximalizovať k, tj. kapacitu kódu. Informačný pomer kódu je R(K) = k ; pre optimálny kód sa pohybuje R(K) blízko 1. n J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 12 / 13

Efektivita samoopravných kódov Informačné a kontrolné znaky Kód ( 5 2) nemá oddelené informačné a kontrolné znaky; nie je systematický. p-repetičný kód má 1 informačný znak a p 1 kontrolných znakov; je systematický (k = 1). Paritný kód má k 1 informačných znakov a 1 kontrolný znak; je systematický (k = n 1) 2D-paritný kód má l.k informačných znakov a l + k + 1 kontrolných znakov; nie je systematický. J. Karabáš (FPV UMB) Bezpečnostné kódy Kodo ZS 12/13 13 / 13