Szegedi Tudományegyetem Bolyai Intézet Geometria Tanszé Reed-Solomon-féle hibajavító ódo BSc szadolgozat Készítette: Táborosi Andor Zsolt matematia szaos hallgató Témavezető: Dr. Nagy Gábor Péter egyetemi docens Szeged 2013
Tartalomjegyzé 1. Alapfogalma 3 1.1. Algebrai alapfogalma...................... 3 1.2. Kódelméleti alapfogalma.................... 6 1.3. Fourier-transzformált....................... 10 2. Reed-Solomon-féle hibajavító ódo 12 2.1. Felépítés.............................. 12 2.2. Deódolás............................. 14 2.3. Hibahelye és hibaértée.................... 15 2.4. Hibaereső polinom....................... 16 Nyilatozat 19 Köszönetnyilvánítás 20 Hivatozáso 21 2
Bevezetés A ódelmélet a övetező ommuniációs modellel foglalozi: egy feladó valamilyen csatornán eresztül adatoat aar továbbítani egy címzettne, a továbbítás során pedig az adato egy része megváltozi. A érdés az, hogy hogyan tudja a címzett iválasztani, hogy mely adato változta meg, és hogyan tudja a megváltoztatott adatoat ijavítani. Ebben az üzenete ülönböző ódolásai segíthetne. A Reed-Solomon-ódoat (a övetezőben RS-ódo) Irving S. Reed és Gustave Solomon találtá fel 1960-ban, ai aor éppen az MIT Lincoln Laboratóriumna dolgozta. A szemináriumi ciüne a "Polinomódo bizonyos véges teste felett" ("Polynomial Codes over Certain Finite Fields") címet adtá, de ebben a ciben még nem találta hatéony deódoló algoritmust. A ésőbbieben iderül, hogy az RS-ód az egyi legjobb hibajavító ód, mert a ód elemei a lehető "legtávolabb" vanna egymástól, ami a deódolás lehetőségeit növeli. Az ilyen ódoat MDS (maximal distance separable) ódona nevezzü. Dolgozatomban Peterson 1960-ban ifejlesztett tünet-alapú deódolását mutatom be. Ezt Elwyn Berleamp és James Massey továbbfejlesztette 1969-ben, és ezért ezt a változatot Berleamp - Massey-féle deódoló algoritmusna nevezi, de dolgozatomban erre a módszerre nem tére i részletesen. A RS-ódoat 1977-ben a Voyager-programban, illetve manapság több területen is hasznosítjá, többe özött a digitális háttértároló, a digitális ommuniációs szerezete vagy a digitális videó területén. 1. Alapfogalma 1.1. Algebrai alapfogalma 1.1. Definíció. Egy (G, ) algebrai strutúrát csoportna nevezün, ha a övetező teljesülne: a) G( = ) zárt a : G 2 G műveletre, azaz a, b G-re a b G. b) A művelet asszociatív, azaz a, b, c G : a (b c) = (a b) c. c) Létezi egységelem, azaz e G, melyre teljesül, hogy g G-re e g = g e = g. d) Minden elemne van inverze, azaz g G : g 1, melyre teljesül, hogy g 1 g = g g 1 = e. 3
1.2. Definíció. A (G, ) csoportot Abel-csoportna hívju, ha a művelet ommutatív, azaz: a, b G : a b = b a. 1.3. Definíció. Egy (R,+, ) algebrai strutúrát gyűrűne nevezün, ha a övetező teljesülne: a) (R,+) Abel-csoport. b) A szorzás művelet asszociatív. c) Az összeadás disztributív a szorzásra nézve, azaz a, b, c R-re a (b + c) = (a b) + (a c), (a + b) c = (a c) + (b c). 1.4. Definíció. Egy (T, +, ) algebrai strutúrát testne nevezün, ha a övetező teljesülne: a) (T,+) Abel-csoport és (T\{0}, ) csoport, ahol 0 a (T,+) csoport egységeleme, és zéruselemne nevezzü. b) Az összes disztributív a szorzásra nézve. (T,+, )-t szoás csa T-vel jelölni. 1.5. Definíció. A (T,+, ) test esetén (T,+)-ot T additív csoportjána, (T\{0}, )-t T multipliatív csoportjána nevezzü. Jelölése (T,+, ) test esetén: a) Az additív csoport egységelemét (mint fentebb is írtu) 0-val, a multipliatív csoport egységelemét 1-gyel jelöljü. b) T multipliatív csoportját T -gal is jelölhetjü. c) Adott t T esetén t additív inverzét t-vel, t T multipliatív inverzét pedig 1 t -vel jelöljü. 1.6. Definíció. Egy T testet véges testne nevezün, ha T <. 1.7. Definíció. p Z prímszám esetén F p -t a övetezőépp definiálju. A modulo p ongruenciareláció egy evivalenciareláció (a b (mod p) p b a), és így meghatároz egy osztályozást Z-n. Továbbá ez a reláció ompatibilis az alapműveleteel, azaz: a b és c d = a + c b + d és a c b d. Ezért a művelete jól értelmezette az evivalenciaosztályo halmazán. Az evivalenciaosztályoat maradéosztályona nevezzü, és mivel elég egy reprezentánst választani, adott p esetén a halmazuat a övetezőépp definiálhatju: F p = {0, 1,..., p 1}. 4
Belátható, hogyha p prím, aor ez test a modulo p összeadásra és szorzásra (F p, + p, p), és látszi, hogy a rendje p, ami véges. Továbbá az is belátható, hogy a multipliatív csoportja cilius. Minden véges test rendje prímhatvány. Ha a rend q = p n, p prím, aor F q -t az F p magasabb foú algebrai bővítményeént apju meg. Bármely véges testben a multipliatív csoport cilius. 1.8. Definíció. Tetszőleges (G, ) csoport és g G esetén a övetező özül egy teljesül: a) m = n Z : g m = g n, b) m = n Z : g m = g n. Az a) esetben azt mondju, hogy G végtelen rendű, a b) esetben pedig feltehető, hogy m < n, így teljesül, hogy 1 = g m g m = g n m N : g = 1. Eor G-t véges rendűne, a legisebb ilyen -t pedig g rendjéne nevezzü és o(g)-vel jelöljü. 1.9. Definíció. H G a G csoport részcsoportja, ha 1 H és h 1, h 2 H : h 1 h 2, h 1 1 H. 1.10. Definíció. A G esetén az A által generált részcsoporton azt a legszűebb részcsoportot értjü, ami tartalmazza A-t. Ezt [A]-val jelöljü. Továbbá ha A = {g 1, g 2,..., g }, aor [A] = [g 1, g 2,..., g ]. 1.11. Definíció. Legyen G, H csoport. Azt mondju, hogy G és H izomorfa, ha ϕ: G H, melyre teljesül, hogy g G, h H : (gh)ϕ = (gϕ)(hϕ), tovább ϕ bijetív. Jelölés: G = H. 1.12. Definíció. Az egy elem által generált részcsoportoat cilius csoportona nevezzü, és belátható, hogy g G : [g] = (C o(g), +). Továbbá eor g-t generáló elemne nevezzü, egy véges test rendjén pedig az elemszámát értjü, azaz itt [g] rendje o(g). Korábban már említettü, hogy F q multipliatív csoportja cilius. 1.13. Definíció. α-t F q primitív eleméne nevezzü, ha F q generáló eleme. 1.14. Definíció. Az F q test multipliatív csoportjána generáló eleme az az α F q \ {0}, melyre teljesül, hogy α q 1 = 1. = α q = α. 5
1.15. Definíció. Tetszőleges T test esetén a T[x] = {a 0 + a 1 x + a 2 x 2 + a 3 x 3 +... + a n x n n N, a i T i = 0,..., n} halmazt a T test feletti polinomgyűrűne, elemeit pedig polinomona nevezzü. Egy p T[x] polinomot a övetezőépp jelölün: p(x) = a 0 + a 1 x + a 2 x 2 +... + a n x n = n i=0 a i x i. Eor n N-et p foána nevezzü és azt mondju, hogy deg p = n; továbbá a i -et p együtthatóina hívju. 1.16. Definíció. Legyen (T, +, ) test, p(x) = n i=0 a ix i, q(x) = m j=0 b jx j T[x] és λ T. Eor a polinomo özötti összeadást, illetve a polinomo salárral való szorzását a övetezőépp definiálju: a) (p + q)(x) = max{n,m} =0 (a + b )x. Ha n < m, aor a := 0 > n; ha n > m, aor b := 0 > m. b) λp(x) = n i=0 λa ix i. Megjegyzés: Természetesen a fenti (p + q)(x) és λp(x) is T[x] eleme. 1.17. Definíció. Egy T test, ω T és p T[x] polinom esetén a p iértéelése az ω helyen: p(ω) = n i=0 1.2. Kódelméleti alapfogalma a i ω i, ahol n = deg p, a i - pedig p együtthatói. 1.18. Definíció. (V,+, ) vetortér egy T test felett, ha a + : V 2 V, : T V V leépezése a övetező axiómáat teljesíti λ, µ T, és u, v V esetén: a) (V,+) Abel-csoport b) λ (u + v) = (λ u) + (λ v), c) (λ + µ) u = (λ u) + (µ u), d) λ (µ v) = (λ µ) v, e) 1 v = v, ahol 1 a T-beli multipliatív egységelem. 6
1.19. Definíció. Egy V vetortér esetén U V lineáris altér V-ben, ha U nem üres és zárt a V-ben definiált összeadásra és szorzásra. Jelölés: U V. Pl.: Legyen m, n N, p prím és q = p m. Eor F n q vetortér F q felett, ahol F n q = {(x 1, x 2,..., x n ) i = 1,..., n : x i F q }. A továbbiaban q-ra és n-re mindig az előzőe szerint hivatozun. 1.20. Definíció. Ha F egy véges test, aor a C V = F n részhalmazt n hosszú ódna nevezzü. V egy lineáris alterét egy n hosszú lineáris ódna nevezzü. Ha F = F 2, aor pedig C-t bináris ódna hívju. A C ód elemeit ódszavana vagy ódvetorona nevezzü. A övetezőeben definiált fogalmaat egy általános F véges test esetén is lehetne definiálni, de mivel most az F n q véges testre oncentrálódi a témán, így a fogalma során erre a véges testre fogun hivatozni. 1.21. Definíció. Legyen v = (v 1, v 2,..., v n ), u = (u 1, u 2,..., u n ) F n q = V. A ét vetor Hamming-távolságán azon oordinátá számát értjü, amelyeben v és u eltér, azaz: d(u, v) = {i : 1 i n, v i = u i }. A d: V V N függvényt Hamming-metriána nevezzü, a v V vetor súlyán pedig a d(v, 0) távolságot értjü, és v -vel jelöljü. Vegyü észre, hogy v, u F n q vetor esetén d(v, u) = {i 1 i n, v i u i = 0} = d(v u, 0) = v u. Ezt a tulajdonságot felhasználva önnyen belátható a övetező lemma. 1.22. Lemma. Az F n q vetortéren a d leépezés metria, azaz a övetező teljesülne x, y, z F n q esetén: a) d(x, y) 0 és d(x, y) = 0 x = y, b) d(x, y) = d(y, x), c) d(x, y) d(x, z) + d(z, y). 1.23. Definíció. A c F n q özéppontú r R + sugarú gömbne nevezzü a övetező halmazt: B r (c) = {x F n q d(c, x) r}. 7
Mivel F n q véges, ezért ez a gömb is véges so elemet tartalmaz, és ezt az elemszámot egy is ombinatoriával iszámolhatju. Észrevehető, hogyha r n, aor a B r (c) gömb bármely c F n q esetén F n q összes elemét tartalmazza, mivel a gömbben azo az eleme vanna, amelye legfeljebb r oordinátában térne el a özépponttól, és triviális, hogy bármely elemre igaz, hogy egy mási elemtől legfeljebb az összes oordinátában ülönbözi. Másrészt ha r = 0, aor a gömbne csa a özéppont az eleme. Tehát feltehető, hogy 1 r n. A B r (c) gömb elemszámána meghatározásához definiálju a övetező i-sugarú gömbhéjaat a c özéppont örül (0 i r): B(i, c) = {x F n q d(c, x) = i}. Ezeben a gömbhéjaban azo az elemei vanna F q -na, ami pontosan i távolságra vanna c-től. Világos, hogy: B r (c) = i=0 r B(i, c). Egy ilyen gömbhéj elemszáma pedig adott i-re ( n i )(q 1)i. Ez onnan adódi, hogy ( n i ) választás van arra, hogy melyi oordinátában ülönbözzön az adott elem c-től, egy oordináta esetén pedig q 1 lehetőség van egy ülönböző oordinátát találni, mivel F q = q; és i darab oordinátaválasztás van, ami függetlene, ezért a oordinátá értéeine iválasztására (q 1) i lehetőség van. Tehát: 1.24. Definíció. A B r (c) = i=0 r B(i, c) = i=0 ( n r i ) (q 1) i. d(c) = min{d(x, y) x, y C, x = y} számot a C ód minimális távolságána nevezzü. 1.25. Tétel. Ha C egy lineáris ód és d=d(c), aor d = min{d(v, 0) v C \ {0}} Vagyis egy lineáris ód minimális távolsága megegyezi a legisebb súlyú nem-zéró ódvetor súlyával. 8
1.26. Definíció. Egy t N esetén a C F n q ódot t-hibajavító ódna nevezzü, ha ülönböző u, v C esetén d(u, v) 2t + 1. Megjegyzés. Világos, hogy C t-hibajavító ód esetén d(c) 2t + 1, ebből pedig az övetezi, hogy a t sugarú gömbö diszjunta, amit a övetező lemma is megfogalmaz. 1.27. Lemma. Ha C t-hibajavító ód, aor tetszőleges v F n q vetorhoz legfeljebb egy olyan c C ódszó létezi, amelyre d(c, v) t. Ez önnyen belátható indiret módon. Tegyü fel, hogy 2 ülönböző ilyen ódszó létezi egy adott v-re: c 1 és c 2, azaz d(c 1, v) t és d(c 2, v) t. Eor a háromszög-egyenlőtlenség alapján: 2t d(c 1, v) + d(c 2, v) d(c 1, c 2 ) 2t + 1, mivel C t-javító ód. Ezzel azt aptu, hogy 2t 2t + 1, ami ellentmondás, tehát a lemma igaz. 1.28. Definíció. Ha a C F n q lineáris ód dimenziója, aor lineáris [n, ] ódna nevezzü. 1.29. Definíció. Ha c 1, c 2,..., c a C lineáris [n, ] ód egy bázisa, aor azt a n-es G mátrixot, melyne i-edi sora a c i vetor (i = 1,..., ), C generátor mátrixána nevezzü. 1.30. Tétel (Singleton-orlát). Ha valamely C lineáris [n, ]-ód minimális távolsága d, aor d (n ) + 1. 1.31. Definíció. Ha egy lineáris [n, ]-ód minimális távolsága d, és teljesül a d = n + 1 egyenlőség, aor a ódot MDS-ódna nevezzü. Megjegyzés. Az MDS a Maximal distance separable code angol ifejezés rövidítése, ami magyarul maximális elválasztási távolságú ódot jelent. Ezt azért hívju így, mert az adott vetortér lineáris ódjai özött erre (is) teljesül, hogy a ódszava a lehető legtávolabb vanna egymástól, ez pedig a deódolásnál bizonyul hasznosna, ugyanis mivel a ijavítható hibá a ódszava távolságától függene (d 2t + 1), így az MDS-ódo a lehető legtöbb hibát i tudjá javítani. Más szóval nincs olyan ód az adott vetortérben adott dimenzióval, ami több hibát tudna ijavítani. 9
1.3. Fourier-transzformált 1.32. Definíció. Legyen α az F q test primitív eleme. Eor a p(x) = deg p a x F q [x] =0 polinom Fourier-transzformáltján a övetező q(x) F q [x] polinomot értjü: r(x) = q 2 p(α )x. =0 Megj.: p(x) Fourier-transzformáltját szoás p # -tel is jelölni. Teintsü azon p F q [x]-eet, melyene a foa isebb q 1-nél, és a halmazuon vegyü a övetező leépezést: eval : D = {p F q [x] : deg p < q 1} F q 1 q, p (p(α 0 ), p(α 1 ), p(α 2 ),..., p(α q 2 )), ahol α az F q multipliatív csoportjána a generáló eleme. α ezen tulajdonságából övetezi, hogy itt tulajdonépp a p polinom grafionját apju meg egy q 1 omponensű vetorént, mivel F q összes nem nulla elemében vesszü a iértéelését. Most vegyün egy mási leépezést, ami egy p D polinomhoz az együtthatóit rendeli hozzá: f : p(x) = q 2 a i x i (a 0, a 1,..., a q 2 ). i=0 Látszi, hogy ha az utóbbi leépezést végrehajtju a p D polinom Fourier - transzformáltjára, aor ugyanazt apju, mintha az eval-t hajtottu volna végre a p-re ( f (p # ) = eval(p)). Kérdés, hogy adott p esetén a ét reprezentáció ( f (p) és eval(p)) özött van-e valamilyen özvetlen apcsolat. Az nyilvánvaló, hogy mindét reprezentációval egy q 1 salárból álló vetort apun. Az is látszi, hogy eval bijeció D és F q 1 q özött, mivel er(eval) D = {0} és a számosságu megegyezi. Ezen észrevétele is megerősíteni látszana, hogy a Fourier - transzformáció a ét halmaz özött egy apcsolatot állít fel. Vegyü a övetező polinomoat: q 2 p = a x D, r = p # =0 10
Most nézzü meg, mi történi, ha az eval-t végrehajtju r-re, azaz p Fourier - transzformáltjára. Ehhez szüségün van r-ne az α i helyeen felvett értéeire. = j r(α i ) = v 0 + v 1 α i + v 2 α 2i +... + v q 2 α i(q 2) = p(α j )α ij = j q 2 ( =0 a α j )α ij = j, a α (i+)j = q 2 v j α ij = j=0 q 2 a ( j=0 (α i+ ) j ). Vezessü be a övetező jelölést: β = α i+. Eor a övetező vehető észre: { q 2 β q 1 1 β j = 1 + β +... + β q 2 = β 1 = 0, ha β = 1 j=0 q 1 = 1, ha β = 1. Az első esetben azért 0 az eredmény, mert β q 1 = α (q 1)(i+) és α q 1 = 1, mivel α generáló elem, ill. q 0 modulo a test araterisztiája, ezért teljesül, hogy q 1 = 1. Az eredményt felhasználva a övetezőt apju: q 2 j=0 (α i+ ) j = { 0, ha i + = q 1 1, ha i + = q 1 Adott esetén ezen utóbbi összeget jelöljü γ -val. Tehát r(α i ) = a γ = a q 1 i =: w i. Megjegyzés: Az i = 0 esetben w 0 = a 0. Most hajtsu végre r-re a Fourier-transzformációt: r # (x) = w 0 + w 1 x + w 2 x 2 +... + w q 2 x q 2 = (a 0 + a q 2 x + a q 3 x 2 +... + a 1 x q 2 ). Ebből azt a öveteztetést vonhatju le, hogy egy adott p(x) polinom Fourier-transzformáltjána Fourier-transzformáltjána az együtthatói szinte ugyanazo, mint p együtthatói, tehát ez a Fourier-transzformáció egy bizonyos módon önmagána az inverze. 11
2. Reed-Solomon-féle hibajavító ódo A ommuniáció során továbbított üzenetről feltesszü, hogy egy n - dimenziós véges test feletti vetortér (jelöljü F n -nel) egy eleme, azaz egy F n -beli vetor, pl.: a = (a 1, a 2,..., a n ) az üzenet, ahol minden a i F eleme. Ezt a vetort nevezzü ódszóna. A továbbítás özben hibá hatására a címzett az a helyett a b = a + e vetort apja meg; itt e-t hibavetorna nevezzü. Ezene a hibána a ijavítására találtá fel a hibajavító ódoat, amine a Reed-Solomon-ódo egy speciális fajtája. 2.1. Felépítés Legyen q prímhatvány és α az F q primitív eleme, azaz: Rögzített N esetén a C F q 1 q definiálju: F q = {0} {α 0, α 1, α 2,..., α q 2 }. Reed-Solomon-ódot a övetezőépp C = {(p(α 0 ), p(α 1 ), p(α 2 ),..., p(α q 2 )) p F q [x], deg p < N}, azaz vesszü az összes F q [x]-beli, legfeljebb -ad foú polinom iértéelését az α 0 = 1, α 1 = α, α 2,..., α q 2 helyeen. Ezt a iértéelést nevezzü a p grafionjána, mivel az összes F q-beli elemben vettü az értéét. Világos, hogy C F q 1 q, azaz C lineáris ód F q 1 q -ben. Legyen D = {p F q [x] deg p < }, és teintsü az eval: D C, p (p(α 0 ), p(α 1 ), p(α 2 ),..., p(α q 2 )) leépezést. Belátható, hogy ez egy lineáris leépezés, és így bázist bázisba visz. A D-beli természetes bázis: {1, x, x 2,..., x 1 }, így az 1.29 definíció és D bázisaina eval melletti épei alapján a C bázisaiból alotott generáló mátrix a övetezőépp áll elő: 1 1 1... 1 1 α α 2... α q 2 G = 1 α 2 α 4... α 2q 4....... 1 α 1 α 2 2... α (q 2)( 1) Ezenívül látszi, hogy az i-edi sorána j-edi eleme: G ij = α (i 1)(j 1), (i = 1,...,, j = 1,..., q 1), 12
és így G F (q 1) q és C -dimenziós. Tehát C egy lineáris [q 1, ] ód, és a Singleton-orlát miatt (ld. 1.30 tétel) d(c) (q 1 ) + 1 = q. Ezen ívül még további észrevétele tehető C minimális távolságát illetően. C tehát a övetező halmaz: {(p(α 0 ),..., p(α q 2 )) deg p < }. Egy adott p polinomhoz tartozó elemét C-ne jelöljü w p -vel. Legyen p és p ét tetszőleges, legfeljebb -adfoú polinom, és tegyü fel, hogy d(w p, w p ) = l. Eor a övetező vehető észre: l = w p w p = w p p, mivel (p(α 0 ), p(α 1 ),...) ( p(α 0 ), p(α 1 ),...) = (p(α 0 ) p(α 0 ),...) = ((p p)(α 0 ),...) = w p p. Az egyszerűség edvéért jelöljü p p-ot P-vel. w P súlya l l helyen lesz P = 0 legalább q 1 l helyen 0 P-ne legalább q 1 l gyöe van. Mivel P foa is isebb, mint, így teljesülne a övetező is: q 1 l deg P <, q 1 l 1, l q Ezeből látszi, hogy ha ét ódvetor távolsága l, aor l q, így C minimális távolságára is teljesül, hogy nagyobb q -nál. Ezt az eredményt és a Singleton-orlátból apott eredményt egybevetve apju a övetező tételt: 2.1. Tétel. Bármely C F q 1 q, -dimenziós Reed-Solomon-ódra teljesül, hogy d(c) = q. Enne egyenes övetezménye, hogy C MDS-ód, azaz a lehető legnagyobb távolságra vanna egymástól a ódszavai, és így C az egyi legtöbb hibát ijavítani épes ód. Felhasználva a t-hibajavító ód definícióját (1.26) és azt, hogy d(c) = q, a övetező eredményere juthatun: d(c) = q 2t + 1, q 1 2t, q 1 t 2 13
Tehát C q 1 2 hibát még biztos i tud javítani, és nincs olyan lineáris ód F q 1 q -ben, ami dimenziós és több hibát tudna ijavítani, mint C. Visszatérve a feladatunhoz: egy ember üzenetet üld egy másina, azaz választ egy w C-t és elüldi egy zajos csatornán. Megérezi egy w = w + e F q 1 q, ahol e-vel a hibavetort jelöltü. Eor ha w C, azaz e = 0, aor nem volt hiba és észen vagyun, ha viszont ez nem teljesül, meg ell találnun a w -höz legözelebb eső C-beli elemet. A w C eldöntésében segít a fent definiált G mátrix, mivel C elemei G sorvetoraina lineáris ombinációiból állna. Tehát w = (y 0, y 1,..., y q 2 ) aor eleme C-ne, ha x = (x 0, x 1,..., x 1 ), melyre G T x = w, azaz: G T x = x 0 + x 1 + x 2 +... + x 1 x 0 + x 1 α + x 2 α 2 +... + x 1 α 1 x 0 + x 1 α 2 + x 2 α 4 +... + x 1 α 2 2. x 0 + x 1 α q 2 + x 2 α 2q 4 +... + x 1 α (q 2)( 1) = y 0 y 1 y 2. y q 2 = w Ebből α és y i - ismeretében egy olyan lineáris egyenletrendszert apun, amiben ismeretlen és q 1 egyenlet van, azaz ha van megoldás, azt Gauss-eliminációval megaphatju. Ha viszont nincs megoldás, aor meg ell eresnün a w -höz legözelebb eső C-beli elemet, ami a deódolás feladatához vezet. 2.2. Deódolás A deódoláshoz az úgynevezett tünet-deódolást (syndrome decoding) fogju majd használni, amit Peterson fejlesztett i 1960-ban. Ennél a módszernél az üzenetere a övetező módon teintün: amit a feladó üld, az egy legfeljebb -ad foú p(x) polinom F q 1 q -beli grafionja; amit a címzett megap, az egy legfeljebb (q 2)-ed foú F q 1 q feletti s(x) polinom együtthatóiból alotott vetor. Tehát a üldött üzenet (c 0, c 1,..., c q 2 ), azaz eze a c i - a p adott α i helyen vett értéei, és ha feltételezzü, hogy nem történt hiba a továbbítás során, aor a apott üzenet az r(x) polinom együtthatói, ahol r = p #, azaz r(x) = q 2 c i x i. i=0 Korábban levezettü, hogy a Fourier-transzformáltra a övetező teljesül: i = 0,..., q 2 : r(α i ) = a q 1 i, ezen ívül tudju, hogy deg p <, 14
tehát a = a +1 =... = a q 1 = 0, így apju azt, hogy r(α i ) = 0, ha: q 1 i q 1 q + 1 i 0 + q 1 i 0, azaz r(α i ) = 0 i = 0,..., q 1 esetén. Tehát r(α 0 ) = r(α) = r(α 2 ) =... = r(α q 1 ) = 0, és így r(x) osztható a g(x) = q 1 j=0 (x α j ) polinommal. Az üzenetüldés során ez az r polinom sérül, és a apott üzenet az s(x) = r(x) + e(x) polinom együtthatói, ahol e(x) = q 2 e i x i. i=0 Az x i-edi hatványánál aor apun hibát, ha e i = 0. A C ód onstruciója miatt feltehető, hogy a hiba mérete legfeljebb t := q 1 2, mert ennyi hibát még a ód i tud javítani. Ha tudju, hogy v hiba van az x ülönböző i hatványaiban (v t), aor v e(x) = e i x i. =1 A deódolás célja, hogy megtalálju a hibá helyeit (i ) és értéeit (e i ). Ha eze megvanna, aor e(x)-et i tudju számolni és le tudju vonni s(x)-ből, így megapva az eredeti üzenetet. Ezehez a számításohoz ell definiálnun az S j tüneteet. 2.2. Definíció. S j = s(α j ) = r(α j ) +e(α }{{} j ) = e(α j v ) = e i (α j ) i, j = 1, 2,..., q 1 =1 0 Ebből látszi, hogy azért előnyös a tüneteel foglalozni, mert az elüldött polinomtól függetlene. 2.3. Hibahelye és hibaértée A ényelmesség edvéért bevezetjü a övetező jelöléseet a hibahelyere (X ) és a hibaértéere (Y ): X := α i, Y := e i. 15
Így a tünete a övetező módon egyszerűsödne: S j = v Y X j. =1 Eze egy q 1 2v egyenletből álló egyenletrendszert adna meg 2v ismeretlennel, de ez az egyenletrendszer az X -ban nemlineáris, így nincs egyértelmű megoldása. Viszont ha az X -at ismernén (lásd a övetezőben), aor a tünete által adott egyenlete olyan lineáris egyenletrendszert adnána meg, amiből egyszerűen megapható az Y hibaértée. Mátrixoal felírva az egyenletrendszert: X1 1 X 1... X 1 v X1 2 X2 2... X 2 v...... X q 1 1 X q 1 2... Xv q 1 Y 1 Y 2 Y v S 1 S 2 S v. =. Ebből pedig az adódi, hogy már csa az X - megeresése a probléma. 2.4. Hibaereső polinom Peterson talált egy reurzív összefüggést, ami egy lineáris egyenletrendszer ialaulásához vezetett. Ezeet megoldva megapju a hibá helyeit. 2.3. Definíció (Hibaereső polinom). Λ(x) = v =1 Λ(x) gyöei az X 1 -e, azaz (1 xx ) = 1 + Λ 1 x + Λ 2 x 2 +... + Λ v x v. Λ(X 1 ) = 0 = 1,..., v Λ(X 1 ) = 1 + Λ 1 X 1 + Λ 2 X 2 +... + Λ v X v = 0. Rögzített és tetszőleges 1 j v esetén ha beszorzun Y X j+v -nel, aor még mindig nullát apun: Y X j+v Λ(X 1 ) = 0 16
Így tehát Y X j+v + Y X j+v Λ 1 X 1 Y X j+v + Λ 1 Y X j+v 1 + Y X j+v Λ 2 X 2 +... + Y X j+v Λ v X v = 0, + Λ 2 Y X j+v 2 +... + Λ v Y X j = 0. Ha ezt az összes -ra végrehajtju és szummázun = 1-től v-ig, a övetezőt apju: v =1 v =1 (Y X j+v + Λ 1 Y X j+v 1 + Λ 2 Y X j+v 2 +... + Λ v Y X j ) = 0 (Y X j+v v ) + Λ 1 (Y X j+v 1 v ) + Λ 2 (Y X j+v 2 v ) +... + Λ v X =1 =1 =1(Y j ) = 0 A tüneteel felírva (2.2 definíció): S j+v + Λ 1 S j+v 1 +... + Λ v 1 S j+1 + Λ v S j = 0 (mivel S i = Rövidebben: v l=0 S l+j Λ v l = 0 (Λ 0 = 1) v 1 S l+j Λ v l = S j+v ( j = 1,..., v) l=0 Ezeből apju a övetező lineáris egyenletrendszert: S 1 S 2... S v Λ v S 2 S 3... S v+1 Λ v 1....... =. S v S v+1... S 2v 1 Λ 1 S v+1 S v+2 S v+v v Y X i ) =1 Mivel az S j = s(α j ) tüneteet ismerjü, ezt az egyenletrendszert megoldva megapju a hibaereső polinom Λ i együtthatóit. Tehát ha ismerjü v- t, aor Λ(x) iszámítható. Bár v-t pontosan nem ismerjü, de egy felső orlátot ismerün rá, mint fentebb is említettü ( t), és számolhatun úgy, mintha elérné ezt a felső orlátot, mivel ha még nem is éri el, aor néhány utolsó együttható 0 lesz, ez pedig nem ooz gondot. 17
Ha Λ(x)-et ismerjü, a gyöeit ülönböző módszereel meg tudju találni (ilyen pl. a Chien-eresés), majd a gyöö reciproait véve megapju X -at. Továbbá X = α i i = log α X, így megtudtu a hibá helyeit. Eze után mivel X - ismerte, a fenti egyenletrendszert Y -ra meg tudju oldani. Eor a orábbia alapján gyaorlatilag megaptu e(x)-et is, és azt s(x)-ből levonva megapju r(x)- et, amine az együtthatóit szeretté volna elüldeni, és észen vagyun a deódolással. 18
Nyilatozat Alulírott Táborosi Andor Zsolt, ijelentem, hogy a dolgozatomat más szaon orábban nem védtem meg, saját munám eredménye, és csa a hivatozott forrásoat (szairodalom, eszözö, stb.) használtam fel. Tudomásul veszem, hogy szadolgozatomat a Szegedi Tudományegyetem Bolyai Intézeténe önyvtárában a ölcsönözhető önyve özött helyezi el, és az interneten is nyilvánosságra hozhatjá. Szeged, 2013. május 15................................. aláírás 19
Köszönetnyilvánítás Ezúton szeretné öszönetet mondani Dr. Nagy Gábor Péterne, amiért a szadolgozatom témaválasztásában, illetve a idolgozásában a ezdetetől fogva segített tanácsaival, útmutatásával, továbbá hogy erre a projetre áldozta az idejét. Ezen felül azt is szeretném megöszönni nei, hogy ráirányította a figyelmem a Véges geometriá és ódo című urzusra. Prof. Korchmáros Gáborna pedig azért szeretné öszönetet mondani, mert ezen urzus megtartásával segített neem a véges geometria témáját megismerni, ami szintén hozzájárult a szadolgozatom témájána megválasztásához. 20
Hivatozáso [1] D. Joyner, R. Kreminsi, J. Turisco, Applied Abstract Algebra, The Johns Hopins University Press, Baltimore, 2004. [2] Kiss Gy. - Szőnyi T., Véges Geometriá, Polygon Könyvtár, Szeged, 2001. [3] http://en.wiipedia.org/wii/reed-solomon_error_correction 2013.04.16. [4] Korchmáros Gábor, Véges geometriá és ódo (előadásjegyzet), Szegedi Tudományegyetem, 2012. 21