Matematika IV 10. týden Kódování

Podobné dokumenty
[1] samoopravné kódy: terminologie, princip

Ortogonální projekce a ortogonální zobrazení

Odpřednesenou látku naleznete v kapitole 3.3 skript Diskrétní matematika.

8 Kořeny cyklických kódů, BCH-kódy

Drsná matematika IV 7. přednáška Jak na statistiku?

Matematika III 10. týden Číselné charakteristiky střední hodnota, rozptyl, kovariance, korelace

[1] samoopravné kódy: terminologie, princip

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

Lineární algebra nad obecným Z m, lineární kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Samoopravné kódy, k čemu to je

Drsná matematika III 3. přednáška Funkce více proměnných: Inverzní a implicitně definovaná zobrazení, vázané extrémy

Informatika Kódování. Obsah. Kód. Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008

Hammingovy kódy. dekódování H.kódů. konstrukce. šifrování. Fanova rovina charakteristický vektor. princip generující a prověrková matice

1 Co jsou lineární kódy

Lenka Zalabová. Ústav matematiky a biomatematiky, Přírodovědecká fakulta, Jihočeská univerzita. zima 2012

)(x 2 + 3x + 4),

BCH kódy. Alena Gollová, TIK BCH kódy 1/27

ZADÁNÍ ZKOUŠKOVÉ PÍSEMNÉ PRÁCE Z PŘEDMĚTU LINEÁRNÍ ALGEBRA PRO IT. Verze 1.1A

Kódováni dat. Kódy používané pro strojové operace

Hammingův kód. Vladislav Kosejk. České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská Detašované pracoviště Děčín

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Drsná matematika III 6. přednáška Obyčejné diferenciální rovnice vyšších řádů, Eulerovo přibližné řešení a poznámky o odhadech chyb

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Drsná matematika III 2. přednáška Funkce více proměnných: Aproximace vyšších rádů, Taylorova věta, inverzní zobrazení

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b)

Samoopravné kódy. Katedra matematiky a Institut teoretické informatiky Západočeská univerzita

Matematika IV - 3. přednáška Rozklady grup

Matematika IV - 3. přednáška Rozklady grup

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

uvedení do problematiky i Bezpečnostní kódy: detekční kódy = kódy zjišťující chyby samoopravné kódy = kódy opravující chyby příklady kódů:


Cyklickékódy. MI-AAK(Aritmetika a kódy)

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Drsná matematika III 2. přednáška Funkce více proměnných: Aproximace vyšších rádů, Taylorova věta, inverzní zobrazení

Cyklické kódy. Alena Gollová, TIK Cyklické kódy 1/23

Hammingův odhad. perfektní kódy. koule, objem koule perfektní kód. triviální, Hammingův, Golayův váhový polynom. výpočet. příklad

Těleso racionálních funkcí

4 Počítání modulo polynom

Informace, kódování a redundance

Odpřednesenou látku naleznete v dodatku A skript Abstraktní a konkrétní lineární algebra.

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Vlastnosti lineárních zobrazení a velikost vektorů

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.

Báze a dimenze vektorových prostorů

Pomocný text. Polynomy

Teorie informace: řešené příklady 2014 Tomáš Kroupa

Základní pojmy teorie množin Vektorové prostory

Primitivní funkce a Riemann uv integrál Lineární algebra Taylor uv polynom Extrémy funkcí více prom ˇenných Matematika III Matematika III Program

Věta o dělení polynomů se zbytkem

Teorie informace a kódování (KMI/TIK)

Golayův kód 23,12,7 -kód G 23. rozšířený Golayův kód 24,12,8 -kód G 24. ternární Golayův kód 11,6,5 -kód G 11

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Matematika 2 pro PEF PaE

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

Teorie informace a kódování (KMI/TIK)

1 Řešení soustav lineárních rovnic

Polynomy. Vlasnosti reálných čísel: Polynom v matematice můžeme chápat dvojím způsobem. 5. (komutativitaoperace )provšechnačísla a, b Rplatí

Báze a dimense. Odpřednesenou látku naleznete v kapitolách a 3.6 skript Abstraktní a konkrétní lineární algebra.

ALGEBRA. Téma 4: Grupy, okruhy a pole

PŘEDNÁŠKA PS 6 Přenos dat v počítačových sítích

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Odpřednesenou látku naleznete v kapitole 3.1 skript Abstraktní a konkrétní lineární algebra.

Matematika I 12a Euklidovská geometrie

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

ALGEBRA. Téma 5: Vektorové prostory

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování.

Kódování Obsah. Reedovy-Solomonovy kódy. Radim Farana Podklady pro výuku. Cyklické kódy.

1 Soustavy lineárních rovnic

Soustavy lineárních rovnic

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

Teorie kódování se zabývá tím, jak rychle a spolehlivě přenášet informace z jednoho místa na druhé. Mezi její aplikace patří například minimalizace

Diskrétní matematika 1. týden

1 Polynomiální interpolace

Teorie kódování aneb jak zhustit informaci

Jedná se o soustavy ve tvaru A X = B, kde A je daná matice typu m n,

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

Lineární algebra : Báze a dimenze

Úvod do teorie informace

2. V Q[x] dělte se zbytkem polynomy:

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Lineární algebra : Lineární (ne)závislost

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Proudové šifry a posuvné registry s lineární zpětnou vazbou

Báze konečněrozměrných vektorových prostorů, lineární zobrazení vektorových prostorů

ALGEBRA. 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = , b =

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

1 Báze a dimenze vektorového prostoru 1

Lineární algebra : Lineární prostor

10. Vektorové podprostory

0.1 Úvod do lineární algebry

19. Druhý rozklad lineární transformace

(ne)závislost. α 1 x 1 + α 2 x α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

Matematika B101MA1, B101MA2

Matematika IV - 2. přednáška Základy teorie grup

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

Transkript:

Matematika IV 10. týden Kódování Jan Slovák Masarykova univerzita Fakulta informatiky 22. 26. 4. 2013

Obsah přednášky 1 (n, k) kódy 2 Polynomiální kódy 3 Lineární kódy

Kde je dobré číst? připravovaná učebnice "Matematika drsně a svižně" Riley, K.F., Hobson, M.P., Bence, S.J. Mathematical Methods for Physics and Engineering, second edition, Cambridge University Press, Cambridge 2004, ISBN 0 521 89067 5, xxiii + 1232 pp. W. J. Gilbert, W. K. Nicholson, Modern algebra with applications, 2nd ed. John Wiley and Sons (Pure and applied mathematics) ISBN 0-471-41451-4

Plán přednášky 1 (n, k) kódy 2 Polynomiální kódy 3 Lineární kódy

Při přenosu informace zpravidla dochází k její deformaci. Budeme pro jednoduchost pracovat s modelem, kdy jednotlivé částečky informace jsou buď nuly nebo jedničky (tj. prvky v Z 2 ) a přenášíme slova o k bitech. Obdobné postupy jsou možné nad konečnými poli.

Při přenosu informace zpravidla dochází k její deformaci. Budeme pro jednoduchost pracovat s modelem, kdy jednotlivé částečky informace jsou buď nuly nebo jedničky (tj. prvky v Z 2 ) a přenášíme slova o k bitech. Obdobné postupy jsou možné nad konečnými poli. Přenosové chyby chceme 1 rozpoznávat 2 opravovat a za tím účelem přidáváme dodatečných n k bitů informace pro pevně zvolené n > k.

Při přenosu informace zpravidla dochází k její deformaci. Budeme pro jednoduchost pracovat s modelem, kdy jednotlivé částečky informace jsou buď nuly nebo jedničky (tj. prvky v Z 2 ) a přenášíme slova o k bitech. Obdobné postupy jsou možné nad konečnými poli. Přenosové chyby chceme 1 rozpoznávat 2 opravovat a za tím účelem přidáváme dodatečných n k bitů informace pro pevně zvolené n > k. Všech slov o k bitech je 2 k a každé z nich má jednoznačně určovat jedno kódové slovo z 2 n možných. Máme tedy ještě 2 n 2 k = 2 k (2 n k 1) slov, které jsou chybové. Lze tedy tušit, že pro veliké k nám i malý počet přidaných bitů dává hodně redundantní informace.

Úplně jednoduchým příkladem je kód kontrolující paritu. Kódové slovo o k + 1 bitech je určené tak, aby přidáním prvního bitu byl zaručen sudý počet jedniček ve slově.

Úplně jednoduchým příkladem je kód kontrolující paritu. Kódové slovo o k + 1 bitech je určené tak, aby přidáním prvního bitu byl zaručen sudý počet jedniček ve slově. Pokud při přenosu dojde k lichému počtu chyb, přijdeme na to. Dvě různá kódová slova se při tomto kódu vždy liší alespoň ve dvou pozicích, chybové slovo se ale od dvou různých kódových slov liší pouze v pozici jedné. Nemůžeme proto umět chyby opravovat ani kdybychom věděli, že došlo k právě jedné.

Úplně jednoduchým příkladem je kód kontrolující paritu. Kódové slovo o k + 1 bitech je určené tak, aby přidáním prvního bitu byl zaručen sudý počet jedniček ve slově. Pokud při přenosu dojde k lichému počtu chyb, přijdeme na to. Dvě různá kódová slova se při tomto kódu vždy liší alespoň ve dvou pozicích, chybové slovo se ale od dvou různých kódových slov liší pouze v pozici jedné. Nemůžeme proto umět chyby opravovat ani kdybychom věděli, že došlo k právě jedné. Navíc neumíme detekovat tak obvyklé chyby, jako je záměna dvou sousedních hodnot ve slově.

Definition Hammingova vzdálenost dvou slov je rovna počtu bitů, ve kterých se liší. 011 001 111 101 010 110 000 100

Definition Hammingova vzdálenost dvou slov je rovna počtu bitů, ve kterých se liší. 011 001 111 101 010 110 000 100 Theorem 1 Kód odhaluje r a méně chyb právě, když je minimální Hammingova vzdálenost kódových slov právě r + 1. 2 Kód opravuje r a méně chyb právě, když je minimální Hammingova vzdálenost kódových slov právě 2r + 1.

Plán přednášky 1 (n, k) kódy 2 Polynomiální kódy 3 Lineární kódy

Jak konstruovat kódová slova, abychom je snadno rozpoznali? Kontrolu parity jsme už viděli, další triviální možnost je prosté opakování bitů např. (3, 1) kód bere jednotlivé bity a posílá je třikrát po sobě.

Jak konstruovat kódová slova, abychom je snadno rozpoznali? Kontrolu parity jsme už viděli, další triviální možnost je prosté opakování bitů např. (3, 1) kód bere jednotlivé bity a posílá je třikrát po sobě. Docela systematickou cestou je využití dělitelnosti polynomů. Zpráva b 0 b 1... b k 1 je reprezentována jako polynom m(x) = b 0 + b 1 x + + b k 1 x k 1.

Jak konstruovat kódová slova, abychom je snadno rozpoznali? Kontrolu parity jsme už viděli, další triviální možnost je prosté opakování bitů např. (3, 1) kód bere jednotlivé bity a posílá je třikrát po sobě. Docela systematickou cestou je využití dělitelnosti polynomů. Zpráva b 0 b 1... b k 1 je reprezentována jako polynom m(x) = b 0 + b 1 x + + b k 1 x k 1. Definition Nechť p(x) = a 0 + + a n k x n k Z 2 [x] je polynom s a 0 = 1, a n k = 1. Polynomiální kód generovaný polynomem p(x) je (n, k) kód jehož slova jsou polynomy stupně menšího než n dělitelné p(x).

Jak konstruovat kódová slova, abychom je snadno rozpoznali? Kontrolu parity jsme už viděli, další triviální možnost je prosté opakování bitů např. (3, 1) kód bere jednotlivé bity a posílá je třikrát po sobě. Docela systematickou cestou je využití dělitelnosti polynomů. Zpráva b 0 b 1... b k 1 je reprezentována jako polynom m(x) = b 0 + b 1 x + + b k 1 x k 1. Definition Nechť p(x) = a 0 + + a n k x n k Z 2 [x] je polynom s a 0 = 1, a n k = 1. Polynomiální kód generovaný polynomem p(x) je (n, k) kód jehož slova jsou polynomy stupně menšího než n dělitelné p(x). Zpráva m(x) je zakódována jako v(x) = r(x) + x n k m(x), kde r(x) je zbytek po dělení polynomu x n k m(x) polynomem p(x).

Z definice víme v(x) = x n k m(x) + r(x) = q(x)p(x) + r(x) + r(x) = q(x)p(x). Budou tedy všechna kódová slova dělitelná p(x).

Z definice víme v(x) = x n k m(x) + r(x) = q(x)p(x) + r(x) + r(x) = q(x)p(x). Budou tedy všechna kódová slova dělitelná p(x). Původní zpráva je obsažena přímo v polynomu v(x), takže dekódování správného slova je snadné.

Z definice víme v(x) = x n k m(x) + r(x) = q(x)p(x) + r(x) + r(x) = q(x)p(x). Budou tedy všechna kódová slova dělitelná p(x). Původní zpráva je obsažena přímo v polynomu v(x), takže dekódování správného slova je snadné. Example 1 Polynom p(x) = 1 + x generuje (n, n 1) kód kontroly parity pro všechna n 3. 2 Polynom p(x) = 1 + x + x 2 generuje (3, 1) kód opakování bitů. První tvrzení plyne z toho, že 1 + x dělí polynom v(x) tehdy a jen tehdy, když v(1) = 0 a to nastane tehdy, když je ve v(x) sudý počet nenulových koeficientů. Druhé je zřejmé.

Přenos slova v (Z 2 ) n dopadne příjmem polynomu u(x) = v(x) + e(x) kde e(x) je tzv. chybový polynom repzentující vektor chyby přenosu.

Přenos slova v (Z 2 ) n dopadne příjmem polynomu u(x) = v(x) + e(x) kde e(x) je tzv. chybový polynom repzentující vektor chyby přenosu. Chyba je rozpoznatelná pouze, když generátor kódu p(x) nedělí e(x). Máme proto zájem o polynomy, které které nevystupují jako dělitelé zbytečně často.

Přenos slova v (Z 2 ) n dopadne příjmem polynomu u(x) = v(x) + e(x) kde e(x) je tzv. chybový polynom repzentující vektor chyby přenosu. Chyba je rozpoznatelná pouze, když generátor kódu p(x) nedělí e(x). Máme proto zájem o polynomy, které které nevystupují jako dělitelé zbytečně často. Definition Ireducibilní polynom p(x) Z 2 [x] stupně m se nazývá primitivní, jestliže p(x) dělí polynom (1 + x k ) pro k = 2 m 1 ale nedělí jej pro žádná menší k.

Theorem Je-li p(x) primitivní polynom stupně m, pak pro všechna n 2 m 1 rozpoznává příslušný (n, n m) kód všechny jednoduché a dvojité chyby.

Theorem Je-li p(x) primitivní polynom stupně m, pak pro všechna n 2 m 1 rozpoznává příslušný (n, n m) kód všechny jednoduché a dvojité chyby. Corollary Je-li q(x) primitivní polynom stupně m, pak pro všechna n 2 m 1 rozpoznává (n, n m 1) kód generovaný polynomem p(x) = q(x)(1 + x) všechny dvojité chyby a všechna slova s lichým počtem chyb.

Tabulka dává o informace o výsledcích předchozích dvou vět pro několik polynomů:

Tabulka dává o informace o výsledcích předchozích dvou vět pro několik polynomů: primitivní polynom kontrolní bity délka slova 1 + x + x 2 2 3 1 + x + x 3 3 7 1 + x + x 4 4 15 1 + x 2 + x 5 5 31 1 + x + x 6 6 63 1 + x 3 + x 7 7 127 1 + x 2 + x 3 + x 4 + x 8 8 255 1 + x 4 + x 9 9 511 1 + x 3 + x 10 10 1023

Nástroje pro konstrukci primitivních polynomů dává teorie konečných polí. Souvisí s tzv. primitivními prvky v Galoisových polích G(2 m ).

Nástroje pro konstrukci primitivních polynomů dává teorie konečných polí. Souvisí s tzv. primitivními prvky v Galoisových polích G(2 m ). Ze stejné teorie lze také dovodit příjemnou realizaci dělení se zbytkem (tj.) ověřování, zda je přijaté slovo kódové, pomocí zpožďovacích registrů. Jde o jednoduchý obvod s tolika prvky, kolik je stupeň polynomu.

Plán přednášky 1 (n, k) kódy 2 Polynomiální kódy 3 Lineární kódy

Definition Lineární kód je injektivní lineární zobrazení g : (Z 2 ) k (Z 2 ) n. Matice G typu n/k reprezentující toto zobrazení v standardních bazích se nazývá generující matice kódu.

Definition Lineární kód je injektivní lineární zobrazení g : (Z 2 ) k (Z 2 ) n. Matice G typu n/k reprezentující toto zobrazení v standardních bazích se nazývá generující matice kódu. Pro každé slovo u je příslušné kódové slovo. v = G u

Theorem Každý polynomiální (n, k) kód je lineární kód.

Theorem Každý polynomiální (n, k) kód je lineární kód. Matice příslušná k polynomu p(x) = 1 + x + x 3 a jím určenému (6, 3) kódu je 1 0 1 1 1 1 G = 0 1 1 1 0 0. 0 1 0 0 0 1

Theorem Je-li g : (Z 2 ) k (Z 2 ) n lineární kód s (blokově zapsanou) maticí ( ) P G =, potom zobrazení h : (Z 2 ) n (Z 2 ) n k s maticí H = ( I n k P ) má následující vlastnosti 1 Ker h = Im g I k 2 Přijaté slovo v = G u je kódové slovo právě, když je H v = 0.

Theorem Je-li g : (Z 2 ) k (Z 2 ) n lineární kód s (blokově zapsanou) maticí ( ) P G =, potom zobrazení h : (Z 2 ) n (Z 2 ) n k s maticí H = ( I n k P ) má následující vlastnosti 1 Ker h = Im g I k 2 Přijaté slovo v = G u je kódové slovo právě, když je H v = 0. Matici H z věty se říká matice kontroly parity přílušného (n, k) kódu.

Jak jsme viděli, přenos zprávy u dává výsledek v = u + e. To je ale nad Z 2 ekvivalentní e = u + v.

Jak jsme viděli, přenos zprávy u dává výsledek v = u + e. To je ale nad Z 2 ekvivalentní e = u + v. Pokud tedy známe vektorový podprostor V (Z 2 ) n správných kódových slov, víme u každého výsledku, že správné slovo se něj liší o případnou chybu, která je ve třídě rozkladu v + V ve faktorovém vektorovém prostoru (Z 2 ) n /V. Zobrazení h : (Z 2 ) n (Z 2 ) n k zadané maticí kontroly parity má V za jádro, proto indukuje injektivní lineární zobrazení h : (Z 2 ) n /V (Z 2 ) n k. Jeho hodnoty jsou jednoznačně určeny hodnotami H u.

Hodnota H u, kde H je matice kntroly parity pro lineární kód, se nazývá syndrom slova u v tomto kódu. Samozřejmým důsledkem této konstrukce je následující tvrzení. Theorem Dvě slova jsou ve stejné třídě rozkladu v + V právě, když sdílí syndrom. Samoopravné kódy lze konstruovat tak, že pro každý syndrom určíme prvek v příslušné třídě, který je nejvhodnějším slovem.