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

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

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

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

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

4 Počítání modulo polynom

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

Charakteristika tělesa

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)

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

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

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

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

Matematika 2 pro PEF PaE

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

Analytická metoda aneb Využití vektorů v geometrii

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,

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

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.

Lineární algebra Operace s vektory a maticemi

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

Matematika B101MA1, B101MA2

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

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

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

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

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

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

1 Báze a dimenze vektorového prostoru 1

Termodynamika ideálního plynu

0.1 Úvod do lineární algebry

Úvod do lineární algebry

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

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

1 Co jsou lineární kódy

Samoopravné kódy, k čemu to je

7. Lineární vektorové prostory

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

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

Laplaceova transformace.

CVIČENÍ Z ELEKTRONIKY

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

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

Algebraický úvod. Kapitola Pologrupa, monoid, neutrální prvek. 1.2 Grupa, inverzní prvek, krácení

Kapitola 11: Vektory a matice:

VĚTY Z LINEÁRNÍ ALGEBRY

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

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

0.1 Úvod do lineární algebry

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

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

Pomocný text. Polynomy

)(x 2 + 3x + 4),

10. Vektorové podprostory

Báze a dimenze vektorových prostorů

Lineární algebra - I. část (vektory, matice a jejich využití)

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:

1 Vektorové prostory.

Lineární prostory. - vektorové veličiny(síla, rychlost, zrychlení,...), skládání, násobení reálným číslem

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

Těleso racionálních funkcí

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

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

Soustavy lineárních rovnic a determinanty

Množinu všech matic typu m n nad tělesem T budeme označovat M m n (T ), množinu všech čtvercových matic stupně n nad T pak M n (T ).

Kapitola 11: Vektory a matice 1/19

6.1 Vektorový prostor

MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA VEKTORY, MATICE

MENDELOVA UNIVERZITA V BRNĚ LDF MT MATEMATIKA VEKTORY, MATICE

1 Lineární prostory a podprostory

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

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

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

SHANNONOVY VĚTY A JEJICH DŮKAZ

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

Okruhy, podokruhy, obor integrity, těleso, homomorfismus. 1. Rozhodněte, zda daná množina M je podokruhem okruhu (C, +, ): f) M = { a

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

6 Lineární geometrie. 6.1 Lineární variety

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ Katedra matematiky, fyziky a technické výchovy

Dynamické programování

8 Matice a determinanty

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

Úlohy k procvičování textu o svazech

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

2.6. Vlastní čísla a vlastní vektory matice

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Lineární algebra Kapitola 1 - Základní matematické pojmy

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

6. Vektorový počet Studijní text. 6. Vektorový počet


Vektorový prostor. d) Ke každému prvku u V n existuje tzv. opačný prvek u, pro který platí, že u + u = o (vektor u nazýváme opačný vektor k vektoru u)

Matematická analýza 1

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

Základy matematiky pro FEK

Co je to univerzální algebra?

18. První rozklad lineární transformace

DEFINICE Z LINEÁRNÍ ALGEBRY

Subexponenciální algoritmus pro diskrétní logaritmus

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

Algebraické struktury s jednou binární operací

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.

Transkript:

Cyklické kódy 5. řednáška z algebraického kódování Alena Gollová, TIK Cyklické kódy 1/23

Obsah 1 Cyklické kódy Generující olynom - kódování Kontrolní olynom - objevování chyb Alena Gollová, TIK Cyklické kódy 2/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Cyklický kód Definice Cyklický kód K délky n nad Z je lineární kód, který je uzavřen na cyklický osun ísmen. Pro každé v Z n latí: Je-li v = (v 1 v 2... v n ) K, ak c( v) = (v 2... v n v 1 ) K. Příklad Oakovací kód délky n nad Z je cyklický. Binární kód kontroly arity délky n je cyklický (rotože obsahuje rávě všechna slova délky n o sudém očtu jedniček) Koktavý kód K = { v = (aabbcc), a, b, c Z} není cyklický, ale je ekvivalentní cyklickému kódu K = { v = (abcabc), a, b, c Z}. Alena Gollová, TIK Cyklické kódy 3/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Cyklický kód Poznámka Cyklický kód K délky n je uzavřen na cyklické osuny o libovolných i míst doleva, ro 1 i n. v K imlikuje c( v) K, imlikuje c 2 ( v) = c(c( v)) K atd. c i ( v) K. Cyklický kód je uzavřen na cyklické osuny ísmen doleva i dorava, neboť osun o i míst doleva je vlastně osunem o n i míst dorava, ro 1 i n. Alena Gollová, TIK Cyklické kódy 4/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Cyklický kód - slova nebo olynomy Kódové olynomy - nový ohled na věc U cyklických kódů se vylatí cháat kódová slova délky n jako olynomy stuně nejvýše (n 1): v = (v 1 v 2... v n ) v(z) = v 1 z n 1 + v 2 z n 2 +... + v n Cyklický osun je ak realizován vynásobením roměnnou z odle ravidla z n = 1: c( v) = (v 2... v n v 1 ) z v(z) = v 1 z n + v 2 z n 1 +... + v n z = v 2 z n 1 +... + v n z + v 1 Alena Gollová, TIK Cyklické kódy 5/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Cyklický kód - slova nebo olynomy Nic tím neztratíme Množina Z n všech slov nad Z délky n tvoří lineární rostor nad Z. Množina všech olynomů nad Z stuně nejvýše (n 1) také tvoří lineární rostor nad Z. Přitom sčítání a násobení konstantou ze Z je v obou říadech realizováno stejně, oba lineární rostory jsou izomorfní. Množinu všech olynomů nad Z stuně nejvýše (n 1) budeme značit Z (n). Alena Gollová, TIK Cyklické kódy 6/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Cyklický kód - slova nebo olynomy Něco tím získáme Na množině všech olynomů nad Z stuně nejvýše (n 1) máme však navíc oeraci násobení: Umíme vynásobit dva olynomy nad Z a oužitím řeisovacího ravidla z n = 1 (z n+1 = z, z n+2 = z 2 atd.) získáme oět olynom stuně nejvýše (n 1). (Pozn: Pravidlo z n = 1 jsme otřebovali ři cyklickém osunu kódových olynomů!) Takto definované násobení odovídá násobení ve faktorovém okruhu Z[x]/(x n 1), aneb Z (n) tvoří komutativní okruh s jednotkou. Alena Gollová, TIK Cyklické kódy 7/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Cyklický kód - slova nebo olynomy Shrnutí Množina Z (n) všech olynomů nad Z v roměnné z stuně nejvýše (n 1) tvoří lineární rostor nad Z komutativní okruh, v němž násobíme dle ravidla z n = 1 Cyklický kód K délky n nad Z je odrostor v lineárním rostoru Z (n) uzavřený na násobení roměnnou z Alena Gollová, TIK Cyklické kódy 8/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Cyklický kód - slova nebo olynomy Definice Nechť (R, +, ) je komutativní okruh. Podmnožina I R se nazývá ideál okruhu R, jestliže 1 (I, +) je odgrua gruy (R, +), 2 ro všechny r R a všechny i I je r i I. Tvrzení Cyklický kód K délky n nad Z je ideál okruhu Z (n). Alena Gollová, TIK Cyklické kódy 9/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Generující olynom Tvrzení Nechť K je cyklický kód délky n nad Z. Pak existuje kódový olynom g(z) K tak, že latí v(z) K iff v(z) = a(z) g(z) ro nějaký a(z) Z (n). Definice Výše uvedený olynom g(z) se nazývá generující olynom cyklického kódu K. Generujícím olynomem je jakýkoliv nenulový kódový olynom nejmenšího stuně. Takových olynomů je ( 1) a jsou navzájem asociované, obvykle se generující olynom volí monický. Alena Gollová, TIK Cyklické kódy 10/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Kódování Navíc latí: Pro každý v(z) K existuje jediný a(z) stuně nejvýše (k 1), kde k = n st(g), ro nějž v(z) = a(z) g(z). Máme zde vzájemně jednoznačné zobrazení mezi kódovými olynomy v(z) K a olynomy a(z) Z (k). Kódování omocí generujícího olynomu Nechť K je cyklický (n, k)-kód s generujícím olynomem g(z), tedy st(g) = n k. Kódování informace délky k omocí g(z) robíhá takto: ā a(z) ϕ v(z) = a(z) g(z) v Alena Gollová, TIK Cyklické kódy 11/23

Generující matice Cyklické kódy Generující olynom - kódování Kontrolní olynom - objevování chyb Tvrzení Buď g(z) generující olynom cyklického (n, k)-kódu K nad Z. Množina {g(z), z g(z), z 2 g(z),..., z k 1 g(z)} tvoří bázi odrostoru K lineárního rostoru Z (n). Aneb bázi v odrostoru K lineárního rostoru slov Z n získáme cyklickým otáčením slova ḡ g(z). Generující matice G = jako generující olynom g(z). c k 1 (ḡ) : c(ḡ) ḡ určuje stejné kódování Alena Gollová, TIK Cyklické kódy 12/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Kódování Příklad Binární kód kontroly arity délky 3 K = {(0 0 0), (0 1 1), (1 0 1), (1 1 0)} {0, z + 1, z 2 + 1, z 2 + z}. Generujícím olynomem je g(z) = z + 1 a určuje toto kódování: ā = (0 0) v(z) = 0 g(z) = 0 v = (0 0 0) ā = (0 1) v(z) = 1 g(z) = z + 1 v = (0 1 1) ā = (1 0) v(z) = z g(z) = z 2 + z v = (1 1 0) ā = (1 1) v(z) = (z + 1) g(z) = z 2 + 1 v = (1 0 1) Stejné kódování určuje matice G = ( 1 1 0 0 1 1 ) ( z g(z) g(z) ). Alena Gollová, TIK Cyklické kódy 13/23

Systematické kódování Generující olynom - kódování Kontrolní olynom - objevování chyb Buď K cyklický (n, k)-kód s generujícím olynomem g(z). Poíšeme systematické kódování informace ā = (a 1,..., a k ). 1 Naíšeme info-znaky na začátek olynomu stuně (n 1): u(z) = z n k a(z) = a 1 z n 1 +... + a k z n k 2 Polynom u(z) vydělíme generujícím olynomem g(z): u(z) = f (z) g(z) + r(z), st(r) < st(g) = n k 3 Odečteme zbytek o dělení. Odečítání nezasáhne informační znaky a vzniklý olynom bude kódový: v(z) = u(z) r(z) = f (z) g(z) v = (a 1,..., a k, r n k 1,..., r 0 ) Alena Gollová, TIK Cyklické kódy 14/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Systematické kódování Příklad Binární kód kontroly arity délky 3 má g(z) = z + 1. Zakódujeme systematicky informaci ā = (10) a(z) = 1z + 0 1 u(z) = z a(z) = z 2 2 z 2 = (z + 1)g(z) + 1 3 v(z) = u(z) 1 = z 2 + 1 v = (101) Alena Gollová, TIK Cyklické kódy 15/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Kolik je cyklických kódů délky n nad Z? Tvrzení Nechť K je cyklický kód délky n nad Z s generujícím ol. g(z). Pak g(x) x n 1 v Z[x]. Důsledek Je tolik cyklických kódů délky n nad Z, kolik je monických dělitelů olynomu x n 1 v Z[x]. Příklad x 3 1 = (x + 1)(x 2 + x + 1) je ireducibilní rozklad v Z2[x], existují tedy ouze dva (netriviální) binární cyklické kódy délky 3: oakovací kód s g(z) = z 2 + z + 1 kód kontroly arity s g(z) = z + 1 Alena Gollová, TIK Cyklické kódy 16/23

Kontrolní olynom Cyklické kódy Generující olynom - kódování Kontrolní olynom - objevování chyb Tvrzení Nechť K je cyklický kód délky n nad Z s generujícím ol. g(z) a nechť x n 1 = h(x)g(x) v Z[x]. Pak ro každý olynom v(z) Z (n) latí: Definice v(z) K iff v(z) h(z) = 0 v Z (n) (kde z n = 1). Výše uvedený olynom h(z) se nazývá kontrolní olynom cyklického kódu K. Kontrolní olynom budeme volit monický, každý jeho konstantní nenulový násobek je též kontrolním olynomem kódu K. Alena Gollová, TIK Cyklické kódy 17/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Kontrolní olynom Příklad Binární kód kontroly arity délky 3 má g(z) = z + 1. x 3 1 = (x + 1)(x 2 + x + 1) v Z2[x], tedy h(z) = z 2 + z + 1. Zkontrolujeme kódové slovo z 2 + 1: h(z) (z 2 + 1) = z 4 + z 3 + z + 1 = z + 1 + z + 1 = 0, očítáme dle ravidla z 3 = 1. Tvrzení Pro cyklický (n, k)-kód K nad Z latí: st(h(z)) = k, rotože st(g(z)) = n k; g(z) i h(z) mají nenulový absolutní člen Alena Gollová, TIK Cyklické kódy 18/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Objevování chyb Detekce chybného slova Nechť K je cyklický (n, k)-kód nad Z s generujícím olynomem g(z) a kontrolním olynomem h(z). Bylo osláno slovo v K a řijato slovo w = v + ē Z n. Kontrolu srávnosti můžeme rovést dvěma zůsoby: Pokud g(z) w(z) v Z[z], ak w(z) K, tedy řijaté slovo je chybné. Pokud h(z) w(z) 0 v Z (n) (kde z n = 1), ak w(z) K, tedy řijaté slovo je chybné. V oačném říadě ovažujeme w(z) = v(z) za slovo oslané, neboť ravděodobnější je menší očet chyb. Alena Gollová, TIK Cyklické kódy 19/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Objevování chyb a dekódování Objevování shluků chyb Cyklický kód K objevuje všechna chybová slova, která obsahují shluky chyb o délce d st(g(z)) = n k. Chybový olynom má tvar e(z) = z i f (z), kde st(f (z)) d 1, a gcd(g(z), z i ) = 1, tudíž g(z) e(z) v Z[z]. Vlastní dekódování Vlastní dekódování kódového olynomu v(z) K ři nesystematickém kódování rovedeme vydělením generujícím olynomem g(z) nad Z: v(z) : g(z) = a(z) v Z[z] Alena Gollová, TIK Cyklické kódy 20/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Oravování chyb Oravování jedné chyby Pokud je v řijatém olynomu jedna chyba, ak w(z) = v(z) + a z i, kde v(z) K. Při vynásobení kontrolním olynomem vznikne syndrom: s(z) = w(z) h(z) = 0 + a z i h(z) Určíme-li jednoznačně konstantu a a z i, ak můžeme chybu oravit: v(z) = w(z) a z i. Pozor, násobení jsme rováděli odle ravidla z n = 1, nelze tedy jednoduše odělit s(z) : h(z) jakožto olynomy nad Z. K oravování chyb budeme raději oužívat kontrolní matici. Alena Gollová, TIK Cyklické kódy 21/23

Kontrolní matice Cyklické kódy Generující olynom - kódování Kontrolní olynom - objevování chyb Tvrzení Nechť h(z) = h k z k + + h 1 z + h 0 je kontrolní olynom cyklického (n, k)-kódu K nad Z. Pak kontrolní matice kódu K má tvar H = 0... 0 h 0 h 1... h k : 0 h 0 h 1... h k 0... 0 h 0 h 1... h k 0... 0 Matice má (n k) lineárně nezávislých řádků, stačí tedy ověřit jejich kolmost na kódová slova. (dim K = k, dim K T = n k.) V syndromu s T = H v T jsou koeficienty olynomu s(z) = h(z) v(z), tudíž ro kódová slova je syndrom nulový. Alena Gollová, TIK Cyklické kódy 22/23

Generující olynom - kódování Kontrolní olynom - objevování chyb Duální kód Řádky matice H tvoří bázi duálního kódu K T. Tyto řádky vznikly cyklickým otáčením slova (0... 0 h 0 h 1... h k ), které odovídá recirokému olynomu k olynomu h(z) (reciroký olynom má koeficienty v oačném ořadí): Tvrzení h(z) = h k z k + h k 1 z k 1 + + h 1 z + h 0 h r (z) = h 0 z k + h 1 z k 1 + + h k 1 z + h k Duální kód K T cyklického kódu K je také cyklický. Jeho generujícím olynomem je h r (z), reciroký olynom ke kontrolnímu olynomu kódu K. Alena Gollová, TIK Cyklické kódy 23/23