Systematické a nesystematické

Slides:



Advertisements
Podobné prezentace
Vestavné mikropočítačové systémy
Advertisements

Dualita úloh lineárního programování a analýza citlivosti
Práce s vektory a maticemi
MATLAB LEKCE 7.
Mgr. Andrea Cahelová Gymnázium J. Kainara, Hlučín
Aplikace teorie grafů Základní pojmy teorie grafů
Rozhodněte o její pohyblivosti (určete počet stupňů volnosti).
Algebra.
Paritní bity Hashovací funkce Samoopravující kódy
Základy informatiky přednášky Kódování.
Vznik a vývoj teorie informace
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Lineární algebra.
RoBla Číselné soustavy.
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Základní číselné množiny
Matice D.: Matice je systém m .n čísel, uspořádaný do m řádků a n sloupců. Je to jenom symbol, nemá to žádnou číselnou hodnotu! Označení: řádek, řádkový.
Reprezentace dat v počítači
Základy informatiky přednášky Efektivní kódy.
Informatika pro ekonomy II přednáška 2
Základy informatiky přednášky Entropie.
Gaussova eliminační metoda
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Principy snížení chybovosti přenosu dat Hunvedo kunda:
Radim Farana Podklady pro výuku pro akademický rok 2013/2014
Radim Farana Podklady pro výuku pro akademický rok 2013/2014
Základy číslicové techniky
Vektory Práce s vektory Př.: Mějme dva vektory z Udělejme kombinace
Základy číslicové techniky
Výrok "Věřím, že OS/2 je předurčen stát se navždy nejdůležitějším operačním systémem." (Bill Gates, Microsoft, 1982)
METODA KONEČNÝCH PRVKŮ
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
ZPŮSOBY ZABEZPEČENÍ DIGITÁLNÍCH SIGNÁLŮ
Základy informatiky přednášky Bezpečnostní kódy.
Kódování Radim Farana Podklady pro výuku. Obsah Cyklické kódy.  Reedovy-Solomonovy kódy.
Číselné soustavy david rozlílek ME4B
Cyklické kódy Přednáška 6. Perfektní kód A.Opravuje největší množství chyb B.Má nejvíce kódových slov C.Má nejlepší poměr počet chyb/délka kódu.
Radim Farana Podklady pro výuku
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Matice.
KOMBINAČNÍ LOGICKÉ FUNKCE
Perfektní kódy.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Algebra II..
Lineární zobrazení.
Kódování Radim Farana Podklady pro výuku. Obsah Unikátní identifikátory. Kontrolní číslice, GUI,  realizace kontrolních číslic. Kódy konstantní změny,
Experimentální fyzika I. 2
SIGNÁLY A SOUSTAVY V MATEMATICKÉ BIOLOGII
Automaty a gramatiky.
Číselné soustavy dekadická binární hexadecimální
Simplexová metoda pro známé počáteční řešení úlohy LP
polynom proměnné x f = anxn + an-1xn-1 + ……. + a0
© Institut biostatistiky a analýz INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc.
Informatika pro ekonomy přednáška 4
Kódování Radim Farana Podklady pro výuku. Obsah Cyklické kódy.
Radim Farana Podklady pro výuku
Lineární kódy.
Lineární kódy.
Matice Přednáška č.4. Definice: Soubor prvků nazýváme maticí typu i-tý řádek j-tý sloupec prvky matice.
Číselné soustavy.  Obecně lze libovolné celé kladné číslo zapsat polynomem a n  z n + a n-1  z n-1 + … + a 0  z 0, kde z je libovolné přirozené číslo.
Definiční obor a obor hodnot
Název projektu: Moderní výuka s využitím ICT
TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM
Zabezpečení přenosu dat
1 Lineární (vektorová) algebra
ZPŮSOBY ZABEZPEČENÍ DIGITÁLNÍCH SIGNÁLŮ
Informatika pro ekonomy přednáška 4
Informatika pro ekonomy přednáška 4
Úvod do počítačových sítí - Linková úroveň
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

Systematické a nesystematické Základy informatiky přednášky Systematické a nesystematické bezpečnostní kódy

ZÁKLADY INFORMATIKY – Systematické a nesystematické bezpečnostní kódy Vznik a vývoj teorie informace Matematický aparát v teorii informace Základy teorie pravděpodobnosti – Náhodné veličiny Číselné soustavy Informace Základní pojmy – jednotka a zobrazení informace, informační hodnota Entropie – vlastnosti entropie Zdroje zpráv – spojité zdroje zpráv, diskrétní zdroje zpráv Přenos informace – vlastnosti přenosu kanálů, poruchy a šumy přenosu, způsoby boje proti šumu Kódování Elementární teorie kódování Rovnoměrné kódy – telegrafní kód Nerovnoměrné kódy – Morseova abeceda, konstrukce nerovnoměrných kódů Efektivní kódy – Shannonova – Fanova metoda, Hoffmanova metoda Bezpečností kódy Zabezpečující schopnosti kódů, Systematické kódy, Nesystematické kódy

Systematické kódy Kódové slovo obsahuje vedle symbolů nesoucí informaci také symboly zabezpečující Nezabezpečený kód lze převést na systematický tak, že ke každému kódovému slovu přidáme zabezpečující symboly Má-li kódové slovo m míst, z toho k informačních míst a m-k zabezpečovacích míst, hovoříme o kódu K(m, k). Pro systematické kódy platí: Lz < L Hammingova vzdálenost kódových slov je větší než 1 d(Ci, Cj)>1

Optimální kód - takový kód K(m, k) pro nějž neexistuje jiný kód o stejném m a k, který by poskytoval větší pravděpodobnost zachycení chyby, tj. který by měl větší zabezpečovací schopnost. Těsný kód (perfektní) - takový kód, který pro dané m a k využívá kódová slova vzdálená vzájemně o předpokládanou minimální Hammingovu vzdálenost d(Ci, Cj)  min těsný kód je zároveň kódem optimálním

Lineární – libovolná kombinace kódových slov je opět kódovým slovem Rozdělení bezpečnostních kódů Lineární – libovolná kombinace kódových slov je opět kódovým slovem Lineární systematické – informační a zabezpečující místa v kódovém slově jsou oddělena (Slepianovy kódy) Ostatní lineární – informační a zabezpečující místa jsou rozložena na různých místech kódového slova (Hammingovy kódy, cyklické kódy atd.) Nelineární Řetězové (rekurentní) Inversní Paritní (s vnitřní a vnější paritou) Iterační (s blokovou paritou)

velmi jednoduchý, přitom však účinný a pružný způsob zabezpečení, Paritní kód velmi jednoduchý, přitom však účinný a pružný způsob zabezpečení, Princip spočívá v zajištění konstantní hodnoty součtu všech symbolů každého kódového slova (mod2) Platnost předchozí podmínky zajistíme doplněním každého kódového slova, které chceme zabezpečit, jedním nebo několika zabezpečovacími koeficienty ai. Hodnota koeficientu ai je u binárního kódu pochopitelně 0 nebo 1

sudý počet jedniček (konst=0) - sudá parita V případě binárního kódu přidáváme ke kódovému slovu znak 0 nebo 1 tak, aby výsledné kódové slovo mělo: sudý počet jedniček (konst=0) - sudá parita lichý počet jedniček (konst=1) - lichá parita Zabezpečení paritou lze provést pro libovolně dlouhé kódové slovo. Paritou lze zabezpečit kód i dodatečně. Např. uvnitř stroje se pracuje s nezabezpečeným kódem, pro přenos sdělovací cestou se provede paritní zabezpečení. Po kontrole na přijímací straně se paritní koeficienty odstraní a v dalším stroji se opět pracuje s nezabezpečeným kódem.

Příklad: Zabezpečte paritním kódem trojmístný binární kód. Využijte sudou i lichou paritu. Zabezpečené kódové slovo sudou paritou konst 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 Zabezpečené kódové slovo lichou paritou konst 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0

Předchozí kód se označuje K(4,3) - 3 znaky nesou informaci, 1 znak je redundantní a slouží k zabezpečení kódu. Jaká je minimální Hammingova vzdálenost předchozího kódu ??? d(Ci, Cj)  min = 2 Na základě vztahů pro detekční a korekční schopnosti kódů lze stanovit, že výsledný kód objevuje všechny jednoduché (1-násobné) chyby ale nedokáže takové chyby opravit.

Kombinace dvou nebo více zabezpečujících kódů Iterační kódy Kombinace dvou nebo více zabezpečujících kódů Princip spočívá v tom, že zabezpečíme posloupnost kódových slov paritou v příčném a podélném směru – maticové zabezpečení Takto zabezpečujeme celé skupiny (bloky) kódových slov - mluvíme spíše o zabezpečení zprávy Na blok pohlížíme jako na jediné kódové slovo Minimální Hammingova vzdálenost kódových slov maticově zabezpečeného kódu je rovna součinu minimálních vzdáleností dílčích kódů

Nezabezpečené kódové slovo Příklad: Zabezpečte iteračním kódem blok pěti kódových slov, které tvoří zprávu. Jednotlivá slova jsou dána takto: 11000, 00101, 10011, 01111, 10101. Využijte maticového zabezpečení. Nezabezpečené kódové slovo Zabezpečení řádkové 1 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 0 0 Zabezpečení sloupcové Kontrolní symbol

Lineární kódy Lineární kódy se vyznačují tím, že libovolná lineární kombinace kódových slov je opět kódovým slovem. U binárních lineárních kódů je možné využít následujících pravidel pro operace sčítání a násobení binárních čísel. Pro sčítání platí Pro násobení platí 1 1

Lineární kód tvoří lineární podprostor n-rozměrného prostoru binárních proměnných. Tento podprostor je možné popsat jeho bází. Každý prvek báze je sám kódovým slovem. Chceme-li nalézt kódová slova lineárního binárního kódu, stačí, když nalezneme bázi kódu. Báze by měla být tvořena kódovými slovy s co nejmenším počtem jedniček a tato kódová slova musí být vzájemně nezávislá. Ostatní kódová slova lineárního kódu mohou být získána sčítáním popř. násobením dvou slov báze.

Kódová slova báze zapsána pod sebe tvoří - generující matici G Pro matici G musí platit: každý její řádek je kódovým slovem, každé kódové slovo je lineární kombinací řádků, řádky jsou lineárně nezávislé (hodnost matice G=k). Příklad: Sestrojte generující matici pro systematický kód celkové parity (sudá parita) K(4,3). Získejte další kódová slova tohoto kódu. Pozn. Kód liché parity není lineární (11011110=0011)

Většinou tvoří nezabezpečená kódová slova jednotkovou matici Většinou tvoří nezabezpečená kódová slova jednotkovou matici. Zabezpečovací místa vytváříme podle algoritmu daného kódování. Seřadíme-li takto vytvořená zabezpečená slova do řádků a uzavřeme do matice - generující matici systematického kódu G Ek – jednotková matice řádu k R – matice zabezpečujících prvků (r zabezpečujících prvků) Kódy u kterých lze generující matici zapsat jako součin jednotkové matice a matice zabezpečujících prvků - systematické kódy

jestli s = 0 bezchybný přenos s ≠ 0 chyba v přenosu Princip (algoritmus) kódování a dekódování pomocí generující matice G: Vysílané zabezpečené kódové slovo z (1xm) se vytváří z nezabezpečeného kódového slova v (1xk) pomocí generující matice G: Přijímané zabezpečené kódové slovo p (1xm) se bude rovnat vysílanému kódovému slovu z tehdy, jestliže: Matice H je kontrolní matice (rxm). Definovaná je pomocí generující matice systematických kódů G=[Ek | R]: Kontrolní matice se využívá při dekódování zpráv, zda při přenosu kódované informace nedošlo k chybě. Pro objevování případně i opravu chyb se používá vektor s (1 x r) zvaný syndrom slova (soubor příznaků) a je definován jako: jestli s = 0 bezchybný přenos s ≠ 0 chyba v přenosu

Příklad: Zabezpečte sedmimístné kódové slovo sudou paritou Příklad: Zabezpečte sedmimístné kódové slovo sudou paritou. Použijte teorie lineárních systematických kódů. Studujte možnosti chybného popř. bezchybného přenosu. Jedná se tedy o kód K(8,7). Generující matici G můžeme zapsat ve tvaru:

Uvažujme, že vysílané zdrojové nezabezpečené kódové slovo odpovídá písmenu J v ASCII kódu – 0101001. Po zabezpečení pomocí generující matice dostáváme: Kontrolní matice H má u tohoto kódu tvar:

Pro přijímané zabezpečené slovo p (1 x 8) musí pak platit: Podle syndromu s, který získáme výpočtem podle předchozího vzorce, můžeme rozhodnout o bezchybném přenosu. Např.: Přijaté kódové slovo Syndrom slova 0 1 0 1 0 0 1 1 => Bezchybný přenos 0 1 0 1 0 0 1 0 Chyba při přenosu 0 1 1 1 0 0 1 1

Příklad: Mějme dvojkový binární kód K(5,3), u kterého je zadána kontrolní matice H . Podrobte kontrole přijatá kódová slova 01111, 01110. Ke kontrole použijeme výpočet syndromu s ve tvaru: Bezchybný přenos Chybný přenos

Lineární binární kódy se schopností opravy chyb. Hammingovy kódy Hammingovy kódy jsou lineární kódy, které jsou určeny pro zabezpečování údajů ukládaných do pamětí počítačů, resp. pro přenosové kanály s nezávislými chybami. Lineární binární kódy se schopností opravy chyb. Tyto bezpečnostní kódy mají nejmenší možnou redundanci. Snadno se dekódují a jsou perfektní Hammingova vzdálenost je dána dmin= 3 (detekuje 2-násobnou chybu a opravuje jednu chybu) Hammingův binární kód s r kontrolními znaky (r = 2, 3, 4, …) má délku kódového slova 2r-1. Takže vzniká kód K(3,1), K(7,4), K(15,11), atd. r (m-k) 2 3 4 5 6 … m 7 15 31 63 k 1 11 26 57

Kód byl sestaven tak, aby syndrom s, pokud není nulový, udával svými prvky polohu chybného místa v kódovém slově. Prvky vektoru syndromu s jsou chápány jako zápis čísla ve dvojkové soustavě: Je proto výhodné uspořádat sloupce kontrolní matice H tak, aby v i-tém sloupci bylo dvojkové vyjádření čísla i. Binární kód se nazývá Hammingův jestliže má kontrolní matici, jejíž sloupce jsou všechna nenulová slova dané délky a žádné z nich se neopakuje.(používá se binární rozvoj čísel 1, 2, 3, …, 2r-1)

Pro r = 2 dostáváme kód K(3,1) s kontrolní matici ve tvaru: Taková matice je kontrolní maticí opakovacího kódu délky 3. Ten skutečně opravuje jednoduché chyby Pro r = 3 dostáváme kód K(7,4) s kontrolní matici ve tvaru: Protože se jedná o nesystematický kód Abychom našli generující matici, musíme přemístit sloupce do tvaru: Došlo k přehození sloupců: 1-7, 2-6, 4-5 Tzn.

Generující matici G’ dostaneme ze vzorce: G’=[Ek|R] Zpětným přeházením sloupců dostaneme generující matici původního Hammingova kódu: Došlo k přehození sloupců: 1-7, 2-6, 4-5

Pro dekódování Hammingova kódu se využívá opět syndromu s, pro který platí: - při jednonásobné chybě vektor chyb - c pouze jednu jedničku. Z toho vyplývá, že syndrom s bude roven řádku matice HT, který odpovídá jedničce v chybovém vektoru c a bude udávat pořadové číslo místa chybného znaku.

Příklad: Které z přijatých kódových slov 1100111, 0110101, 0011001 je chybné při použití Hammingova kódu K(7,4). V případě chyby určete místo výskytu chyby. Pro kód K(7,4) dostáváme kontrolní matici ve tvaru: Syndrom přijatého kódového slova je pak dán: Pro syndrom jednotlivých přijatých kódových slov pak platí: Chybný přenos (poslední místo) Chybný přenos (třetí místo) Bezchybný přenos

Kde se nachází zabezpečující místa kódového slova v Hammingových kódech s d=3 ? Uvažujme zabezpečené kódové slovo v obecném tvaru: z = a1 a2 a3 a4 a5 a6 a7 Při bezchybném přenosu platí z = p a dále platí: Pokud sestrojíme kontrolní matici kódu K(7,4) a dosadíme do předchozí rovnice dostáváme: jako zabezpečující místa vybereme ty místa, které se vyskytují vždy jen v jedné rovnici, tzn. kontrolními místy budou místa a1, a2, a4.

Příklad: Sestrojte kódová slova Hammingova kódu K(7,4). Pro každé kódové slovo musí platit následující soustava rovnic: zabezpečující místa jsou a1, a2, a4. => Tzn. místa 3, 5, 6, 7 budou tvořit všechna binární slova délky 4 a místa 1, 2, 4 budou kontrolní!!! 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1

Rozšířený Hammingův kód Lineární binární kódy se schopností opravy chyb. Tyto bezpečnostní kódy již nemají nejmenší možnou redundanci = nejsou perfektní Hammingova vzdálenost je dána dmin= 4 (detekuje 3-násobnou chybu a opravuje jednu chybu) Rozšířený Hammingův binární kód s r kontrolními znaky (r = 3, 4, …) má délku kódového slova 2r-1. Takže vzniká kód K(4,1), K(8,4), K(16,11), atd. r (m-k) 3 4 6 7 … m 8 16 32 64 k 1 11 26 57 Kontrolní matici tohoto kódu získáme z kontrolní matice Hammingova kódu tak, že ke každému řádku přidáme paritní bit sudé parity a do kontrolní matice doplníme řádek jedniček.

Příklad: Sestrojte kontrolní matici rozšířeného Hammingova kódu K(8,4) Příklad: Sestrojte kontrolní matici rozšířeného Hammingova kódu K(8,4). Které z přijatých kódových slov 11001011, 00000011, 00011110 je chybné? V případě jedné chyby určete místo výskytu chyby. Pokuste se sestrojit celý kód. Pro Hammingův kód K(7,4) dostáváme kontrolní matici ve tvaru: Pro rozšířený Hammingův kód K(8,4) dostáváme pak kontrolní matici ve tvaru: Syndrom přijatého kódového slova je pak dán:

Příklad: Sestrojte kontrolní matici rozšířeného Hammingova kódu K(8,4) Příklad: Sestrojte kontrolní matici rozšířeného Hammingova kódu K(8,4). Které z přijatých kódových slov 11001011, 00000011, 00011110 je chybné? V případě jedné chyby určete místo výskytu chyby. Pokuste se sestrojit celý kód. Pro syndrom jednotlivých přijatých kódových slov pak platí: Chybný přenos (první místo) Chybný přenos (více jak jedna chyba) Bezchybný přenos

C(z) = a0 + a1z + a2z2 +…+ am-1zm-1 Cyklické kódy patří k nejmodernějším lineárním bezpečnostním kódům, které se osvědčily v praxi schopnost zabezpečovat shluky chyb podle způsobu manipulace s kódovým slovem se také označují – polynomické kódy Kódová slova Ci (a0 a1 a2 …am-1) můžeme totiž chápat jako zkrácený zápis polynomu stupně m-1: C(z) = a0 + a1z + a2z2 +…+ am-1zm-1 jejich specifická vlastnost, podle které se také nazývají, spočívá v tom, že: cyklickou záměnou prvků v použitém kódovém slově vzniká opět platné kódové slovo.

Pak pro cyklický kód jsou platnými kódovými slovy i kódová slova Je-li kódové slovo C1 platným kódovým slovem C1 = a0 a1 a2 a3 …am-1 Pak pro cyklický kód jsou platnými kódovými slovy i kódová slova C2 = am-1 a0 a1 a2 a3 …am-2 C3 = am-2 am-1 a0 a1 a2 a3 …am-3 Při práci s polynomy pak cyklický posun prvků kódového slova odpovídá násobení polynomu proměnnou z: C2 (z) = z . C1(z) = a0 z + a1z2 + a2z3 + a3z4 …am-1zm Přesun koeficientu u nejvyšší mocniny na začátek kódového slova vyřešíme zavedením: zm = 1 zm+1 = z zm+2 = z2 …

Příklad: Pomocí polynomického vyjádření (násobení proměnnou z) sestrojte další kódová slova k 11001011. C1(z) = 1 + z + z4 +z6+z7 C2(z) = z .C1(z) = z + z2 + z5 +z7+z8 = 1 + z + z2 + z5 +z7 C3(z) = z .C2(z) = z + z2 + z3 +z6+z8 = 1 + z + z2 + z3 +z6

Cyklický kód můžeme definovat pomocí generujícího polynomu g(z). Generující polynom cyklického kódu K(m,k) je polynom stupně m-k=r, který musí dělit (být dělitelem) polynom (zm-1). Cyklickým posunem koeficientů generujícího polynomu vzniká generující matice G(z) Řádky tvoří polynomy: g(z) z.g(z) . zk-1.g(z)

U cyklických kódů můžeme kontrolní matici nahradit kontrolním polynomem: Kontrolní matici cyklického kódu K(m,k) získáme cyklickými posuvy koeficientů kontrolního polynomu čteného od nejvyšší mocniny Kontrolní matice má m-k řádků

Splňuje kontrolní matice podmínku: H . vT = 0T Pro každý polynom v(z), který představuje zabezpečené kódové slovo a pro který platí: v(z) . h(z) = 0 Splňuje kontrolní matice podmínku: H . vT = 0T Příklad: Sestrojte kód celkové parity (sudá parita) délky 4, tedy K(4,3) pomocí polynomického vyjádření cyklického kódu. Najděte generující polynom a generující matici tohoto kódu. Najděte dále kontrolní polynom a kontrolní matici. R.Farana: Kapitoly ze základů informatiky, str.29, příklad 1.

Příklad: Z dříve uvedených poznatků vyplývá, že každý cyklický kód rozkládá polynom zm-1 na součin g(z).h(z). To platí i naopak. Popište všechny binární cyklické kódy délky 5. (R.Farana: Kapitoly ze základů informatiky, str.30, příklad 3.) Musí platit: z5-1=g(z).h(z) tzn. hledáme všechny polynomy g(z) a h(z). V našem případě je možné polynom (z5-1) rozložit na dva polynomy takto: z5-1= (z+1).(z4+z3+z2+z+1) Odtud dostáváme dva kódy: Kód celkové kontroly parity: g(z)= (z+1) h(z)=(z4+z3+z2+z+1) Opakovací kód: g(z)= z4+z3+z2+z+1) h(z)=(z+1)

Princip (algoritmus) kódování a dekódování pomocí cyklického kódu nezabezpečené kódové slovo v (1xk) čteme pozpátku (neboli polynomy zapisujeme od nejvyšší mocniny, tedy opačně než doposud). Z informačních bitů v0 v1 v2 … vk-1 vytvoříme tedy polynom: v(z) = v0zm-1 + v1zm-2 + … +vk-1zm-k Předchozí polynom dělíme generujícím polynomem g(z) a dostáváme: Úpravou dostaneme: Při označení polynomu zbytku ve tvaru: r(z) = rkzm-k-1 + rk+1zm-k-2 + … +rm-1z + rm Vyšleme kódové slovo C = v0 v1 … vk-1 rk rk+1 … rm

Princip (algoritmus) kódování a dekódování pomocí cyklického kódu Správnost přenosu lze na přijímací straně kontrolovat dělením polynomu p(z) – polynom přijatého kódového slova, generujícím polynomem g(z). (e(z) – chybový polynom) Jestliže: e(z) dělí g(z) beze zbytku - bezchybný přenos e(z) nedělí g(z) beze zbytku - chyba v přenosu Tvar zbytku neboli syndrom s(z) nám určuje místo chyby podle následující tabulky Místo výskytu chyby 1 z z2 z3 z4 z5 Tvar zbytku Bez chyby z2 modg(z) z3 modg(z) z4 modg(z) …

Příklad: U kódu K(7,4) zakódujte kódové slovo 1010 pomocí cyklického kódu. Proveďte kontrolu přijetí zabezpečeného kódového slova. Zvolte si náhodně chybu v kódovém slově a proveďte znovu kontrolu a nalezení chyby. Řešení: 1) najdeme generující polynom: (musí být stupně m-k tj. 3 a musí dělit polynom z7-1 beze zbytku) Všechny možnosti polynomu 3 stupně jsou: z3, z3+1, z3+z, z3+z2, z3+z+1, z3+z2+1, z3+z2+z, z3+z2+z+1 z7-1 : z3+z+1 = z4+z2+z+1 z7+z5+z4 z5+z4+1 z5+z3+z2 z4+z3+z2+1 z4+z2+z z3+z+1 2) Nezabezpečené kódové slovo převedeme na polynom: 1010 → v(z)=z6+z4

Příklad: U kódu K(7,4) zakódujte kódové slovo 1010 pomocí cyklického kódu. Proveďte kontrolu přijetí zabezpečeného kódového slova. Zvolte si náhodně chybu v kódovém slově a proveďte znovu kontrolu a nalezení chyby. 3) Předchozí polynom dělíme generujícím polynomem: z6+z4 : z3+z+1 = z3+1 z6+z4+z3 z3 z3+z+1 z+1 - zbytek 4) Polynom zbytku nám udává zabezpečující část kódového slova: r(z)=z+1 → 011 5) Sestavíme celé zabezpečené kódové slovo: C= 1010 011

Příklad: U kódu K(7,4) zakódujte kódové slovo 1010 pomocí cyklického kódu. Proveďte kontrolu přijetí zabezpečeného kódového slova. Zvolte si náhodně chybu v kódovém slově a proveďte znovu kontrolu a nalezení chyby. Kontrola přijetí zabezpečeného kódového slova: 1010011 → p(z)=z6+z4+z+1 z6+z4+z+1 : z3+z+1 = z3+1 z6+z4+z3 z3+z+1 0 - zbytek→správný přenos Kontrola přijetí zabezpečeného kódového slova s chybou: 1010001 → p(z)=z6+z4+1 z6+z4+1 : z3+z+1 = z3+1 z6+z4+z3 z3+1 z3+z+1 z - zbytek→nesprávný přenos (chyba je na pozici z)

Příklad: U kódu K(7,4) zakódujte kódové slovo 1010 pomocí cyklického kódu. Proveďte kontrolu přijetí zabezpečeného kódového slova. Zvolte si náhodně chybu v kódovém slově a proveďte znovu kontrolu a nalezení chyby. Kontrola přijetí zabezpečeného kódového slova: 1000011 → p(z)=z6+z4+z+1 z6+z+1 : z3+z+1 = z3+z+1 z6+z4+z3 z4+z3+z+1 z4+z2+z _ z3+z2+1 z3+z +1 z2+z - zbytek→nesprávný přenos (chyba je na pozici n, kde platí že zbytek po dělení zn: z3+z+1 je stejný jako získaný zbytek z2+z) – chyba je tedy na pozici z4 (viz níže) z6 : z3+z+1 = z3+z+1 z6+z4+z3 z4+z3 z4+z2+z z3+z2+z z3+z +1 z2+1 – zbytek který odpovídá pozici z6 z4 : z3+z+1 = z+1 z4+z2+z z2+z – zbytek který odpovídá pozici z4

Počet kontrolních bitů Používání cyklických kódů se v poslední době velmi rozšířilo. Hlavním důvodem je schopnost cyklických kódů odhalovat shluky chyb (chyby v přenosových kanálech mají tendenci vyskytovat se blízko sebe a vytvářet tzv. shluky). Tabulka nejrozšířenějších kódů CRC (Cyclic Redundance Code) Počet kontrolních bitů Označení Generující polynom Použití 8 LRCG - 8 x8+1 12 CRC - 12 x12+ x11+ x3+ x2+ x+1 pro 6 bitové znaky 16 CRC - 16 x16+ x15+ x2+1 binární synchronní protokol CDLC x16+ x12+ x5+1 linkový protokol IBM 32 CRC - 32 x32+ x26+ x23+ x22+ x16+ x12+ x11+ x10+ x8+ x7+ x5+ x4+ x2+ x+1 ETERNET sítě , Z-modem

Je to lineární binární kód, který opravuje volitelný počet chyb. Reedovy-Mullerovy kódy Je to lineární binární kód, který opravuje volitelný počet chyb. Je důležitý hlavně kvůli své jednoduchosti a jednoduše implementované metodě dekódování. Byli objevené v roku 1954 a v porovnaní s BCH kódy mají slabší parametry . Jsou prakticky významné (například kód RM (1,5) použil kosmický koráb Mariner 9 při vysílání fotografií z Marsu.

Jsou to obecné kódy s dobrými parametry. BCH kódy Jsou to obecné kódy s dobrými parametry. Je to nejdůležitější třída cyklických bezpečnostních kódů Mezi hlavní parametry patří: velká volitelnost parametrů, jednoduchý vztah mezi počtem informačních znaků a počtem opravených chyb detailně vypracované dekódovací metody. BCH kódy opravují dvojnásobné a vícenásobné chyby. V porovnání s REED-MULLERovými kódy mají BCH kódy o něco náročnější dekódování, ale za to mají lepší parametry.

Jsou speciálním případem BCH kódů. Reed – Solomonovy kódy Jsou speciálním případem BCH kódů. Mají největší myslitelnou vzdálenost a dají se pomocí nich sestrojit dobré binární kódy. Golayův kód Je to jediný perfektní kód pro trojnásobné opravy. Tento kód se zavádí pomocí generující matice.

Nelineární kódy Inversní kód Inversní kód patří do blokových, systematických, nelineárních kódů. Tento kód má Hammingovou kódovou vzdálenost d = 4. Z rovnice vyplývá, že může objevovat až trojnásobné chyby a z rovnice vyplývá, že může opravovat jednoduché chyby.

Prvním krokem postupu při použití inverzního kódu je, že vysílané nezabezpečené kódové slovo se zopakuje beze změny, je-li v něm sudý počet nul. V případě, že je v něm počet nul lichý, vyšle se v druhé části inverze nezabezpečeného kódového slova. Tak se zabezpečené kódové slovo bude skládat z dvou částí: informační a zabezpečovací. Princip si vysvětlíme na přenosu znaků G, L, X zakódovaných telegrafním kódem, které chceme zabezpečit inverzním kódem.

Způsob kódování je podrobně zobrazený v tabulce: G L X Vyslané kódové slovo 01011 01011 01001 10110 10111 01000 Přijaté kódové slovo 00011 01011 01011 10110 10111 00000 Zaznamenané kód.slovo 00011 10100 10111 11111 Rozbor 00011 01011 10111  10100  10110  11111 místo korekce 11101 01000 chyba Dojde-li k chybě v informační části, pak při součtu mod 2 se shoduje jediný pár prvků (bitů) v místě chyby (u znaků G a L). Nachází-li se chybný prvek v zabezpečovací části, pak při součtu mod 2 se pár prvků v místě chyby neshoduje (u znaku X).

KONEC