Koodausteoria, Kesä 2014 Topi Törmä Matemaattisten tieteiden laitos
5 BCH-, RS- ja Goppa-koodit Topi Törmä Matemaattisten tieteiden laitos 2 / 15
5.1 BCH-koodien määrittely Olkoon jälleen F = F q, syt(n, q) = 1 ja m alkion q multiplikatiivinen kertaluku modulo n, jolloin n (q m 1). Olkoon α kunnan F q m primitiivinen n:s ykkösen juuri. Kuten aiemmin, käytetään alkion α i minimipolynomille merkintää m α i (x). Topi Törmä Matemaattisten tieteiden laitos 3 / 15
Määritelmä 5.1.1. Polynomin pyj(m α (x), m α 2(x),..., m α d 1(x)) generoimaa n-pituista syklistä koodia sanotaan (kapea-alaiseksi) BCH-koodiksi (narrow-sense BCH code), jonka suunniteltu etäisyys on d des C = d, (2 d n). Polynomin pyj(m α b(x), m α b+1(x),..., m α b+d 2(x)), missä b N, generoimaa n-pituista syklistä koodia sanotaan yleistetyksi BCH-koodiksi, jonka suunniteltu etäisyys on d. Jos α on kunnan F q m primitiivialkio eli jos n = q m 1, niin vastaavaa (yleistettyä) BCH-koodia sanotaan primitiiviseksi koodiksi. Topi Törmä Matemaattisten tieteiden laitos 4 / 15
Määritelmä 5.1.1. Polynomin pyj(m α (x), m α 2(x),..., m α d 1(x)) generoimaa n-pituista syklistä koodia sanotaan (kapea-alaiseksi) BCH-koodiksi (narrow-sense BCH code), jonka suunniteltu etäisyys on d des C = d, (2 d n). Polynomin pyj(m α b(x), m α b+1(x),..., m α b+d 2(x)), missä b N, generoimaa n-pituista syklistä koodia sanotaan yleistetyksi BCH-koodiksi, jonka suunniteltu etäisyys on d. Jos α on kunnan F q m primitiivialkio eli jos n = q m 1, niin vastaavaa (yleistettyä) BCH-koodia sanotaan primitiiviseksi koodiksi. Jos BCH-koodin suunniteltu etäisyys on 2t + 1, sitä sanotaan tavallisesti t virhettä korjaavaksi BCH-koodiksi. Topi Törmä Matemaattisten tieteiden laitos 4 / 15
Huom! Jos m α (x) = m β (x), niin pyj(m α (x), m β (x)) = m α (x). Jos taas m α (x) m β (x), niin pyj(m α (x), m β (x)) = m α (x)m β (x). Topi Törmä Matemaattisten tieteiden laitos 5 / 15
Lause 5.1.2. a) Olkoon C = g(x) n-pituinen (yleistetty) BCH-koodi kunnan F q suhteen ja olkoon sen suunniteltu etäisyys d. Tällöin dim C n (d 1)m ja d min C d. b) Olkoon C binäärinen n-pituinen BCH-koodi, jonka suunniteltu etäisyys on d = 2t + 1. Silloin dim C n mt ja d min C 2t + 1. Topi Törmä Matemaattisten tieteiden laitos 6 / 15
Lause 5.1.2. a) Olkoon C = g(x) n-pituinen (yleistetty) BCH-koodi kunnan F q suhteen ja olkoon sen suunniteltu etäisyys d. Tällöin dim C n (d 1)m ja d min C d. b) Olkoon C binäärinen n-pituinen BCH-koodi, jonka suunniteltu etäisyys on d = 2t + 1. Silloin dim C n mt ja d min C 2t + 1. Todistus: a) Lauseen 4.1.7 mukaan deg m β (x) m kaikilla β F q m, joten deg g (d 1)m. Toisaalta deg g = n dim C, joten n dim C (d 1)m eli dim C n (d 1)m. Minimietäisyyden raja saadaan suoraan BCH-rajasta (Lause 4.8.4), sillä generoijapolynomilla g(x) on ainakin d 1 "peräkkäistä"nollakohtaa. Topi Törmä Matemaattisten tieteiden laitos 6 / 15
Minimietäisyyden rajan saa todistettua myös ilman Mattsonin Solomonin polynomeja hyödyntämällä kappaleen 4.5 tarkasteluja. Olkoot polynomilla g nollakohtina α b, α b+1,..., α b+d 2. Jos c C, niin cĥt = 0, missä 1 α b α 2b... α (n 1)b 1 α b+1 α 2(b+1)... α (n 1)(b+1) Ĥ =.... 1 α b+d 2 α 2(b+d 2)... α (n 1)(b+d 2) on kappaleen 4.5 yhtälön (7) mukainen matriisi. Olkoon c 0 ja wt(c) = w, 1 w d 1. Olkoot c i1, c i2,..., c iw vektorin c nollasta eroavat koordinaatit, missä i j {0,..., n 1} kaikilla j. Topi Törmä Matemaattisten tieteiden laitos 7 / 15
Yhtälöstä cĥt = 0 saadaan (tarkastelemalla w ensimmäistä yhtälöä) yhtälöryhmä c i1 α i 1b + c i2 α i 2b + + c iw α iw b = 0 c i1 α i 1(b+1) + c i2 α i 2(b+1) + + c iw α iw (b+1) = 0. c i1 α i1(b+w 1) + c i2 α i2(b+w 1) + + c iw α iw (b+w 1) = 0 Tällä yhtälöryhmällä on epätriviaali ratkaisu (c i1,..., c iw ), joten Topi Törmä Matemaattisten tieteiden laitos 8 / 15
α i 1b α i 2b α iw b α i 1(b+1) α i 2(b+1) iw α (b+1) 0 =... α i 1(b+w 1) α i 2(b+w 1) iw α (b+w 1) 1 1 1 α i 1 α i 2 α iw = α i1b α i 2b α iw b α 2i 1 α 2i 2 α 2iw... α (w 1)i 1 α (w 1)i 2 α (w 1)iw = α i1b α i 2b α iw b (α ik α ij ). i j <i k Topi Törmä Matemaattisten tieteiden laitos 9 / 15
α i 1b α i 2b α iw b α i 1(b+1) α i 2(b+1) iw α (b+1) 0 =... α i 1(b+w 1) α i 2(b+w 1) iw α (b+w 1) 1 1 1 α i 1 α i 2 α iw = α i1b α i 2b α iw b α 2i 1 α 2i 2 α 2iw... α (w 1)i 1 α (w 1)i 2 α (w 1)iw = α i1b α i 2b α iw b (α ik α ij ). i j <i k Täten on olemassa sellaiset 1 j < k w, että α i j = α i k eli α i k i j = 1. Tämä on ristiriidassa sen kanssa, että α on primitiivinen n:s ykkösen juuri. Näin ollen w d ja saadaan väite. Topi Törmä Matemaattisten tieteiden laitos 9 / 15
b) Binääritapauksessa polynomin m β (x) nollakohtia ovat β, β 2, β 4,... Siten m β (x) = m β 2(x) = m β 4(x) =... ja g(x) = pyj(m α, m α 2, m α 3..., m α 2t ) = pyj(m α, m α 3,..., m α 2t 1). Näin ollen deg g mt, sillä deg m α i a-kohdan tapaan. m, ja väite saadaan Topi Törmä Matemaattisten tieteiden laitos 10 / 15
b) Binääritapauksessa polynomin m β (x) nollakohtia ovat β, β 2, β 4,... Siten m β (x) = m β 2(x) = m β 4(x) =... ja g(x) = pyj(m α, m α 2, m α 3..., m α 2t ) = pyj(m α, m α 3,..., m α 2t 1). Näin ollen deg g mt, sillä deg m α i a-kohdan tapaan. m, ja väite saadaan Huomaa, että edellisen lauseen todistuksessa ei tarvita tietoa, että d on juuri suunniteltu etäisyys vaan lause todistaa BCH-rajan (ks. 4.8.4): jos syklisellä koodilla C on d peräkkäistä nollakohtaa, niin d min C d + 1. Topi Törmä Matemaattisten tieteiden laitos 10 / 15
Golayn koodit Marcel J. E. Golaylta tunnettaan kaksi koodia, binäärinen ja ternääninen Golayn koodi. Molemmat on julkaistu vuonna 1949 ja kumpikin on täydellinen. Muut täydelliset koodit äärellisten kuntien suhteen ovat Hammingin koodit (Lause 3.4.3) ja ns. triviaalit täydelliset koodit: binääriset paritonpituiset toistokoodit, yhden sanan koodit ja koko avaruus F n q. Tarkastellaan seuraavassa binääristä Golayn koodia. Topi Törmä Matemaattisten tieteiden laitos 11 / 15
Olkoon q = 2 ja n = 23. Pienin m, jolle 23 (2 m 1), on m = 11, ja 2 11 1 = 2047 = 89 23. Nyt saadaan syklotomiset sivuluokat C 0 = {0}, C 1 = {1, 2, 4, 8, 16, 9, 18, 13, 3, 6, 12} C 5 = {5, 10, 20, 17, 11, 22, 21, 19, 15, 7, 14}. Vastaava polynomin x 23 1 tekijöihinjako renkaassa F 2 [x] on x 23 1 = (x 1)(x 11 + x 10 + x 6 + x 5 + x 4 + x 2 + 1) (x 11 + x 9 + x 7 + x 6 + x 5 + x + 1). ja Topi Törmä Matemaattisten tieteiden laitos 12 / 15
Olkoon α primitiivinen 23:s ykkösen juuri, jolle m α (x) = x 11 + x 10 + x 6 + x 5 + x 4 + x 2 + 1. Polynomin g(x) = m α (x) nollakohtina ovat α, α 2, α 3 ja α 4, joten binäärisen Golayn koodin G 23 = g(x) minimietäisyys on BCH-rajan mukaan d min G 23 5. Itse asiassa d min G 23 = 7, mitä ei todisteta tässä. Siten G 23 on 3 virhettä korjaava. Koodin G 23 dimensio on dim G 23 = n deg g = 23 11 = 12. Topi Törmä Matemaattisten tieteiden laitos 13 / 15
Jokaisessa koodisanakeskisessä 3-säteisessä pallossa on B(c, 3) = 3 ( ) 23 23 22 23 22 21 = 1+23+ + = 2048 = 2 11 i 2 2 3 i=0 vektoria. Yhteensä näissä palloissa on siten 2 11 G 23 = 2 11 2 12 = 2 23 = F 23 2 = R 23 alkiota, ja G 23 on täydellinen koodi. Topi Törmä Matemaattisten tieteiden laitos 14 / 15
Lause 5.1.4. Olkoon n = ab ja C = g(x) n-pituinen BCH-koodi, jonka suunniteltu etäisyys d des C = a. Tällöin d min C = a. Topi Törmä Matemaattisten tieteiden laitos 15 / 15
Lause 5.1.4. Olkoon n = ab ja C = g(x) n-pituinen BCH-koodi, jonka suunniteltu etäisyys d des C = a. Tällöin d min C = a. Todistus: BCH-rajan mukaan d min C a, joten riittää osoittaa, että koodista C löytyy a-painoinen sana. Nyt x n 1 = x ab 1 = (x b 1)(1 + x b + + x (a 1)b ). Olkoon α primitiivinen n:s ykkösen juuri, jolloin α ib 1 kaikilla i = 1,..., a 1. Täten jokainen α i on polynomin 1 + x b + + x (a 1)b nollakohta. Lauseen 4.1.7 nojalla m α i (x) (1 + x b + + x (a 1)b ) kaikilla i = 1,..., a 1. Koska g(x) = pyj(m α (x),..., m α a 1(x)), niin g(x) (1 + x b + + x (a 1)b ). Siten 1 + x b + + x (a 1)b g(x) = C ja tämän sanan paino on a. Topi Törmä Matemaattisten tieteiden laitos 15 / 15