Download as pdf or txt
Download as pdf or txt
You are on page 1of 101

K

ODELM

ELET
egyetemi jegyzet
Lakatos Piroska
DEBRECENI EGYETEM
TERM

ESZETTUDOM

ANYI KAR
ALGEBRA

ES SZ

AMELM

ELET TANSZ

EK
2010
Tartalomjegyzek
1. A k odelmelet algebrai alapjai 5
1.1. Algebrai alapok . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1. Veges testek . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2. Az x
n
1 polinom felbont asa GF(q) felett. . . . . . . 20
1.1.3. A kiterjesztett euklideszi algoritmus . . . . . . . . . . . 21
2. Blokk-k odok 26
3. Linearis kodok 41
3.1. Line aris k odok jellemz oi . . . . . . . . . . . . . . . . . . . . . 41
3.1.1. Linearis kodok dek odol asa . . . . . . . . . . . . . . . . 49
3.1.2. Hamming-kodok es t okeletes k odok . . . . . . . . . . . 54
4. Ciklikus k odok 61
5. BCH-k odok 72
5.1. A BCH-kodok dek odolasa . . . . . . . . . . . . . . . . . . . . 75
5.2. Reed-Solomon k odok . . . . . . . . . . . . . . . . . . . . . . . 81
5.3. Reed-Solomon-k odok dekodol asa PGZ algoritmussal . . . . . . 85
6. Hibajavtasi technikak 92
6.1. Hibacsom ok javt asa . . . . . . . . . . . . . . . . . . . . . . . 92
6.2. T orlesek dek odolasa . . . . . . . . . . . . . . . . . . . . . . . . 93
6.3.

Osszefes ules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2
Bevezetes
Ez a jegyzet a PhD es master kepzesben resztvev o matematika szakos hall-
gat ok sz am ara kesz ult. Az anyag megertesehez csup an algebrai alapismere-
tek, f oleg a line aris algebra es a csoportelmelet alapfogalmai es legegyszer ubb
osszef uggesei sz uksegesek. A veges testekre vonatkoz o legfontosabb tenyeket
lepten-nyomon alkalmazni fogjuk, ezert ezeket az olvas o munk ajanak meg-
k onnytesere az els o fejezetben osszefoglaljuk. Az ismertetett elmeletet
peldakkal illusztr aljuk, s azok alapj an onall oan megoldhato feladatokkal ege-
sztj uk ki.
Az inform acio tovabbt asa a gyakorlatban nem teljesen megbzhat o, mivel
az erre szolgal o technikai eszk oz okben hiba vagy zaj keletkezhet, aminek
hat asara az informacio torzulhat. Ezt ki lehet k usz obolni, es az eredeti in-
form aciohoz hozz ajuthatunk, ha a csatorna minoseget ol f uggoen megfelel o
redundanci aval kesztj uk az informaci ot hordoz o jelsorozatokat, a kodokat.
Az informaci o tovabbt asanak modellje a k ovetkezo:
forr as k odolo csatorna dek odolo felhaszn alo
A k odolo a forr as abece jeleibol all o informaci ot bizonyos k od abece feletti
tov abbthato uzenetekke alaktja. A csatorna valamilyen informacios medi-
um lehet, pl. egy kabel, r adiohullamok, digit alis integr alt aramk or, magneslemez
vagy CD. A dek odolo ( un. dek oder) veszi a csatornan tov abbtott uzenetet,
azt visszaalaktja a forras abece jeleibol all o jelsorozatt a, es az adat felhaszna-
l oja rendelkezesere bocsatja. Ha a csatorna megbzhat o lenne, akkor nem
lenne sz ukseg hibajavt asra. A feladat olyan dek odert el o alltani, ami kor-
rig alja a tov abbtas sor an t ortent hibakat. A hibajavt o k odok elmelete olyan
megfelel o es j ol dekodolhato olyan k odok kesztese, es olyan dek odol asi al-
goritmusok megadasa, melyek segtsegevel meg lehet fejteni az esetlegesen
eltorzult uzenetet.
A digitalis kommunik acio es a sz amtogepek egyre szelesebbk or u haszn alata
fokozza a hibajavt o kodok elmeletenek jelent oseget. M ar regota ismert az
un. paritasellen orz o bit haszn alata, ami a bin aris jelsorozatot paros vagy
3
4
p aratlan sz am u egyeseket tartalmazo jelsorozatt a egeszti ki. Az egyetlen
hib at javt o kodok (pl. a Hamming-kodok) a gyakorlatban m ar elterjedtek.
A tarol asi kapacit as n ovekedesevel egyre t obb lemezre haszn alnak hibajavt o
k odokat. Egyre tobb sz amt ogep rendelkezik hibajavt o kapacit assal. Ennek
kieptese kevesbe koltseges, mint teljesen megbzhat o integralt aramkor oket
epteni.
A kodol aselmelet altalanosabban olyan kerdesekkel is foglalkozik, mint az
inform acio tom ortese, titkost asa. Ebben a jegyzetben a hibajavt o kodok
algebrai elmeletebe ny ujtunk bevezetest.
1972-ben a Mariner urallomas a Mars mellett haladt el, s fenykepfelve-
teleket kesztett. A Nap aktivit asa, es az atmoszferabeli kedvez otlen feltete-
lek miatt gondoskodni kellett az informaci otov abbtas sor an t ortent hib ak
kijavt asar ol. Ezt un. Reed-Muller kodok felhaszn alas aval oldott ak meg. A
forr asabece a sz urke 64 arnyalat anak megk ul onb ozteteser ol kellett gondos-
kodjon. A k odol o ezeket bin aris hatosokba alaktotta, majd, a hibajavtast
biztostando, a k odokat binaris 32-esekke egesztette ki, melyeket tovabb-
tottak a csatornan.

Igy a dekodol o meg a 7 helyen hibas 32-eseket is kepes
kijavtani.
1979-ben a Voyager urallom as szines kepeket kellett tovabbtson a Jupi-
terr ol. Mintegy 4100 fele szin arnyalat kodol as ara volt sz ukseg. A forrask odol o
ehhez 12 hossz u binaris jelsorozatokat kesztett. 24 hossz u jelsorozatokk a
alaktva 3 hib at javto koddal az un. Golay-k oddal tov abbtott ak.
Ma m ar a hetkoznapi technik aban is egyre gyakrabban haszn alnak gy
pl. a CD-ken is alkalmaznak hibajavto k odokat.
1. fejezet
A kodelmelet algebrai alapjai
1.1. Algebrai alapok
1.1.1. Veges testek
A veges testek elmeletet az alkalmazasok tettek aktualiss a a modern al-
gebr aban. Ez az elmelet Galois (1811-1832) munkass ag aval kezdod ott, de az
ut obbi evtizedekben a diszkret matematikaban t ortent alkalmaz asai reven (s
ide sorolhatjuk az algebrai kodok elmeletet is) k ul onosen nagy jelentosegre
tett szert.
1.1. Dencio. Legyen adott a G halmaz es G G jelolje szokas szerint a
G halmaz Descartes-fele szorzatat onmagaval. A : G G G lekepezest
ketvaltozos (biner) m uveletnek nevezz uk, es az (a, b) elempar kepet a b-vel
jelolj uk.
Mas szoval ketvaltozos (biner) m uveletet denialunk, ha a G halmaz tetszo-
leges ket a, b elemenek egyertelm uen megfeleltet unk egy, ugyancsak a G hal-
mazhoz tartozo, c = a b elemet.
Az alapm uveletet m uveletnek, vagy ha az (a, b) elempar kepet a b-vel
jelolj uk, akkor szorzasnak, illetve ha (a, b) kepe a + b, akkor osszeadasnak
nevezhetj uk.
1.2. Dencio. Csoportnak nevez unk egy olyan nem ures G halmazt, ame-
lyen denialva van egy ketvaltozos m uvelet, es teljes ulnek a kovetkezo fel-
tetelek:
1. a m uvelet asszociatv;
2. a G halmaz rendelkezik un. neutralis elemmel, azaz van olyan e eleme,
hogy a G halmaz barmely a elemere e a = a e = a teljes ul;
5
6
3. 3. a G halmaz barmely a elemehez hozzarendelheto egy olyan b G-beli
elem, hogy a b = b a = e. A b elemet az a elem inverzenek nevezz uk,
es a
1
-gyel jelolj uk.
1.3. Dencio. Ha a csoportm uvelet kommutatv, azaz G minden a, b elem-
parjara a b = b a teljes ul, akkor a csoportot kommutatv csoportnak vagy
Abel-csoportnak nevezz uk.
1.4. Dencio. Legyenek + es ketvaltozos m uveletek az R halmazon, ame-
lyeket osszeadasnak, illetve szorzasnak nevez unk. Az R halmaz gy ur u, ha a
kovetkezo feltetelek teljes ulnek:
1. (R, +) Abel-csoport;
2. a szorzas az osszeadasra nezve disztributv, azaz
(a +b) c = a c +b c es c (a +b) = c a +c b
tetszoleges a, b, c R eseten;
3. R tetszoleges a, b es c elemeire teljes ul, hogy (a b) c = a (b c), azaz
a szorzas asszociatv m uvelet. A tovabbiakban az R gy ur un ertelmezett
m uveletek jelolesenek rogztesere az elobb denialt gy ur ut (R, +, )-al
jelolj uk. Ha nem adjuk meg a m uveleteket, akkor azok mindig az osszea-
das es szorzas lesznek.
1.5. Dencio. Az R gy ur ut egysegelemes gy ur unek nevezz uk, ha tartalmaz
olyan 1-gyel jelolt elemet, hogy
a 1 = 1 a = a
tetszoleges a R eseten.
1.6. Dencio. Az R gy ur ut kommutatv gy ur unek nevezz uk, ha tetszoleges
a es b elemeire teljes ul, hogy a b = b a, azaz a szorzas kommutatv m uvelet.
A gy ur uk altal anosabb denici ojan al nem szokt ak feltetelezni az asszo-
ciatv tulajdonsagot. Az altalunk vizsg alt gy ur uk mind asszociatvak lesznek.
Mivel (R, +) Abel-csoport, ezert van neutralis eleme, amelyet az R gy ur u
nullelemenek (r oviden nullanak) nevez unk, s ennek megfeleloen jel ol unk.
1.7. Dencio. Legyen L az R gy ur unek egy reszhalmaza. Ha L ugyanazon
m uveletekre nezve, amelyek denialva vannak R-ben, gy ur ut alkot, akkor L-et
az R gy ur u reszgy ur ujenek nevezz uk.
7
1.8. Dencio. Az R gy ur u nullatol k ulonbozo a elemet bal nullosztonak
nevezz uk, ha letezik olyan nullatol k ulonbozo b elem, hogy ab = 0. Hasonloan
denialjuk a jobb nulloszto fogalmat.
Ha az R gy ur u nem tartalmaz sem bal sem jobb nullosztot, akkor nullosz-
tomentesnek nevezz uk.
1.9. Dencio. A kommutatv, egysegelemes es nullosztomentes gy ur ut in-
tegritasi tartomanynak nevezz uk.
Egy tetszoleges K test feletti egyv altoz os polinomok halmaza, amit K[x]-
el jelol unk, integrit asi tartom anyt alkot.
1.10. Dencio. Legyen I az R gy ur u reszgy ur uje. Ekkor I-t az R gy ur u
idealjanak nevezz uk, ha I zart balrol es jobbrol a szorzasra nezve az R gy ur u
barmely elemevel, azaz a i I es i a I tetszoleges a R, i I eseten.
1.11. Dencio. Ha M az R gy ur u reszhalmaza es I a legsz ukebb ideal,
amely tartalmazza az M reszhalmazt, akkor I-et az M altal generalt idealnak,
M-et pedig I generatorrendszerenek nevezz uk.
Ha az I ide alnak van egy elemb ol allo generatorrendszere, akkor I-t
foidealnak nevezz uk. Ha egy gy ur u minden idealja foide al, akkor azt foideal-
gy ur unek nevezz uk. Az a elemmel generalt I f oidealt (a)-val jel olj uk.
Kommutatv egysegelemes R gy ur u eseten nyilvanval oan (a) = Ra =
{r a | r R}.
1.1. Tetel. Az egesz szamok Z gy ur uje csak foidealt tartalmaz.
Bizonytas: A {0} egyelem u halmaz foide al; tekints unk egy I(= {0}) ide alt.
Ha x az I ide al eleme, nyilvanvaloan akkor x I, tehat I-ben van legkisebb
m pozitv egesz szam, es (m) I. Ha x I, akkor x = m q + r valamely
q, r Z es 0 r < m eseten. Mivel
r = x m q I,
ezert r = 0 az m elem kivalaszt asa miatt, teh at I = (m).
Az eloz o tetel bizonytas anak m odszere polinomgy ur ukre is alkalmazha-
t o, tehat ugyan ugy bebizonythato, hogy a K test feletti K[x] polinomgy ur u
f oidealgy ur u.
1.12. Dencio. Egy egysegelemes gy ur ut ferdetestnek nevez unk, ha barmely
nullatol k ulonbozo elemenek van multiplikatv inverze. Egy kommutatv fer-
detestet testnek nevez unk.
8
1.1. Lemma. Minden F test nullosztomentes.
Bizonytas: Ha lenne az F testben a, b F, ugy, hogy a b = 0 es a, b = 0,
akkor 0 = a
1
0 = a
1
(a b) = (a
1
a) b = b, ami ellentmond as.
Ket maradekoszt aly osszegen a ket oszt alybol vett egy-egy elem ossze-
ge altal reprezentalt osztalyt, hasonloan, ket maradekoszt aly szorzatan a
ket oszt alybol vett egy-egy elem szorzata altal reprezent alt oszt alyt ertj uk.
K onnyen bel athato, hogy az eredmeny egyik m uvelet eseten sem f ugg az
oszt alyokb ol kiv alasztott elemektol.
Jel olj uk a maradekoszt alyok halmaz at Z
n
-el. A Z
n
gy ur u, es ha (n)-nel
jel olj uk az n Z
+
t obbszor oseit, akkor elemei :

0 = 0 + (n),

1 = 1 + (n),

2 = 2 + (n), . . . , n 1 = n 1 + (n),
amelyek k oz ott az osszead ast es a szorz ast a kovetkezokeppen deni aljuk:
a +

b = a +b, a

b = ab.
Peldaul Z
8
-ban az osszead as m uveletenek eredmenyet a kovetkezo un.
Cayley-tabla szerint szamoljuk:
+

0

1

2

3

4

5

6

7

0

0

1

2

3

4

5

6

7

1

1

2

3

4

5

6

7

0

2

2

3

4

5

6

7

0

1

3

3

4

5

6

7

0

1

2

4

4

5

6

7

0

1

2

3

5

5

6

7

0

1

2

3

4

6

6

7

0

1

2

3

4

5

7

7

0

1

2

3

4

5

6
,
A szorzot abl ank pedig a k ovetkezo:


0

1

2

3

4

5

6

7

0

0

0

0

0

0

0

0

0

1

0

1

2

3

4

5

6

7

2

0

2

4

6

0

2

4

6

3

0

3

6

1

4

7

2

5

4

0

4

0

4

0

4

0

4

5

0

5

2

7

4

1

6

3

6

0

6

4

2

0

6

4

2

7

0

7

6

5

4

3

2

1
9
1.2. Tetel. Minden F veges integritasi tartomany test.
Bizonytas: Legyenek az F null atol k ulonb oz o elemei 1 =
1
,
2
, . . . ,
n
. Ha
ezek k oz ul kiv alasztjuk valamelyiket, es azt -val jel olj uk, akkor kepezve a

1
,
2
, . . . ,
n
elemeket, ezek p aronkent k ul onb ozoek lesznek, k ul onben
valamilyen i = j-re
i
=
j
lenne, s ebb ol (
i

j
) = 0 k ovetkezne,
ami ellentmondana a nullosztomentessegnek.

Igy
{
1
,
2
, . . . ,
q1
} = {
1
,
2
, . . . ,
q1
},
s ebb ol
i
= 1 valamilyen i-re, tehat minden elemnek van multip-
likatv inverze.
1.3. Tetel. Z
n
akkor es csakis akkor test, ha n prmszam.
Bizonytas: Ha n nem prmsz am, akkor van egy nem trivi alis n = ab fel-
bont asa. Ha | a |, | b |< n, es a-val jel olj uk a modulo p a-val kongruens
egesz szamok halmazat, akkor a, b = 0, mik ozben ab = 0, es Z
n
tartalmazna
nulloszt ot, tehat nem test.
Megfordtva: ha n = p prmszam, akkor letezik multiplikatv inverze
minden null atol k ul onboz o a Z
n
elemnek, ugyanis az xn + ya = 1 egesz
egy utthatos egyenlet az x, y v altozokra egyertelm uen megoldhato, teh at ya
1 (mod n), es y = a
1
.

Igy Z
p
test.
Peldaul Z
2
es Z
5
veges testek, de Z
9
nem az, mivel

3-nak nincs multip-
likatv inverze Z
9
-ben. A p
n
elem u veges testeket GF(p
n
)-vel jelolj uk, ahol a
GF a Galois Field r ovidtese.
1.13. Dencio. Az F test karakterisztikaja az a legkisebb m termeszetes
szam, melyre
m1 =
m

i=1
1 = 1 + 1 +. . . + 1 = 0,
ahol 1 F a test egysegeleme, es az osszegzes a testbeli osszeadas. Ha
nem letezik ilyen m szam, akkor azt mondjuk, hogy a test karakterisztikaja 0.
Az F test karakterisztik aj at char(F)-el jelolj uk.
1.1. Pelda. A (Z
3
, +, ) gy ur u karakterisztikaja 3; (Z
4
, +, ) karakter-
isztikaja 4; a (Z
n
, +, ) karakterisztikaja n.
A (Z, +, ) es (Q, +, ) gy ur uk karakterisztikaja 0.
10
Ha a gy ur u vegtelen sok elemet tartalmaz, akkor is lehet pozitv karakte-
risztikaja. Pl. Z
3
[x], altalaban vegtelen gy ur u, a karakterisztikaja pedig
3.
Arra a kerdesre, mennyi egy veges test karakterisztikaja, a k ovetkez o tetel
ad valaszt:
1.4. Tetel. Ha az (F, +, ) test karakterisztikaja nem nulla, akkor csak prm-
szam lehet.
Bizonytas: A bizonytasban F egysegelemet 1-el jelolj uk, ami k ulonbozik
a pozitv egesz 1-t ol. Legyen char(F) = n > 0. Ha n nem prm, akkor
n = m k, ahol m, k Z
+
, es 1 < m, k < n. A karakterisztika denici oja
alapjan n 1 = 0, ahol 0 az F zeruseleme. Ennelfogva (m k) 1 = 0, de
(m)1 = 1 + 1 +. . . + 1 = (1 + 1 +. . . + 1) (1 + 1 +. . . + 1) = (m 1) (k1).
Ha (m 1) (k 1) = 0, akkor vagy (m 1) = 0 vagy (k 1) = 0. Ez
ellentmond as, kovetkezeskeppen char(F) prm.
(A tetel bizonytas an al valoj aban eleg, ha F csak integrit asi tartom any.)
Ha F egy p karakterisztikaj u test, akkor F-ben van egy p-elem u resztest,
amelynek elemei:
1, 1 + 1, 1 + 1 + 1, . . . ,
p

i=1
1 = 0.
Ezek az elemek mind k ulonboz oek, a szorz asra es az osszead asra nezve
z art halmazt alkotnak, valamint a null at ol k ulonboz o elemeknek letezik ad-
ditv es multiplikatv inverz uk. Ez a resztest izomorf Z
p
-vel, gy mondhatjuk,
hogy minden veges, p karakterisztikaj u test Z
p
-t resztestkent tartalmazza
Z
p
-t az F prmtestenek nevezz uk.
A veges testekben a binomi alis tetel a k ovetkezo:
1.2. Lemma. Ha , F, es F egy p karakterisztikaj u test, akkor
( +)
p
=
p
+
p
.
Bizonytas: A binomialis tetel szerint
( +)
p
=
p

i=0
_
p
i
_

pi

i
=
_
p
0
_

p
+
p1

i=1
_
p
i
_

pi

i
+
_
p
p
_

p
.
11
Mivel a
_
p
i
_
egy utthatok oszthat ok p-vel, ha 1 i p 1, ezert az
osszegben az els o es utols o tag kivetelevel minden tag egyenl o nullaval
megkaptuk az allt ast.
1.14. Dencio. Egy F test feletti n-edfok u f(x) polinomot irreducibilis poli-
nomnak nevez unk az F test felett, ha f(x) barmely f(x) = h(x)g(x) fel-
bontasaban az egyik tenyezo 0-adfok u, a masik n-edfok u.
Fontos megjegyezni, hogy egy polinom irreducibilis volt ar ol csak valamely
adott F testre vonatkozoan beszelhet unk. Elofordulhat, hogy egy adott poli-
nom valamely F test felett irreducibilis, de egy F-et tartalmaz o b ovebb test-
ben m ar nem az. Peldaul, az x
2
+1 polinom R felett irreducibilis, de C felett
m ar (x +i)(x i) alakba rhat o.
1.5. Tetel. Legyen F tetszoleges test, p prmszam, es f(x) F[x] egy irre-
ducibilis m-edfok u polinom. Ekkor a F[x]/((f(x)) faktorgy ur u test.
Bizonytas: A tetel kovetkezmenye az 1.2 tetelnek, ugyanis a tetelben adott
esetben a faktorgy ur u veges integrit asi tartom any. Ha F = Z
p
, akkor egy p
m
elem u testet kapunk.
1.2. Pelda. Nyilvanvaloan az x
2
+x+1 polinomnak a ketelem u Z
2
= {

0,

1}
testben nincs gyoke, tehat irreducibilis, es a Z
2
[z]/(z
2
+ z + 1) faktorgy ur u
egy negyelem u test. Legyen I = (z
2
+ z + 1), ahol (z
2
+ z + 1) jeloli a Z
2
feletti f(z) = z
2
+ z + 1 polinom tobbszoroseit. Ekkor a Z
2
[z]/I faktorgy ur u
eleme egyertelm uen felrhato a
1
+ a
2
z + I alakban, ahol a
1
, a
2
Z
2
. A test
elemei:

0 = 0 +I,

1 = 1 +I, z = z +I es 1 +z = 1 +z +I. A Z
2
[z]/I test-
ben az osszeadas es a szorzas m uveletek eredmenyeit a kovetkezo tablazatok
segtsegevel szamolhatjuk ki:
+

0

1 z 1 +z

0

0

1 z 1 +z

1

1

0 1 +z z
z z 1 +z

0

1
1 +z 1 +z z

1

0


0

1 z 1 +z

0

0

0

0

0

1

0

1 z 1 +z
z

0 z 1 +z

1
1 +z

0 1 +z

1 z
12
Jel olje F

az F test null atol k ul onb oz o elemeinek halmaz at.


1.15. Dencio. Az F

egy elemet primitvnek nevezz uk, ha az F test


minden nem nulla eleme egyertelm uen felrhato valamely pozitv kitevos
hatvanyakent.
1.3. Pelda. Most konstrualjunk egy 9 elem u testet az f(x) = 1 +x
2
Z
3
[x]
irreducibilis polinom segtsegevel.
F = {

0,

1,

2, z, 2z, 1 +z, 1 + 2z, 2 +z, 2 + 2z}.


A testben ket elem osszeget a maradekosztalyok reprezentansainak osszege
hatarozza meg, peldaul:
2 +z + 2 + 2z = (2 +z) + (2 + 2z) = 4 + 3z = 1.
A szorzotabla elkesztesenel gyelembe kell venni a z
2
+ 1 = 0 egyenloseget,
ezert z
2
= 1 = 2. Peldaul:
2z 1 +z = (2z)(1 +z) = 2z + 4 = 2z + 1.
A szorzas m uveletet a kovetkezo t ablazat adja meg:


0

1 2 z 2z 1 +z 2 +z 1 + 2z 2 + 2z

0

0

0

0

0 0 0 0 0 0

1

0

1

2 z 2z 1 +z 2 +z 1 + 2z 2 + 2z

2

0

2

1 2z z 2 + 2z 1 + 2z 2 +z 1 +z
z

0 z 2z 2 1 z + 2 2 + 2z 1 +z 1 + 2z
2z

0 2z z 1 2 1 + 2z 1 +z 2 + 2z 2 +z
1 +z

0 1 +z 2 + 2z 2 +z 1 + 2z 2z 1 2 z
2 +z

0 2 +z 1 + 2z 2 + 2z 1 +z 1 z 2z 2
1 + 2z

0 1 + 2z 2 +z 1 +z 2 + 2z 2 2z x 1
2 + 2z

0 2 + 2z 1 +z 1 + 2z 2 +z z 2 1 2z
Most bel atjuk, hogy a test tartalmaz primitv elemet, es ennek hatvanyai
el oalltj ak a 9-elem u test osszes nem nulla elemet. Ha = 1 +z, akkor

0
= (1 +z)
0
= 1
4
= (1 +z)
4
= 2
1
= (1 +z)
1
= 1 +z

5
= (1 +z)
5
= 2 + 2z
2
= (1 +z)
2
= 2z
6
= (1 +z)
6
= z

3
= (1 +z)
3
= 1 + 2z
7
= (1 +z)
4
= 2 +z
8
= 1.
13
A GF(q) test tetszoleges, null atol k ul onb oz o elemenek hatv anyai cso-
portot alkotnak, amit az elem altal generalt ciklikus csoportnak nevez unk.
Ennek a ciklikus csoportnak az elemsz ama az adott elem rendje, teh at egy
elem rendje az a legkisebb pozitv t egesz szam, melyre
t
= 1. Ezt a szamot
O()-val jel olj uk.
1.4. Pelda. A 1.4-es peldaban a GF(9)-ben O(1 +z) = 8 es O(z) = 4.
Legyen az F test valamely null at ol k ul onboz o eleme, es t = O() ennek
a rendje. A csoportelmeleti Lagrange-tetel (mely szerint egy veges csoport
b armely reszcsoportj anak rendje osztoja a csoport rendjenek) k ovetkezmenye,
hogy t osztja q 1-et, ahol q a test elemeinek szama.

Igy a test minden
null at ol k ul onb ozo elemere teljes ul, hogy a
q1
= 1, s ezt az egyel oseget
-val szorozva kapjuk a kovetkezo allt ast:
1.6. Tetel. Ha az F test egy q elem u veges test, akkor a test minden
elemere teljes ul
q
= , tehat F minden eleme gyoke az f(x) = x
q
x
polinomnak.
A veges testek feleptesenek viszonylagos egyszer useget mutatja a k ovetke-
z o alltas:
1.7. Tetel. A GF(q) nullatol k ulonbozo elemei a szorzasra nezve ciklikus
csoportot alkotnak.
Bizonytas: Feltehetj uk, hogy q > 3. Legyen h = q 1 = p
r
1
1
. . . p
r
m
m
a
q 1 prmtenyezos felbont asa. Tudjuk, hogy minden i-re 1 i m az
x
h/p
i
1 polinomnak legfeljebb h/p
i
gy oke van az F-ben, s ebb ol h/p
i
< h
miatt vannak az F-nek olyan elemei, melyek nem gyokei ennek a polinomnak.
Legyen
i
egy ilyen elem; s tegy uk fel, hogy
i
=
h/p
r
i
i
i
. Ekkor
p
r
i
i
i
= 1,
amib ol k ovetkezik, hogy az
i
elem rendje p
r
i
i
oszt oja, tehat az p
s
i
i
alak u,
ahol 0 s
i
r
i
. De

p
r
i
1
i
i
=
h/p
i
i
= 0,
gy
i
rendje p
r
i
i
. Megmutatjuk, hogy az =
1

2
. . .
m
elem rendje h. Ha
ez nem lenne igaz, akkor rendje h val odi osztoja, teh at a h/p
i
( 1 i m)
sz amok valamelyikenek oszt oja volna. Az altalanoss ag megszortasa nelk ul
feltehetj uk, hogy i = 1. Ekkor
1 =
h/p
1
=
h/p
1
1

h/p
1
2
. . .
h/p
1
m
.
Ha 2 i m, akkor p
r
i
i
osztja a h/p
1
-et, mikozben
h/p
1
i
= 1. Ezert
h/p
1
1
=
1. Ez azt jelenti, hogy
1
rendje, azaz p
r
1
1
a h/p
1
oszt oja kell legyen, s ez nem
14
lehetseges. Tehat azt kaptuk, hogy F

az elemmel gener alhato ciklikus


csoport.
Az eloz o alltast meg lehet fogalmazni a k ovetkez okeppen is:
1.8. Tetel. Minden F = GF(q) testben letezik primitv elem.
A test denici oja alapjan F egy vektorternek is tekinhet o Z
p
felett. Ekkor
az F elemeit Z
p
feletti vektoroknak fogjuk fel. Mivel az F veges, ezert az
F-nek mint vektorternek veges dimenzi osnak kell lennie Z
p
felett. Ha ez a
dimenzi o n, akkor azt mondjuk, hogy az F test a Z
p
test n-edfok u bovtese.
Ekkor letezni uk kell az F testnek olyan {
1
,
2
, . . . ,
n
} line arisan f uggetlen
elemei, amelyek F-nek mint Z
p
feletti vektorternek egy bazis at alkotj ak, s
emiatt F elemei

n
i=1

i
alak uak, ahol
i
Z
p
. Teh at egy adott b azist
r ogztve, a test elemeit reprezent alhatjuk a Z
p
feletti (
1
,
2
, . . . ,
n
) alak u
Z
p
feletti n-dimenzi os vektorokkal, s minden ilyen vektorhoz egyertelm uen
hozz a lehet rendelni egy F test feletti elemet. Ebb ol kovetkezik:
1.9. Tetel. Minden veges test elemeinek szama p
n
, ahol p prm, es n Z
+
.
Ha az F test a Z
p
test n-edfok u bovtese, es primitv eleme az F-nek,
akkor be lehet l atni, hogy nem gyoke egyetlen n-nel alacsonyabb fok u Z
p
feletti polinomnak sem az azt deni alo irreducibilis polinom n-edfok u.
Tehat az F testnek, mint vektorternek
B = {1, ,
2
, . . . ,
n1
}
b azisa.
Az eloz oeket felhaszn alva tetszoleges F-beli r elem r =

n1
i=0
b
i

i
alak u,
ahol b
i
Z
p
, az F elemeit gyakran (b
0
b
1
b
2
. . . b
n1
) alakban adjuk meg, amely
a b
0
+b
1
+b
2

2
+. . . +b
n1

n1
elemet reprezent alja.
1.16. Dencio. Egy f(x) K[x] polinom felbontasi testenek nevezz uk azt
a legsz ukebb F testet, amelyben az f(x) linearis tenyezok szorzatara bomlik.
Algebr abol ismert a felbontasi test k ovetkez o tulajdonsaga, ezert bizony-
t as nelk ul k ozolj uk.
1.10. Tetel. Egy adott K test felett barmely nem-konstans polinomnak van
felbontasi teste, s ez izomora erejeig egyertelm uen meghatarozott.
1.11. Tetel. Minden p prmszamhoz, es k termeszetes szamhoz letezik p
k
elem u test. Minden q = p
k
elem u veges test a GF(p) feletti x
q
x polinom
felbontasi testevel izomorf.
15
Bizonytas: Vegy uk a GF(p) feletti x
q
x polinomot, s legyen F ennek a
felbont asi teste.
Az x
p
k
x polinom deriv altja 1 a p elem u test felett, teh at az x
p
k
x
polinom relatv prm a deriv altjaval. Mint ismert, ekkor x
p
k
x-nek nincsenek
t obbszor os gyokei, es gy k ul onb ozo gy okeinek a sz ama p
k
.
Legyen S = { F |
q
= 0}. Ekkor S az F test reszteste, mivel
(i) S-nek eleme az 1 es a 0, (ii) ha a, b S, akkor az 1.2 lemmat felhaszn alva
(a b)
q
= a
q
b
q
= a b, s ez azt jelenti, hogy a b S, (iii) ha a, b S,
es b = 0, akkor (ab
1
)
q
= a
q
b
q
= ab
1
, teh at ab
1
S.
K onnyen bel athato, hogy ez ekvivalens azzal, hogy az x
p
k
x polinom
gy okei a GF(q) testben resztestet alkotnak, tehat S = F, mivel S elemeinek
sz ama q. Igazoltuk, hogy egyetlen p
k
elem u test van, megpedig az GF(p)
feletti x
p
k
x polinom zerushelyei altal alkotott test. A test egyertelm usege
k ovetkezik az x
q
x felbont asi testenek egyertelm usegeb ol.
Az eloz o tetelb ol kapjuk:
1.1. K ovetkezmeny. Ha F egy q elem u veges test, akkor az GF(q)[x]-beli
x
q
x polinom a GF(q) felett a kovetkezokeppen bonthato fel:
x
q
x =

F
(x ).
1.17. Dencio. Legyen F egy p karakterisztikaj u veges test, es F

. Az
denialo polinomjanak nevezz uk azt a legalacsonyabbfok u GF(p) egy uttha-
tos m(x) un. fopolinomot (olyan polinomot, melyben a legmagasabb fok u tag
egy utthatoja 1), melynek gyoke.
A denial o polinom denciojab ol egyszer uen kapjuk a k ovetkez ot:
Legyen az F veges test a GF(q) egy b ovtese. Ekkor
Az = 0 F-beli elem deni alo polinomja egyertelm uen meghatarozott.
Az deni alo polinomja irreducibilis polinom a GF(q)-ben.
1.18. Dencio. Legyen GF(q) egy p karakterisztikaj u test, es az F
elemre legyen m az a legkisebb pozitv szam, melyre
q
m
= . Ekkor a F-ben
-hoz konjugalt elemek halmazan a
C() = {,
q
,
q
2
, . . . ,
q
m1
}
halmazt ertj uk.
16
1.12. Tetel. Legyen GF(q) egy p karakterisztikaj u test, F

. Legyen C()
az -hoz konjugalt halmaz a F-ben. Ekkor az GF(q) feletti m

(x) denialo
polinomjara
m

(x) =

C()
(x ).
Bizonytas: Legyen az f(x) =

C()
(x ) polinomra f(x) =

k
i=0
m
i
x
i
.
El oszor megjegyezz uk, hogy
f(x)
q
=

C()
(x )
q
=

C()
(x
q

q
) =
=

C()
(x
q
) =
k

i=0
m
i
x
iq
= f(x
q
).
A masodik egyenl oseg k ovetkezik az 1.2 lemm abol, es a harmadik abb ol,
hogy
{ | C()} = {
q
| C()}.
Emellett megjegyezz uk, hogy
f(x)
q
=
k

i=0
(m
i
x
i
)
q
=
k

i=0
m
q
i
x
iq
.
Mivel m
i
= m
q
i
, az 1.10 tetelb ol kovetkezik, hogy m
i
GF(q)[x], ha 0 i
k, teh at az f(x) polinom egy utthat oi a GF(q)-ben vannak.
Tegy uk fel, hogy m

(x) =

m
i=0
m
i
x
i
, ahol m
i
GF(q), a legalacsonyabb
fok u 1 f oegy utthat os polinom, melynek gy oke az .
Mivel m

() = 0, s
q
szinten gyok, mert
m

(
q
) =
m

i=0
m
i

qi
=
m

i=0
m
p
i

qi
= [
m

i=0
m
i

i
]
q
= [m

()]
q
= 0,
kaptuk, hogy az m

(x) polinomnak C() minden eleme gy oke.


(K ozben kihaszn altuk, hogy m
q
i
= m
i
, mert m
i
GF(q)[x].)

Igy
f(x) = m

(x) =

C()
(x ),
s abb ol, hogy ez a legalacsonyabbfok u ilyen tulajdons ag u f opolinom, k ovetkezik,
hogy m

(x) irreducibilis.
A test primitv elemere alkalmazva a tetelt, kapjuk:
17
1.2. K ovetkezmeny. Az F

primitv elemenek m

(x) denialo polinomjara


m

(x) =

C()
(x ).
1.5. Pelda. Tekints uk a GF(2) bovteseit: A Z
2
feletti x
3
+x+1 polinom ir-
reducibilis, es GF(2
3
) elemei 0, 1, z, 1 +z, z +z
2
, z
2
, 1 +z
2
, 1 +z +z
2
. Mivel
z
3
+z + 1 = 0, ezert z
3
= z 1 = z + 1.

Igy peldaul az 1 +z
2
es 1 +z
elemek szorzata
1 +z
2
+z +z
3
= 1 +z
2
+z + (z + 1) = z
2
.
Az a
0
+a
1
z +a
2
z
2
elemet kenyelmesebben (a
0
a
1
a
2
)-vel jelolj uk, tehat az egy utt-
hatokat az alacsonyabbfok u tagtol kezdve rjuk. Ezzel a jelolessel:
0 = (000) 1 = (100) z = (010) 1 +z = (110)
z
2
= (001) 1 +z
2
= (101) z +z
2
= (011) 1 +z +z
2
= (111)
Ha = z-t vesz unk, akkor konny u eszrevenni, hogy az F primitv eleme,
de nem minden esetben lesz primitv elem a z osztaly; lasd az 1.4 peldat.
Legyen = (101) es hatarozzuk meg m

(x)-et. A felreertesek elker ulese


erdekeben a polinom valtozoj at y-al jeloljuk.
Az 1.12 tetelt hasznalva
m

(y) =

C()
(y ) = (y )(y
2
)(y
4
),
mivel
8
= , s
(y )(y
2
)(y
4
) = y
3
+( +
2
+
4
)y
2
+(
2
+
4
+
2

4
)y +
2

4
.
Hogy a szorzast k onnyebbe tegy uk, a test elemeit = z hatv anyaikent
alltjuk el o.

0
= (100)
1
= (010)
2
= (001)
3
= (110)

4
= (011)
5
= (111)
6
= (101)
7
=
0
= 1.
1.1 tabl azat
=
6
-b ol kapjuk, hogy
2
=
12
=
5
, es
4
=
24
=
3
. Az
kitev ojevel modulo 7 kell sz amolnunk.
+
2
+
4
=
6
+
5
+
3
= (101) + (111) + (110) = (100) = 1, s
18

2
+
4
+
2

4
=
3
+
5
+
6
=
18
+
30
+
36
=
4
+
2
+ = 0,

4
=
7
=
42
= 1.

Igy m

(y) = y
3
+y
2
+ 1.
Ez a polinom deni al o polinomja
2
-nek es
4
-nek. Az deni alo poli-
nomja pedig deni al o polinomja
2
-nek es
4
-nek is:
m

(y) = y
3
+y + 1.
1.6. Pelda. Nezz uk az F = GF(2
4
) konstrukciojat. A Z
2
feletti f(x) =
x
4
+ x + 1 polinom irreducibilis. Ebben az esetben = z a test primitv
eleme.

0
= (1000)
1
= (0100)
2
= (0010)
3
= (0001)

4
= (1100)
5
= (0110)
6
= (0011)
7
= (1101)

8
= (1010)
9
= (0101)
10
= (1110)
11
= (0111)

12
= (1111)
13
= (1011)
14
= (1001)
15
=
0
= 1.
1.2 tablazat
Ha m
i
(y) jeloli az m

i (y) denialo polinomjat, akkor


m
1
(y) = y
4
+y + 1 = m
2
(y) = m
4
(y) = m
8
(y),
m
3
(y) = y
4
+y
3
+y
2
+y + 1 = m
6
(y) = m
12
(y) = m
9
(y),
m
5
(y) = y
2
+y + 1 = m
10
(y),
m
7
(y) = y
4
+y
3
+ 1 = m
14
(y) = m
13
(y) = m
11
(y),
m
0
(y) = y + 1.
Vegy uk az F = GF(2
4
) egy m asik konstrukci oj at: v alasszunk ki egy
m asik irreducibilis negyedfok u polinomot GF(2) felett.
A Z
2
feletti f(x) = x
4
+x
3
+x
2
+x + 1 polinom irreducibilis. Ebben az
esetben = z nem primitv eleme az F-nek, hanem az = z + 1 primitv
elemet kell venni. A test elemei:

0
= (1000)
1
= (1100)
2
= (1010)
3
= (1111)

4
= (0111)
5
= (1011)
6
= (0001)
7
= (1110)

8
= (1001)
9
= (0010)
10
= (0011)
11
= (1101)

12
= (0100)
13
= (0110)
14
= (0101)
15
=
0
= 1.
1.3 tabl azat
A denial o polinomok:
19
m
1
(y) = y
4
+y + 1,
m
3
(y) = y
4
+y
3
+y
2
+y + 1,
m
5
(y) = y
2
+y + 1,
m
7
(y) = y
4
+y
3
+ 1.
Megjegyezz uk, hogy a denial o polinomok az el ozo ket peldaban megegyeznek,
annak ellenere, hogy m asik irreducibilis polinom szerinti faktorgy ur ut vett unk.
Ez nem veletlen egybeeses, ugyanis a ket test izomorf , tehat letezik koz ott uk
k olcson osen egyertelm u m uvelettarto lekepezes.
1.7. Pelda. Konstrualjuk meg a 9- elem u testet a GF(3) felett irreducibilis
f(x) = x
2
+x + 2 polinom segtsegevel. Ha a primitv elem, akkor

0
= (10)
1
= (01)
2
= (12)
3
= (22)

4
= (20)
5
= (02)
6
= (21)
7
= (11)

8
=
0
= 1.
Vegy uk eszre, hogy Z
3
-ban 1 = 2. A denialo polinomok pedig:
m
1
(y) = (y )(y
3
) = y
2
(
3
+)y +
4
= y
2
+y + 2 = m
3
(y),
m
2
(y) = (y
2
)(y
6
) = y
2
(
2
+
6
)y + 1 = y
2
+ 1 = m
6
(y),
m
4
(y) = (y
4
) = y + 1,
m
5
(y) = (y
5
)(y
7
) = y
2
(
5
+
7
)y +
4
= y
2
y + 1 = m
7
(y),
m
0
(y) = y 1.
1.8. Pelda. Konstrualjuk meg a 2
5
-elem u F testet a GF(2) felett irreducibilis
f(x) = x
5
+x
2
+1 polinom segtsegevel. Ha az F test primitv eleme, akkor
F elemeit olyan (b
0
b
1
b
2
b
3
b
4
) alakban adjuk meg, amelyek a b
0
+b
1
+b
2

2
+
b
3

3
+b
4

4
elemeket reprezentaljak (b
i
GF(2), 0 i 4-re).

i
i
i
i
i
i
i
i
(00000) (00101) 7 (11111) 15 (11110) 23
(10000) 0 (10110) 8 (11011) 14 (01111) 24
(01000) 1 (01011) 9 (11001) 17 (10011) 25
(00100) 2 (10001) 10 (11000) 18 (11101) 26
(00010) 3 (11100) 11 (01100) 19 (11010) 27
(00001) 4 (01110) 12 (00110) 20 (01101) 28
(10100) 5 (00111) 13 (00011) 21 (10010) 29
(01010) 6 (10111) 14 (10101) 22 (01001) 30
1.4 tablazat
20
A denialo polinomok a kovetkezok:
m
0
(x) = 1 +x m
1
(x) = 1 + x
2
+ x
5
m
3
(x) = 1 +x
2
+x
3
+x
4
+x
5
m
5
(x) = 1 + x + x
2
+ x
4
+ x
5
m
7
(x) = 1 +x +x
2
+x
3
+x
5
m
11
(x) = 1 +x +x
3
+x
4
+x
5
m
15
(x) = 1 +x
3
+x
5
.
1.1.2. Az x
n
1 polinom felbontasa GF(q) felett.
Mint kesobb l atni fogjuk, az x
n
1 polinom felbontasa k ul onosen fontos a
ciklikus kodok eseteben.
Ha F az x
n
1 GF(q)[x] polinom egy gy oke, akkor
n
= 1, es -t
n-edik egyseggyoknek nevezz uk.
Ha rendje n, teh at
n1
= 1, es
n
= 1, akkor -t primitv n-edik
egyseggyoknek nevezz uk.
1.19. Dencio. Legyenek q, n es i rogztett egesz szamok, 0 i n 1, a
q i-t tartalmazo C
i
korosztasi osztalya modulo n, ha
C
i
= {i, iq, iq
2
, . . . , iq
s1
},
ahol a C
i
halmaz elemeit az n modulus szerint redukalni kell, es s az a
legkisebb egesz szam, melyre iq
s
i mod n.
1.9. Pelda. Ha n = 13, q = 3, akkor
C
1
= {1, 3, 9} = C
3
= C
9
; C
2
= {2, 6, 5} = C
6
= C
5
;
C
4
= {4, 12, 10} = C
10
= C
12
; C
7
= {7, 8, 11} = C
8
= C
11
; C
0
= {0}.
Deni aljunk egy R rel aciot az egeszek halmazan adott olyan n es q-ra,
melyre lk.k.t.(n, q) = 1, ugy, hogy a, b Z-re legyen a ekvivalens b-vel (jelolve
aRb), ha van olyan j, hogy a bq
j
mod n. Ez a rel acio ekvivalenciarel acio,
es az ekvivalenciaosztalyok eppen a k oroszt asi osztalyok mod n. Ez a relaci o
a Z
n
egy osztalyozas at is adja.
Legyen GF(q) egy p karakterisztikaj u test. Legyen n = rp
s
, ahol
lnko(r, q) = 1. Az 1.2 lemma szerint x
n
1 = (x
r
1)
p
s
, teh at x
n
1
felbont asat irreducibilis tenyez okre ismerj uk a GF(q) felett, ha az x
r
1-et
felbontjuk.
Legyen m a legkisebb olyan szam, hogy q
m
1 = kr, es legyen F = GF(q
m
).
Az 1.10 tetelbol tudjuk, hogy az F test minden null at ol k ulonboz o eleme az
x
q
m
1
1 polinom gy oke. A mertani sorozatokra vonatkoz o osszef uggesb ol:
x
r
+x
2r
+. . . +x
kr
=
x
r
(x
kr
1)
x
r
1
.
21
Mivel x
r
1 osztja az x
kr
1 = x
q
m
1
1 polinomot, kovetkezik, hogy x
n
1
minden gy oke az F = GF(q
m
)-ben van, es hogy GF(q
m
) az x
n
1 felbont asi
teste a GF(q) felett.
Ez a feltetel egyszer usthet o ugy, hogy m az a legkisebb pozitv egesz
sz am, melyre iq
m
i mod r. Tehat az m

(x) foka q azon k orosztasi oszt alya


elemeinek sz ama mod n, amely tartalmazza a ki erteket.

Igy az x
n
1
polinomot gy okeit az 1.12 tetelnek megfelel oen a modulo r szerinti koroszt asi
oszt alyait meghatarozva fel tudjuk bontani oszt alyokra ugy, hogy minden
oszt aly x
r
1, s gy az x
n
1 egy-egy irreducibilis tenyezojenek gy okeit
tartalmazza. Igaz tehat a kovetkezo allt as:
1.13. Tetel. Ha f(x) = x
n
1 egy GF(q) feletti polinom, es n = rp
s
, ahol
lnko(r, q) = 1 akkor az f(x) irreducibilis tenyezoinek szama p
s
szerese a q
korosztasi osztalyai szamanak modulo r.
1.10. Pelda. Legyen f(x) = x
15
1 a GF(2) felett. Most n = 15, q =
2, m = 4. Hatarozzuk meg a korosztasi osztalyokat modulo 15:
C
0
= {0}, C
1
= {1, 2, 4, 8}, C
3
= {3, 6, 12, 9},
C
5
= {5, 10}, C
7
= {7, 14, 13, 11}.
Tehat az x
15
1 polinom felbonthato egy elso, egy masod-, es harom darab ne-
gyedfok u irreducibilis polinom szorzatara. Ahogy az 1.7 peldaban, a GF(2
4
)-
et az x
4
+ x + 1 polinom valamely gyokevel generaljuk. Mivel a GF(2
4
)
primitv eleme, egy 15-odik primitv egyseggyok, gy
2

4
es
8
szinten
primitv egyseggyokok.
Az 1.13 tetelt alkalmazva kapjuk, hogy
m

(x) = (x )(x
2
)(x
4
)(x
8
)
az x
15
1 polinom irreducibilis tenyezoje, s ezt kifejtve az 1.2 tablazatot
hasznalva a test elemeivel valo m uvelethez, kapjuk, hogy m

(x) = x
4
+x +1,
ahogy ezt elvartuk. Hasonlo modon hatarozhatjuk meg a tobbi irreducibilis
tenyezot, s kapjuk, hogy:
x
15
1 = (x 1)(x
4
+x + 1)(x
4
+x
3
+ 1)(x
2
+x + 1)(x
4
+x
3
+x
2
+x + 1).
1.1.3. A kiterjesztett euklideszi algoritmus
Most egy a kes obbiekhez fontos eljar ast ismertet unk, mely a hibajavtashoz
sz ukseges.
22
1.20. Dencio. Legyen f(x), g(x) F[x]. A h(x) F[x]-et f(x) es g(x)
legnagyobb kozos osztojanak nevezz uk, ha
h(x) osztja f(x)-et es g(x)-et is, valamint
ha k(x) F[x] es k(x) osztja f(x)-et es g(x)-et is, akkor k(x) osztja
h(x)-et is.
1.14. Tetel (Polinomok euklideszi algoritmusa). Legyen f(x), g(x)
F[x], ahol fok(f(x)) fok(g(x)), es f(x) = 0. Az euklideszi osztast hasznalva
vezess uk be a kovetkezo jelolest:
r
0
(x) = f(x), r
1
(x) = g(x),
f(x) = q
2
(x)g(x) +r
2
(x),
g(x) = q
3
(x)r
2
(x) +r
3
(x),
r
2
(x) = q
4
(x)r
3
(x) +r
4
(x) (1.1)
.
.
.
r
k2
(x) = q
k
(x)r
k1
(x) +r
k
(x),
r
k1
(x) = q
k+1
(x)r
k
(x) +r
k+1
(x),
r
k+1
(x) = 0.
Ekkor r
k
(x), az utolso nem-nulla maradek, az f(x)-nek es g(x)-nek a
legnagyobb kozos osztoja.
Bizonytas: Mivel fok(r
2
(x)) < fok(g(x)) es fok(r
j
(x)) < fok(r
j1
(x)) min-
den j = 2, 3, . . . , k ertekre, el obbut obb veg ul eljutunk egy r
k+1
(x) = 0
maradekhoz. Nyilvanval oan r
k
(x) osztja r
k1
(x)-et es r
k2
(x)-et, es gy
tov abb f(x)-et es g(x)-et.
Megfordtva, ha h(x) osztja f(x)-et es g(x)-et, akkor h(x) osztja r
1
(x)-et,
r
2
(x)-et..., r
j
(x)-et, teh at r
k
(x)-et. Teh at r
k
(x) az f(x) es g(x) legnagyobb
k ozos oszt oja.
Ket polinom legnagyobb koz os oszt oja csak 0-adfok u tenyez ot ol elte-
kintve van egyertelm uen meghat arozva, emiatt a legnagyobb k oz os oszto
f oegy utthat oj at mindig valaszthatjuk 1-nek. Az euklideszi algoritmushoz
hasonl oan kapjuk a ciklikus kodok dek odol asahoz fontos eredmenyt, melyet
kiterjesztett euklideszi algoritmusnak nevez unk:
23
1.15. Tetel. Ha f(x) F[x] es g(x) F[x] legnagyobb kozos osztoja d(x),
es fok(f(x)) fok(g(x)), akkor talalhatok olyan s(x) es t(x) F[x]-beli poli-
nomok, hogy
f(x)t(x) +g(x)s(x) = d(x), (1.2)
s amelyekre s(x) es t(x) foka kisebb, mint f(x) foka.
Bizonytas: Megkonstru aljuk az s(x) es t(x) polinomokat. Legyenek s
0
(x) =
0, t
0
(x) = 1, s
1
(x) = 1, t
1
(x) = 0. Vezess uk be a kovetkezo rekurzv
osszef uggeseket:
s
i
(x) = q
i
(x)s
i1
(x) +s
i2
(x), (1.3)
t
i
(x) = q
i
(x)t
i1
(x) +t
i2
(x). (1.4)
Ekkor
_
s
i
s
i1
t
i
t
i1
_
=
_
s
i1
s
i2
t
i1
t
i2
__
q
i
1
1 0
_
=
=
_
1 0
0 1
__
q
2
1
1 0
_
. . .
_
q
i
1
1 0
_
, (1.5)
es (1.1)-b ol
_
r
i2
r
i1
_
=
_
q
i
1
1 0
__
r
i1
r
i
_
;
_
r
i3
r
i2
_
=
_
q
i1
1
1 0
__
q
i
0
1 0
__
r
i1
r
i
_
,
_
f(x)
g(x)
_
=
_
r
0
r
1
_
=
_
q
2
1
1 0
_
. . .
_
q
i1
1
1 0
__
q
i
1
1 0
__
r
i1
r
i
_
=
=
_
s
i
s
i1
t
i
t
i1
__
r
i1
r
i
_
. (1.6)
A (1.5) jobb oldalanak determinansa (1)
i1
-vel egyenl o, gy i = 1, 2, . . . , k-
ra (1.6)-bol kapjuk, hogy
_
r
i1
r
i
_
= (1)
i1
_
t
i1
s
i1
t
i
s
i
__
r
0
r
1
_
.
Konkretan, ha k-val az 1.13 tetelben szereplo indexet jelolj uk, akkor
d(x) = r
k
(x) = (1)
k1
(t
k
r
0
+s
k
r
1
) = (1)
k1
(t
k
f(x) +s
k
g(x)),
amib ol fok(s
k
) =

k
j=1
fok(q
j
), fok(r
k1
) = fokr
0

k
j=1
fok(q
j
); fok(s
k
) =
fok(r
0
)fok(r
k1
) < fok(r
1
), s ugyangy t
k
fok ara is bel athat o, hogy fok(t
k
) <
fok(r
0
). s
k
(x)-et s(x)-el t
k
(x)-et t(x)-el jelolve kapjuk az allt ast.
24
1.11. Pelda. Legyen s
0
(x) = 0, t
0
(x) = 1, s
1
(x) = 1, t
1
(x) = 0. s
2
=
x + 1, s
3
= x
2
t
2
= 1 t
3
= t + 1, es kapjuk, hogy
(x + 1) = (x + 1)(x
4
+x
3
+x
2
+ 1) +x
2
(x
3
+ 1).
FELADATOK:
1. Keress uk meg a GF(2) es GF(3) feletti osszes 3-adfok u irreducibilis
polinomot.
2. Adjuk meg a 8-elem u test szorzot abl ajat, ha az f(x) = x
3
+ x
2
+ 1
irreducibilis polinomot haszn aljuk a test megad asahoz. Adjuk meg a
test egy primitv elemet.
3. Adjuk meg a 16-elem u test szorz otabl aj at, ha az f(x) = x
4
+ x
3
+ 1
irreducibilis polinomot haszn aljuk a test megad asahoz. Adjuk meg a
test egy primitv elemet.
4. Ha egy 16 elem u testet az x
4
+x + 1 GF(2) feletti polinommal adunk
meg (lasd a 1.7 peld at), hat arozzuk meg a k ovetkez o elemek rendjet:
a) 1, b) = x, c)
4
= 1 +x, d)
5
= x +x
2
, e)
6
= x
2
+x
3
.
5. Legyen az x
5
+x
2
+ 1 GF(2) feletti irreducibilis polinom gyoke.
Hat arozzuk meg a elemet, mint hatv any at, ahol
=
5
+
23
+

2
+
4
1 +
12
.
Oldjuk meg az
3
x
2
+
18
x + 1 = 0 masodfok u egyenlet gy okeit.
Tanacs: Legyen x = ((
18
/
3
)y. Hozzuk az egyenletet ay
2
+ay +
1 = 0 = a(y
2
+y +a
1
) alakra, s y =
i
-t v alasztva, vegy uk eszre,
hogy y
2
+y = y(1 +y) =
i
(1 +
i
).
Oldjuk meg az

7
x
2
+ (
3
+
9
)x +
(1 +)

4
= 0
m asodfok u egyenletet.
6. Bizonytsuk be, hogy egy F test feletti n-edfok u polinomnak legfeljebb
n gy oke lehet az F-ben.
25
7. Bontsuk fel irreducibilis tenyez ok szorzat ara az
a) f
1
(x) = x
9
1 b) f
2
(x) = x
31
1
polinomokat GF(2) felett.
8. Bizonytsuk be, hogy GF(q
k
) egyetlen q
m
elem u resztestet tartalmaz,
ha m osztja k-t.
9. Hat arozzuk meg a k ovetkez o testek resztesteinek szam at:
(a) GF(2
12
),
(b) GF(3
6
),
(c) GF(5
8
).
10. Bizonytsuk be, hogy az 1.15 tetelben szerepl o s(x) es t(x) polinomok
legnagyobb k ozos oszt oja 1.
2. fejezet
Blokk-kodok
Bet unkenti es blokkonkenti forraskodolas
A bet unkenti k odol as sor an az eredeti sz oveget karakterekke bontjuk, ezeket
egy sz otar alapj an k odoljuk, s az gy kapott kodokat az eredeti sorrend-
nek megfeleloen egym ashoz lancoljuk. Amennyiben a kodabece egyelem u,
ketelem u, stb., akkor unaris, bin aris, term aris, stb. k odr ol beszel unk.
Az elk uldend o szoveg karakterenkenti k odolasa kriptogr aai szempontbol
ser ulekeny modszer, mivel gyakoris agvizsg alattal, az adott nyelv es rendszer
feltetelezett ismeretevel k onnyen visszafejthet o.
A blokkonkenti k odolas sor an az elk uldend o uzenet karaktereit blokkon-
kent (azaz adott n N karakterenkent) k odoljuk.

Igy az eredeti uzenet
gyakorisag vizsg alattal sokkal nehezebben fejtheto vissza. Ez a k odol asi
m odszer nem tevesztend o ossze a blokk-k odokkal, melyekrol a kes obbiekben
lesz szo.
A blokkonkenti k odol ast haszn aljak minden komolyabb (peld aul az RSA)
titkosto rendszer eseteben.
A morzeabece
Tipikus pelda a bet unkenti k odolasra a morze abece. 1839-ben alkotta meg
ket kolleg ajaval Samuel Finley Breese Morse amerikai fest o es feltal alo. Tole
sz armazik az elso m ukod okepes tavr oberendezes alapotlete is. A k odrendszer
a bet uket cikkcakjelekke (pontokk a es vonalakka) alaktja, s ezeket tovabbtja.
A forras tehat az angol abece, a kod pedig pontokbol es vonalakb ol (r ovid
es hossz u jelekbol) all. A jelek k oz ott hosszabb sz unetet is tartanak, hogy a
karakterek egym ast ol elv alaszthat oak legyenek.
A kod jellegzetessege, hogy a k odtablazat birtok aban egy morze uzenet
sz amt ogep nelk ul is olvashat o. H atranya viszont a k odszavak valtoz o hossza,
26
27
karakter k od karakter k od karakter k od
A J S
B K T
C L U
D M V
E N W
F O X
G P Y
H Q Z
I R
0 5 .
1 6 ,
2 7 ?
3 8 :
4 9 -
2.1. abra. A morze abece.
amit nem k onny u automatizalni.
A morzeabece egeszen 1999-ig volt haszn alatban nemzetkozi haj oz asi kom-
munik aci os formakent, de ekkor felvaltotta a Global Maritime Distress Safety
System. Csup an neh any amerikai korm anyzati kommunikaci os programban
haszn aljak meg egy tov abbfejlesztett v altozat at, az ugynevezett amerikai
morzekodot .
CDMA
Napjaink termeszetes igennye valt, hogy egy kommunik acios csatornat tobb
vonalra is felbonthassanak, azaz egyszerre tobben is kommunik alhassanak
rajta. Erre a celra fejlesztettek ki az id ooszt asos es a frekvenciaoszt asos
hozz afereseket. Egy harmadik modszer, a CDMA (Code Division Multiple
Access - k odoszt asos t obbsz oros hozz aferes) azonban kodelmeleti m odszerrel
biztostja a csatorna feloszt asat. Meghozz a ugy, hogy a fent emltett modsze-
rekkel ellentetben minden allom asnak megengedi, hogy a teljes frekvenciasa-
von egyfolytaban adjon. A tobb parhuzamos atvitelt a kodelmelet segtsegevel
k ulontik el egym ast ol.
Minden bitid ot m r ovid intervallumra, ugynevezett kodsemakra osztanak.

Altal aban 64 vagy 128 t oredek van bitenkent, de a p ald ankban az egyszer useg
kedveert csak 8 t oredek/bitet hasznalunk.
Minden allom ashoz tartozik egy m bites k od, m as neven kodsema. Egy
28
1-es bit elk uldesehez az allom as a sajat k odsemaj at k uldi el, 0- as bit elk uldese-
hez pedig a sema egyes komplemenset.
Ha pl. az A allomas kodsem aja (00011011), akkor az 1-es bit elk uldesehez a
(00011011) sorozatot haszn alja, 0-s bit tovabbt asahoz az (11100100) soroza-
tot.
Haszn aljuk az S jel olest az S allomas kodsemaj ara, valamint a S jel olest a
sema neg altj ara. A kodsem aknak p aronkent ortogonalisaknak kell lenni uk,
vagyis minden S es T p arra a skal aris szorzatnak (amit (S, T) jelol) 0-nak
kell lennie binarisan sz amolva, azaz
(S, T) =
1
m
m

i=1
S
i
T
i
= 0. (2.1)
Fontos tulajdons ag, hogy amennyiben (ST) = 0, akkor (S, T) szinten 0.
Ezenkv ul a kodsem ak onmagukkal vett skal aris szorzata is 0.
A konnyebb jel oles erdekeben mutassuk most be a bipol aris k odol ast,
amiben a binaris 0-nak -1 felel meg, az 1-nek pedig +1, Teh at egy S jel-
sorozatnak a 2S E, ahol E az egysegvektor, felel meg. Amikor t obb
allomas is ad egyszerre, akkor bipolaris jeleik osszead odnak. Peld aul ha
egy jel tov abbtasa alatt h arom allom as +1-et, egy pedig -1-et ad, akkor az
eredmeny +2 lesz. Olyan ez, mintha fesz ultsegek adodn anak ossze: harom
allomas +1 voltot, egy pedig -1 voltot ad, ami 2 voltot eredmenyez.
Ekkor az allomasok semaj anak onmag aval vett normaliz alt (a sema hossz a-
val osztott) skalarszorzata 1 lesz, a k ulonboz o allom asokhoz tatozo sem akkal
pedig 0.
Legyen peldankban negy allom as, a kovetkez o sem akkal:
A : (1 1 1 + 1 + 1 1 + 1 + 1)
B : (1 1 + 1 1 + 1 + 1 + 1 1)
C : (1 + 1 1 + 1 + 1 + 1 1 1)
D : (1 + 1 1 1 1 1 + 1 1).
Ha mondjuk csak a C allom as k uld egy 1-es bitet, az uzenet a kovetkez o
lesz:
S
1
= (1, +1, 1, +1, +1, +1, 1, 1)
Ha a B es a C allom as egyarant 1-es bitet ad, a bipolaris sem ak osszeget
kapjuk:
(1, 1, +1, 1, +1, +1, +1, 1)+(1, +1, 1, +1, +1, +1, 1, 1)
29
= (2, 0, 0, 0, +2, +2, 0, 2)
Ha A, B es D 1-et, C pedig 0-at k uld:
S
3
= (2, 2, 0, 2, 0, 2, +4, 0)
Ahhoz, hogy egy adott allomas altal generalt bitsorozatot visszaalltsunk,
ismerni kell annak sem ajat. A visszaallt as elvegezheto, ha a vett sorozat
(az osszes forgalmaz o allomas jeleinek osszege) es a gyelni kv ant allom as
semaj anak normaliz alt (koordinat ak szamaval leosztott) skal aris szorzatat
kepezz uk. Ha teh at a vett sorozat S, a vevo pedig a C semaval rendelkezo
allomasra gyel, akkor a (S, C) skal aris szorzatot kell kisz amtani. Peld aul
az utolso pelda eseten
(S
3
, C) = (2 2 + 0 2 + 0 2 4 + 0)/8 = 1,
teh at a C allom as 0-t k uldott. Mivel
(S
3
, B) = (2 + 2 + 0 + 2 + 0 2 + 4 + 0)/8 = +1,
a B allom as 0-t k uldott.
Egy ide alis, vagyis zajmentes CDMA-rendszer kapacitasa (azaz a kiszol-
g alhato allom asok sz ama) korl atlanul nagy lehet, ha a sem akban t obb bitet
haszn alunk. A gyakorlatban a zikai korlatok miatt a kapacitas joval kisebb.
El oszor is azt feltetelezt uk, hogy a sem ak id obeli szinkronban vannak, de a
val os agban ez megval osthatatlan. Minden adonak k ulonboz o semaja. Az
ad o es a vev o szinkroniz al asa erdekeben annyit lehet tenni, hogy az ad o egy
eleg hossz u, ismert sem at sugaroz, amire a vev o ra tud allni. Az osszes
t obbi (nem szinkroniz alt) atvitel ezut an mar csak veletlenszer u zajnak fog
l atszani. Ha ezekb ol nincsen sok, akkor az alapvet o algoritmus elfogadhat oan
fog m ukodni. V arhat oan zaj jelenleteben annal nagyobb a helyes dekodol as
val oszn usege, minel hosszabbak a semasorozatok. A tov abbi vedelem erdeke-
ben a bitsorozatok hibajavt o koddal is ell athat ok, de a semasorozatok so-
hasem hasznalnak ilyen k odolast.
A CDMA foleg olyan vezetek nelk uli rendszerekben haszn alatos, amelyek-
ben egy x bazis allom as es tobb, a bazis allom astol k ul onb ozo t avols agban
levo hordozhat o allom as van. Feltetelezn unk kell, hogy a vev o tudja, hogy
a k uld o kicsoda. Elmeletileg, egy elegend o sz amt asi kapacitassal rendelkez o
vev o tudna minden ad ot egyszerre hallgatni, ha egyszerre, p arhuzamosan fut-
tatn a a k ulonboz o ad ok dek odol asi algoritmusait. Ezt viszont a gyakorlatban
nagyon nehez megvalostani.
Most nezz unk meg egy peldat, amikor az allomasok nem csak 1 bitet
tov abbtanak.
30
A semak teh at egy olyan m atrix elemei, aminek a sorai paronkent orto-
gon alisak. Ezek pl. lehetnek egy un. Hadamard matrix sorai.
A kovetkezo peldankban a sem ak hossza 2.
Minden felhasznal onak van egy semaja pl. v. Az 1 bit tov abbtas at egy
v tov abbtasa jelenti, es a 0 bit tov abbt as at a v. Ha pl. v = (1, 1).
Ha pl. az A allomasra v = (1, 1) es az A allomas a (1, 0, 1, 1) jelsorozatot
akarja k uldeni, akkor az uzenet
(1, 1, 1, 1)v = (v
0
, v
1
, v
0
, v
1
, v
0
, v
1
, v
0
, v
1
) = (1, 1, 1, 1, 1, 1, 1, 1),
ahol a Kronecker szorzat.
Ha az A allom as sem aja (1, 1) es az uzenet (1, 0, 1, 1), valamint a B
semaja (1, 1) es az uzenet (0, 0, 1, 1), ugy szimultan el tudja mindket k uld o
tov abbtani a kodjat a k ovetkezokepp:
Az A semaja legyen (1, 1), es A uzenete (1, 0, 1, 1) .
A bipol aris k od 2(1, 0, 1, 1) (1, 1, 1, 1) = (1, 1, 1, 1). Az A szign alja a
semaj anak Kronecker szorzata az uzenettel, teh at = (1, 1, 1, 1) (1, 1) =
(1, 1, 1, 1, 1, 1, 1, 1).
Az B sem aja = (1, 1), B uzenete = (0, 0, 1, 1) . A bipol aris k od =
2(0, 0, 1, 1) (1, 1, 1, 1) = (1, 1, 1, 1). A B szign alja
(1, 1, 1, 1) (1, 1) = (1, 1, 1, 1, 1, 1, 1, 1).
Mivel a 2 szign al egyszerre tov abbtodik, a vett jel a
(1, 1, 1, 1, 1, 1, 1, 1)+(1, 1, 1, 1, 1, 1, 1, 1) = (0, 2, 2, 0, 2, 0, 2, 0)
lesz.
Ez a sorszign al interferencia sema. A vevo a sem ak ismereteben egy
ertheto szign alt allt elo az ismert k uldoh oz. A k ovetkez o pelda mutatja,
hogy a szign alok nem interferalnak egym assal.
A esetben a dek odolashoz a szign alt 2-es csoportokra oszjuk (mivel a sema
2 elem u) es a csoportokat szorozzuk skalarisan a sem aval, majd megkeress uk
mely uzenetnek volt az eredmeny a bipolaris k odja. A esetben:
(((0, 2), (2, 0), (2, 0), (2, 0)) , (1, 1)) = ((0 + 2), (2 + 0), (2 + 0), (2 + 0)) =
(2, 2, 2, 2)-t kapunk melynek jelentese (1, 0, 1, 1).
B esetben:
(((0, 2), (2, 0), (2, 0), (2, 0)) , (1, 1)) = ((0 +2), (2 +0), (2 +0), (2 +0)) =
31
(2, 2, 2, 2)-t kapunk, melynek jelentese (0, 0, 1, 1).
Tovabbiakban a dek odol as utan minden 0-n al nagyobb ertek 1-nek sz amt,
es minden 0-n al kisebb ertek 0-nak. Peld aul a (2, 2, 2, 2)-t a vev o (1, 0, 1, 1)-
nak ertekeli. A tiszta nulla ertekek azt jelentik hogy a k uld o nem k uldott
semmi adatot.
Tegy uk fel, hogy valamelyik allomas a (1, 1, 1, 1, 1, 1, 1, 1)-t tovabb-
totta. Meg kell allaptanunk, melyik allom as volt, es mi az uzenet.
Ha az A allomas volt, akkor
(((1, 1), (1, 1), (1, 1), (1, 1)) , (1, 1)) = ((1 + 1), (1 1), (1 + 1), (1 + 1)) =
(2, 2, 2, 2)-t kapunk melynek jelentese (1, 0, 1, 1).
Ha a B allomas lett volna, akkor (0, 0, 0, 0)-t kapunk mely azt jelenti, hogy
a B allom as nem k uldott uzenetet.
Az implementaci os problem ak ellenere a CDMA jo megoldas, amelyet
gyors utemben vezetnek be a vezetek nelk uli mobilkommunik acioban.

Ugy
t unik, a CDMA lesz a harmadik generaci os adatkozles alapja.
Az ASCII-kod
Az ASCII rovidtes az American Standard Code for Information Interchange
(inform aciokezelesre szolg alo amerikai standard k od) kifejezesb ol szarmazik.
Ezt a kodot haszn aljak a legtobb sz amtogepben a karakterek memori aban, il-
letve merevlemezen val o t arol asara. A k od tartalmazza a kis- es nagybet uket,
k ozpontozasi jeleket, es k ulonfele egyeb szimb olumokat.
A 01000001 J 01001010 S 01010011
B 01000010 K 01001011 T 01010100
C 01000011 L 01001100 U 01010101
D 01000100 M 01001101 V 01010110
E 01000101 N 01001110 W 01010111
F 01000110 O 01001111 X 01011000
G 01000111 P 01010000 Y 01011001
H 01001000 Q 01010010 Z 01011010
I 01001001 R 01000001 sz okoz 00100000
2.2. abra. Az ASCII-kodt abla reszlete.
A 2.2 tabl azatban az ASCII-k odtabla egy reszletet l athatjuk. Jel-
legzetessege, hogy

folytonos, teh at a karaktereknek megfeleltetett termesze-


tes szamok egymas ut an k ovetik egymast, ellentetben pl. az UNICODE-
k odolassal, ahol ezen sz amok csoportostva vannak.
32
A k od a (0000000) es (1111111) k ozti osszes bin aris szamb ol all, azaz tzes
sz amrendszerben 0-t ol 127-ig tartalmazza a sz amokat (a legtobb szamt ogep-
ben nyolcbites bin aris sz amokb ol all o ASCII-k odot alkalmaznak). A nagy
A bet u k odja peld aul (1000001) (vagy tzes sz amrendszerben 65). Az els o
harminch arom ASCII-kodot az iranyt okaraktereknek tartjak fenn (monitor,
nyomtato, stb. m uk odesenek ir anyt asa), ezek nincsenek is benne a 2.2
t ablazatban.
Az ASCII-kod kiterjeszteseivel 256, illetve 65536 jelet is lehet k odolni, gy
a nemzeti karakterek is k odolhat ova v alnak.
Az ASCII-k odrendszert haszn alja napjainkban a Windows operacios rend-
szer.
Blokk-k odok
Az algebrai kodelmelet Claude Shannon 1948-ban rt cikkevel kezd od ott, s
ezt k ovettek Marcel Golay (1949) es Richard Hamming 1950-ben rt cikke-
i. Ebben az id oben k ul on osen nagy szerepet jatszottak a kutat asokban az
algebrai es kombinatorikai strukt ur ak. Az elmelet meg ma is elsosorban
a digit alis jelsorozatok segtsegevel t orten o kommunik aci oval a 0 es 1
szimb olumokb ol allo jelsorozatok, az un. binaris kodok tov abbtas aval
foglalkozott, s azzal, hogyan lehet a tovabbt as sor an bekovetkezett hib akat
eszrevenni es kijavtani. Az inform acio tovabbt asa soran a forr asabece jelei-
hez a forr askodol o segtsegevel a kodabece jeleib ol allo sorozatokat rendel unk.
Azgy ossze alltott uzeneteket a kodol o segtsegevel a kiv alasztott kod alapj an
k odszavakk a alaktjuk, s a k odszavakat tov abbtjuk. A tov abbtas utan a
dek oder segtsegevel a hib akat kijavtva dek odoljuk, s a forrasdek oder segt-
segevel visszakapjuk a tovabbtott informaci ot. A tovabbt as biztons aga
erdekeben a legmegfelelobb kodot kell kiv alasztani, amely meghat arozza a
k odolas es dek odolas folyamat at. Egy k od keszteseben a nehezseget a k od
hibajavto kepessegenek es a tov abbtas koltsegenek optimaliz al asa okozza,
de nagyon fontos a hatekony k odolasi es dek odolasi m odszer letezese is.
Az algebrai k odelmelet elsosorban az un. blokk-k odok elmeletevel foglalko-
zik.
A konvol uci os kodokat leginkabb a hangfrekvenci as modemekben es a
GSM telefonokban haszn aljak. Az elj aras lenyege az, hogy minden k odsz o-
szimb olumot a k ulonboz o bemeneti uzenetszimb olumok s ulyozott osszegevel
azonostjak. A konvol ucios k odok nem ny ujtanak nagyobb vedettseget a
zaj ellen, mint a megfelel o blokk- kodok. A legt obb esetben viszonylag
egyszer ubb megvalostani azokat, mint a hasonlo hatekonys ag u blokk-kodokat.
Egy konvol ucios k od dek odolas ara a Viterbi algoritmus az optim alis. Az
33
algoritmus alapja a legvaloszn ubb utvonal megtalal asa. Legink abb azon
k ornyezetekben hatasos ez az algoritmus, ahol nincsen t ul sok zaj.
2.1. Dencio. A A abece jeleibol allo n hossz u jelsorozatot nevezz uk n
hossz usag u kodszonak. Az n hossz usag u kodszavakat tartalmazo blokk-kod
az A abece jeleibol allo n-esek M-elem u halmaza.
Az el obbi kodot [n, M] k odnak nevezz uk. Mint kesobb latni fogjuk, a
kerek zar ojelet olyan blokk-k odok jelolesere tartjuk fenn, melyben a k odszavak
vektorteret is alkotnak.
Az ISBN
Az ISBN-k odot (International Standard Book Number) k onyvek azonostas ara
haszn aljak, altal aban meg is jelenik a k onyvek h atoldal an. Ez egy tzjegy u
k od, a tzes sz amrendszer jegyeit hasznalja, illetve egy X karaktert.
Vegy uk peldaul a [0-387-97812-7] ISBN-szamot. Az els o jegye a konyv
nyelvet jelenti. Ez a jelen esetben 0, azaz a k onyv angol nyelv u. A k ovetkez o
jelcsoport (387) a kiad ot azonostja, ami ebben az esetben a Springer-Verlag.
A k ovetkez o sz amcsoport (97812) a konyv szama az adott kiad on al. Az
utols o jegy egy redund ans ellenorz o sz am, ami a hib ak kisz uresere van jelen.
Legyen az ISBN-sz am elso kilenc sz amjegye x
1
. . . x
9
, a tizedik, az ellenorz o
jegy pedig x
10
, az
x
1
+ 2x
2
+ 3x
3
+. . . + 9x
9
+ 10x
10
egyenlet megold asa Z
11
-ben. Mivel 10 = 1, az utols o szamjegyet a k ovetke-
z okeppen fejezhetj uk ki:
x
10
= x
1
+ 2x
2
+ 3x
3
+. . . + 9x
9
.
Peldaul a fent szereplo ISBN-szamban az ellen orzo jegy
1 0 + 2 3 + 3 8 + 4 7 + 5 9 + 6 7 + 7 8 + 8 1 + 9 2 = 7
Ha az ellenorz o jegy eppen 10-zel egyenl o, akkor X-et runk a helyere.

Igy
peldaul a 0-201-02988-X egy ervenyes ISBN-szam.

Igy nem minden sz amjegy
decim alis, hiszen az utols o jegy X is lehet, ezert az ISBN nem szolgaltat valodi
decim alis k odszavakat.
Az ISBN-k od egyetlen hib at tud eszlelni, de mivel nem tudjuk felderteni,
hogy a hiba hol keletkezett, ez a k od nem javt egy hib at sem.
34
K odelmeleti szempontb ol az ISBN-k odot a kovetkez okeppen konstru aljuk
meg. Legyen C a
[P = [ 1 2 3 4 5 6 7 8 9 10 ]]
parit asellenorz o matrix u kod Z
10
11
f olott. Ez a k od egy [10,9,2]-k od, merete
11
9
. Legyen I az a k od, amelyet C-b ol a

10-et tartalmaz o osszes k odsz o


elt avoltas aval kapunk (kiveve azon kodszavakat, ahol a

10 az utolso helyen
fordul elo).

Igy I pontosan az ISBN-k od lesz, ami egy nem line aris (10, 10
9
, 2)-
k od.
A sok termeken megtal alhato vonalk od is tartalmaz ellen orzo jegyet.
A forrask odol o keszti el a csatornan tov abbtando k odabece jeleib ol all o
k odszavakat, de nem biztos, hogy a vevo azokat valtozatlanul kapja meg.
eppen ezert a kodszavakat ugy kesztj uk el, hogy a kodszavak bizonyos sz am u
jelet a javtas szam ara tartalmazzanak. A forr askodol o el osz or az uzeneteket
az A abece jeleibol allo k-asokk a alaktja, s ezt kiegeszti a hibajavtashoz
sz ukseges tovabbi szimbolumokkal n-esekke tehat n > k kell teljes ulj on. A
kiegesztes nagysaga f ugg a csatorna kapacit asat ol, a hibajavto kepessegt ol.
A gyakorlatban t obbnyire egy szimmetrikus bin aris csatornat haszn alnak,
teh at a tov abbtott jelek a 0 es az 1, es a tovabbtas soran a 0 annyi valoszn u-
seggel valtozik 1-e, mint az 1 0-va. A csatorna a gyakorlatban rendsz-
erint binaris, mivel a technika tobbnyire, ket allapot u eszk ozok segtsegevel,
null akb ol es egyesekbol allo jelsorozat tov abbt asat teszi lehetove.
Peldaul, legyen F egy un. forr asabece, mondjuk F = {a,

a, b, c}, s A =
{0, 1} egy binaris k odabece. Legyen :
forr asjel uzenet k odszo
a 00 01101
a 11 11010
b 10 10101
c 01 01011 ,
Ha a vett szo (11110), akkor tudjuk, hogy legal abb egy hiba t ortent. Ha
tudjuk, hogy igen nagy annak val oszn usege, hogy legfeljebb egy hiba t ortenik
a csatornan kereszt ul val o tovabbtas sor an, akkor ezt a-nak dek odoljuk.
Amint a peld aban is latjuk, az uzenet hosszan al, k-n al, hosszabbaknak kell
lenni a kodszavaknak, hogy a hib akat ki tudjuk javtani. Minel nagyobb az n
a k-hoz kepest, ann al k onnyebb a hib at eszrevenni, illetve annal tobb hibat
ki lehet javtani. A hibajavt o kod elkesztesenel gyelembe kell venn unk a
csatorna zajoss ag at is. A k odszavak hossz anak, n-nek, novelesevel viszont
n o a k od tov abbt as anak koltsege. A blokk-kodok egyik jellemz oje a k/n
h anyados erteke.
35
Az elobbi peldank eseten
k
n
=
2
5
.
2.2. Dencio. Egy [n, M]-kod gyorsasaga a k/n hanyados erteke, ahol
a forrasabece jeleihez a kodabece k-asai, s azokhoz az n hossz u kodszavak
vannak rendelve.
2.3. Dencio. Ket x es y kodszo d(x, y) Hamming-tavolsagan azon pozciok
szamat ertj uk, melyekben a ket kodszo k ulonbozik.
2.1. Pelda. Legyen a kodabece A = {1, 0}, es x = (01101) valamint y =
(10101) ket kodszo, akkor d(x, y) = 2. Konny u belatni, hogy a Hamming-
tavolsag egy metrika a kodszavak halmazan.
2.1. Tetel. A kodszavak halmazparjain denialt d tavolsag f uggveny kielegti
a kovetkezoket:
1. d(x, y) 0
2. d(x, y) = 0 csakis akkor, ha x = y
3. d(x, y) = d(y, x)
4. d(x, z) d(x, y) +d(y, z).
Bizonytas: Az els o harom resz a denicio alapj an nyilv anvalo. Ha x
i
, y
i
,
es z
i
jel oli a x, y es z k odszavak i-edik k od abecebeli koordin ataj at, akkor a
4. pont bizonytas aban meg kell nezn unk 4 esetet:
1) x
i
= y
i
es y
i
= z
i
, 2) x
i
= y
i
es y
i
= z
i
, 3) x
i
= y
i
es y
i
= z
i
, 4.) x
i
= y
i
es y
i
= z
i
.
K onny u eszrevenni, hogy mindegyik esetben teljes ul d(x
i
, z
i
) d(x
i
, y
i
) +
d(y
i
, z
i
).
(A 4. tulajdons agot altal anosan haromsz og-egyenl otlensegnek nevezz uk.)
2.4. Dencio. Egy C [n, M]-kod d Hamming-tavolsaga:
d = min{d(x, y) | x, y C, x = y}.
Ahhoz, hogy meghat arozzuk a k od tavolsag at egy C [n, M] kodban, ossze-
sen
_
M
2
_
k odszop art kell megnezn unk. Mint l atni fogjuk, ezt line aris kodok
eseten elker ulhetj uk.
A legegyszer ubb dek odol asi strategia az, amikor a vett hib as szot az attol
legkisebb tavolsagra lev o kodsz oval azonostjuk. Ezt a m odszert maximalis
36
valoszn useg u dekodolasnak nevezz uk. Termeszetesen ezzel nem tudunk ki-
javtani egy olyan hib as sz ot, mely egybeesik valamely m asik k odsz oval.
Ez a dek odolasi m odszer nem teljes, mivel nem minden vett sz ot lehet vele
javtani. Tegy uk fel, hogy van egy q sz am u szimb olumb ol allo k odabecenk.
Annak valoszn usege, hogy egy jel hibas lesz, legyen p. Tehat annak val oszn u-
sege, hogy a jel hiba nelk ul megy at a csatorn an 1p-vel egyenl o. Feltetelezz uk
azt is, hogy a hiban al mind a q 1 szimb olum egyenlo val oszn useggel je-
lenik meg, tehat mindegyik
p
(q1)
val oszn useggel jelenik meg a tov abbtott
jel helyen.
Tegy uk fel, hogy a vett szo az n hossz u r sz o. A maximalis valoszn useg u
dek odolassal r-et azzal a c k odszoval azonostjuk, amelyre annak P(r, c)
val oszn usege, hogy a c sz o volt tov abbtva, maxim alis. Ha d(r, c) = d,
akkor
P(r, c) = (1 p)
nd
(
p
q 1
)
d
.
Ekkor c-ben azon nd sz am u koordinata, amely a csatorn an nem valtozott,
(1 p)
nd
val oszn useggel jelenik meg. Minden maradek d pozci oban min-
den helyen p/(q 1) val oszn useggel jelenhet meg m as szimbolum, mint a
tov abbtott.
Tegy uk fel, hogy c
1
es c
2
ket k odszo, s d(r, c
1
) = d
1
, d(r, c
2
) = d
2
. Az
altalanoss ag megszort asa nelk ul feltehetj uk, hogy d
1
d
2
, s hogy P(r, c
1
) >
P(r, c
2
). Ha ez teljes ul, akkor
(1 p)
nd
1
(
p
q 1
)
d
1
> (1 p)
nd
2
(
p
q 1
)
d
2
,
es
(1 p)
d
1
d
2
> (
p
q 1
)
d
2
d
1
s
(
p
(1 p)(q 1)
)
d
2
d
1
< 1.
Ha d
1
= d
2
, akkor ez nem igaz, s gy P(r, c
1
) = P(r, c
2
). K ulonben d
2
d
1

1, s ez akkor es csakis akkor igaz, ha
p
(1 p)(q 1)
< 1, teh at p <
(q 1)
q
.
Mivel a csatorna egy jelet p val oszn useggel tov abbt hib atlanul, ahol p <
(q1)/q, akkor a c k odszo, amelyet maximalis val oszn useggel tov abbtottunk
olyan, melynek az r-t ol valo t avolsaga minim alis.
A p (q 1)/q esetet gyakorlati feladatnak hagyjuk.
37
2.2. Pelda. Legyen C egy binaris kod, ahol
C = {(00000), (10110), (01011), (11101)},
s a csatornahiba valoszn usege p = 0.1 Ha r = (11111), akkor
P(r, (00000)) = (0.1)
5
= 0.00001, P(r, (10110)) = (0.1)
2
(0.9)
3
= 0.00729,
P(r, (01011)) = (0.1)
2
(0.9)
3
= 0.00729, P(r, (11101)) = (0.1)
1
(0.9)
4
= 0.0656,
tehat a modszerrel r az (11101) szora lesz dekodolva. Ebben az esetben annak
valoszn usege, hogy legfeljebb egy hiba tortent:
(0.9)
5
+
_
5
1
_
(0.9)
4
(0.1) = 0.91854.
Ha a csatorna kapacitasa megengedi, akkor az uzenetet t obbsz or is tovabbt-
hatjuk.
2.3. Pelda. A (3m, m) haromszoros ismetlodo kodolas az egyik olyan, ame-
lyikkel mind felismerni, mind javtani tudjuk az atviteli hibat. Ha n = 5 es
a kod binaris, akkor denialjuk a kodot keszto f : Z
5
2
Z
15
2
lekepezest ugy,
hogy az uzenetet haromszor egymasutan rjuk, tehat:
f(w
1
w
2
...w
7
w
8
) = w
1
w
2
...w
8
w
1
w
2
w...w
8
w
1
w
2
...w
8
.

Igy, ha x = (10110), akkor c = f(x) = (10110 10110 10110). A D : Z


15
2
Z
5
2
dekodolo f uggveny a tobbsegi szabalyon alapszik. Peldaul ha a v vett szora:
v = (10100 00110 10110), akkor ez a kodsorozat harom hibat tartalmaz,
es ezek a negyedik, hatodik es a tizenotodik pozcion helyezkednek el. A
v dekodolasa soran megvizsgaljuk eloszor az elso, a hatodik es a tizene-
gyedik pozciot, hogy melyik jel fordul elo tobbszor. Jelen esetben ez az 1-es
(ami ketszer fordul elo), gy a dekodolt uzenet elso bitje 1 lesz. Folytatva a
dekodolast a masodik, hetedik es tizenkettedik pozcioval, a dekodolt uzenet
masodik bitje 0 lesz (ami mind a harom pozcion 0-kent jelenik meg). A
megkezdett modon folytatva a dekodolast, visszakapjuk az eredeti uzenetet,
(10110)-et. A peldankban tobb mint egy hiba tortent az atvitel soran, ami
mindaddig nem problema, amg egy hibahoz kepest nincs ot vagy tz tavolsagra
egy masodik hiba. Ebben az esetben ugyanis az uzenet megfelelo bitje hibasan
lesz dekodolva.
Nezz uk meg, hogy milyen ennek a kodolasnak a hatekonysaga az eddigiekhez
kepest. Ha p = 0.1, akkor egy bit helyes dekodolasanak a valoszn usege
(0.9)
3
+
_
3
1
_
(0, 1)(0, 9)
2
0, 972. Tehat egy ot bites uzenet helyes dekodolasanak
38
a valoszn usege (0, 972)
5
0.8676, jobb, mint a maximalis valoszn usegi
modszernel (ami 0.91854
5
0.6539) Ennel a kodolasnal 15 bit atvitele sz ukse-
ges egy 5 bites uzenet tovabbtasahoz, gy a kod gyorsasaga ebben az esetben
1
3
. A megnovelt biztonsagert es a hibajavtasi lehetosegert (ami nem volt adott
az elozo semakban), az atviteli ido novekedesevel kell zetn unk. A legtobbszor
nem erdemes vesztegetni az idot a megismetelt atvitelekkel.
2.5. Dencio. Egy kodot t szam u hibat javto kodnak nevez unk, ha kepes
minden maximalisan t szam u hibat tartalmazo kodszot kijavtani.
A Hamming-tavolsag jelent oseget mutatja a k ovetkez o tetel:
2.2. Tetel. Legyen C egy d = 2t + 1 Hamming-tavolsag u [n, M]-kod. Ekkor
C t szam u hibat kepes javtani, s 2t szam u hibat kisz urni.
Bizonytas: Minden n, t Z
+
es c
i
C eseten az c
i
k ozeppont u es t sugar u
g omb ot a k ovetkez okeppen deni aljuk: S
c
i
= {y S} = {d(c
i
, y) t}.
Tehat egy ilyen g omb minden olyan A-b ol ossze alltott n-est tartalmaz, mely
c
i
-t ol legfeljebb t t avolsagra van. Legyen c
i
= c
j
. Ekkor S
c
i
S
c
j
= , mert
ha x S
c
i
S
c
j
lenne, akkor
d(c
i
, x) t es d(c
j
, x,) t,
es a haromsz og-egyenl otlensegbol kapn ank, hogy
d(c
i
, x) +d(c
i
, x) d(c
i
, c
j
), s d(c
i
, c
j
) 2t.
De barmely ket k ul onbozo kodsz o legalabb 2t+1 t avols agra van, s gy kapjuk,
hogy S
c
i
S
c
j
= . Mivel az atvitt c
i
k odszoban kevesebb, mint t hiba t ortent,
gy a legfeljebb t hib at tartalmazo szo egyetlen k odszo k or uli gombben van.
Ha csak azt akarjuk felismerni, hogy egy altal an tortent-e hiba, akkor leg-
al abb 2t + 1 hiba kell legyen ahhoz, hogy egy szo egy masikba valtozzon at.
Ha legal abb 1 es legfeljebb 2t hiba tortent, akkor soha nem kapunk k odszot,
ezert a hiba felismerheto.

Altal aban a k od t avols aga lehet p aros is. Ekkor igaz a kovetkezo:
2.3. Tetel. Legyen C egy d = 2t Hamming-tavolsag u [n, M]-kod. Ekkor C
kepes t 1 hibat kijavtani, es t hibat felismerni.
Bizonytas: Az 2.2 tetel bizonytas ahoz hasonl oan a kodszavak k or uli k
sugar u g omb ok felsznen most elofordulhatnak k hib at tartalmaz o szavak.
Mivel ezek a gomb ok nem lesznek diszjunktak, nem lehet egyertelm uen megha-
t arozni, melyik sz ot ol van k t avols agra a vett szo, viszont fel lehet ismerni k
39
hib at abb ol, hogy az azokat tartalmazo szavak valamely g omb ok felsznen
lesznek. A k 1 sugar u gomb ok on, vagy azokon bel ul lev o szavak m ar
egyertelm uen azonosthat ok a megfelel o g omb k ozeppontokkal, tehat a kod-
szavakkal.
A 2.2 tetelhez hasonloan belathat o, hogy a d = 2t esetben a k od ki 2t 1
hib at kepes kisz urni.
FELADATOK:
1. Legyen peld ankban negy allomas, a kovetkezo matrix soraival, mint
semaval:
H(2
2
) =
_
_
_
_
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
_
_
_
_
.
Adjunk meg ennek segtsegevel egy CDMA kodot, es rjuk le hogy
t ortenik a 3 hossz u binaris uzenetek k odol asa es dek odol asa.
2. Hatarozzuk meg a k ovetkez o kodszavak tavols ag at:
(a) (01341), (12311), (b) (aaabab), (baaaaa).
3. Legyen adva a C = {(11000), (01101), (10110), (00011)} k od.
(a)

Irjuk fel a k odszavak altal meghat arozott m atrixot, melynek sorai
a kodszavak. Hatarozzuk meg a C t avolsagat.
(b) Dekodoljuk a k ovetkez o szavakat a hozz ajuk legkozelebb eso szavakkal:
i) r
1
= (00111), ii) r
2
= (10110), iii) r
3
= (11011), (iv) r
4
= (10011).
4. Bizonytsuk be, hogy bin aris kodok eseten a k odszavak t avols aga es
s ulya kozott a k ovetkez o osszef ugges all fenn (az x k odszo w(x) s ulyan
az x null at ol k ulonboz o koordinat ainak szam at ertj uk):
(a) d(x, y) = w(x + y) = w(x) + w(y) 2s, ahol s azon koordinata
pozci ok szama, melyben x es y egyszerre 1.
(b) w(x + y) akkor es csakis paros, ha x es y null at ol k ul onboz o ko-
ordin atainak sz ama egyszerre p aros vagy p aratlan (teh at azonos
az x es y parit asa).
5. (a) Konstrualjunk egy bin aris [8, 4] k odot, melynek Hamming-tavols aga
5.
40
(b) Konstrualjunk egy bin aris [7, 3] k odot, melynek Hamming-tavols aga
5, vagy bizonytsuk be, hogy ilyen kod nem letezik.
6. Bizonytsuk be, hogy d = 2t + 1 t avols ag u bin aris C [n, M]-k od akkor
es csakis akkor letezik, ha letezik binaris C

[n + 1, M]-k od d

= 2t + 1
Hamming tavolsaggal.
7. Legyen x, y V
n
(Z
m
), x = y es legyen X = {u | d(x, u) < d(y, u)} es
Y = {u | d(x, u) > d(y, u)} (AZ
m
az m-modulo maradekoszt alygy ur u).
Bizonytsuk be, hogy az X es Y halmazok elemeinek sz ama megegyezik,
azaz | X |=| Y | .
8. Tegy uk fel, hogy C V
n
(Z
m
) olyan tulajdonsag u, hogy ha x, y C,
akkor x y C. Minden x sz ora deni aljuk a
U
x
= {u | d(x, u) > d(y, u), ha u C, x = y}halmazt.
Bizonytsuk be, hogy minden x, y C, x = y-ra | U
x
|=| U
y
| .
9. Bizonytsuk be, hogy az el ozo feladatban szerepl o alltas nem feltetlen ul
teljes ul, ha | C |> 2 es C nem zart a kivon asra nezve.
10. Legyen C a kovetkezo bin aris k od:
C = {(0000101), (0011101), (1111100), (1111111), (0101011)}.
Tegy uk fel, hogy a csatornahiba val oszn usege p = 0.25. Dek odoljuk a
vett r
1
= (1101001) es r
2
= (0110101) szavakat maximalis val oszn useg u
m odszerrel.
11. Legyen C = {c
1
, c
2
, . . . , c
2
n} egy olyan bin aris [n, 2
n
] k od, melyben
a szomszedos szavak t avolsaga 1, tehat d(c
i
, c
i+1
) = 1, ha 1 i
2
n
1. Ez a k od Gray-kod neven ismert. Konstru aljunk egy bin aris C

[n + 1, 2
n+1
]-k odot a C-b ol, amely szinten Gray-k od.
12. Legyen C egy [n 1, M]-k od az olyan A k odabece felett, melyben
van 0 es 1. Tegy uk fel, hogy minden k odsz ot kiegeszt unk egy x
n
ko-
ordin ataval, ugy, hogy
x
n
=
_
0, ha w(x) p aros,
1, ha w(x) p aratlan.
Legyen az uj kod C

, es tegy uk fel, hogy a csatornahiba val oszn usege


p. Mi annak a valoszn usege, hogy hib at nem tudunk felismerni a C

k odban?
3. fejezet
Linearis k odok
3.1. Linearis kodok jellemz oi
Tegy uk fel, hogy az uzenetek olyan k-asok, melynek elemei egy q elem u F
test elemei. Ekkor q
k
darab uzenet unk van. Az F test elemeibol kepzett
rendezett k-asok halmaza a V
k
(F) vektorter. Ekkor q
k
darab uzenet unk
van. Ezt uzenetternek nevezz uk. Peldaul, ha bin aris ot osoket vessz unk,
akkor az uzenetek amelyek a V
5
(GF(2))) vektorter elemei tekinthet ok a
GF(2
5
) test elemeinek is. A k od javt o kepessegenek eleresehez termeszetesen
hosszabb sz ot kell venn unk, mint ami sz ukseges ahhoz, hogy a forr as uzeneteit
tov abbtsuk. Az uzenetekhez tartoz o k-asokhoz ezert, hozzajuk tartoz o k od-
sz okent, az F test feletti n-eseket rendel unk hozz a n > k. A hibajavt as
algebrai modszerei miatt fontos, hogy az uzenetek a V
n
(F) terben alteret
alkossanak. A V
n
(F) terb ol k line arisan f uggetlen vektort
(q
n
1)(q
n
q)(q
n
q
2
) . . . (q
n
q
k1
) (3.1)
-felekeppen tudunk kiv alasztani. Ez az ertek nem a k dimenzi os al-
terek sz ama. Tudnunk kell, hany line arisan f uggetlen vektor-k-as gener alja
ugyanazt az alteret. Hasonloan a (3.1)-hez meghatarozhatjuk a linearisan
f uggetlen vektor-k-asok szam at, ami:
(q
k
1)(q
k
q)(q
k
q
2
) . . . (q
k
q
k1
).
A V
n
(F) terben
(q
n
1)(q
n
q)(q
n
q
2
) . . . (q
n
q
k1
)
(q
k
1)(q
k
q)(q
k
q
2
) . . . (q
k
q
k1
)
=
(q
n
1)(q
n1
1) . . . (q
nk+1
1)
(q
k
1)(q
k1
1) . . . (q 1)
sz am u k-dimenzi os alter van. Ezek koz ul v alaszthatunk line aris k odokat. Ha
ezek k oz ul tetsz olegesen kivalasztunk egy S alteret a B = {v
1
, v
2
, . . . , v
k
}
41
42
b azissal, s egy f : M S k olcson osen egyertelm u megfeleltetest letest unk
az S alter vektorai es az M uzenetter k oz ott, akkor
f(m) =
k

i=1
m
i
v
i
eseten m = (m
1
, m
2
, . . . m
k
) lesz az uzenet.
3.1. Pelda. Tekints uk az
M = {(00), (10), (01), (11)}
uzenetekbol allo uzenetteret. Valasszuk ki V
4
(Z
2
)-bol a B = {v
1
, v
2
} bazis
altal meghatarozott alteret, ahol
v
1
= (1100), v
2
(0110).
Ekkor az M lekepezeset S-be a kovetkezokeppen adjuk meg:
(00) (0000)
(10) (1100)
f : (01) (0110)
(11) (1010).
A k od kesztesenel fontos szerepet jatszik az n es a k parameterek kap-
csolata. Egy r ogztett k-hoz minel nagyobb n-et valasztunk ki, annal ink abb
n o a k od hibajavt o kepessege, de az n-el egy utt n o (a tov abbt asn al hosszabb
szavakat kell k uldeni) a kod koltsege is. L atni fogjuk, hogy rogztett n es k
ertekek eseten is k ulonb oz o hibajavto kepesseg u k odokat tudunk keszteni.
3.1. Dencio. Egy F test feletti linearis (n, k)-kod a V
n
(F) vektorter egy
k-dimenzios altere.
Line aris kodok eseten ezert a kodszavakat gyakran vektoroknak, a szavak
adott pozcioj an lev o k odabecebeli jelet pedig az adott koordin at anak (neha
adott pozci on lev o jelnek) nevezz uk.
3.2. Dencio. Egy v V
n
(F) vektor w(v) Hamming-s ulya a v vektor
nullatol k ulonbozo koordinatainak szama.
3.3. Dencio. Egy C linearis (n, k)-kod Hamming-s ulya:
w(C) = min{w(x) | x C, x = 0}.
43
3.4. Dencio. Egy C linearis (n, k)-kod d Hamming-tavolsaga:
d = min{d(x, y) | x, y C, x = y}.
Jel olje S
(x,d)
az x k odszot ol d t avolsagra levo, teh at a d sugar u g omb on bel ul
vagy rajta lev o vektorterbeli elemek halmazat a V
n
(F) terben.
3.2. Pelda. Ha n = 3 es x = (110) Z
3
2
, akkor
S
(x,1)
= {(110), (010), (100), (111)}
es S
(x,2)
= {(110), (010), (100), (111), (000), (101), (011)}.
3.1. Tetel. Egy linearis kod Hamming-s ulya egybeesik a kod tavolsagaval.
Bizonytas: K onny u eszrevenni, hogy d(x, y) = w(x y), mivel az x y i-
edik koordin at aja nem nulla, ha a ket vektor i-edik koordin at aja k ulonb ozik.
De xy C, mivel a C line aris k od vektorter leven z art az osszead asra nezve.
Mivel az alter minden eleme felrhat o 2 alterbeli vektor k ul onbsegekent,
kapjuk hogy
d = min{w(z) | z C, z = 0} = w(C).
3.3. Pelda. Legyen v
1
= (10000), v
2
= (11010), v
3
= (11101) bazisa a Z
2
feletti C(5, 3)-kodnak. Ekkor
C = {(00000), (10000), (11010), (11101), (01010), (01101), (00111), (10111)}.
Legyen
G =
_
_
v
1
v
2
v
3
_
_
=
_
_
1 0 0 0 0
1 1 0 1 0
1 1 1 0 1
_
_
.
Ha m = (m
1
m
2
m
3
) M az uzenet, akkor az m-hez tartozo kodszo
mG = m
1
v
1
+m
2
v
2
+m
3
v
3
.
Peldaul, ha m = (101), akkor
mG = (101)
_
_
1 0 0 0 0
1 1 0 1 0
1 1 1 0 1
_
_
= (01101).
44
Tegy uk fel, hogy a {v
1
, v
2
, v
3
} helyett az {u
1
= (10000), u
2
= (01010), u
3
=
(00111)} bazist valasztjuk ki a C szamara, amely ugyanazt a 3 dimenzios
alteret generalja, mint az elozo. Most legyen
G

=
_
_
u
1
u
2
u
3
_
_
=
_
_
1 0 0 0 0
0 1 0 1 0
0 0 1 1 1
_
_
.
Ekkor G

-vel szamolva az m uzenethez tartozo kodszo a (10111) lesz. Ebben


a kodszoban az elso 3 pozcioban eppen az uzenetszimbolumok allnak, tehat a
dekodolasnal elegendo meghatarozni csak azokat a {v
1
, v
2
, v
3
} bazis eseten
a dekodolas nem ilyen egyszer u.
3.5. Dencio. A C (n, k) kod generatormatrixan azt a kn-es G matrixot
ertj uk, melynek sorai a C-hez tartozo vektorter bazisanak elemei.
Ekkor azt mondjuk, hogy a G gener alja C-t. Teh at egy line aris kod
elemei a G m atrix F test feletti sorainak linearis kombin acioi. Termeszetesen
a C k odot lehet gener alni m as matrixszal is, de azoknak vagy k line arisan
f uggetlen sora kell hogy legyen, melyek ugyanabban az alterben vannak, mint
amelyet az eredeti G m atrix sorai gener altak, vagy lehet k

sora, ahol k

> k,
melyek ugyanazt az alteret generalj ak. A G m atrixot, mint linearis algebrai
ismereteinkb ol tudjuk,
G = (I
k
| A)
alakra lehet hozni, ahol I
k
egy k k egysegmatrix, A pedig egy k (n k)
m atrix. Az ilyen alak u gener atormatrixot szisztematikus alak unak nevezz uk.
A szisztematikus gener atorm atrixszal kapott k odszo els o k szimb oluma
pontosan az uzenetszimb olum, gy a kodszo elso lat asra tartalmazza az uzenetet.
Megjegyezz uk, hogy a permutaciomatrix egy olyan matrix, melyet az
egysegmatrix sorainak permut acioival nyer unk.
3.6. Dencio. Ket (n, k)-kodot, C es C

-t ekvivalens kodnak nevezz uk, ha


alkalmas G es G

generatormatrixaikhoz letezik olyan nn-es P permutacio-


matrix, hogy G

= GP.
3.4. Pelda. Legyenek adva a kovetkezo binaris matrixok:

G =
_
_
0 0 1 1
0 1 1 0
1 0 1 1
_
_
es G

=
_
_
1 0 0 1
0 1 0 1
0 0 1 0
_
_
.
45
A G es G

altal generalt C es C

ekvivalens kodok, ugyanis



G masodik es
harmadik sorahoz hozzaadva az elso sorat a C egy masik G generatormatrixat
kapjuk:
G =
_
_
0 0 1 1
0 1 0 1
1 0 0 0
_
_
.
Ha
P =
_
_
_
_
0 0 1 0
0 1 0 0
1 0 0 0
0 0 0 1
_
_
_
_
,
akkor G

= GP. Itt P a G elso es harmadik sorat csereli fel.



Igy C minden
kodszavaban is felcsereli az elso es harmadik koordinatakat.
A kodok ekivivalenciaj anak fogalma a k ovetkez o konnyen bel athat o ered-
menyhez vezet.
3.2. Tetel. Ha C egy F test feletti (n, k)-kod, akkor letezik C-nek olyan G
generatormatrixa, mely
G = (I
k
| A)
alak u.
Egy C (n, k)-k od jellemzesehez hasznos megnezni a C un. ortogonalis
komplemenset.
3.7. Dencio. Legyen C egy F test feletti (n, k)-kod. A C kod C

orto-
gonalis komplemense:
C

= {x V
n
(F) | x y = 0 minden y C-re },
ahol jeloli az x es y vektorok skalarszorzatat. C

kodot a C dualis kodjanak


nevezz uk.
3.3. Tetel. Ha C egy F test feletti (n, k)-kod, akkor C

egy ugyanazon test


feletti (n, n k)-kod.
Bizonytas: Azt kell belatnunk, hogy C

egy (n k)-dimenzi os vektorter


az F test felett. Nyilv an a 0 vektor a C

-ben van. Ha x, y C

, akkor
(x +y) z = x z +y z = 0, minden z C-re.
Ugyangy bel athat o, hogy ha x z = 0, akkor
(x) z = (x z) = 0
46
gy C

z art a skal arszorz asra nezve. Tehat C

a V
n
(F) egy altere.
Ha G = ( I
k
| A) a C egy szisztematikus alak u generatorm atrixa, akkor
vegy uk a H = ( A
t
| I
nk
) m atrixot. Ha ez a C

teret gener alja, akkor


a
GH
t
= I
k
(A) +AI
nk
= 0
egyenl oseg k ovetkezmenye, hogy a C

ter vektorai mer olegesek a C ter el-


emeire. Kaptuk, hogy C

. Megfordtva, ha valamely x C

, ahol
x = (x
1
, x
2
, . . . , x
n
), legyen y = x

nk
i=1
x
i+k
r
i
, ahol r
i
az H i-edik sora
1 i k. Ekkor x C

-b ol kovetkezik, hogy y C

. Az y konstrukcioja
alapjan y = (y
1
, y
2
, . . . , y
k
, 0, . . . , 0), y
i
F. Mivel x C

, es a H so-
rai is C

-beliek Gy
t
= 0, amib ol y
i
= 0, 1 i k k ovetkezik, teh at
x

nk
i=1
x
i+k
r
i
.

Igy C

. A C

dimenzi oja n k, mivel H sorai


line arisan f uggetlenek.
A bizonytas soran a kovetkezoket is belattuk:
3.4. Tetel. Ha C egy generatormatrixa G = (I
k
| A), akkor C

-nek generator-
matrixa a H = (A
t
| I
nk
).
3.5. Pelda. Legyen C egy Z
2
feletti (6, 3)-kod, amelynek generatormatrixa

G =
_
_
1 0 1 1 0 1
1 1 0 1 0 0
0 1 0 0 1 0
_
_
.
Ekkor

G-t atalakthatjuk:
G =
_
_
1 0 0 1 1 1
0 1 0 0 1 1
0 0 1 0 1 0
_
_
= ( I
3
| A) , A =
_
_
1 1 1
0 1 1
0 1 0
_
_
alakba. A C-re ortogonalis C

generatormatrixa
H = ( A
t
| I
3
) =
_
_
1 0 0 1 0 0
1 1 1 0 1 0
0 1 0 0 0 1
_
_
.
Latjuk, hogy GH
t
= 0, es H-nak n k = 3 linearisan f uggetlen sora van.
3.6. Pelda. Legyen C egy Z
3
feletti kod

G =
_
_
_
_
2 1 0 1 1 0 0
0 0 1 1 0 2 0
2 1 0 2 0 2 0
1 1 0 0 0 2 1
_
_
_
_
.
47
A harmadik sorbol az elso es negyedik sort kivonva kapjuk, hogy
G

=
_
_
_
_
0 0 0 2 1 1 0
0 0 1 1 0 2 0
2 1 0 2 0 2 0
2 0 0 1 0 0 1
_
_
_
_
.
A G

oszlopait permutalva (sorban az 5., 3., 2., 7., 1., 4., 6. oszlopokat veve)
kapjuk, hogy a C szisztematikus G generatormatrixa:
G =
_
_
_
_
1 0 0 0 0 2 1
0 1 0 0 0 1 2
0 0 1 0 2 2 2
0 0 0 1 2 1 0
_
_
_
_
= ( I
4
| A) , A =
_
_
_
_
0 2 1
0 1 2
2 2 2
2 1 0
_
_
_
_
.
A C

generatormatrixa
H = ( A
t
| I
3
) =
_
_
0 0 1 1 1 0 0
1 2 1 2 0 1 0
2 1 1 0 0 0 1
_
_
,
s ez oszlopcserekkel
H

=
_
_
1 1 0 0 0 0 1
0 1 2 1 1 0 2
0 1 1 0 2 1 0
_
_
alakra hozhato. Lathato, hogy GH
t
= 0, s H-nak n k = 3 linearisan
f uggetlen sora van.
L attuk, hogy egy v V
n
(F) kodsz o akkor es csakis akkor van a C(n, k)-
k odban, ha Hv
t
= 0, ahol H a C

gener atormatrixa.
3.8. Dencio. Legyen C egy F test feletti C(n, k) kod generatormatrixa.
Ha H a C

generatormatrixa, akkor azt C ellenorzo matrixanak nevezz uk.


A H
t
-hoz tartozo alteret szokas C nullterenek nevezni.
Tegy uk fel, hogy m = (m
1
m
2
. . . m
k
) egy k hossz usag u uzenet, amely egy
n hossz usag u kodsz o eleje. Ekkor egy c k odszo
c = (m
1
m
2
. . . m
k
x
1
x
2
x
nk
)
alak u. Az x
i
szimb olumokat (1 i n k) ellenorzo szimbolumoknak
nevezz uk. Ezek biztostjak a hibajavtast, mivel Hc
t
nullvektor kell legyen.
Ha adottak az m
i
(1 i n), uzenetszimb olumok, akkor az x
i
, (1 i
n k) ertekeket a Hc
t
= 0 egyenletb ol egyertelm uen meg lehet hat arozni.
F = Z
2
es n = k + 1 eseten x
1
-et paritasellenorzo bitnek szok as nevezni.
48
3.7. Pelda. Legyen H = (11111) a Z
2
feletti C (5, 4)-kod ellenorzo matrixa.
Ekkor a C generatormatrixa
G =
_
_
_
_
1 0 0 0 1
0 1 0 0 1
0 0 1 0 1
0 0 0 1 1
_
_
_
_
.
Az (1011) informaciohoz ekkor a (10111) kodszo tartozik. A H matrixhoz
tartozo ellenorzo bit ekkor 0 vagy 1 attol f uggoen, hogy a kodszoban levo
egyesek szama paratlan, vagy paros.
3.8. Pelda. Legyen
H =
_
_
1 0 1 1 0 0
1 1 0 0 1 0
0 1 1 0 0 1
_
_
a C(6, 3) binaris ellenorzo matrixa. Legyen az uzenet m = (101). Azt sze-
retnenk, hogy a kodszo elso 3 bitje maga az uzenet legyen, tehat a kodszo
c = (101x
1
x
2
x
3
) legyen. A Hc
t
= 0 egyenletbol pedig kapjuk, hogy
1 + 1 +x
1
= 0, = x
1
= 0
1 +x
2
= 0, = x
2
= 1
1 +x
3
= 0, = x
3
= 1.

Igy c = (101011) a kodszo. altalaban az m-hez tartozo c = (m


1
m
2
m
3
x
1
x
2
x
3
)
uzenetben az m
1
, m
2
es m
3
szimbolumokat az
m
1
+ m
3
= x
1
m
1
+ m
2
= x
2
m
2
+ m
3
= x
3
egyenletrendszer segtsegevel lehet meghatarozni.
Ha az adott kodhoz a G generatormatrixot szisztematikus alakban, tehat
G = ( I
3
| A) alakban adjuk meg, akkor az ellenorzo matrix
H = ( A
t
| I
3
)
alak u lesz, tehat
G = ( I
3
| A) =
_
_
1 0 0 1 1 0
0 1 0 0 1 1
0 0 1 1 0 1
_
_
.

Igy c = mG = (101011).
49
Sokmindent lehet mondani egy k odr ol az ellenorz o m atrixa alapj an. Peldaul
a kod hibajavt o kepesseger ol:
3.5. Tetel. Ha H egy F test feletti (n, k)-kod ellenorzo matrixa, akkor ah-
hoz, hogy a C Hamming-tavolsaga legalabb d legyen, sz ukseges es elegseges,
hogy H-nak minden legfeljebb d1 szam u oszlopa linearisan f uggetlen legyen.
Bizonytas: Ha a H-nak d 1 line arisan f uggetlen oszlopa van, akkor a H
oszlopait h
1
, h
2
, . . . , h
n
-el jel olve, minden C-beli c = (c
1
, c
2
, . . . , c
n
) k odsz ora
igaz, hogy
Hc
t
=
n

i=1
c
i
h
i
= 0.
Ha w(c) d 1, akkor a nullvektor nemtrivi alis m odon line arisan kikom-
bin alhato a H m atrix d sz am u oszlop ab ol. Ez lehetetlen a H oszlopaira
vonatkozo felteves miatt. Kaptuk, hogy w(c) d minden c C-re.
Megfordtva, ha a C Hamming-t avols aga legalabb d, es lenne a H-nak
t d 1 linearisan f uggo oszlopa, pl. h
i
1
, h
i
2
, . . . , h
i
t
, akkor leteznenek
olyan
i
j
F nem csupa nulla konstansok, hogy

t
j=1

i
j
h
i
j
= 0. Vegy unk
egy c vektort, amelynek
i
j
van az i
j
-edik koordin ataj aban, ha 1 j t,
es 0 egyebkent. Az gy kapott c vektor nem nulla, mivel Hc
t
= 0. Mivel
w(c) = t d 1, ez ellentmond annak, hogy a k od minim alis t avolsaga d.
Tehat H minden legfeljebb d 1 szam u oszlopa line arisan f uggetlen.
Mivel H sorainak sz ama n k, gy kapjuk a linearis k odokra az u.n
Singleton korl atot .
3.1. K ovetkezmeny. Tetszoleges C linearis (n, k, d) kodra d nk +1.
3.1.1. Linearis k odok dekodolasa
Az F test feletti olyan (n, k)-k odot, amelynek Hamming t avols aga d, a k od-
elmeletben bevett szok as szerint (n, k, d)-k odnak is jel olj uk. Ha d s uly u,
n hossz usag u szavakat tartalmazo kod nem alter, s M sz ot tartalmaz, akkor
[n, M, d] a jel oles. Legyen C = {0, c
1
, c
2
, . . . , c
s
} egy linearis k od. V alasszunk
ki egy a
1
vektort, es kepezz uk az alabbi halmazt:
C +{a
1
} = {a
1
+0, a
1
+c
1
, a
1
+c
2
, . . . , a
1
+c
s
}.
Ezek ut an vegy unk egy a
2
/ C (C + {a
1
}) vektort, es ezzel az elemmel
kepezz unk egy halmazt az el obbi m odon:
C +{a
2
} = {a
2
+0, a
2
+c
1
+a
2
+c
2
, . . . , a
2
+c
s
}.
50
Most ismet keress unk egy a
3
/ C (C + {a
1
}) (C + {a
2
}) vektort, es
kepezz unk a C + {a
3
} halmazt; stb. Az elj arast folytassuk, amg V
n
(F)
minden eleme be nem ker ul valamelyik halmazba. A H ellen orzo m atrix u C
k odra ezt szemlelteti a k ovetkez o t abl azat:
0 0 c
1
c
2
... c
s
Ha
t
1
a
1
a
1
+c
1
a
1
+c
2
... a
1
+c
s
Ha
t
2
a
2
a
2
+c
1
a
2
+c
2
... a
2
+c
s
... ... ... ... ... ...
Ha
t
r
a
r
a
r
+c
1
a
r
+c
2
... a
r
+c
s
.
3.1 tabl azat
A konstrukci obol vil agosak az al abbiak:
1. Egyetlen a
1
sem eleme egyetlen f ol otte lev o sornak sem.
2. V
n
(F) minden eleme szerepel a t abl azatban.
Az gy osszealltott t abl azatot gyakran standard tombnek is nevezik.
3.6. Tetel. A standard tombben V
n
(F) minden eleme pontosan egyszer sze-
repel.
Bizonytas: Tegy uk fel, hogy valamely v ket k ul onb oz o sorban is szerepel.
Az nem lehetseges, hogy v ugyanabban a sorban ketszer szerepeljen, hiszen
v = a
i
1
+c
j
1
es v = a
i
2
+c
j
2
eseten azt kapnank, hogy a
i
1
+c
j
1
= a
i
2
+c
j
2
,
amib ol a
i
2
= a
i
1
+ (c
j
1
+ c
j
2
) adodik. Mivel C line aris, ezert (c
j
1
+ c
j
2
) =
c
j
C.

Igy teh at a
i
2
= a
i
1
+ c
j
, vagyis a
i
2
vektor eleme a
i
1
sor anak, ami
szinten lehetetlen a konstrukcio miatt.
A fenti C = C + {0}, C + {a
1
}, . . . , C + {a
r
} halmazokat a V
n
(F)-
ben C szerinti mellekosztalyoknak, a {0, a
1
, . . . , a
r
} vektorrendszert pedig
a mellekosztalyok egy reprezentansrendszerenek nevezz uk.
Mint a csoportelmeletb ol ismert, egy csoport b armely reszcsoportja sze-
rinti mellekoszt alyok diszjunktak egym ashoz, es a mellekoszt alyok minde-
gyike a reszcsoporttal azonos szam u elemet tartalmaz. Mivel a C elemei a
V
n
(F) additv csoportj anak egy reszcsoportj at alkotjak, alkalmazhatjuk az
el ozo allt ast.
Az is ismert, hogy a mellekosztalyok osszetetele nem f ugg a reprezent ans
v alasztas at ol, tehat megtehetj uk, hogy olyan reprezent ansrendszert v alasz-
tunk, amelyben minden vektor a saj at mellekoszt aly anak egy minimalis s uly u
eleme, azaz egy un. osztalyelso. Erre a reprezentansrendszerre igaz a k ovetke-
z o tetel:
51
3.7. Tetel. A C linearis koddal pontosan akkor lehet t hibat javtani, ha
minden legfeljebb t s uly u vektor szerepel az osztalyelsokbol allo reprezentans-
rendszerben.
Bizonytas: (Elegsegesseg) A c
i
C k ozeppont u, t sugar u S
(c
i
,t)
g omb tet-
sz oleges elemet felrhatjuk c
i
+a
j
alakban, ahol a
j
k odszo es w(a
j
) t. Mivel
a feltetel szerint minden legfeljebb t s uly u vektor eleme a reprezent ansrend-
szernek, ezert az S
(c
i
,t)
g omb minden eleme benne van a tabl azat c
i
, c
i
+
a
1
, . . . , c
i
+a
r
vektorokb ol all o oszlopaban. Az eloz o tetel szerint a k ul onb oz o
oszlopoknak nincs k ozos elem uk, gy az S
(c
i
,t)
(c
i
C) gomb ok is diszjunktak
egym ashoz.
(Sz uksegesseg) Tegy uk fel, hogy a C k oddal t hib at tudunk javtani, es
legyen v egy t-nel nagyobb s uly u vektor, amely nem eleme a fenti reprezen-
t ansrendszernek. Legyen v C+{a
j
}. Ekkor v = a
j
+c
i
, ahol c
i
C, c
i
= 0,
tov abb a a reprezent ansrendszer kivalaszt asa folyt an w(a
j
) w(v). A kife-
jezesbol azt kapjuk, hogy c
i
= v a
j
, ebb ol pedig w(c
i
) w(v) + w(a
j
)
2w(v) 2t k ovetkezik. De c
i
= 0 miatt ez ellentmond annak, hogy w(C)
2t + 1.
3.9. Dencio. Ha H a C-kod ellenorzo matrixa, akkor a Hc
t
vektort a
c C vektor szindromajanak nevezz uk.
Megjegyzes: neha az egyszer ubb ler as kedveert szindromakent a cH
t
erteket szamoljuk ki, ami azt jelenti, hogy sorvektorok helyett oszlopvek-
torokkal dolgozunk. Denci o szerint egy vektor pontosan akkor lesz k odszo,
ha szindrom aja nulla.
3.8. Tetel. Ket vektor pontosan akkor tartozik ugyanahhoz a mellekosztaly-
hoz, ha szindromajuk megegyezik.
Bizonytas: Tegy uk fel, hogy v
1
es v
2
ugyanannak a mellekoszt alynak az
elemei, es legyen a
j
az ebb ol az osztalybol kiv alasztott reprezent ans. Ekkor
v
1
= a
j
+c
i
1
es v
2
= a
j
+c
i
2
, ahol c
i
1
, c
i
2
C. Kepezve a Hv
t
1
szindr omat,
az alabbiakat kapjuk:
Hv
t
1
= H(a
j
+c
i
1
)
t
= Ha
t
j
+Hc
t
i
1
= Ha
t
j
= Ha
t
j
+Hc
t
i
2
=
= H(a
j
+c
i
2
)
t
= Hv
t
2
,
vagyis v
1
es v
2
szindr omaja megegyezik az a
j
reprezent anseval.
Tegy uk fel most, hogy Hv
t
1
= Hv
t
2
. Ekkor H(v
1
+v
2
)
t
= 0, azaz v
1
+v
2
eleme a C k odnak. Legyen c
i
= v
1
+v
2
, es tegy uk fel indirekt m odon, hogy
v
1
es v
2
k ulonboz o mellekoszt alyokhoz tartoznak, azaz v
1
C +{a
j
1
}, v
2

52
C + {a
j
2
} es j
1
< j
2
. Ekkor v
1
= a
j
1
+ c
i
1
+ a
j
2
+ c
i
2
. Tudjuk viszont, hogy
v
1
+v
2
= c
i
.

Igy
a
j
2
= a
j
1
+c
i
+c
i
1
+c
i
2
.
Mivel C z art az osszeadasra nezve, ezert c
i
+ c
i
1
+ c
i
2
C, teh at a
j
2

C + {a
j
1
}, ami ellentmond a
j
2
v alasztas anak. Kovetkezeskeppen v
1
es v
2
ugyanazon mellekoszt aly elemei.
Az eloz o tetel segtsegevel egy jol ismert hibajavt o algoritmushoz jutunk
line aris k odokra, amelyet standard dekodolo algoritmusnak is neveznek.
3.9. Pelda. A kovetkezokben megmutatjuk, hogyan kell egy tablazatot felepte-
n unk.
1. Az egyik sorban fel kell sorolnunk a C linearis kod elemeit, es a nul-
lvektorral kell kezden unk a felsorolast.
(000000) (100110) (010011) (001101) (110101) (101011) (011110) (111000).
2. Valasszunk egy x elemet a V
6
(Z
2
)-bol (altalanosan a V
n
(F)-bol), ahol
az x-re igaz, hogy eddig meg nem szerepelt a tablazatban, es minimum
s ullyal rendelkezik. Ezutan soroljuk fel az x +C mellekosztaly elemeit,
es az x + c ker uljon kozvetlen ul a c ala minden c C eseten. x =
(100000) eseten a kovetkezot kapjuk:
(000000) (100110) (010011) (001101) (110101) (101011) (011110) (111000)
(100000) (000110) (110011) (101101) (010101) (001011) (111110) (011000) .
3. Ismetelj uk a 2-es lepest mindaddig, mg a mellekosztalyok a V
6
(Z
2
)
(altalanosan a V
n
(F)) egy felosztasat szolgaltatjak. Ez a kovetkezo
dekodolo tablazatot szolgaltatja:
000000 100110 010011 001101 110101 101011 011110 111000
100000 000110 110011 101101 010101 001011 111110 011000
010000 110110 000011 011101 100101 111011 001110 101000
001000 101110 011011 000101 111101 100011 010110 110000
000100 100010 010111 001001 110001 101111 011010 111100
000010 100100 010001 001111 110111 101001 011100 111010
000001 100111 010010 001100 110100 101010 011111 111001
010100 110010 000111 011001 100001 111111 001010 101100
3.2 Dekodolo tablazat a 3.9 pelda kodjahoz
53
4. Ha a dekodolo tablazatot elkesztett uk, akkor barmely r kapott szora meg
tudjuk azt az oszlopot talalni, amely r-t tartalmazza; ezutan az oszlop
tetejen talalhato c kodszo elso harom komponenset kell felhasznalnunk
r dekodolasahoz. A tablazat alapjan a kovetkezo kapott szavak eseten:
r
1
= (101001), r
2
= (111010), r
3
= (001001), r
4
= (111011),
a megfelelo kodszavak a kovetkezok:
c
1
= (101011), c
2
= (111000), c
3
= (001101), c
4
= (101011).
Ezen eredmenyek alapjan a megfelelo uzenetek a kovetkezok:
m
1
= (101), m
2
= (111), m
3
= (001), m
4
= (101).
Az 3.2 tabl azat els o oszlop anak bejegyzesei a mellekoszt alyok legkisebb
s uly u elemei. Az elso het sor legkisebb s uly u eleme ugyanaz minden ilyen
dek odolo tabl azatban, ezek sorrendje azonban valtozhat. Az utolso sor-
ban (010100) helyett akar (100001) vagy (001010) is allhatna, mivel ezek
s ulya szinten 2, teh at a tabl azat nem egyertelm u. Ennek eredmenyekeppen
nem minden dupla hiba javthat o, mert lehet hogy nincs helyes k odszo mi-
nimum tavols agra minden r sz ohoz az utols o mellekoszt alybol (amelyiknek a
legkisebb eleme (010100)). Peldaul, ha r = (001010), akkor harom legk ozelebbi
k odszo van (a tavolsag 2): (000000), (101011) es (011110). Hogyansegtenek a
mellekoszt alyok legkisebb s uly u elemei? ugy t unik, hogy az els o sor kodszavai
pontosan azok, amiket az r
1
, r
2
, r
3
es r
4
dek odolas ahoz el obb haszn altunk.
Tegy uk fel, hogy a kapott szavak, r
1
= (101001) es r
2
= (111010), a hatodik
sorban vannak, ahol a legkisebb s uly u elem x = (000010). Ha a szindr omakat
is kiszamoljuk, akkor a kovetkezot kapjuk:
H(r
1
)
t
=
_
_
0
1
0
_
_
= H(r
2
)
t
= Hx
t
.
3.9. Tetel. Ha egy linearis kod dekodolasat a mellekosztalyok legkisebb s uly u
elemei alapjan vegezz uk el, es r V
n
(F) az a szo, amit a c

kodszo dekodolasa-
val nyer unk, akkor d(c

, r) d(c, r) igaz az osszes c kodszora.


Bizonytas: Legyen x a legkisebb s uly u eleme egy r-et tartalmazo mellekosz-
t alynak. Ekkor r = c

+x, vagy r +c

= x, gy d(c

, r) = w(r +c

) = w(x).
Ha c egy k odszo, akkor d(c, r) = w(c r), es ebbol c + r = c + (c

+
x) = (c + c

) + x k ovetkezik. Mivel C egy linearis kod, gy c + c

C es
c + r az x + C mellekoszt aly eleme. Az x + C mellekoszt aly elemeib ol a
legkisebb s uly u x-et valasztjuk ki, gy w(c + r) w(x). K ovetkezeskeppen
d(c

, r) = w(x) w(c +r) = d(c, r).


54
3.10. Tetel. Ha az k-dimenzios C V
n
(GF(2
n
)) koddal t hibat tudunk ja-
vtani, akkor teljes ulnie kell az alabbi egyenlosegnek:
2
nk
1 +
_
n
1
_
+
_
n
2
_
+. . . +
_
n
t
_
.
Ezt a korlatot nevezz uk Hamming-korlatnak.
Bizonytas: Tudjuk, hogy ebben az esetben minden legfeljebb t s uly u vektor-
nak szerepelnie kell az oszt alyels okbol all o reprezent ansrendszerben. osszesen
2
nk
darab mellekosztalyunk van (mag at C-t is beleertve), m asreszt a nulla
s uly u vektorok sz ama
_
n
0
_
= 1, az 1 s uly uake
_
n
1
_
, a ketto s uly uake
_
n
2
_
, stb.

Igy tehat
2
nk
1 +
_
n
1
_
+
_
n
2
_
. . .
_
n
t
_
.
3.1.2. Hamming-kodok es tokeletes kodok
3.10. Dencio. GF(q) feletti r-edfok u Hamming-kod egy olyan (n, k)-kod,
melyre n = (q
r
1)/(q 1) es k = n r, melynek ellenorzo matrixa pedig
egy olyan r n-es matrix, melynek oszlopai nem nullak, es nincs ket oszlopa,
melyek skalarszorosai egymasnak.
Az ellen orz o m atrix line arisan f uggetlen oszlopai szam ab ol (3.5 tetel)
k ovetkezik, hogy a Hamming kod t avolsaga d = 3, ezert ez a k od 1 hibat
javto k od. Megjegyezz uk, hogy q
r
1 darab nem-nulla r-es letezik, es q 1
sz am u nem-nulla skal ar. Emiatt, ha meg egy oszlopot hozzaadn ank a H-
hoz, akkor m ar lenne egy olyan oszlop, mely az adott oszlop skal arszorzata
lenne, es a 3.5 tetel szerint nem lehetne egy hibat javtani, mivel lenne 2
nem linearisan f ugg o oszlopa. Ebben az ertelemben a kodszavak maximalis
hossz uak, tehat adott r-re maxim alis sz am u informaci os szimb olumot tartal-
maznak, es az adott r-hez maximalis sz am u k odszot tartalmaznak.
3.10. Pelda. Ha r = 3, s F = GF(2), akkor
H =
_
_
1 1 0 1 1 0 0
1 0 1 1 0 1 0
0 1 1 1 0 0 1
_
_
eseten azt talaljuk, hogy H az elobbi dencio szerint Hammming-kodot hataroz
meg, tehat r = 3-ra, es q = 2-re a leheto legtobb oszlop van H-ban. Ha H
55
eggyel is tobb oszlopot tartalmazna, akkor H-t mar nem tudnank egyetlen hiba
javtasara sem hasznalni. A H-hoz tartozo G generalo matrix a kovetkezo
G =
_
_
_
_
1 0 0 0 1 1 0
0 1 0 0 1 0 1
0 0 1 0 0 1 1
0 0 0 1 1 1 1
_
_
_
_
.
Kovetkezeskepp egy (7, 4, 3) Hamming-kodhoz jutottunk. A kodolo f : Z
4
2

Z
7
2
f uggveny negy bites uzeneteket kodol het bites kodszavakka. Mivel H-t
harom paritasellenorzo egyenlet alapjan hataroztuk meg, gy maximalizaltuk
az uzenet bitjeinek a szamat. Tovabba H oszlopait fentrol lefele olvasva azok
az 1-tol 7-ig tarto egesz szamok binaris megfeleloi.

Altal anosan, bin aris esetben, ha r darab paritasellen orz o egyenletet hasz-
n alunk, akkor a paritasellenorz o H m atrixnak legfeljebb 2
r
1 oszlopa lehet
ahhoz, hogy egyszer u hib ak javtas ara hasznalni lehessen. Ezen k or ulmenyek
k ozott H = (A | I
r
), ahol A egy r (2
r
1 r)-es m atrix, es G = (I
k
| A
t
),
ahol k = 2
r
1 r. A H ellen orzo m atrix 2
r
1 2
r
1 r meret u.
3.11. Pelda. Ha r = 3, F = GF(3), akkor H egy (13, 10) Hamming-kodot
denial, ahol
H
3
=
_
_
1 0 0 1 0 1 1 2 0 1 2 1 1
0 1 0 1 1 0 1 1 2 0 1 2 1
0 0 1 0 1 1 1 0 1 2 1 1 2
_
_
.
Ha r = 4, akkor 2
r
1 = 15 es 2
r
1 r = 11. Egy lehetseges H Hamming-
matrix r = 4 eseten a kovetkezo:
_
_
_
_
1 1 1 1 1 1 1 0 0 0 0 1 0 0 0
1 1 1 1 0 0 0 1 1 1 0 0 1 0 0
1 1 0 0 1 1 0 1 1 0 1 0 0 1 0
1 0 1 0 1 0 1 1 0 1 1 0 0 0 1
_
_
_
_
.
A H matrix oszlopai az 1-tol 15-ig (= 2
4
1) terjedo egesz szamok binaris
megfeleloi.
Ez a H m atrix az ellenorzo m atrixa az (15, 11)-es Hamming-k odnak.
A Hamming-k od erdekessege, hogy minden n-es (a V
n
(F) minden eleme)
valamely k odszo k or uli 1 sugar u g ombben van.
3.11. Dencio. Ha egy linearis kod olyan, hogy a V
n
(F) ter minden eleme
benne van valamelyik kodszo kor uli 1 sugar u gombben, akkor azt tokeletes
kodnak nevezz uk.
56
3.11. Tetel. Egy GF(q) feletti r-edfok u Hamming kod tokeletes.
Bizonytas: Mint emltett uk, a Hamming-kod t avols aga 3. Vegy unk egy
c C k odszot. Hatarozzuk meg, hany V
n
(F)-beli k odszo van a c k or uli
1 sugar u g ombben. A c-t ol 1 t avols agban lev o szavak egy koordinat aban
k ulonboznek c-t ol, ezt q 1-felekeppen v alaszthatjuk ki minden n helyhez.
Tehat ez a g omb 1 +n(q 1) vektort tartalmaz. Mivel a k odszavak kor uli 1
sugar u gombok diszjunktak, s q
k
k odszo letezik, ahol k = nr, a g omb okben
levo vektorok szama osszesen:
(1 +n(q 1))q
k
= (1 + (q
r
1))q
nr
= q
n
.
Ez a GF(q) feletti n-dimenzi os vektorter osszes elemeinek sz ama.
A bizonyt asbol k ovetkezik, hogy egy t hib at javto (n, M) k od (ahol M
jel oli a k odszavak sz amat) akkor es csakis akkor t okeletes, ha eleri az un.
Hamming-korlatot, aminek erteke:
q
n
M
t

i=0
_
n
i
_
(q 1)
i
.
57
FELADATOK:
1. (a) Hatarozzuk meg a kovetkezo gener atormatrixokhoz tartoz o ellen orzo
m atrixokat, ha G
1
, G
3
, G
4
GF(2) feletti kodot gener al, G
2
pedig
GF(3) felettit:
G
1
=
_
_
_
_
1 0 1 0 1 1
1 1 0 1 0 1
1 1 1 1 0 1
1 0 0 0 1 1
_
_
_
_
, G
2
=
_
_
_
_
1 2 1 1 2 1
0 1 0 1 1 1
1 0 2 1 1 1
0 1 0 2 1 0
_
_
_
_
,
G
3
=
_
_
_
_
_
_
_
_
1 1 1 0 0 1 0 0 0 0 0
0 0 1 1 1 0 1 0 0 0 0
0 1 1 0 1 0 0 1 0 0 0
0 1 1 1 0 0 0 0 0 1 0
1 1 1 1 1 0 0 0 0 0 1
0 1 0 1 1 0 0 0 1 0 0
_
_
_
_
_
_
_
_
, G
4
=
_
_
1 0 0 1 1
1 1 1 0 1
0 0 1 1 1
_
_
.
(b) J o kodot gener al-e G
1
?
(c) Bizonytsuk be, hogy a G
3
altal generalt kodban minden kodsz o
s ulya p aros.
2. Hat arozzuk meg a kovetkezo ellenorz o m atrixok altal meghat arozott
k odok Hamming t avols agat, ha H
1
es H
4
bin aris,a H
2
m atrix GF(7)
feletti, es H
3
pedig GF(31) feletti m atrixhoz tartozik, ahol
H
1
=
_
_
_
_
1 0 0 1 0 0 0 1 1 0 1 1 0 1
0 0 1 0 1 0 1 1 1 0 0 1 1 1
0 0 1 0 0 1 0 0 0 1 1 1 0 1
0 1 0 1 0 0 1 1 0 1 0 1 1 0
_
_
_
_
,
H
2
=
_
_
2 1 0 6 1 0 0
0 1 3 0 4 3 2
4 0 4 6 0 3 5
_
_
, H
3
=
_
_
1 1 0 0 0 1 0
0 1 1 1 0 0 0
0 1 0 1 0 1 1
_
_
,
H
4
=
_
_
_
_
1 0 0 0 1 0 1 1
0 1 0 0 0 1 1 1
0 0 1 0 1 1 0 1
0 0 0 1 1 1 1 0
_
_
_
_
.
Az elobbi k odok k oz ul melyek haszn alhat ok j ol a hibajavtashoz?
58
3. Adott a C k od a G gener atormatrixszal, ahol
G =
_
_
_
_
_
_
1 1 1 0 1 1
0 1 0 0 1 1
1 0 1 1 0 1
0 1 1 1 0 1
.
_
_
_
_
_
_
(a) Hatarozzuk meg a C k odszavait.
(b) Hat arozzuk meg a C ellen orzo m atrixat.
(c) Hatarozzuk meg a C t avolsagat.
(d) Hat arozzuk meg, hogy C h any hibat tud javtani.
4. Legyen H egy olyan m atrix, amely a C (n, k)-k od ortogonalis komple-
menset feszti ki,
H =
_
_
_
_
1 1 0 1 0 0 1
0 1 1 1 1 0 0
1 0 0 1 1 1 0
0 0 1 1 0 1 1
_
_
_
_
.
(a) Hat arozzuk meg a k odszavak M sz amat, es a C k od t avols agat.
(b) Keress uk meg a C gener atormatrixat.
(c) Bizonytsuk be, hogy C

C.
(d) Dekodoljuk a kovetkezo vett szavakat:
i) r
1
= (1110101); ii) r
2
= (0110101) iii) r
3
= (1110111)
iv) r
4
= (1110011) (v) r
6
= (1110001).
(e) Hatarozzuk meg a C k od gener ator es ellen orz o m atrixanak sziszte-
matikus alakjat.
5. Legyenek az uzenetszimb olumok k odjai:
sz okoz 0011 M 0010
E 1100 P 1101
H 0110 U 1010
L 0100 A 0101 ,
es a generatorm atrix:
G =
_
_
_
_
0 0 0 1 1 1 0 1
1 0 0 1 0 1 1 0
0 1 0 1 1 0 1 0
0 0 1 0 1 1 1 0
_
_
_
_
.
59
Dek odolja a kovetkez o uzenetet a benne lev o szavakhoz legkozelebb es o
k odszavakkal:
(11010110), (10001011), (10011000), (10101101), (11110100),
(01000110), (01000110), (10100101).
Melyek a 4 hossz usag u m uzenet mG altal megadott k odjai?
6. Legyen a GF(3) feletti C(4, 2)-k od ellen orzo m atrixa H =
_
1 0 2 1
0 1 1 1
_
.
(a) Tokeletes lesz-e ez a k od?
(b)

Irjuk fel a standard tombot a C-hez.
(c) Dekodoljuk az alabbi vett szavakat:
i) r
1
= (2211), ; ii) r
2
= (2221), iii) r
3
= (2222).
7. Bizonytsuk be, hogy minden bin aris (23, 12, 7) kod t okeletes.
8. Legyen a GF(3) feletti C (n, k)-k od gener atorm atrixa
G =
_
_
_
_
1 0 2 0 1 2 1 2
0 2 2 1 0 2 0 1
1 0 2 2 1 2 0 0
0 2 2 1 1 0 0 2
_
_
_
_
.
(a) Hatarozzuk meg n es k erteket, s a C ellen orzo m atrixat.
(b) Hat arozzuk meg d erteket.
(c) Mennyi lesz a hibavektor erteke, ha a vett sz o r = (00220122)?
9. Legyen C egy (n, k)-k od a GF(q) test felett. Helyezz uk el egy m atrix
soraiban C osszes k odszav at.
(a) Bizonytsuk be, hogy a test minden eleme pontosan q
k1
-szer for-
dul el o minden oszlopban. (Tan acs: lassuk be, hogy egy konkret
koordin ata helyen 0-t tartalmaz o szavak alteret alkotnak, es tek-
ints uk ezen alterek szerinti mellekosztalyokat a V
n
(GF(q))-ban.)
(b) Haszn alva a feladat a) reszet lassuk be, hogy a C-ben a k odszavak
s ulyanak osszege n(q 1)q
k1
.
10. Legyen C egy binaris (n, k, d)-k od. Mutassuk meg, hogy d n2
k1
/(2
k

1). (Tanacs: az el oz o feladat a) reszet felhasznalva vegy uk a k ulonb oz o


k odszop arok t avols aga osszegenek also korlatjat. Ezt a korl atot nevezik
az (n, k) kodok Plotkin-korlatjanak.)
60
11. Legyen C egy binaris [n, M, d]-k od.
(a) Ha s jel oli a k ul onb ozo k odszop arok tavolsaga osszeget, akkor bi-
zonytsuk be, hogy s
_
M
2
_
d.
(b) Rendezz uk C szavait egy A m atrix soraiba. Legyen x
i
az A i-
edik oszlop aban lev o 1-esek szama. Mutassuk meg, hogy s =

n
i=1
x
i
(M x
i
).
(c) Bizonytsuk be, hogy d
nM
2(M1)
. (Ezt nevezik az [n, M, d]- k od
Plotkin-korlatjanak.)
(d) Legyen C egy GF(q) feletti (n, k, d)-k od. Bizonytsuk be, hogy a
Plotkin-korl atra
d n
q
k1
(q 1)
q
k
1
.
(e) Legyen C egy GF(q) feletti (n, M, d)-k od. Bizony-tsuk be, hogy
a C Plotkin-korl atj ara
d n(q 1)M/q(M 1).
(Ez altal anostasa a feladat a) reszenek.)
12. Legyen C egy F test feletti (n, k, d)-k od, ahol d = n k +1. Egy ilyen
k odot MDS (Maximum Distance Separable)-k odnak, az osszef uggest
pedig Singleton-korlatnak nevezz uk. Mutassuk meg, hogy ha egy MDS-
k od ellenorz o m atrixat kiegesztj uk egy csupa 1-et tartalmazo sorral,
akkor MDS-k odot kapunk.
13. Legyenek n, k, d k ovetkez o egyenlotlensegnek eleget tevo kod:
d2

i=0
(q 1)
i
_
n 1
i
_
< q
nk
, k < n, d n k + 1
Bizonytsuk be, hogy letezik a GF(q) felett olyan (n, k, d)-k od, melyre
ez teljes ul. Az ilyen GF(q) felett k odot (( un. q-er k od) Varshamov-
Gilbert-korlatjanak nevezz uk.
4. fejezet
Ciklikus kodok
A line aris kodok egyik legfontosabb oszt aly at alkotj ak az un. ciklikus k odok,
melyek algebrai szempontbol is igen erdekes tulajdonsagokkal rendelkeznek.
4.1. Dencio. A V
n
(F) egy S alteret ciklikus alternek nevezz uk, ha valahany-
szor (a
1
, a
2
, . . . , a
n
) S, mindannyiszor (a
n
, a
1
, . . . , a
n1
) S. Mas szoval S
alter, es minden a S elemre az a ciklikus eltoltja is S-ben van.
4.2. Dencio. Egy C linearis kodot ciklikus kodnak nevez unk, ha C ciklikus
alter.
4.1. Pelda. 1. S = {(0000)} V
4
(Z
2
) trivialis ciklikus alter.
2. S = {(0000), (1111)} V
4
(Z
2
) ciklikus alter.
3. S = {(000000), (1011100), (0101110), (0010111), (1110010), (0111001),
(1001011), (1100101)} V
7
(Z
2
) ciklikus alter.
4. Az S = {(0000), (1001), (1100), (0011)} reszhalmaz nem ciklikus kod,
mivel nem altere V
4
(Z
2
)-nek, hiszen nem zart a vektorok osszeadasara
nezve (hianyzik a (0110) kodszo).
5. Az S = {(0000), (1000), (0011), (1011)} reszhalmaz sem ciklikus kod,
pedig altere a V
4
(Z
2
)-nek.
A kovetkezo kerdesek mer ulnek fel:
1. Hogyan lehet ciklikus altereket konstru alni?
2. Adott k-ra lehet-e k-dimenzi os ciklikus alteret konstrualni V
n
(F)-ben?
3. H any ciklikus alteret tartalmaz a V
n
(F)?
61
62
4. Mely vektorok rendelkeznek azzal a tulajdonsaggal az S alterben, hogy
ciklikus eltoltjaik generalj ak az egesz S alteret?
Peldaul V
6
(Z
2
)-ben a
v
1
= (111000), v
2
= (011100), v
3
= (001110), v
4
= (000111)
vektorok egy 4-dimenzi os alteret gener alnak, s ennek egy b azisa megkaphat o
a v
1
-b ol, s annak 3 ciklikus eltoltj abol. A v = (101010) szinten eleme S-
nek, de ciklikus eltoltjai csak 2 dimenzi os alteret gener alnak S-ben. Tudjuk,
hogy V
n
(F) Abel csoport az osszeadasra nezve. A legegyszer ubben ugy lehet
vizsg alni a ciklikus kodokat, ha minden V
n
(F)-beli v = (a
0
a
1
. . . a
n
) vek-
torhoz hozzarendel unk egy F[x]-beli
v(x) = a
0
+a
1
x +. . . +a
n1
x
n1
polinomot. Ilyenkor azt mondjuk, hogy a v(x) polinom a v-hez tartozik, s a
V
n
(F) elemeit azonostjuk az F[x] polinomgy ur u elemeivel.
Legyen v
1
, v
2
V
n
(F), s v
1
(x)v
2
(x) = v(x), ahol v(x) az F[x]/(f(x))
v
1
(x)v
2
(x) altal reprezent alt maradekosztaly anak legkisebb foksz am u poli-
nomja. M as sz oval, v(x) az f(x)-nek a v
1
(x)v
2
(x)-el val o oszt asanak maradeka.
Legyen v = (a
0
a
1
. . . a
n1
) V
n
(F). Ha
v(x) = a
0
+a
1
x +. . . +a
n1
x
n1
, akkor xv(x) = a
0
x +a
1
x
2
+. . . +a
n1
x
n
.
Mivel a V
n
(F) elemeihez legfeljebb n1-fok u polinom tartozik, az a
n1
x
n
-b ol
ciklikus eltolassal a
n1
lesz, s ebb ol az x
n
1( mod f(x)), teh at x
n
1
0( mod f(x)) kovetkezik, gy
xv(x) = a
n1
x+a
0
x+a
1
x
2
+. . .+a
n2
x
n1
(a
n1
a
0
a
1
. . . a
n2
)( mod x
n
1).
Amint l atjuk, az x-el val o szorz asnak megfelel a v ciklikus eltolasa. Ez a
teny fontos lesz a ciklikus k odok tanulm anyoz asan al.
4.1. Tetel. A V
n
(F) egy nem ures S altere akkor es csakis akkor ciklikus
alter, ha az S elemeihez tartozo polinomok I halmaza ideal a V
n
(F)-ben,
mint gy ur uben.
Bizonytas: Legyen S egy ciklikus alter. Ahhoz, hogy bebizonytsuk, hogy I
ide al V
n
(F)-ben, az axi om akat kell ellenorizni. (I, +) Abel-csoport, ugyanis
alter. Legyen v = (a
0
a
1
. . . a
n1
) S, akkor a hozzarendeles szerint v(x) I.
Mivel S ciklikus, (a
n1
a
0
a
1
. . . a
n2
) S, es xv(x) I.
63
4.2. Tetel. Legyen I a V
n
(F) egy nem-nulla idealja, s g(x) az I idealban
levo legalacsonyabb fok u fopolinom. Ekkor g(x) osztoja az f(x) = x
n
1
polinomnak. A V
n
(F) barmely I idealjat generalo fopolinom egyertelm uen
meghatarozott.
Bizonytas: A V
n
(F) minden I ide aljat generalja annak legalacsonyabb fok u
g(x) fopolinomja, ugyanis ha h(x) I, akkor elosztva azt g(x)-el, kapjuk,
hogy
h(x) = q(x)g(x) +r(x), deg(r(x)) < deg(g(x)), vagy r(x) = 0.
Mivel h(x) es q(x)g(x) is az I elemei, kapjuk, hogy r(x) I, gy csak r(x) = 0
lehetseges, k ulonben ellentmond asra jutn ank a g(x) fok ara vonatkozo fel-
tevessel. Teh at I minden eleme g(x)-nek tobbsz or ose.
Legyen
x
n
1 = q(x)g(x) +r(x), deg(r(x)) < deg(g(x)), vagy r(x) = 0.
Mivel x
n
1 I (annak nulleleme), kapjuk, hogy csak r(x) = 0 lehetseges,
gy g(x) osztja x
n
1-et.
Ha lenne ket g(x) es h(x) fopolinom, melyek az I-t gener aljak, akkor
azok foka megegyezne, s h(x) = a(x)g(x) teljes ulne. Mivel mindket polinom
f oegy utthat oja 1, csak a(x) = 1 lehetseges.
4.3. Tetel. Ha h(x) egy fopolinom, mely osztja az x
n
1 polinomot, akkor
h(x) az I ideal generatorpolinomja, ahol
I = {a(x)h(x) | a(x) R, ahol R = F[x]/(x
n
1)}.
Bizonytas: Legyen g(x) az I ide al legalacsonyabb fok u fopolinomja. Ekkor
g(x) generalja I-t, s az eloz o elotti tetel szerint g(x) osztja x
n
1- et. Mivel
g(x) I, letezik olyan a(x) polinom, hogy g(x) a(x)h(x) mod (x
n
1)
(mivel h(x) is az I-ben van).

Igy
g(x) = a(x)h(x) +l(x)(x
n
1) valamilyen l(x) F[x] re.
Mivel h(x) osztja x
n
1-et, kapjuk, hogy h(x) osztja g(x)-et is. Mivel g(x)
gener ator, ugy az osztja h(x)-et, s leven g(x) es h(x) is fopolinom, kapjuk,
hogy g(x) = h(x).
Az eloz o tetelb ol kovetkezik, hogy
4.4. Tetel. Kolcsonosen egyertelm u megfeleltetes letezik a V
n
(F) ciklikus al-
terei, es az x
n
1 polinomot oszto F[x]-beli fopolinomok kozott.
64
4.5. Tetel. Legyen a g(x) egy n k-adfok u fopolinom es osztoja az F test
feletti x
n
1 polinomnak. Akkor g(x) a V
n
(F) egy k-dimenzios ciklikus altere-
nek generatorpolinomja.
Bizonytas: Legyen S a V
n
(F) egy g(x) altal gener alt altere, es vegy uk a
B = {g(x), xg(x), . . . , x
k1
g(x)} (4.1)
vektorhalmazt, teh at
G =
_
_
_
_
g(x)
xg(x)
.
.
.
x
k1
g(x)
_
_
_
_
.
Bebizonytjuk, hogy B b azisa az S-nek. Ehhez be kell l atnunk, hogy B
elemei linearisan f uggetlenek, s kifesztik S-et. Legyen
k1

i=0

i
x
i
g(x) = 0,
i
F.
A tagok k oz ul csak
k1
x
k1
g(x) tartalmazza az x
n1
tagot. Mivel x
k1
g(x)
foka kisebb mint n, kapjuk, hogy
k1
= 0. Hasonl oan belathatjuk, hogy

i
= 0 minden 0 i k 1 ra, gy B elemei linearisan f uggetlenek.
Vegy uk a tetsz oleges h(x) S elemet. Mivel g(x) az S gener atora, valamilyen
a(x) F[x] polinomra h(x) = a(x)g(x). Az altal anossag megszortasa nelk ul
feltehetj uk, hogy a(x) foka kisebb, mint k, k ul onben valamilyen q(x) F[x]-
re deg(a(x)g(x)) n, teh at
a(x)g(x) = q(x)(x
n
1) +r(x),
ahol deg(r(x)) n1, vagy r(x) = 0. Mivel g(x) osztja x
n
1-et, g(x) osztja
r(x)-et is, es r(x) = a

(x)g(x) valamely a

(x)-re, ahol deg(a

(x)) k 1.
Helyettesthetj uk a(x)-et a

(x)-el, es gy kapjuk, hogy a(x) =

k1
i=0

i
x
i
, s
ennek kovetkezteben
h(x) =
k1

i=0

i
x
i
g(x).
Tehat B gener alja az S teret. Mivel B elemeinek sz ama k, az S k-dimenzi os.
Ha g(x) a ciklikus C (n, k)-k od gener atora, akkor minden kodsz o a(x)g(x)
alak u. Az eloz o tetel bizonytasa alapj an feltehetj uk, hogy a(x) foka legfel-
jebb k 1, mivel a(x)g(x) foka legfeljebb n. Ekkor nincs sz ukseg az x
n
1
polinom szerinti redukciora.
65
Legyen h(x) = (x
n
1)/g(x), ahol g(x) egy f opolinom. Ha g(x) foka
n k, akkor h(x) foka k. Mivel g(x) f opolinom, h(x) is az. Teh at h(x)
egy n k dimenzi os C

k odot gener al. Legyen c


1
(x) = a
1
(x)g(x) C es
c
2
(x) = a
2
(x)h(x) C

. Ekkor
c
1
(x)c
2
(x) = a
1
(x)g(x)a
2
(x)h(x) = a
1
(x)a
2
(x)f(x) 0 mod f(x).
Kaptuk, hogy a C k od osszes elemenek szorzata a C

elemeivel nulla. K ovetkezik


ebb ol, hogy C du alis kodja C

? A v alasz nemleges, mivel az F[x]/(f(x)) fak-


torgy ur uben abb ol, hogy ket polinom szorzata 0, nem k ovetkezik, hogy a
polinomoknak megfelel o vektorok mer olegesek. De az igaz, hogy C

es C

ekvivalensek. Legyenek
a = (a
0
a
1
. . . a
n1
) C, es b = (b
0
b
1
. . . b
n1
) C

,
es
a(x)b(x) = (
n1

i=0
a
i
x
i
)(
n1

i=0
b
i
x
i
)
n1

i=0
c
i
x
i
mod x
n
1
valamilyen c
i
F-ekre. Ekkor
c
0
= a
0
b
0
+a
1
b
n1
+a
2
b
n2
+. . . +a
n1
b
1
,
mivel x
n
1 mod f(x). Most c
0
-t felrhatjuk a

b, alakban, ahol

b-t a
b-b ol annak alkalmas ciklikus eltoltja koordin at ainak fordtott sorrendben
val o felr as aval kapjuk. Figyelj uk meg, hogy mindegyik c
t
a

n1
i=0
c
i
x
i
x
nt
polinom, teh at az a(x)(x
nt
b(x)) konstans tagja.

Igy c
t
= a

b, ahol

b-
t a b-b ol annak ciklikus eltoltja koordinat ainak fordtott sorrendben val o
felras aval kapjuk.
Mivel a(x)b(x) 0 mod (x
n
1), az x osszes hatvanyanak egy utthat oja 0
kell, hogy legyen. Az el oz oekbol k ovetkezik, hogy a

b = 0, ahol

b-t a b-b ol
koordin atai fordtott sorrendben valo felr as aval kapjuk. Mivel h(x) a C

-t
gener alja, {h(x), xh(x), . . . , x
nk1
h(x)} a C

egy b azisa. Ennek az alternek


ugyan ugy n k a dimenzioja, mint a C

-e.
Megfordtva C

minden vektoranak koordinat ait, C

elemeit kapjuk. Fel-


haszn alva, hogy
G

=
_
_
_
_
_
_
h(x)
xh(x)
.
.
x
nk1
h(x)
_
_
_
_
_
_
(4.2)
a C

gener atormatrixa, C

gener atormatrix at megkapjuk, ha G

-ben fordtott
sorrendbenrjuk az oszlopokat. Az el obbiek miatt gyakran azt mondjak, hogy
66
a h(x) polinom a g(x) polinom altal gener alt ciklikus k od dualis at generalja,
holott val oj aban csak ahhoz ekvivalens kodot gener al. A h(x)-et a g(x) altal
gener alt ciklikus k od ellenorz o polinomj anak is nevezik, mivel h(x)c(x) = 0
minden C-beli c(x)-re. Ahhoz, hogy lerjuk C

gener atorpolinomjat a C
gener atorpolinomja segtsegevel, sz ukseg unk lesz a k ovetkez o denci ora:
4.3. Dencio. Legyen h(x) =

k
i=0
a
i
x
i
egy k-adfok u polinom. Ekkor a
h
R
(x) =

k
i=0
a
ki
x
i
polinomot h(x) reciprok polinomjanak nevezz uk.

Igy az el oz oekben kapott eredmeny unket most m ar megfogalmazhatjuk:


4.6. Tetel. Legyen g(x) az F test feletti x
n
1 polinomot oszto nk-adfok u
fopolinom, tehat egy ciklikus (n, k)-kodot generalo polinom. Ekkor a h(x) =
(x
n
1)/g(x) polinom h
R
(x) reciprok polinomja a C

generalopolinomja.
Most a ciklikus kodok egy uj megad asi modj at ismertetj uk. Ez a g(x)
gener atorpolinom gy okeinek megad asaval t ortenhet. Tegy uk fel, hogy a g(x)
polinom gy okei k ulonb oz oek. Ekkor az f(x) vektor akkor es csakis akkor
tartozik a k odhoz, ha
1
,
2
, . . .
r
az f(x) polinom gy okei. Ha az m
i
(x)
polinom az
i
deni alo polinom gy oke, akkor az f(x) polinom akkor es csakis
akkor k odvektor, ha az
m
1
(x), m
2
(x), . . . , m
r
(x)
polinomok oszt oi az f(x) polinomnak, k ovetkezeskeppen peldaul, ha f(x)
azok legkisebb k oz os t obbsz orose. Ezert a k od olyan ide al, melyet a
g(x) = lkkt{m
1
(x), m
2
(x), . . . , m
r
(x)} (4.3)
polinom general. Mivel a g(x) = x
n
1 polinom oszthat o kell, hogy legyen
a g(x) polinommal,
1
,
2
, . . .
r
az x
n
1 polinom gyokei kell legyenek. Az
el obbiek miatt az n-nek mindegyik
i
elem rendje osztoja kell, hogy legyen.
Ha a gy okoket a test valamely d rend u elemenek hatvanyaikent adjuk meg,
s
i
=
u
i
, akkor a 1.12 tetel szerint annak deni al o m
i
(x) polinomj anak
gy okei
u
i
,
u
i
q
,
u
i
q
2
, . . . , . . . ahol a gy ok ok kitev oje redukalva van mod d
Ha a g(x) polinom
u
i
es
u
j
gy okei ugyanannak a minimalis polinomnak a
gy okei, akkor a g(x) minim alis polinomokra val o felbont asaban (4.3)-ban a
megfelel o minimalis polinomot csak egyszer kell gyelembevenni.
4.2. Pelda. Az x
7
1 = (1 x)(1 + x + x
3
)(1 + x
2
+ x
3
) GF(2) feletti
polinomhoz (melyet az 1.13 tetelt felhasznalva bonthatunk fel) az 1 +x
2
+x
3
polinom egy ciklikus (7, 4)-kodot general. Ennek elemei lesznek a
g(x) = (1011000), xg(x) = (0101100), x
2
g(x) = (0010110),
67
x
3
g(x) = (0001011),
vektorok, s ezeket ki lehet valasztani, mint bazis vektorokat. Az uzenetter
az osszes legfeljebb 3-adfok u Z
2
feletti polinomot tartalmazza. Ha az uzenet
x = (1011), akkor a kodszo
xG = (1011)
_
_
_
_
1011000
0101100
0010110
0001011
_
_
_
_
= (1000101).
A kodszavak altal alkotott alter pedig nulltere annak az idealnak, amit a
h(x) = (1 x)(1 +x +x
2
) = 1 +x
2
+x
3
+x
4
polinom general, tehat
h(x) = (1011100), xh(x) = (0101110), x
2
h(x) = (0010111)
general. Mivel ebben az esetben a tekintett kod egybeesik annak a H matrixnak
a nullterevel, amelyet a h(x), xh(x), x
2
h(x) polinomok generalnak, s melyeknek
koordinatai fordtott sorrendben vannak rva, ezert:
H =
_
_
0011101
0111010
1110100
_
_
.
Konny u ellenorizni, hogy GH
t
= 0. Ez a kod ekvivalens a (7, 4)-Hamming-
koddal, mivel a H matrix oszlopai az osszes nullatol k ulonbozo binaris har-
mast tartalmazzak.
4.3. Pelda. A GF(2
3
) primitv elemei, mint lattuk, gyokei vagy az 1 + x +
x
3
, vagy az 1 + x
2
+ x
3
polinomnak. Annak a kodnak, amely kodszokent
tartalmazza az 1-et, es a test primitv elemet, a generalo polinomja g(x) =
(x 1)(x
3
+x
2
+ 1).
4.4. Pelda. Vegy unk egy kevesbe trivialis peldat: legyen =
89
a GF(2
11
)
test primitv elemenek hatvanya. Mivel 89 23 = 2
11
1, latjuk, hogy

23
= 1. Legyen m(x) a denialo polinomja. Ekkor m(x) gyokei:
,
2
,
4
,
8
,
16
,
32
=
9
,
18
,
36
=
13
,
26
=
3
,
6
,
12
(
24
= ),
gy m(x) egyben a ,
2

3
,
4
elemeknek is denialo polinomja. Egy polinom
akkor es csakis akkor kodszo, ha oszthato m(x)-el. A GF(2
11
) test k ulonbozo
68
primitv elemeihez k ulonbozo elemek tartoznak, de mindegyik gyoke lesz
vagy a
x
11
+x
9
+x
7
+x
6
+x
5
+x + 1,
vagy a
x
11
+x
10
+x
6
+x
5
+x
4
+x
2
+ 1
polinomoknak. Mindketto egy (23, 12, 7) kodot general, s azok egymassal ek-
vivalensek, melyeket Golay-kodnak nevez unk.
Ez a kod tokeletes, mert 3 hibat javt, s teljes ul a Hamming korlat, ugyanis
2
23
= 2
12
+
_
1 +
_
23
1
_
+
_
23
2
_
+
_
23
3
__
= 24 + 1771 + 253 = 2
12
2048.
A (4.1) kifejezest felhasznalva kapjuk , hogy a g(x) = a
0
+ a
1
x + . . . + a
r
x
r
polinom altal gener alt ciklikus k od tartalmazza a
G =
_
_
_
_
_
_
_
_
_
_
a
0
a
1
. . . . a
r
0 . . . . 0
0 a
0
a
1
. . . a
r
0 . . . 0
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
0 0 . . . 0 a
0
a
1
. . a
r
0
0 0 . . . . 0 a
0
a
1
. . a
r
_
_
_
_
_
_
_
_
_
_
(4.4)
m atrix sorait. L athat o, a 4.5 tetel szerint, hogy e sorok linearisan f uggetlenek,
s gy G rangja n r.
Legyen g(x) egy F = GF(q) feletti C ciklikus (n, k)-k od gener atorpoli-
nomja. Ekkor g(x) egy (n k)-adfok u polinom. Legyenek
1
,
2
, . . . ,
nk
a
g(x) gyokei GF(q) valamilyen GF(q
m
) b ovteseben, s tegy uk fel, hogy g(x)-
nek nincsenek tobbsz or os gy okei. Legyen m
i
(x) az
i
elem GF(q) feletti
deni alo polinomja 1 i n k-ra, teh at m
i
(x) osztja g(x)-et. Tekints uk
a kovetkezo C-hez rendelt (n k) n-es GF(q
m
) feletti H m atrixot:
H =
_
_
_
_
_
_
_
_

0
1

1
1

2
1
. . .
n1
1

0
2

1
2

2
3
. . .
n1
2
. . . . . . .
. . . . . . .
. . . . . . .

0
nk

1
nk

2
nk
. . .
n1
nk
_
_
_
_
_
_
_
_
. (4.5)
A H sorai mer olegesek a C k od minden c = (c
0
, c
1
, . . . , c
n1
) vektor ara.
Ekkor a c vektornak a H i-edik soraval valo skalarszorzat ara
n1

j=0

j
i
c
j
= c(
i
) = 0.
69
Megfordtva, ha adott egy t(x) F[x] polinom, amelyre t(
i
) = 0 minden
1 i n k-ra, akkor m
i
(x) osztja t(x)-et, s ebb ol k ovetkezik, hogy g(x)
osztja t(x)-et, tehat t(x) a C k odhoz tartozik. Tehat c C akkor es csakis
akkor teljes ul, ha Hc
t
= 0.

Igy kaptuk a k ovetkezo allt ast:


4.7. Tetel. Tegy uk fel, hogy a g(x) egy F = GF(q) feletti polinom general
egy C ciklikus (n, k)-kodot, es g(x)-nek
1
,
2
, . . . ,
nk
gyokei a GF(q
m
)
testben. Ekkor a c(x) F[x] polinom akkor es csak akkor tartozik C-hez, ha
minden 1 i n k-ra c(
i
) = 0.
Ha
i
es
j
deni alo polinomja megegyezik, tehat m
i
(x) = m
j
(x), akkor
nullter uk is egybeesik, teh at a (4.5) ellenorz o matrix nekik megfelel o sorai
ugyanazt a GF(q) feletti alteret hat arozz ak meg. Ezert elegendo az ellenorz o
m atrix soraiba csak a g(x) k ul onb ozo irreducibilis tenyez oinek gyokeit bevenni.
4.5. Pelda. Vegy uk azt a C ciklikus kodot, melyre c(x) C akkor es csakis
akkor teljes ul, ha c(x)-nek gyokei az ,
2
, . . . ,
6
, ahol az f(x) = x
4
+x+1
polinom gyoke, tehat primitv eleme a GF(2
4
)-nek. Ebben az esetben
g(x) = m
1
(x)m
3
(x)m
5
(x).
Elegendo megkovetelni, hogy c(x)-nek gyokei legyenek ,
3
es
5
. A keresett
kod H ellenorzo matrixara:
H
t
=
_
_
_
_
_
_
_
_
_
_
1 1 1

3

10
. . .
. . .
. . .

14

42
=
12

70
=
10
_
_
_
_
_
_
_
_
_
_
.
Mivel
1x
15
= (1x)(1+x+x
2
)(1+x+x
2
+x
3
+x
4
)(1+x+x
4
)+(1+x+x
3
+x
4
),
konny u ellenorizni, hogy
3
gyoke a harmadik tenyezonek,
5
a masodiknak,
pedig a negyediknak. Ezert az (1, ,
2
, . . . ,
14
) matrix rangja 4, mivel
es
3
denialo polinomja negyedfok u. Az
5
denialo polinomjanak foka 2, es
a (1,
5
,
10
, . . . , (
5
)
14
) matrix rangja gy 2 kell legyen. Ekkor a H
t
matrix
70
binaris alakjanak utolso oszlopa csupa 0, es az azelotti ket oszlopa azonos lesz:
H
t
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 0 0 1 0 1 1 0
0 0 1 0 0 0 1 1 1 1 1 0
0 0 0 1 0 1 0 1 1 0 0 0
1 1 0 0 1 1 1 1 0 1 1 0
0 1 1 0 1 0 0 0 1 1 1 0
0 0 1 1 0 0 0 1 1 0 0 0
1 1 0 1 0 0 1 1 0 1 1 0
1 0 1 0 0 1 0 1 1 1 1 0
0 1 0 1 1 1 1 1 1 0 0 0
1 1 1 0 1 0 0 0 0 1 1 0
0 1 1 1 0 0 0 1 1 1 1 0
1 1 1 1 0 0 1 1 1 0 0 0
1 0 1 1 0 1 0 1 0 1 1 0
1 0 0 1 1 1 1 1 1 1 1 0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
. (4.6)
FELADATOK
1. Legyen adva a V
15
(Z
2
) vektorter
(a) Hatarozzuk meg a ciklikus alterek szam at.
(b) Hat arozzuk meg, hogy mely k, 1 k 17 ertekekre letezik k
dimenz os ciklikus alter?
(c) Hatarozzuk meg a 12 dimenzi os ciklikus alterek szam at.
(d) Adjuk meg egy 8 dimenzi os ciklikus alter generatorpolinomj at.
2. Hat arozzuk meg a V
6
(Z
5
) vektorter ciklikus altereinek szam at.
3. Hat arozzuk meg annak a V
6
(Z
5
)-beli legkisebb ciklikus k odnak a gener ator-
polinomj at, amely a v = (100100) k odszot tartalmazza.
4. Hat arozzuk meg annak a V
7
(Z
2
)-beli legkisebb ciklikus k odnak a gener ator-
polinomj at, amely a
(a) v
1
= (1010011),
(b) v
2
= (0011010),
(c) v
3
= (0101001) k odszavakat tartalmazza.
5. D onts uk el, hogy lehet-e g(x) = 2 + 2x
2
+ x
3
egy V
8
(Z
3
) ciklikus al-
terenek gener atorpolinomja?
71
6. A g(x) = 1 + x
3
+ x
6
polinom egy C bin aris (9, 3)-k odot gener al.
Hat arozzuk meg a C k od G = (I | I
3
) alak u gener atormatrix at .
7. Az el ozo feladatban szereplo kodhoz hat arozzuk meg a H = (I
6
|
A
t
) alak u ellen orzo m atrixot. Hat arozzuk meg a k ovetkez o vektorok
szindr omaj at ketfelekeppen
(a) H segtsegevel,
(b) az asszoci alt polinom g(x)-el val o oszt as aval:
r
1
= (101 100 100), r
2
= (011 110 011), r
3
= (100 010 001).
8. Hat arozzuk meg az elozo feladatban szerepl o kod G = (A | I
k
) alak u
gener atormatrixat, s k odoljuk az elozoben megadott uzenetpolinomokat
G segtsegevel.
9. Bontsuk irreducibilis tenyez okre
(a) az x
8
1 polinomot GF(2), GF(3), GF(4), es GF(5) felett,
(b) az x
13
1 polinomot GF(2) es GF(3) felett.
10. A g(x) = 1+x+x
2
+x
3
+x
6
= (x
2
+x+1)(x
4
+x
3
+1) polinom egy binaris
(15, 9) C k odot gener al. Kodoljuk a kovetkez o uzenetpolinomokat:
a) 1 +x
2
+x
5
+x
8
b) 1 +x +x
2
c) x
4
+x
6
+x
7
+x
8
.
11. Bizonytsuk be, hogy g(x) = 1+x
2
+x
3
+x
6
+x
8
+x
11
+x
12
egy bin aris
ciklikus (21, 9) kodot gener al.
(a) Adjuk meg a kod generator- es ellen orz o m atrix at!
(b) K odoljuk a k ovetkezo uzeneteket:
i. a
1
(x) = 1 +x
3
+x
8
,
ii. a
2
(x) = 1 +x
2
+x
5
+x
7
+x
8
.
12. Legyen C
1
egy binaris ciklikus k od, melyet a g
1
(x) = (x+1)(x
4
+x
3
+1)
polinom gener al, C
2
pedig egy olyan bin aris (15, 10) k od, melyet a
g
2
(x) = (x + 1)(x
4
+x + 1) polinom gener al.
(a) H any ciklikus alter van C
1
-ben?
(b) Benne van-e C
1
-ben, es C
2
-ben is a (11011 00101 00000) vektor?
13. Hat arozzuk meg annak a kodnak a gener atorpolinomjat es a V
15
(Z
2
)
legsz ukebb olyan alteret, mely tartalmazza a
v
1
= (01000 10101 00011), es v
2
= (1011 10110 10110)
szavakat.
5. fejezet
BCH-kodok
A ciklikus k odok egy nagyon fontos oszt aly at 1960-ban R. C. Bose es D.
Ray-Chaudhuri, valamint A. Hocquenghem egym astol f uggetlen ul fedeztek
fel.
Jel olje lkkt{a(x), b(x), . . .} a listaban szerepl o polinomok legkisebb koz os
t obbszor oset.
5.1. Dencio. Legyen m
i
(x) az
i
denialo polinomja a GF(q
m
) felett,
ahol a GF(q
m
) primitv eleme. Egy F = GF(q) feletti n blokkhosssz usag u
tervezett tavolsag u BCH-kod egy olyan g(x) = lkkt{m
i
(x) | a i
a+ 2} F(x) polinom altal denialt ciklikus kod, melynek 1 k ulonbozo

a
,
a+1
, . . . ,
a+2
gyoke van, ahol egy primitv n-edik egyseggyok.
Ha n = q
m
1 es a = 1, akkor a megfelel o BCH-k odot primitvnek
nevezz uk. Megjegyezz uk, hogy mivel egy egyseggy ok,
j
szinten egyseggy ok,
es (x
j
) osztja az x
n
1-et, gy g(x) osztja az x
n
1 polinomot. Ha
q
m
1 = kn es primitv eleme a GF(q
m
)-nek, akkor =
k
is primitv
n-edik egyseggy ok.
5.1. Pelda. Amint a 4.2 peldaban lattuk, a GF(2) feletti g(x) = 1+x+x
3
egy
(7, 4)-Hamming kodot general, ami nem mas, mint egy BCH-kod 3 tervezett
tavolsaggal. A g(x) gyokei a es
2
, ahol
2
primitv hetedik egyseggyok
a GF(2
3
)-ben. Ez egybeesik a H = ( 1
2
. . .
6
) ellenorzo matrix u
(7, 4, 3) Hamming- koddal.
5.2. Pelda. Vegy uk a g(x) = 2 +2x +x
4
+2x
5
+x
5
+x
7
polinomot GF(3)-
ban. g(x) osztja az x
13
1 polinomot, es egy (13, 6)-kodot general a GF(3)
felett. Legyen gyoke a GF(3) feletti f(x) = 1 + 2x + 2x
2
+ x
3
poli-
nomnak. Ekkor
2
egy primitv 13-adik egyseggyok. Konny u ellenorizni,
hogy (
2
)
0
, (
2
)
1
, (
2
)
2
, (
2
)
3
is az f(x) gyokei kozott vannak, es g(x) =
72
73
lkkt{m
i
(x) | 0 i 3, } es m
i
(x) az (
2
)
i
denialo polinomja. Ekkor
m
0
(x) = x 1, m
1
(x) = 2 +2x +2x
2
+x
3
, es m
2
(x) = 2 +2x +x
3
.

Igy g(x)
egy 5 tervezett tavolsag u (13, 6)-BCH-kodot general.
A kovetkezo tetel magyarazza a tervezett tavols ag elnevezest.
5.1. Tetel. Ha C egy GF(q) feletti tervezett tavolsag u BCH-kod, akkor C
tavolsaga legalabb .
Bizonytas: Tegy uk fel, hogy g(x) egy n blokkhossz usag u kodot gener al.
Legyen primitv n-edik egyseggy ok GF(q
n
)-ben, es valasszuk ki

a
,
a+1
, . . . ,
a+2
-t,
a g(x) polinom 1 szam u k ul onb ozo gy oket.
A 4.11 tetelt alkalmazva kapjuk, hogy C ellen orzo m atrixa:
H =
_
_
_
_
_
_
_
_
(
a
)
0
(
a
)
1
(
a
)
2
. . . (
a
)
n1
(
a+1
)
0
(
a+1
)
1
(
a+1
)
2
. . . (
a+1
)
n1
. . . . . . .
. . . . . . .
. . . . . . .
(
a+2
)
0
(
a+2
)
1
(
a+2
)
2
. . . (
a+2
)
n1
_
_
_
_
_
_
_
_
. (5.1)
Tegy uk fel, hogy H-nak 1 line arisan f ugg o oszlopa van GF(q
m
) felett.
Ekkor GF(q
m
) elemeit H-ban GF(q) elemeivel helyettestve, be kell l atni,
hogy az uj H

m atrixban sincs 1 f uggetlen oszlop, mivel a linearis f ugg oseg


nem valtozik, ha GF(q
m
) helyett a GF(q)-t hasznalunk.
Az 3.4 tetel miatt a H

m atrix sorai C

elemei lesznek, gy az C ellen orzo


m atrixa lesz. Ha a H

m atrixban b armely 1 oszlop linearisan f uggetlen,


a 3.5 tetelt alkalmazva kapjuk az allt ast. V alasszuk ki teh at a H tetsz oleges
1 oszlopat. Ezek egy 1 1-es D m atrixot hat aroznak meg GF(q
m
)
felett. Bebizonytjuk, hogy D determin ansa nem nulla, amib ol kovetkezik,
hogy a m atrix oszlopai line arisan f uggetlenek. Teh at
D =

(
a
)
i
1
(
a
)
i
2
(
a
)
i
3
. . . (
a
)
i
1
(
a+1
)
i
1
(
a+1
)
i
2
(
a+1
)
i
3
. . . (
a+1
)
i
1
. . . . . . .
. . . . . . .
. . . . . . .
(
a+2
)
i
1
(
a+2
)
i
2
(
a+2
)
i
3
. . . (
a+2
)
i
1

= 0.
74
Kiemelve a sorok k oz os tenyez oit kapjuk, hogy
D =
1

j=1
(
a
)
i
j

1 1 1 . . . 1

i
1

i
2

i
3
. . .
i
1
(
2
)
i
1
(
2
)
i
2
(
2
)
i
3
. . . (
2
)
i
1
. . . . . . .
. . . . . . .
. . . . . . .
(
2
)
i
1
(
2
)
i
2
(
2
)
i
3
. . . (
2
)
i
1

.
Ez egy Vandermonde determinans, melyet ki lehet fejteni a kovetkezokeppen.
El oszor a determinanst olyan alakra hozzuk, hogy az els o oszlopban min-
den utt 0 legyen, kiveve az els o sort. A h-adik sort
i
1
-el szorozzuk, es
kivonjuk azt a h + 1-edik sorb ol 0 h 2-re. Ezek ut an fejts uk ki
a determinanst az elso oszlopa szerint. Ekkor kapjuk, hogy:
D = (
1

j=1
(
a
)
i
j
1

j=2
(
i
j

i
1
) =

1 1 . . . 1

i
2

i
3
. . .
i
1
(
2
)
i
2
(
2
)
i
3
. . . (
2
)
i
1
. . . . . .
. . . . . .
. . . . . .
(
3
)
i
2
(
3
)
i
3
. . . (
3
)
i
1

.
Az gy kapott deterninans kisebb meret u. Folytatva az eljar ast, kapjuk, hogy
D = (
1

j=1
(
a
)
i
j
)

j>l
(
i
j

i
l
).
Mivel primitv egyseggyok,
i
j

i
l
= 0, ha j = l, 1 j, l n. Ezert
kapjuk, hogy D = 0.
5.3. Pelda. Tegy uk fel, hogy egy GF(2) feletti 15 blokkhossz usag u 7 tervezett
tavolsag u BCH-kodot szeretnenk keszteni. Legyen egy 15-odik primitv
egyseggyok. Az a GF(2
4
) primitv eleme. A 2 korosztasi osztalyai modulo
15 a kovetkezok: C
0
= {0}, C
1
= {1, 2, 4, 8}, C
3
= {3, 6, 9, 12}, C
5
= {5, 10},
C
7
= {7, 11, 13, 14}. Ebbol latjuk, hogy m
1
(x), m
3
(x), es m
7
(x) 4-edfok u ir-
reducibilis polinomok GF(2) felett, es m
5
(x) masodfok u polinom. Ha vessz uk
a
g(x) = m
1
(x)m
3
(x)m
5
(x)
polinomot, ami osztja az x
15
1 polinomot, egy (15, 5)-ciklikus kodot kapunk.
A g(x) gyokei:
R = {,
2
,
4
,
8
,
3
,
6
,
9
,
12
,
5
,
10
}.
75
R tartalmazza elso hat hatvanyat, gy C tervezett tavolsaga 7. Ha GF(2
4
)-
et az f(x) = 1 +x +x
4
gyokevel generaljuk, akkor
m
1
(x) = 1 +x +x
4
, m
3
(x) = 1 +x +x
2
+x
3
+x
4
,
m
5
(x) = 1 +x +x
2
, ,
es g(x) = 1 + x + x
2
+ x
4
+ x
5
+ x
8
+ x
10
. Mivel g(x) s ulya 7, gy a kod
Hamming-s ulya legfeljebb 7, de az 5.1 tetelt alkalmazva kapjuk, hogy a kod
Hamming-tavolsaga is 7. A c(x) kodszopolinomokra elegendo ellenorizni, hogy
,
3
,
5
annak gyokei legyenek. Vehetnenk a g(x) = m
3
(x)m
5
(x)m
7
(x)-et
generalo polinomot; annak a gyokei is tartalmaznak egymasutan kovetkezo
hatvanyait, tehat
9
,
10
,
11
,
12
,
13
,
14
-et. Ekkor is egy 7 tervezett tavol-
sag u kodot kapnank, s ekkor a g(x) = 1 +x
2
+x
5
+x
6
+x
8
+x
9
+x
10
lenne,
aminek a s ulya ugyancsak 7.
5.1. A BCH-k odok dekodolasa
A hibajavt as els o lepese abban all, hogy eld onts uk, hogy milyen informaci oink
vannak a dekodolando szo hib airol.
Tegy uk fel, hogy a hib atlan c(x) k odsz o helyett r(x) = c(x) + e(x)-et
vett unk az uzenet tov abbtasa utan. Ha behelyettestj uk az
a
,
a+1
, . . .
a+1
ertekeket a c(x) +e(x) polinomba, akkor a
e(
a
), e(
a+1
), . . . e(
a+1
) (5.2)
ertekeket kapjuk. Az e(x) nem-nulla koordinatainak helye meghat arozza a
hiba helyet. Legyen v(x) = v
0
+ v
1
x + v
2
x
2
+ . . . + v
n1
x
n1
a tovabbtott
k odszo, es r(x) = r
0
+r
1
x +r
2
x
2
+. . . +r
n1
x
n1
a vett szo.
Ekkor e(x) = r(x) v(x) = e
0
+ e
1
x + e
2
x
2
+ . . . + e
n1
x
n1
a csatornan
keletkezett hibavektor, amelyet az uzenethez hozzadva ad odott az r(x), tehat
e
i
= r
i
v
i
a GF(q
m
) egy eleme.
Tegy uk fel, hogy a vett sz oban hiba van, s azok a j
1
+ 1, j
2
+ 1, . . . , j

+ 1
pozici oban vannak. Ekkor e(x) = e
j
1
x
j
1
+e
j
2
x
j
2
+. . . +e
j

x
j

.
Az {X
l
} =
j
l
, l = 1, 2, . . . , , ertekeket hibahelyszamnak vagy hibalokatornak
nevezz uk.
A hibavektor nem-nulla koordin atak helyet a hiba helyenek szamaval adjuk
meg, ami a i-edik szimb olum eseten X
i
=
i1
lesz.
Ha hiba t ortent, akkor az e(x) koordin ataja k ul onbozik 0-t ol, k ovet-
kezeskeppen a sz am u hiba teljes ler as at adja az (X
i
, Y
i
) p ar, ahol Y
i
az e
j
1
erteke, gyelembeveve, hogy az (X
i
, Y
i
) part meg lehet hat arozni az
e(
j
) = c(
j
) +e(
j
) =

Y
i
X
j
i
= S
j
76
egyenletrendszer megold asaval, ahol 1 i n.
Az S
j
= e(
j
) erteket a hibajavtas elott a j a+2t1-re kiszamthatjuk.
Megjegyezz uk, hogy
(S
j
)
q
= (

Y
i
X
j
i
)
q
=

Y
i
X
jq
i
= S
(jq)
.
Bin aris kodok eseten a hibajavt as gyorsabb, mivel Y
i
null at ol k ul onb ozo,
ezert Y
i
= 1. Ebben az esetben az e(x) hibavektort teljes mertekben megha-
t arozza a hibahelysz am. A kimen o vektorhoz ki lehet sz amolni a 2t sz am u
S
j
erteket, a j a + 2t 1-re, s meghat arozni az (X
i
, Y
i
) p art minden t
vagy annal kevesebb hibara. Az ismert es keresett ertekeket a k ovetkez o 2t
sz am u egyenlet megold asaval adhatjuk meg:
S
j
=

i
Y
i
X
j
i
, a j a + 2t 1. (5.3)
Ezek az egyenletek nem line arisak, ezert nincs remeny m as uton minden
megold ast megtal alni, csak ugy, ha a lehetseges veges sz am u megoldast be-
helyettestj uk. Tegy uk fel, hogy t hiba t ortent. Ezeket egyertelm uen
meg lehet keresni olyan (X
i
, Y
i
) parok meghat aroz asas aval, ahol sem Y
i
, sem
X
i
nem egyenl o null aval. Ahhoz, hogy az (X
i
, Y
i
) parok sz ama egyenl o legyen
t-vel, kiegesztj uk a p arokat, ugy, hogy
X
i
= Y
i
= 0, minden < i t ertekre .
A kes obbiekben L(x) jeloli azt a polinomot, melynek gy okei a hibahelyeket
meghat arozo X
i
ertekeinek reciprokai (multiplikatv inverzei). Ezt a poli-
nomot hibahelypolinomnak vagy hibalokatorpolinomnak nevezz uk.

L(x) jel olje
ennek az un. reciprok polinomjat, vagyis azt a polinomot, melynek gy okei
maguk az X
i
ertekek. Legyenek a L
1
, L
2
, . . . , L
t
ertekek a

L(x) = (X
1
x) . . . (X
t
x) = L
t
L
t1
x +. . . +L
1
(x)
t1
+L
t
(x)
t
= 0
(5.4)
egyenlet, illetve a
L(x) = (1)
t
L
t
x
t
+ (1)
t1
L
t1
x
t1
+. . . L
1
x + 1
egyenlet egy utthatoi.
A

L(x) = 0 egyenlet gyokei es egy utthatoi kapcsolatab ol (Vi`ete formulak)
kapjuk, hogy
L
1
= X
1
+X
2
+. . . +X
t
,
L
2
= X
1
X
2
+X
1
X
3
+. . . +X
t1
X
t
,
.
.
.
L
t
= X
1
X
2
. . . X
t
.
77
Ezek az elemi szimmetrikus polinomok. Az X
i
-k kielegtik az (5.4) egyenletet.
Szorozzuk be (5.4)-et Y
i
X
j
i
-vel; kapjuk, hogy
Y
i
X
j
i
L
t
Y
i
X
j+1
i
L
t1
+. . . + (1)
t1
Y
i
X
j+t1
i
L
1
+ (1)
t
Y
i
X
j+t
i
= 0. (5.5)
osszegezve ezeket az egyenleteket minden 1 i t ertekre es behelyettestve
(5.3)-at, minden j-re teljes ul
S
j
L
t
S
j+1
L
t1
+. . . + (1)
t1
S
j+t1
L
1
+ (1)
t
S
j+t
= 0. (5.6)
Az (5.3) egyenlet reszletesen:
Y
1
X
a
1
+ Y
2
X
a
2
+ . . . Y

X
a

= S
a
,
Y
1
X
a+1
1
+ Y
2
X
a+1
2
+ . . . Y

X
a+1

= S
a+1
,
.
.
.
Y
1
X
a+1
1
+Y
2
X
a+1
2
+. . . +Y
a+1

= S
a+1
. (5.7)
Hat arozzuk meg az Y
1
, Y
2
, . . . , Y

ismeretlenek erteket arra az egyenletrend-


szerre, melynek egy utthat om atrixa:
D =

X
a
1
X
a
2
X
a
3
. . . X
a

X
a+1
1
X
a+1
2
X
a+1
3
. . . X
a+1

. . . . . . .
. . . . . . .
. . . . . . .
X
a+1
1
X
a+1
2
X
a+1
3
. . . X
a+1

=
= X
a
1
X
a
2
. . . X
a

1 1 1 . . . 1
X
1
X
2
X
3
. . . X

. . . . . . .
. . . . . . .
. . . . . . .
X
1
1
X
1
2
X
1
3
. . . X
1

.
Mivel az X
i
ertekek k ul onboz o 1 i ertekekre k ul onbozoek, az eloz o
egyenletrendszer egy utthat om atrixa nem-nulla determin ans u (Vandermonde-
determin ans), ezert az egyenletrendszer egyertelm uen megoldhat o. A (5.6)
egyenletrendszer egyertelm u megoldhat os agat biztostja a kovetkez o tetel:
5.2. Tetel. Az
M =
_
_
_
_
S
a
S
a+1
S
a+2
. . . S
a+t1
S
a+1
S
a+2
S
a+3
. . . S
a+t
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
S
a+t1
S
a+t
S
a+t+1
. . . S
a+2t2
_
_
_
_
(5.8)
78
matrix nem-nulla, ha pontosan t darab k ulonbozo (X
i
, Y
i
) nem-nulla par
letezik. Az M matrix nulla, ha kevesebb, mint t darab k ulonbozo par van.
Bizonytas: Az (5.3) egyenletrendszer alapj an ellen orizhet o, hogy
M =

1 1 1 . . . 1
X
1
X
2
X
3
. . . X
t
. . . . . . .
. . . . . . .
. . . . . . .
X
t1
1
X
t1
2
X
t1
3
. . . X
t1
t

Y
1
X
a
1
0 0 . . . 0
0 Y
2
X
a
2
0 . . . 0
. . . . . . .
. . . . . . .
. . . . . . .
0 0 0 . . . Y
t
X
a
t

1 X
1
X
2
2
. . . X
t1
1
1 X
2
X
2
2
. . . X
t1
2
. . . . . . .
. . . . . . .
. . . . . . .
1 X
t
X
2
t
. . . X
t1
t

.
Az M m atrix akkor es csakis akkor nem-nulla, ha a jobboldalon szereplo
egyik tenyezo sem nulla. Az elso es harmadik tenyez o Vandermonde-fele, s
ezek nem lesznek null ak, ha az X
1
, X
2
, . . . X
t
ertekek mindegyike p aronkent
k ulonboz o. A kozeps o tenyez o null atol k ulonb oz o, ha minden X
i
es Y
i
k ulon-
b ozik null at ol. Megjegyezz uk, hogy a denciok miatt X
i
= 0 akkor es csakis
akkor teljes ul, ha Y
i
= 0. Tehat az M m atrix csakis akkor nem-nulla, ha az
(X
i
, Y
i
) parok mind null atol, es egym astol k ulonboz oek.
Ha az (5.6) egyenlet ismeretlenei a (1)
ti
L
i
ertekek, akkor ennek az egy utt-
hat o matrixa egybeesik azzal az M m atrixszal, ami a tetelben szerepel.
Ezert a tetel miatt, ha t hiba tortent, akkor ezek az egyenletek linearisan
f uggetlenek, s az egyenletek line arisan f ugg oek, ha kevesebb, mint t hiba
t ortent. Ebben az esetben L
t
= 0, az els o vagy utolso egyenletet el lehet
hanyagolni, es a tetelt alkalmazni lehet az eggyel kevesebb ismeretlent tar-
talmaz o egyenletre. Ezt az elj arast addig kell folytatni, amg nem kapjuk meg
az egyenletrendszer megoldas at. Mivel az S
j
szindr oma ertekek az ellen orzes
sor an minden a j a + 2t 1 ertekre kiszamolhatok, felrhatjuk azt a
t sz am u egyenletet, amelyben ezek az egy utthatok. Most megadhatjuk a
79
megold as ler asat:
1. Kiszamoljuk az S
j
ertekeit a j a + 2t 1-re.
2. Felrjuk az (5.6) egyenletrendszert, s meghat arozzuk a maxim alis
line arisan f uggetlen egyenletek sz amat, ami a hib ak szama lesz.
3. Megoldjuk az (5.6) egyenletrendszert L
1
, L
2
, . . . L
t
-re,
a hianyzo L
i
ertekeket null aval helyettestve.
4. Behelyettestj uk ezeket a megoldasokat az (5.4) egyenlet jobboldal aba,
s annak gy okeikent megkapjuk az X
i
-k ertekeit.
5. Behelyettestj uk a 4. lepesben megtalalt X
i
darab null atol k ulon-
b ozo erteket az (5.3) egyenletekbe, s meghat arozzuk az Y
i
hiba-
nagys agok ertekeit
6. Az X
i
, Y
i
p arokat ismerve, meghatarozhatjuk a hib akat, felhasznalva
az (5.6) es (5.3) egyenleteket.
A BCH-kodok dek odolas anak Peterson-Gorenstein-Zierler (PGZ) algoritmusa
5.4. Pelda. Vegy uk az 5.3 peldabol ismert (15, 5, 7) BCH-kodot, es legyen a
erteke most 1. Mint lattuk, g(x) = m
1
(x)m
3
(x)m
5
(x), es az x
4
+ x + 1
polinom gyoke, m
3
(x) = x
4
+x
3
+x
2
+x + 1, es m
5
(x) = x
2
+x + 1. Tehat
g(x) = (1+x+x
4
)(1+x+x
2
+x
3
+x
4
)(1+x+x
2
) = 1+x+x
2
+x
4
+x
5
+x
8
+x
10
,
h(x) = (x
15
+ 1)/g(x) = 1 +x +x
3
+x
5
. Tegy uk fel, hogy ket hiba tortent az

3
es az
10
helyen. Ekkor az r(x) = x
3
+x
10
alapjan szamolt szindromakra:
S
1
= r() = (1111) =
12
,
S
3
= r(
3
) = (1101) =
7
,
S
5
= r(
5
) = (1110) =
10
,
es
S
2
= S
2
1
=
9
= (0101),
S
4
= S
2
2
=
3
= (0001),
S
6
= S
2
3
=
14
= (0111).
(5.9)
Az (5.6) egyenlet alakja

12
L
3
+
9
L
2
+
7
L
1
=
3
,

9
L
3
+
7
L
2
+
3
L
1
=
10
,

7
L
3
+
3
L
2
+
10
L
1
=
14
.
(5.10)
Beszorozva az elso egyenletet
8
=
7
-nel, a masodikat
12
=
3
-nal, es a
harmadikat
5
=
10
-nel, kapjuk, hogy

5
L
3
+
2
L
2
+L
1
=
11
,

6
L
3
+
4
L
2
+L
1
=
7
,

12
L
3
+
8
L
2
+L
1
=
4
.
Hozzaadva az elso egyenletet az osszes tobbihez, egy L
1
-et nem tartalmazo
egyenletrendszert kapunk:
(0101)L
3
+ (1110)L
2
= (1010) vagy
9
L
3
+
10
L
2
=
8
,
(1001)L
3
+ (1000)L
2
= (1011) vagy
14
L
3
+L
2
=
13
.
(5.11)
80
Ezek az egyenletek egymas tobbszorosei (az elso a masodiknak
5
-szerese),
ezert a (5.10) egyenletrendszerben csak az elso ketto f uggetlen, gy ket hiba
tortent. Ha feltessz uk, hogy L
3
= 0, akkor a (5.11)-es egyenletbol kapjuk, hogy

10
L
2
=
8
, tehat L
2
=
13
. A (5.10)-es egyenletrendszerbe behelyettestve
latjuk, hogy L
1
=
12
.

Igy a hibalokatorpolinom a
13
x
2
+
12
x + 1. Az
egyenlet gyokei
12
es
5
, s ezeknek a reciprokai az
3
, es
10
. A hiba helyeinek
ismereteben mar ismerj uk a helyes uzenetet, ugyanis binaris kodrol leven szo,
a hibak helyein a biteket ellenkezojere kell valtoztatni. Mivel X
i
=
j1
volt,
jelen esetben a kodszo 4. es 11. bitjen tortent a hiba.
Megjegyzes: Az S
1
, S
3
es S
5
szindr omak kisz amtas ahoz haszn alhatjuk a
(4.6) matrixot. Pl. ha r = (110001111010100), akkor
rH
t
= (1111 1101 1110) = (
12
,
7

10
) = (S
1
, S
3
, S
5
).
Kesobb latni fogjuk, hogy binaris esetrol leven sz o, ezekbol meghatarozhatjuk
a peld aban szerepl o S
2
, S
4
, S
5
, S
6
szindr omak ertekeit. Kijavtva a hib as
biteket, kapjuk, hogy v = (110101111000100).
81
5.2. Reed-Solomon kodok
A Reed-Solomon k odokat eloszeretettel alkalmazzak az adatt arolasi es tov abbt asi
technol ogi ak k oreben, ahol viszonylag zajos bemenetekkel kell dolgozni, mint
peldaul az optikai adatt arol as (CD-ROM, DVD, stb), telekommunik aci o (digitalis
televzio, stb).
Amint lattuk, a BCH-kodok olyan ciklikus k odok, melyeket a gener alo
polinomuk gyokeivel lehet meghat arozni. Ha egy GF(q)-beli elem, es m
0
egy egesz szam, akkor a c(x) GF(q)[x] polinom egy BCH-beli kodsz opolinom,
ha annak

a+m
0
,
a+m
0
+1
,
a
+m
0
+ 2, . . . ,
a+m
0
+2
a gyokei. Fontos az a = 0 es m
0
= 1 eset. Ebben az esetben az
j
elem
minim alis polinomja x
j
, gy
g(x) = (x )(x
2
) . . . (x
1
)
a g(x) polinom gy okei. A g(x) polinom foka 1. Tehat gy egy 1-fok u
gener alo polinom altal meghatarozott ciklikus k odot kapunk. Ezt a k od lesz
az un. Reed-Solomon kod, amelyet meg lehet hat arozni a kovetkez okeppen
is:
5.2. Dencio. Legyen a GF(q) primitv eleme, es a
0
, a
1
, . . . , a
k1
az in-
formacioszimbolumok. Legyen f(x) = a
0
+a
1
x +. . . +a
k1
x
k1
. Ekkor az
(f(1), f(), f(
2
), . . . , f(
q2
)) (5.12)
alak u vektorokbol allo kodot amelyekben tehat f(x) valtozoi vegigfutjak a
GF(q) osszes nullatol k ulonbozo elemet Reed-Solomon-kodnak nevezz uk.
A Reed-Solomon k odokat az R S vagy RS-k odoknak is nevezz uk.
Tekints uk az (5.15) alak u vektorok koordin atai mint egy utthat ok altal
meghat arozott kodsz opolinomot. Ekkor
c(x) = f(1)+f()x+f(
2
)x
2
+. . .+f(
q2
)x
n2
= a
0
(1+x+x
2
+. . .+x
q2
)+
+a
1
(1 +x +
2
x
2
+. . . + (x)
q2
) +a
2
(1 +
2
x +
4
x
2
+. . . + (
2
x)
q2
)+
..............................
..............................
+a
k1
(1 +
k1
x + (
k1
x)
2
+. . . + (
k1
x)
q2
).
82
Mint tudjuk, a GF(q) elemei gy okei az x
q1
1 polinomnak, s az 1+1+1
2
+
. . . +1
q2
osszeg q1 vagy 1. Innen k ovetkezik, hogy c(1) = a
0
, c(
1
) =
a
1
, c(
2
) = a
2
, . . . , c(
(k1)
) = a
k1
, valamint c(
j
) = 0, ha
q 2 j > k 1. Mivel
q1
= 1, k ovetkezik, hogy
j
=
q1j
,
teh at c(
i
) = 0, ha i = 1, 2, . . . , q 1 k.

Igy egy m = 1 es a = 0 esetre
adott primitv BCH-k odot deni altunk. Ez egy olyan kod tehat, aminel a
blokkhossz: n = q 1, az ellenorz o szimbolumok szama: nk, s a Hamming-
t avolsag legal abb q k = n k + 1.
Megjegyzes: A c(
j
) = 0, q 2 j > k 1, osszef uggesb ol es a 4.6
tetelbol kovetkezik, hogy a generatorpolinom reciprok polinomj anak, gy az
RM-k odok ellenorzo polinomj anak gy oke a
j
), ahol q 2 j > k 1.

Igy
kaptuk:
5.3. Tetel. Az Reed-Solomon kodok dualisa is Reed-Solomon kod.
A Reed-Solomon-kodok dek odolo algoritmus at teh at a BCH-kodokra adott
algoritmusok is meghat arozz ak. A Reed-Solomon-k od egy F test feletti
(n, k)-k od, ahol nk = 1, teh at k = n+1. A k ulonbseg az, hogy amg a
BCH k odok eseten az F test egy b ovtesenek eleme, addig a Reed-Solomon
k odoknal mag anak az F testnek egy eleme. Alkalmazva a BCH-kodok d
t avolsagara kapott korlatot, a Reed-Solomon k odokra is kapjuk, hogy d .
5.4. Tetel. A tervezett tavolsag u (n, k)-RS-kod tavolsaga d = nk+1 = .
Bizonytas: Ha g(x) a tetelben szerepl o C k od gener atorpolinomja, akkor az
el ozoek miatt az F elemre az RS-k od geberatorpolinomja a
g(x) =
1

i=1
(x
i
),
ahol = nk +1. Az 5.1 tetelb ol tudjuk, hogy C k od d Hamming-t avols aga
legal abb . Mivel g(x)-ben legal abb null atol k ul onb ozo egy utthat o van,
kapjuk, hogy d , gy d = . A 3. fejezet 12-es feladat aban szereplo un.
Singleton-korlat d n k + 1.
Az elobbi tetel szerint a Reed-Solomon-k odok MDS-k odok.
5.5. Pelda. Legyen adva az 1.7 peldaban szereplo GF(2
4
), ahol az f(x) =
1 + x + x
4
GF(2) feletti polinom gyoke. A =
3
egy primitv 5-odik
egyseggyok. Legyen
g(x) = (x )(x
2
)(x
3
) =
3
+
2
x +
11
x
2
+x
3
.
83
A g(x) polinom egy C (5, 2)-RS-kodot general a GF(2
4
) felett. Ennek a
generator- es ellenorzo matrixa:
G =
_

11
1 0
0
3

11
1
_
, H =
_
_
1 0 0
3

14
0 1 0
2

8
0 0 1
11

12
_
_
.
C-ben 256 kodszo van. C tavolsaga d = 4.
5.6. Pelda. Legyen F = GF(5), es = 2. Konny u eszrevenni, hogy rendje
4, es primitv 4-edik egyseggyok. Ha a g(x) = (x2)(x4) = 3+4x+x
2

F[x] altal generalt ciklikus kodot vessz uk, akkor ez egy (4, 2)-RS-kodot general
a GF(5) felett. A C generator- es ellenorzo matrixa:
G =
_
3 4 1 0
0 3 4 1
_
, H =
_
1 0 2 2
0 1 1 3
_
.
C tavolsaga 3, es C 25 kodszot tartalmaz.
A 3.6 es az el ozo tetel k ovetkezmenye:
5.5. Tetel. Az F test feletti (n, k)-RS-kod nk hibat ismer fel, es [(nk)/2]
hibat javt.
Lagrange interpolacio es RM-k odok
Legyen = (
1
, ...,
n
), tovabba legyenek a
l
, , a
n
teszoleges F-beli elemek.
Ekkor pontosan egy olyan legfeljebb n l-ed fok u f F[x] polinom letezik,
amelyre f(
1
) = al, . . . , f(
n
) = a
n
.
Legyen = (
1
, ...,
n
) F
n
; amelyre i = j eseten
i
=
j
. Ekkor a
V

: F[x] F
n
lekepezes, ahol
V

(f) = f ((
1
), . . . , f(
n
)) = a
n
egy linearis lekepezes. M as sz oval, V

megszortasa az n-nel alacsonyabb fok u


polinomok terere egy regularis line aris transzform aci o.
Valoj aban a V

: F[x] F
n
lekepezes egy gy ur u-homomorzmus, ahol
F[x]-ben a szorzas a szok asos polinomszorzas, F
n
-ben pedig a szorz as ko-
ordin atankent ertend o. A homomorzmus magja a V

-ban a P
(x)
= (x

1
)...(x
n
) polinom altal gener alt ideal. Ennek megfelel oen V

egy (szinten
V

-val jel olt) izomorzmust indukal az F[x]/(p

(x) maradekosztalygy ur u es
az F
n
gy ur u k ozott. El obbi kezenfekvo, utobbi a Lagrange-alappolinomok
segtsegevel:
l
i
=
n

i=1,i/nej
x
i
j

j
84
Ekkor
l
i
(
j
) = 1, ha i = j, es 0, ha i = j, teh at f(x) =
n

i=1
a
i
l
i
(x).
Megjegyzes: AV

transzform acio es az inverze O(n


2
) sz am u F-beli alapm u-
velettel sz amolhato.
El obbiek ertelmeben, ha egy k-n al alacsonyabb fok u polinomot n > k
k ulonboz o helyen valo behelyettestessel k odolunk, a polinom visszanyerhet o
(interpol alhato) az n hely k oz ul b armely k helyen felvett ertekeb ol. M as
sz oval, egy n k + 1, azaz maxim alis t avols ag u RS kodot kapunk. Ez a k od
a Singleton korlatot (d = n k + 1) eleri, tehat MDS kod.
85
5.3. Reed-Solomon-kodok dekodolasa PGZ al-
goritmussal
A dek odolashoz a BCH k odokra vonatkoz o algoritmust haszn aljuk. Most ezt
ujra osszefoglaljuk.
A jelolesek a k ovetkez ok:
1. r = c +e a vett vektor
2. e a hibavektor
3. H
(nk)n
a paritasellen orz o-matrix
A szindromavektor kisz amtasa: S = Hr
t
Mivel a Reed-Solomon kodok
specialis BCH-kodok, termeszetesen alkalmazhatjuk a BCH-kodokra ismert
dek odolasi algoritmusokat. Az 5.6 egyenletrendszer, amit meg kell oldani,
most a k ovetkez o matrixegyenlet lesz:
_
_
_
_
_
_
S
1
S
2
S
3
. . . S
t
S
2
S
3
S
4
. . . S
t+1
S
3
S
4
S
5
. . . S
t+2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
S
t
S
t+1
S
t+2
. . . S
2t1
_
_
_
_
_
_
_
_
_
_
_
_
L
t
L
t1
L
t2
.
.
.
(1)
t1
L
1
_
_
_
_
_
_
=
_
_
_
_
_
_
(1)
t+1
S
t+1
(1)
t+1
S
t+2
(1)
t+1
S
t+3
.
.
.
(1)
t+1
S
2t
_
_
_
_
_
_
.
Az eloz oek alapj an a dek odol o algoritmus lepesei
1. A
_
_
_
_
_
S
1
S
1
S
t
S
2
S
3
S
t+1
.
.
.
.
.
.
.
.
.
.
.
.
S
t
S
t+1
S
2t1
_
_
_
_
_
m atrixbol kell kivalasztani a legnagyobb olyan t t tpus u alm atrixot,
amelyre det(M
tt
) = 0 modulo n.
2. M
tt
L = M
1
, ahol M
1
= (1)
t+1
_
_
_
_
_
S
t+1
S
t+2
.
.
.
S
2t
_
_
_
_
_
es L =
_
_
_
_
_
L
t
L
t1
.
.
.
(1)
t1
L
1
_
_
_
_
_
.
Ezt a line aris egyenletrendszert modulo n megoldva kapjuk L
1
, L
2
, . . . , L
t
ertekeket.
86
3. L(x) = 1L
1
x+L
2
x
2
+. . .+(1)
t
L
t
x
t
egyenlet gyokei adj ak X
1
1
, X
1
2
, . . . , X
1
t
ertekeket, melyeknek ki kell szamolni a multiplikatv inverzet modulo
n, gy kapjuk X
1
, X
2
, . . . , X
t
ertekeket.
4. Az eloz o lepesben kapott X
i
ertekek alap u logarimtus at modulo n
veve kapjuk a j
i
hibahelyeket: log

X
i
= j
i
. (A logaritmus sz amt ashoz
fel kell rni hatv anyait modulo n.) Mivel X
i
=
i1
, a hibak pozici oj anak
meghat arozas an al a logaritmusok ertekeihez 1-et hozz a kell adnunk.
5. A
tt
Y = S, ahol A
tt
=
_
_
_
_
_
X
1
X
2
X
t
X
2
1
X
2
2
X
2
t
.
.
.
.
.
.
.
.
.
.
.
.
X
t
1
X
t
2
X
t
t
_
_
_
_
_
es Y =
_
_
_
_
_
Y
1
Y
2
.
.
.
Y
t
_
_
_
_
_
,
valamint S az (5.3) egyenletben szerepl o szindroma ertekek. Ezt a
line aris egyenletrendszert megoldva kapjuk Y
1
, Y
2
, . . . , Y
t
hibaertekeket.
5.7. Pelda. Vegy unk egy GF(2
4
) feletti (15, 7, 5)-RS-kodot. Ennek generator-
polinomja g(x) = (x )(x
2
) . . . (x
4
), ahol a GF(2
4
) 1.2 peldaban
meghatarozott primitv eleme, s 15-odik primitv egyseggyok a GF(2
4
) felett.
Ehhez hasznaljuk az 1.2 tablazatot. Tegy uk fel, hogy
7
hiba az
3
helyen, s

11
hiba az
10
helyen tortent. Ekkor a szindromakra:
S
1
=
7

3
+
11

10
= (1101) =
7
,
S
2
=
7

6
+
11

20
= (1111) =
12
,
S
3
=
7

9
+
11

30
= (0011) =
6
,
S
4
=
7

12
+
11

40
= (1111) =
12
,
S
5
=
7

15
+
11

50
= (1001) =
14
,
S
6
=
7

18
+
11

60
= (1001) =
14
,
es a (5.6) egyenletrendszer ekkor a kovetkezokeppen alakul:

7
L
3
+
12
L
2
+
6
L
1
=
12
,

12
L
3
+
6
L
2
+
12
L
1
=
14
,

6
L
3
+
12
L
2
+
14
L
1
=
14
.
Beszorozva az elso egyenletet
9
=
6
-nel, a masodikat
3
=
12
-vel, es a
harmadikat =
14
-el, kapjuk, hogy
L
3
+
6
L
2
+L
1
=
6
,
L
3
+
9
L
2
+L
1
=
2
,

7
L
3
+
13
L
2
+L
1
= 1.
87
Hozzaadva az elso egyenletet az osszes tobbihez, egy L
1
-et nem tartalmazo
egyenletrendszert kapunk:
(1100)L
3
+ (0110)L
2
= (0001) vagy
4
L
3
+
5
L
2
=
3
,
(1001)L
3
+ (1000)L
2
= (0011) vagy
14
L
3
+L
2
=
13
.
Mivel az utolso ket egyenlet f uggo, azt kapjuk, hogy ket hiba tortent. Ha
feltessz uk, hogy L
3
= 0, akkor kapjuk, hogy L
2
=
13
, es konny u rajonni,
hogy L
1
=
12
.

Igy a hibahelyek reciprokat az 1 +
12
x +
13
x
2
polinom
reciprok polinomja a
x
2
+
12
x +
13
= 0
polinom gyokei hatarozzak meg. Ezek
3
es
10
.

Igy a 4. es 11-edik biten
tortent a hiba. A hibak ertekeit az (5.7) egyenletrendszernek megfelelo egyen-
letekbol lehet meghatarozni:
Y
1
X
1
+Y
2
X
2
= S
1
, amibol
3
Y
1
+
10
Y
2
=
7
,
Y
1
X
2
1
+Y
2
X
2
2
= S
2
, amibol
6
Y
1
+
20
Y
2
=
12
.
.
Az utobbi egyenleteket megoldva kapjuk, hogy Y
1
=
7
es Y
2
=
11
.
FELADATOK:
1. Tervezzen 2 hibat javto BCH-k odot GF(8) felett!
(a) Mik a kod parameterei?
(b) Adja meg a generatorpolinomot!
(c) Adja meg a paritasellen orz o polinomot!
(d) Adja meg bin aris alakban a csupa egyest tartalmazo uzenetvek-
torhoz tartozo k odszovektort!
Megoldas:
Ehhez elosz or is meg kell hatarozni a generatorpolinom gyokeinek sz amat,
majd el kell rni GF(8) konjug alt gy ok osztalyait, ezek a kovetkezok:
(a) {,
2
,
4
}
(b) {
3
,
6
,
5
}
(c) {1 =
7
}
88
t = 2 hib at javt o kell, ezert els o 22 = 4 darab hatv anya mindenkepp
gy oke kell legyen a gener atorpolinomnak. (Ez eddig a ,
2
,
3
,
4
b ovtett test elemeit jelenti). Ahhoz, hogy a GF(2) feletti generator-
polinomot kapjunk, ezen elemek konjug altjait is be kell venn unk a
gy okok k oze, amelyek tartalmaznak olyan testeleme(ke)t, ami(ke)t m ar
bevalasztottunk a gy okok k oze, gy ker ul a gy ok ok k oze
6
,
5
.
A generatorpolinom fokszama (gy okok szama) veg ul 6 lett, azaz nk =
6, tov abba n = q
m
1 = 8 1 = 7, teh at ez a C(7, 1) kod.
A gener atorpolinom: g(x) =

6
i=1
(x
i
) = . . . = x
6
+x
5
+x
4
+x
3
+
x
2
+x
1
+ 1
(L athato, hogy ez egy GF(2) feletti polinom. Ezt a gyok ok ismereteben
ki lehet sz amolni (ez az altal anosan celravezet o megold as). Konkretan
ebben az esetben ki lehet haszn alni a tetszoleges test feletti polinomokra
ervenyes x
n
1 = (x 1)

n1
i=0
x
i
azonoss agot, miut an eszrevessz uk,
hogy a parit asellen orzopolinom epp x 1 lesz.)
A paritasellen orz o polinom: h(x) = x 1
(a gener atorpolinomba be nem vett GF(8)-beli elemek lesznek a gy okei,
ebben az esetben ez csak az egysegelem volt)
Az uzenetvektor hossza k = 1, tehat most u = (7) = (111) es c(x) =
u(x)g(x) alapj an kij on, hogy c = (111, 111, 111, 111, 111, 111, 111). (Megj.:
ez a kod egy olyan k od, ami 7-szer megismetli az uzenet egyetlen szim-
b olumat)
2. Hat arozza meg GF(8) felett a minden 1 hib at javto BCH k od gener a-
torpolinomj at, ha a generatorpolinom zerushelye.
Megold as:
1 hibat kell javtani, tehat
1

4
zerushelye kell legyen a gener ator-
polinomnak. Kapjuk, hogy g(x) = x
3
+x + 1.
Mivel a BCH kodok eseten a g egy utthatoi a 0, 1 halmazb ol ker ulnek
ki, ezert a megoldas csak ez lehet.
3. D onts uk el, hogy az 5.3 peld aban szerepl o k odhoz letezik-e masik genera-
torpolinom, ha a GF(2
4
) test el oalltas ahoz mas primitv elemet v alasztunk.
4. Tegy uk fel, hogy az 5.3 pelda eseten a vett sz o
r = (110 000 111 000 000), es
r(x) = q
1
(x)m

(x) +1 = q
2
(x)m

3(x) +1+x
2
+x
3
= q
3
(x)m

5(x) +x
2
.
89
(a) Hatarozzuk meg az S(x) es L(x) polinomokat.
(b) Dekodoljuk r-et.
(c) Dekodoljuk, ha lehetseges, az r
1
= (100 111 001 011 101), r
2
=
(111 111 000 101 101), r
3
= (000 111 111 111 000) szavakat.
5. Konstrualjunk egy (15, 6) BCH-k odot GF(4) felett = 7 tervezett
t avolsaggal. (Vegy uk eszre, hogy a 1 =
0
, 2 = , 3 =
2
jel olest
haszn alva a GF(4) elemeire
x
15
1 = (x + 1)(x + 2)(x + 3)(x
2
+x + 2)(x
2
+x + 3)(x
2
+ 3x + 1)
(x
2
+ 2x + 1)(x
2
+ 2x + 2)(x
2
+ 3x + 3)
az x
15
1 polinom GF(4) feletti felbontasa irreducibilis tenyezokre .)
6. Hat arozzuk meg a g(x) =
4
+ x
3
+ x
7
polinom gyokeit a GF(2
5
)
testben, ahol GF(2
5
)-t az f(x) = 1+x
2
+x
5
polinom gy oke gener alja.
7. Legyen C egy GF(3) feletti 13 hossz us ag u = 5 tervezett t avolsag u
BCH-k od. Vegy uk az F = GF(3
3
) veges testet, melyet az f(x) =
1 +2x
2
+x
3
irreducibilis polinom gy okenek negyzete =
2
gener al,
ami primitv 13-adik egyseggyok.
Haszn aljuk az F test elemeinek t ablazat at az primitv elem hatvanyainak
alakj aban:
i
i
i
i
i
i
0 (1, 0, 0) 9 (2, 2, 2) 17 (1, 1, 2)
1 (0, 1, 0) 10 (1, 2, 1) 18 (1, 1, 0)
2 (0, 0, 1) 11 (2, 1, 0) 19 (0, 1, 1)
3 (2, 0, 1) 12 (0, 2, 1) 20 (2, 0, 2)
4 (2, 2, 1) 13 (2, 0, 0) 21 (1, 2, 2)
5 (2, 2, 0) 14 (0, 2, 0) 22 (1, 1, 1)
6 (0, 2, 2) 15 (0, 0, 2) 23 (2, 1, 2)
7 (1, 0, 1) 16 (1, 0, 2) 24 (1, 2, 0)
8 (2, 1, 1) 25 (0, 1, 2)
.
A k orosztasi oszt alyai modulo 13 a k ovetkez ok:
C
0
= {0}, C
1
= {1, 3, 9}, C
2
= {2, 6, 5}, C
4
= {4, 12, 10}, C
7
= {7, 8, 11}.
Ha m
i
(x) jeloli a
i
deni alo polinomj at, akkor
m
0
(x) = x 1, m
1
(x) = 2 + 2x + 2x
2
+x
3
, m
2
(x) = 2 + 2x +x
3
,
m
4
(x) = 2 +x +x
2
+x
3
, m
7
(x) = 2 +x
2
+x
3
.
90
Legyen C gener atorpolinomja:
g(x) = m
0
(x)m
1
(x)m
2
(x) = 2 + 2x +x
4
+ 2x
5
+x
6
+x
7
.
Ha a vett sz o
r = (220 021 110 2110),
akkor a szindrom akra kapjuk, hogy
S
i
= r(
2
)
i1
, S
1
= 1, S
2
=
14
, S
3
=
23
, S
4
=
16
.
Most az
15
+
3
x + 2x
2
polinom gy okei adj ak meg a hibahelyeket.
GF(3) felett haszn alva a m asodfok u egyenlet gy okkepletet, kapjuk,
hogy
x
1,2
=

3

_
(
3
)
2
4(2)
15
2(2)
=
3

6
+
15
=
3

12
=
3

6
.
Ezert a ket gy ok

3
+
6
=
10
=
5
es
3

6
=
18
=
9
.
Az X
i
ertekek
5
=
8
es
9
=
4
. Tehat a 9. es az 5. helyen van a
hiba. Vegy uk eszre, hogy
S
2
= r() = e() = Y
1

4
+Y
2

8
, S
3
= r(
2
) = e(
2
) = Y
1
(
4
)
2
+Y
2
(
8
)
2
.
Ebb ol (5.3)-at felhasznalva a kovetkezo line aris egyenletrendszert kapjuk
GF(3
3
) felett:
_

14

23
_
=
_

16
__
Y
1
Y
2
_
,
ahonnan
_


6
__

14

23
_
=
_
Y
1
Y
2
_
,
amib ol Y
1
= 2 es Y
2
= 2, s a hibavektor e = (000 020 002 0000), es
c = r e = (220 001 111 2110).
Feladat:
Legyen most a C-k od ellen orz o m atrixa.
_

6

20

22

24

6

20

22

24
_
egy C (13, 7)-k od ellen orz o m atrixa. (H egy 6 13-as matrix a Z
3
felett, ha az
i
-ket a GF(3) feletti h armasokkal helyettestj uk.)
91
(a) Donts uk el, hogy C ciklikus-e, s ha az, adjuk meg a gener atorpolinom-
j at.
(b) Adjuk meg k erteket.
(c) Bizonytsuk be, hogy C ket hib at javt.
(d) Javtsuk ki az r = (1121 0101 10100) szot.
8. Az el ozo 27-elem u test segtsegevel
(a) Konstrualjunk egy olyan (20, 6) ciklikus k odot a GF(3) felett,
amelynek a d t avolsag ara d 10.
(b) Adjuk meg a gener atorm atrixat egy olyan binaris kethibajavt o
(13, 7)-k odnak, amely legal abb 2187 sz ot tartalmaz.
(c) Adjuk meg egy egyhibajavto binaris (9, 3) kod generatorpolinomj at.
9. Hat arozzuk meg a GF(2
4
) feletti a g(x) = +
9
x+
7
x
2
+
14
x
3
+x
4
polinom zerushelyeit, ha GF(2
4
)-et az f(x) = 1 + x + x
4
polinom
gy oke generalja.
10. Tegy uk fel, hogy van egy harom hibat javt o bin aris BCH-k odunk.
Hogyan lehet meghatarozni a szindrom akat az S
1
, S
3
es S
5
ertekeib ol?
11. Magyarazzuk meg, miert lesz a L(x) hibahelypolinom L
1
egy utthatoja
(az (5.12)-ben megadott jel oles szerint) mindig S
1
-el egyenl o?
12. Tegy uk fel, hogy S
1
= 0, de S
3
= 0. Magyar azzuk meg, hogy miert lesz
a hibak sz ama t obb, mint 2.
13. Tegy uk fel, hogy S
1
= 0, de S
3
= 0. Hat arozzuk meg L(x) egy utthat oit
az (5.12) egyenletrendszer segtsegevel.
6. fejezet
Hibajavtasi technikak
6.1. Hibacsom ok javtasa
A Reed-Solomon k od egy j o tulajdons aga, hogy kepes un. csom o hib at
javtani.
Legyen adva a GF(2) feletti C (n, k)-RS k od. A GF(2
m
) minden elemet
GF(2) feletti elemkent lehet el o alltani, teh at minden GF(2
m
) feletti C-beli
c k odszot elo lehet alltani egy GF(2) feletti (bin aris) c

k odszokent. Az
eredmenykent kapott binaris C

k od egy (nm, km)-k od lesz, s 2


km
sz ot tar-
talmaz. Vizsg aljuk meg, hogy C

hogyan javt ki egy b hossz usag u un. s ur u e


vagy csomo hib at, azaz olyan hib at, ahol a hibavektor nemzerus koordin atai
egym as utan vannak, teh at a hib as pozici ok egym as mellett vannak a vett
sz oban ilyenek a gyakorlatban gyakran elofordulnak.
Legyen c

a c C-nek megfelel o sz o, c
i
a c i-edik koordin ataja, s c

i
a C
i
-nek megfelel o m-es. Az 5.5 tetel szerint C

ki tudja javtani az e hib at,


ha e legfeljebb [(n k)/2] jelet v altoztat meg c-ben. Legrosszabb esetben e
els o nem-nulla bitjet valamilyen i-re a c

i
utols o bitpozci oj at erinti. Ebben az
esetben a b hossz usag u hiba maradek b 1 helye nem befoly asol a c sz o t obb
mint [(nk)/2]1 koordin at ajan al t obbet, teh at, ha b1 < m([(nk)/2]1),
akkor C

az e hib at kepes lesz kijavtani.


Ez a k ovetkez o tetelhez vezet:
6.1. Tetel. Minden GF(2
m
) feletti (n, k)-RS kodhoz hozza lehet rendelni
egy binaris (nm, km)-kodot, mely kepes m([(n k)/2] 1) + 1 s ur u hibat
kijavtani.
6.1. Pelda. Legyen adva az 1.6 peldabol ismert F = GF(2
4
) test. Ha az
f(x) = 1 +x +x
4
gyoke, akkor =
3
egy primitv otodik egyseggyok, s a
g(x) = 1+x+x
2
+x
3
+x
4
gyoke. Tehat a g(x) = (x)(x
2
)(x
3
)(x
4
)
92
93
polinom egy F feletti C (5, 1)-RS kod generatorpolinomja a tervezett = 5
tavolsaggal. A C generatormatrixa G = (11111), es
C = {(
i
,
i
,
i
,
i
,
i
) : 0 i 14} {(0, 0, 0, 0, 0)}.
Minden c C egy otdimenzios vektor az F felett. A c koordinatait binaris ne-
gyesekkel helyettes tve, egy olyan 20 hossz usag u szavakat tartalmazo C

kodot
kapunk, melyben minden 5, vagy rovidebb hossz usag u s ur u hiba kijavthato.
6.2. Torlesek dek odolasa
A csatorn an valo tovabbtas sor an elofordulhatnak t orlesek, tehat hib ak,
melyeknek eredmenyeit nem, csak helyeit ismerj uk. El ofordulhat, hogy a
k odszo n-es i-edik pozci ojaban t ortent t orlest ki tudjuk javtani. Legyen C
egy [n, M]-k od az A k odabece felett. Ha a vett r sz oban l t orles volt, es
nem t ortent m as hiba, akkor mondjuk, hogy a hiba javthato, ha a lehetseges
| A |
l
sz am u vektor koz ott c az egyetlen k odsz o, mely r-el egyezik a nem
t orlod ott r l pozci oban. Egy k odot u torlest javto k odnak nevez unk, ha
minden l u t orlest javtani kepes.
6.2. Tetel. A d tavolsag u A-abece feletti C [n, M]-kod d 1 torlest kepes
javtani.
Bizonytas: Tegy uk fel, hogy a vett r n hossz usag u sz oban l = d 1 t orles
t ortent. Az osszes lehetseges | A |
l
olyan n-es k ozott, amely r-rel egyezik a
t orleshelyeken kiv uli koordin at akban, kell, hogy legyen egy k odsz o, mivel C
Hamming-t avols aga d. Felteve, hogy a csatorn an csak t orles t ortent, kaptuk,
hogy pontosan egy olyan c k odszo van, amelyre a r sz ot javtani lehet.
A tovabbiakban a k odszavakban a torlesek helyet -al jelolj uk.
6.2. Pelda. Vegy uk az 5.5 peldaban szereplo GF(2
4
) feletti kodot, s a vett
szo legyen r = (
6
1), ahol jeloli a torlesek helyet. Rendelj unk azokhoz
0-t, s gy legyen r = (0
6
001). Ekkor
r = c + (u
1
0u
2
u
3
0)
valamilyen c kodszora. Mivel Hc
t
= 0, kapjuk, hogy Hr
t
= H(u
1
0u
2
u
3
0)
t
,
tehat
H =
_
_
1 0 0
3

14
0 1 0
2

8
0 0 1
11

12
_
_
r
t
=
_
_

14

14

12
_
_
=
_
_
u
1
+
3
u
3

2
u
3
u
2
+
11
u
3
_
_
.
Ez egy haromismeretlenes egyenletrendszer, melynek megoldasai: u
1
=
3
, u
2
=

9
, u
3
=
12
. Tehat c = (
3
0
9

12
1).
94
Termeszetesen olyan csatornak is vannak, melyeken a t orlesekkel egy utt
hib ak is adodnak. Egy A abece feletti C [n, m]-k odrol azt mondjuk, hogy t
hib at es u t orlest javt, amennyiben egy vett r sz ohoz, melyben legfeljebb l
t orles tortent, egyetlen c C letezik, melyhez van olyan v S, amely az r-el
egyezik a nem t orl odott n l koordin ataban, ahol S az osszes | A |
l
sz am u
vektor k oz ul azon vektorok szama, melyekre d(c, v) t.
6.3. Tetel. Egy d = 2t +u+1 tavolsag u [n, M]-kod t hibat es u torlest kepes
javtani.
Bizonytas: Legyen r a vett szo, melyben legfeljebb t hiba es l u t orles van,
es legyen S olyan vektorok halmaza, melyek az r-el egyeznek a nem t orlod ott
nl koordin ataban. Legyen c
1
, c
2
C, d(c
1
, s
1
) t es d(c
2
, s
2
) t valamely
s
1
, s
2
S-re. Ekkor a h aromsz og-egyenl otlenseg miatt,
t +t +u d(c
1
, s
1
) +d(c
2
, s
2
) +d(s
2
, s
1
) d(c
1
, s
1
) +d(c
2
, s
1
) d(c
1
, c
2
).
Most d = 2t + u + 1 es d(c
1
, c
2
) 2t + u, amib ol c
1
= c
2
k ovetkezik. Teh at
egyetlen olyan c = c
2
letezik, mely valamely S-beli szot ol t t avolsagra van,
es r-et erre a k odsz ora lehet k odolni. Kaptuk, hogy C ki tud javtani t hib at,
es u t orlest.
Tegy uk fel, hogy C egy d = 2t + u + 1 Hamming t avolsag u (n, k)- k od.
Ha nincs t orles, akkor C ki tud jav tani t +[u/2] hib at. Legyen r a vett sz o,
melyben maxim alisan t hiba, es u t orles volt. A dek odol o ekkor ket n-est allt
el o, r
0
-at es r
1
-et, ahol r
i
az r-b ol a t orlesek helyere rakott i szimb olumokkal
keletkezik, ahol i vagy 0, vagy 1. Mivel C bin aris, vagy az r
0
vagy az r
1
a
t orlod ott poz ciok legalabb felenel a helyes bitet tartalmazza, s gy annak
t avolsaga a helyes kodsz ot ol legfeljebb t + [u/2], ezutan barmely standard
hibajavto modszer meg tudja hat arozni a helyes szot. Ha ezzel a m odszerrel
mind a ket sz ot, r
0
-at, es r
1
-et kijavtva ugyanazt a sz ot kapjuk, akkor ez lesz
a tov abbtott sz o. Ha a ketto k ulonbozik, akkor csak az egyikben (es csak az
egyikben) javtunk legfeljebb t helyet a nem-t orl odott biteken. A k ovetkez o
pelda ezt j ol szemlelteti:
6.3. Pelda. Vegy uk a 4.5 peldabol ismert binaris ciklikus C (15, 7)-kodot,
melyet a g(x) = 1 + x
4
+ x
6
+ x
7
+ x
8
polinom general. Mivel C tavolsaga
5, az ki tud javtani 1 hibat, es 2 torlest, vagy 2 hibat torles hianya eseten.
Legyen c = (10011 01011 11000), es a tovabbtott szo r = (101 10001 11100).
Ekkor
r
0
= (10011 00011 11000), r
1
= (10111 00011 11001).
A mar ismert modszer a binaris ciklikus kodok javtasara r
0
-at c-re dekodolja,
s ez r-tol csak 1 nem-torlodott bitben k ulonbozik. Tehat legfeljebb 1 hibat
95
feltetelezve (a 2 lehetseges torles mellett) az r-et helyesen dekodoljuk. A
hibajavto modszer az r
1
-re alkalmazhatatlan.
6.4. Pelda. Vegy uk az elozo peldat, s legyen a vett szo r = (00001 00
0 00000). Ekkor
r
0
= (00001 00000 00000), r
1
= (00001 00110 00000).
Hasznalva a ciklikus kodokra ismertetett hibacsapda dekodolasi modszert, a
dekodolo a ket szot a kovetkezo szavakba viszi at:
c
0
= (00000 0000 00000), c
1
= (10001 01110 00000).
Mivel c
0
az r-tol csak egy nem-torlodott bitben, c
1
pedig ket nem-torlodott
bitben k ulonbozik, a szot c
0
-ra lehet dekodolni.
A t orlesek dekodolas anak legegyszer ubb algoritmusat line aris k odokn al a
k ovetkez okeppen lehet megadni:
1. Valasszunk ki egy s S vektort.
2. Hat arozzuk meg az egyetlen olyan c k odszot, melyre d(c, s) t + [u/2],
ha ilyen szo letezik.
Ha nincs ilyen sz o, akkor v alasszunk masik s-et, s ismetelj uk
a 2. lepest.
3. Ha c az s-t ol legfeljebb t nem-t orlod ott pozci oban
k ulonbozik, akkor dekodoljuk az r-et s-re, k ul onben vegy unk m asik
s-et, es menj unk a 2. lepeshez.
Az 1. lepes megfelel a t orl ott koordin at ak kitoltesenek. Az algoritmusbeli
lepesek sz ama q
u
, ahol q a kod alapteste elemeinek szama.
6.3.

Osszefes ules
A s ur u hiba javtasi modszerenek t okeletestesere dolgozt ak ki az osszefes uleses
modszert. Ez a k ovetkez o peld aval szemleltetheto.
6.5. Pelda. Legyen adva az egy hibat javto C (7, 4) Hamming-kod a G
generatormatrixszal, ahol
G =
_
_
_
_
1 0 0 0 1 1 1
0 1 0 0 1 1 0
0 0 1 0 0 1 1
0 0 0 1 1 0 1
_
_
_
_
.
96
Vegy uk a
c
1
= (1100 001), c
2
= (0011 110), c
3
= (0111 000)
kodszavakat, s tegy uk fel, hogy ezeket a felsorolas sorrendjeben tovabbtottak.
Ez a kod egy hibat ki tud javtani, s nem tud kijavtani pl. mar egy 2
hossz usag u s ur u hibat sem. A helyzet javthato, ha eloszor a c
1
elso bitjet
tovabbtjuk, majd a c
2
elso bitjet, s ezutan a c
3
elso bitjet. Majd elk uldj uk a
c
1
masodik bitjet, s sorra a tobbit, es gy tovabb.

Igy a tovabbtott szo
(1001010 1101101 0010100)
lesz, ahol a harom szo most ossze van fes ulve. Konny u eszrevenni, hogy gy
minden legfeljebb 3 hossz usag u s ur u hibat ki lehet javtani. Valojaban egy
1 s ur useg u hibat javto (7, 4)-kodbol kesztett unk egy 3 s ur useg u hibat javto
(21, 12)-kodot.

Altal aban, legyen adva egy F test feletti b s ur useg u hibat javt o (n, k)-
k od. Az (a
i
1
a
i
2
a
i
3
. . . a
i
n
), 1 i t, k odszavak minden t-esehez kepezz unk
egy
T =
_
_
_
_
a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
.
.
. . . .
.
.
.
a
t1
a
t2
. . . a
tn
_
_
_
_
m atrixot, es ennek oszlopait haszn alva legyen az uj C

k od k odszava
(a
11
a
21
. . . a
t1
a
12
. . . a
t2
. . . a
1n
a
2n
. . . a
tn
).
Ilyenkor azt mondjuk, hogy a C k odot t melysegig osszefes ult uk.
6.4. Tetel. Legyen C egy F = GF(q) feletti olyan ciklikus C (n, k)-kod,
melyet a g(x) polinom general, s amely alkalmas b s ur useg u hibat javtani.
Akkor g(x
t
) egy olyan (nt, kt) ciklikus kod generatorpolinomja az F felett,
amely bt s ur useg u hibat kepes javtani.
Bizonytas: A C-t t melysegig osszefes ulve egy C

k odot kapunk, melynek


szavai a k ovetkez o t n-es matrixban vannak felsorolva:
_
_
_
_
a
0
a
t
. . . a
(n1)t
a
1
a
t+1
. . . a
(n1)t+1
.
.
.
.
.
.
.
.
.
a
t1
a
2t1
a
nt1
_
_
_
_
,
97
ahol T sorai a C szavai, es a(x) =

nt1
i=0
a
i
x
i
a C

k odszava. A C

k od q
kt
k odszot tartalmaz, szavai nt hossz uak, s az el oz oekhez hasonloan belathat o,
hogy C

ki tud javtani bt s ur useg u hib at. Csak azt kell bel atni, hogy
C

-ot g(x
t
) generalja. Az a(x) el o allthat o a k ovetkez o alakban: a(x) =

t1
i=0
A
i
(x
t
)x
i
, ahol
A
i
(x
t
) = a
i
+a
i+1
x
t
+a
2t+i
x
2t
+. . . +a
(n1)t+i
x
(n1)t
,
es A
i
(x) k odszo a C-ben. g(x
t
) osztja A
i
(x
t
)-t 0 i t 1-re, mivel g(x)
osztja A
i
(x)-et. Ezek miatt g(x
t
) osztja a(x)-et, teh at C

minden szav at.


Tovabba, mivel g(x) osztja x
n
1-et, es gy g(x
t
) osztja x
nt
1-et, g(x
t
) egy
kt dimenzi os k odot general. Kaptuk, hogy g(x
t
) generalja C

-ot.
FELADATOK:
1. Vegy uk az 5.3-ban szereplo peldat.
(a) Hatarozzuk meg, hany t orlest es hib at tud a k od javtani.
(b) Dekodoljuk a kovetkezo szavakat: r
1
= (0110 0111 11001),
r
2
= (10100 10 0101), r
3
= (10 1 0 100 011).
2. Legyen g(x) =

6
i=0
(x
i
) a C (10, 4) RS-k od generatorpolinomja,
ahol = 2 a GF(11) primitv eleme. Legyen a vett sz o r = (38699
220).
(a) Hatarozzuk meg, hany t orlest es hib at tud a C javtani.
(b) Hat arozzuk meg az S(x) szindr oma polinomot, es a L

(x) hibahely
polinomot r-re.
(c) Oldjuk meg a L

(x) = 0 egyenletet.
(d) Dekodoljuk az r sz ot.
3. Legyen g(x) =

5
i=1
(x
i
) a C (12, 8) RS-k od generatorpolinomja,
ahol = 7 a GF(13) primitv eleme. Dek odoljuk az r = (a37a18cb7
1) szot, ahol a = 10, b = 11, c = 12.
4. Tekints uk GF(2
6
)-ot, melyet az f(x) = 1 + x + x
6
polinom gy oke
gener al. A
g(x) = (x
7
)(x
14
)(x
21
)(x
28
) = x
4
+
22
x
3
+
26
x
2
+
57
x+
7
polinom egy (9, 7)-RS-k odot gener al, melynek Hamming-t avols aga 5.
Tegy uk fel, hogy a c k odszoban a tov abbtas sor an t orlesek t ortentek,
s az a vett szo r = (
57
1
35

22
00). Hatarozzuk meg c-t.
98
5. Tegy uk fel, hogy C egy binaris ciklikus (7, 4)-k od, melyet a g(x) =
1 +x +x
3
polinom general. H any torlest kepes javtani C? Legyen
H =
_
_
1101100
0111010
1110001
_
_
a C ellen orzo m atrixa. Kodoljuk a kovetkezo uzeneteket:
(0110), (1010), (1000), (1011), (0111), (0100), (0011).
6. Legyen C egy bin aris k od, melyet az 1 +x
2
+x
4
+x
5
polinom gener al.
(a) Bizonytsuk be, hogy C kijavt minden 2 vagy kisebb csom o hib at.
(b) Keress uk meg C Hamming tavolsag at.
(c) Dekodoljuk a kovetkezo szavakat: a) r
1
= (01011 00000 00010),
b) r
2
= (10000 10110 10111), c) r
3
= (10101 10000 10101).
7. Egy GF(3) feletti (8, 4) BCH-kod ellen orzo m atrixa
_
1
2

7
1
2

10

12

14
_
=
_
_
_
_
1 0 1 2 2 0 2 1
0 1 2 2 0 2 1 1
1 1 2 2 1 1 2 2
0 2 0 1 0 2 0 1
_
_
_
_
,
ahol a GF(9) primitv eleme.
(a) Hatarozzuk meg a k od GF(3) feletti g(x) generatorpolinomj at.
(b) A BCH-k od konstrukcioja garant alja, hogy a k od Hamming-tavols aga
3. Bizonytsuk be, hogy a tenyleges tavolsag 4.
(c) Dekodoljuk az r = (012 20) szot.
Targymutato
osszefes uleses m odszer, 95
uzenetter, 41
k od gyorsasaga, 35
Abel-csoport, 6
ASCII k od, 31
BCH-k od, 72
bin aris k od, 32
biner m uvelet, 5
blokk-k od, 33
Cayley-t abl azat, 8
ciklikus alter, 61
ciklikus csoport, 13
ciklikus kod, 61
csom o, 92
csoport, 5
deni alo polinom, 15
du alis k od, 45
egyseggyok, 20
ekvivalens k od, 44
elemi szimmetrikus polinom, 77
ellen orzo m atrix, 47
ellen orzo szimb olum, 47
euklideszi algoritmus, 22
f oideal, 7
f oidealgy ur u, 7
f opolinom, 15
felbont asi test, 14
ferdetest, 7
gener atormatrix, 44
gener atorrendszer, 7
Golay-k od, 68
Gray-k od, 40
gy ur u, 6
Hamming t
avols
ag, 35
Hamming-k od, 54
Hamming-korl atnak, 54
Hamming-s uly, 42
Hamming-t avols ag, 43
hibahelypolinom, 76
hibahelysz am, 75
hibalok ator, 75
hibalok atorpolinom, 76
ide al, 7
integrit asi tartomany, 7
irreducibilis polinom, 11
ISBN szam, 33
izomorf testek, 19
k orosztasi oszt aly, 20
k odsema, 27
k odszo, 33
kommutatv gy ur u, 6
konjug alt elemek halmaza, 15
Lagrange-tetel, 13
legnagyobb k ozos oszt o, 22
line aris k od, 42
maxim alis valoszn useg u dek odol as, 36
99
100
MDS-k od, 60
mellekoszt aly, 50
morzek od, 27
neutr alis elem, 5
nulloszt o, 7
nulloszt omentes gy ur u, 7
nullter, 47
ortogon alis komplemens, 45
oszt alyelso, 50
parit asellenorz o bit, 47
permut aciom atrix, 44
Plotkin-korl atj anak, 59
prmtest, 10
primitv BCH-k od, 72
primitv egyseggy ok, 20
primitv elem, 12
reszgy ur u, 6
reciprok polinom, 66
Reed-Solomon-k od, 81
Singleton-korl at, 60
Singleton korl at, 49
standard dekodol o algoritmus, 52
standard tomb, 50
szindr oma, 51
szisztematikus alak u generatormatrix,
44
t okeletes k od, 55
t orlest javto k od, 93
tervezett t avolsag, 72
test, 7
Vandermonde-determin ans, 77
Varshamov-Gilbert-korl at, 60
Irodalomjegyzek
[1] W. W. Peterson, E. J. Weldon, Error-correcting Codes (2nd ed.) Cam-
bridge, Mass., MIT Press, 1972.
[2] R. Lidl, H. Niederreiter, Finite Fields, Addison-Wesley Publishing Com-
pany, 1983.
[3] F. J. MacWilliams, N. J. A. Sloane, The Theory of Error Correcting
Codes, Amsterdam, North-Holland, 1986.
[4] S. A. Vanstone, P. C. van Oorschot, An Introduction to Error Correcting
Codes with Applications, Kluwer Academic Publishers, 1989.
[5] Oliver Pretzel, Error Correcting Codes and Finite Fields, Clarendon
Press, Oxford, 1992.
101

You might also like