Kódelmélet és kriptográa

Hasonló dokumentumok
Kódelméleti és kriptográai alkalmazások

Kódelmélet. Tartalomjegyzék. Jelölések. Wettl Ferenc V A. Függelék: Véges testek 21

Bevezetés az algebrába 2 Lineáris algebra alkalmazásai

Diszkrét matematika 2.

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Bevezetés az algebrába 2

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

Hibajavító kódolás (előadásvázlat, november 14.) Maróti Miklós

Az állítást nem bizonyítjuk, de a létezést a Paley-féle konstrukció mutatja: legyen H a

FELADATOK A BEVEZETŽ FEJEZETEK A MATEMATIKÁBA TÁRGY III. FÉLÉVÉHEZ. ÖSSZEÁLLÍTOTTA: LÁNG CSABÁNÉ ELTE IK Budapest

3. el adás: Determinánsok

Hibajavító kódok május 31. Hibajavító kódok 1. 1

Hibadetektáló és javító kódolások

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk.

Diszkrét matematika 2.C szakirány

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

KÓDOLÁSTECHNIKA PZH december 18.

DiMat II Végtelen halmazok

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Visontay Péter január. 1. Alapfogalmak

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Diszkrét matematika II. feladatok

Alapfogalmak a Diszkrét matematika II. tárgyból

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Hibajavítás, -jelzés. Informatikai rendszerek alapjai. Horváth Árpád november 24.

Lineáris algebra gyakorlat

15. LINEÁRIS EGYENLETRENDSZEREK

Diszkrét matematika 2.C szakirány

Labancz Norbert. Hibajavító kódolás

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Vektorterek. =a gyakorlatokon megoldásra ajánlott

1. feladatsor Komplex számok

Kódoláselmélet. (Humann kód, hibajavító kódok, véges testek konstrukciója. Reed-Solomon kód és dekódolása.)

Miller-Rabin prímteszt

13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem

Nagy Gábor compalg.inf.elte.hu/ nagy

Lin.Alg.Zh.1 feladatok

Skalárszorzat, norma, szög, távolság. Dr. Takách Géza NyME FMK Informatikai Intézet takach/ 2005.

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Mer legesség. Wettl Ferenc Wettl Ferenc Mer legesség / 40

Ortogonalizáció. Wettl Ferenc Wettl Ferenc Ortogonalizáció / 41

Szinguláris értékek. Wettl Ferenc április 3. Wettl Ferenc Szinguláris értékek április 3. 1 / 28

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

A lineáris algebra forrásai: egyenletrendszerek, vektorok

2012. október 2 és 4. Dr. Vincze Szilvia

Nagy Gábor compalg.inf.elte.hu/ nagy

Vektorok. Wettl Ferenc október 20. Wettl Ferenc Vektorok október / 36

Egyváltozós függvények 1.

Vektorok, mátrixok, lineáris egyenletrendszerek

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma.

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

HALMAZELMÉLET feladatsor 1.

Funkcionálanalízis. n=1. n=1. x n y n. n=1

Analízisfeladat-gyűjtemény IV.

Gazdasági matematika II. tanmenet

Aleksziev Rita Antónia Matematika BSc Alkalmazott matematikus szakirány. Golay-kódok

Intergrált Intenzív Matematika Érettségi

Matematika (mesterképzés)

LINEÁRIS ALGEBRA (A, B, C) tematika (BSc) I. éves nappali programtervező informatikus hallgatóknak évi tanév I. félév

VIK A2 Matematika - BOSCH, Hatvan, 3. Gyakorlati anyag. Mátrix rangja

Nagy Gábor compalg.inf.elte.hu/ nagy

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

Bázistranszformáció és alkalmazásai 2.

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I.

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Permutációk véges halmazon (el adásvázlat, február 12.)

Diszkrét matematika alapfogalmak

Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR. Analízis I. példatár. (kidolgozott megoldásokkal) elektronikus feladatgyűjtemény

Halmazelméleti alapfogalmak

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Matematikai logika. 3. fejezet. Logikai m veletek, kvantorok 3-1

Lineáris leképezések. 2. Lineáris-e az f : R 2 R 2 f(x, y) = (x + y, x 2 )

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Mátrixfüggvények. Wettl Ferenc április 28. Wettl Ferenc Mátrixfüggvények április / 22

Szinguláris értékek. Wettl Ferenc április 12. Wettl Ferenc Szinguláris értékek április / 35

Haladók III. kategória 2. (dönt ) forduló

Lineáris kódok. u esetén u oszlopvektor, u T ( n, k ) május 31. Hibajavító kódok 2. 1

Diszkrét matematika 1. középszint

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

Lineáris egyenletrendszerek

KOVÁCS BÉLA, MATEMATIKA I.

Az információelmélet alapjai, biológiai alkalmazások. 1. A logaritmusfüggvény és azonosságai

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Diszkrét matematika II., 8. előadás. Vektorterek

Mátrixok 2017 Mátrixok

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Mat. A2 3. gyakorlat 2016/17, második félév

Diszkrét matematika 2.

Láthatjuk, hogy az els szám a 19, amelyre pontosan 4 állítás teljesül, tehát ez lesz a legnagyobb. 1/5

Rang, sajátérték. Dr. Takách Géza NyME FMK Informatikai Intézet takach/ február 15

6. Előadás. Megyesi László: Lineáris algebra, oldal. 6. előadás Bázis, dimenzió

A kódok típusai Kódolás: adatok megváltoztatása. Dekódolás: a megváltoztatott adatból az eredeti visszanyerése.

Átírás:

Kódelmélet és kriptográa Wettl Ferenc 20-02-08 v002 Tartalomjegyzék Zajmentes csatorna, forráskód 2 Entrópia = információ = bizonytalanság 2 2 Feltételes entrópia 2 3 Egyértelm dekódolhatóság 3 4 Zajmentes kódolási tétel 3 2 Zajos csatorna, hibajavítás 3 2 Példák 3 22 Csatornamodellek 4 23 Blokk-kódok 5 24 Dekódolás, hibajavítás 5 25 Csatornakódolási tétel 5 26 Korlátok kód méretére 6 Jelölések GF(q), F q F q [x] F q [x] n d H wt S r,q H r,q EH r,q RS?? RM?? q elem véges test F q feletti polinomok gy r je n-nél kisebb fokú F q feletti polinomok Hamming-távolság Hamming-súly (a 0-szótól való távolság) r paraméter F q feletti szimplex kód r paraméter F q feletti Hamming-kód kiegészített Hamming-kód ReedSolomon-kód ReedMüller-kód 3 Lineáris kód 6 3 Alapfogalmak 6 32 Generátormátrix 7 33 Kódok ekvivalenciája 8 34 Ellen rz mátrix 8 35 Dekódolás, szindróma 0 36 Kód konstrukciója kódból 4 Hamming kód 4 A Hamming kód tulajdonságai 42 A szimplex kód tulajdonságai 2 43 B vített bináris Hamming-kód 2 44 Els rend bináris ReedMuller-kód 2 45 Hadamard dekódolás 3 5 Ciklikus kód 4 5 Alapfogalmak 4 52 Generátormátrixok 5 53 Fordított kód 6 54 Ciklikus kód duálisa 6 A Függelék: Véges testek 6

Zajmentes csatorna, forráskód Entrópia = információ mennyisége = bizonytalanság mértéke Legyen az X valószín ségi változó eloszlása {p, p 2,, p n }, ahol p i = p(x i ) := P(X = x i ) Az x i információtartalmát vagy bizonytalanságát megadó függvény n, ha p i csökken, és ez a bizonytalanság csak p i -t l függ, jelölje ezt I(p i ) Pl I() = 0, hisz az valószín ség kimenetel bizonytalansága 0, I(0) =, és legyen I( 2 ) =, azaz az /2 valószín - ség esemény bizonytalanságát válasszuk egységnek ( bit vagy Shannon) Legyen I(p) = log = log p p Egy valószín ségi változó entrópiáján bizonytalanságának várható értékét értjük Ezt H(X) vagy H(p, p 2,, p n ) jelöli, azaz H(X) = H(p, p 2,, p n ) = E(I(X)) = E( log(p(x)) n = p i log n = p i log p i () p i i= i= A bizonytalanság nagyságát méri az az információ, mely az eloszlatásához szükséges A bizonytalanság, és így az információ leggyakrabban használt mértékegysége a bit (= Shannon) A fenti képlet úgy értend, hogy 0 log 0 = 0 (miért?) A H(p, p) függvényre használatos a H(p) vagy a H 2 (p) jelölés is Ábrázoljuk a H(p) függvényt! feladat Konkrét példákon gondoljuk végig, hogy az alábbi tulajdonságok joggal elvárhatók egy bizonytalanságot kifejez függvényt l Az X valószín ségi változó bizonytalansága nem függ mástól, mint az X valószín ségeloszlásától, és nem függ a p i értékek sorrendjét l sem, azaz H szimmetrikus; 2 H(p, p 2,, p n ) 0, és pontosan akkor 0, ha valamely i-re p i = ; 3 H folytonos; 4 H(p, p 2,, p n, 0) = H(p, p 2,, p n ); 5 H(p, p 2,, p n ) H( n, n,, n ); 6 H( n, n,, n ) H( n+, n+,, n+ ); 7 H( mn, mn,, mn ) = H( m,, m ) + H( n,, n ); 8 Ha p = p + + p n, q = q + + q m és p + q =, akkor H(p,, p n, q,, q m ) = H(p, q) + ph(p /p,, p n /p) + qh(q /q,, q m /q) (additivitás) Belátható a következ tétel: 2 tétel Ha p i 0 (i =,, n), és n i= p i =, akkor a fenti 8 feltételt kielégít függvény alakja H(p, p 2,, p n ) = c n p i log p i, i= ahol c egy tetsz leges pozitív konstans 3 házi feladat Az entrópia tulajdonságai Mutassuk meg, hogy ha az X valószín ségi változó értékkészlete n elem, akkor 0 H(X) log n, és a bal oldalon egyenl ség akkor és csak akkor áll fenn, ha az X valváltozó valószín séggel konstans, míg a jobb oldalon akkor és csak akkor áll egyenl ség, ha X egyenletes eloszlású 2 H(X, Y ) H(X) + H(Y ), és egyenl ség akkor és csak akkor áll fenn, ha X és Y függetlenek 4 példa Adva van n érme, melyek közül lehet, hogy az egyik hamis, és akkor a súlya különbözik a többiét l (könnyebb vagy nehezebb) Van egy kétkarú mérlegünk, mellyel k mérést végzünk, hogy megtaláljuk a hamis érmét, és hogy megmondjuk azt is, hogy könnyebb vagy nehezebb a többinél, vagy hogy bizonyítsuk, nincs az érmék közt hamis A mérésekkel szerezhet információ felhasználásával adjunk n-re fels becslést (ld még a 46 példát) Megoldás 2n+ lehet ség van: az n érme valamelyike nehezebb a többinél, az n érme valamelyike könnyebb a többinél, vagy mind egyforma nehéz A feladat alapján minden esetet egyformán valószín nek kell tekintenünk, mivel semmi információnk az eloszlásra, azaz az entrópia log(2n + ) Az egy méréssel megszerezhet információ legföljebb log 3, hisz minden mérésnek 3 eredménye lehet, a mérleg balra billen, jobbra billen, egyensúlyban marad Így k, a mérések száma minimum log(2n + )/ log 3 Innen n (3 k )/2 Elemi okoskodással is megkapható ez az eredmény: minden mérésnek 3 eredménye lehet, így k méréssel 3 k különböz állapot különböztethet meg, így 2n + 3 k, ami ugyancsak a fenti eredményt adja 2 Feltételes entrópia Egy kommunikációs csatorna mindkét végén megjelenik egy valváltozó: a bemenetit jelölje X, a kimenetit Y Kett jük viszonyát fejezik ki a következ fogalmak Az X, ill Y értelmezési tartományát jelölje X, illetve Y Az (Y X = x) feltételes valószín ségi változó eloszlása P(Y = y X = x) = p(y x) = Az (Y X = x) entrópiája p(x, y) p(x), H(Y X = x) = y Y p(y x) log p(y x) y Y 2

A H(Y X) feltételes entrópia deníciója: H(Y X) = x X p(x)h(y X = x) = p(x) p(y x) log p(y x) x X y Y = p(x, y) log p(y x) x X y Y 5 házi feladat Mutassuk meg, hogy H(X, Y ) = H(X) + H(Y X) = H(Y ) + H(X Y ) 2 0 H(X Y ) H(X), és a bal oldalon egyenl ség csak akkor áll fenn, ha valószín séggel függvénye X az Y - nak, míg a jobb oldalon csak akkor áll egyenl ség, ha X és Y függetlenek Az X és Y valváltozók kölcsönös információján az mennyiséget értjük I(X, Y ) = H(X) + H(Y ) H(X, Y ) 6 házi feladat A kölcsönös információ tulajdonságai Mutassuk meg, hogy I(X, Y ) = p(x,y) x,y p(x, y) log p(x)p(y) 2 I(X, Y ) 0, 3 I(X, Y ) = H(X) H(X Y ) = H(Y ) H(Y X), azaz X bizonytalansága I(X, Y )-nal csökken, ha ismerjük Y -t, 4 I(X, Y ) H(X), I(X, Y ) H(Y ) 3 Egyértelm dekódolhatóság A következ kben a forrásábécé legyen a véges X, a kódábécé a véges Y halmaz A kódszavak az Y elemei, azaz az Y elemeib l álló véges hosszú sorozatok Egy f : X Y függvényt kódnak nevezünk, az X elemeit üzeneteknek Az f : X Y kód egyértelm en dekódolható, ha bármely két u v üzenet esetén f(u )f(u 2 ) f(u k ) f(v )f(v 2 ) f(v m ) Az f kód pre- x, ha egyik kódszó sem folytatása egy másiknak Egy pre- x kód egyértelm en dekódolható Az f(x) kódszó hosszát f(x) jelöli 7 tétel (McMillan) Minden egyértelm en dekódolható f : X Y kódra n s f(xi), i= ahol n = X és s = Y Bizonyítás Mivel ( n ) N s f(xi) = i= n i = n i N = NL = A l s l, l= s f(xi f(xi N ahol L = max i n f(x i ), és A l az összes olyan l-hosszú kódbet sorozatok száma, melyek N kódszó egymás után írásával keletkeztek Az összes ilyen sorozat különböz az egyértelm dekódolhatóság miatt, ezért A l s l Így azaz ( n ) N s f(xi) NL, i= n s f(xi) N NL, i= ami bizonyítja az állítást 8 tétel (Kraft) Ha az l, l 2,, l n pozitív egészekre n s li, i= akkor létezik olyan f prex kód, hogy f(x i ) = l i, ahol i =,, n 4 Zajmentes kódolási tétel 9 tétel (Zajmentes kódolási tétel) Legyen X diszkrét valószín ségi változó Ekkor létezik olyan E : X {0, } és D : {0, } X függvény, hogy minden x X elemre D(E(x)) = x, továbbá E ( E(x) ) [H(X), H(X) + ] x X 2 Zajos csatorna, hibajavítás 2 Példák F n 2 2 példa (Alappéldák) Az alábbi öt példára többször fogunk hivatkozni (a) Ismétl kód a X aa a X n Legföljebb n hibát jelez, és n 2 hibát javít (hogyan?) (b) Paritásellen rz kód, nullösszeg kód (b,, b n ) F n 2 (b,, b n, b + + b n ) A kód utolsó bitjét szokás paritásbitnek nevezni Hibát javítani e kód nem tud, de egy hibát jelez (valójában páratlan sokat) Általánosítása a nullösszeg kódolás: (a,, a n ) F n q (a,, a n, n i= a i) F n q E kódolásoknál pontosan azok a kódszavak, melyek koordinátáinak összege 0 3

(c) Bináris [7, 4, 3] 2 Hamming-kód F 4 2 F 7 2 : (b 3, b 5, b 6, b 7 ) (b,, b 7 ), ahol b = b 3 +b 5 +b 7, b 2 = b 3 + b 6 + b 7, b 4 = b 5 + b 6 + b 7 A biteket Venndiagramban ábrázolhatjuk Legyen B, B 2, B 4 három halmaz B 2 k pontosan akkor tartalmazza a b i bitet, ha i bináris alakjában a k-adik bit (ld a 2 ábrát) Innen U b 0 b 4 b 5 b 6 b 7 B 4 b 4 B 4 b b 3 b 2 b 5 b 6 b 7 B B 2 b b 3 b 2 2 ábra Kiegészített Hamming-kód konstrukciója B B 2 ábra Hamming-kód konstrukciója könnyen látható, hogy egy (b,, b 7 ) bitsorozat pontosan akkor kódszó, ha a B j (j =, 2, 4) halmazok mindegyikében páros sok bit egyes Ami még érdekesebb, az is igaz, hogy bármely F 7 2-beli vektor vagy kódszó, vagy egyértelm - en kódszóvá változtatható egyetlen bit megváltoztatásával, azaz e kód képes egy bithibát javítani Pl ha a B 2 halmazban páratlan sok bit egyes, akkor a B B 2 B 4 = b 2 bitet kell megváltoztatni, ha a B 2 és a B 4 halmazokban is páratlan sok bit egyes, akkor a B B 2 B 4 = b 6 bitet Ebb l az is adódik, hogy bármely két kódszó Hamming-távolsága legalább 3, így e kód képes legföljebb 2 hiba jelzésére is! Innen kitalálható, hogy mit jelentenek a számok a [7, 4, 3] jelölésben Állítsuk el e kód összes kódszavát! (d) Kiegészített bináris [8, 4, 4] 2 Hamming-kód F 4 2 F 8 2 : (b 3, b 5, b 6, b 7 ) (b 0,, b 7 ), ahol a Hammingkódbeli b, b 2, b 4 bitek mellett még egy b 0 paritásellen rz bitet is csatolunk, azaz b 0 = i b i = b 3 + b 5 + b 6 A kiegészített Hamming-kód is ábrázolható Venn-diagrammal: az U univerzumben van még egy bit, b 0, amely a B j halmazokon kívül van, és egy vektor pontosan akkor kódszó, ha U, B, B 2 és B 4 mindegyikében páros sok bit egyes Igazoljuk, hogy itt bármely két kódszó Hamming-távolsága legalább 4, így e kód képes legföljebb 3 hiba jelzésére! Vagy képes egy hibát javítani és két hibát jelezni (e) Ternér H 2,3 Hamming-kód F 2 3 F 4 3 : (a, b) (a, b, a + b, a + 2b) Írjuk fel a kód összes kódszavát, és adjunk meg egy hibát kijavító eljárást! Igazoljuk, hogy bármely két kódszó Hamming-távolsága legalább 3 22 feladat A magyar személyi szám -jegy szám Els jegye s a tulajdonos nemét adja meg Ezután következik a születési dátuma (s 2 s 7 ), majd az egy napon születettek megkülönböztetését szolgáló véletlenszer en generált 3- jegy szám (s 8 s 9 s 0 ), végül egy ellen rz szám (s ) Ennek képzési szabálya: 0 s = is i mod i= Az s 8 s 9 s 0 kódot úgy választják ki, hogy s ne lehessen 0, így az is egyjegy Mutassuk meg, hogy e kód jelzi, ha a személyi számban egy jegy hibás (-hibajelz ), és jelzi két szomszédos szám fölcserélését is (Hasonló volt az ISBN régi 0-jegy kódja is, ahol a 0-es maradékot X-szel, a római tízessel jelölték) 23 feladat 7 halálraítélt körben ül, mindegyikük fején egy véletlenül kiválasztott piros vagy fekete sapka Mindenki látja a többiek sapkáját, de senki se látja a sajátját Semmi módon nem kommunikálhatnak egymással Egy id után egyszerre mindegyiküknek tippelnie kell a saját sapkája színére Három válasz lehetséges: nem tudom, fekete, piros Ha senki nem találja el, vagy csak egy is akad, aki téved, mind meghalnak, egyébként mind megmenekülnek Tudunk-e számukra olyan eljárást javasolni, ami /2-nél nagyobb valószín séggel megmenekíti ket Mi a legnagyobb valószín ség, amit el tudunk érni? 22 Csatornamodellek Diszkrét memóriamentes csatorna (DMC: discrete memoriless channel) bináris szimmetrikus csatorna (BSC: binary symmetric channel) 0 p p p p 0 0 p p p p? 0 4

2 bináris törléses csatorna (binary erasure channel) 3 z-csatorna 0 p p 23 Blokk-kódok 0 24 deníció Legyen Y egy véges halmaz, n egy pozitív egész A C Y n halmazt Y fölötti (n, M)-kódnak, vagy blokk-kódnak nevezzük, ahol M = C Egy kölcsönösen egyértelm X C leképezést kódolásnak nevezünk Elnevezések: Y a kódábécé, q = Y a kódábécé mérete, n a kódhossz, M = C a kódméret, k = log Y M = log q M a dimenzió vagy az üzenet hossza, R = k/n a kódsebesség (information rate, coding rate), r = n k a redundancia Ha a k üzenethossz egész szám, a C kódra az (n, M) jelölés helyett az (n, k) jelölés is használatos, illetve a kódábécé méretét is megadva (n, k) q Y gyakran a q-elem véges test, azaz Y = F q = GF(q) 25 deníció Legyen x, y Y n két kódszó Hammingtávolságuk d(x, y) = {i : x i y i, i n} Könnyen igazolható, hogy d H valóban távolság, azaz metrika: () d H (x, y) 0, (2) d H (x, y) = 0 x = y, (3) d H (x, y) = d H (y, x) (szimmetria), (4) d H (x, y) + d H (y, z) d H (x, z) (háromszög-egyenl tlenség) Például d H (0220, 0202) = 2 26 deníció (Kódtávolság, minimális távolság) d = min x,y C d H (x, y) A d kódtávolságú (n, M)-, illetve (n, k)-kódot (n, M, d)-kódnak, illetve (n, k, d)-kódnak is mondjuk Ha egy kód e hibát tud jelezni, akkor d = e + Ha egy kód t hibát tud javítani, akkor d = 2t + vagy d = 2t + 2 Fordítva, a d kódtávolságú kód t = d 2 hibát tud javítani és e = d hibát jelezni 27 példa (Kódok paraméterei) Ismétl kód: k =, R = /n, d = n Paritáskód, nullösszeg kód: k = n, R = /n, d = 2 Bináris [7, 4, 3] Hamming-kód: k = 4, R = 4/7, d = 3 Bináris kiegészített [8, 4, 4] Hamming-kód: k = 4, R = /2, d = 4 Ternér [4, 2, 3] Hamming-kód: k = 2, R = /2, d = 3 24 Dekódolás, hibajavítás A dekódolásnak kiemeljük azt a részét, amelyben a zajos csatornán átjutott c kódszó megváltozik, helyette egy x szót kapunk, melyb l megpróbáljuk c-t kitalálni A maximum likelihood vagy ML-döntés az, amikor x- hez úgy választunk c-t, hogy a maximális legyen P(kimenet = x bemenet = c) 28 állítás (ML dekódolás BSC-re) Mivel { n ( ) d(x,c) p, ha x i = c i, p P(x c) = p, ha x i c i = ( p)n p i= ami annál nagyobb, minél kisebb d(x, c), tehát az x-hez legközelebbi kódszó keresend A MAP-dekódolás vagy MAP-döntés (maximum a posteriori a posteriori = a tapasztalatból származó, a priori = a tapasztalatot megel z tudás) az, amikor x-hez úgy választunk c-t, hogy a P(bemenet = c kimenet = x) maximális legyen Ekkor legkisebb a hiba valószín sége Ha minden kódszó egyformán valószín, akkor így ugyanazt kapjuk, mint ML-döntés esetén, mert P(c x) = P(x c)p(c) P(x) 25 Csatornakódolási tétel Egy DMC kapacitása C = sup I(X, Y ) X Ez az X bizonytalanságának maximális csökkenése, amit Y ismerete okoz, ha az X összes lehetséges valószín ségeloszlásaira nézzük C csak a csatornastatisztikától függ, amelynek mátrixa P = [p ij ], ahol p ij = P(y j x i ) Ez sorsztochasztikus mátrix, mert m p ij = j= 29 példa (Zajtalan bináris DMC kapacitása) Zajtalan bináris DMC esetén a lehetséges két bemenet (0 és ) változás nélkül jelenik meg a kimeneten, így a csatornastatisztika P = [ 0 0 ] Határozzuk meg kapacitását! Megoldás A feltételek szerint P(0 0) = P( ) = Ha P(X = 0) = p, P(X = ) = p, akkor H(X Y = 0) = P(0 0) log P(0 0) P( 0) log P( 0) = 0, hasonlóképp 5

H(X Y = ) = 0, tehát H(X Y ) = 0, vagyis I(X, Y ) = H(X) H(X Y ) = H(X) = H(p) Így C = sup H(p) = H( p [0,] 2 ) = Azaz a zajtalan bináris DMC csatorna kapacitása C = 20 feladat Mutassuk meg, hogy p valószín ség bináris szimmetrikus csatorna (BSC) kapacitása H(p) (Útmutatás: a csatornastatisztika p p [ p p ]) 2 feladat Tekintsük azt a diszkrét memóriamentes csatornát, melynek csatornastatisztikája az m m-es p p p m m p p m p m p m p m p mátrix Mutassuk meg, hogy kapacitása C = log m + p log p + ( p) log p m 22 tétel (Shannon csatornakódolási tétele) Az elérhet R kódsebességek szuprémuma egy diszkrét memóriamentes csatornán egyenl a csatornakapacitással, tehát bármely, a csatornakapacitásnál kisebb kódsebesség tetsz legesen nagy biztonság mellett megvalósítható, míg a csatornakapacitásnál nagyobb kódsebesség nem 23 tétel (Shannon csatornakódolási tétele BSC p -re) Minden 0 p < 2 és 0 < ε < 2 p számhoz van olyan δ > 0 szám és egy olyan kód, melynek kódsebessége k n = H(p + ε), kódoló és dekódoló függvényei E : {0, } k {0, } n és D : {0, } n {0, } k, hogy minden m {0, } k üzenetre P(D(E(m) + zaj) m) 2 δn, ahol zaj a BSC p -b l származó zaj 26 Korlátok kód méretére 24 tétel (Singleton-korlát) Ha C egy (n, k, d)-kód, akkor M q n d+ Ha M = q k, akkor a korlát alakja d n k + Bizonyítás Ha d a kódtávolság, akkor nincs két kódszó, mely az els n d + jelen megegyezne, így a szavak száma legföljebb q n d+ Ha M = q k, akkor k n d +, azaz d n k + Azokat a kódokat, amelyekre a Singleton-korlátban egyenl ség áll MDS-kódoknak nevezzük (maximum distance separable) A ternér [4, 2, 3] Hamming-kód MDS-kód Lásd még a Reed-Solomon-kódokat 25 tétel (Hamming-korlát) A d távolságú C Y n ( Y = q) kódra C és t = d 2 qn V q (t, n), ahol V q(j, n) = j i=0 ( ) n (q ) i, i Bizonyítás Ha d a kódtávolság, akkor két t = d 2 -sugarú gömb nem metszheti egymást Egy ilyen gömb térfogata azaz kódszavainak száma V q (t, n), és az egymást nem metsz gömbök számának maximuma a kódszavak számára is fels becslést ad Azokat a kódokat, amelyekben itt egyenl ség áll perfekt kódoknak nevezzük A bináris [7, 4, 3] Hamming-kód perfekt kód Minden F q feletti perfekt kód (n, k, d) paraméterhármasa megegyezik az alábbiak valamelyikével: ) ( q r q, qn r, 3 ezek az -hibajavító kódok, közéjük tartoznak a Hammingkódok, valamint, q (23, 2, 7) 2 és (, 6, 5) 3, ez utóbbiak neve bináris, illetve ternér Golay-kód A ternért valójában Golay el tt 2 évvel, 947-ben Virtakallio publikálta a Veikaaja cím fociújságban 3 Lineáris kód 3 Alapfogalmak 3 deníció Az F q test fölött értelmezett C F n q kódot lineáris (n, k)-kódnak nevezzük, ha C az F n q vektortér egy k-dimenziós altere A lineáris kódra (n, k) q helyett az [n, k] q, illetve az [n, k, d] q jelölés is használatos Az X C kódolásban általában X = F k q A denícióból következ en a zérus kódszó minden lineáris kódnak eleme, és kódszavak minden lineáris kombinációja is kódszó A 2 példa kódjainak mindegyike lineáris 32 feladat Mutassuk meg a 2 példa kódjairól, hogy az ismétl kód [n,, n]-kód, a paritásellen rz kód [n, n, 2] 2 - kód, a nullösszeg kód [n, n, 2] q -kód, a bináris Hammingkód [7, 4, 3] 2 -kód, a bináris kiegészített Hamming-kód [8, 4, 4] 2 -kód, a ternér Hamming-kód [4, 2, 3] 3 -kód Egy c C kódszó Hamming súlyán (weight) a nemnulla komponenseinek wt(c) számát értjük, azaz wt(c) = {i : c i 0, i =,, n} A C kód minimális súlya a legkisebb Hamming súlyú nemnulla kódszó w súlya, azaz w = min c C,c 0 wt(c) 6

33 tétel Egy lineáris C kód kódtávolsága megegyezik minimális súlyával, azaz d = w Bizonyítás Mivel C lineáris, ezért kódszavainak bármely lineáris kombinációja is kódszó, így, ha x, y C, akkor x y C A távolság kiszámítása így a 0-tól való távolság számításává változtatható: d = min d H(x, y) = min d H(x y, y y) x,y C, x y x,y C, x y = min wt(c) = w c C, c 0 34 tétel (súlyeloszlás = távolságeloszlás) Bármely lineáris kódban a szavak súlyeloszlása megegyezik a távolságok eloszlásával Bizonyítás Legyen a C kódban a w súlyú kódszavak száma A w Ha c C egy tetsz leges kódszó, akkor az M 2 számú rendezett (c, c ) kódszó-pár között pontosan M olyan van, ahol c c = c Így a w távolságú szópárok száma MA w 32 Generátormátrix Az, hogy C lineáris altér, egy egyszer F k q F n q kódolási eljárást tesz lehet vé Legyen g, g 2,, g k a C egy bázisa Egy tetsz leges x F k q vektor (üzenet) c C kódja legyen c = x g + x 2 g 2 + + x k g k Ez egy egyszer mátrixszorzással is el állítható: c = xg, ahol a k n-es G mátrix az úgynevezett generátormátrix sorvektorai C bázisának elemei (A kódelméletben a kódszavakat inkább sorvektorokkal szokás reprezentálni) 35 példa Írjuk fel a 2 példa kódjainak generátormátrixait! (a) Ismétl kód Természetesen feltesszük, hogy Y = F q Ekkor C az (,,, ) kódszó által generál egydimenziós altér F n q -ben Így G = [ ] (b) Paritásellen rz kód, nullösszeg kód Az (a,, a n ) F n q leképezés mátrixa (a,, a n, n i= a i) F n q 0 0 0 0 G = 0 0 (c) Bináris [7, 4, 3] 2 Hamming-kód Az F 4 2 F 7 2 : (b 3, b 5, b 6, b 7 ) (b,, b 7 ), ahol b = b 3 + b 5 + b 7, b 2 = b 3 + b 6 + b 7, b 4 = b 5 + b 6 + b 7 leképezés mátrixa 0 0 0 0 G = 0 0 0 0 0 0 0 0 (2) 0 0 0 Például az x = (0,,, 0) üzenet kódja 0 0 0 0 c = xg = [ 0 0 ] 0 0 0 0 0 0 0 0 0 0 0 = [ 0 0 0 ] (d) Kiegészített bináris [8, 4, 4] 2 Hamming-kód Az el z generátormátrixot itt csak egy nulladik oszloppal kell kiegészíteni a b 0 = b 3 + b 5 + b 6 összefüggésnek megfelel en: 0 0 0 0 G = 0 0 0 0 0 0 0 0 0 0 0 0 (e) Ternér [4, 2, 3] 3 Hamming-kód A F 2 3 F 4 3 : (a, b) (a, b, a + b, 2a + b) leképezés mátrixa [ ] 0 2 G = 0 Világos, hogy a generátormátrix nem egyértelm, hisz a kódban maga a C altér fontos, az F k q -nak erre való bijektív leképezése nem Az altérnek több bázisa van, és egy bázis is többféleképp sorolható fel Tudjuk, hogy G elemi sorm - veletekkel redukált lépcs s alakra hozható, ami egyértelm, és hogy ennek sorvektorai ugyanazt a teret generálják, mint az eredeti mátrix A vezet egyesek oszlopait kiemelve egy egységmátrixot kapunk, így ezeken a helyeken megjelenik az üzenetvektor Azt mondjuk, hogy az F k q C kódolás szisztematikus az i,, i k helyeken, ha az üzenet k jegye megjelenik a kódszó i -edik,, i k -adik helyein Például a 2 példában megadott Hamming-kódolás szisztematikus a 3-, 5-, 6-, 7- dik helyeken 36 feladat A C kódnak pontosan akkor van F k q C szisztematikus kódolása az i,, i k helyeken, ha a G mátrix i -edik,, i k -adik oszlopai lineárisan függetlenek Ekkor elemi sorm veletekkel G mindig átalakítható olyan G mátrixszá, mely ugyancsak C generátormátrixa, és a vele való kódolás szisztematikus az i,, i k helyeken Ha azt mondjuk, hogy egy kódolás szisztematikus, de nem adjuk meg hogy mely helyeken, akkor az azt jelenti, hogy az els k helyen Ilyenkor a generátormátrix alakja G = [ I k A k n k ] Ezt nevezzük a generátormátrix standard alakjának Ekkor bármely x üzenethez tartozó c = xg kódszó c = [x xa k n k ] alakú Azokat a koordinátákat, ahol a kódolás szisztematikus üzenetszegmensnek (information set), a maradék n k koordinátából álló részt ellen rz szegmensnek (vagy paritásszegmensnek) nevezzük, hisz ezek valóban az üzenetszegmens koordinátáinak bizonyos ellen rz lineáris kombinációi 7

33 Kódok ekvivalenciája Elemi sorm veletekkel nem mindig érhet el, hogy egy kódolás az els k helyen szisztematikus legyen, de a koordináták permutációjával igen Két lineáris kódot permutációekvivalensnek vagy egyszer en ekvivalensnek nevezünk, ha a koordinátáknak egy adott permutációja erejéig megegyeznek, azaz C pontosan akkor ekvivalens C -vel ha létezik egy P permutációmátrix, hogy c C cp C Ha G a C generátormátrixa, akkor G = GP a C -é Például a 2 példában megadott Hamming-kódolás és kiegészített Hamming-kódolás egy vele permutációekvivalens szisztematikus változatának generátormátrixa: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 0 0 0 0 0 0 0 0 A permutációk: (745263), illetve (84)(2763)(5), a permutációmátrixok: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 és 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A C és C kódok diagonálisan ekvivalensek, ha létezik egy olyan D diagonális mátrix, hogy c C cd C E két ekvivalencia egyesítése a monomiális ekvivalencia, ahol c C cm C, és M monomiális mátrix, azaz minden sorában és oszlopában egyetlen nemnulla elem áll Itt is fennáll a G = GD, illetve a G = GM összefüggés 34 Ellen rz mátrix 37 deníció A C kód duálisán a C = { v F n q : v c = 0 minden c C kódszóra } kódot értjük, mely egy lineáris kód A C kód H generátormátrixát a C kód ellen rz mátrixának nevezzük (Használatos még a paritásmátrix vagy a paritásellen rz mátrix elnevezés is, bár paritásról csak a q = 2 esetben van szó) Azonnal látszik, hogy az ismétl kód és a nullösszeg kód egymás duálisa, valamint hogy az ismétl kód generátormátrixa a nullösszeg kód ellen rz mátrixa és fordítva 38 tétel Ha C egy lineáris [n, k]-kód, akkor () C = { v F n q : vg T = 0 }, (2) C egy [n, n k]-kód, (3) C := (C ) = C, (4) C = { c F n q : ch T = 0 }, (5) GH T = O k n k, HG T = O n k k, (6) ha G = [I k A] a C kód standard alakú generátormátrixa, akkor ellen rz mátrixa H = [ A T I n k ] Bizonyítás () világos a duális kód deníciójából Másként fogalmazva a C kód megegyezik G T bal magterével Mivel a magtér dimenziójának és a mátrix rangjának összege megegyezik a sorok számával, ezért dim(c )+k = n, azaz dim(c ) = n k, ami bizonyítja (2)-t Ezt az érvelést megismételve C -re kapjuk, hogy C egy [n, k]-kód E kód tartalmazza C-t, és dimenziójuk megegyezik, így C = C, azaz fennáll (3) is Ezután () bizonyítja (4)-et Mivel minden x F k q vektorra xg C, azaz xght = 0, ezért GH T csak a zérusleképezés lehet, ami bizonyítja (5)-öt A (6)- ban megadott G és H mátrixokra a blokkmátrixok szorzási szabálya szerint GH T = O, így bármely c = xg kódszóra ch T = xgh T = xo = 0, tehát (4) szerint H valóban ellen- rz mátrix, feltéve, hogy sorai lineárisan függetlenek, ami meg nyilvánvaló 39 tétel (C kódtávolsága H oszlopai) Legyen H a C lineáris kód egy tetsz leges ellen rz mátrixa, és s > 0 egész A C kód kódtávolsága pontosan akkor nagyobb s-nél, ha H bármely s különböz oszlopa lineárisan független Következésképp a C kód d minimális távolsága megegyezik a H mátrix lineárisan összefügg oszlopai minimális számával Bizonyítás Megmutatjuk, hogy a H mátrix s különböz (i -edik, i s -edik) oszlopa pontosan akkor lineárisan összefügg, ha van olyan nem nulla c kódszó, melyben a nem nulla koordináták indexei az {i,, i s } halmazba esnek A c C kódszó súlya legyen s Mivel Hc T = 0 T, ezért H-nak van s oszlopa, melyek lineárisan összefügg k Fordítva, ha H-nak van s lineárisan összefügg oszlopa, akkor az ezek közti c i h i + + c is h is = 0 lineáris összefüggést mátrixalakba írva egy olyan nem nulla, és legfeljebb s súlyú c vektorhoz jutunk, melyre Hc T = 0 T, azaz amely benne van C-ben Tehát pontosan akkor van C-ben legfeljebb s súlyú kódszó, ha H-ban van s lineárisan összefügg oszlop Ez azt jelenti, hogy ha C kódtávolsága d, akkor H-nak minden d oszlopa lineárisan független, de van d lineárisan összefügg oszlopa Ezzel kihasználva, hogy H rangja n k a lineáris kódok esetére egy új bizonyítást adtunk a Singleton-korlátra 30 tétel (Singleton-korlát lineáris kódra) Tetsz leges C lineáris [n, k, d] kódra d n k + A 39 tétel átfogalmazható a H mátrix nélkül is a C kódra való hivatkozással 3 lemma A k-dimenziós C F n q altér generátormátrixának valamely t oszlopa pontosan akkor lineárisan független, ha e koordinátapozíciókon C-ben minden lehetséges 8

t-hosszú vektor ugyanannyiszor, nevezetesen q k t -szer fordul el Bizonyítás Nyilvánvaló, hisz ha az adott t oszlop lineárisan összefügg, akkor nem állhat el minden vektor e koordinátapozíciókon, ha pedig e t oszlop független, található C-nek olyan bázisa, mely e pozíciókban standard, így minden t-es épp q k t -szer áll el Egy C kód szilárdságán (strength) azt a legnagyobb t számot értjük, amelyre igaz, hogy bármely t pozíción minden t-es ugyanannyiszor fordul el Az ilyen kód szavaiból, mint sorvektorokból képzett mátrixot t-szilárdságú ortogonális tömbnek (orthogonal array) nevezzük Szokásos jelölése OA λ (t, n, q), ha minden t-es λ-szor fordul el 32 tétel (Dualitás elve) Bármely C lineáris kódra d(c) = t(c ) + Egy kódnak és duálisának szisztematikussága összefügg 33 tétel A C kódnak pontosan akkor van szisztematikus kódolása adott k helyen, ha a C kódnak van a maradék n k helyen Bizonyítás Feltehet, hogy C-nek az els k helyen van szisztematikus kódolása Legyen C ellen rz mátrixa H Meg kell mutatni, hogy H utolsó n k oszlopa lineárisan független Indirekt módon tegyük fel, hogy lineárisan összefügg k, azaz van olyan 0 y = (0,, 0, y k+,, y n ) vektor, hogy yh T = 0 Ekkor y C, ami ellentmondásra vezet, hisz C- nek van G = [I A] alakú generátormátrixa, így y = [x ] alakú, ahol x = 0, így y = xg = 0G = 0, ami ellentmond az y 0 kikötésnek Megmutattuk tehát, hogy ha C-nek van szisztematikus kódolása valamely k helyen, akkor C -nek van a többi n k helyen Ezt a duális kódra is alkalmazva kapjuk a tétel állítását 34 példa Írjuk fel a 35 példabeli generátormátrixokhoz tartozó ellen rz mátrixokat egy esetleges koordinátapermutáció után a 38 tételbeli H = [ A T I n k ] képlettel (a) Ismétl kód A generátormátrix [ ] alakú, így 0 0 0 0 H = 0 0 (b) Paritásellen rz kód, nullösszeg kód Itt H = [ ], ahol az utolsó -es egy -es egységmátrix (c) Bináris [7, 4, 3] 2 Hamming-kód A (2) generátormátrix a (34) permutációval [A I] alakot ölt, amelyhez az [I A T ] ellen rz mátrix tartozik Ezen a (34) permutáció inverze ami önmaga a következ mátrixot adja: 0 0 0 H = 0 0 0 (3) 0 0 0 (d) Kiegészített bináris [8, 4, 4] 2 Hamming-kód Az el z höz hasonlóan: 0 0 0 0 H = 0 0 0 0 0 0 0 0 0 0 0 0 (e) Ternér [4, 2, 3] 3 Hamming-kód = 2 és 2 = felhasználásával [ ] 2 2 0 H = 2 0 Egy C lineáris kód önortogonális, ha C C, és önduális, ha C = C 35 feladat A páros hosszú bináris ismétl kód és a [7, 4] Hamming-kód duálisa önortogonális, míg a kiegészített [8, 4] 2 és a [4, 2] 3 Hamming-kódok önduálisak is 36 feladat Mutassuk meg, hogy egy önduális bináris kód minden kódszava páros súlyú, egy önduális ternér kód minden kódszavának 3-mal osztható a súlya Mutassuk meg továbbá, hogy ha egy önduális bináris kódnak van olyan bázisa, amelyben minden kódszó súlya osztható 4-gyel, akkor minden kódszó súlya osztható 4-gyel 37 feladat A SET R nev játék 8 olyan kártyából áll, melyek rajzolatán négy különböz tulajdonság 3-3 változata különböztethet meg A négy tulajdonság: az ábra színe (piros, zöld, lila), a gurák száma (, 2, 3), alakja (káró, kör, pikk), és a színezés telítettsége (üres, csíkos, teli) A négy tulajdonságot egy vektor 4 koordinátájának gondolva, a kártyák mindegyikének megfelel F 4 3 egy eleme A játék célja kártyák egy halmazából minél több ún SET-et kiválasztani A SET három olyan kártya, melyek minden tulajdonság szerint vagy azonosak, vagy különböz k Például az alábbi öt kártya között két SET is található A kártyák alatt az F 4 3-be való kódolásukat is megadjuk: A B C D E piros piros zöld lila lila 3 2 káró kör kör pikk kör üres csíkos teli csíkos üres 0000 02 02 202 20 SET-et alkotnak az ACD és a BCE kártyahármasok Például az ACD kártyák különböz szín ek, azonos guraszámúak, különböz gurák vannak rajtuk, és különböz a telítettségük is Megmutatható, hogy ki lehet választani a 8-b l 20 kártyát úgy, hogy ne legyen köztük SET, de 2-et már nem Például az alábbi mátrix 20 oszlopa 20 ilyen kártya kódja: 0 0 0 0 0 0 0 0 0 2 2 M = 0 0 0 2 2 2 0 0 0 2 2 2 0 0 2 0 0 0 0 0 2 0 0 0 2 0 2 0 2 0 2 0 2 0 2 9

Konstruáljunk e táblázat felhasználásával egy [20, 5, 4] 3 kódot! Megoldás Három F 4 3-beli vektor pontosan akkor alkot SETet, ha összegük a nullvektor, ugyanis 0 + + 2 = 0, a + a + a = 0 (a = 0,, 2), és más számhármas összege nem 0 Az M mátrixnak tehát nincs három oszlopa, melynek összege 0 lenne Ez még nem jelenti, hogy bármely három oszlop független, de ha kiegészítjük M-et egy csupa--sorral, akkor semmilyen 3 oszlopvektor lineáris kombinációja nem lesz a 0-vektor, így az ezzel az 5 20-as mátrixszal, mint ellen rz mátrixszal képzett lineáris kód [20, 5, 4] 3 kód lesz 35 Dekódolás, szindróma Tegyük fel, hogy egy c C kódszó helyett egy v = c + e érkezik, ahol e az ún hibavektor Mivel ch T = 0, ezért vh T = (c + e)h T = ch T + eh T = eh T, vagyis vh T csak a hibavektortól függ, így e vektor jelzi a hibát, orvosi hasonlattal élve olyan, mint a szindróma, mely jelzi a betegséget Az s = vh T vektort szindrómának nevezzük A szindróma arra is lehet séget ad, hogy segítségével megbecsüljük a hibavektort, és így tippeljünk az üzenetre A ML becslésnél a minimális távolságú kódszóra tippelünk Ha több kódszó is azonos távolságra van, véletlenül választunk közülük A dekódolás módját egy táblázatba is foglalhatjuk, amit standard elrendezési táblázatnak nevezünk Ennek els sorába a C kódszavai vannak írva, és minden sorába C egy mellékosztálya, azaz valamely e vektorral való eltoltja Arra kell csak ügyelni, hogy minden sorban a legkisebb súlyú vektorok valamelyikét válasszuk e-nek Világos, hogy egy mellékosztályhoz egyetlen szindróma tartozik, hisz bármely két c, c 2 C kódszóra (c + e)h T = (c 2 + e)h T = eh T = s Így a táblázatnak q n k sora van, vagyis ennyi hibamintát tudunk javítani szindróma hiba s 0 = 0 e 0 = c 0 = 0 c c qk s e c + e c qk + e s q n k e q n k c + e q n k c qk + e q n k 38 példa (Táblázatos dekódolás) Tekintsük azt a kódot, melynek ellen rz mátrixa 0 0 0 0 0 0 0 Adjuk meg egy standard elrendezési táblázatát Hány ilyen különböz táblázat létezik, azaz hány különböz dekódolás? () Írjuk fel a táblázat els sorába C F n q kódszavait, els nek a 0-szót (2) Válasszunk ki az F n q megmaradt szavai közül a legkisebb súlyú e szót, és írjuk a hibaoszlopba Adjuk ezt hozzá mindegyik kódszóhoz, és a c + e összeget írjuk c oszlopába (3) Ismételjük meg az el z lépést, amíg F n q vektorai el nem fogynak (4) Írjuk minden sor fejlécébe a sorhoz tartozó szindrómát szindróma hiba 000 00000 0 00 00 00 0000 00 000 0 00 0000 00 0 000 00 0000 00 000 0 0000 00 0 000 0 0000 000 000 0 000 000 00 00 0 000 000 00 00 A táblázatban félkövéren szedtük azokat a vektorokat, melyeket egy adott lépésben hibavektornak választhatunk Így e kódnak 4 különböz ML-dekódolása lehetséges A standard elrendezési táblázat tulajdonságai tehát a következ k: A táblázat az F n q vektortér qn elemét tartalmazza, ezek q k oszlopba és q n k sorba vannak rendezve Minden sor fejlécébe az adott sorhoz tartozó szindróma kerül 2 A táblázat minden sora a C egy mellékosztálya, így az egy sorban lév két vektor különbsége mindig kódvektor Különböz sorok különböz mellékosztályok, amik így diszjunktak, de egy sorban sem lehet két azonos vektor, hisz c i + e l = c j + e l esetén c i = c j lenne, ami i j miatt nem lehetséges 3 Minden sorban az els elem a legkisebb lehetséges súlyú, így e sorba azok a vektorok kerültek, amelyeket ezzel a vektorral, mint hibavektorral javítunk A táblázattal való dekódoláshoz valójában elég a fenti hibaoszlopa és a szindrómák oszlopa, ezt nevezzük szindrómatáblázatnak Ekkor ugyanis egy tetsz leges v vektorra a táblázatból kikeressük az s = vh T szindrómához tartozó e hibavektort, és a c = v e kódszóra tippelünk Például a fenti kód szindrómatáblázata szindróma szerint rendezve: szindróma hiba 000 00000 00 0000 00 0000 0 000 00 0000 0 0000 0 000 0000 0

39 feladat Határozzuk meg a 2 példabeli [4, 2, 3] 3 paraméter Hamming-kód szindrómatáblázatát! Dekódoljuk a 22 és az 0 vektorokat! 36 Kód konstrukciója kódból 4 Hamming kód 4 A Hamming kód tulajdonságai 4 példa Keressünk olyan -hibajavító lineáris F q feletti kódot, melyre k a lehet legnagyobb, ha a javításra használható jegyek r = n k száma, azaz a redundancia rögzítve van! Mutassuk meg, hogy e kód perfekt! Megoldás E kód H ellen rz mátrixa r n-es, a H T mátrix i-edik sorvektorát jelölje h i Legfeljebb hiba esetén az e hibavektor Hamming-súlya legföljebb, így az s = eh T szindróma vagy a 0-vektor, vagy e i h i valamely i-re, ahol e i az e vektor egyetlen nem-0 koordinátája Mivel e kód minimális távolsága 3, ezért a 39 tétel szerint H-nak bármely és bármely 2 oszlopa lineárisan független (azaz nincs köztük a 0-vektor, és egyik sem konstansszorosa a másiknak) Rögzített r = n k mellett k maximális, ha n maximális, és n maximális értéke (q r )/(q ) Fogalmazhatunk úgy is, hogy e feltételeknek megfelel H mátrixot úgy kapunk, ha az F q feletti r -dimenziós projektív tér pontjainak koordinátás alakját írjuk H oszlopaiba Ha h i els nem-0 koordinátája mindig, akkor az s = e i h i szindróma els nem-0 koordinátája épp e i, vagyis a szindrómából az e hibavektor azonnal leolvasható E kód perfekt, mert n = (q r )/(q ), azaz +n(q ) = q n k, tehát a Hamming-korlátban egyenl ség áll 42 deníció Vegyünk egy olyan H mátrixot, melynek oszlopai között F r q minden nemnulla vektorának pontosan egy nem nulla konstansszorosa szerepel (Például ilyen az a mátrix, mely az összes olyan nemnulla oszlopvektorból áll, melynek utolsó nemnulla koordinátája ) Azt a kódot, melynek a H mátrix az ellen rz mátrixa, r paraméter F q feletti H r,q Hamming-kódnak, duálisát S r,q szimplex kódnak nevezzük (Rögzített r és q esetén minden H r,q kód monomiálisan ekvivalens, hasonlóképp a szimplex kódok) 43 tétel A H r,q Hamming-kód [ q r ] q, qr q r, 3 q paraméter perfekt kód, a H 2,q kód q > 2 esetén [n, n 2, 3] q paraméter MDS-kód Bizonyítás A Hamming-kód paraméterei a denícióból adódnak, d = 3, mert H-ban bármely két oszlop független, de van három összefügg A kód perfektségét beláttuk a 4 példában Az r = 2 esetben a Singleton-korlát szerint d n k + = 3, másrészt d = 3, így itt egyenl ség áll 44 példa Írjuk fel a H 2,3 és H 2,4 kódok ellen rz és generátormátrixát! Megoldás A q = 3 esetben (felhasználva, hogy = 2 és 2 = ) [ ] [ ] 0 0 2 2 H = G = 2 0 0 2 A q = 4 esetben legyenek a test elemei 0,, α, α +, ahol az F 2 fölött irreducibilis α 2 + α + polinommal végezzük a testb vítést H = [ ] 0 α α + 0 G = 0 0 0 0 α 0 0 α + 45 feladat Dekódoljuk a fogadott 222222 szót, ha a kód ellen rz mátrixa 0 2 0 2 0 2 0 2 0 0 0 0 2 2 2 0 0 0 0 46 példa Az 4 példában n érme közül k méréssel kerestünk egy hamisat Mi lenne a mérések sorozata az n = 2, k = 3 esetben? Megoldás Írjuk fel a számokat 2-t l 2-ig a 3-as számrendszerben a {, 0, } jegyeket használva Írjuk e számokat egy táblázatba: 2 3 4 5 6 7 8 9 0 2 Σ 3 0 0 0 0 0 0 3 0 0 0 0 2 3 2 0 0 0 0 8 E táblázat a H 3,3 ternér Hamming-kód ellen rz mátrixának els 2 oszlopa (egy jegycsere után) Sorösszegei nem nullák, de például a 8-, 9-, 0-, 2-dik oszlopok el jelét ellenkez jére változtatva ez is elérhet : 2 3 4 5 6 7 8 9 0 2 Σ 3 0 0 0 0 0 0 3 0 0 0 0 0 3 2 0 0 0 0 0 Ezután megsorszámozzuk az érméket, és az i-edik mérés során a j-edik érmét aszerint kezeljük, hogy mi áll a táblázat i-edik sorának j-edik oszlopában Ha ott áll, a jobb serpeny be, áll, a bal serpeny be, 0 áll, félre tesszük Ha nincs az érmék közt hamis, mindhárom mérés egyensúlyt mutat Ha pl az 5 érme nehezebb a többinél, az és 2 mérésnél balra, a harmadiknál jobbra billen a mérleg, azaz egy (,, ) vektort kapunk, ami épp a táblázat

5 oszlopa Ha a három eredmény: balraegyensúlyjobbra, azaz a mérés eredménye (, 0, ), akkor a 8 érme hamis, és könnyebb a többinél, mert a 8 oszlopban e vektor - szerese szerepel Az 4 példabeli n (3 k )/2 becslésb l k = 3 esetén n 3 jön ki Vajon 3 érméb l is ki tudjuk választani a hamisat? Igen, ha mindazt a lehet séget kihasználjuk, amit a bizonyítás nem zárt ki, például hogy egy érmét ketté vágjunk, vagy felhasználjunk egy további szabályos érmét Keressünk ilyen megoldást! Viszont nem a válasz, ha a fentihez hasonló megoldást keresünk 42 A szimplex kód tulajdonságai A szimplex kód elnevezés onnan származik, hogy mint a szimplex csúcsi a kódszavak egyenl távolságra vannak egymástól Ez a távolság q r A 34 tétel szerint ezzel ekvivalens, hogy bármely nem nulla szó súlya q r 47 tétel (A szimplex kód egyenl súlyú) Egy C S r,q szimplex kód minden nemnulla kódszavának q r a súlya Bizonyítás Legyen G a C S r,q egy generátormátrixa Tegyük fel, hogy van olyan szó, amelynek súlya > q r Válasszunk olyan G-t a kódhoz, melynek els sorába ezt a kódszót írjuk, majd G minden oszlopát osszuk el az oszlop legföls elemével, ha az nem 0 vagy Így egy ekvivalens kódot kapunk, melyben a skatulyaelv miatt van két azonos oszlop, hisz, r sorba legfeljebb q r különböz vektor írható Ez ellentmond annak, hogy e mátrixnak bármely két oszlopa lineárisan független, hisz a Hamming-kód minimális távolsága 3 Tegyük fel, hogy van olyan szó, amelynek súlya < q r Az el z ekhez hasonlóan egy generátormátrix els sorába ezt e vektort írva, majd minden 0-kezdet oszlopot leosztva az els nem nulla koordinátával, (q r )/(q ) q r = q r 2 + +q+ darabnál több 0-kezdet vektort kapunk, így ismét a skatulyaelv miatt van olyan i szám, hogy a pontosan i darab 0-val kezd d vektorból q r i -nél több van, vagyis van köztük két azonos 48 következmény S r,q paraméterei [ q r ], r, qr q q 49 feladat (Bináris Hamming kód dekódolása) A bináris Hamming-kód H ellen rz mátrixát lexikograkusnak nevezzük, ha i-edik oszlopában az i szám bináris alakja szerepel (a legkisebb helyiérték bittel az els sorban) Például H 3,2 lexikograkus ellen rz mátrixa (3) Hogyan egyszer - södik a szindróma dekódolás? 40 feladat (Kódtömörítés) Tegyük fel, hogy egy 40 jeles szavakból álló ternér kódot használunk, melyben mind a 3 40 szó el fordulhat üzenetként, és ha az üzenet továbbításában egy jelhiba történik, azt a szövegkörnyezetet felhasználva még ki tudjuk javítani Hogyan tudnánk ezt felhasználva információveszteség nélkül tömöríteni az üzenetet? 43 B vített bináris Hamming-kód A bináris Hamming-kódból egy ellen rz összeg hozzáadásával konstruált kódot b vített bináris Hamming-kódnak nevezzük Jele EH r,2 4 tétel Az EH r,2 kód paraméterei [2 r, 2 r r, 4] Ha egy bináris Hamming-kód ellen rz mátrixa H, akkor az ellen rz összeg els helyre írásával kapott b vített kód egyik ellen rz mátrixa H = 0 H 0 Bizonyítás A b vítés eggyel növeli n értékét, k pedig nem változik A d érték is n, mivel a minimális 3-súlyú szavak mindegyikéb l 4-súlyú lesz Így e kód paraméterei [2 r, 2 r r, 4] Legyen H egy bináris Hamming-kód egy tetsz leges ellen rz mátrixa Mivel H r n-es, ezért a paraméterekb l következ en egy (r + ) n-es mátrix lesz a b vített kód ellen rz mátrixa Elég tehát megmutatnunk, hogy H sorai lineárisan függetlenek (ez nyilvánvaló), másrészt ha c = (c,, c n ) egy Hamming kódszó, azaz ch = 0, akkor a c = ( n i= c i, c,, c n ) szóra c H = 0 Ez is nyilvánvaló, a c-nak a H sorvektoraival való szorzatára vagy a ch = 0 összefüggés vagy a n i= c i + c + + c n = 0 összefüggés használható Például EH,2, EH 2,2, EH 3,2, EH 4,2 egy-egy ellen rz mátrixa a Hamming-kód lexikograkus ellen rz mátrixból konstruálva: [ ] 0 0 0 0 0 0 0 0 0 0 0 (4) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 44 Els rend bináris ReedMuller-kód A b vített bináris EH m,2 Hamming-kód duálisát els rend ReedMuller-kódnak nevezzük, jelölése RM,m (Mivel itt az m paraméter már nem a redundanciát jelenti, nem az r bet t használjuk) Kis m-ek esetei: RM, = F 2 2, RM,2 = a 2

4-hosszú paritásellen rz kód, RM,3 = EH 3,2, mert önduális Az RM,5 kód érdekessége, hogy 969-ben ezt használta a Mariner 6 és 7 a Marsról készült képek továbbításánál A (4) mátrixai tehát generátormátrixai e kódoknak Ezek rekurzív tulajdonsága leolvasható e mátrixokról, ha másként blokkosítjuk: [ ] 0 0 0 0 0 0 0 0 0 0 0 (5) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A rekurzív összefüggés tehát: H 0 = [], H m = [ Hm ] H m 00 0 42 tétel Az RM,m kód bináris [2 m, m +, 2 m ] 2 -kód Bizonyítás Az n = 2 m, k = m+ világos a denícióból Az RM,m kód generátormátrixának konstrukciójából következik, hogy az S m,2 kód kódszavai egy vezet 0-val, valamint ezek komplementerei (az vektorral való összeg miatt) mind kódszavak, ezzel viszont meg is kaptuk mind a 2 m+ kódszót E szavak súlya a 000 0 és az kódszavakat kivéve 2 m Az RM,m kód is ekvidisztáns, hisz a komplementer vektorpárokat kivéve bármely két szó távolsága 2 m 45 Hadamard dekódolás Végezzük el az RM,m kód szavain az alábbi F 2 R jelcserét: 0, A c kódszó képét jelölje c ± {, } n, az így kapott kódot RM ±,m 43 lemma RM ±,m kódszavaira igazak az alábbiak: Ha c ± RM ±,m, akkor c± RM ±,m, így a kód 2m+ szava indexelhet úgy, hogy c ± i = c ± j, ha j i = 2m 2 Ha c ± i, c± j RM±,m, akkor 2 m ha c ± c ± i c ± i = c ± j j = 2 m ha c ± i = c ± j 0 ha c ± i ±c ± j Bizonyítás A csupa- kódszóra ( + c) ± = c ±, ami igazolja az els állítást Ha x ±, y ± {, } n két tetsz leges ±-vektor, akkor x ± y ± = n 2 d H (x ±, y ± ), ugyanis a skaláris szorzat megegyezik azon koordináták száma, ahol a két kód megegyezik (n d H (x ±, y ± )), mínusz azon koordináták száma, ahol különböznek (d H (x ±, y ± )) Az x ± = c ± i, y± = c ± j, c± i = c ± j, 3 ábra A 44 feladatban konstruált Hadamard mátrixok ábrázolása az fehér, fekete megfeleletéssel c ± i = c ± j esetben d H (x ±, y ± ) = n/2, ami bizonyítja a második állítást A lemma szerinti indexeléssel készítsünk egy M mátrixot az RM ±,m kód els 2m szavából Például az RM ±,2 kódnál az (5)-beli generátormátrixából kiindulva, és az -vektor helyett a 0-vektort használva: G = 0 0 = 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 = M = 0 0 Mivel így egyik kódszó ellentettje sem szerepel e mátrix soraiban, ezért fennáll az MM T = ni összefüggés Azokat az n n-es ±-mátrixokat, melyek eleget tesznek az MM T = ni n (6) összefüggésnek, n-edrend Hadamard-mátrixoknak nevezzük 44 feladat Ha M n egy n-edrend Hadamard mátrixot jelöl, akkor n =, n = 2 vagy n 0 (mod 4) 2 M n M m egy nm-rend Hadamard-mátrix ( a Kronecker-szorzatot jelöli) 3 Ha M 2 = [ ], akkor a rekurzív M 2 n = M 2 M 2 n összefüggés Hadamard-mátrixokat ad (ld a 3 ábrát) Az mindmáig nyitott kérdés, hogy milyen n-ekre létezik n-edrend Hadamard-mátrix Sejtés, hogy minden 4-gyel osztható értékre létezik 000 alatti eldöntetlen értékek: 668, 76, 892 3

Mivel x ± y ± = n 2 d H (x ±, y ± ), ezért a ML-dekódolás azzal ekvivalens, hogy egy fogadott x szó ahhoz az c kódszóhoz van legközelebb, mellyel vett skaláris szorzata maximális abszolút érték A Hadamard-dekódolás az az eljárás, melyben a fogadott x szóhoz az M mátrixnak azt a sorát választjuk, amellyel vett skaláris szorzata maximális abszolút érték, azaz amely az Mx T legnagyobb abszolút érték koordinátájához tartozik Például legyen a fogadott vektor x = (,,,,,,, ) Ekkor az M 8 x T legnagyobb abszolút érték koordinátája a 7-dik, és negatív el jel : 2 2 2 = 2 2 2 6 2 Ezért az M 7-dik sorvektorának -szerese lesz x Hadamard-dekódoltja, azaz a c 7+8 = c 5 = (,,,,,,, ) kódszó E módszer lágy dekódolásnál is ugyanúgy használható (azaz amikor nem a dekóder által meghatározott jelet, hanem a demodulátor által nyújtott, bizonytalanabb értéket kapjuk vissza) Például ha az y = ( 3, 0, 0, 06, 6,, 02, 0) vektort mérjük a csatornán, az My T = (02, 08, 6, 8, 4, 48, 20, 34) alapján a 6-dik sor ellentettje a legvalószín bb üzenet 45 feladat Az r-edrend RM r,m Reed-Muller-kód 5 Ciklikus kód 5 Alapfogalmak 5 deníció A C lineáris kód ciklikus, ha bármely c = (c 0,, c n ) C esetén c = (c n, c 0,, c n 2 ) C Könnyen ellen rizhet, hogy az ismétl kód és a nullösszeg kód ciklikus, és hogy a H 3,2 Hamming kód megfelel koordinátacserével ciklikussá tehet A ciklikusság és a linearitás független egymástól Például a {000, 0, 0, 0, } kódban minden szó ciklikus eltoltja is kódszó, de e kód nem lineáris Használjuk a kölcsönösen egyértelm Ha c = (c n, c 0,, c n 2 ), akkor a hozzárendelt polinom c(x) = c n + c 0 x + + c n 2 x n = xc(x) c n (x n ) azaz c(x) = xc(x) mod (x n ) Ennek alapján tetsz leges f(x) F q [x] polinomra f(x) C (mod x n ) azt jelöli, hogy f(x) mod (x n ) hozzárendelt kódszava C-ben van Elegánsabb, ha úgy tekintünk a kódra, hogy C F q [x]/(x n ) Például a bináris C = {000, 0, 0, 0, } kódra +x 4 C (mod x 3 ), mert +x 4 = +x mod (x 3 ), amihez az 0 szó tartozik 52 tétel Legyen C {0} egy F q fölötti n-hosszú ciklikus kód Egyetlen minimális fokú g(x) C f polinom létezik, és erre C = {f(x)g(x) : f(x) F q [x] n r }, ahol r = deg g(x) 2 k = n r 3 g(x) x n az F q [x]-ben, azaz van olyan h(x) F q [x] n, hogy g(x)h(x) = x n Bizonyítás El ször belátjuk, hogy mod (x n ) polinomok ideált alkotnak: C ciklikus x i c(x) C (mod x n ), C lineáris a i x i c(x) C (mod x n ), a(x) F q [x] : a(x)c(x) C (mod x n ) Mivel C {0}, van (legalább) egy minimális fokú - f együtthatójú kódpolinom, legyen egy ilyen g(x), foka legyen r Az el z ek szerint minden f(x) F q [x] n r polinomra f(x)g(x) C Megmutatjuk egyrészt, hogy g egyértelm, másrészt, hogy minden c(x) C polinomhoz van olyan f(x) F q [x] n r, hogy f(x)g(x) = c(x) g(x) egyértelm, hisz ha létezne egy g (x) g(x) f polinom is, akkor g(x) g (x) 0 kisebb fokú lenne, ami ellentmondás (Tudjuk, az F[x] polinomgy r f ideálgy - r ) Legyen c(x) C Ekkor létezik olyan f(x) és s(x) polinom, hogy c(x) = f(x)g(x) + s(x), és deg s(x) < deg g(x) = r Mivel s(x) = c(x) f(x)g(x) és a jobb oldal C-beli, ezért s(x) is, ami csak akkor lehet, ha s(x) = 0 és c(x) = f(x)g(x) A C ideál altér is, melynek dimenziója a konstrukcióból leolvasható: n r A fentihez hasonló érveléssel: egyértelm en létezik olyan h(x) és s(x) polinom, hogy deg s(x) < deg g(x), és x n = h(x)g(x) + s(x) Ekkor s(x) ( h(x))g(x) (mod x n ), azaz s(x) C, ami a fokszáma miatt csak s(x) = 0 esetén lehetséges a = (a 0,, a n ) F n q a(x) = a 0 + +a n x n F q [x] A tételbeli g(x) polinomot a C lineáris ciklikus kód generátorpolinomjának, a h(x) polinomot ellen rz poli- n megfeleltetést Az a(x) az a vektorhoz (szóhoz) rendelt polinom, a az a(x) polinomhoz rendelt szó A c c(x) hozzá- A fenti tétel kiterjeszthet a nullvektorból álló C = {0} nomjának nevezzük rendeléssel azonosítjuk a kódszavak e két megadását, amit kódra is azzal a megállapodással, hogy ekkor x n a generátorpolinom a c(x) C jelöléssel is kifejezünk 4

53 példa Soroljuk fel az összes 4- és 7-hosszú bináris, ciklikus kódot! Megoldás A 4-hosszú kódok generátorpolinomjai osztói az x 4 = x 4 + = (x + ) 4 polinomnak g(x) C kód 6 F 4 2 x + 8 {00, 00, 0000, } x 2 + 4 {00, 0000, } x 3 + x 2 + x + 2 {, 0000} x 4 + {0000} A 7-hosszú kódok generátorpolinomjai osztói az x 7 = x 7 + = (x + )(x 3 + x + )(x 3 + x 2 + ) polinomnak g(x) C kód 28 F 7 2 x + 64 paritásellen rz kód x 3 + x + 6 [7, 4] Hamming-kód x 3 + x 2 + 6 [7, 4] Hamming-kód x 4 + x 3 + x 2 + 8 [7, 3] sziplex kód x 4 + x 2 + x + 8 [7, 3] sziplex kód x 6 + x 5 + x 4 + x 3 + x 2 + x + 2 ismétl kód x 7 + {0000000} 54 tétel Ha C egy ciklikus n-hosszú kód, akkor C = {c(x) F q [x] n : c(x)h(x) 0 (mod x n ) Bizonyítás : c(x) C f(x) : c(x) = f(x)g(x) c(x)h(x) = f(x)g(x)h(x) = f(x)(x n ) 0 (mod x n ) : c(x) F q [x] n c(x)h(x) = f(x)(x n ) = f(x)g(x)h(x) c(x)h(x) = (c(x) f(x)g(x)) h(x) = 0, de h(x) 0 c(x) = f(x)g(x) 55 feladat Egy ciklikus kódra szindróma a következ képp is deniálható: mivel a C kódhoz tartozó kódpolinomok pontosan azok, amelyek a g(x) generátorpolinom többszörösei, ezért egy tetsz leges p(x) polinom s(x) szindromája lehet a g(x)-szel való osztási maradéka, azaz p(x) = f(x)g(x) + s(x), ahol deg s < deg g, hisz s(x) pontosan akkor 0, ha p(x) kódpolinom A p(x) szindrómapolinomját jelölje s(x), az eltoltjához, azaz a p(x) polinomhoz tartozó szindrómát jelölje s (x) Mutassuk meg, hogy s (x) az xs(x) polinom g(x)-szel való osztási maradéka (Másként fogalmazva mutassuk meg, hogy a p(x) eltoltja modulo x n polinom szindrómája a p(x) szindrómájának eltoltja modulo g(x)) 52 Generátormátrixok Világos, hogy a g(x) = g 0 + + g r x r generátorpolinomú kód generátormátrixa g 0 g g r g r 0 0 0 g 0 g g r g r 0 0 (7) 0 0 g 0 g g r g r 0 0 0 g 0 g g r g r ugyanis e mátrix valóban n k rangú, hisz g r =, (n k) nes, és sorvektorai kódszavak Ezt nevezik ciklikus generátormátrixnak Sorlépcs s alakú a f átlóban nemnulla elemekkel, ugyanis g(x)h(x) = x n miatt g 0 h 0 = g(0)h(0) = 0 n =, így g 0 0 Például az x 3 + x 2 + generátorpolinomú [7, 4]-kód és az x 4 + x 2 + x + generátorpolinomú [7, 3]-kód generátormátrixai: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0, 0 0 0 (8) 0 0 0 0 0 0 0 A ciklikus kódok másik szép tulajdonsága, hogy a ciklikus mátrix sorlépcs s alakú, így els k oszlopa lineárisan független, azaz a kódhoz van szisztematikus kódolás, és így standard alakú generátormátrix is 56 tétel Egy C ciklikus lineáris kód m = (m 0,, m k ) (m 0,, m k, s 0,, s r ) standard kódolásának maradék r koordinátája az x r m(x) polinom g(x)-szel való maradékos osztásából kapott s(x) = r i=0 s ix i maradék együtthatóiból áll Bizonyítás A maradékos osztás legyen x r m(x) = f(x)g(x) + s(x), ahol deg s(x) < r Ebb l f(x)g(x) = x r m(x) s(x) ( s 0,, s r, m 0,, m k ) ami C-beli, és ennek k-szoros ciklikus eltoltja, ami ugyancsak C-beli, épp az m üzenet keresett szisztematikus kódolása 57 példa Határozzuk meg az x 3 +x 2 + generátorpolinomú [7, 4]-kód és az x 4 +x 2 +x+ = (x+)(x 3 +x 2 +) generátorpolinomú [7, 3]-kód standard generátormátrixát, majd bizonyítsuk, hogy a kódok egymás duálisai megoldás A (8) generátormátrixaiból elemi sorm veletekkel megkapható a standard generátormátrix: 0 0 0 0 0 0 0 0 0 0 0 0, 0 0 0 0 0 0 0 0 0 0 0 0 0 5