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

Podobné dokumenty
Samoopravné kódy, k čemu to je

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

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

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

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

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

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

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

Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.

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

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

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

Soustavy linea rnı ch rovnic

DEFINICE Z LINEÁRNÍ ALGEBRY

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

Báze a dimenze vektorových prostorů

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

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

ALGEBRA. Téma 5: Vektorové prostory

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

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

PROSTORY SE SKALÁRNÍM SOUČINEM. Definice Nechť L je lineární vektorový prostor nad R. Zobrazení L L R splňující vlastnosti

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

(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.

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

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

7. Důležité pojmy ve vektorových prostorech

7. Lineární vektorové prostory

NALG 001 Lineární algebra a geometrie 1, zimní semestr MFF UK Doba řešení: 3 hodiny

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

1 Báze a dimenze vektorového prostoru 1

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

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

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.

Lineárníkódy. MI-AAK(Aritmetika a kódy)

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace


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

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,

Soustavy lineárních rovnic

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

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

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

1/10. Kapitola 12: Soustavy lineárních algebraických rovnic

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

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

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

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}

Řešení. Hledaná dimenze je (podle definice) rovna hodnosti matice. a a 2 2 1

VĚTY Z LINEÁRNÍ ALGEBRY

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ů:

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry

1 Determinanty a inverzní matice

Kapitola 11: Vektory a matice:

1 Soustavy lineárních rovnic

Lineární algebra Operace s vektory a maticemi

Vlastní číslo, vektor

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

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

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

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

1 Linearní prostory nad komplexními čísly

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

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

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

Úvod do teorie informace

Výběr báze. u n. a 1 u 1

Kódování signálu. Problémy při návrhu linkové úrovně. Úvod do počítačových sítí. Linková úroveň

Lineární algebra : Báze a dimenze

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Uspořádanou n-tici reálných čísel nazveme aritmetický vektor (vektor), ā = (a 1, a 2,..., a n ). Čísla a 1, a 2,..., a n se nazývají složky vektoru

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

1 Vektorové prostory.

Kódy pro detekci a opravu chyb. INP 2008 FIT VUT v Brně

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Obecná úloha lineárního programování

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův

ftp://math.feld.cvut.cz/pub/olsak/linal/

z textu Lineární algebra

Afinní transformace Stručnější verze

Matice lineárních zobrazení

V: Pro nulový prvek o lineárního prostoru L platí vlastnosti:

Lineární zobrazení. V prvním z následujících tvrzení navíc uvidíme, že odtud plynou a jsou tedy pak rovněž splněny podmínky:

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava luk76/la1

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

Matematika 2 pro PEF PaE

9 Kolmost vektorových podprostorů

[1] Vzhledem ke zvolené bázi určujeme souřadnice vektorů...

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

ANTAGONISTICKE HRY 172

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

IB112 Základy matematiky

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

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

Informace, kódování a redundance

EUKLIDOVSKÉ PROSTORY

Kapitola 11: Vektory a matice 1/19

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Transkript:

[1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód

Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla (kódování). Posléze jsou čtena dekodérem a restaurována do původní podoby. Kodér může přidat k datům doplňující informaci (zhruba řečeno kontrolní součet) a umožnit tím dekodéru, aby poznal, zda při přenosu dat došlo k chybě. Dokonce při vhodně zvoleném kódování může dekodér chybu opravit. Kód je množina slov (tj. úseků dat), které může generovat kodér. Příklady kódů: ASCII (slova sedmibitová, ne všechna) Morseova abeceda (slova různě dlouhá, efektivní přenos) UTF-8 (slova různě dlouhá, délka rozpoznaná podle prefixu)

Binární, blokový kód [3] je kód, kde jsou všechna slova stejně dlouhá. Definice: Necht A je množina znaků (abeceda). Slovo je konečná posloupnost znaků z množiny A. Počet znaků ve slově je délka slova. Kód K je množina všech slov, která generuje kodér. Prvek kódu K se nazývá kódové slovo. Blokový kód K obsahuje jen slova stejné délky. Binární kód je kód se slovy nad abecedou A = {0, 1}. Příklady: ASCII je binární blokový kód délky 7. Moreseovka není binární a není blokový kód. UTF-8 je binární, ale ne blokový kód. Dále se budeme zabývat jen binárními blokovými kódy

Lineární kód [4] Binární blokový kód K délky n je podmnožinou lin. prostoru Z n 2. Definice: Je-li K lienární podprostor Z n 2, pak se kód nazývá lineární. Je-li dimenze kódu k, pak mluvíme o lineárním (n, k) kódu. Příklad: Kód s kontrolním bitem parity je lineární. Kodér přidává nulu nebo jedničku k informačním bitům tak, aby kódové slovo obsahovalo sudý počet jedniček. Množina všech slov délky n se sudým počtem jedniček je lineární podprostor lineárního prostoru Z n 2.

Generující a kontrolní matice [5] Generující matice lineárního kódu K je matice, která v řádcích obsahuje bázi kódu. Kontrolní matice lineárního kódu K je matice H, pro kterou platí, že K je řešením soustavy H x = o. Příklad: Předpokládejme lineární (4, 3) kód s kontrolním bitem parity (přidávaný na konec slova za tři informační bity). Generující matice G a kontrolní matice H jsou: G = 1 0 0 1 0 1 0 1 0 0 1 1, H = ( 1 1 1 1 ) Pozorování: Generující matice (n, k) kódu je typu (k, n) a kontrolní matice je typu (n k, n). Platí: G H T = O.

Výpočet jedné matice, známe-li druhou [6] Je-li dána generující (resp. kontrolní) matice, vyřešíme homogenní soustavu rovnic s touto maticí a bázi řešení zapíšeme do řádků kontrolní (resp. generující) matice. Pro systematický kód dokonce platí: Je-li G = (E C), pak H = (C T E ).

Kodér a dekodér [7] Kodér lin. (n, k) kódu může převzít kódované slovo u (délky k) a vytvořit z něj kódové slovo v (délky n) maticovým násobením: v = u G. Dekodér může zkontrolovat přijaté slovo w pomocí testu: H w T = o. Kódování je systematické, jsou-li informační bity (ze slova u ) beze změny zkopírovány do kódového slova a za nimi následují kontrolní bity. Pak může dekodér (po provedeném testu) rekonstruovat informační bity zkopírováním prvních k pozic přijatého slova. Pozorování: Kódování je systematické, je-li generující matice tvaru G = (E C). Přidávané kontrolní bity pak kodér spočítá pomocí vzorce v = u C.

Příklad: opakovací kód [8] Kodér vezme kódované slovo u délky k a vytvoří kódové slovo délky n = 2k tak, kódové slovo je tvaru ( u, u ), tj. kódované slovo je zdvojené. Generující matice tohoto kódu je G = (E E) a kontrolní matice je také tvaru H = (E E). Uvědomte si, jak je kód pomocí G generován a jak je pomocí H kontrolován. Nevýhoda: příliš mnoho kontrolních bitů za málo muziky.

Hammingova váha, vzdálenost [9] Definice: Hammingova váha slova v je počet jeho nenulových znaků. Hammingova vzdálenost dvou slov v a w je počet pozic, kde jsou znaky odlišné (pro binární kód je to váha slova v + w). Kód K objevuje t chyb, pokud pro každé slovo u K a každé slovo e váhy menší nebo rovno t platí u + e K. Kód K opravuje t chyb, pokud pro každé slovo u K a každé slovo e váhy menší nebo rovno t platí: slovo u má od slova u + e nejmenší vzdálenost mezi kódovými slovy. Tvrzení 1: Je-li nejmenší vzdálenost mezi kódovými slovy d, pak kód objevuje d 1 chyb a opravuje t < d 2 chyb. Tvrzení 2: Nejmenší vzdálenost mezi kódovými slovy lineárního kódu je rovna nejmenší váze nenulového kódového slova.

Příklady [10] Kód s kontrolním bitem parity má nejmenší váhu nenulového slova 2, takže objevuje 2 1 = 1 chybu ve slově. Opravuje méně než 2/2 chyb, tedy neopravuje žádnou chybu. Opakovací kód mý rovněž nejmenší váhu nenulového slova 2. Aby kód dokázal opravit jednu chybu ve slově, musí mít nejmenší váhu neulového slova rovnu třem.

Syndrom [11] Dekodér vyhodnotí s = H w T. Tomuto vektoru s říkáme syndrom přijatého slova w. Přijaté slovo je kódové, právě když má nulový syndrom. Kód rozpozná chybu e, právě když s = H e T je nenulový vektor. Pozorování 1: Syndrom nezávisí na kódovém slově (jen na chybovém slově): H ( v + e ) T = H v T + H e T = o + H e T = H e T. Pozorování 2: Lin. kód má minimální vzdálenost dvou slov d, právě když každý výběr d 1 sloupců z kontrolní matice H je lineárně nezávislý. Jmenovitě: kód opravuje jednu chybu když každé dva sloupce kontrolní matice H jsou LN, tj. jsou nenulové a vzájemně různé (to v Z n k 2 stačí). Kontrolní matice s touto vlastností je kontrolní matice Hammingova kódu.

Hammingův kód [12] Sloupce kontrolní matice H jsou prvky Z n k 2. Počet nenulových a vzájemně různých sloupců je maximálně 2 n k 1. Počet sloupců udává délku kódu n, tedy n = 2 n k 1. Délku kódu je tedy vhodné volit jako mocninu dvou bez jedné. Dostáváme tak Hammingovy kódy: (7, 4), (15, 11), (31, 26), (63, 57),.... Příklad: Hammingův kód (7, 4) délka 7, informační bity 4: 0 0 0 1 1 1 1 H = 0 1 1 0 0 1 1, G = 1 0 1 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 Výhoda tohoto uspořádání: index bitu, který je potřeba opravit, je zapsán v syndromu jako číslo ve dvojkové soustavě..

Rozšířený Hammingův kód [13] je Hammingův kód, ke kterému kodér přidává kontrolní bit parity. Například (8, 4) kód má matice 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 1 H = 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0, G = 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1. 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 Kód opraví jednu chybu (v prvních třech bitech je syndrom jako v (7, 4) kódu a čtvrtý bit musí být 1) a odhalí dvě chyby (v prvních třech bitech syndromu je nenulové číslo a čtvrtý bit je 0). Nejmenší vzdálenost dvou slov v tomto kódu je 4.

Návrh počtu kontrolních bitů [14] Označme n délku binárního kódu, k dimenzi kódu (počet informačních bitů) a c = n k počet kontrolních bitů. Lineární kód nemůže opravit více rozdílných chyb než je počet nenulových syndromů. Těch je 2 c 1. Počet různých chyb s váhou jedna je n. Proto, chceme-li opravit jednu chybu, musí 2 c 1 n. Počet různých chyb (včetně stavu bez chyby ) s váhou nejvýše m je rovno ( ) ( ) ( ) n n n + + + 0 1 m Chceme-li opravovat m chyb ve slově, musí tedy počet kontrolních bitů splňovat: ( ) ( ) ( ) n n n 2 c + + + 0 1 m Kódy navržené tak, že zde nastává rovnost, se nazývají perfektní.