Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Radim Farana Podklady pro výuku
Kódování Radim Farana Podklady pro výuku
2
Obsah Základy pojmy z diskrétních kódů. Druhy kódů. Nejkratší kódy.
Detekce chyb, Hammingova vzdálenost. Kontrolní a samoopravné kódy. Lineární kódy. Hammingovy kódy. Opakovací kódy.
3
Kód Popis přiřazení kódových slov jednotlivým zprávám (kódová kniha).
Kódové slovo je posloupnost znaků použité abecedy. Abeceda je množina znaků (binární abeceda Z2 = {0, 1}) Minimální délka kódového slova: N*(x) = - log2(P(x)) [bit]
4
Vlastnosti kódu prosté kódování: různým zprávám odpovídají různá kódová slova, jednoznačná dekódovatelnost: ze znalosti zakódované zprávy lze jednoznačně určit zprávu zdrojovou, Kód K : A → B musí být prostým zobrazením.
5
Problém dekódování Zpráva Kód A 01 001 111
01 001 111 Posloupnost zpráv (kódových slov): nelze jednoznačně dekódovat Kód B 01 011 111 Posloupnost zpráv (kódových slov): lze jednoznačně dekódovat? Ano, ale jen „odzadu“, po přijetí celé posloupnosti zpráv. Kód C 10 110 111 Posloupnost zpráv (kódových slov): můžeme dekódovat on-line. Důvod? Žádné kódové slovo není začátkem jiného kódového slova (prefixem).
6
Druhy kódů Prefixový kód je prosté kódování u kterého žádné kódové slovo není začátkem jiného kódového slova. Blokový kód je prosté kódování u kterého mají všechna kódová slova stejnou délku (počet znaků). Protože musí být prostým zobrazením, je nutně také prefixovým kódem.
7
Použití kódů Nejkratší (optimální) kódy R → 0, L → min,
Bezpečnostní kódy detekční kódy (odhalují chyby), samoopravné kódy (opravují chyby), Speciální kódy kódy konstantní změny (Grayův kód), čárové kódy, alfanumerické kódy, číselné kódy (datové formáty), …
8
Nejkratší kódy Pokud má R → 0, neboli L → min, pak
N(i) → N*(i) pro i = 1, 2, … n. Hledáme vhodný algoritmus konstrukce takového kódu: Huffmanův kód (1952), Shannonův kód. Algoritmy se liší, stejně tak i dosažené výsledky, Huffmanův kód se snáze algoritmizuje a tedy také realizuje Huffman, David A. * 1925, USA California, USA
9
Huffmanův kód Příklad A P(i) 0,4 0,3 0,1 B C D E Zpráva
Triviální případ Zpráva P(i) 1 > 2 < kód 1.redukce 0,4 0,3 0,2 0,1 1 2.redukce 0,4 0,3 1 Redukovaná abeceda Zpráva P(i) 1 2 > redukce 3 < 2,3 kód expanze 10 11 3.redukce 0,6 0,4 1 znaky 1 kód 1 00 011 0101 0100 Postup: seřazení podle pravděpodobnosti, postupná redukce a oprava pořadí, přiřazení znaků 0, 1 a zpětná expanze. Problémy: definice pořadí zpráv pro stejnou P(i), zařazení skupin se stejnou P(i), pořadí přiřazení znaků 0, 1.
10
Shannon-Fanova konstrukce kódu
Zpráva A, B C, D, E A B C D, E D E 1 bit Fano, Robert Mario 1917 Turin, Italy Příklad Zpráva A B C D E P(i) 0,4 0,3 0,1 0,1 0,1 1 1 1 Postup: seřazení podle pořadí pravděpodobnosti, rozdělení na skupiny s co nejbližší pravděpodobností, přiřazení znaků 0, 1. 1 kód 10 1100 1101 111
11
Detekce chyb Množinu všech slov rozdělíme na slova kódová a slova nekódová. t-násobná chyba změní kódové slovo na nekódové, pokud se dvě kódová slova liší ve více než t znacích. Hammingova vzdálenost je počet znaků ve kterých se dvě kódová slova liší. Hammingova vzdálenost kódu d je nejmenší z nich.
12
Hammingova vzdálenost
Hamming, Richard Wesley * Chicago, Il. USA Monterey, Cal. USA Hammingova vzdálenost nekódová slova 001 d = 1 d = 1 000 010 011 kódové slovo kódové slovo 100 Kód odhaluje t-násobné chyby, pokud je Hammingova vzdálenost kódu d > t. Označení kódů (blokových): (n, k)-kód počet znaků počet informačních znaků (4, 3)-kód má jeden kontrolní znak, je schopen mít d = 2.
13
Opravování chyb nekódová slova 001 011 d = 1 d = 1 000 010 111 d = 2
kódové slovo kódové slovo 110 100 d = 3 Kód opravuje t-násobné chyby, pokud je Hammingova vzdálenost kódu d > 2.t.
14
Kód dvourozměrné kontroly parity
Informační znaky zapíšeme do matice typu (p, q). Každému řádku přidáme jeden symbol kontroly parity řádku, podobně každému sloupci kontrolu parity sloupce. Paritě sloupce parit řádků pak znak „kontrola kontrol“, volený tak, aby i parita výsledné matice byla sudá. Např. pro p = 7 a q = 3 obdržíme ASCII (32, 21)-kód. Tento kód opravuje jednoduché chyby. Příklad
15
Lineární kódy (maticové kódy)
Kódové slovo chápeme jako řádkový vektor v = [ 0 0 1]. Lineární kombinací libovolného počtu kódových slov vznikne opět kódové slovo. Kód je možno popsat pomocí generující matice (kterou tvoří báze kódu). 1 G = v = z.G
16
Systematické kódy Informační slovo tvoří začátek kódového slova.
Určení informačního slova (dekódování) je triviální. Je možno snadno určit kontrolní matici kódu A syndrom přijatého slova Nenulový syndrom indikuje chybu. G = E B H = -B E’ T s = H.v T
17
Hammingovy kódy Opravují jednoduché chyby a
jsou perfektní = při daných vlastnostech mají minimální možnou redundanci. Kód s m kontrolními znaky (m = 2, 3, …) má délku n = 2m – 1. Sloupce kontrolní matice tvoří binární rozvoj čísel 1, 2, …, 2m - 1 Nenulový syndrom je binárním rozvojem pozice chyby.
18
Opakovací kódy Velmi jednoduše se generují kódová slova i vyhodnocují přijatá slova. Jsou perfektní. Opakovací (3, 1)-kód se shoduje s Hammingovým (3, 1)-kódem.
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.