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

Informci- s kdelmlet

Gyrfi Lszl

Gyori Sndor
2002. november 29.

Vajda Istvn

Tartalomjegyzk
Elosz

1. Vltoz szhosszsg forrskdols


1.1. Egyrtelmu dekdolhatsg, prefix kdok . . . . . .
1.2. tlagos kdszhossz, entrpia . . . . . . . . . . . .
1.3. Optimlis kdok, binris Huffman-kd . . . . . . . .
1.4. Aritmetikai kdols . . . . . . . . . . . . . . . . . .
1.5. Az entrpia nhny tulajdonsga . . . . . . . . . . .
1.6. Informciforrsok vltoz szhosszsg kdolsa .
1.7. Markov-forrs s entrpija . . . . . . . . . . . . . .
1.8. Univerzlis forrskdols . . . . . . . . . . . . . . .
1.9. Feladatok . . . . . . . . . . . . . . . . . . . . . . .
2. Forrskdols husgkritriummal

2.1. Forrskdols elort hibavalsznusggel . . .


2.2. Kvantls . . . . . . . . . . . . . . . . . . .
2.3. Lineris szurs . . . . . . . . . . . . . . . .
2.4. Mintavtelezs . . . . . . . . . . . . . . . .
2.5. Transzformcis kdols . . . . . . . . . . .
2.6. Prediktv kdols (DPCM) . . . . . . . . . .
2.7. Lineris becsls . . . . . . . . . . . . . . . .
2.8. Beszdtmrts . . . . . . . . . . . . . . . .
2.9. Hangtmrts . . . . . . . . . . . . . . . . .
2.10. Kp- s videotmrts . . . . . . . . . . . .
2.11. Forrskdols betunknti husgkritriummal .
2.12. Feladatok . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

9
10
13
21
28
30
35
39
48
54

.
.
.
.
.
.
.
.
.
.
.
.

61
62
70
88
90
94
99
106
110
115
119
137
146

3. Csatornakdols
149
3.1. Bayes-dnts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

TARTALOMJEGYZK
3.2.
3.3.
3.4.
3.5.

Optimlis detektls analg csatorna kimenetn


Csatorna, csatornakapacits . . . . . . . . . . .
Csatornakdolsi ttel . . . . . . . . . . . . . .
Feladatok . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

156
160
164
173

4. Hibajavt kdols
4.1. Kdolsi alapfogalmak . . . . . . . . . . . . .
4.2. Binris lineris kdok, binris Hamming-kd .
4.3. Vges test . . . . . . . . . . . . . . . . . . . .
4.4. Lineris kdok, nembinris Hamming-kd . . .
4.5. Vges test feletti polinomok . . . . . . . . . .
4.6. ReedSolomon-kd . . . . . . . . . . . . . . .
4.7. Aritmetika GF(pm )-ben . . . . . . . . . . . . .
4.8. Ciklikus kdok . . . . . . . . . . . . . . . . .
4.9. BCH-kd . . . . . . . . . . . . . . . . . . . .
4.10. Kdkombincik . . . . . . . . . . . . . . . .
4.11. Kdmdostsok . . . . . . . . . . . . . . . .
4.12. ReedSolomon-kdok dekdolsa . . . . . . .
4.13. ReedSolomon-kdok spektrlis tulajdonsgai .
4.14. A konvolcis kdols alapfogalmai . . . . . .
4.15. A konvolcis kdok Viterbi-dekdolsa . . . .
4.16. A Viterbi-dekdols bithibaarnya DMC-n . . .
4.17. Rekurzv konvolcis kdols . . . . . . . . .
4.18. Turb kdok . . . . . . . . . . . . . . . . . . .
4.19. CDMA . . . . . . . . . . . . . . . . . . . . .
4.20. Feladatok . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

177
178
184
193
197
199
203
208
212
226
230
236
237
243
250
263
265
269
274
281
297

5. Kriptogrfia
5.1. Alapfogalmak . . . . . . . . . . . .
5.2. A konvencionlis titkostk analzise
5.3. Nyilvnos kulcs titkosts . . . . .
5.4. RSA-algoritmus . . . . . . . . . . .
5.5. Kriptogrfiai protokollok . . . . . .
5.6. Feladatok . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

317
318
323
326
332
340
358

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Irodalomjegyzk

365

Trgymutat

369

Elosz
Az informcielmlet a hrkzls matematikai elmlete. Szletst lnyegben
Claude Shannon [43] muvnek 1948-as megjelenshez kthetjk. Ez a munka
volt az elso, amely matematikai alapossggal trgyalta az adattmrts, a biztonsgos adattvitel s a titkosts problmit. Shannon adott eloszr kezelheto s
hasznos matematikai modelleket az informcis folyamatok lersra, mgpedig
gy, hogy az egyes problmk esetn tisztzta az elvi hatrokat, s tbbsgben
meg is konstrulta azokat a mdszereket, amelyek ezeket az elvi hatrokat aszimptotikusan elrik. Ugyanakkor napjainkban tmegesen terjedtek el az egyes adattmrto s hibakorltoz eljrsok, teht indokolt, hogy ezek alapveto elveit is
ttekintsk. Az 1. fejezetben ismertetjk a vesztesgmentes adattmrtst, mg
a 2. fejezetben a vesztesget (torztst) megengedo adattmrto (forrskdol)
eljrsokat trgyaljuk. A 3. fejezet tmja a csatornakdols.
A forrskdols elmletvel ellenttben a csatornakdols eredmnyei nem
konstruktvak, teht ma mg nem ismertek olyan kdolsidekdolsi eljrsok,
amelyek tetszoleges csatorna esetn a csatornakapacitst megkzeltenk. Ugyanakkor ismertek olyan algebrai hibavdo kdok, amelyek szmos gyakorlati problma megoldst segtik. A 80-as vektol alkalmazzk polgri clokra is a hibavdo kdokat, napjainkban a CD-ben hasznlt ReedSolomon-kd szinte minden
hztartsban megtallhat. A 4. fejezet sszefoglalja a hibajavt kdok alapjait.
Az 5. fejezet tmja a nyilvnos kulcs titkosts, teht az a problma, hogy
nyilvnos hlzaton hogyan biztosthat az adat- illetve hozzfrsvdelem.
Ez a tanknyv a Linder Lugosi [25] s a Gyrfi Vajda [22] jegyzet unijnak a kiegsztse azon tapasztalatok felhasznlsval, amelyeket a BME muszaki informatikusoknak tartott Informcielmlet s Kdelmlet trgyak oktatsa
sorn szereztnk az elmlt 10 vben.


E L OSZ

A mu elksztsben nyjtott segtsgkrt szeretnnk ksznetet mondani


Gyrgy Andrsnak, Laczay Blintnak, Linder Tamsnak, Lois Lszlnak, Lugosi
Gbornak, Pataricza Andrsnak s Pintr Mrtnak.

Budapest, 2000. augusztus 22.


Gyrfi Lszl
Gyori Sndor
Vajda Istvn

1. fejezet

Vltoz szhosszsg
forrskdols
Ebben a fejezetben bevezetjk a vesztesgmentes adattmrts fogalmt. Ennek clja az, hogy egy zenetet, amely egy vges halmaz (forrsbc) elemeibol
ll vges sorozat, egy msik vges halmaz (kdbc) elemeibol ll sorozattal
reprezentljunk gy, hogy ez a reprezentls a leheto legrvidebb (s belole az
zenet visszallthat) legyen. Ennek megfeleloen azt vizsgljuk, hogy az adattmrtsnek melyek az elvi hatrai, s ezeket a hatrokat hogyan kzelthetjk
meg. A legismertebb plda erre az, amikor a kdbc a f0; 1g halmaz, s egy
zenetet (pl. rott szveg, fjl) binris sorozatok formjban kdolunk trols, illetve tvitel cljbl. Az zenetet kibocst objektum az informciforrs
modellezsvel s vizsglatval az 1.6. szakasz foglalkozik (mivel valsznusgi
modelleket hasznlunk, ezrt az zenetek betui valsznusgi vltozk lesznek).
Clunk az, hogy az ehhez szksges matematikai appartust bevezessk. Megismerkednk az zenetek egy termszetesen add kritrium szerinti kdolsval
az egyrtelmuen dekdolhat kdolssal , mely ksobb vizsglataink kzppontjban ll majd. Bevezetjk a diszkrt valsznusgi vltoz entrpijt,
s megmutatjuk, hogy az entrpia milyen alapveto szerepet jtszik a kdolssal
kapcsolatban. Az elkvetkezokben mindig azt tartjuk szem elott, hogy az zenetek kdja minl rvidebb legyen, ezrt a kdok ltalunk vizsglt fo tulajdonsga
a tlagos kdszhossz lesz. A fejezetet az univerzlis forrskdolssal s annak
gyakorlati alkalmazsaival zrjuk.
A hrkzlsi rendszerek mukdst egzakt matematikai eszkzkkel fogjuk
vizsglni. Persze sokfle matematikai modellt llthatunk hrkzlsi feladatokra,
de kezdetben az egyik legegyszerubbet vlasztva jl kifejezhetjk a problma lnyegt. A hrkzls alapfeladata az, hogy valamely jelsorozatot (informcit)

10

1. VLTOZ SZHOSSZSG FORRSKDOLS

forrs

- kdol

- dekdol

csatorna

- nyelo

1.1. bra. Hrkzlsi rendszer blokkdiagramja.

kdol

- -

forrskdol

csatorna- dekdol -  - dekdol

titkost

visszafejto

- csatornakdol
forrs- - dekdol

1.2. bra. A kdol s a dekdol felptse.


el kell juttatni egyik helyrol a msikra. A tvolsgot (vagy idot) thidal hrkzlsi eszkz a csatorna azonban csak meghatrozott tpus jeleket kpes
tvinni. Az informciforrs ltal produklt jelfolyamot kdolssal meg kell feleltetni egy, a csatorna ltal hasznlt jelekbol ll jelfolyamnak. A felhasznl
(nyelo) a csatorna kimenetn pontosan, vagy megkzeltoleg visszalltja, dekdolja az zenetet. Egy ilyen rendszer blokkdiagrammja lthat az 1.1. brn.
A kdol ltalnos esetben hrom rszbol ll. Az elso a forrskdol, amely
a forrs zeneteit gazdasgosan, tmren reprezentlja. Ezzel foglalkozik az elso
kt fejezet. A msodik rsz a titkost (5. fejezet), s a harmadik a csatornakdol
(3. s 4. fejezet). Ennek megfeleloen a dekdol is hrom rszbol ll: csatornadekdol, visszafejto s forrsdekdol (1.2. bra).

1.1. Egyrtelmu dekdolhatsg, prefix kdok


Jelljn X egy diszkrt valsznusgi vltozt, amely az X = fx1 ; x2 ; : : : ; xn g vges
halmazbl veszi rtkeit. Az X halmazt a tovbbiakban forrsbcnek, elemeit
pedig betuknek nevezzk.
Y jelljn egy s elemu fy1; y2; : : : ; ysg halmazt. Ezt kdbcnek nevezzk.

Y jellje az Y elemeibol ll vges sorozatok halmazt. Y elemeit kdszavaknak nevezzk. Egy f : X ! Y fggvnyt, amely megfeleltetst ltest a forrsbc s a kdszavak kztt, kdnak neveznk. Az X elemeibol alkotott vges
sorozatok az zenetek vagy kzlemnyek (rtkeiket az X halmazbl veszik).
Amennyiben az f kd rtkkszlete klnbzo hossz kdszavakbl ll, gy vltoz szhosszsg kdolsrl beszlnk.

1.1. E GYRTELM U

11

DEKDOLHATSG , PREFIX KDOK

1.1. definci. Az f : X ! Y kd egyrtelmuen


dekdolhat, ha minden vges kdbetusorozat legfeljebb egy kzlemny kdolsval llhat elo, azaz ha u 2
X ; v 2 X , u = u1 u2 : : : uk ; v = v1v2 : : : vm; u 6= v, akkor f (u1) f (u2) : : : f (uk ) 6=
f (v1 ) f (v2 ) : : : f (vm ). (Itt az f (u) f (u0) a kt kdsz egyms utn rst [konkatenci] jelenti.)
M EGJEGYZS :
a) Az egyrtelmu dekdolhatsg tbb, mint az invertlhatsg. Ugyanis legyen X = fa; b; cg; Y = f0; 1g s f (a) = 0; f (b) = 1; f (c) = 01. Ekkor
az f : X ! Y lekpezs invertlhat, viszont a 01 kdszt dekdolhatjuk
f (a) f (b) = 01 szerint ab-nek, vagy f (c) = 01 szerint c-nek is.
b) Az elobbi definciban szereplo kdolsi eljrst, amikor egy kzlemny
kdjt az egyes forrsbetukhz rendelt kdszavak sorrendben egyms utn
rsval kapjuk, betunknti kdolsnak nevezzk. Termszetesen a kdolst teljesen ltalnosan egy g : X ! Y fggvnnyel is definilhatnnk,
de ksobb ltni fogjuk, hogy a betunknti kdols s annak termszetes
kiterjesztse, a blokk-kdols elegendo szmunkra.
1.2. definci. Az f kd prefix, ha a lehetsges kdszavak kzl egyik sem folytatsa a msiknak, vagyis brmely kdsz vgbol brmekkora szegmenst levgva
nem kapunk egy msik kdszt. Egy prefix kd egyben egyrtelmuen dekdolhat is.
Az eddig bevezetett fogalmak illusztrlsra nzzk a kvetkezo pldkat:
1.1. plda. X = fa; b; cg; Y = f0; 1g A kd legyen a kvetkezo: f (a) = 0; f (b) =
10; f (c) = 110: Knnyen ellenorizheto, hogy a kd prefix.
Ha az abccab zenetet kdoljuk, akkor a 010110110010 kdbetusorozatot
kapjuk. A kdbl az zenet visszafejtse nagyon egyszeru a prefix tulajdonsg
miatt; tbbek kztt ez a gyors dekdolsi lehetosg teszi vonzv a prefix kdokat.
1.2. plda. X = fa; b; c; d g; Y = f0; 1g; f (a) = 0; f (b) = 01; f (c) = 011; f (d ) =
0111: Jl lthat, hogy a kd nem prefix, de egyrtelmuen dekdolhat, hiszen a
0 karakter egy j kdsz kezdett jelzi.
1.1. lemma (McMillan). Minden egyrtelmuen dekdolhat f : X ! Y kdra
n

i=1

j f (xi )j  1;

ahol s a kdbc elemszma, s j f (xi )j jelli az f (xi ) kdszhosszt.

(1.1)

12

1. VLTOZ SZHOSSZSG FORRSKDOLS

B IZONYTS : Tekintsk az (1.1) sszeg N-edik hatvnyt:


n

s j f (xi)j

!N

i=1

 s

i1 =1

j f (xi1 )j++j f (xiN )j) =

N Lmax

iN =1

Al s

l =1

ahol Lmax = max j f (xi )j; s Al jelli az sszes l hosszsg, N darab kdsz egy1in

ms utn rsval keletkezo kdbetusorozatok szmt. Mivel feltevsnk szerint


f egyrtelmuen dekdolhat, az sszes ilyen l hossz sorozat klnbzo, teht
Al

 sl

Ebbol azt kapjuk, hogy


n

j f (xi )j

!N

 N  Lmax

i =1

vagyis
n

i=1

j f (xi )j 

p p
N

Lmax :

(1.2)

Mivel N tetszoleges, s tudjuk, hogy N N ! 1; N Lmax ! 1, ha N ! , ezrt (1.2)


csak gy llhat fenn minden N-re, ha (1.1) igaz.
A kvetkezo lemma bizonyos rtelemben az elozo megfordtsa.
1.2. lemma (Kraft). Ha az l1 ; l2 ; : : : ; ln pozitv egsz szmokra
n

s l  1
i

(1.3)

i=1

akkor ltezik olyan f prefix kd, hogy

j f (xi)j = li

i = 1; : : : ; n:

B IZONYTS : Az egyszerusg kedvrt tegyk fel, hogy az li szmok nagysg


szerint nvekvo sorrendben vannak: l1  l2    ln . A bizonyts technikja
megkvnja, hogy a kdbc fy1 ; y2 ; : : : ; ys g elemeit a f0; 1; : : : ; s 1g szmokkal
helyettestsk (pldul a kvetkezo megfeleltets szerint: yi 7! i 1; i = 1; : : : ; s).
Definiljuk a w j szmokat a kvetkezokppen:
j 1

w1 = 0;

wj =

sl

i=1

li

j = 2; : : : ; n:

1.2. TLAGOS

13

KDSZHOSSZ , ENTRPIA

(1.3) mindkt oldalt sln -nel szorozva, majd mindkt oldalbl 1-et levonva kapjuk,
hogy
n 1

wn =

sl

li

i=1

 sl

1:

Hasonlkpp eljrva azt kapjuk minden j-re, hogy w j  sl j 1. Ezek utn definiljuk f (x j )-t mint a w j szm s alap szmrendszerben felrt alakjt, amelynek
elejre annyi 0-t runk, hogy a hossza l j legyen. A kdszavak nyilvn klnbzok
lesznek mivel w j < wk , ha j < k. Most beltjuk, hogy az gy kapott kd prefix.
Tegyk fel ugyanis ennek az ellenkezojt, vagyis azt, hogy valamilyen j < k esetn f (jx j ) vghez
lk l j darab szmjegyet hozzadva megkapjuk f (xk )-t. Ekkor
k

w j = lwk kl j kvetkezne. (Az bx jells az x vals szm als egsz rszt jelli).
s
Viszont
k 1
k 1
wk
l l
l l
= s j i = w j + s j i  w j + 1;
s lk l j
i= j
i=1
s gy ellentmondsra jutottunk.

1.1. kvetkezmny. Az 1.1. s 1.2. lemmkat sszevetve levonhatjuk azt a fontos kvetkeztetst, hogy minden egyrtelmuen dekdolhat kdhoz ltezik vele
ekvivalens (azonos kdszhossz) prefix kd, teht nem vesztnk semmit, ha az
egyrtelmu dekdolhatsg helyett a specilisabb, s ezrt knnyebben kezelheto
prefix tulajdonsgot kveteljk meg.

1.2. tlagos kdszhossz, entrpia


Legyen X egy X rtku valsznusgi vltoz, amit kdolni akarunk. Vezessk be
a kvetkezo p : X ! [0; 1 fggvnyt:
p(x) = PfX

=x

x 2 X:

A p(x) fggvny teht az x forrsbetuhz annak valsznusgt rendeli.


1.3. definci. Az X valsznusgi vltoz entrpijt, H (X )-et, a
n

H (X ) = E( log p(X )) =

p(xi) log p(xi)

i=1

sszeggel definiljuk.

14

1. VLTOZ SZHOSSZSG FORRSKDOLS

M EGJEGYZS :
a) A log z jells a z pozitv szm kettes alap logaritmust jelenti. Mivel
az 1.3. definci megkvnja, a logaritmusfggvnnyel kapcsolatban a kvetkezo szmolsi szablyokat vezetjk be (a  0; b > 0):
0 log

0
a

= 0 log

a
0

= 0;

b log

b
0

= +;

b log

0
b

(E szablyok az adott pontban nem rtelmezett fggvnyek folytonos kiterjesztsei.) A defincibl kzvetlenl ltszik, hogy az entrpia nemnegatv.
Vegyk szre, hogy az entrpia rtke valjban nem fgg az X valsznusgi vltoz rtkeitol, csak az eloszlstl.
b) Az entrpia intuitv fogalmval kapcsolatban lsd az 1.6. ttel utni megjegyzst.
1.4. definci. Egy f kd tlagos kdszhosszn az
n

Ej f (X )j = p(xi )j f (xi)j
i=1

vrhat rtket rtjk.


1.3. plda. Az 1.1. plda kdja esetn legyen p(a) = 0:5; p(b) = 0:3; p(c) = 0:2,
ekkor az entrpia
H (X ) =

0:5  log0:5

0:3  log0:3

0:2  log 0:2  1:485;

az tlagos kdszhossz pedig


Ej f (X )j = 0:5  1 + 0:3  2 + 0:2  3 = 1:7:
Ahhoz, hogy az egyrtelmuen dekdolhat kdok tlagos kdszhossza s
entrpija kzti alapveto sszefggst bebizonytsuk (ami tulajdonkppen e fejezet fo lltsa), szksgnk van kt segdttelre:
1.1. ttel (Jensen-egyenlotlensg). Legyen h egy vals, konvex fggvny az [a; b
zrt intervallumon, azaz minden x; y 2 [a; b s 0 < < 1 esetn
h(x + (1

)y)  h(x) + (1

)h(y);

(1.4)

s legyen Z egy valsznusgi vltoz, amely rtkeit az [a; b intervallumban veszi fel. Ekkor
h[E(Z )  E[h(Z ):
(1.5)

1.2. TLAGOS

15

KDSZHOSSZ , ENTRPIA

Tovbb, ha h az E(Z ) pontban szigoran konvex, vagyis az (1.4)-ben x +


)y = E(Z ) esetn hatrozott egyenlotlensg teljesl 8x; y-ra, akkor (1.5)ben egyenlosg akkor s csak akkor ll fenn, ha
(1

PfZ = E(Z )g = 1;

vagyis ha Z 1-valsznusggel konstans.


B IZONYTS : Mivel h konvex, ezrt az (a; b) nylt intervallum minden pontjban ltezik a jobb s a bal oldali derivltja s a bal oldali derivlt legfeljebb akkora
mint a jobb oldali. Tovbb az is igaz, hogy ezekkel a derivltakkal mint meredeksgekkel hzott flrintok a fggvnygrbe alatt fekszenek [a; b-ben. Jellje
c a jobb oldali derivltat az E(Z ) pontban, s rjuk fel itt a jobb oldali flrinto
egyenlett:
g(x) = c[x E(Z ) + h[E(Z ):
Ekkor az elobbiek szerint h(x)  g(x) brmely x 2 [a; b pontra, vagyis

Teht rhatjuk,hogy

h(x)  c[x

E(Z ) + h[E(Z ):

h(Z )  c[Z

E(Z ) + h[E(Z );

(1.6)

ahol mindkt oldal vrhat rtkt vve megkapjuk az elso lltst. Mivel szigoran konvex esetben (1.6)-ban egyenlosg csak x = E(Z ) esetben teljesl, a
msodik llts trivilisan addik.
1.2. kvetkezmny.

a) Ha pi  0; qi > 0; i = 1; 2; : : : ; n vals szmokra


n

pi = 1

qi = 1

i=1

akkor

i =1

pi log pi 

i=1

pi log qi

(1.7)

i=1

s egyenlosg akkor s csak akkor ll fenn, ha pi = qi minden i-re.


b) Ha ai  0; bi > 0; i = 1; 2; : : : ; n vals szmokra
n

ai = a

i=1

bi = b

i=1

16

1. VLTOZ SZHOSSZSG FORRSKDOLS

akkor

ai log ai  a  log a
bi

i =1

s egyenlosg pontosan akkor ll fenn, ha

bi
ai =

konstans minden i-re.

B IZONYTS :
a) (1.7) ekvivalens azzal, hogy
n

pi log pi  0
qi

i=1

Mivel a h(x) = log x fggvny szigoran konvex az rtelmezsi tartomnyn (a msodik derivltja pozitv), gy felhasznlhatjuk a Jensen-egyenlotlensget a kvetkezokppen:
Legyen Y egy olyan valsznusgi vltoz, hogy


P Y

qi
pi


=

i = 1; : : : ; n:

pi ;

Ekkor a Jensen-egyenlotlensg szerint


n

qi

pi log pi = E(

i=1

logY ) 

log pi

log E(Y ) =

i=1

qi
pi

= 0;

s egyenlosg akkor s csak akkor teljesl, ha qpii = konstans minden i-re,


de ekkor az sszegekre vonatkoz felttelek miatt pi = qi minden i-re.
b) Ha a = 0, akkor 8ai = 0, s ekkor az llts szmolsi szablyaink felhasznlsval minden b > 0-ra teljesl. Ha a 6= 0, akkor az a) pont szerint
1
a

bi
ai log ai
i=1

b
ai log a
i =1

bi b
ai
a  log ai a  0
=
=

i=1

teht a zrjelben levo kifejezsre


n

ai log ai ai log a  0

i=1

bi

i=1

Szintn az a) pont szerint az egyenlosg felttele az


a
b = konstans minden i-re.

ai
bi
a = b,

vagyis az

ai
bi =

1.2. TLAGOS

17

KDSZHOSSZ , ENTRPIA

Most kimondjuk a fejezet egyik fottelt.


1.2. ttel. Tetszoleges egyrtelmuen dekdolhat f :
n

Ej f (X )j = p(xi )j f (xi )j 
i=1

X ! Y kdra

H (X )
:
log s

(1.8)

M EGJEGYZS : Ha az entrpia defincijban kettes alap logaritmus helyett s(X )


alap logaritmust hasznlnnk, akkor ezt az entrpit Hs (X )-szel jellve Hlog
s =
Hs (X ) miatt (1.8) a kvetkezo alak lenne:
Ej f (X )j  Hs (X ):
B IZONYTS : Az (1.8) llts ekvivalens a kvetkezovel:
H (X ) 

p(xi) log s

j f (xi )j :

i=1

A Jensen-egyenlotlensg 1.2. a) kvetkezmnyt alkalmazva a


p i = p ( x i );

qi =

s j f (xi )j
s j f (x j )j
n

i = 1; : : : ; n;

j=1

szereposztsban megkapjuk az lltst:


n

H (X )

p(xi) log p(xi) 

i=1
n

p(xi) log

i=1

s j f (xi )j
s j f (x j )j
n

j=1
n

p(xi) log s j f (xi )j + log

i=1
n

p(xi) log s

s j f (xi )j

i=1

j f (xi )j ;

i=1

ahol az utols egyenlotlensgnl az 1.1. lemmt, a McMillan-egyenlotlensget


hasznltuk fel.
Miutn lttuk, hogy egy X valsznusgi vltoz egyrtelmuen dekdolhat
(X )
kdjnak tlagos kdszhosszra a Hlog
s mennyisg als korltot ad, most megmutatjuk, hogy prefix kddal ezt a korltot jl meg lehet kzelteni.

18

1. VLTOZ SZHOSSZSG FORRSKDOLS

1.3. ttel. Ltezik olyan f :

X ! Y prefix kd, amelyre


Ej f (X )j <

H (X )
+ 1:
log s

1. BIZONYTS : (ShannonFano-kd) Feltehetjk, hogy p(x1 )  p(x2 )   


p(xn 1 )  p(xn ) > 0, mert klnben az X elemeinek tindexelsvel elrhetjk
ezt. A bizonyts technikja miatt ismt felhasznljuk az yi 7! i 1; i = 1; : : : ; s
megfeleltetst. Legyenek a wi szmok a kvetkezok:
i 1

wi = p(xl );

w1 = 0;

i = 2; : : : ; n:

l =1

Kezdjk a wi szmokat felrni s-alap szmrendszerbeli trt alakban. A w j -hez


tartoz trtet olyan pontossgig rjuk le, ahol az eloszr klnbzik az sszes
tbbi wi , i 6= j szm hasonl alakbeli felrstl. Miutn ily mdon n darab vges
hossz trtet kapunk, az f (x j ) legyen a w j -hez tartoz trt az egszeket reprezentl nulla nlkl. Knnyedn belthat, hogy az gy kapott kd prefix. A
konstrukci miatt x j -hez ltezik olyan xk , hogy w j s wk vgtelen trt alakjban
az elso j f (x j )j 1 szmjegy azonos. Nyilvnval, hogy vagy w j+1 vagy w j 1 trt
alakja ilyen lesz, mivel ezek a w j -hez legkzelebbi szmok. Az elso esetben
w j < s j f (x j )j+1 ;

p(x j ) = w j+1

(1.9)

a msodik esetben
p(x j
de ekkor p(x j )  p(x j

1)

1) = w j

wj

<

s j f (x j )j+1 ;

miatt (1.9) megint kvetkezik. Teht mindkt esetben


log p(x j ) > (j f (x j )j

1) logs;

amibol mindkt oldalt p(x j )-vel szorozva s minden j-re sszegezve


n

p(x j ) log p(x j )

>

j=1

p(x j )j f (x j )j

1 log s

j=1

kvetkezik, gy a ttelt bebizonytottuk.


2. BIZONYTS : Legyenek az li pozitv egsz szmok olyanok, hogy
logs p(xi )  li <

logs p(xi ) + 1;

i = 1; : : : ; n

(1.10)

1.2. TLAGOS

19

KDSZHOSSZ , ENTRPIA

ahol logs az s-alap logaritmust jelli. Az li szmokat nyilvn egyrtelmuen meg


lehet gy vlasztani. A bal oldali egyenlotlensgbol kvetkezik, hogy
n

s l  slog p x

s ( i)

i=1

i=1

p (x i ) = 1

i=1

teht az li szmok kielgtik az 1.2. lemma felttelt, s gy ltezik f prefix kd li


hossz kdszavakkal (j f (xi)j = li ). Ha a jobb oldali egyenlotlensget (1.10)-ben
p(xi )-vel megszorozzuk s minden i-re sszegezzk, akkor azt kapjuk, hogy
n

p (x i )  l i

i=1

<

i=1

i =1

p(xi) logs p(xi) + p(xi) =

H (X )
+ 1:
log s

Az 1.1. definci utni megjegyzs b) pontjban emltettk, hogy a betunknti


kdolsnak van egy termszetes ltalnostsa, a blokk-kdols. Ezt formlisan
egy f : Xm ! Y lekpezssel definilhatjuk, ahol teht a forrsbc betuibol alkotott rendezett m-eseket tekintjk forrsszimblumoknak s ezeknek feleltetnk
meg kdszavakat. A helyzet tulajdonkppen nem vltozik a betunknti kdols
b forrsbct definilhatunk az X
b = Xm jellssel,
esethez kpest, hiszen egy j X
s az eddig elmondottak mind rvnyben maradnak. Az egyrtelmu dekdolhatsg defincija ugyanaz marad, mint a betunknti kdols esetben, az elobbieket szem elott tartva. Legyen X = (X1 ; : : : ; Xm ) egy valsznusgi vektorvltoz,
melynek koordinti az X-bol veszik rtkeiket. Az entrpia 1.3. defincijbl jl
ltszik, hogy az csakis az eloszlstl fgg. Mivel X is csak vges sok klnbzo
rtket vehet fel, az 1.3. defincit kzvetlenl alkalmazhatjuk. Az X entrpija
teht a
p(x) = p(x1 ; : : : ; xm ) = PfX1 = x1 ; : : : ; Xm = xm g;

x1 ; : : : ; xm 2 X;

jellst bevezetve a kvetkezo:


H (X)

=
=

Xm

x2

p(x) log p(x) =


X

x1 2

xm 2

p(x1 ; : : : ; xm ) log p(x1 ; : : : ; xm ):

Az X = (X1 ; : : : ; Xm ) entrpijra a H (X) jells mellett, ahol ez a clszerubb,


gyakran a H (X1 ; : : : ; Xm ) jellst fogjuk hasznlni. Ha az X1 ; X2 ; : : : ; Xm valsznusgi vltozk fggetlenek, akkor H (X) a koordinta valsznusgi vltozk
entrpiinak sszege:
H (X)

Xm

x2

p(x) log p(x) =

20

1. VLTOZ SZHOSSZSG FORRSKDOLS



x1 2

xm 2

x1 2

p1 (x1 )  pm (xm ) log p1 (x1 )  pm (xm ) =

p1 (x1 ) log p1 (x1 ) +  +

xm 2

pm (xm ) log pm (xm )

H (Xi )

(1.11)

i =1

ahol pi (x) = PfXi = xg; i = 1; : : : ; m.


Ha az X1 ; : : : ; Xm valsznusgi vltozk nemcsak fggetlenek, hanem azonos
eloszlsak is, akkor (1.11)-bol
H (X1 ; : : : ; Xm ) = mH (X1 )

(1.12)

kvetkezik.
A betunknti tlagos kdszhossz defincija rtelemszeruen mdosul a blokkkdols esetben: a kdszhossz vrhat rtkt el kell osztani az egy blokkot
alkot forrsbetuk szmval, vagyis a betunknti tlagos kdszhosszon a kvetkezo mennyisget rtjk:
1
1
p(x)j f (x)j
Ej f (X)j =
m
m x2
Xm
rtelemszeruen az 1.2. ttel lltsa blokk-kdols esetn is igaz:
Ej f (X)j 

H (X)
;
log s

hiszen a ttel bizonytsa kzvetlenl itt is alkalmazhat.


Az 1.3. ttel kvetkezmnyeknt megmutatjuk, hogy blokk-kdols segtsgvel a betunknti tlagos kdszhossz als korltja tetszolegesen kzeltheto.
1.3. kvetkezmny. Ha X1 ; : : : ; Xm fggetlen, X -szel azonos eloszls valsznusgi vltozk, akkor ltezik olyan f : Xm ! Y prefix kd, hogy
1
H (X ) 1
Ej f (X)j <
+ ;
m
log s
m

teht a betunknti tlagos kdszhossz az m blokkhossz nvelsvel tetszolegesen


(X )
kzelti a Hlog
s als korltot.

1.3. O PTIMLIS

KDOK , BINRIS

21

H UFFMAN - KD

B IZONYTS : Az 1.3. ttelt felhasznlva ltezik olyan f :


hogy
H (X)
m p(x)j f (x)j < log s + 1:
x2X

Xm ! Y prefix kd,

Ebbol (1.12) miatt kvetkezik

Xm

x2

p(x)j f (x)j <

mH (X )
+ 1;
log s

ahol mindkt oldalt m-mel osztva megkapjuk az lltst.

1.3. Optimlis kdok, binris Huffman-kd


Az 1.2. ttel als korltot ad az egyrtelmuen dekdolhat kdok tlagos kdszhosszra, az 1.3. ttel pedig mutat egy olyan kdkonstrukcit, ahol ezt a korltot jl megkzelthetjk. A j kd konstrukcijnak problmjt persze ennl
ltalnosabban is felvethetjk: konstruljuk meg az optimlis, azaz legkisebb tlagos kdszhossz kdot, ha adott az X valsznusgi vltoz eloszlsa. Eloszr
is gondoljuk t, hogy optimlis kd valban ltezik. Ugyan vges kdbc esetn is az egyrtelmuen dekdolhat vagy prefix kdok halmaza vgtelen, de a
(X )
bizonyos tlagos kdszhossznl (pl. Hlog
s + 1) jobb kdok halmaza vges. Msodszor, vegyk szre, hogy az optimlis kd nem felttlenl egyrtelmu; egyenlo
valsznusgekhez tartoz kdszavakat felcserlhetnk, csakgy, mint az egyenlo
hossz kdszavakat, anlkl, hogy az tlagos kdszhosszat ezzel megvltoztatnnk.
Egy optimlis kd konstrulst az 1.1. kvetkezmny rtelmben egy optimlis prefix kd konstrulsra lehet visszavezetni. Ezrt a kvetkezokben kimondjuk az optimlis prefix kdok nhny tulajdonsgt. A tovbbiakban az
egyszerusg kedvrt a binris, s = 2 esettel foglalkozunk; feltesszk, hogy Y =
f0; 1g. Az ltalnos, s > 2 eset bonyolultabb, s a dolog lnyege gy is jl lthat.
1.4. ttel. Ha az f : X ! f0; 1g prefix kd optimlis, s X elemei gy vannak
indexelve, hogy p(x1 )  p(x2 )    p(xn 1 )  p(xn ) > 0, akkor felteheto, hogy
f -re a kvetkezo hrom tulajdonsg teljesl:

a) j f (x1 )j  j f (x2 )j    j f (xn 1 )j  j f (xn )j, vagyis nagyobb valsznusgekhez kisebb kdszhosszak tartoznak.
b) j f (xn 1 )j = j f (xn )j, vagyis a kt legkisebb valsznusgu forrsbetuhz tartoz kdsz egyenlo hossz.

22

1. VLTOZ SZHOSSZSG FORRSKDOLS

c) Az f (xn

1)

s az f (xn ) kdszavak csak az utols bitben klnbznek.

B IZONYTS :
a) Tegyk fel, hogy p(xk ) > p(x j ) s j f (xk )j > j f (x j )j. Ekkor x j s xk kdjt
felcserlve egy j f  kdot vezethetnk be, amelyre
n

p(xi)j f (xi)j

i=1

=
=

p(xi)j f (xi )j =

i=1

p(xk )j f (xk )j + p(x j )j f (x j )j


p(xk )(j f (xk )j

= ( p(xk )

p(xk )j f (x j )j

p(x j )j f (xk )j =

j f (x j)j) p(x j )(j f (xk)j j f (x j )j) =


p(x j ))(j f (xk )j j f (x j )j) 0
>

teht f nem lehet optimlis.


b) Az llts egyszeruen belthat, ha arra gondolunk, hogy j f (xn 1 )j < j f (xn)j
esetn az j f (xn )j utols bitjt levgva az optimlisnl kisebb tlagos kdszhossz kdot kapnnk, ami mg mindig prefix tulajdonsg. Valban,
mivel az eredeti kdsz minden ms kdsznl legalbb eggyel hosszabb
volt, a csonktssal kapott j kdsz az eredeti kd prefix tulajdonsga miatt
nem azonos semelyik msikkal, s ugyanezen okok miatt nem is folytatsa
semmilyen ms kdsznak.
c) Az elozo gondolatmenetbol vilgos, hogy ha ltezik olyan f (xi ) kdsz,
hogy f (xi ) s f (xn ) csak az utols bitben klnbznek, akkor az a) s b)
miatt j f (xi )j = j f (xn 1 )j = j f (xn )j. gy ha i 6= n 1, akkor xi s xn 1 kdjt
felcserlve c) teljesl, s a kd optimlis marad.

1.5. ttel. Tegyk most fel, hogy az 1.4. ttel felttelei teljeslnek, s hogy a
f p(x1); p(x2); : : : ; p(xn 1) + p(xn)g valsznusgeloszlshoz ismernk egy g optimlis binris prefix kdot. (Az xn 1 s xn forrsbetuket sszevonjuk egy xn 1
szimblumba; p(xn 1 ) = p(xn 1 ) + p(xn ) ). Ekkor az eredeti f p(x1 ); p(x2 ); : : : ;
p(xn 1 ); p(xn )g eloszls egy optimlis f prefix kdjt kapjuk, ha a g(xn 1 ) kdszt egy nullval, illetve egy egyessel kiegsztjk (a tbbi kdszt pedig vltozatlanul hagyjuk).
B IZONYTS :
kapjuk, hogy

A g s az f tlagos kdszhosszt Lg -vel s L f -fel jellve azt


Lf

= Lg + p(xn 1 ) + p(xn ):

1.3. O PTIMLIS

KDOK , BINRIS

23

H UFFMAN - KD

Ha f nem lenne optimlis, akkor a nla kisebb L f  tlagos kdszhossz f  kdrl


az 1.4. ttel c) pontja szerint feltehetnnk, hogy f  (xn 1 ) s f  (xn ) nem rvidebbek semelyik ms kdsznl, s csak az utols bitben klnbznek egymstl.
Ezt az utols bitet elhagyva a f p(x1 ); p(x2 ); : : : ; p(xn 1 ) + p(xn )g eloszlsra egy
g kdot kapnnk, amire
Lg

= Lf

p (x n

1)

p(xn ) < L f

p(xn

1)

p(xn ) = Lg

teljeslne, teht az optimlis g-nl jobb kdot kapnnk, ami lehetetlen.


Az elozo ttel alapjn mr megadhatjuk az optimlis prefix kd Huffman-fle
konstrukcijt: A kt legkisebb valsznusg sszevonsval addig redukljuk a
problmt, amg az trivilis nem lesz, vagyis amg sszesen kt valsznusgnk
marad. Ezt n 2 lpsben rhetjk el. Ezutn az sszevonsok megfordtsval,
mindig a megfelelo kdsz ktfle kiegsztsvel jabb n 2 lpsben felptjk
az optimlis kdot, a Huffman-kdot. A kvetkezo pldban nyomon kvethetjk
az algoritmus egyes lpseit.
1.4. plda. Legyen n = 5 s p(x1 ) = 0:4; p(x2 ) = 0:3; p(x3 ) = 0:15, p(x4 ) =
0:1; p(x5 ) = 0:05, s keressk meg az ehhez tartoz Huffman-kdot:
Az egyes lpseket az oszlopok szmozsa jelzi balrl-jobbra, az sszevonsokat a nyilak mentn lehet nyomon kvetni.
2:

1:
0:4
0:3
0:15
0:1 !
0:05 %

3:

4:

0:4
0:4
0:4
0:3
0:3 ! 0:6
0:15 ! 0:3 %
0:15 %

A 0:4 s 0:6 valsznusgek optimlis prefix kdja nyilvn a 0 s az 1 (vagy


fordtva). Az sszevonsok megfordtsval elvgezhetjk a Huffman-kd felptst. A valsznusgek mellett szgletes zrjelben az egyes lpsekben kapott
kdszavak llnak.
4:
0:4
0:6

3:
[0
[1

&

0:4
0:3
0:3

2:
[0
[10
[11

&

0 :4
0 :3
0:15
0:15

1:
[0
[10
[110
[111

!
&

0:4
0:3
0:15
0:1
0:05

[0
[10
[110
[1110
[1111

Teht f (x1 ) = 0; f (x2 ) = 10; f (x3 ) = 110; f (x4 ) = 1110; f (x5 ) = 1111.

24

1. VLTOZ SZHOSSZSG FORRSKDOLS

Az elozoekben feltteleztk, hogy ismerjk a bemenet eloszlst. Ez azonban


nincs mindig gy, ekkor az eloszlst a relatv gyakorisgokkal kell becslnnk.
A gyakorlati problmk sorn ltalban adott a Z1 ; : : : ; ZN bemeneti sorozat

(szveg, fjl), amelyet szeretnnk optimlisan kdolni. Feladatunk a j f (Zi )j


N

i=1

minimalizlsa, vagyis az optimlis f kdolfggvny megvlasztsa. Ez egyenrtku a kdszhosszak tlagnak,


Beltjuk, hogy

1
N

1
N

j f (Zi )j-nek a minimalizlsval.


N

i=1

j f (Zi )j = EN j f (Z )j, ha a vrhat rtket az empirikus elN

i=1

oszls szerint vesszk, teht a forrsbetuk valsznusgt a relatv gyakorisgukkal definiljuk: pN (x j ) =

1
N

IfZi =x j g , ahol Ifg az indiktor fggvny. Nyilvn

i=1

EN j f (Z )j

p N (x j ) j f ( x j ) j =

j =1
n

1 N
IfZi =x j g j f (x j )j =
j=1 N i=1

1 N n
IfZi =x j g j f (x j )j =
N i
=1 j=1

1 N
j f (Zi)j
N i
=1

(A gyakorlatban magt a kdol fggvnyt is le kell rni, t kell vinni a dekdolhoz, s ez a fejlc gy a fentinl nagyobb tlagos kdszhosszat eredmnyez. Az aszimptotikus vizsglat sorn azonban ettol a konstans kltsgtol
eltekinthetnk.)
A Huffman-kdols fenti algoritmust csak kt lpsben tudjuk vgrehajtani.
Eloszr meghatrozzuk a forrsbetuk relatv gyakorisgt, ami az elozoek rtelmben megegyezik a valsznusgekkel, majd ennek felhasznlsval elvgezzk
a tnyleges kdolst. Nem mindig engedheto meg azonban olyan nagy mrtku
ksleltets, hogy csak az sszes bemeneti adat megrkezse utn kezdnk hozz
a kimenet elolltshoz, msrszt a ktmenetes beolvass akkor is lasstja az algoritmust (br ktsgkvl optimlis kdot eredmnyez), ha a bemenet mr rendelkezsre ll. A gyakorlatban ezrt sokszor rdemes egymenetes algoritmust
hasznlni. gy az optimalits rovsra idot takarthatunk meg. Egy forrsbetut
az elozo forrsbetuk elofordulsai alapjn kdolunk, s ezzel egytt lpsenknt
vltozik maga a kd is. Teht az aktulis forrsbetu kdolst egy, az elozoleg

1.3. O PTIMLIS

KDOK , BINRIS

H UFFMAN - KD

25

feldolgozott forrsbetukre optimlis kddal hajtjuk vgre. Ezt az eljrst adaptv


Huffman-kdolsnak nevezzk.
A Huffman-kdot binris faknt is brzolhatjuk. A leveleket a forrsszimblumokkal cmkzzk, az leken pedig a kdbc (f0; 1g) elemei szerepelnek. A
cscsokban a relatv gyakorisgok llnak. Egy forrsszimblumhoz tartoz kdszt gy kapunk meg, hogy a fa gykertol a megfelelo levlig hzd t lein
szereplo kdbetuket sorban sszeolvassuk (konkatenljuk). A Huffman-kdols
szemlletesen gy trtnik, hogy kiindulsknt felvesszk a forrsszimblumokhoz tartoz leveleket, a cscsokba a forrsszimblumok relatv gyakorisgait rjuk, majd lpsenknt mindig a kt legkisebb rtket tartalmaz cscs fl tesznk
egy j cscsot (szlot), s ebbe a kt rgi rtk sszegt rjuk. Az eljrs vgn kialakul az sszefggo fa, melynek a legutols lpsben megkapott cscsa lesz a
gykr.
A binris Huffman-fban a relatv gyakorisgok szerepelnek. Adaptv Huffman-kdols esetn ezek helyett a gyakorisgokat hasznlhatjuk (hiszen utbbiakat a bemenet hosszval elosztva megkapjuk a relatv gyakorisgokat, s szmunkra csak az rtkek egymshoz val arnya rdekes). Kt sszevont betu
szlojnek slyt a szoksos mdon, a kt gyakorisg sszegeknt kapjuk.
Amennyiben a fa testvr (vagyis kzs szlovel rendelkezo) pontprjait a gykrtol a levelek fel haladva fel tudjuk sorolni slyuk szerint nemnvekvo sorrendben, a fa rendelkezik a testvrpr tulajdonsggal (sibling pair property). Bebizonythat, hogy egy Huffman-fa akkor s csak akkor optimlis, ha rendelkezik
a testvrpr tulajdonsggal.
1.5. plda. Az 1.3. brn lthat fra teljesl a testvrpr tulajdonsg. A prok a
kvetkezok:
(28; 18); (15; 13); (11; 7); (7; 6); (6; 5); (4; 3); (3; 2); (2; 2); (2; 1)

Ezek nemnvekvo rendezse:


28  18  15  13  11  7  7  6  6 

543322221
Az 1.4. bra kdfjnak prjai:
(3; 1);

(2; 1);

(1; 1)

Ezeket nem tudjuk megfeleloen sorba rendezni, gy nem teljesl a fra a testvrpr
tulajdonsg.


HHH



H

26

1. VLTOZ SZHOSSZSG FORRSKDOLS


46

HH



bbb
""

TT
"

"
b


"
b
 T


 B
 TT
 SS
 T 
S 
B

 




 B
B
B
B
 
B 
 

B 
 

18

28

1
a1

2
a2

13

11

2
a3

2
a4

6
a7

6
a8

15
a10

7
a9

3
a6

2
a5

1.3. bra. Kdfa, amelyre teljesl a testvrpr tulajdonsg.

m
m BB m
m BB m
m BB m
4

1.4. bra. Kdfa, amelyre nem teljesl a testvrpr tulajdonsg.


Az adaptv algoritmus lpsei a kvetkezok:
Ismerjk a forrsszimblumokat: X = fa1 ; a2 ; : : : ; ak g. Kiindulsknt felptnk
egy olyan Huffman-ft, amelyben ha nincs informcink a betuk elofordulsnak valsznusgrol minden forrsszimblum azonos, 1 gyakorisggal szerepel. gy egy kiegyenslyozott binris ft kapunk. (Ha ismerjk a kezdeti eloszlst,
megtehetjk, hogy erre ptjk fel az adaptv algoritmus kiindulsi fjt.) Elkldjk a dekdolnak sorrendben (pl. a gykrtol a levelek fel, szintenknt, balrl
jobbra) a lehetsges forrsszimblumokat, amelybol az szintn felpti a kiindulsi Huffman-ft. (gyelni kell arra, hogy a kdol s a dekdol azonos algoritmust hasznljon.) A kdols sorn beolvassuk a k-adik forrsszimblumot. Ezt a

1.3. O PTIMLIS

KDOK , BINRIS

27

H UFFMAN - KD

korbban beolvasott k 1 betu feldolgozsval kialakult, loklisan optimlis kdfval kdoljuk, majd eggyel nveljk a forrsszimblum gyakorisgszmlljt.
Aktualizljuk a ft, vagyis megvizsgljuk, hogy fennll-e mg a testvrpr tulajdonsg. Amennyiben nem, helyrelltjuk, gy biztostva az optimalitst. Ezeket a
lpseket a dekder is elvgzi, teht a kvetkezo kdbetu dekdolsakor ugyanazt a ft fogja hasznlni, mint amelyet a kdol hasznlt annak elolltsakor. A
(k + 1)-edik bet
u beolvassa utn az elozoekhez hasonlan folytatjuk.
A kvetkezo kt szably hasznlhat a fa aktualizlsa sorn a testvrpr tulajdonsg helyrelltsra:
1. Kt, azonos sly cscs a hozz tartoz rszfkkal egytt megcserlheto.
Ez termszetesen nem befolysolja a slyokat.
2. Kt levl a slyukkal egytt megcserlheto.
A szablyok kombinlsval talakthat egy nem megfelelo kdfa egy olyann,
amely teljesti a testvrpr tulajdonsgot.
gyelni kell arra, hogy hossz bemenet esetn elofordulhat a szimblumok
gyakorisgszmlljnak tlcsordulsa. Ezt megfelelo technikval orvosolni kell.

S
 S
2
2
 BB  BB
4

m m
mmmm

1
A

1
B

1
C

1
D

 SS

5
2
 BB  BB
1
1
2
3
7

m m
mmmm

S
 S3
2
 BB  BB
5

m m
mmmm

1
A

1
B

1
C

2
D

S
 S
2
4
 BB  BB
6

m m
mmmm

1
A

1
B

2
C

2
D

 SS

5
2

C
 BB

 SS

3
4

D
 BB

1
A

1
A

m m
mm
m BB m
2

3
D

1
B

m m
mm
m BB m

1.5. bra. Az 1.6. plda kdfjnak alakulsa.

2
C

1
B

28

1. VLTOZ SZHOSSZSG FORRSKDOLS

1.6. plda. A bemeneti bcnk: X = fA; B; C; Dg. Adaptv Huffman-kddal kdoljuk a berkezo forrsszimblumokat, melyek legyenek a kvekezok: DCDA.
Az 1.5. brn kvethetjk nyomon a kdfa alakulst. Lthat, hogy a testvrpr
tulajdonsg az DCD feldolgozsa utn srl, a D gyakorisgszmlljnak 3-ra
nvelsvel. Ekkor az 1. majd a 2. szably alkalmazsval llthatjuk helyre a ft,
majd ezzel kdolhat az utols, A szimblum.

1.4. Aritmetikai kdols


Az 1.3. ttel szerint prefix kdok hasznlatval (pldul Huffman-kdolssal) elrheto, hogy Ej f (X )j < H (X ) + 1. Teht karakterenknt akr 1 bitet is veszthetnk a tmrts als korltjhoz kpest. Ezen blokkonknti kdolssal segthetnk, ilyenkor ugyanis az 1.3. kvetkezmny rtelmben m1 Ej f (X)j < m1 H (X) +
1
m , ahol m az X zenetvektor hossza. Lthat, hogy minl nagyobb m-et vlasztunk, annl kisebb lesz a vesztesg. Azonban korltozva vagyunk m kivlasztsban, ugyanis Huffman-kd esetn a kdsz elkldse csak a teljes m hossz blokk
beolvassa utn lehetsges, s emiatt nagy m esetn jelentos ksleltets keletkezhet. Tovbb a kd bonyolultsga azaz a kdol- s dekdoltblk mrete, a
Huffman-kd fejlce m nvelsvel exponencilisan no, s ez praktikus szempontbl is korltot llt m nvelse el. Erre a problmra ad megoldst az aritmetikai kdols, melyet kifejezetten blokkonknti kdolshoz alkalmaznak, s
jellegzetessge, hogy vals idoben trtnik a kdsz elolltsa s visszafejtse,
teht nem lp fel jelentos ksleltets, akrmilyen hossz blokkokat is kdolunk.
Az aritmetikai kdolst itt vgtelen pontossg lebegopontos aritmetikval
mutatjuk be. A gyakorlatban termszetesen csak vges pontossg aritmetikk
lteznek. A mdszer ezeken is implementlhat, mint majd ksobb ltni fogjuk.
A kdsz elolltshoz eloszr vesszk a [0; 1) intervallumot, majd a forrsbc minden elemhez ennek egy rszintervallumt rendeljk olyan mdon,
hogy ezek a rszintervallumok teljesen lefedjk az eredeti intervallumot, tovbb
diszjunktak legyenek (vagyis partcit alkossanak), s mretk legyen arnyos a
hozzjuk rendelt forrskarakter valsznusgvel.
Ilyen feltteleket teljest pldul a kvetkezo hozzrendels:
xi 7! [qi

1 ; q i );

ahol
i

q0 = 0;

qi =

PfX = x j g

j =1

n pedig a kdbc elemszma.

1  i  n;

1.4. A RITMETIKAI

29

KDOLS

qi

qi

qi

qi

..
.
1.6. bra. Az intervallum felosztsa aritmetikai kdols sorn.
Kvetkezo lpsknt vlasszuk az zenet elso karakternek megfelelo intervallumot. Folytassuk az eljrst gy, hogy most ezt a kivlasztott intervallumot
vgjuk rszekre, ugyangy mint az elozo lpsnl, majd vlasszuk ki az zenet
msodik karakternek megfelelo rszintervallumot, s az eljrst ezzel folytassuk
tovbb.
Lthat, hogy az gy kapott egymsba skatulyzott intervallumsorozat utols
eleme egyrtelmuen meghatrozza az elotte lvoket, s emiatt az utols elembol
a teljes zenet visszafejtheto. Ez lesz maga a kdsz.
A gyakorlatban nem az intervallum als s felso hatra, hanem egy tetszolegesen vlasztott eleme adja a kdszt. Ebbol is visszallthat ugyanis
azm zenet.
l
1
Bebizonythat, hogy az x zenetblokkhoz tartoz elemet elg log p(x) + 1 bit
pontossggal lerni ilyen pontossg mellett az eredeti zenetblokk rekonstrulhat lesz. Ebbol megkaphat egy k katarteres blokkhoz tartoz kdsz hossznak
vrhat rtke:


1
log
p(X)

+1

1
p(x) log p(x) + 1 <


1
p(x) log p(x) + 1 + 1 =
p(x) log p(x) + p(x) + 1 =

H (X) + 2

<

Ha az X zenetvektor komponensei fggetlen azonos eloszlsak, akkor


H (X) = kH (X1 ), teht a betunknti tlagos kdszhosszra
1
2
Ej f (X)j  H (X1 ) + ;
k
k

30

1. VLTOZ SZHOSSZSG FORRSKDOLS

azaz a k blokkhossz nvelsvel tetszolegesen megkzelti H (X1 )-et. Fontos,


hogy ellenttben a blokkonknti Huffman-kdolssal itt a bonyolultsg nem no
a blokkok hossznak nvelsvel.
A vals ideju mukds lehetosgt az teremti meg, hogy a kdsz eleje (teht
a legutols intervallum tetszolegesen kivlasztott elemnek binris trt brzolsban vett elso nhny bitje) mr az elso nhny forrskarakterbol meghatrozhat.
Fixpontos aritmetikn trtno implementcinl pp ezt hasznljuk ki. Ilyenkor ugyanis a kdols sorn az intervallum als s felso hatrt troljuk fix pontossggal. Mivel az intervallum egyre rvidl, ezek egyre kzelebb kerlnek egymshoz. Emiatt ezek magasabb helyirtku bitjei egyezni fognak. Ilyen egyezs
esetn az egyezo rszt tkldjk a dekdolba, s a maradk klnbzo rszeket
felsklzzuk. gy mindig az aritmetika teljes pontossga ll a rendelkezsnkre,
tovbb az tkldtt bitmintbl a dekdolban hasonl sklzsos mdszerrel az
zenet visszallthat.

1.5. Az entrpia nhny tulajdonsga


Ebben a szakaszban megadjuk az entrpia nhny lnyeges tulajdonsgt amelyeket a ksobbiek sorn gyakran fel fogunk hasznlni.
Legyenek X s Y valsznusgi vltozk, amelyek a vges X illetve Y halmazbl veszik rtkeiket. x 2 X s y 2 Y esetn a kvetkezo jellseket hasznljuk:
p (x )

p (y )

p(x; y)

p(x j y)
p(y j x)

=
=

PfX

g
PfY = yg
PfX = x Y = yg
PfX = x j Y = yg
PfY = y j X = xg
=x

1.6. ttel.

a) Ha az X valsznusgi vltoz n klnbzo rtket vehet fel pozitv valsznusggel, akkor


0  H (X )  log n;
s a bal oldalon egyenlosg akkor s csak akkor ll fenn, ha X 1-valsznusggel konstans, a jobb oldalon pedig akkor s csak akkor, ha X egyenletes
eloszls, azaz p(xi ) = 1n ; i = 1; : : : ; n.
b) X s Y diszkrt valsznusgi vltozkra
H (X ; Y )  H (X ) + H (Y );

1.5. A Z

31

ENTRPIA NHNY TULAJDONSGA

s az egyenlosg szksges s elgsges felttele X s Y fggetlensge.


(H (X ; Y ) az (X ; Y ) valsznusgi vltozpr egyttes eloszlshoz rendelt
entrpit jelli.)
c) Az X tetszoleges g(X ) fggvnyre
H (g(X ))  H (X );

s itt az egyenlosg szksges s elgsges felttele az, hogy g invertlhat


legyen.
B IZONYTS :
a) A bal oldali egyenlotlensg trivilis (lsd az 1.3. definci utni megjegyzst), a jobb oldalit a Jensen-egyenlotlensg 1.2. a) kvetkezmnyt a pi =
p(xi ); qi = 1n ; i = 1; : : : ; n szereposztsban felhasznlva kapjuk:
n

p(xi) log p(xi) 

i =1

p(xi) log n = log n

i=1

b) Az llts rvid talakts utn a kvetkezo alakba rhat:

p(x y) log p(x y)  p(x y) log p(x) p(y)


;

x;y

x ;y

(felhasznltuk, hogy p(x; y) = p(x) illetve p(x; y) = p(y)), s itt megint


y

alkalmazhatjuk a Jensen-egyenlotlensget. Egyenlosg akkor s csak akkor


ll, ha p(x; y) = p(x) p(y) minden x; y-ra ami X s Y fggetlensgt jelenti.
c) Az lltst az 1.4. kvetkezmnynl bizonytjuk.
M EGJEGYZS : Mint az az entrpia tulajdonsgaibl kitunik, egy valsznusgi
vltoz entrpija gy foghat fel, mint az ltala reprezentlt vletlen ksrlet
kimenetelnek bizonytalansga. gy pldul nulla az entrpija (a bizonytalansga) a biztosan bekvetkezo esemnyt reprezentl 1-valsznusggel konstans
valsznusgi vltoznak, s maximlis az entrpija a legbizonytalanabb kimenetu egyenletes eloszls valsznusgi vltoznak. Sok hasonl analgia tallhat mg, de nem szabad elfelejtennk, hogy az ilyen rvekkel altmasztott
gondolatmenetek nem bizonytsok. Az entrpia igazi jelentosgt a kdolsi ttelekben jtszott alapveto szerepe adja.
Az 1.6. szakaszban megismerjk az informciforrs fogalmt, s ennek egyrtelmuen dekdolhat kdolst vltoz szhossz kdokkal. Ehhez szksgnk
lesz a feltteles entrpia bevezetsre.

32

1. VLTOZ SZHOSSZSG FORRSKDOLS

1.5. definci. X -nek az Y felttellel vett feltteles entrpija a kvetkezo:


H (X j Y ) =

p(x y) log p(x j y)


;

Y X

y2 x2

(1.13)

M EGJEGYZS :
a) A feltteles entrpia (1.13) kifejezst talaktva azt kapjuk, hogy
H (X j Y ) =

p(y) p(x j y) log p(x j y)


Y

y2

x2

amibol lthat, hogy H (X j Y ) az X valsznusgi vltoz Y


kel vett feltteles eloszlsaihoz tartoz
H (X j Y

=y

felttelek-

p(x j y) log p(x j y)

= y) =

x2

tpus entrpiinak vrhat rtke.


b) Mivel az 1.5. definciban csak X s Y vgessgt ktttk ki, a feltteles
entrpia defincijt vges rtkkszletu valsznusgi vektorvltozkra is
kiterjeszthetjk. Legyen X = (X1 ; : : : ; Xk ) s Y = (Y1 ; : : : ; Ym ), ahol az Xi -k
s Yi -k vges halmazokbl veszik rtkeiket. Ekkor
H (X j Y)

=
=

H (X1 ; : : : ; Xk j Y1 ; : : : ; Ym ) =

p(x y) log p(x j y)


;

ahol x = (x1 ; : : : ; xk ) s y = (y1 ; : : : ; ym ) minden lehetsges rtkre kell szszegezni.


1.7. ttel (A feltteles entrpia tulajdonsgai). X ; Y ; Z legyenek vges rtkkszletu valsznusgi vltozk. Ekkor

a)
H (X ; Y ) = H (Y ) + H (X j Y ) = H (X ) + H (Y j X ):

b)
0  H (X j Y )  H (X );

s a bal oldalon egyenlosg akkor s csak akkor teljesl, ha X 1-valsznusggel fggvnye Y -nak, a jobb oldali egyenlosg akkor s csak akkor
teljesl, ha X s Y fggetlenek.

1.5. A Z

33

ENTRPIA NHNY TULAJDONSGA

c)
H (X j Z ; Y )  H (X j Z );

s egyenlosg akkor s csak akkor ll, ha p(x j z; y) = p(x j z) minden olyan


x; y; z-re amelyre p(x; y; z) > 0, ami azt jelenti, hogy X s Y felttelesen
fggetlenek, ha Z rtke adott (azaz X ; Z ; Y egy Markov-lnc).
d) Az Y valsznusgi vltoz minden f fggvnyre
H (X j Y )  H (X j f (Y ));

s egyenlosg pontosan akkor ll fenn, ha minden rgztett z-re p(x j y) =


PfX = x j f (Y ) = zg minden x-re s y-ra, amelyre f (y) = z s p(y) > 0.
e) Az X1 ; X2 ; : : : ; Xn valsznusgi vltozk egyttes entrpijt megkaphatjuk
az n. lncszably segtsgvel:
H (X1 ; : : : ; Xn )

H (X1 ) + H (X2 j X1 ) + H (X3 j X1 ; X2 ) + 

 + H (Xn j X1

;:::;

Xn

1 ):

B IZONYTS :
a)
H (X ; Y )

=
=
=
=

p(x y) log p(x y) =


Y X

y2 x2

p(x y) log ( p(x j y) p(y)) =


Y X

y2 x2

p(x y) log p(y) p(x y) log p(x j y) =


Y X

y2 x2

H (Y ) + H (X j Y );

Y X

y2 x2

mert p(x; y) = p(x). A H (X ; Y ) = H (X ) + H (Y j X ) egyenlosg a bizo-

y2

nyts szimmetrijbl kvetkezik.


b) A bal oldali egyenlotlensg az entrpia 1.6. a) tulajdonsgbl s az 1.5.
definci utni megjegyzsbol kvetkezik. H (X j Y ) = 0 pontosan akkor,
ha H (X j Y = y) = 0 minden olyan y-ra, amire p(y) > 0, vagyis akkor, ha
minden ilyen y-ra p(x j y) = 1 pontosan egy x-re. Ez azt jelenti, hogy X az
Y fggvnye (1-valsznusggel).

A jobb oldali H (X j Y )  H (X ) egyenlotlensg az a) tulajdonsg szerint


ekvivalens a H (X ; Y )  H (X ) + H (Y ) egyenlotlensggel, amit az 1.6. b)
pontban bebizonytottunk.

34

1. VLTOZ SZHOSSZSG FORRSKDOLS


c) Az llts ekvivalens a kvetkezovel:

p(y z)
;

y;z

p(x j z)
p(x j y; z) log p(x j y; z)
x

0

amit knnyen belthatunk, ha szrevesszk (Jensen-egyenlotlensg), hogy


a zrjelben levo sszeg minden y; z-re nempozitv. Az egyenlosg felttele
a szoksos mdon kvetkezik.
d) Mivel

Pf f (Y ) = zg =

PfX

p (y )

y: f (y)=z

= x; f (Y ) = z =

p(x; y);

y: f (y)=z

ezrt a Jensen-egyenlotlensg 1.2. b) kvetkezmnye szerint


PfX

= x; f (Y ) = z

g log PfXPf=f x(Y f)(=Y )z=g zg 


;

p(x; y) log

y: f (y)=z

p (x ; y )
;
p(y)

amit minden z-re s x-re sszegezve megkapjuk az lltst. Az egyenlosg


felttele az, hogy rgztett z-re pp((xy;y)) = p(x j y) = konstans minden y-ra,
amelyre f (y) = z, s a konstans nyilvn egyenlo
PfX = x j f (Y ) = zg-vel.
e) Az a) tulajdonsg szerint
H (X1 ; : : : ; Xn ) = H (X1 ; : : : ; Xn

1 ) + H (Xn

j X1

;:::;

Xn

1 );

amelybol az eljrst tovbb folytatva az llts teljes indukcival kvetkezik.


1.4. kvetkezmny. Adsak vagyunk mg az 1.6. ttel c) lltsnak igazolsval, vagyis azzal, hogy az X valsznusgi vltoz tetszoleges g fggvnyre
H (g(X ))  H (X );

s az egyenlosg akkor s csak akkor ll fenn, ha g invertlhat.

1.6. I NFORMCIFORRSOK

VLTOZ SZHOSSZSG KDOLSA

35

B IZONYTS : Az 1.7. ttel a) s b) pontja szerint


H (X ; g(X )) = H (g(X )) + H (X j g(X ))  H (g(X ));

(1.14)

s a jobb oldalon egyenlosg pontosan akkor van, ha X a g(X ) fggvnye, vagyis


ha g invertlhat. De 1.7. a)-t s b)-t jra hasznlva, azt is tudjuk, hogy
H (X ; g(X )) = H (X ) + H (g(X ) j X ) = H (X );
s ebbol (1.14)-gyel egytt kvetkezik az llts.

1.6. Informciforrsok vltoz szhosszsg


kdolsa
Az informciforrst X betuvel jelljk, s az X1 ; X2 ; : : : valsznusgi vltozk
vgtelen sorozatval modellezzk, azaz a forrs az i-edik idopillanatban az Xi jelet bocstja ki. Az Xi valsznusgi vltozk mindegyike ugyanabbl a vges
X = fx1 ; : : : ; xng halmazbl, a forrsbcbol veszi az rtkt. Az X forrst statisztikai tulajdonsgaival jellemezzk, vagyis adottnak vesszk, ha minden vges
dimenzis eloszlst ismerjk. Egy X forrst emlkezetnlklinek vagy memriamentesnek mondunk, ha az X1 ; X2 ; : : : valsznusgi vltozk fggetlenek. Az X
forrs stacionrius, ha X1 ; X2 ; : : : stacionrius sztochasztikus folyamat, vagyis ha
az X1 ; X2 ; : : : ; Xn s az Xk+1 ; Xk+2 ; : : : ; Xk+n valsznusgi vltozk egyttes eloszlsa megegyezik minden pozitv n-re s k-ra, teht a vges dimenzis eloszlsok
az idoeltolsra invarinsak. Az X stacionrius forrs ergodikus, ha tetszoleges
n

f (x1 ; : : : ; xk ) fggvnyre az 1n f (Xi ; Xi+1 ; : : : ; Xi+k


i=1

usggel konver1 ) 1-valszn

gl az E f (X1 ; : : : ; Xk ) vrhat rtkhez, amennyiben az vges.


A kdol a forrs ltal kibocstott szimblumokat a csatornn tviheto szimblumokk alaktja. Jelljk a csatorna ltal hasznlt szimblumok vges, selemu halmazt Y-nal (kdbc). Ebben a szakaszban az elozoekben megismert
egyrtelmuen dekdolhat kdokat hasznljuk, betunknti, illetve blokkonknti
kdolssal. A kdols sorn a forrs ltal produklt szimblumsorozatot k-hossz
blokkokra vgjuk (betunknti kdolsnl k = 1), s a blokkokat vltoz szhoszsz kdolssal (pl. prefix kd) kdoljuk. A kapott kdszavakat egyms mell rva
kapjuk a csatornn tovbbthat kdjelsorozatot.
Feltesszk, hogy a hasznlt kd egyrtelmuen dekdolhat (lsd az 1.1. defincit), gy a felhasznl visszakapja a forrs zenett. A kd kivlasztsnl az a
clunk, hogy L, az egy forrsbeture eso tlagos kdszhossz minl kisebb legyen.
Ttelezzk most fel, hogy az X = X1 ; X2 ; : : : emlkezetnlkli s stacionrius,
vagyis az X1 ; X2 ; : : : fggetlen, azonos eloszls valsznusgi vltozk sorozata.

36

1. VLTOZ SZHOSSZSG FORRSKDOLS

Legyen f : X ! Y egyrtelmuen dekdolhat kd, s kdoljuk X -et betunknt


f -fel. Ekkor egy k-hossz zenetet kdolva a betunknti tlagos kdszhossz az
Xi -k azonos eloszlsa miatt fggetlen k-tl:
1
L = E (j f (X1 )j +  + j f (Xk )j) = Ej f (X1 )j
k
Az 1.2. ttel szerint

Ej f (X1 )j 

H (X1 )
log s

(1.15)

ahol s a kdbc elemszma, H (X1 ) pedig az X1 s az azonos eloszls miatt


minden Xi entrpija. Az ilyen forrs betunknti kdolssal val tmrtsre teht elvi korltot kaptunk. Msfelol viszont tudjuk (1.3. ttel), hogy van
olyan f prefix kd, amelyre
Ej f (X1 )j <

H (X1 )
+ 1;
log s

teht az als korltot megkzelthetjk. Kdoljuk most X k-hossz blokkjait


egyszerre, vagyis hasznljuk az egyrtelmuen dekdolhat f : Xk ! Y kdot.
Ekkor az 1.2. ttel szerint
1
1 H (X1 ; : : : ; Xk )
L = Ej f (X1 ; : : : ; Xk )j 
;
k
k
log s
amibol az Xi -k fggetlensge miatt (1.12) szerint
L

H (X1 )
log s

kvetkezik, hasonlan (1.15)-hz, teht a blokk-kdols nem mdostotta az als


korltot. Azonban az 1.3. kvetkezmny megmutatta, hogy ezt az als korltot
megfeleloen nagy blokkhosszt alkalmazva tetszolegesen megkzelthetjk, ugyanis minden k-ra ltezik olyan L betunknti tlagos kdszhossz f : Xk ! Y prefix
kd, hogy
H (X1 ) 1
+ :
(1.16)
L<
log s
k
Amennyiben ltalnosabb informciforrsok kdolst akarjuk vizsglni, szksgnk lesz a forrs entrpijnak fogalmra:
1.6. definci. Az X

= X1 ; X2 ; : : :

forrs forrsentrpija a

1
H (X ) = lim H (X1 ; X2 ; : : : ; Xn )
n! n

mennyisg, amennyiben a hatrrtk ltezik.

1.6. I NFORMCIFORRSOK

37

VLTOZ SZHOSSZSG KDOLSA

A kvetkezo ttel megmutatja, hogy egy stacionrius forrsnak mindig ltezik


az entrpija.
1.8. ttel. Ha az X

= X1 ; X2 ; : : : forrs stacionrius, akkor ltezik az entrpija, s

H (X ) = lim H (Xn j X1 ; X2 ; : : : ; Xn
n!

1 ):

B IZONYTS : Az 1.7. e) tulajdonsgbl


1
1
H (X1 ; X2 ; : : : ; Xn ) =
n
n

H (X1 ) + H (Xi j X1 ; X2 ; : : : ; Xi

1)

(1.17)

i=2

Msrszt a forrs stacionaritsa miatt


H (Xi j X1 ; X2 ; : : : ; Xi

1)

H (Xi+1 j X2 ; X3 ; : : : ; Xi ) 
H (Xi+1 j X1 ; X2 ; : : : ; Xi )

ahol az egyenlotlensg az 1.7. c) tulajdonsg kvetkezmnye.


gy a H (Xn j X1 ; X2 ; : : : ; Xn 1 ) sorozat n-nel monoton cskkeno s nemnegatv,
teht ltezik a H = lim H (Xn j X1 ; X2 ; : : : ; Xn 1 ) hatrrtk.
n!
A bizonyts msodik felben szksgnk lesz az egyszeruen bizonythat
Toeplitz-lemmra, amely azt mondja ki, hogy ha az fan g vals szmsorozat a vn

ges a szmhoz konvergl ( lim an = a), akkor a bn = 1n ak sorozatnak is ugyanez


n!

k=1

az a szm a hatrrtke. A Toeplitz-lemmt az an = H (Xn j X1 ; X2 ; : : : ; Xn


reposztsban felhasznlva, (1.17)-bol azt kapjuk, hogy
1
lim H (X1 ; X2 ; : : : ; Xn ) = lim H (Xn j X1 ; X2 ; : : : ; Xn
n!
n

n!

1)

sze-

1 ):

Ekkor viszont (1.17) szerint az n1 H (X1 ; X2 ; : : : ; Xn ) sorozat is monoton cskkeno.


M EGJEGYZS : Ha X emlkezetnlkli s stacionrius, akkor a forrsentrpia
ltezse trivilis, hiszen felhasznlva az entrpia tulajdonsgt, valamint az Xi -k
fggetlensgt s azonos eloszlst, azt kapjuk, hogy
1
1 n
H (X ) = lim H (X1 ; X2 ; : : : ; Xn ) = lim H (Xi ) = H (X1 ):
n! n
n! n
i=1
A forrsentrpia fogalmt felhasznlva mr kimondhatjuk a vltoz szhoszszsg kdols ttelt stacionrius forrsokra:

38

1. VLTOZ SZHOSSZSG FORRSKDOLS

1.9. ttel. Ha az X = X1 ; X2 ; : : : stacionrius forrst k-blokkhosszal blokkonknt


kdoljuk az f : Xk ! Y egyrtelmuen dekdolhat kddal, akkor a kd L betunknti tlagos kdszhosszra mindig fennll az
L

H (X )
log s

egyenlotlensg. A k blokkhosszt elg nagyra vlasztva ltezik olyan f kd, amelynek L betunknti tlagos kdszhossza tetszolegesen megkzelti ezt az als korltot.
B IZONYTS : Az 1.2. ttel s az 1k H (X1 ; X2 ; : : : ; Xk ) monoton cskkeno konvergencija miatt
1
1 H (X1 ; : : : ; Xk )
L = Ej f (X1 ; : : : ; Xk )j 
k
k
log s

 Hlog( s)
X

teht a ttel elso felt belttuk. Legyen most > 0 tetszoleges vals szm s
vlasszuk k0 pozitv egszet gy, hogy
1
H (X1 ; : : : ; Xk0 )
k0

H (X ) <

log s;
2

1
k0

<

:
2

Mivel a ShannonFano-konstrukcival (1.3. ttel) kszthetnk olyan f :


Y prefix kdot, hogy
E (j f (X1 ; : : : ; Xk0 )j) <

(1.18)

Xk !
0

H (X1 ; : : : ; Xk0 )
+ 1;
log s

ezrt (1.18)-at felhasznlva azt kapjuk, hogy


L

=
<

<

<

1
E (j f (X1 ; : : : ; Xk0 )j) <
k0
1 H (X1 ; : : : ; Xk0 ) 1
+
<
k0
log s
k0
H (X ) 1
+ +
<
log s
2 k0
H (X )
+ :
log s

Mivel tetszolegesen kicsi lehet, ezzel megmutattuk, hogy a betunknti tlagos


kdszhossz als korltjt tetszolegesen megkzelthetjk.

1.7. M ARKOV- FORRS

39

S ENTRPIJA

1.7. Markov-forrs s entrpija


A forrsentrpia kiszmtsa ltalnos forrsokra sokszor remnytelen feladat. A
kvetkezokben a forrsok egy olyan osztlyt a Markov-forrsokat ismerjk meg, amelyekre a forrsentrpit sok esetben ki tudjuk szmolni. Meg kell jegyezni, hogy a Markov-forrsok jelentosgt az adja, hogy segtsgkkel gyakorlati informciforrsok (rott szveg, beszd) modellezhetok kezelheto mdon.
A Markov-forrsok ismertetst a Markov-lncok fogalmnak feleleventsvel
kezdjk.
A Z1 ; Z2 ; : : : valsznusgi vltozk Markov-lncot alkotnak, ha
PfZk = zk j Z1 = z1 ; Z2 = z2 ; : : : ; Zk

fZk = zk j Zk

=P

1 = zk 1

1 = zk 1

g=
(1.19)

minden k  2-re s minden lehetsges z1 ; z2 ; : : : ; zk sorozatra. A Zi rtkeit a


Markov-lnc llapotainak, az llapotok Z halmazt pedig a Markov-lnc llapotternek nevezzk. Feltesszk, hogy jZj < , vagyis az llapottr vges. A
Z1 ; Z2 ; : : : Markov-lnc homogn, ha
PfZk = z2 j Zk

1 = z1

g = PfZ2 = z2 j Z1 = z1 g

minden z1 ; z2 2 Z-re s minden k  2-re. Vgl, egy Markov-lnc stacionrius, ha


mint sztochasztikus folyamat stacionrius.
A PfZk = z2 j Zk 1 = z1 g tmenetvalsznusgek ismeretben a Markov-modell jl hasznlhat szvegek s kpek tmrtsre. Angol nyelvu szvegek
entrpijnak meghatrozsra elsoknt Shannon vgzett ksrleteket. A nyelvi
redundancit modellezte Markov-lncokkal. A 26 betus angol bct hasznl
szvegek esetn msodrendu Markov-lnc modell hasznlatval 3:1 bit/betu tmrtsi arnyt rt el. Ez 2:4 bit/betu-re szorthat le, ha betuk helyett szavak
szerepelnek a modellben. Az angol nyelv entrpijnak becslsre Shannon ksrleti szemlyeket is alkalmazott a statisztikai modellek helyett. A rsztvevoknek a szveg aktulis betujt kellett kitallniuk a megelozo 100 betus krnyezet
alapjn. gy als hatrnak 0:6 bit/betu, mg felsonek 1:3 bit/betu addott. Minl hosszabb krnyezetet vizsglunk, annl jobb a jsls eredmnye, azonban a
krnyezet hosszval exponencilisan nvekszik a lehetsges megelozo llapotok
szma.
1.7. plda. Egy fekete-fehr kp sorait modellezznk egy fZi g stacionrius forrsknt, az 1.7. brn lthat homogn, stacionrius Markov-lnccal. Sv llapot
jelli azt, hogy az aktulis kppont vilgos, mg Ss , hogy stt. p(v) a vilgos,

40

1. VLTOZ SZHOSSZSG FORRSKDOLS

p(v j v)

#
"!
Y

p(s j v)

Sv

#
j
"!
I
Ss

p(v j s)

p (s j s )

1.7. bra. Egy fekete-fehr kp Markov-lnc modellje.


p(s) a stt kppont kezdeti valsznusge. Az tmenetvalsznusgek kzl pldul p(v j s) jelenti annak az esemnynek a valsznusgt, amikor egy stt kppont utn egy vilgos kvetkezik.
Szmtsuk ki egy tetszoleges Markov-lnc forrsentrpijt:
H (Z )

1
lim H (Z1 ; Z2 ; : : : ; Zn ) =
n! n

mivel Z stacionrius, ezrt


=

lim H (Zn j Z1 ; : : : ; Zn

n!

1) =

de Z Markov-lnc is, ezrt az (1.19) Markov-tulajdonsg miatt


=

lim H (Zn j Zn

n!

1) =

s Z stacionaritst jra felhasznlva azt kapjuk, hogy


=
=
=

lim H (Z2 j Z1 ) =

n!

H (Z2 j Z1 ) =

p(z1 z2) log p(z2 j z1 ) =


;

z1 z2

p(z2 j z1 ) p(z1) log p(z2 j z1)

z1 z2

1.8. plda. Legyenek az 1.7. plda valsznusgei a kvetkezoek:


p(s j s) = 0:88;

p(v j s) = 0:12;

p(s j v) = 0:03;

p(v j v) = 0:97

1.7. M ARKOV- FORRS

41

S ENTRPIJA

Ekkor a stacionrius eloszls:


p(s) = 0:2;

p(v) = 0:8

A Markov-lnc (vagyis az tmenetvalsznusgek) figyelembe vtele nlkl egy


betu entrpija:
H (Z1 ) =

0:2 log0:2 = 0:722

0:8 log0:8

Ugyanez a modellnk szerint:


H (Z2 j Z1 )

p(z2 j z1 ) p(z1) log p(z2 j z1) =

p(s j s) p(s) log p(s j s)

0:88  0:2  log0:88

z1 z2

p(s j v) p(v) log p(s j v)

p(v j s) p(s) log p(v j s)

p(v j v) p(v) log p(v j v) =

0:12  0:2  log0:12

0:03  0:8  log0:03

0:97  0:8  log0:97 =

0:261

Lthat, hogy nagyjbl a harmadra cskkent az entrpia az tmenetvalsznusgek ismerete miatt.


Szmoljuk ki egy specilis Markov-lnc entrpijt:
1.9. plda. Jelljk pi j -vel a PfZ2 = z j j Z1 = zi g tmenetvalsznusget, s
legyen a [ pi j n  n-es mtrix olyan, hogy minden sora ugyanazon u1 ; u2 ; : : : ; un
(ui > 0; ui = 1) szmok egy permutcija. Ekkor
H (Z2 j Z1 ) =

z1 2

p(z1 )

z2 2

p(z2 j z1 ) log p(z2 j z1 ):

Az tmenetvalsznusg-mtrix soraira vonatkoz felttel miatt azonban

z2 2

p(z2 j z1 ) log p(z2 j z1 ) =

ui log ui

i=1

z1 rtktol fggetlenl, teht


n

H (Z2 j Z1 ) =
Nzzk azt az esetet, amikor

f0 1g s
;

"
[ pi j =

i=1

binris, szimmetrikus Markov-lnc, azaz

p
1

ui log ui

1
p

p
p

#
(0 <

p < 1 ):

Z=

42
Itt

1. VLTOZ SZHOSSZSG FORRSKDOLS


H (Z2 j Z1 ) =

(1

p log p

p) log (1

p) =: h( p):

(1.20)

A h( p) fggvnyt binris entrpiafggvnynek nevezzk. Ha PfZ1 = 0g = q s


PfZ1 = 1g = 1 q, akkor a stacionarits miatt a PfZ2 = 0g = q s PfZ2 = 1g =
1 q feltteleknek is teljeslnik kell, teht


q; 1

"

p
1

1
p

p
p

#
=

q; 1

amibol q = 12 kvetkezik, s gy H (Z1 ) = 1. Megvizsglva (1.20)-at szrevehetjk,


hogy ha p kzel van 0-hoz illetve 1-hez, akkor H (Z ) = H (Z2 j Z1 ) rtke H (Z1 ) =
H (Z2 ) = 1-nl, a lehetsges maximlis rtknl sokkal kisebb. Ez intuitve rtheto
is, hiszen ha
p = PfZ2 = 0 j Z1 = 0g = PfZ2 = 1 j Z1 = 1g
1-hez kzeli, akkor hossz 0-s illetve 1-es sorozatokat vrhatunk, mg ha
1

p = PfZ2 = 1 j Z1 = 0g = PfZ2 = 0 j Z1 = 1g

1-hez kzeli, akkor a 0-k s 1-esek kzel szablyos vltakozst vrhatjuk.


Az 1.8. plda tmenetvalsznusgei jellegzetesek egy tlnyoman szveget
tartalmaz (pl. zleti) dokumentum esetn. Megfigyelheto, hogy a kvetkezo kppont szne sokkal nagyobb valsznusggel lesz azonos az elozovel, mint eltro
(klnsen vilgos esetben). Ahelyett, hogy a kppontok sznt kln-kln
kdolnnk, kdoljuk egyszeruen az azonos sznu kppontok (vagyis a futamok)
hosszt, teht azt a hosszt, amg a Markov-lnc azonos llapotban maradunk.
Ezt a technikt futamhossz kdolsnak nevezzk. (A futamhossz kdols optimalitsra vonatkozan lsd az 1.17. feladatot.) Pldul, ha 190 vilgos pixelt 30
stt kvet, majd 210 vilgos jn, a 430 kppont egyenknti kdolsa helyett a
190; 30; 210 sorozatot fogjuk kdolni, valamint jeleznnk kell azt, hogy az elso
pontsorozat milyen sznu volt.
Futamhossz kdolst alkalmaznak a CCITT (ma: ITU-T) fax-szabvnyaiban
is. Szmunkra a Group 3 illetve Group 4 ajnlsok rdekesek, ugyanis a korbbi
Group 1 s 2 technikk csak analg mdszereket hasznltak, ennlfogva nem tmrtettek.
Az 1980-ban megjelent Group 3 szabvny egydimenzis futamhossz kdolssal dolgozik. Ez azt jelenti, hogy az egyms alatti vzszintes sorokat egymstl
fggetlenl kdolja, a futamok pedig az egy soron bell vltakoz fehr s fekete
kppontokbl llnak. Minden sor elso futama fehr kppontokbl ll; ha egy sor
fekete pixellel kezdodik, akkor az elso futamot egy 0 hosszsg fehr futamnak

1.7. M ARKOV- FORRS

43

S ENTRPIJA

kell tekinteni. A klnbzo hosszsg futamok eltro valsznusggel fordulnak


elo egy dokumentumban, ezrt ezeket vltoz szhosszsg kddal, mgpedig
a szabvny szerint Huffman-kddal kdoljk. A futamok sszhossza, vagyis egy
sor hosszsga 1728 kppont. Ez tl sok lehetsges futamhosszt eredmnyez,
nincs rtelme ilyen nagymretu kdknyvet (= kdszavak halmaza) alkalmazni.
Ezrt a h hosszt 1 vagy 2 jegyu, 64-es szmrendszerben felrt szmknt kdoljk:
h = 64m + t

t = 0; 1; : : : ; 63

m = 0; 1; : : : ; 27

Kln kdtblzat vonatkozik az m, vagyis a kiegszto kd (make up code, MUC)


illetve a t, vagyis a lezr kd (terminating code, TC) rtkeire, kln a fekete s
kln a fehr kppontok esetre. Egy futam kdjt a sznnek megfelelo MUC
illetve TC tblzatbl kiolvasott kdszavak konkatencija adja. Azonos sznhez tartoz MUC s TC tblzatok prefix tulajdonsgak (egyttesen is). Mivel
a fekete s fehr futamok mindig vltakozva szerepelnek, ezrt a fekete tblzatokban ll kdszavak lehetnek a fehr tblzatokban llk prefixei s fordtva.
A sor vgt a specilis EOL kdsz jelli, ez biztostja az ad s vevo kztti
szinkronizcit is.
1984-ben publiklta a CCITT a Group 4 ajnlst, amely kihasznlja a fggoleges irny redundancit is, emellett fellrol kompatbilis a Group 3-mal. Egy
soron bell a futamokat nem csak a mr megismert mdon, a futamhosszak felsorolsval kdolhatjuk, hanem a szntmenetek helynek pozciival is.
A ktdimenzis kdols megrtshez vezessk be az albbi jellseket:
a0 : Az utols pixel, amelynek rtkt a kdol s a dekdol egyarnt ismeri.
Egy sor kdolsnak megkezdsekor az a0 egy kpzeletbeli fehr kppontra mutat, amely az elso aktulis pixel bal oldaln ll.
a1 : Az elso szntmenetet jelento kppont a0 jobb oldaln. a1 szne ellenttes
a0 sznvel. a1 helye csak a kdol szmra ismert.
a2 : Az msodik szntmenetet jelento kppont a0 jobb oldaln. a2 szne ellenttes a1 sznvel, ami azt jelenti, hogy megegyezik a0 sznvel.
b1 : Az elso szntmenetet jelento kppont az aktulisan kdoland sort megelozo sorban a0 jobb oldaln, amelynek szne ellenttes a0 sznvel. Mivel a megelozo sor s a0 rtke ismert a kdol s a dekdol szmra is, ezrt b1 helye is
ismert mindkettojk elott.
b2 : Az elso szntmenetet jelento kppont az aktulisan kdoland sort megelozo sorban b1 jobb oldaln.
A Group 4 algoritmusa az elso sort ugyangy kdolja, mint a Group 3 esetben lttuk. A tovbbi sorok kdolshoz felhasznlja az azt megelozot, gy a
msodikhoz az elsot, a harmadikhoz a msodikat, stb. Az 1.8. bra azt a helyzetet
brzolja, amikor ppen a msodik sornl tartunk a feldolgozsban, s a kpponto-

44

1. VLTOZ SZHOSSZSG FORRSKDOLS


b1

b2

a0

a1
b1

b2

a0

a2

a1

a2

1.8. bra. Az a0 ; a1 ; a2 ; b1 ; b2 mutatk lehetsges elhelyezkedse.


kat a msodik pixelig mr feldolgoztuk. A szntmenetet jelento pixeleket ponttal
jelltk. Kt esetet kell megklnbztetnnk:
Ha b1 s b2 a0 s a1 kztt fekszik, a kdolshoz az tad (pass) mdot
hasznljuk. A kdol egy specilis kdsz kikldsvel rtesti a dekdolt errol. Ebbol a dekdol tudja, hogy az a0 -tl a b2 alatti pixelig a kppontok szne
azonos. Ha ez nem lenne igaz, akkor kzben lenne egy szntmenetet jelento kppont, vagyis a1 s b2 viszonyra nem lenne igaz a felttelnk. Ekkor a kdol s
a dekdol ltal egyarnt ismert legutols kppont a b2 ltal mutatott lesz. gy ez
lesz az a0 j helye, a msik ngy mutat j pozcijt pedig a mr ismert mdon
jelljk ki.
Ha a1 megelozi b2 -t, ismt kt eset lehetsges: Ha a1 s b1 tvolsga nem
nagyobb 3-nl, elkldjk ezt a tvolsgrtket (ezt fggoleges mdnak nevezzk).
(A kdsz termszetesen fgg attl, hogy a1 jobbra vagy balra van-e b1 -tol, gy itt
sszesen 7 eset lehetsges azt is belertve, hogy a1 ppen b1 alatt helyezkedik el.)
a0 -t a1 -re lltjuk, mdostjuk a msik ngy mutatt is, s folytatjuk a kdolst
az algoritmus elejtol. Ha a1 s b1 tvolsga nagy, lnyegben visszatrnk az
egydimenzis technikhoz. Egy specilis kdszval jelezzk a dekdernek, hogy
vzszintes mdban vagyunk, majd elkldjk a0 s a1 illetve a1 s a2 tvolsgt
Huffman-kdolva. a0 -t a2 helyre lltjuk, s aktualizljuk a msik ngy mutatt
is. A kdolst az algoritmus elejtol folytatjuk.
A ktdimenzis algoritmus hasznlatval egy sor kdolsa a megelozo soron
alapul, gy elkpzelheto, hogy egy sorban bekvetkezo hiba kiterjed a tbbire

1.7. M ARKOV- FORRS

Markov-lnc:
Z

45

S ENTRPIJA

Zi

Xi

6Yi
emlkezetnlkli
stacionrius
forrs: Y

1.9. bra. Markov-forrs.


is. Ezt megelozendo, a szabvny rgzti, hogy minden egydimenzis eljrssal
kdolt sort norml fggoleges felbonts esetn legfeljebb 1, nagy felbonts esetn
legfeljebb 3 ktdimenzis algoritmussal kdolt sor kvethet.
A sorvgeket a Group 3 szabvnyban megismert EOL szimblum jelzi, azonban attl fggoen, hogy vzszintes mdban, vagyis az egydimenzis Group 3 szerint kdoltuk a sort, vagy az j ktdimenzis mdszerrel, egy 1 illetve 0 bit kveti. Ez lehetov teszi, hogy mindkt mdszerrel elvgezve a kdolst az ad a
rvidebb hosszsgot eredmnyezot vlaszthassa ki, majd a megfelelo EOL jellel
jelezze a vevonek, hogy melyik algoritmust hasznlta.
A Markov-lnc modell ltalnostsaknt vezessk be a Markov-forrst, amely
egy stacionrius Markov-lnc emlkezetnlkli sztochasztikus lekpezse.
1.7. definci. Legyen Z = Z1 ; Z2 ; : : : egy homogn s stacionrius Markov-lnc,
s legyen Y = Y1 ; Y2 ; : : : egy emlkezetnlkli, stacionrius forrs, amely fggetlen Z -tol. Tegyk fel tovbb, hogy adott egy F (z; y) ktvltozs fggvny. Ekkor
az Xi = F (Zi ; Yi ) lekpzssel definilt X = X1 ; X2 ; : : : forrst Markov-forrsnak
nevezzk.
Az 1.9. bra a Markov-forrs szrmaztatst szemllteti.
Mivel Z1 ; Z2 ; : : : s Y1 ; Y2 ; : : : stacionriusak s fggetlenek, ezrt az X1 ; X2 ; : : :
is stacionrius lesz, teht ltezik a H (X ) = lim 1n H (X1 ; X2 ; : : : ; Xn ) forrsentrpia.
n!

46

1. VLTOZ SZHOSSZSG FORRSKDOLS

Prbljuk meg kiszmolni H (X )-et. A jl ismert sszefggs szerint (amelyet


az 1.7. ttel a) egyenletnek trendezsvel kapunk)
H (X1 ; : : : ; Xn )

H (Z1 ; : : : ; Zn )

j Z1
Zn j X1

+H (X1 ; : : : ; Xn

;:::;

Zn )

H (Z1 ; : : : ;

;:::;

Xn ):

(1.21)

Vegyk sorra az egyenlosg jobb oldaln szereplo tagokat:


a) Korbban mr lttuk, hogy
1
lim H (Z1 ; Z2 ; : : : ; Zn ) = H (Z2 j Z1 ):
n

(1.22)

n!

b) A H (X1 ; : : : ; Xn j Z1 ; : : : ; Zn ) kiszmtshoz tekintsk a szban forg feltteles valsznusgeket:


PfX1 = x1 ; : : : ; Xn = xn j Z1 = z1 ; : : : ; Zn = zn g =

fF (Z1 Y1) = x1 F (Zn Yn) = xn j Z1 = z1


= PfF (z1 Y1 ) = x1
F (zn Yn ) = xn g =
n
= PfF (zi Yi ) = xi g =
=P

;:::;

;:::;

;:::;

Zn = zn g =

i=1
n

PfF (Zi Yi ) = xi j Zi = zi g =
;

i=1
n

PfXi = xi j Zi = zi g

(1.23)

i=1

ahol a msodik s negyedik egyenlosgnl a (Z1 ; : : : ; Zn ) s az (Y1 ; : : : ; Yn )


fggetlensgt, a harmadik egyenlosgnl pedig az Yi -k fggetlensgt hasznltuk ki. Az egyszerusg kedvrt a szoksos jellseinket felhasznlva
az (1.23) szerint teht
n

log p(x1 ; : : : ; xn j z1 ; : : : ; zn ) = log p(xi j zi );


i=1

s gy
H (X1 ; : : : ; Xn j Z1 ; : : : ; Zn ) =
=

x1 ;:::;xn z1 ;:::;zn

p(x1 ; : : : ; xn ; z1 ; : : : ; zn ) log p(xi j zi ) =


i=1

1.7. M ARKOV- FORRS


n

47

S ENTRPIJA

i=1 x1 ;:::;xn z1 ;:::;zn

p(x1 ; : : : ; xn ; z1 ; : : : ; zn ) log p(xi j zi ) =

H (Xi j Zi )

(1.24)

i=1

Mivel az (Xi ; Zi ) prok eloszlsa ugyanaz minden i-re, ezrt (1.24)-bol


1
H (X1 ; : : : ; Xn j Z1 ; : : : ; Zn ) = H (X1 j Z1 )
n

(1.25)

kvetkezik.
c) A H (Z1 ; : : : ; Zn j X1 ; : : : ; Xn ) feltteles entrpit ltalnos esetben nem tudjuk kiszmolni. Nzznk kt specilis esetet, ahol ez a szmts nem okoz
nehzsget:
1. Legyen Xi = Zi , vagyis F (z; y) = z minden y-ra, teht a Markov-forrs
kimenete a Z Markov-lnc llapotai. Ekkor
H (Z1 ; : : : ; Zn j X1 ; : : : ; Xn ) = H (Z1 ; : : : ; Zn j Z1 ; : : : ; Zn ) = 0;
s

H (Xi j Zi ) = H (Zi j Zi ) = 0;

teht (1.22)-bol s (1.25)-bol (1.21) szerint


H (X ) = H (Z2 j Z1 );
ahogy mr korbban lttuk.

2. Legyenek az Fz () = F (z; ) fggvnyek rtkkszletei minden z-re


diszjunktak, vagyis (az Xi -k rtkeinek halmazt X-szel, Yi -k rtkeinek halmazt Y-nal jellve), ha
Az = fx 2 X : x = F (z; y) valamely y 2 Y-rag;
akkor

Az1 \ Az2

= 0/ ;

ha z1 6= z2 ; s

z2

Az = X:

Ekkor nyilvnvalan ltezik olyan G fggvny, hogy


Zi = G(Xi );

48

1. VLTOZ SZHOSSZSG FORRSKDOLS


hiszen ha Xi 2 Az , akkor tudjuk, hogy Zi = z. Teht a feltteles entrpia
1.7. b) tulajdonsga szerint
H (Z1 ; : : : ; Zn j X1 ; : : : ; Xn ) =
= H (G(X1 ); : : : ; G(Xn )

s gy

j X1

;:::;

Xn ) = 0;

H (X ) = H (Z2 j Z1 ) + H (X1 j Z1 ):

A c) 1. s 2. esetekben teht kiszmthatjuk a Markov-forrs entrpijt ha ismerjk a Z Markov-lnc llapottmenetvalsznusg-mtrixt, az Y1 eloszlst s az


F fggvnyt.
Meg kell jegyezni, hogy az Xi -k feltteles eloszlsainak (1.23) tulajdonsga
azt jelenti, hogy az Y1 ; Y2 ; : : : s az F fggvny egyttesen egy diszkrt memriamentes csatornt alkotnak, melynek bemenetei a Zi -k. A diszkrt memriamentes
csatorna fogalmval a 3. fejezetben foglalkozunk majd.

1.8. Univerzlis forrskdols


Az eddig vizsglt kdok alkalmazsakor az ad s a vevo kztt tvitelre kerlo
bitek kt csoportot alkotnak. Eloszr tvisszk a blokk-kdot ler informcit.
Ez egy lland kltsget jelent, fggetlen az zenet tnyleges hossztl. Majd
kvetkeznek az zenet kdszavai. Elmleti vizsglataink sorn azzal a felttelezssel ltnk, hogy a tovbbtand zenetnk vgtelen hossz. Ilymdon, a
kdok aszimptotikus viselkedst tekintve, az lland kltsg fajlagosan nullhoz tart, teht elhanyagolhat. A gyakorlatban azonban vges forrsokkal van
dolgunk. Ebben az esetben az lland kltsg akr nagyobb is lehet, mint az zenet kdszavainak sszhosszsga. Ezt elkerlendo, j lenne, ha rendekezsnkre
llna egy olyan technika, amelynek nincs lland kltsge, de aszimptotikusan
ugyanolyan j tmrtsi arnyt r el, mint a blokk-kdok. Az lland kltsg
abbl addik, hogy a kdot a forrson elozetesen elvgzett statisztikai vizsglatok (a forrsszimblumok gyakorisga) alapjn hozzuk ltre, teht ezek az adatok
szksgesek a kd lershoz. Ehelyett jrjunk el gy, hogy menet kzben gyujtnk informcit a forrsszimblumokrl, vagyis az aktulis szimblumot az ezt
megelozo szimblumok alapjn kdoljuk. Az ilyen kdokat adaptv kdoknak
nevezzk, alkalmazsuk sorn nincs lland kltsg. Korbban tallkoztunk mr
ilyen mdszerrel az adaptv Huffman-kd kapcsn. A most trgyalsra kerlo
LempelZiv-kdok is ebbe a csaldba tartoznak.
Az elso LZ-algoritmus az 1977-ben publiklt LZ77.

1.8. U NIVERZLIS

49

FORRSKDOLS

Az LZ77 algoritmus
A kdol a forrsszimblumok sorozatt egy ha hossz csszablakon keresztl vizsglja. Az ablak kt rszbol ll: egy keresopufferbol, amely a legutbb
kdolt hk darab forrsszimblumot tartalmazza, s egy eloretekinto pufferbol,
amely a kvetkezo he darab kdoland szimblumot tartalmazza (ha = hk + he ).
A kdol a keresopufferben megkeresi az eloretekinto puffer elso szimblumval
megegyezo szimblumokat. Ehhez egy htrafel halad mutatt hasznl. Megnzi, hogy a megtallt pozcikkal kezdodoen, a keresopufferben lvo szimblumok milyen hosszan egyeznek meg az eloretekinto puffer szimblumaival, s a
tallatok kzl azt vlasztja ki, amelytol kezdve a leghosszabb az egyezs. A
kdol ezutn elkld egy ht ; h; ci hrmast, ahol t a keresopufferben megtallt
szimblum tvolsga az eloretekinto puffertol (offset), h a kereso- s az eloretekinto puffer egyezo szimblumainak legnagyobb hosszsga, c pedig az elso,
az eloretekinto pufferben lvo nem egyezo karakter kdszava. Azrt kldjk el
az elso nem egyezo karakter kdjt is, hogy kezeljk azt az esetet, amikor az
eloretekinto puffer szimblumait nem talljuk meg a keresopufferben. Ilyenkor
t s h rtke 0. Egy hrmas kdolshoz lland hosszsg kd hasznlatval dlog hk e + dlog he e + dlog jXje bit szksges, ahol jXj a forrsbc mrete.
Figyeljk meg, hogy az egyezo szimblumok hosszsgnak tvitelhez nem
dlog hk e, hanem dlog hee bit szksges. Ennek oka, hogy az egyezs hossza meghaladhatja a keresopuffer hosszt, vagyis az egyezo rsz tlghat az eloretekinto
pufferbe.
1.10. plda. Legyen a bementnk a kvetkezo:
:::

ha := 13; hk := 7; he := 6:
doltuk. Ekkor:

cabracadabrarrarrad : : :
Tegyk fel, hogy az elso nhny karaktert mr k-

c a b r a c a d a b r a r r a r r a d

Lthat, hogy az eloretekinto puffer elso karaktere, d, nem tallhat meg a keresopufferben. tkldjk a h0; 0; f (d )i hrmast, ahol f (d ) a d karakter kdjt jelli.
Az ablakot eggyel jobbra mozgatjuk, gy:

 t =7
?
a b r a c
 h=4

a d a b r a r r a r r a d

50

1. VLTOZ SZHOSSZSG FORRSKDOLS

A mutatt a keresopufferben htrafel mozgatva, az eloretekinto puffer elso szimblumval (a) egyezo karaktert t = 2 tvolsgra talljuk meg. Ekkor az egyezs
hosszsga h = 1. Tovbb haladva a mutatval t = 4-nl szintn egy 1 hossz
egyezs addik. Vgl t = 7-nl talljuk meg a legjobb vlasztst h = 4 hoszszal. Teht az abrar karaktereket a h7; 4; f (r)i hrmassal kdoljuk, s az ablakot
5 pozcival jobbra toljuk, gy:
t =3
c a b r a c a d a b

 ?
r a r r a
 h=5 -

r r a d

Az elso egyezst t = 1-nl h = 1 hosszan talljuk. A msodik egyezs t = 3-nl


van, hossza elso rnzsre h = 3. Azonban az egyezs az eloretekinto pufferbe is
tnylik, ezrt h = 5. Az tkldendo hrmas: h3; 5; f (d )i. A dekdols sorn ez
az tlgs nem okoz gondot, mert az elso hrom karaktert knnyen megkapjuk
a mr elozoleg dekdolt karakterekbol, a maradk kettot pedig az elobbi lps
sorn megkapott 3 karakter segtsgvel nyerjk.
Lthatjuk, hogy az LZ77 egy rendkvl egyszeru adaptv algoritmus, amely
nem ignyel elozetes ismeretet vagy feltevst a forrsrl. Megmutathat, hogy
az eljrs hatkonysga aszimptotikusan (hk ; he ! ) megkzelti az optimlis
algoritmust, amely elozetesen ismeri a forrseloszlst, azaz stacionrius s er(X)
godikus forrs esetn az tlagos kdszhossz konvergl Hlog
s -hez, ha hk ; he ! .
Br ez aszimptotikusan igaz, a gyakorlatban az LZ77 szmos tovbbfejlesztse ismeretes, amelyek clja a hatkonysg nvelse. Pldul a npszeru PKZIP s ARJ
tmrtokben a hrmasokat nem fix, hanem vltoz hosszsg kddal kdoljk.
Egy msik varici vltoztathat mretu kereso s eloretekinto ablakot hasznl.
Az LZ77 legegyszerubb mdostsa annak kikszblse, amikor egyetlen karaktert kdolunk egy hrmassal. Ez egy jelzobittel oldhat meg. Ezzel jelezzk, hogy
nem egy hrmast, hanem csak egy kdszt kldnk t.
Az LZ77 alkalmazsa sorn a forrsszimblumok legutbb kdolt sorozatt
hasznjuk, gy azzal a felttelezssel lnk, hogy a mintk egymshoz kzeli intervallumokban visszatrnek (a mozg ablakon bell). Szlsosges esetben, ha
az ismtlods hossza ppen eggyel hosszabb a keresopuffer mretnl, nem tudunk tmrteni. Az LZ-algoritmus kvetkezo, 1978-as verijnl (LZ78) ezt a
problmt egy msfajta, adaptv sztr alap rendszerrel oldjk fel.

Az LZ78 algoritmus
A kdol s a dekdol is sztrt pt az elozoleg elofordult sorozatokbl.

1.8. U NIVERZLIS

51

FORRSKDOLS

a kdol
sztr
kimenete index bejegyzs
h0; f (d )i 1
d
h0; f (a)i 2
a
h0; f (b)i 3
b
h3; f (a)i 4
ba
h0; f (c)i 5
c
h1; f (a)i 6
da
h3; f (b)i 7
bb
h2; f (c)i 8
ac
h6; f (b)i 9
dab

a kdol
sztr
kimenete index bejegyzs
h4; f (c)i 10
bac
h9; f (b)i 11
dabb
h8; f (d )i 12
acd
h0; f (e)i 13
e
h13; f (c)i 14
ec
h1; f (e)i 15
de
h14; f (d )i 16
ecd
h13; f (e)i 17
ee

1.10. bra. Az 1.11. plda LZ78 kdolsnak menete.


A kdol megkeresi a forrsszimblumok aktulis pozcijtl kezdodo leghoszszabb egyezst a sztrban. tkld egy hi; ci prt, ahol i az egyezo karaktersorozat
sztrbeli indext jelli, c pedig az elso nem egyezo karakter kdja, majd felveszi
a sztrba az i indexu egyezo karaktersorozat s a c karakter konkatencijaknt
kapott sztringet (a kvetkezo szabad indexet adja neki). Ha nem tall egyezo
karaktersorozatot a sztrban, akkor a h0; ci prost kldi t, c itt is az elso nem
egyezo karakter kdja, amely ebben az esetben termszetesen az elso feldolgozand szimblum.
1.11. plda. Kdoljuk a kvetkezo sorozatot az LZ78 algoritmussal:
dabbacdabbacdabbacdabbacdeecdeecdee
Kezdetben a sztr res, ezrt az elso 3 szimblumot egyenknt felvesszk a sztrba, s a 0 indexszel tkldjk: h0; f (d )i; h0; f (a)i; h0; f (b)i. A negyedik szimblum a b, amely szerepel a sztrban, a kvetkezovel egytt (ba) viszont mr
nem, ezrt tkldjk a h3; f (a)i prost, amelybol a 3 jelli a b indext, f (a) pedig
a kvetkezo karakter, vagyis az a kdjt. A ba sorozatot felvesszk a sztrba,
indexe 4 lesz. gy folytatjuk az eljrst, az eredmnyt az 1.10. brn lthat tblzatban foglaltuk ssze. Lthat, hogy a sztrbeli bejegyzsek egyre hosszabbak,
s ha a bemeneti sorozat ismtlodik, akkor elobb-utbb az egsz sztring szerepelni
fog a sztrban.
Megmutathat, hogy az LZ78 egy beture jut tlagos kdszhossza konvergl
minden stacionrius s ergodikus forrsra.

H (X)
log s -hez

52

1. VLTOZ SZHOSSZSG FORRSKDOLS

Az LZ78 algoritmus egyik hibja, hogy a sztr folyamatosan, korlt nlkl


nvekszik. A gyakorlatban egy bizonyos hatron tl gtat szabunk a nvekedsnek: vagy rendszeresen eltvoltjuk a felesleges vagy ritkn hasznlt bejegyzseket, vagy egy ido utn fix sztrasknt mukdik tovbb az eljrs.

Az LZW algoritmus
Terry Welch az LZ78 mdostsval egy olyan technikt dolgozott ki, amellyel
megtakarthat az hi; ci prbl a c karakterkd tkldse. Ez az n. LZW algoritmus. A kdol teht csak sztrbeli indexeket kld t. Ehhez szksges, hogy a
sztrban mr a kiindul llapotban is szerepeljen az sszes egybetus szimblum
a forrsbcbol. A kdols sorn az aktulis pozcitl kezdve addig olvassuk be
a forrsszimblumokat a p pufferbe, amg a sorozat szerepel a sztrban. Ha az a
karakter az elso olyan, amelyre pa nincs benne a sztrban (az egyms utn rssal a konkatencit jelltk), akkor tkldjk a p sorozat indext, a pa sorozatot
felvesszk a sztrba s az a karaktertol kezdve folytatjuk az eljrst.
1.12. plda. Kdoljuk az LZW algoritmussal az elozo sorozatunkat:
dabbacdabbacdabbacdabbacdeecdeecdee
A forrsbc X = fa; b; c; d ; eg, kezdetben ez az 5 bejegyzs szerepel a sztrban.
A kdol eloszr veszi a d karaktert. Ez benne van a sztrban, gy hozzilleszti
a kvetkezo, az a karaktert. A da sorozat mr nem szerepel a sztrban, ezrt
tkldi a d indext, vagyis a 4-et, felveszi a sztrba a da sorozatot a 6. helyre, s
megy tovbb az a-val kezdve. Az a szerepel a sztrban, gy hozzveszi a b-t. ab
nincs bent, teht tkldi a indext, a 2-t, felveszi ab-t, s folytatja az eljrst b-tol,
stb. Az 1.11. brn lthat tblzat tartalmazza a kdols vgeztvel a sztrban
tallhat indexeket s karaktersorozatokat. A kdol kimenete a kvetkezo:
4; 1; 2; 2; 1; 3; 6; 8; 10; 12; 9; 11; 7; 16; 4; 5; 5; 11; 21; 23; 5
1.13. plda. Dekdoljuk az LZW algoritmussal tmrtett, A = fa; bg forrsbc feletti abababab : : : karaktersorozatot. A kdol kimenetrol a dekdol
bemenetre az 1; 2; 3; 5; 4; 7; 6; 9; 8; : : : sorozat jut el. A kiindulsi sztr tartalmazza az a s a b bejegyzst. gy az 1; 2 sorozatot dekdoljuk a illetve b karakterknt. A sztrba felvesszk az ab bejegyzst harmadiknak, s a kvetkezo
sorozat, amely a sztrba kerl majd, a b karakterrel fog kezdodni. A 3 kdsz
rkezik a bemeneten, ezt dekdoljuk ab-knt. Eloszr az a betut illesztjk a kszlo j sztrbejegyzs kezdo b betujhez. Mivel a ba sorozat nincs a sztrban,

1.8. U NIVERZLIS

53

FORRSKDOLS

index bejegyzs
1
a
2
b
3
c
4
d
5
e
6
da
7
ab
8
bb
9
ba
10
ac
11
cd
12
dab
13
bba

index bejegyzs
14
acd
15
dabb
16
bac
17
cda
18
abb
19
bacd
20
de
21
ee
22
ec
23
cde
24
eec
25
cdee

1.11. bra. Az 1.12. plda sztra.


felvesszk azt. A kvetkezo j bejegyzs a betuvel fog kezdodni. Mivel az ab
prnak csak a kezdo a betujt hasznltuk fel, a maradk b betut hozzillesztjk a
kszlo j sztrbejegyzshez, gy ab-t kapunk. Ez mr szerepel a sztrban, ezrt
tovbb folytatjuk a dekdolst. Az elso 4 bejegyzs kszen van, mg az 5. ppen
kszloflben, a kvetkezo bemenet pedig az 5 kdsz, amely a mg nem teljesen
ksz bejegyzsre hivatkozik. Ennek ellenre tovbb tudjuk folytatni a dekdolst!
Ha ismernnk az 5. bejegyzst, annak elso kt karaktere ab lenne. Illesszk az a
karaktert a kszloben lvo j bejegyzshez. Mivel az gy kapott aba mg nem
szerepel a sztrban, ez lesz az 5. bejegyzs. A kvetkezo bejegyzs a betuvel fog
kezdodni, s mg megmaradt a ba sorozat az elozo dekdolsbl, stb. Az albbi
tblzat tartalmazza a kdol s a dekdol ltal ptett sztrt:
index bejegyzs
1
a
2
b
3
ab
4
ba
5
aba

index bejegyzs
6
abab
7
bab
8
baba
9
ababa
..
.

A Unix COMPRESS parancsa s a GIF (Graphics Interchange Format) kptmrto eljrs is az LZW algoritmust hasznlja, mgpedig adaptv sztrmrettel.
A COMPRESS esetben kezdetben a sztrban 512 bejegyzsnek van hely, ez azt

54

1. VLTOZ SZHOSSZSG FORRSKDOLS

jelenti, hogy a kdszavak 9 bit hosszak. Amikor a sztr betelik, mrett megduplzzuk, 1024 bejegyzsre. Ettol kezdve 10 bites kdszavakat visznk t, s
gy tovbb. A kdszavak lehetsges maximlis hosszt a felhasznl llthatja be
9 s 16 bit kztt (alaprtelmezs: 16 bit). Ezt elrve, a COMPRESS eljrs statikus sztr alap technikv vlik. Ilyenkor a program figyeli a tmrtsi arnyt.
Amennyiben ez egy bizonyos kszb al esik, a sztr mr nem felel meg cljainknak, ezrt a sztrpto folyamat kezdodik ellrol. gy a sztr mindig tkrzi
a forrs loklis jellemzoit.
Szintn az LZW algoritmusra pl a CCITT (ma: ITU-T) V.42bis tmrtsi szabvnya, amely a telefonhlzaton modemekkel trtno adattvitelrol szl
V.42 ajnls kiegsztse. Az algoritmus kt zemmdot definil. Az egyik a
transzparens md, amikor az adatok tmrtetlen formban kerlnek tvitelre, a
msik pedig a tmrtett md. A kt zemmdra azrt van szksg, mert lehetsges, hogy az tvitelre kerlo adatokban nincs redundancia, ezrt nem tmrtheto
az LZW algoritmussal. Ebben az esetben a tmrto eljrs mg hosszabb kimenetet eredmnyezne, mint a bemenet (ez a helyzet pldul, ha egy elozoleg
mr tmrtett fjlt akarunk tvinni a telefonvonalon). Tmrtett zemmdban
a rendszer LZW algoritmust hasznl vltoz mretu sztrral. A sztr kezdeti
mrett a kapcsolat ltrejttekor egyezteti az ad- s a vevoberendezs. A V.42bis
ajnls minimum 512 bejegyzs mretu sztrat tartalmaz, de 2048 mretut tart
idelisnak. Az sszes bejegyzs nem hasznlhat fel szabadon, mert van 3 kitntetett szerepu kdsz. Ezek illetve jelentsk a kvetkezo: Enter Transparent
Mode (zemmdvlts: ettol kezdve a transzparens md rvnyes), Flush Data (a
sztrptst elorol kezdjk), Increment Codeword Size (megduplzzuk a sztr
mrett, s ezzel egytt eggyel nveljk a kdszavak mrett is). Az adattvitel
sorn bekvetkezo hibk hatsnak cskkentsre az ajnls meghatrozza a maximlis sztringmretet, amely szerepelhet a sztrban. Ezt 6 s 250 kztt az ads a vevoberendezs hatrozza meg a kapcsolat felptsekor (alaprtelmezs: 6).

1.9. Feladatok
1.1. feladat (Egyrtelmu dekdolhatsg alternatv defincija). Nevezznk
egy f : X ! Y kdot egyrtelmuen dekdolhatnak, ha az u = u1  uk s v =
v1  vk zenetekre (itt u1 ; v1 ; : : : ; uk ; vk 2 X)
f (u1 ) f (u2 )  f (uk ) = f (v1 ) f (v2 )  f (vk )
esetn ui = vi minden i-re. Teht az 1.1. defincival ellenttben csak azt kveteljk meg, hogy brmely kt klnbzo, azonos hosszsg zenet kdja is
klnbzzn. Bizonytsa be, hogy a kt definci ekvivalens!

55

1.9. F ELADATOK

1.2. feladat (Az optimlis kd tlagos szhossza). Mutassa meg, hogy az optimlis binris kd tlagos kdszhossza tetszolegesen kzel lehet H (X ) + 1-hez.
Pontosabban, brmely kis > 0 szmhoz adjon meg egy olyan eloszlst az X
forrsbcn, hogy az optimlis binris kd tlagos kdszhosszra
Ej f (X )j > H (X ) + 1

teljesljn.
1.3. feladat (Egyenlosg a Kraft-egyenlotlensgben). Nevezznk egy f prefix
kdot teljesnek, ha brmely j kdsz hozzadsval a kd elveszti prefix tulajdonsgt. Egy x sztringet dekdolhatatlannak neveznk, ha nem lehet kdszavak
egyms utn rsval olyan sztringet kapni, amelynek x a prefixe. Mutassa meg,
hogy a kvetkezo hrom llts ekvivalens:
a) f teljes,
b) nem ltezik f -re nzve dekdolhatatlan sztring,
n

c) s
i =1

li = 1,

ahol s a kdbc elemszma, li az i-edik kdsz hossza, s n a

kdszavak szma.

1.4. feladat (Rossz kdok). A kvetkezo binris kdok melyike nem lehet semmilyen eloszls Huffmann-kdja? Mindegyik vlaszt indokolja meg, azaz ha
nincs ilyen eloszls, akkor magyarzza meg mirt, ha pedig van, akkor adjon meg
egy olyat!
a) 0; 10; 111; 101
b) 00; 010; 011; 10; 110
c) 1; 000; 001; 010; 011
1.5. feladat. Legyen az X = fx1 ; : : : ; xn g forrsbcn adott valsznusg-eloszls
olyan, hogy minden egyes elem valsznusge 2 i alak, ahol i egy pozitv egsz
szm. Bizonytsa be, hogy ilyen esetekben a binris ShannonFano-kd optimlis! Mutassa meg, hogy a binris Huffman-kd tlagos kdszhossza akkor s
csak akkor egyezik meg az entrpival, ha az eloszls ilyen alak!
1.6. feladat. Legyen az X forrsbc telemu, a kvetkezo valsznusgekkel:
0:4; 0:35; 0:1; 0:1; 0:05. Mennyi az eloszls entrpija? Konstrulja meg a binris
ShannonFano-kdot erre az eloszlsra, illetve konstruljon binris prefix kdot
az li = d log p(xi )e kdszhosszakkal az 1.2. lemma bizonytsa szerint (a kd
binris fval val reprezentlsval). Mennyi az tlagos kdszhossz?

56

1. VLTOZ SZHOSSZSG FORRSKDOLS

1.7. feladat. Egy pnzrmt addig dobunk fel, amg rst nem kapunk. Jellje az
X valsznusgi vltoz a dobsok szmt. Mennyi az X entrpija?
1.8. feladat (Egyenletesebb eloszls entrpija nagyobb). Mutassa meg, hogy
a
( p1 ; : : : ; pi ; : : : ; p j : : : ; pn )
eloszls entrpija nem lehet nagyobb, mint a
( p1 ; : : : ;

pi + p j
pi + p j
;:::;
: : : ; pn )
2
2

eloszls entrpija!
1.9. feladat (Egyenletesebb eloszls optimlis kdja rosszabb).
Tekintsk a
p = ( p1 ; : : : ; pi ; : : : ; p j : : : ; pn )
illetve

pi + p j
pi + p j
;:::;
: : : ; pn )
2
2
eloszlsokat. Mutassa meg, hogy a q eloszlshoz tartoz optimlis (minimlis tlagos kdszhosszsg) kd tlagos kdszhossza (q szerint) nem lehet kisebb,
mint a p eloszlshoz tartoz optimlis kd tlagos kdszhossza (p szerint)!
q = ( p1 ; : : : ;

1.10. feladat (Informcis divergencia).


Legyen p = ( p1 ; : : : ; pn ) s q =
(q1 ; : : : ; qn ) kt valszn
usg eloszls, s definiljuk a kt eloszls kztti informcis tvolsgot a
n
pi
D(p j q) = pi log
qi
i=1
kifejezssel. (A mennyisget gyakran informcis divergencinak, relatv entrpinak, vagy KullbackLeibler-tvolsgnak nevezik.) Lssuk be a kvetkezo
tulajdonsgokat:

Brmely kt eloszlsra D(p j q)  0, s egyenlosg pontosan akkor teljesl,


ha p = q.

H (p) = log n D(p j u), ahol H (p) jelli a p eloszls entrpijt, u pedig
az egyenletes eloszlst az f1; : : : ; ng halmazon.

1.11. feladat (Rosszul ismert eloszls). Tegyk fel, hogy az X valsznusgi vltoz eloszlsa p = ( p1 ; : : : ; pn ), de ez az eloszls nem pontosan ismert, helyette

57

1.9. F ELADATOK

a q = (q1 ; : : : ; qn ) eloszls adott, s ennek ismeretben


m ksztnk ShannonFanol
1
kdot, melynek kdszhosszsgai teht li = log qi , i = 1; : : : ; n. Mutassa meg,
hogy a kapott kd tlagos kdszhosszra
n

H (p) + D(p j q)  pi li < H (p) + D(p j q) + 1


i=1

teljesl! Ez azt jelenti, hogy az r, amelyet az eloszls pontatlan ismeretrt fizetnk, krlbell az informcis divergencival egyezik meg (ami sohasem lehet
negatv, teht semmikppen sem nyerhetnk!).
1.12. feladat (ShannonFano s Huffman-kd). Legyen az X valsznusgi
1 1 1 1
vltoz eloszlsa 3 ; 3 ; 4 ; 12 . Konstruljon Huffmann-kdot ehhez az eloszlshoz. Mutassa meg, hogy kt klnbzo optimlis kd is van, azaz, hogy az
(1; 2; 3; 3), s a (2; 2; 2; 2) kdszhosszsgokkal adott mindkt kd optimlis.
Vonja le a kvetkeztetst, hogy ltezik olyan optimlis kd, amelynek van a megfelelo ShannonFano-kdnl hosszabb kdszava is.
1.13. feladat (Huffmann-kd kdszhosszai). Tegyk fel, hogy a ( p1 ; : : : ; pn )
eloszlshoz ksztnk optimlis binris prefix kdot, ahol p1 > p2 >  > pn > 0.
Bizonytsa be, hogy




Ha p1 > 25 , akkor a hozz tartoz kdsz egy hosszsg;


Ha p1 <

1
3

akkor a hozz tartoz kdsz legalbb ketto hosszsg.

1.14. feladat (Titkosts). Legyenek X s Z binris (0-1 rtku) fggetlen valsznusgi vltozk, gy, hogy PfX = 1g = p s PfZ = 1g = 12 . Legyen Y = X  Z,
ahol  modulo 2 sszeadst jell. X felfoghat, mint titkostand zenet, Z a titkos kulcs, s Y a rejtjelezett zenet. Szmolja ki a kvetkezo mennyisgeket,
s magyarzza meg jelentsket a titkosts szempontjbl: H (X ), H (X j Z ),
H (X j Y ), H (X j Y ; Z ).
1.15. feladat (Egyenlotlensgek). Legyenek X ; Y s Z tetszoleges (vges rtkkszletu) valsznusgi vltozk. Bizonytsa be a kvetkezo egyenlotlensgeket:




H (X ; Y j Z )  H (X j Z ),
H (X ; Y ; Z )

H (X ; Y )  H (X ; Z )

H (X ).

1.16. feladat. Legyen X = X1 ; X2 ; : : : egy binris, emlkezetnlkli stacionrius


forrs, amelyre PfX1 = 1g = 10 6 . Adjuk meg az X egy olyan vltoz szhosz1
.
szsg blokk-kdjt, melynek betunknti tlagos kdszhossza kisebb, mint 10

58

1. VLTOZ SZHOSSZSG FORRSKDOLS

1.17. feladat (Futamhossz kdols). Legyenek X1 ; : : : ; Xn binris valsznusgi


vltozk. Jellje R = (R1 ; R2 ; : : :) az egyes szimblumok elofordulsainak futamhosszait. Teht pldul az 1110010001111 sorozathoz R = (3; 2; 1; 3; 4) tartozik. Hogyan viszonyul egymshoz H (X1 ; : : : ; Xn ); H (R) s H (R; Xn )?
1.18. feladat (Markov-lnc entrpija). Legyen X = X1 ; X2 ; : : : egy binris, stacionrius Markov-lnc, amelynek llapottmenetei a kvetkezok:
PfX2 = 0 j X1 = 0g
PfX2 = 1 j X1 = 0g

p;

1
1

PfX2 = 0 j X1 = 1g

PfX2 = 1 j X1 = 1g

p;
p
2

1+ p
:
2

Mennyi PfX1 = 0g? Mennyi a forrs entrpija?


1.19. feladat (Binris entrpiafggvny tulajdonsgai). Legyen a [0; 1 intervallumon rtelmezett h fggvny (binris entrpiafggvny) rtke
h(x) =

x logx

(1

x) log (1

x);

ha x 2 (0; 1), s h(0) = h(1) = 0. Mutassuk meg, hogy h rendelkezik a kvetkezo


tulajdonsgokkal:






szimmetrikus az
[0 ; 1

1
2

pontra;

minden pontjban folytonos;

0; 12 -ben szigoran monoton nvekvo;

szigoran konkv.

1.20. feladat (Vissza a jvobe). Legyen : : : ; X 2 ; X 1 ; X0 ; X1 ; X2 ; : : : valsznusgi vltozk egy stacionrius sorozata. Mutassa meg, hogy
H (X0 j X

1; X 2; : : : ; X n) =

H (X0 j X1 ; X2 ; : : : ; Xn );

azaz, a jelen feltteles entrpija a mlttal s jvovel mint felttellel megegyezik.


1.21. feladat. Legyenek a Z stacionrius Markov-lnc llapotai a 0; 1; : : : ; 255
szmok, s tegyk fel, hogy az llapottmenet valsznusgek az albbi 256 
256-os mtrixszal adottak (a mtrix i-edik sornak j-edik oszlopban a PfZ2 = j j

59

1.9. F ELADATOK

Z1 = ig valsznusg tallhat). Mi a Markov-lnc stacionrius eloszlsa? Menynyi a forrs entrpija? Ksztsen j, egyrtelmuen dekdolhat, vltoz szhoszszsg blokk-kdot!
2





1=2 1=4 1=4 0


0 0
0 1=2 1=4 1=4 0 0
0
0 1=2 1=4 1=4 0
..
.

6
6
6
6
6
6
6
6 0
6
4 1=4



0
0

1=4 1=4

0
0

0 1=2
0
0




0
0
0
..
.

7
7
7
7
7
7
7
1=4 1=4 7
7
1=2 1=4 5

1=2

1.22. feladat. Az albbi bra egy Z = Z1 ; Z2 ; : : : Markov-lnc mukdst rja le.


Tegyk fel, hogy a lncot a stacionrius eloszlsbl indtjuk.

#
"!
Y

R
p

(1

#
j
"!
I
1

(1 + p)=2

p)=2

Legyen tovbb Y1 ; Y2 ; : : : fggetlen, azonos eloszls binris valsznusgi vltozk sorozata, ahol P(Yi = 0) = 13 . Definiljuk az X = X1 ; X2 ; : : : forrst az
Xi = 2Zi + Yi egyenlettel. Mennyi az X forrs entrpija, feltve, hogy Z1 ; Z2 ; : : :
fggetlen Y1 ; Y2 ; : : :-tol?
1.23. feladat (LempelZiv). Adjuk meg a 36 darab nullbl ll sztring LZ78kdjt!

60

1. VLTOZ SZHOSSZSG FORRSKDOLS

2. fejezet

Forrskdols
husgkritriummal

Az eddigi vizsglataink sorn megkveteltk, hogy a kdolt zenet egyrtelmuen


visszallthat legyen. Ezt a kvetelmnyt sok gyakorlati problma esetn fel kell
adnunk, illetve jobb, ha feladjuk. Ebben a fejezetben olyan forrskdolsi eljrsokat vizsglunk, ahol az zenet tkletes reprodukcija helyett csak azt vrjuk el,
hogy a dekdolt zenet az eredetit valamilyen rtelemben huen de nem felttlenl pontosan adja vissza. Ilyen tpus kdolsokkal a hrkzls gyakorlatban
sokszor tallkozhatunk. Az emberi beszd digitlis tvitele illetve trolsa esetben pldul a folytonos jelbol mintavtelezssel s kvantlssal olyan jelet kapunk, amely mr vges rtkkszletu. Mgis azt mondhatjuk, hogy ezzel semmit
sem vesztettnk, hiszen pldul a digitlis kzponton keresztlhalad telefonkapcsolat ugyanolyan j minosgu (vagy jobb), mintha az analg/digitlis digitlis/analg talaktst elhagynnk. A lnyeg az, hogy a forrsnak csak szmunkra
lnyeges jellemzoit tartjuk meg, s gy megelgedve a kzelto visszalltssal
gy kdolhatjuk, hogy a kapott jel tovbbtsa illetve trolsa mr kisebb kltsggel megoldhat. (Vagyis pl. binris kdot hasznlva, a forrs kevesebb biten
reprezentlhat.)
A kvetkezokben trgyaland kdok kzs jellemzoje lesz, hogy n. blokkblblokkba kdok, azaz a forrsbc betuinek lland hossz blokkjait lland hoszsz kdszavakkal kdoljuk. Feltesszk, hogy adott az zenetek s a kdjaik kztt
egy n. husgmrtk, ami azt mri, hogy egy adott kdszt milyen mrtkben tekinthetnk egy adott zenet reprodukcijnak. Vizsglataink kzppontjban az a
krds ll, hogy kdolssal milyen mrtkben tmrthetjk a forrs ltal kibocstott jelet, ha azt akarjuk, hogy a kd a forrst adott tlagos husggel reprezentlja.
Sajnos torztst megengedo forrskdols esetn a tmrthetosg elvi hat-

62

2. F ORRSKDOLS H USGKRITRIUMMAL

rainak a jellemzse ltalban nem konstruktv, ugyanakkor a gyakorlati feladatokban mgis kell tmrteni, teht megemltnk nhny gyakorlati eljrst is:
kvantlst, mintavtelezst, prediktv kdolst, beszd-, hang-, kp- s videotmrtst. A fejezetet az elvi hatrok tisztzsval zrjuk.

2.1. Forrskdols elort hibavalsznusggel

A vltoz szhossz forrskdols egy htrnya azonnal szembetunik: egy kdsz meghibsodsa esetn elofordulhat, hogy az utna levo sszes kdsz dekdolst elrontjuk, mivel a kezdetket rosszul detektljuk. Ha lland hosszsg
kdszavakat hasznlunk, akkor ez nem fordulhat elo; brmely kdsz meghibsodsa csak az illeto kdsz dekdolsnl okoz gondot, hiszen a kdsz kezdetek
kijellse mg dekdols elott megtrtnhet. Azonban mint rgtn ltni fogjuk
, ez a megolds elveszi a tmrts lehetosgt. Legyen ugyanis X az n-elemu
forrsbc, s Y az s-elemu kdbc. Ekkor, ha az f kd k-hossz zeneteket
m-hossz kdszavakba kpez le (teht f : Xk ! Ym ), akkor az egyrtelmu dekdolhatsg felttele az
(2.1)
nk  s m
egyenlotlensg teljeslse, vagyis ezt a betunknti tlagos kdszhosszal kifejezve
m log n
;
(2.2)
L= 
k
log s
mivel a klnbzo k-hossz zeneteknek klnbzo m-hossz kdszavakat kell
megfeleltetni. A (2.2) felttel termszetesen elgsges is egyrtelmuen dekdolhat f : Xk ! Ym kd ltezsre. Mivel a forrs entrpija jval kisebb lehet
log n-nl (de legfeljebb ennyi) ezrt (2.2) megmutatja, hogy az lland szhossz
egyrtelmuen dekdolhat kdok esetben az tlagos kdszhossz ltalban nem
kzeltheti tetszolegesen a forrsentrpit brmilyen nagy legyen is a k blokkhossz. Valjban csak akkor nem vesztnk semmit, ha a kdolt forrs emlkezetnlkli s stacionrius egyenletes eloszlssal.
Feladjuk teht az egyrtelmu dekdolhatsgot, s helyette azt kveteljk
meg, hogy a k hossz zeneteket nagy valsznusggel tudjuk dekdolni. Mielott tovbbmennnk bevezetnk egy jellst:
Ha adott az X = X1 ; X2 ; : : : stacionrius forrs, akkor a k hossz zenetek B 
Xk halmaznak valsznusgn a kvetkezot rtjk:
P(B) = Pf(X1 ; : : : ; Xk ) 2 Bg:

A stacionarits miatt persze brmely k-hossz blokkot vehetnnk:


P(B) = Pf(Xn ; : : : ; Xn+k ) 2 Bg;

n = 1; 2; : : :

2.1. F ORRSKDOLS

63

EL ORT
HIBAVALSZN USGGEL

Ha x = (x1 ; : : : ; xk ) 2 Xk , s a szoksos
p(x) = PfX1 = x1 ; : : : ; Xk = xk g
jellst hasznljuk, akkor
P(B) =

p(x)

x2B

2.1. definci. Az X stacionrius forrs f : Xk ! Ym kdjt akkor mondjuk hibval (0 < < 1) dekdolhatnak, ha ltezik olyan f 0 : Ym ! Xk dekdol
fggvny, hogy a hibs dekdols valsznusge kisebb -nl, vagyis
Pf f 0 ( f (X1 ; : : : ; Xk )) 6= (X1 ; : : : ; Xk )g  :
M EGJEGYZS :
a) A dekdols hibjt a kvetkezo mdon rhatjuk fel:
Pf f 0 ( f (X1 ; : : : ; Xk )) 6= (X1 ; : : : ; Xk )g =

x: f 0 ( f (x))6=x

p(x):

b) Knnyen belthat, hogy az f : Xk ! Ym pontosan akkor dekdolhat hibval, ha f az Xk egy 1 -nl nagyobb valsznusgu B rszhalmazt
invertlhatan kpezi le. Ebbol kvetkezik, hogy akkor s csak akkor ltezik f : Xk ! Ym -hibval dekdolhat kd, ha ltezik olyan B  Xk ,
amelyre P(B) > 1 s jBj  sm .
Az elobbi megjegyzs szerint teht akkor kapunk a forrs k hossz blokkjait
lland szhosszsg, -hibval dekdolhat minimlis kdszhossz kdot, ha
keresnk egy minimlis szmossg B  Xk zenethalmazt, amelyre P(B) > 1 .
Legyen m olyan, hogy
sm 1 < jBj  sm ;
(2.3)
s gy a B-beli zeneteket klcsnsen egyrtelmuen kdolhatjuk az m hossz
kdszavakkal. A tbbi zenetet brhogy (pldul mindegyiket egyazon x 2 B
kdjval) kdolva, egy f : Xk ! Ym -hibval dekdolhat kdot kapunk ami
0
persze optimlis lesz, vagyis ha g : Xk ! Ym is -hibval dekdolhat, akkor
m  m0 .
Ilyen minimlis elemszm halmazt knnyen tallhatunk. Indexeljk a k
hossz zeneteket (sszesen l = nk darabot) valsznusgeik szerint cskkeno sorrendben:
p(x1 )  p(x2 )    p(xl );


2. F ORRSKDOLS H USGKRITRIUMMAL

64

s legyen N (k; ) az az index, amelyre


N (k;)

p (x i ) > 1

N (k;) 1

de

i=1

i=1

p(xi )  1

Ekkor nyilvn az elso N (k; ) zenet, vagyis a


N (k;)

Bk; =

fx i g

(2.4)

i=1

halmaz a kvnt minimlis elemszm, mivel semmilyen N (k; )-nl kisebb elemszm halmaz nem lehet 1 -nl nagyobb valsznusgu.
Ha teht az f : Xk ! Ym -hibval dekdolhat kd, akkor
N (k; )  sm ;
teht
L=

m
k

 k loglogN (sk )
1

(2.5)

Az L betunknti kdszhossz viselkedsre (a k blokkhossz nvelsvel) teht az


1
k log N (k; ) viselkedsnek vizsglatval kvetkeztethetnk. A rendkvl fontos
s meglepo (mivel -tl fggetlenl igaz)
1
log N (k; ) = H (X )
k! k
lim

sszefggst fogjuk bebizonytani a stacionrius forrsok egy jelentos osztlyra,


az informcistabilis forrsokra, majd ennek felhasznlsval kimondjuk s bizonytjuk az elort hibavalsznusgu forrskdols ttelt, amely formailag nagyon
hasonlt a vltoz szhosszsg forrskdols 1.9. ttelhez.
2.2. definci. Az X = X1 ; X2 ; : : : stacionrius forrst informcistabilisnak nevezzk, ha minden > 0-ra

1
lim P
log p(X1 ; : : : ; Xk )
k!
k





H (X ) > = 0;

vagyis az Yk = 1k log p(X1 ; : : : ; Xk ); k = 1; 2; : : : valsznusgi vltozk sorozata


valsznusgben (sztochasztikusan) tart H (X )-hez, ha k ! .

2.1. F ORRSKDOLS

EL ORT
HIBAVALSZN USGGEL

65

M EGJEGYZS :
a) Az X informcistabilitsa nagyjbl azt jelenti, hogy elg nagy k-ra, a k
hossz sorozatok 1-hez kzeli valsznusgu rszre, mondjuk az A  Xk -ra
igaz, hogy
1
log p(x)  H (X )
k
illetve
p(x)  2 kH (X) ;
ha x 2 A, valamint

jAj  2kH X

( )

Ezt a kijelentst ksobb pontostjuk majd, s ltni fogjuk, hogy a kdolsi


ttel lnyegben ezen az szrevtelen alapul.
b) Nem tl egyszeruen, de be lehet bizonytani, hogy a stacionrius s ergodikus forrsok informcistabilisak. Azt viszont most megmutatjuk, hogy ha
X = X1 ; X2 ; : : : emlkezetnlkli s stacionrius, akkor X informcistabilis:
Mivel X1 ; X2 ; : : : ; Xk fggetlenek s azonos eloszlsak,
Yk

=
=

1
log p(X1 ; X2 ; : : : ; Xk ) =
k
1
log ( p(X1 ) p(X2 )  p(Xk ));
k

vagyis
Yk =

1 k
( log p(Xi ));
k i
=1

ahol a log p(Xi )-k fggetlen, azonos eloszls valsznusgi vltozk. A


nagy szmok gyenge trvnye szerint ekkor az Y1 ; : : : ; Yk ; : : : sorozat valsznusgben konvergl az lXi -k kzs vrhat rtkhez, H (X1 ) = H (X )hez, teht X informcistabilis.
A kvetkezo ttelen alapul majd az elort hibavalsznusgu kdols ttele:
2.1. ttel. Ha az X stacionrius forrs informcistabilis, akkor
1
log N (k; ) = H (X )
k! k
lim

minden 0 < < 1 esetn.


2. F ORRSKDOLS H USGKRITRIUMMAL

66

B IZONYTS : Legyen a k pozitv egszre s > 0 tetszoleges vals szmra Ak;


a kvetkezo halmaz:


Ak; = x 2 X



H (X )


1
:
log p(x)
k

azaz x 2 Ak; pontosan akkor, ha


k(H (X)+)

 p(x)  2

k(H (X) )

Az Ak; elemeit szoks tipikus sorozatoknak hvni, mivel egyrszt a valsznusgk kzeltoleg 2 kH (X) , msrszt az Ack; sszvalsznusge kicsi.
Az Ak; elemeinek szmt a kvetkezokppen becslhetjk fellrol:
1  P(Ak; ) =

x2Ak;

vagyis

p(x)  Ak;  min p(x)  Ak;  2


x2Ak;



Ak;

 2k H X

( )+)

k(H (X)+)

(2.6)

Mivel az X informcistabilitsa pontosan azt jelenti, hogy P(Ak; ) ! 1, ha k !


, minden pozitv esetn, ezrt k elg nagy rtkeire P(Ak; ) > 1 teljesl.
Tudjuk viszont, hogy Bk; olyan halmaz, hogy nla kisebb elemszm halmaz
valsznusge nem lehet nagyobb 1 -nl, teht (2.6)-bl

N (k; ) = jBk; j  Ak;  2k(H (X)+)


kvetkezik, ha k elg nagy. Ebbol azt kapjuk, hogy
1
log N (k; )  H (X ) +
k
minden elg nagy k-ra, s mivel tetszoleges volt, ez azt jelenti, hogy
1
lim sup log N (k; )  H (X ):
k! k
Vlasszuk most k-t olyan nagynak, hogy
P Ak;

1+
2 < 1.) Ekkor,
c
B = k B), ezrt

tehetjk, hiszen
tere, vagyis

Xn

1+
2

mivel P Bck;


<

P Ak;

P Ak; \ Bk;

<

P Ak; \ Bk;




+P
+ ;

<

(2.7)

1+
2 teljesljn. (Ezt megc
(B a B halmaz komplemen-

>

Ak; \ Bck;

<

2.1. F ORRSKDOLS

67

EL ORT
HIBAVALSZN USGGEL

s innen

P Ak; \ Bk;

>

rhatjuk teht, hogy

1
2

P Ak; \ Bk;

<


Ak;

N (k; ) >

1
2


Bk; max p(x)

 jBk j 2
vagyis

 x2A

k;

k(H (X) )

 2k H X
(

( )

Ezt trendezve azt kapjuk, hogy


1
log N (k; ) > H (X )
k

1
1
log
k
2


;

ha k elg nagy. Mivel > 0 tetszoleges volt, ebbol kvetkezik, hogy


1
lim inf log N (k; )  H (X );
k! k
amibol (2.7)-tel egytt kvetkezik a ttel lltsa.
Most mr mindent tudunk az -hibavalsznusgu kdols ttelhez.
2.2. ttel. Legyen az X stacionrius forrs informcistabilis. Ekkor, ha az X
forrs k-hossz blokkjait -hibval (0 < < 1) kdoljuk lland mk hossz kdszavakkal, akkor kdok brmely ilyen tulajdonsg sorozatra
lim inf
k!

mk
k

 Hlog( s)
X

Msrszt, tetszoleges 0 < < 1 hibavalsznusghez s pozitv -hoz elg nagy k


esetn mindig ltezik olyan f : Xk ! Ymk -hibval dekdolhat kd, hogy
L=

mk
k

<

H (X )
+ :
log s


2. F ORRSKDOLS H USGKRITRIUMMAL

68

B IZONYTS : Ha f : Xk ! Ymk -hibval dekdolhat kd, akkor (2.5) szerint


mk
k

 k loglogN (sk )
1

(X)
s itt a jobb oldal az elozo ttel szerint Hlog
o
s -hez tart k ! esetn, teht az els
lltst belttuk.
A msodik llts bizonytshoz legyen

mk =

log N (k; )
log s

(2.8)

ahol az dxe jells az x vals szm felso egsz rszt jelenti. Ekkor a 2.1. ttel
miatt ltezik olyan k0 , hogy
k0 >

2
;

log N (k; ) < H (X ) + log s;


k
2

ha

k > k0 :

(2.9)

Ekkor (2.8) s (2.9) szerint


mk
k

1
k

log N (k; )
+1
log s


<

H (X ) 1
+ +
log s
2 k

<

H (X )
+
log s

ha k > k0 , amivel a msodik lltst is bebizonytottuk.


A 2.2. ttel tulajdonkppen azt mondja ki, hogy nem lehetsges tetszolegesen
nagy blokkokat kdol -hibval dekdolhat olyan kdot konstrulni, melynek
(X)
ol tetszobetunknti tlagos kdszhossza kisebb Hlog
s -nl, de ezt az rtket fellr
legesen megkzelthetjk, ha elg nagy blokkhosszt (k) hasznlunk.
Vizsgljuk most a problmt ms szempontbl. Krdezhetjk azt, hogy ha a
betunknti tlagos kdszhosszat lland rtken tartjuk, mi trtnik a dekdols
hibjval a k blokkhossz nvelsvel. Vezessk be az
R=

m
log s
k

jelsebessget, ami megadja, hogy ha az N = sm darab kdszt binrisan reprezentljuk, akkor forrsbetunknt tlagosan hny bitet hasznlunk fel. Mivel az mhossz kdszavakkal N = sm kdszt lehet egyrtelmuen dekdolhatan kdolni,
ezrt az R jelsebessgu, k-hossz blokkokat kdol kdok kzl az a legjobb (legkisebb hibval dekdolhat), amelyik az Xk elso N = 2kR legnagyobb valsznusgu elemt kdolja egyrtelmuen (a tbbi zenetet tetszolegesen). Teht ha az

2.1. F ORRSKDOLS

69

EL ORT
HIBAVALSZN USGGEL

Xk elemei valsznusgeik szerint cskkeno sorrendben vannak indexelve, akkor


a legjobb ilyen kd hibavalsznusgre
Pe (k; R) =

i2kR

p(xi )

(2.10)

addik.
2.3. ttel. Ha az X stacionrius forrs informcistabilis, akkor a legfeljebb R
jelsebessgu, k hossz blokkokat lland szhosszon kdol, legkisebb hibval
dekdolhat kd hibavalsznusgre igaz a kvetkezo:
k!

lim Pe (k; R) = 0;

ha R > H (X );

lim Pe (k; R) = 1;

ha R < H (X );

s
k!

vagyis R > H (X ) esetn elg hossz blokkokat kdolva a dekdols hibja tetszolegesen kicsiv teheto, mg R < H (X ) esetn a blokkhosszt nvelve a dekdols
hibja 1-hez tart, azaz a kd hasznlhatatlann vlik.
B IZONYTS : Legyen Rk = mkk log s az f : Xk ! Ymk minimlis betunknti tlagos kdszhossz, -hibval dekdolhat kd jelsebessge, s legyen R > H (X ).
A 2.2. ttel msodik fele szerint
lim sup Rk  H (X ):
k!

Mivel R > H (X ), ezrt ltezik olyan (-tl fggo) k0 index, hogy Rk


k > k0 . Ebbol (2.10) szerint

<

R, ha

Pe (k; Rk )  Pe (k; R)
kvetkezik, vagyis
Pe (k; R) < ;
ha k > k0 , s mivel tetszolegesen kicsi lehet, a ttel elso felt belttuk.
Legyen most R < H (X ). Tegyk fel, hogy a ttel msodik lltsa nem teljesl. Ekkor ltezik egy olyan ki ! sorozat, hogy Pe (ki ; R) < (i = 1; 2; : : :)
valamilyen < 1 pozitv szmra. Egy ilyen R jelsebessgu, ki -hossz blokkokat
kdol kd tlagos kdszhossza persze
L=

mki
ki

 logR s


2. F ORRSKDOLS H USGKRITRIUMMAL

70
teht
lim inf
i!

mki
ki

 logR s

<

H (X )
;
log s

ami ellentmond a 2.2. ttel elso lltsnak, mivel ezek a kdok -hibval dekdolhatak.
Ha X emlkezetnlkli s stacionrius, akkor a Pe (k; R) hibavalsznusgre
a 2.3. ttelnl erosebb lltst is be lehet bizonytani. Nevezetesen azt, hogy ha
R > H (X ), akkor Pe (k; R) exponencilisan tart 0-hoz; s R < H (X ) esetn pedig
1 Pe (k; R) tart exponencilisan a 0-hoz, ha k ! .

2.2. Kvantls
A digitlis mdszereket a hrkzls szinte minden terletn alkalmazzk. Minden esetben, amikor az adatok feldolgozsa digitlisan trtnik, a folytonos rtkkszletu jelet vges rtkkszletuv kell alaktani. A digitalizls elvi hatrait
az utols szakaszban tisztzzuk, de az egyrtelmu, illetve az -hibavalsznusgu
dekdolhatsggal ellenttben az elmlet nem konstruktv. Az alkalmazott, teht
konstruktv digitalizls legegyszerubb mdja a skalr (egydimenzis) kvantls.
Legyen X = X1 ; X2 ; : : : egy stacionrius forrs, ahol az Xi -k vals valsznusgi vltozk. Az X egydimenzis kvantltjn egy vges rtkkszletu Q : R ! R
lekpezssel kapott Q(X1 ); Q(X2 ); : : : diszkrt valsznusgi vltozsorozatot (forrst) rtnk. A Q() fggvnyt kvantlnak nevezzk. Vegyk szre, hogy a
kvantls az elozo fejezet rtelmben egy k = 1 hossz blokkokat kdol forrskd (azaz betunknti kd), melynek reprodukcis bcje a forrsbc (a vals
szmok) egy vges rszhalmaza. Termszetesen az a clunk, hogy az X -et huen
reprezentljuk. A kdols husgt egy specilis husgmrtkkel, a D(Q) ngyzetes torztssal mrjk n hossz blokkokra:
D(Q) =

1
E
n

(Xi

Q(Xi ))2

i=1

ami, mivel Xi -k azonos eloszlsak, egyenlo a kvetkezovel:


D(Q) = E (X

Q(X ))2

(2.11)

ahol X ugyanolyan eloszls mint az Xi -k. (Termszetesen ms husgmrtket is


vlaszthattunk volna, de a gyakorlatban ez a legelterjedtebb.)
Legyen a Q kvantl rtkkszlete az fx1 ; x2 ; : : : ; xN g halmaz, ahol az xi -k
vals szmok. Az xi szmokat kvantlsi szinteknek nevezzk. Vegyk szre,

71

2.2. K VANTLS

hogy Q-t egyrtelmuen lerjk az fx1 ; x2 ; : : : ; xN g kvantlsi szintek s a Bi =


fx 2 R : Q(x) = xig, i = 1; : : : ; N kvantlsi tartomnyok. A Bi halmazok persze
diszjunktak s egyestsk kiadja az egsz vals egyenest. A kvantl mukdse
ezrt a kvetkezokpp rhat le:
Q(x) = xi ;

ha x 2 Bi :

Tegyk most fel, hogy a kvantlt ler adatok kzl most csak az fx1 ; x2 ; : : : ; xN g
kvantlsi szinteket ismerjk. Ekkor az ilyen kvantlsi szinteket hasznl kvantlk kzl a legkisebb torzts az a Q kvantl, amelyre

Bi = fx : jx

xi j  jx

x j j; j = 1 ; 2 ; : : : ; N g

(2.12)

(legkzelebbi szomszd felttel), ahol a dntsi szablyt gy tehetjk egyrtelmuv (vagyis a Bi -ket diszjunktakk), hogy ha egy adott x ketto vagy tbb Bi -be
tartozna, akkor a legkisebb indexuhz soroljuk. Az adott kvantlsi szintekkel Q
valban legkisebb ngyzetes torzts, hiszen ha Q egy msik kvantl ugyanezen kvantlsi szintekkel, akkor egy tetszoleges x-re Q(x) = xi (teht x 2 Bi ) s
Q (x) = x j valamely 1  i; j  N indexekre, de ekkor (2.12) szerint

jx
teht
(x

xi j  jx

Q(x))2  (x

x j j;
Q (x))2

teljesl minden x 2 R -re amibol D(Q)  D(Q ) kvetkezik. Ezrt a kvetkezokben csak a (2.12) szerinti kvantlkkal foglalkozunk. Az ilyen kvantlk Bi kvantlsi tartomnyai nagyon egyszeruen nznek ki. Az ltalnossg megszortsa
nlkl tegyk fel most, hogy a kvantlsi szintek nagysg szerint rendezve vannak, vagyis x1 < x2 <  < xN . Ekkor, bevezetve az yi = xi +2xi+1 ; i = 1; : : : ; N 1
jellst, a (2.12) szerinti Bi halmazok a kvetkezo intervallumok lesznek:

B1 = (

Bi = (yi

; y1

1 ; y i ;

i = 2; : : : ; N

1;

BN = (yN

1 ; ):

Egy ilyen, N = 5 szintu kvantlt brzol a 2.1. bra.


Az optimlis kvantlsi szint egy adott tartomnyhoz annak slypontja. Ugyanis a Steiner-ttel miatt tetszoleges c konstansra
E (X

c)2 j X


= E (X

2 Bi
E(X

j Bi))2 j X 2 Bi


+ (E (X

j Bi )

c)2 ;


2. F ORRSKDOLS H USGKRITRIUMMAL

72

Q(x)
6

x5
x4

x3
-

y1

y2

y3

y4

x2

x1

2.1. bra. Kvantl N = 5 kvantlsi szinttel.


teht az
R

Bi

1
f (x) dx

Z
(x

Bi

xi )2 f (x) dx = E (X

xi )2 j X

2 Bi

akkor minimlis, ha
R

x f (x) dx

B
xi = Ri
f (x) dx
Bi

= E(X

j X 2 Bi)

ami a slypont.
A technikai nehzsgek elkerlse vgett a tovbbi vizsglataink sorn felteszszk, hogy a kvantlt X vals valsznusgi vltoz eloszlsa abszolt folytonos f
surusgfggvnnyel, valamint azt is feltesszk, hogy f a [ A; A intervallumban
folytonos, a [ A; A intervallumon kvl nulla rtku fggvny. Az f -et felhasz-

73

2.2. K VANTLS

nlva a kvantl ngyzetes torztsa a kvetkezokpp rhat fel:


Z

D(Q) =

N Z

Q(x)) f (x) dx =
2

(x

(x

Bi

xi )2 f (x) dx:

i=1

A legegyszerubb kvantl az egyenletes kvantl. A QN N-szintu egyenletes


kvantlt gy kapjuk, hogy az X lehetsges rtkeinek halmazt, a [ A; A intervallumot, N egyenlo nagysg intervallumra osztjuk (ezek a Bi intervallumok), s
a kvantlsi szinteket ezen intervallumok kzepn helyezzk el. Formlisan teht
QN (x) =

A + (2i

1)

A
;
N

ha

A
A
<x 
A + 2i ;
i = 1; : : : ; N :
N
N
A kvetkezo ttel megmutatja, hogy az N szintu egyenletes kvantl ngyzetes

1 2A 2
torztsa nagy N esetn kzeltoleg 12
.
N
A + 2(i

1)

2.4. ttel. Ha az X valsznusgi vltoz f surusgfggvnyre a fenti felttelek


teljeslnek, akkor az X -et egyenletesen N szinten kvantl QN kvantl torztsra
a
 2
N
1
D(QN ) =
lim
N ! 2A
12
aszimptotikus sszefggs teljesl.
Mivel az N-szintu egyenletes kvantlsnl egy 2A hossz intervallumot osztottunk N egyenlo rszre, egy kvantlsi intervallum hossza qN = 2A
N . A ttel teht

azt lltja, hogy nagy N-ekre D(QN ) 

q2N
12 .

B IZONYTS : Legyenek yN ;i = A + 2i NA ; i = 0; : : : ; N ; xN ;i = A + (2i 1) NA ,


i = 1; : : : ; N, az N-szintu egyenletes kvantl intervallumainak hatrai illetve kvantlsi szintjei. gy a torzts
N

D(QN ) =

i=1y

ZyN i
;

(x

xN ;i )2 f (x) dx:

N ;i 1

Definiljuk az fN (x) szakaszonknt konstans surusgfggvnyeket a kvetkezokpp:


ZyN i
;

f N (x ) =

1
qN

f (z) dz;
y N ;i

ha x 2 (yN ;i ; yN ;i

1 :


2. F ORRSKDOLS H USGKRITRIUMMAL

74

Szmtsuk ki az fN (x) szerinti torztst, D (QN )-et. Mivel az fN (x) konstans a


(yN ;i ; yN ;i 1 intervallumokon, azt kapjuk, hogy
ZyN i
;

D (QN )

i=1y

1
qN
i=1

ZyN i

ZyN i

yN ;i

12

x2 dx =

f (z) dz
yN ;i

xN ;i )2 dx =

qN
Z2

ZyN i

q2N N
12 i
=1
q2N

(x

yN ;i

1
;

1
qN
i=1

qN
2

ZyN i

yN ;i

f (z) dz

xN ;i )2 fN (x) dx =

N ;i 1

(x

f (z) dz =
1

(2.13)

A ttelt teht belttuk, ha be tudjuk bizonytani, hogy


D(QN ) D (QN )
N !
D (QN )
lim

D(QN ) D (QN )
N !
q2N =12
lim

= 0:

(2.14)

Ennek bizonytsnl hasznljuk ki az f (x) folytonossgt. Mivel az f (x) a [ A; A


intervallumban folytonos, ezrt itt egyenletesen folytonos, teht mivel qN ! 0, ha
N ! , adott > 0 esetn elg nagy N-re

j f (x )

f (y)j < ;

ha x; y 2 (yN ;i

1 ; yN ;i ;

i = 1; : : : ; N :

Ekkora N-ekre teht j f (x) fN (x)j < teljesl.


Ilyen nagy N-ekre rhatjuk teht, hogy
12
jD(QN )
q2N

D (QN )j =



ZyN i
12 N
= 2
(x
qN i=1
y
;

xN ;i )2 f (x) dx

 q122

N i=1y

(x
N ;i 1

i=1y

N ;i 1

ZyN i

xN ;i )2 j f (x)

ZyN i
;

(x
N ;i 1

fN (x)j dx 




2
xN ;i ) fN (x) dx

75

2.2. K VANTLS
3

 q122 N q12N =
N

= 2A;

(2.15)

ahol a msodik egyenlotlensgnl kihasznltuk, hogy j f (x) fN (x)j < , s hogy


xN ;i -k az (yN ;i ; yN ;i 1 intervallumok kzepn vannak. Mivel tetszoleges volt,
ezrt (2.15) bizonytja (2.14)-et s ezzel a ttelt belttuk.
A jelsebessg 2.11. szakasz szerinti defincijval az N-szintu kvantl
mint forrskd jelsebessge R = log N-nek addik, vagyis egy Xi kvantlt
Q(Xi ) rtkt log N bit felhasznlsval tovbbthatjuk illetve trolhatjuk. Vegyk szre azonban, hogy a Q(X1 ); Q(X2 ); : : : valsznusgi vltozk sorozata
egy diszkrt stacionrius forrs. gy teht a Q(X1 ); Q(X2 ); : : : forrsra, mondjuk
binris kdbct hasznlva, vltoz szhoszsg kdolst alkalmazhatunk, s
az 1.9. ttel szerint egy ilyen kd tlagos kdszhossza a Q(X1 ); Q(X2 ); : : : forrs
entrpijt fellrol tetszolegesen megkzeltheti. A forrs entrpija az 1.6. definci utni megjegyzs szerint H (Q(X1 )), amire tudjuk, hogy H (Q(X1 ))  log N,
teht ha a Q(Xi )-k nem egyenletes eloszlsak, akkor tovbbi tmrtst rhetnk el. Ebben az esetben teht a kvantl entrpija is rdekel minket, nem csak
a torztsa. A kvetkezo ttel egy aszimptotikus sszefggst ad az egyenletes
kvantl szintjeinek szma s entrpija kztt.
2.5. ttel. Tegyk fel, hogy az X valsznusgi vltoz f surusgfggvnye csak
a [ A; A intervallumon bell klnbzik nulltl, s f folytonos [ A; A-ban.
Tegyk fel tovbb, hogy a
ZA

H( f ) =

f (x) log f (x) dx


A

integrl vges. Ekkor az X N -szintu egyenletes kvantlsnak H (QN (X )) entrpijra




2A
= H ( f ):
lim H (QN (X )) + log
N !
N
A ttel teht azt lltja, hogy a kvantlsi szintek N szmnak nvekedsvel az egyenletes kvantl entrpijra a H (QN (X ))  H ( f ) log qN kzelts
rvnyes.
B IZONYTS : A bizonyts sorn a 2.4. ttel bizonytsban bevezetett jellseket fogjuk hasznlni. Mivel f folytonos, ezrt a differencilszmts Lagrangefle kzprtkttelt alkalmazva az F (x) =

Rx

f (z) dz derivlhat fggvnyre,


2. F ORRSKDOLS H USGKRITRIUMMAL

76

azt kapjuk, hogy lteznek N ;i 2 (yN ;i ; yN ;i


ZyN i

szmok, amelyekre

f (x) dx = (yN ;i
yN ;i

1 ) f (N ;i ) = qN f (N ;i );

yN ;i

i = 1; : : : ; N :

(2.16)

Ezek szerint teht


N

H (QN (X ))

PfQN (X ) = xi g log PfQN (X ) = xi g =

i=1

0 y
1
0 y
1
ZN i
ZN i
 f (x) dxA log  f (x) dxA =
;

i=1

yN ;i

yN ;i

qN f (N i) log (qN f (N i)) =

i=1
N

qN f (N ;i) log qN

qN f (N i) log f (N i)
;

i=1

(2.17)
:

i=1

Ekkor egyrszt (2.16) szerint


N

qN f (N i) log qN = (
;

i=1

ZyN i
;

log qN )

i=1y

f (x) dx =

log qN ;

(2.18)

N ;i 1

msrszt
N

lim

N !

qN f (N i) log f (N i) =
;

ZA

f (x) log f (x) dx;

i=1

(2.19)

mivel a bal oldal a jobb oldali integrl Riemann kzelto sszege. sszevetve
(2.17)-et (2.18)-cal s (2.19)-cel, a ttel lltsa addik.
Ha a 2.4. s 2.5. tteleket sszevetjk, akkor knnyen belthat a


lim H (QN (X )) + log

N !

12D(QN )

= H( f )

aszimptotikus sszefggs az egyenletes kvantls torztsa s entrpija kztt.


Ezt gy is fogalmazhatjuk, hogy
H (QN (X ))  H ( f )

log

12D(QN )

77

2.2. K VANTLS

nagy N-ek, vagyis finom (kis lpskzu) kvantls esetn, ami egy hasznos kzelts lehet egyenletes kvantl tervezsnl.
A H ( f ) differencilis entrpia teht a finom, egyenletes kvantl kimenetnek a tmrthetosgt mri, azaz valamilyen rtelemben az eloszls terjedelmt.
Megmutatjuk, hogy adott szrs f surusgfggvnyek kzl a normlis eloszls surusgfggvnyre a legnagyobb a H ( f ) differencilis entrpia. Eloszr
megmutatjuk, hogy ha f (x) s g(x) kt, olyan folytonos surusgfggvny, amelyre
az
Z
f (z)
f (z) log
dz
g(z)
integrl ltezik s vges, akkor ez az integrl nemnegatv, s 0 akkor s csak akkor,
ha f (x)  g(x).
Legyen X egy valsznusgi vltoz f (x) surusgfggvnnyel, s legyen Z =
g(X )
usgi vltoz. Alkalmazzuk erre a Jensen-egyenlotlensf (X ) egy msik valszn
get a log z konvex fggvnnyel:
E( log(Z ))

g(x)
log
f (x) dx
f (x )


Z
g(x)
log
f (x) dx
f (x )
Z
f (x)
f (x) log
dx
g(x)




log(EZ )
Z

g(x)
log
f (x) dx
f (x )

log

Z

g(x) dx

Az egyenlosg felttele szintn a Jensen-egyenlotlensgbol valamint f s g folytonossgbl kvetkezik.


Legyen most f (x) egy olyan surusgfggvny, amelynek vrhat rtke 0,
szrsa , s (x) a 0 vrhat rtku s szrs normlis eloszls surusgfggvnye, azaz
x2
1
e 22 :
(x) = p
2
Bebizonytjuk, hogy
Z

(x) ln(x) dx 

amibol kvetkezik, hogy

f (x) ln f (x) dx;

H ( )  H ( f ) :

Vegyk szre, hogy


Z

(x) dx =

f (x) dx = 1


2. F ORRSKDOLS H USGKRITRIUMMAL

78
Z

(x)x dx =

miatt

(x) ln(x) dx +
Z

f (x)x2 dx = 2

f (x) ln f (x) dx =

1
x2
(x) ln p
dx + f (x) ln f (x) dx =
2 22
Z
Z
Z
1
1
2
= ln p
(x) dx + 2 (x)x dx + f (x) ln f (x) dx =
2
2
Z
Z
Z
1
1
= ln p
f (x) dx + 2 f (x)x2 dx + f (x) ln f (x) dx =
2
2


Z
Z
1
x2
f (x) ln p
dx + f (x) ln f (x) dx =
=
2 22
Z
f (x)
f (x) ln
dx;
=
(x)

ami nemnegatv.
Ebbol az is kvetkezik, hogy
H( f )


=
=
=

H ( ) =
Z

1
x2
(x) log p
log e dx =
2 22
p
 1
log
2 + log e =
2

1
log 2e2 :
2

Hasonl technikval megmutathat, hogy az adott vrhat rtku s a nemnegatv flegyenesre koncentrlt surusgfggvnyek kzl az adott vrhat rtku,
exponencilis surusgfggvnynek a legnagyobb a differencilis entrpija (2.7.
feladat).

A LloydMax-algoritmus
Nem egyenletes kvantl tervezsnl azt a technikt alkalmazzuk, hogy az
tlagos torzts cskkentshez a bemenetet pontosabban kzeltjk a nagyobb valsznusgu tartomnyokban, mg a kis valsznusgu tartomnyokban rosszabb
kzeltst engednk meg, mint egyenletes kvantls esetn. Ezt gy tehetjk meg,
hogy a nagyobb valsznusgu helyeken a kvantlsi intervallumokat kisebbnek

79

2.2. K VANTLS

vlasztjuk. Amennyiben az intervallumok szma konstans, ez egyben azt is jelenti, hogy a kisebb valsznusgu helyeken nagyobb intervallumhosszakkal dolgozunk. (Ez hasonlatos ahhoz, hogy vesztesgmentes tmrts esetn az tlagos
tmrtsi arny javtshoz a kisebb valsznusggel elofordul forrsszavakhoz
hosszabb kdszavakat rendelnk.)
Egy adott X valsznusgi vltozhoz keressk az N szintu, optimlis Q kvantlt. Feladatunk az x1 < x2 <  < xN kvantlsi szintek s a Q(X ) fggvny
meghatrozsa gy, hogy a D(Q) ngyzetes torzts minimlis legyen. Bebizonythat, hogy egy optimlis kvantl kielgti az albbi kt szksges felttelt:
1. Legkzelebbi szomszd felttel:

jx

Q(x)j = min jx
1iN

xi j

8x 2

R;

vagyis minden vals x kvantlt Q(x) rtke legalbb olyan kzel van x-hez,
mint brmely msik kvantlsi szint.
2. Slypont felttel:
Minden x j kvantlsi szint megegyezik azon Xi mintk tlagval, amelyeket
erre a szintre kvantlunk (Q(Xi ) = x j ).
Az 1. s 2. felttelt egytt LloydMax-felttelnek nevezzk, az ezt kielgto
kvantlt pedig LloydMax-kvantlnak. Ha egy kvantl nem elgti ki a Lloyd
Max-felttel brmelyik rszt, akkor lehetsges egy olyan kvantlt kszteni,
amelynek ngyzetes torztsa kisebb, teht egy nem LloydMax-kvantl nem
lehet optimlis, de ltezik nem optimlis LloydMax-kvantl is.
2.1. plda. Legyen az X valsznusgi vltoz az f1; 2; 3; 4g halmazon egyenletes
eloszls. Pontosan 3 fle 2-szintu LloydMax-kvantlt alkalmazhatunk erre:
Q1 (1) = 1;

Q1 (2) = Q1 (3) = Q1 (4) = 3

Q2 (4) = 4;

Q2 (1) = Q2 (2) = Q2 (3) = 2

Q3 (1) = Q3 (2) = 1:5;

Q3 (3) = Q3 (4) = 3:5

Q1 s Q2 ngyzetes torztsa egyarnt 0:5, mg Q3 - 0:25. Annak ellenre, hogy


mindhrom LloydMax-kvantl, csak Q3 optimlis.
Feltesszk, hogy a kvantland X vals valsznusgi vltoz eloszlsa az
abszolt folytonos f surusgfggvnnyel adott. Ekkor a LloydMax-felttel az
albbiak szerint alakul:


2. F ORRSKDOLS H USGKRITRIUMMAL

80

1. Legkzelebbi szomszd felttel:


xi + xi+1
;
i = 1; 2; : : : ; N 1;
2
ahol yi 1 s yi annak az intervallumnak a kt vgpontja, amelyet xi szintre
kvantlunk. (Az nyilvnval, hogy minden kvantlsi tartomny intervallum.)
yi =

2. Slypont felttel:
Ryi

xi =

yi

x f (x) dx

Ryi
yi

i = 1; : : : ; N ;

f (x) dx

vagyis minden kvantlsi szint a sajt kvantlsi intervallumnak slypontja.


2.6. ttel (Fleischer). Legyen az f (x) surusgfggvny pozitv rtku s logaritmikusan konkv (vagyis log f (x) legyen konkv). Ekkor egyetlen N-szintu
LloydMax-kvantl ltezik az f (x)-re, gy ez egyben az egyetlen optimlis kvantl is az f (x)-re.
2.2. plda. Legyen f (x) az egyenletes eloszls surusgfggvnye [a; b-n. Knynyu ellenorizni, hogy az N-szintu egyenletes kvantl az [a; b intervallumon kielgti a LloydMax-felttelt az f (x)-re. Az egyenletes eloszls logaritmikusan konkv, ezrt az N-szintu egyenletes kvantl az egyetlen optimlis N-szintu
kvantl az egyenletes eloszlsra.
Az algoritmus:
A kvantlt egyrtelmuen jellemzik az xi kvantlsi szintek s a Bi = (yi 1 ; yi
tartomnyok. Clunk a szintek s az intervallumhatrok javtsa lpsrol lpsre.
1. Vegynk fel egy kzeltst a kvantlsi szintekre.
2. Optimalizljuk a kvantlt a kvantlsi szintek szerint, vagyis hatrozzuk
meg az intervallumhatrokat a legkzelebbi szomszd felttel kielgtsvel.
3. Szmtsuk ki, hogy mennyivel cskkent a torzts, s ha ez egy elore meghatrozott kszbrtknl kisebb, akkor kszen vagyunk.
4. Optimalizljuk a kvantlt az imnt kapott intervallumokhoz, vagyis alkalmazzuk a slypont felttelt, s folytassuk az algoritmust a 2. ponttl.

81

2.2. K VANTLS

kompresszor
y = G(x)

kdol
xi = Q(y)

|
y = G(x)

expander

dekdol

- ye

= Q 1 (x i )

{z

- xe

e)
= G 1 (y

kvantl
x=G

1 (y)

-x

-y

2.2. bra. Kompanderes kvantl.

Kompanderes kvantl
A kvantlsra a gyakorlatban ltalban olyan alkatrszek rhetok el, melyekkel egyenletes kvantlst valsthatunk meg. Ebben az esetben a kvantlt rtket
kell tmrteni. Gyakran ezt nem akarjuk megtenni, sokkal inkbb azt szeretnnk,
hogy rgztve a kvantlsi szintek szmt, N-et, minimalizljuk a ngyzetes torztst. Ezt gy tesszk, hogy a kvantland
jelet egy monoton nvekedo fggvny
1 1
nyel, a kompresszorral a
2 ; 2 -be kpezzk, ott alkalmazunk egy egyenletes
kvantlt, s a kvantlt rtket a kompresszor inverzvel (az expanderrel) viszszatranszformljuk (2.2. bra). (kompander = kompresszor + expander)
A leggyakrabban alkalmazott nemegyenletes kvantlk a logaritmikus kompresszor karakterisztikt hasznl eszkzk, amelyek a tvkzlo hlzatokban a
beszdkdolst vgzik a 60-as vek ta. Azrt alkalmaznak logaritmikus kvantlst, mert az emberi beszdben a kis amplitdj jelek az rthetosg szempontjbl rendkvl fontosak, ezrt a leheto legnagyobb pontossggal kell ezeket kvantlni, mg a nagy amplitdj jelek esetben a tl nagy jelszintet kell megakadlyozni. A beszdkdolsban ktfle kompander hasznlatos: a -law s az A-law.
Az elobbi az Egyeslt llamokban, Kanadban s Japnban elterjedt. Kompreszszor ill. expander fggvnye:
G (x)

G 1 (x)

ln (1 + jxj)
sgn x
1x1
ln (1 + )

1
jxj 1 sgn x
(1 + )
1x1

A paramter rtkt ltalban 255-nek vlasztjk.


2. F ORRSKDOLS H USGKRITRIUMMAL

82

0.6

0.4

0.2

0.1

0.08

0.06

0.04

0.02

0.02

0.04

0.06

0.08

0.1

0.2

0.4

0.6

2.3. bra. A-law s -law kompresszor fggvnyek.


Az Eurpban, Afrikban, Ausztrliban s Dl-Amerikban alkalmazott Alaw kompandere az albbi (A = 87:6):
8
<

GA (x)

Ajxj
1+ln A sgn x;

: 1+ln jAxj
1+ln A

sgn x;

8
ln Aj
< jxjj1+
sgn x;
A
1
GA (x) =
: ejxj(1+ln A) 1
A

sgn x;

0  jx j <
1
A

1
A

 jx j  1
0  jx j <
1
1+ln A

1
1+ln A

 jx j  1

Az alapveto klnbsg az A-law s a -law karakterisztika kztt, hogy az Alawnak kicsit szlesebb a dinamikatartomnya (rtkkszletnek terjedelme), mg
a -lawnak egy kicsit kisebb az alapzaja. A 2.3. brn lthat a kt kompresszor
fggvny. A klnbsg csak a 0-hoz kzeli tartomnyban figyelheto meg, ezrt
a [ 0:1; 0:1 intervallumban brzoltuk a o ket (a vzszintes tengelyhez kzelebb
halad grbe az A-law, mg a tvolabbi a -law).
A finom, egyenletes kvantl ngyzetes torztsa kiterjesztheto a kompanderes esetre. Jellje G(x) a kompresszort s g(x) = G0 (x) a derivltjt. Legyenek
1
2

= y0

<

y01 <  < y0N

1
2

83

2.2. K VANTLS

a transzformlt intervallumban a kvantlsi hatrok, y0i


1

yi = G

(y i ) ;

y0i

i = 1; 2; : : : ; N

0 1
1 = q = N,

a vals kvantlsi hatrok. Ekkor az i-edik kvantlsi lpcso nagysga


qi = y i

yi

1:

A (2.13)-hoz hasonlan belthatjuk, hogy


D(QN ) ' D (QN )

y
N Zi

i=1y

f (z) dz

q2i
12

i 1

Ryi
=

f (z) dz

1 N
yi 1


2
12N i=1 G(yi )
yi

valamilyen yi

1 N
12N 2 i
=1

1
yi yi

G(yi 1 )
yi 1
Ryi

f (z) dz

yi

Ryi

1
yi yi

2 =

yi

!2 (yi

yi

1) =

g(z) dz

1 N f (z i )
(y i
12N 2 i
g2 (zi )
=1

yi

1)

 zi  yi-re. A
N

f (zi )

g2 (zi) (yi

yi

1)

i=1

az

f (z )
dz
g2 (z)

egy integrlkzelto-sszege. Azt kaptuk, hogy


D(QN ) '

1
12N 2

f (z)
dz:
g 2 (z )

Ismerve az f (x) surusgfggvnyt, megkereshetjk az optimlis kompandert.


Ehhez felhasznljuk a Hlder-egyenlotlensget.


2. F ORRSKDOLS H USGKRITRIUMMAL

84

2.1. lemma (Hlder-egyenlotlensg). Legyen p; q  1 gy, hogy


kor, ha h1 (x) s h2 (x) kt olyan fggvny, hogy
Z

jh1(x)j

Z
p

dx

1
1
p + q = 1.

Ek-

jh2(x)jq dx

vges, akkor
Z



h1 (x)h2 (x) dx

Z

jh1(x)j

 1 Z
p

dx

jh2(x)j

1

Alkalmazzuk a Hlder-egyenlotlensget p = 3; q =

3
2;

dx

h 1 (x ) =

f (x)
g2 (x)

1
3

h2 (x) = g2=3 (x) szereposztsban:


Z

1=3

(x) dx

h1 (x)h2 (x) dx 

Z
Z

Z
=

ahol kihasznltuk, hogy


hogy

 1 Z
3

h31 (x) dx
f (x)
dx
g2 (x)
f (x)
dx
g2 (x)

2
3=2
h2 (x) dx

 1 Z

2

g(x) dx

1
3

g(z) dz = G() G( ) = 12
f (x)
dx 
g2 (x)

1
2

= 1.

Azt kaptuk,

3

Z

1=3

(x) dx

s visszahelyettestssel ellenorizhetjk, hogy ezt az optimumot akkor rhetjk el,


ha
f 1=3 (x)
g (x) = c f 1=3 (x) = R 1=3
;
f (z) dz
kvetkezskpp

Rx

G (x) =

+
R
2

f 1=3 (z) dz
:

f 1=3 (z) dz

85

2.2. K VANTLS

Vektorkvantls
A forrs kimenetnek tbbdimenzis eloszlst felhasznlva kisebb torztst
rhetnk el ugyanakkora bit/minta arny mellett vektorkvantlssal. A forrsszimblumok egyenknti kvantlsa helyett (ahogyan azt skalr kvantl esetn tettk)
szekvencikat, vektorokat kpeznk belolk, s ezeket egytt kvantljuk. (Tekintsk pldul a ktdimenzis esetet. Skalr kvantl alkalmazsa esetn egymsra meroleges tengelyeket felttelezve tglalap alak tartomnyokat kapunk
a skban, mg vektorkvantlval brmilyen szablytalan skidom alak (pldul
kr) tartomnyok kialakthatk.)
Tegyk fel, hogy a forrsunk emberek magassg- s tmegadatait generlja.
Ezek pldul 100 s 200 cm, illetve 20 s 120 kg kz esnek. Ha sszesen 6
biten szeretnnk kvantlni az adatainkat, s skalr kvantlt alkalmazunk, akkor
3-3 bit jut a magassgra s a tmegre egyarnt. Az intervallumokat 8 egyenlo
rszre osztva, azok kzepn kijellve a szinteket (a szemlletessg kedvrt ktdimenzis koordintarendszerben brzolva az gy lehetsges kvantlsi pontokat:
magassgtesttmeg koordintj pontok), egy (22 kg, 197 cm) adatprt ugyanolyan torztssal kvantlunk, mint egy (70 kg, 180 cm)-est. Holott nyilvnvalan az
elobbi adatpr nem fog elofordulni, mg az utbbi gyakori lesz. Vektorkvantls
alkalmazsval megtehetjk, hogy pldul a statisztikai vizsglatok szerint leggyakoribb magassgtesttmeg egyenes krnyezetben biztostunk kis torztst,
mg a gyakorlatilag lehetetlen adatprok esetben megengednk nagyobb torztst is.
Legyen X egy d-elemu forrsvektor f (x) surusgfggvnnyel. A d-dimenzis
vektorkvantl egy Q(x) fggvny, amely az x 2 R d bemenetet az x1 ; x2 ; : : : ; xN 2
d vektorok egyikbe kpezi le. A kvantlt egyrtelm
uen jellemzi az N kiR
meneti vektor, s a hozzjuk tartoz B1 ; B2 ; : : : ; BN tartomnyok, amelyek R d
egy partcijt alkotjk (diszjunktak, s lefedik R d -t), teht Q(x) = xi , ha x 2 Bi ,
i = 1; 2; : : : ; N. A torzts vizsglatra tovbbra is a ngyzetes torztsi mrtket
fogjuk hasznlni:
D(Q) =

1
EkX
d

Q(X)k

1 N
d i
=1

Bi

x2

kx

xi k2 f (x) dx

ahol kk az euklidszi norma.


Vektorkvantl tervezse adott torztsi mrtkre ismert bemeneti eloszls
esetn a Bi tartomnyok s az xi kimeneti vektorok meghatrozst jelenti. Mg
egydimenzis esetben ez viszonylag egyszeru problmt jelentett, hiszen csak a
vals egyenes intervallumai jhettek szmtsba, addig most mg Bi -k alakjra is
vgtelen sok lehetosgnk van. A torzts szempontjbl optimlis megolds Bi -k


2. F ORRSKDOLS H USGKRITRIUMMAL

86

s ss s ss
s s s s
s s

2.4. bra. Hatszgminta.


alakjra a kr, a gmb, illetve magasabb dimenzikban a hipergmb lenne. Sajnos
azonban ezekkel az alakzatokkal nem lehet hzagmentesen lefedni (csempzni) a
teret, pedig minden lehetsges bemeneti vektorhoz pontosan egy kimeneti vektort
kell hozzrendelnnk. Ktdimenzis esetben j kzeltst jelent a skot lefedo
szablyos hatszgminta, amely a 2.4. brn lthat.
Egy optimlis vektorkvantl kielgti az albbi kt szksges felttelt, melyek az egydimenzis eset kzenfekvo ltalnostsai:
1.

partcija Dirichlet-partci, vagy ms nven tartomnyai Voronoi-tartomnyok, azaz

Bi = fx : kx

xi k  kx

x j k;

8 j 6= ig

2. A kimeneti vektorok a hozzjuk tartoz tartomnyok slypontjai:


Z

xi = argmin
y

Bi

kx yk2 f (x) dx

A LloydMax-algoritmus ltalnostsaknt vektorkvantls esetn a Linde


BuzoGray-algoritmus hasznlatos:
1. Vegynk fel egy kzeltst a kvantlsi vektorokra.
2. Optimalizljuk a kvantlt a kvantlsi vektorok szerint, vagyis hatrozzuk
meg a tartomnyokat a Voronoi-tartomnyokra vonatkoz felttel kielgtsvel.
3. Szmtsuk ki, hogy mennyivel cskkent a torzts, s ha ez egy elore meghatrozott kszbrtknl kisebb, akkor kszen vagyunk.
4. Optimalizljuk a kvantlt az imnt kapott tartomnyokhoz, vagyis alkalmazzuk a slypont felttelt, s folytassuk az algoritmust a 2. ponttl.

87

2.2. K VANTLS

s
s

s
s

s
s
s

2.5. bra. Fa-struktrj vektorkvantl.


A LindeBuzoGray-algoritmussal tervezett vektorkvantl kdknyvnek ltalban nincs megfigyelheto belso struktrja. Ez a vletlenszeru szerkezet
megnehezti ugyan a kvantlsi folyamatot, de ez biztostja a vektorkvantl kzel
optimlis torztst. Tbb megolds ltezik struktrlt, de ugyanakkor kedvezo
torztssal rendelkezo vektorkvantl tervezsre.
A fa-struktrj vektorkvantl alapelve az, hogy az L = K d kimeneti vektor kzl a kzel optimlisat egy d mlysgu s K-adfok fa segtsgvel keressk
meg. Egy szint egy bejegyzse a kvetkezo szint egy K darab vektort tartalmaz
halmazra mutat. gy sszesen legfeljebb d dlog K e sszehasonltst kell vgrehajtanunk a teljes keress K d sszehasonltsa helyett. A 2.5. bra a d = 2; K = 3
esetet szemllteti, ahol az elso koordinta szerint alkalmazunk egy skalr kvantlt, majd rszintervallumonknt kln terveznk egy skalr kvantlt a msodik
koordintra.
Nhny alkalmazsban, mint pldul a beszdfeldolgozsban, a bemeneti jel
dinamikatartomnya szles skln vltozhat. Az ehhez szksges nagy kdknyvben val keress helyett eloszr normljuk a vektort, majd kln-kln kvantljuk
a normalizlt vektort, s a normalizl faktort. A normalizl faktor a dinamikatartomnybeli helyet, vagyis az energit hatrozza meg, mg a normalizlt vektor
a jel formjt, gy ezt a technikt energiaforma vektorkvantlnak nevezzk.
Osztott vektorkvantls esetn a forrsvektorokat fggetlen osztlyokba soroljuk trbeli tulajdonsguk alapjn. A klnbzo osztlyokhoz klnbzo vektorkvantlkat terveznk. Ez a technika elonys pldul a kptmrtsben, ahol
az leket tartalmaz illetve nem tartalmaz tartomnyok kt eltro osztlyt alkotnak.


2. F ORRSKDOLS H USGKRITRIUMMAL

88

Tbbszintu vektorkvantls esetn tbb menetben dolgozunk. Eloszr egy


alacsony bitarny kvantlval elolltjuk a bemenet durva kzeltst, majd lpsrol lpsre mindig az eredeti bemenet s az elozo szint ltal elolltott kzelts
eltrst (a kvantlsi hibt) kvantljuk.
A kpek tbb nagyobb, kzel egysznu foltot tartalmaznak, gy jl mukdik
az a megolds, hogy a kppontok (blokkonknti) tlagt egy skalr kvantlval
kvantljuk, majd a kppontokbl kivonva ezt az tlagot egy vektorkvantlt alkalmazunk.

2.3. Lineris szurs

A rszsvos kdols (subband coding) bevezetshez s a mintavtelezshez szksgnk van a gyengn stacionrius folyamat spektrlis surusgfggvnynek s a
gyengn stacionrius folyamatok lineris szursnek fogalmra. Legyen X (t ) egy
0 vrhat rtku, R() kovarianciafggvnyu gyengn stacionrius folyamat, azaz
R() = E(X (t + )X (t ))
minden t-re. Ekkor R() pozitv szemidefinit, teht tetszoleges f (t ) fggvnyre
ZZ

s) f (t ) f (s) dtds  0:

R(t

Ezt gy lthatjuk be, hogy megmutatjuk, hogy a bal oldal


Z

2

X (t ) f (t ) dt

ami nemnegatv.
Tegyk fel, hogy R()-nak ltezik a Fourier-transzformltja:
s ( ) =

R(t )e jt dt :

s()-t az X (t ) folyamat spektrlis sur


usgfggvnynek

nevezzk. R() szimmetrija miatt s() is szimmetrikus, tovbb R() pozitv szemidefinit tulajdonsgbl kvetkezik, hogy
s()  0:
Legyen h(t ) egy ngyzetesen integrlhat fggvny:
Z

h(t )2 dt < :

2.3. L INERIS

89

SZ URS

Ekkor az X (t ) folyamat lineris szursn

az
Z

Y (t ) =

h(s)X (t

s) ds

folyamatot rtjk. (A hatrrtket ngyzetes kzpben vesszk.) Belthat, hogy


Y (t ) is egy 0 vrhat rtku, gyengn stacionrius folyamat. h(t )-t a szuro slyfggvnynek nevezzk. A h(t ) Fourier-transzformltjt tviteli fggvnynek
nevezzk:

H () =

h(t )e jt dt :

2.3. plda. Legyen 0 < b < B, s




H () =

1; ha jj 2 [b; B
0; egybknt

Az ilyen tviteli fggvnyu szurot idelis svszur


onek nevezzk, mert az
X (t ) = A sin (t + )
gyengn stacionrius folyamat szurtje X (t ), ha jj 2 [b; B, s azonosan 0 egybknt. (Itt a [0; 2-ben egyenletes eloszls.)
Szmoljuk ki az Y (t ) szurt folyamat Re() kovarianciafggvnyt:
Re()

=
=

E(Y ()Y (0)) =


0

E

h (s )X (

s) ds

Z Z

h(t )X (0

t ) dt A =

h(s)h(t )E(X (

s)X ( t )) dsdt =

h(s)h(t )R( + t

s) dsdt =

Z Z
=

Z Z
=

1
2

1
h(s)h(t )
2
0


j(+t s)

Z Z

h(s)h(t )e

s() ddsdt =
1

j(t s)

dsdt A e

s() d =


2. F ORRSKDOLS H USGKRITRIUMMAL

90

1
2

jH ()j2e

s() d

(Az integrlsok sorrendjnek felcserlhetosgt most nem ellenoriztk.)


Ez alapjn kiszmthatjuk a szurt folyamat teljestmnyt:
E(Y (0) ) = Re(0) =
2

A svszuro esetn

jH ()j2s() d

1
Re(0) =

1
2

s() d;

jj2[b B
;

s ez indokolja a spektrlis surusgfggvny elnevezst. Folytonos s() s kis


1
B b (tuszuro) esetn Re(0)  2
 2(B b)s(b), a szurt jel energija kzeltoleg
1
(
B
b
)
s
(
b
)
.

2.4. Mintavtelezs
Legyen X (t ) egy 0 vrhat rtku, gyengn stacionrius folyamat R() kovarianciafggvnnyel s s() spektrlis surusgfggvnnyel. Az X (t ) folyamat most
mind idoben, mind rtkkszletben folytonos, teht egyltaln nem nyilvnval,
hogy mikor lehetsges torztsmentes adattmrts. Ebben a szakaszban mdszert mutatunk az ido diszkretizlsra, ez a mintavtelezs. Legyen T > 0 a
mintavteli ido, az fX (kT ); k = 0; 1; 2; : : :g diszkrt ideju folyamatot az X (t )
folyamat mintavtelezsnek nevezzk.
Az a krds, hogy a mintavtelezsbol mikor reproduklhat az X (t ) tkletesen.
Vlasztunk egy interpoll fggvnyt:
f (t ) =

sin (t )
:
t

Nyilvn f (0) = 1 s f (k) = 0; k = 1; 2; : : :.


Definiljuk a reprodukcit:
Xb(t ) =

k=

X (kT ) f

t

91

2.4. M INTAVTELEZS

vagyis a T -vel tsklzott interpoll fggvny X (kT )-szerest eltoljuk a k-adik


mintavteli pontba, s ezeket a fggvnyeket sszegezzk. A vgtelen sszegzsben a hatrrtket ngyzetes kzpben rtjk, azaz
N

lim E Xb(t )

N !

X (kT ) f

!
 2

t

k= N

= 0:

Nyilvn t = kT esetn
Xb(t ) = X (t );
vagyis a mintavteli idopontokban a reprodukci tkletes.
2.7. ttel (Mintavteli ttel). Ha az X (t ) folyamat B svra korltozott, vagyis

R(0) =

1
2

s() d =

s
T

akkor minden t -re


Ha bevezetjk a B0 =
felttelt adja:

<

1
2

ZB

s() d;

;
B

PfX (t ) = Xb(t )g = 1:
B
2

frekvencit, akkor a mintavteli ttel T -re az albbi


T

<

1
;
2B0

vagyis a mintavteli frekvencia legalbb a B0 duplja legyen.


M EGJEGYZS : A mintavtelezs egy olyan forrskdolsi eljrs, amikor a folytonos ideju stacionrius folyamatot a mintiba kdolunk, s a reprodukci interpolcival trtnik. Vegyk szre, hogy ez a tkletes reprodukci csak egy elvi
lehetosg, hiszen az interpolci az sszes, teht vgtelen sok mintt hasznl.
Megmutathat, hogy ez az interpolci megvalsthat idelis svszurovel. Ez a
svszuro annl jobban kzeltheto realizlhat szurovel, minl nagyobb a mintavteli frekvencia a svszlessg dupljnl. gy pldul a telefniban a beszdet
3400 Hz-re svszurik, s azt 8000 Hz-cel mintavtelezik.
A mintavteli ttel bizonytshoz elobb egy lemmt bizonytunk:


2. F ORRSKDOLS H USGKRITRIUMMAL

92
2.2. lemma. Legyen

Ht () = e j(t

k)

f (t

k);

ekkor jj < esetn

Ht () = 1:

B IZONYTS : Jellje
H () =

e jt f (t ) dt

az f (t ) interpoll fggvny Fourier-transzformltjt! Eloszr megmutatjuk, hogy




H () =

1; ha jj 
0; egybknt

ugyanis
1
2

H ()e

jt

1
2

jt

=
=
=
=

1 e jt
2
jt

e jt
2 jt
sin (t )
=
t
f (t );
e

d =

jt

teht H () inverz Fourier-transzformltja f (t ).


rjuk fel a Gt () = H ()e jt fggvny Fourier-sort a [ ; -ben:
Gt () = gk;t e

jk

ahol
gk;t

1
2
1
2

Gt ()e

jk d

H ()e

jt jk

93

2.4. M INTAVTELEZS

1
2

=
=

teht jj < esetn

jt

f (t

H ( ) e

j(t k)

e
k );

f (t

jk

k)e

kvetkezskpp
1 = H () = f (t

k)e j(t

k)

= Ht ():

A 2.7. TTEL BIZONYTSA :


Itt csak egy bizonytsvzlatot adunk, mivel nem ellenorizzk a klnbzo felcserlsek jogossgt. Megmutatjuk, hogy E(X (t ) Xb(t ))2 = 0, amibol mr kvetkezik, hogy PfX (t ) = Xb(t )g = 1.
Xb(t ))2 = E(X 2 (t ))

E(X (t )

2E(X (t )Xb(t )) + E(Xb2 (t ))

(2.20)

Szmtsuk ki a hrom tagot!


E(X 2 (t )) = E(X 2 (0)) = R(0)

(2.21)

A keresztszorzatnl kihasznljuk a svkorltozottsgot s a 2.2. lemmt:


E(X (t )Xb(t ))

E X (t ) X (kT ) f
k

R(t
k

Vezessk be a t 0 =

t
T

1
2
k
1
2
k

kT ) f
Z

!


t

t

j(t kT )

j(t kT )

s() d f

ZB
B

s() d f

t

T
t

jellst, ekkor

E(X (t )Xb(t ))

1
2
k

ZB
B

e jT (t

0 k)
s() d f (t 0

k) =


2. F ORRSKDOLS H USGKRITRIUMMAL

94

1
2

1
2

amennyiben jjT
dik tagot!
E(Xb2 (t ))

<

R((k
l

1
2
k l
Z

1
2

s() d = R(0);

1
2
1
2
1
2

l )T ) f

<

t

, s ezt feltettk. Nzzk a harma-

t

 t

k f

s() d f

j(lT t )

t

!


t

!


t

j(kT t )

 t

k f

j(k l )T

(2.22)

e
=

ZB

E(X (kT )X (lT )) f


k

Ht 0 (T )s() d =

, ami teljesl, ha BT

ZB

 t

k f

s() d =

Ht 0 (T )Ht 0 ( T )s() d =

ZB

Ht 0 (T )Ht 0 ( T )s() d =

ZB

s() d = R(0)

(2.23)

A (2.20), (2.21), (2.22) s (2.23) miatt


E(X (t )

Xb(t ))2 = R(0)

2R(0) + R(0) = 0:

2.5. Transzformcis kdols


Ebben a szakaszban olyan technikt mutatunk be, amelynek segtsgvel a forrs
kimenett sszetevoire bonthatjuk, s ezen sszetevoket sajt, jellemzo karakte-

2.5. T RANSZFORMCIS

95

KDOLS

risztikjuk szerint kdoljuk.


A transzformcis kdols a vektorkvantls egy specilis esete. Az optimlis vektorkvantl nagy szmtsi bonyolultsg, mg a struktrlt vektorkvantl nem optimlis. A transzformcis kdol megksrli a kettot tvzni: elobb
transzformlja a jelsorozatot, majd a transzformlt sorozat komponenseit kvantlja skalr kvantlkkal. Ez gy egytt egy struktrlt vektorkvantl. Ugyanakkor az egyes komponenseket ms s ms finomsg skalr kvantlval kvantljuk,
teht a vektorkvantl reprodukcis vektorai egy olyan tbbdimenzis rcsot alkotnak, melyet megkaphatunk egy tbbdimenzis tglatest eltolsaival.
A transzformcis kdols lpsei a kvetkezoek:
Eloszr osszuk fel a kdoland fxn g jelsorozatunkat k hossz diszjunkt blokkokra. Minden egyes blokkra alkalmazzunk egy invertlhat transzformcit,
mely az fyn g sorozatot eredmnyezi.
Msodszor, kvantljuk a transzformlt sorozatot. Az alkalmazott kvantlsi
stratgia fgg a kvnt bitsebessgtol, a transzformlt sorozat klnbzo rszeinek
eltro statisztikai tulajdonsgaitl s a megengedheto torztstl.
A harmadik lpsben kdoljuk a kvantlt rtkeket valamilyen binris kddal.
A tovbbiakban csak lineris transzformcival foglalkozunk. Ekkor a transzformlt sorozat a kvetkezo alakban ll elo:
k 1

yn =

an i x i
;

i=0

Az fyn g sorozat elemeinek eloszlsa a sorozaton bell elfoglalt pozcitl, n-tol


fgg. A transzformlt sorozat elemei eloszlsnak terjedelmt a 2n szrsngyzettel mrjk. Ez fogja befolysolni, hogy hogyan kdoljuk a transzformlt sorozatot.
Az eredeti sorozat helyrellthat a transzformlt sorozatbl az inverz transzformcival:
k 1

xn =

bn i y i
;

i=0

Ugyanezek mtrixos alakban:


y = Ax
x = By
ahol A s B k  k-as mtrixok, melyek i; j-edik eleme ai; j illetve bi; j , s
AB = BA = I
vagyis
B=A


2. F ORRSKDOLS H USGKRITRIUMMAL

96

A kptmrtsnl hasznlt ktdimenzis esetben:


Y = AXAT
X = BYBT
Ezek gyakran ortonormlt transzformcik, vagyis a transzforml mtrix inverze
megegyezik a transzponltjval: B = A 1 = AT , gy
X = AT YA:
Az ortonormlt transzformci megorzi az energit, vagyis az eredeti s a
transzformlt sorozat ngyzetsszege egyenlo. Pldul egydimenzis esetre:
k 1

k 1

i=0

i =0

y2i = yT y = (Ax)T Ax = xT AT Ax = xT x =

xi2

ahol kihasznltuk az ortonormltsgot, hiszen AT A = A 1 A = I.


Szerencss esetben az y egyes komponenseinek nagysgrendje klnbzo, teht az egyes kvantlk klnbzo szm kvantlsi szintet hasznlnak. Ez a bitallokci problmja. Tegyk fel, hogy a k hossz blokk-kdolsra M bitet sznunk gy, hogy a j-edik kvantl M j bitet hasznlhat, azaz kvantlsi szintjeinek
szma 2M j . A skalr kvantl entrpija a H ( f ) differencilis entrpitl fgg,
amely normlis eloszls esetn 12 log (2e2 ). Az X lineris transzformltjnak a
komponensei nagy k blokkmret esetn a centrlis hatreloszls ttel miatt kzeltoleg normlis eloszlsak, teht indokolt, hogy a j-edik kvantl
M j = c + log (Y j )

(2.24)

bitet kapjon. Ekkor


k 1

(c + log (Y j )) = M

j=0

ahonnan a c konstans kiszmolhat:


k 1

M
c=

log (Y j )

j =0

A gyakorlatban hrom transzformci terjedt el leginkbb. A diszkrt koszinusz transzformci (DCT) k  k-as A mtrixnak elso sorban csupa p1k elem
ll, mg az ez alatti elemek az
r

ai; j =

2
cos
k

(2 j

1)(i
2k

1)

2.5. T RANSZFORMCIS

97

KDOLS

kplettel szmolhatk. A DCT a legkedveltebb transzformci, felhasznlja a


JPEG s az MPEG ll- illetve mozgkptmrtsi szabvny is.
A diszkrt szinusz transzformci (DST) k  k-as mtrixnak elemei:
r

a i; j =

i j
sin
k+1
k+1
2


:

Az egyszerubb diszkrt WalshHadamard-transzformci (DWHT) kisebb


szmtsignyu, de ltalban nem biztost olyan j tmrtsi hatsfokot, mint a
DCT. A transzforml mtrixot a kvetkezo rekurzival kapjuk:

=

A2k

A2k
A2k

A2k 1
A2k 1

1
1

A kiindul mtrix pedig:


A1 = 1
gy pldul:

A2 =

A1
A1

A1
A1

1
1

1
1

A mtrixok kielgtik az A2k AT2k = 2k I felttelt, s a transzformci sorn ennek


a normalizltjval dolgozunk. A 8  8-as DWHT transzforml mtrixa gy a
kvetkezo:
0

A=

1
B1
B
B1
B
1 B
1
p B
B
8 B1
B1
B
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1C
C
1C
C
1C
C
1C
C
1C
C
1A
1

A transzformcis kdols leggyakrabban hasznlt megvalstsa a rszsvos


kdols. Alaptlete, hogy a jelet nem a teljes svszlessgben kdoljuk, hanem
frekvenciasvonknt.
A rszsvos kdols egy gyakorlati megvalstsa lthat a 2.6. brn. A
forrs kimenett egy szurobankon visszk keresztl, amely a jelet az sszetevo
frekvenciasvokra bontja szt. A szurok kimenetn kapott frekvenciasvok lehetnek tlapoltak s nem tlapoltak (a teljes svot egyszeresen lefedok). Ezutn
mintavtelezzk az egyes szurok kimeneteit. A mintavteli trvny szerint az

2. analzis
szuro

3. analzis
szuro

..
.
M. analzis
szuro


#


#


#


#

M

1. kdol



1. dekdol

2. kdol



2. dekdol

3. kdol



3. dekdol

..
.

csatorna

2. F ORRSKDOLS H USGKRITRIUMMAL

1. analzis
szuro

..
.

..
.

M. kdol



M. dekdol

98

2.6. bra. Rszsvos kdol.


"


"


"


"

M

1. szintzis
szuro

2. szintzis
szuro

3. szintzis
szuro

..
.

..
.

M. szintzis
szuro

2.6. P REDIKTV

KDOLS

(DPCM)

99

elemi svszlessgek ktszeresvel kell ezt megtennnk a visszallthatsg rdekben. Teht a mintk szmt cskkenthetjk a szurok kimenetn, hiszen itt
kisebb a svszlessg, mint a szurobank bemenetn volt. Ezt decimlsnak vagy
alulmintavtelezsnek (downsampling) nevezzk. A decimls mrtke a szuro
bemenetn illetve kimenetn lvo svszlessgek arnytl fgg. A decimls
utn kvetkezik a kdols. A kdolt jelet tkldjk a csatornn, majd annak tloldaln dekdoljuk. Fellmintavtelezzk (upsampling), vagyis a mintk kz
megfelelo szm 0-t illesztnk, gy lltva vissza az eredeti msodpercenknti
mintaszmot. Vgl egy szurobankon vezetjk keresztl a jelet, amely elvgzi a
fordtott transzformcit, s gy a kimeneteit sszegezve kapjuk a vgleges jelet.
Felmerlhet a krds, hogy mirt j ez az egsz? Az emberi rzkszervek,
akr a hang, akr a (mozg)kp rzkels tern frekvenciafggoek. Ezt a tnyt
gy hasznlhatjuk ki, hogy az rzkels szempontjbl fontos frekvenciasvok
pontosabb rekonstrukcijra treksznk, mg a kevsb fontos svokban nagyobb
torztst engednk meg. Msrszrol az egyes szurok kimenetn klnbzo a szrsngyzet, s ennek megfeleloen rendre klnbzo szm bitet alloklhatunk a
kvantlshoz a (2.24) egyenlet szerint, s ezzel lnyeges tmrtst rhetnk el.

2.6. Prediktv kdols (DPCM)


A prediktv kdols alapelvt eloszr egy specilis esetben vezetjk be, amikor
a predikci az elozo minta (meteorolgus prediktor). Ezt hvjuk klnbsgi
kdolsnak.
A klnbsgi kdols alkalmazsa egy adatforrsra akkor elonys, ha a szomszdos mintk kzti eltrs nem tl nagy. Pldul digitlis kpek esetn a szomszdos pixelek kztti eltrs viszonylag kicsi, hacsak nem vagyunk egy l kzelben.
A kvetkezo plda rvilgt, hogy mit nyerhetnk a klnbsgi kdolssal a
memriamentes kdolshoz kpest, vagyis amikor a mintkat egymstl fggetlenl kdoljuk.
2.4. plda. Legyen egy 8 bites intenzits digitalizlt kp 8 egymst kveto pixelnek rtke:
147; 145; 141; 146; 149; 147; 143; 145:
Ha ezeket pontrl pontra kdoljuk, egyenknt 8 biten, akkor ehhez 64 bit szksges. Vegyk azonban a kdols elott ezen intenzitsok klnbsgt oly mdon,
hogy az elso kppont rtkt vltozatlanul hagyjuk, majd minden tovbbi pixel


2. F ORRSKDOLS H USGKRITRIUMMAL

100

esetn azt az rtket troljuk, amelyet az elozo kppont intenzitshoz hozzadva


a sajt intenzitst kapjuk. Esetnkben ez a kvetkezo lesz:
2;

147;

4; 5; 3;

2;

4; 2:

Vilgos, hogy az eredeti sorozat helyrellthat a msodik sorozatbl. A kapott


sorozatot egyszeruen vezessk t egy sszegzon.
Eloszr 8 biten tkldjk a dekdernek, hogy a klnbsgeket hny biten fogjuk brzolni (ez fgg a legnagyobb megjelentendo rtktol), majd szintn 8 biten
tkldjk az elso (vltozatlan) adatot. Esetnkben a legnagyobb klnbsgi rtk
az 5, ezrt 4 biten fogjuk tkldeni a differencikat (1 elojelbit + 3 adatbit). gy
sszesen 8 + 8 + 7  4 = 44 bitet hasznlunk fel, ez 30 %-kal jobb tmrtsi arnyt
jelent.
Sajnos vesztesges tmrts esetn nem ilyen egyszeru a helyzet: nem igaz,
hogy adott hibahatron bell helyrellthat ily mdon az eredeti sorozat. Legyen
a forrs kimenete:
6:2; 9:7; 13:2; 5:9; 8; 7:4; 4:2; 1:8
Kpezzk a klnbsgeket:
6:2; 3:5; 3:5;

7:3; 2:1;

0 :6 ;

3:2;

2:4

A vesztesges tmrtshez hasznljunk egy 7 szintu kvantlt a kvetkezo kimeneti szintekkel: 6; 4; 2; 0; 2; 4; 6. A kvantlt rtkek:
6; 4; 4;

6; 2; 0;

4;

Ha most megprbljuk az eredeti sorozatot helyrelltani a szoksos mdon, a


6; 10; 14; 8; 10; 10; 6; 4
rtkeket kapjuk. Az eredeti s a rekonstrult sorozat kztt az eltrsek:
0:2;

0 :3 ;

0:8;

2:1;

2;

2:6

Lthat, hogy egyre hosszabb sorozatokat vizsglva a hiba folyamatosan nohet.


Vizsgljuk meg ezt az szrevtelt ltalnos esetben! Legyen a bemeneti sorozatunk fxn g. A klnbsgi sorozat fdn g, ahol dn = xn xn 1 . A klnbsgi
sorozatot kvantljuk, s gy kapjuk fdbn g-ot:
dbn = Q(dn ) = dn + qn

2.6. P REDIKTV

KDOLS

101

(DPCM)

ahol qn a kvantlsi hiba. A vevo oldaln a rekonstrult sorozatot, fxbn g-ot gy


kapjuk, hogy a kvantlt klnbsget hozzadjuk az elozo rtkhez:
xbn = xbn

1 + dn

Ttelezzk fel, hogy az ad s a vevo ugyanarrl az rtkrol indul, teht x0 = xb0 .


A kvantls s a rekonstrukci elso nhny lpse:
d1

x1

db1

Q(d1 ) = d1 + q1

xb1

xb0 + db1 = x0 + d1 + q1 = x1 + q1

d2

x2

db2

Q(d2 ) = d2 + q2

xb2

xb1 + db2 = x1 + q1 + d2 + q2 = x2 + q1 + q2 :

x0

x1

Tovbb folytatva, az n-edik lps utn:


n

xbn = xn + qk :
k=1

Teht a kvantlsi hiba felhalmozdik.


Vegyk szre, hogy a kdol s a dekdol klnbzo adatokon hajt vgre
muveleteket! A kdol az eredeti sorozat klnbsgeit generlja, mg a dekdol
a kvantlt klnbsgekkel dolgozik. thidalhatjuk ezt a problmt, ha az adt s
a vevot rknyszertjk, hogy azonos adatokon dolgozzanak. A vevo az eredeti
fxng sorozatrl csak a rekonstrult fxbn g sorozatbl szerezhet informcit. Ez
utbbi viszont az adnak is rendelkezsre ll, gy a klnbsgkpzs muvelett
a kvetkezokppen mdosthatjuk:
dn = x n

xbn

1:

Ezt felhasznlva az elozo lpseink gy mdosulnak:


d1

x1

db1

Q(d1 ) = d1 + q1

xb1

xb0 + db1 = x0 + d1 + q1 = x1 + q1

d2

x2

db2

Q(d2 ) = d2 + q2

xb2

xb1 + db2 = xb1 + d2 + q2 = x2 + q2 :

x0

xb1


2. F ORRSKDOLS H USGKRITRIUMMAL

102

xn +

pn

m6

dn

kvantl

dbn +

pn

-+ ?+

pn
prediktor

dbn

xbn

6
+

prediktor

xbn

dekdol

kdol
2.7. bra. DPCM.
ltalnostva:
xbn = xn + qn ;
teht a kvantlsi zaj nem akkumulldik.
Az a clunk, hogy minl kisebb klnbsgi rtkeket kapjunk. Ehhez xn rtkt nem csak xbn 1 segtsgvel becslhetjk, hanem a rekonstrult sorozat elozo
rtkeinek fggvnyvel is. Az ezt megvalst eszkz a prediktor:
pn = f (xbn

bn 2 ; : : : ; xb0 ):
1; x

Itt a klnbsgkpzs a
dn = x n

pn

kifejezssel trtnik. Az eredo torzts ebben az esetben sem halmozdik. Az eddig elmondottakat megvalst rendszer a 2.7. brn lthat, az eljrs neve klnbsgi impulzuskd modulci (differential pulse code modulation, DPCM).
Az eljrst a Bell Laboratriumban dolgoztk ki a 40-es vek vgn, s foknt a
beszdkdolsban terjedt el, gy szleskruen hasznljk a telekommunikciban.
A klnbsgi kdol rendszerek, mint a DPCM, azzal rik el cljukat, vagyis
a tmrtst, hogy cskkentik a bemeneti sorozat szrst s dinamikatartomnyt. A szrs cskkentse attl fgg, hogy a prediktor mennyire jl tudja becslni a kvetkezo szimblumot az elozoleg rekonstrultakbl. A 2.7. szakaszban
vizsgljuk a becsls problmakrt.
A bemeneti jelek tulajdonsga vltozhat az idoben. Ehhez tud alkalmazkodni
az adaptv DPCM rendszer. Az alkalmazkods trtnhet a kdol bemenetre rkezo jel (xn ) alapjn, ekkor elore adaptv mdszerrol beszlnk, vagy a kimenet
(xbn ) alapjn, ez a htra adaptv mdszer. Elore adaptv esetben, mivel a dekdernek nem ll rendelkezsre a kdol bemeneti jele, ezrt a rendszer mdostott

2.6. P REDIKTV

KDOLS

(DPCM)

103

paramtereit is t kell vinni. Htra adaptv esetben ilyen problma nem merl fel,
hiszen a kdol kimenett megkapja a dekder.
A kvantlt s a prediktort egyarnt tervezhetjk adaptvra (ADPCM), ez
utbbirl a 2.7. szakaszban szlunk. Elore adaptv kvantl esetn a bemenetet
blokkokra bontjuk, minden lpsben kiszmoljuk az aktulis blokkra optimlis
kvantl paramtereit, s tkldjk a dekdernek kiegszto informciknt.
A gyakorlatban inkbb a Jayant-kvantl nven ismert htra adaptv mdszert hasznljk. Itt minden egyes kvantlsi intervallumhoz egy szorztnyezot
rendelnk, amely a kvantl belso (orighoz kzeli) tartomnyainl 1-nl kisebb,
mg a klso rszeken 1-nl nagyobb. A tnyezok az origra szimmetrikusan helyezkednek el. Annak fggvnyben, hogy az aktulisan kvantlt rtk melyik
intervallumba esik, ezen intervallum szorztnyezojvel korrigljuk a lpskz
rtkt. Ha a kvantlt rtk kicsi, akkor finomtjuk a lpskzt, mg nagy rtkek
esetn nagyobb lpskzt fogunk alkalmazni.
2.5. plda. A 2.8. bra egy 8 szintu kvantlt brzol. Legyenek az egyes intervallumok szorztnyezoi: M1 = M8 = 1:2; M2 = M7 = 1; M3 = M6 = 0:9; M4 =
M5 = 0:8, a kezdeti lpskz pedig 0 = 0:5. A kvantland sorozat: 0:1; 0:2;
0:2; 0:1; 0:2; 0:5; 0:9; 1:5; 1:0; 0:9; : : :. Az elso bemeneti adatot a kezdeti 0:5
lpskzzel az 5. szintre kvantljuk, a kimenet rtke 0:25 lesz, a hiba 0:15. gy az
j lpskz 1 = M5 0 = 0:8  0:5 = 0:4 lesz. A kvetkezo adat a 4. intervallumba
esik, most a lpskz 0:4, teht a kimeneten 0:2 jelenik meg, s a lpskz j
rtke 2 = M4 1 = 0:32. gy folytatva az eljrst, az eredmny tblzatos formban a 2.9. brn lthat.
Vegyk szre, hogyan alkalmazkodik a kvantl az inputhoz. Kezdetben a
bemeneti rtkek kicsik, ezrt a lpskz folyamatosan cskken, ezzel egyre jobb
kzeltst biztostva. Majd nagyobb bemeneti rtkek kvetkeznek, gy a lpskz
is nvekszik. Megfigyelhetjk, hogy a hiba rtke viszonylag nagy az tmeneti
szakaszban.
A kvantlsi lpskzt a konkrt megvalstsok termszetesen vges pontossggal brzoljk, ezrt el kell kerlnnk azt a szitucit, hogy a lpskz folyamatos cskkentsvel, az nullv vljon. Be kell vezetnnk egy min rtket,
amelynl nem vlasztjuk kisebbnek a lpskzt. Hasonl okok miatt egy max is
szksges.
A DPCM egyszerubb formja, a delta modulci (DM). Ez egy 1 bites (2
szintu) kvantlval rendelkezo DPCM. A 2 szintu kvantlval csak  kimeneti
rtkeket llthatunk elo, vagyis (egy folytonos jel mintavtelezsvel add) kt
minta kztti eltrst csak ezzel reprezentlhatjuk. Amennyiben egy adott bemeneti sorozatban a mintk kztti klnbsg nagyon eltr -tl, a kimeneten egy lland torzts jelentkezik. Ezt gyakoribb mintavtelezssel ellenslyozhatjuk. A


2. F ORRSKDOLS H USGKRITRIUMMAL

104

6
kimenet

7=2
7

5=2
6

3=2
3

=2

4
3

5
=2

3 bemenet

3=2

5=2

7=2

2.8. bra. Jayant-kvantl 8 kvantlsi szinttel.

n
0
1
2
3
4
5
6
7
8
9
10
11

n
bemenet
0:5
0 :1
0:4
0:2
0 :2
0:32
0 :1
0:256
0:2048
0:3
0 :1
0:1843
0 :2
0:1475
0:1328
0 :5
0 :9
0:1594
1 :5
0:1913
0:2296
1 :0
0 :9
0:2755

szint
szma
5
4
5
5
3
5
6
8
8
8
8
8

szint
rtke
0:25
0:2
0:16
0:128
0:3072
0:0922
0:2212
0:4646
0:5578
0:6696
0:8036
0:9643

hiba
0:15
0:0
0:04
0:028
0:0072
0:0078
0:0212
0:0354
0:3422
0:8304
0:1964
0:0643

2.9. bra. A 2.5. plda vgeredmnye.

j lpskz
1 = M5 0
2 = M4 1
3 = M5 2
4 = M5 3
5 = M3 4
6 = M5 5
7 = M6 6
8 = M8 7
9 = M8 8
10 = M8 9
11 = M8 10
12 = M8 11

2.6. P REDIKTV

KDOLS

rrrrrrrrrr

105

(DPCM)

rr r

rr r r r r r r r r r r r r r

rr

2.10. bra. Lineris delta modulci.


DM rendszerekben a legnagyobb elofordul frekvencinak nem csak a ktszeresvel, hanem akr a szzszorosval is mintavteleznek a torzts alacsony szinten
tartsa vgett (pldul j minosgu A/D talaktkban, 1 bites talaktk).
A fix lpskzu kvantlt tartalmaz DM rendszereket lineris delta modultornak nevezzk. A 2.10. brn megfigyelhetjk, hogy torzts kt okbl jelentkezik. Azokon a rszeken, ahol a bemenet hozzvetoleg konstans, a kimenet
oszcilll -val (granular regions). Ezt a hibt cskkentsvel kompenzlhatjuk.
Azokban a tartomnyokban, ahol a bemenet tl gyorsan nvekszik vagy cskken,
a kimenet nem tud lpst tartani (slope overload regions), ezrt ezen a lpskz nvelsvel segthetnk. Lthat, hogy a ktfle torzts egyideju javtsa
ppen ellenttes feltteleket tmaszt -ra vonatkozan, ezrt fix lpskzzel nem
oldhat meg.
Ezen segt a lpskz adaptv megvlasztsa. A kzel konstans tartomnyokban kis lpskzt vlasztunk, mg gyors vltozsok esetn nveljk -t. A bemenet loklis tulajdonsghoz alkalmazkod rendszerek kzl az egyik legkedveltebb a konstans faktorral alkalmazkod delta modultor (constans factor adaptive
delta modulation, CFDM). A legfontosabb feladat annak megllaptsa, hogy ppen milyen jellegu tartomnyban vagyunk. A kzel lland rszeken a kvantl
kimenete majdnem minden mintnl elojelet vlt, mg a gyorsan vltoz intervallumokban a kimenet elojele lland. A legegyszerubb esetben csak a megelozo
mintig tekintnk vissza a tartomny jellegnek eldntsre. Jelljk sn -nel a
delta modultor n-edik idoegysgbeli lpst s n -nel az itt rvnyes lpskzt (sn = n ). Ekkor az n + 1-edik idoegysgbeli lpskzt a kvetkezokppen
kapjuk:

M1 n ; ha sgn sn = sgn sn 1
n+1 =
M2 n ; ha sgn sn 6= sgn sn 1


2. F ORRSKDOLS H USGKRITRIUMMAL

106

ahol 1 < M1 = M12 < 2. A memria nvelsvel, vagyis pldul 2 mintra viszszatekintve tovbb cskkentheto a torzts:

n+1 =

8
M1 n ; ha sgn sn 2 = sgn sn 1 = sgn sn
>
>
<

M2 n ; ha sgn sn

2=

sgn sn

1=

sgn sn

M4 n ; ha sgn sn

2=

sgn sn

1=

sgn sn

M3 n ; ha sgn sn 2 = sgn sn 1 = sgn sn


>
>
:

ahol pl. M1 = 0:4 < M2 = 0:9 < M3 = 1:5 < M4 = 2:0.


A beszdkdolsban kvnatos, lassabb alkalmazkodst tesz lehetov a folytonosan vltoz meredeksgu delta modulci (continuously variable slope delta
modulation, CVSD). Ez cskkenti a kzel konstans esetben elkvetett hibt, viszont nveli a gyors vltozsok esetn bekvetkezo hibt. Az adaptv lpskz
szmtsra szolgl kplet:
n = n

1 + n 0 ;

ahol egy 1-nl alig kisebb konstans, n rtke pedig 1, ha a kvantl legutbbi
K darab kimeneti rtkbol J darabnak azonos volt az elojele, egybknt 0. Teht
egy K hossz ablakon keresztl figyeljk a bemenetet, s ebbol kvetkeztetnk
annak loklis viselkedsre. Jellemzo rtkek: J = K = 3.

2.7. Lineris becsls


A prediktv kdol rendszerek, mint pldul a DPCM, a klnbsgi sorozat msodik momentumnak s dinamikatartomnynak cskkentsvel rik el cljukat.
A szrs cskkentse azon mlik, hogy a prediktor mennyire jl tudja megjsolni
a kvetkezo szimblumot az elozoleg rekonstrult rtkek alapjn.
Legyen 2d a klnbsgi sorozat msodik momentuma:
2d

= E(Xn

pn )2 ;

ahol
pn = f (xbn

bn 2 ; : : : ; xb0 )
1; x

a prediktor kimenete. Feladatunk azon f () megtallsa, amely minimalizlja 2d et. Ez azonban nem ilyen egyszeru. Egyrszt xbn = Xn + qn , msrszt qn fgg
dn szrstl, gy f () megvlasztsa befolysolja 2d -et, ami pedig hatssal van
a rekonstrult xbn sorozatra, ettol pedig fgg f () megvlasztsa. A kr bezrult.
Ez a csatols (coupling) mg egyszeru forrsok esetn is rendkvl bonyolultt
teszi az explicit megoldst. Mivel a gyakorlati forrsok kzel sem idelisak, a
problma szmtsignye kzbentarthatatlann vlik a legtbb alkalmazsban.

2.7. L INERIS

107

BECSLS

Elkerlhetjk ezt a nehzsget finom kvantls felttelezsvel, vagyis felteszszk, hogy a kvantl lpskze olyan kicsi, hogy xbn helyett rhatunk Xn -et, ezrt
pn = f (Xn

1 ; Xn 2 ; : : : ; X0 ):

Teht, ha megtalltuk f ()-et, akkor alkalmazhatjuk a rekonstrult xbn rtkekre,


s gy kzeltoleg megkapjuk pn -et. A 2d -et minimalizl fggvny a regresszis
fggvny, vagyis az E(Xn j Xn 1 ; Xn 2 ; : : : ; X0 ) feltteles vrhat rtk.
Sajnos a feltteles vrhat rtk megtallshoz szksgnk lenne az n-edrendu feltteles valsznusgekre, amelyek ltalban nem llnak rendelkezsnkre.
A legjobb megolds remnytelennek tuno keresse helyett korltozzuk vizsglatainkat a lineris prediktorfggvnyekre, vagyis
N

pn := ai xbn

i:

i =1

Ezek ugyanis knnyen kiszmthatak s trolhatak, valamint normlis eloszls


esetn lineris lesz a regresszis fggvny. N-et a prediktor rendjnek nevezzk.
lve a finom kvantls felttelezsvel, rhatjuk:
2d

!2

=E

ai Xn

Xn

(2.25)

i=1

ahol a feladatunk a 2d -et minimalizl fai g sorozat megtallsa.


2d N vltozs fggvny loklis szlsortke ltezsnek szksges felttele,
hogy a parcilis derivltak 0-k legyenek. Vegyk (2.25) parcilis derivltjait
rendre a j ; j = 1; : : : ; N szerint:
0

a j d

E

a j

!2 1

Xn

ai Xn

A=

i=1

!!

2Xn

Xn

ai Xn

i=1

2E

Xn

ai Xn

Xn

= 0;

i=1

ahol kihasznltuk a vrhatrtk-kpzs linearitst. gy j = 1; : : : ; N-re N egyenletet kapunk, amelyek N ismeretlent tartalmaznak. Ezeket trendezve kapjuk:
N

ai R(i

i =1

j ) = R( j);

j = 1; : : : ; N ;


2. F ORRSKDOLS H USGKRITRIUMMAL

108

ahol R(k) a gyengn stacionrius Xn kovarianciafggvnye:


R(k) = E(Xn Xn+k ):
rjuk fel a most kapott egyenleteinket a knnyebben kezelheto mtrixos alakban:
Ra = p;
ahol

0
B
B
B
R=B
B


R(0)
R(1)
R(2)
..
.
R(N

R(1)
R(0)
R(1)
..
.
1) R(N
0

a1
B a2 C
B C
B C
a = B a3 C
B . C
 .. A
aN





R(2)
R(1)
R(0)
..
.
2) R(N

..

R(N
R(N
R(N

C
..
A
.
R(0)



3)
0

1)
2)C
C
3)C
C

R(1)
B R(2) C
C
B
C
B
p = B R(3) C
B . C
 .. A
R(N )

R kifejezsben felhasznltuk az R( k) = R(k) tulajdonsgot. Ez az egyenletrendszer az n. WienerHopf-egyenletrendszer diszkrt alakja. Ha ismerjk az


fR(k)g; k = 0; 1; : : : ; N kovariancia rtkeket, akkor meghatrozhatjuk a prediktoregytthatkat:
a = R 1 p;
(2.26)
amennyiben R 1 ltezik.
A prediktoregytthatk meghatrozsra szolgl (2.26) egyenletet a stacionarits felttelezsvel kaptuk. Ez azonban a gyakorlatban elofordul forrsok
esetn nem jogos. A stacionarits legfeljebb csak loklisan, egy bizonyos jelhoszszon bell igaz. A problmt gy oldhatjuk meg, ha a prediktort adaptvv teszszk a jel loklis viselkedshez. Ez trtnhet elore adaptv (a kdol bemeneti
jele alapjn) illetve htra adaptv mdszerrel (a kdol kimenete alapjn).
Elore adaptv esetben a bemenetet blokkokra osztjuk. (Beszdkdols esetn a tipikus blokkhossz 16 ms, ami 8000 minta/msodperc esetn 128 mintt
jelent, mg kptmrts sorn ltalban 8  8 pixeles blokkokat hasznlnak.) Ezutn kiszmtjuk az empirikus kovariancia egytthatkat minden egyes blokkra,
amelyekbol a (2.26) segtsgvel kapjuk a prediktoregytthatkat. A kovariancia
egytthatk kiszmtsakor azzal a felttelezssel lnk, hogy a mintk rtke a

2.7. L INERIS

109

BECSLS

blokkon kvl 0. Ezrt az l-edik M hossz blokkra az albbi kzeltst alkalmazzuk:


lM jkj
1
(l )
R (k) =
Xi Xi+jkj
M jkj i=(l
1)M +1

8k-ra. (R l (k) = R l (
( )

( )

k))
Az elore adaptv mdszer megkveteli, hogy puffereljk a bemenetet, ezzel
ksleltetst visznk a rendszerbe, ami pldul beszdkdols esetn nem szerencss. Ugyanis egyetlen kdoldekdol pr esetn mg elviselheto a ksleltets
mrtke, azonban egy telefonkapcsolatban szmos DPCM kdol s dekdol
vehet rszt (pl. a nagy tvolsg miatt), s ekkor az eredo ksleltets mr jelentos
lehet. Sot, itt is, mint elore adaptv kvantls esetn, kiegszto informcikat kell
tvinni, hiszen a dekdol nem ismeri a kdol bemeneti jelt.
Htra adaptv esetben a prediktor alkalmazkodshoz a dekder szmra is
rendelkezsre ll jelet, a kdol kimenett hasznljuk. Eloszr az egyszerusg
kedvrt vegynk egy elsorendu prediktort. Ekkor a jel valdi s becslt rtke
kztti eltrs ngyzete az n-edik idopillanatban:
dn2 = (Xn

a1 xbn

1)

Ezt az a1 -ben msodfok kifejezst (parabolt) kell minimalizlnunk. Gondoljuk


meg, hogy ha a minimumhelytol pozitv irnyban helyezkedik el a1 elozo rtke,
akkor ott a derivlt pozitv, mg az ellenkezo irnyban negatv. a1 j rtkt kzelthetjk gy, hogy a rgi rtkbol levonjuk a derivlt konstansszorost (gradiens
mdszer):
d 2
(n+1)
(n)
= a1
n;
(2.27)
a1
a1
dn2
bn
= 2(Xn a1 x
a1
Helyettestsk (2.28)-at (2.27)-be:
(n+1)

a1

2dn xbn

bn 1 =
1 )x

(n)

= a1 +

 d xb
n n

1:

(2.28)

1;

ahol  = 2. Mivel dn -et csak a kdol ismeri, hasznljuk helyette


(n)
dbn = xbn a1 xbn 1 -et:
(n+1)
(n)
 bn 1 :
a1
= a1 + dbn x
Terjesszk ki ezt az egyenletet az N-edrendu prediktor esetre! Az eltrs hibangyzete ekkor:
!2

dn2 =

Xn

ai xbn

i=1


2. F ORRSKDOLS H USGKRITRIUMMAL

110

Ennek a j szerinti parcilis derivlsval kapjuk a j-edik prediktoregytthat szmtsra szolgl kifejezst:
(n+1)

aj
Vektoros formban:

(n)

= aj

 bn j :
+ dbn x

bn
A(n+1) = A(n) +  dbn X

ahol

xbn

B xbn 1 C
B
C
. C;
 .. A

bn = B
X

xbn
s
dbn = xbn

N +1
N

ai xbn

i:

i=1

Az ismertetett eljrs a legkisebb tlagos ngyzetek (Least Mean Square)


mdszernek rekurzv vltozata.

2.8. Beszdtmrts
A beszdtmrto eljrsok terletn eroteljes fejlods volt megfigyelheto az elmlt vtizedekben. A minl alacsonyabb bitsebessg mellett minl jobb minosgu
hang tvitelnek ignye foleg a nyilvnos cl tvkzls rszrol fogalmazdott
meg. Kezdetben az eddigiekben megismert ltalnos cl eljrsokat alkalmaztk.
Az ismertetsre kerlo megoldsokat a nyilvnos tvkzlohlzatokban hasznlt impulzuskd modulcihoz (Pulse Code Modulation, PCM) hasonltjuk.
Hatrozzuk meg ennek bitsebessgignyt! A telefon-minosg viszonylag kis
svszlessggel is beri. Az analg 3:4 kHz svszlessgu beszdjelbol (nmi
rtartssal) msodpercenknt 8000 mintt vesznk, s 8 bittel kvantljuk, gy
8000  8 = 64 kbps-ot kapunk. Az 1972-ben megjelent G.711-es tvkzlsi szabvny logaritmikus PCM kdolst hasznl, azaz kompanderes kvantlt (mint errol
a 2.2. szakaszban sz volt: -law, A-law).
A beszdtmrtssel szemben tmasztott megnvekedett kommunikcis
igny elkerlhetetlenn tette egy j eljrs kifejlesztst, amelynek kisebb a bitsebessgignye, de emellett j minosgu, jl rtheto beszdtvitelt tesz lehetov.
A kvnalmaknak megfelel az 1984-es G.721 szabvny, amely 32 kbps-os tviteli
sebessgvel megduplzta a kiptett vonalakon folytathat beszlgetsek szmt.
A G.721 adaptv klnbsgi kdolson (ADPCM) alapul. Kihasznlja az emberi

2.8. B ESZDTMRTS

111

beszd klnbzo idopontokban megfigyelt minti kztti hossz- s rvidtv


korrelcit (220 ms). A kvantlsi lpcsok mrett az elozo mintk alapjn vltoztatja. A kdol ksleltetse kisebb mint 2 ms, s szmos kzponton keresztlhalad jel esetn is megfelelo minosget biztost.
A fenti eljrsok finomtsval jobb tmrtsi arny rheto el. Ezek a mdszerek az emberi hangkpzs modelljt hasznljk fel: A tdobol kiraml levego
megrezegteti a hangszlakat, majd a gge, garat, szj- s orrreg illetve a nyelv
ltal kpezett vltoztathat akadlyon keresztlhaladva alakul ki vgl a hang. A
hangszlak utn lvo hangkpzo szerveket sszefoglalan hangkpzo tnak (vocal
tract) nevezzk. A hangszalagok kpzik a zngt (alaphangot), majd a hangkpzo
t modullja azt. A mestersges hangkpzshez teht elo kell lltanunk egy gerjeszto jelet, s ezt kell modullnunk a hangkpzo t szerepnek megfeleloen.
A kdol a beszdet szegmensekre osztja, s minden szegmensre meghatrozza a gerjeszto jelet, s a hangkpzo utat modellezo szuro paramtereit. A gerjeszto jel olyan, hogy ezen belltott szuro kimenete leginkbb hasonltson a tmrtendo beszdre. A szintetizlt beszdtmrtok esetn a gerjeszto jelet nem
kldjk t, csak nhny paramtert, s ebbol a dekdol elolltja a megfelelo
gerjeszto jelet, majd ezzel hajtja meg a sajt szurobankjt, amelynek paramtereit
a kapott adatoknak megfeleloen lltotta be.
A tmrtendo beszd minden szegmenst egy svszuro bankon vezetjk keresztl, amelyet analzis szuronek neveznk. Az analzis szuro kimenetnek energijt meghatrozott idokznknt (ltalban msodpercenknt 50-szer) mintavtelezzk, s tkldjk a dekdolnak. (Az emberi beszd kb. 20 ms-os egysgen
bell stacionriusnak tekintheto.) Digitlis esetben az energit kzelthetjk a
szuro kimeneti jelnek tlagos ngyzetsszegvel, mg analg esetben a jel burkolgrbjnek mintavtelezsvel rhetnk clt. Az energia meghatrozsval
egyidejuleg azt is el kell dnteni, hogy az adott beszdszegmens zngs vagy
zngtlen hangot tartalmaz-e. A zngs hangok lperiodikus viselkedst mutatnak, az alapharmonikus frekvencijt hangmagassgnak hvjuk. A kdol a
becslt hangmagassg rtkt szintn tkldi a dekdolnak. A zngtlen hangok zajszeru szerkezetet mutatnak. A szintetizlt beszdtmrtst tekinthetjk
egy olyan vektorkvantlsnak, ahol a kvantlst az egyes szegmensek Fouriertranszformltjainak a terben vgezzk.
A dekdolban a hangkpzo szerveket svszuro bankkal modellezzk, ez a
szintzis szuro, amely megegyezik az analzis szurovel. Annak megfeleloen, hogy
zngs vagy zngtlen hangot kell-e visszalltani, a szintzis szuro bemeneteknt
egy, a hangmagassgnak megfelelo periodikus jelgenertort vagy egy lzajgenertort hasznlunk. A jel amplitdjt a becslt energinak megfeleloen lltjuk
be.

112

2. F ORRSKDOLS H USGKRITRIUMMAL

A hangkpzo t egy vltoztathat mretu rezontorregknt foghat fel, ezrt


szmos rezonanciafrekvencia lehetsges, de nem az sszes frekvenciasszetevo
egyformn fontos. A rezonanciafrekvencikat formnsoknak nevezzk. A formns frekvencija hangonknt eltro, de frfiak esetn 200800 Hz, mg nok
esetn 2501000 Hz kztti tartomnyba esik. Ezt a jellemzot hasznlja fel a
formns beszdkdol, amely meghatrozza a formnsok rtknek kzeltst
(ltalban 4 formns megklnbztetse elegendo), valamint ezek svszlessgt, majd a vevo oldalon a gerjeszto jelet hangolhat szurokn vezetik keresztl,
amelyeket a formnsok frekvencijra s svszlessgre hangolnak.
Ennyi felvezets utn nzzk meg a konkrt alkalmazsokat!
Lineris prediktv kdols (LPC) esetn egy lineris szurot hasznlunk, mely
az elozo mintk alapjn prbl optimlis becslst adni az aktulis mintra gy,
hogy a ngyzetes torzts minimlis legyen:
M

x n = ai x n

i + Gn ;

(2.29)

i=1

ahol G a szuro energija (gain), n a kvantland jel. Az ai egytthatk optimlis


meghatrozsa a 2.7. szakaszban ismertetett mdon trtnhet.
Az LPC-nek kt vltozata van. Az egyszerubb, nem-szintetizlt esetben (ez
mg hagyomnyos eljrsnak tekintheto abban az rtelemben, hogy nem hasznlja fel az emberi beszd modelljt) kzvetlenl a klnbsgi jel mintavtelezett
rtkt (n ) kldjk t a vevonek. Ekkor (2.29)-ben xn helyn a 2.6. szakaszban
megismert mdon a reproduklt xbn rtkek llnak.
A fejlettebb mdszer a vevooldalon szintetizlt beszdet llt elo, vagyis csak
a szuro fai g paramtereit s a G energit kell tkldennk, s ebbol generlja
a vevo a sajt szurojvel a beszdet gy, hogy az n sorozatot helyettesti egy
mestersges gerjeszto jelsorozattal.
A kdolnak a kvetkezo informcikat kell tkldenie: zngs vagy zngtlen-e a hang, a hangmagassg rtke s a hangkpzo utat modellezo szuro paramterei. Az LPC10 algoritmus esetn ez a kvetkezokppen nz ki: A zngs /
zngtlen informci 1 bit, a hangmagassgot 60 lehetsges rtkre kvantljk
egy logaritmikus karakterisztikj kompanderes kvantl segtsgvel (6 bit), s
zngs esetben 10-edrendu, mg zngtlen esetben 4-edrendu prediktv szurot alkalmaznak, ez 11 (10 a megfelelo egytthatk miatt s 1 az energia szmra)
illetve 5 elore rgztett adatot jelent. A szuro nagyon rzkeny az 1-hez kzeli
egytthatk hibjra. Mivel az elso nhny egytthat ltalban 1-hez kzeli,
ezrt a szabvny nemegyenletes kvantlst r elo a1 s a2 szmra. Ezt az albbi
mdon oldjk meg:
1 + ai
;
gi =
1 ai

2.8. B ESZDTMRTS

113

ezutn g1 s g2 rtkt egy 5 bites egyenletes kvantlval kvantljk, hasonlan


a3 ; a4 -et is. a5 ; : : : ; a8 -at 4 bites, a9 -et 3 bites, mg a10 -et 2 bites egyenletes kvantlval kvantljk. A zngtlen esetben fennmarad 21 bitet hibavdelemre hasznljk. A G energia rtkt a mintk ngyzetsszegbol gykvonssal hatrozzk
meg, s 5 bites, logaritmikus karakterisztikj kompanderes kvantlval kvantljk. A szinkronizcihoz szksges 1 tovbbi bittel egytt ez sszesen 54 bitet
tesz ki. Egy szegmens hossza 22:5 ms, teht az LPC10 algoritmus 2:4 kbps
tvitelt teszi szksgess.
A dekdol zngs szegmens esetn a szuro gerjesztojeleknt egy elore trolt
hullmformt hasznl. A hullmforma 40 minta hosszsg (a mintavtelezs
8 kHz-cel trtnik), ezrt a hangmagassgtl fggoen csonkolja vagy nullkkal
tlti ki. Ha a szegmens zngtlen, akkor a szurot egy lvletlen genertor jelvel
hajtja meg (fehr Gauss-zaj). Az LPC10 kdol rtheto, de nem tl j minosget
biztost 2:4 kbps bitsebessgen. Az, hogy csak ktfle gerjesztojelet alkalmaz a
szuro bemeneteknt, gpi jellegu hangot eredmnyez. Ez klnsen zajos krnyezet esetn jelent problmt, ugyanis a kdol a krnyezeti zaj miatt a zngs
szegmenseket is zngtleneknek fogja nyilvntani.
A termszetesen hangz beszd elolltsnak egyik legfontosabb sszetevoje
a gerjesztojel, ugyanis az emberi fl klnsen rzkeny a hangmagassg hibjra. Az LPC gyenge pontjt kszblik ki a szinuszos kdolk. Ezek gerjesztojelknt szinuszos sszetevoket hasznlnak. Egy elemi sszetevot hrom paramter
hatroz meg: az amplitd, a frekvencia s a fzis. Ezek kzl, ha a jelet egy lineris szuron vezetjk keresztl, a frekvencia nem vltozik. Mivel a hangkpzo t
modellezsre hasznlt szintzis szuro lineris, ezrt ezen egy szinuszos jelet tvezetve csak az amplitd s a fzis vltozik. Megllapthatjuk, hogy a gerjeszto
jel lershoz szksges paramterek szma megegyezik a szintetizlt beszdet
reprezentl paramterek szmval. gy ahelyett, hogy kln-kln kiszmtannk s tvinnnk a gerjeszto jel s a hangkpzo t szurojnek paramtereit s
a gerjesztojelet tvezetnnk a szuron, megtehetjk, hogy kzvetlenl a beszdet
lltjuk elo a vevo oldalon a szinuszos sszetevokbol.
A szinuszos kdolk is szegmensekre bontjk a beszdet. Amennyiben a vevo
oldalon egy-egy szegmensen bell a tbbitol fggetlenl szintetizljuk a beszdet,
gy az a hatrokon nem lesz folytonos, ami jelentosen rontja a minosget. Ezrt
a szinuszos kdolk klnbzo interpolcis algoritmusokat hasznlnak a szegmensek kztti tmenetek finomtsra.
Azonban ez mg nem elg, mert hiba kzeltjk jl a hangmagassgot, amg
a hangkpzo utat modellezo szuro bemenetre periodikus jelknt csak egyetlen
frekvenciasszetevobol ll jelet adunk (ahogyan LPC esetn tesszk), addig csak
zmmgo orrhangot kapunk. Ezt a problmt oldjk meg a szintzis ltali ana-

114

2. F ORRSKDOLS H USGKRITRIUMMAL

lzis alap kdolk, amelyek a gerjeszto jelet egy optimalizl hurokban hatrozzk meg. A kdol egyben dekdolt is tartalmaz, amely a szintzist vgzi.
Az gy szintetizlt jelbol kivonja a bemeno jelet, s az eloll hibajelet minimalizlja. A szintzis ltali analzis alap kdolk egyike a tbbfrekvencis lineris
prediktv kdol (MultiPulse Linear Predictive Coding, MultiPulse Excitation,
MPE) eljrs, amely minden szegmensben egyidejuleg tbb frekvenciasszetevot
hasznl. A lehetsges frekvenciasszetevo-mintt egy kdknyvbol vlasztja ki
olymdon, hogy a valdi s a szintetizlt beszdszegmens kztti, az emberi halls tulajdonsgainak megfeleloen slyozott eltrs minimlis legyen (ez egy specilis vektorkvantlnak tekintheto). Az MPE 6:4 kbps tviteli sebessggel j
minosgu beszdet produkl. Ennek tovbbfejlesztett vltozata a kddal gerjesztett lineris prediktv kdol (Code Excited Linear Prediction, CELP), ahol a
lehetsges mintkat tartalmaz (szuk) kdknyv helyett szmos gerjeszetojelet
engednk meg (egy nagyon nagy mretu sztochasztikusan kitlttt kdknyvet
hasznlunk). Minden szegmens esetn a kdol megkeresi azt a gerjesztovektort,
amelynek alkalmazsval a legtkletesebb szintetizls lehetsges. A CELP j
minosgu beszdet biztost 4:8 kbps-os sebessggel, annak rn, hogy kimerto
keresst kell vgezni egy tipikusan 1024 mretu kdknyvben.
A GSM rendszer teljes sebessgu kdolsa az MPE-hez hasonl mdszeren,
a szablyos impulzus gerjesztsen (Regular Pulse Excitation, RPE) alapul. MPE
esetn egy rvid periduson bell (515 ms) meghatrozott szm (M db) impulzust adunk. Egy adott impulzus amplitdjt s helyt az elozo M darab impulzus
alapjn hatrozzuk meg. RPE esetn az impulzusok szma szintn rgztett, s az
MPE-vel szemben ezek helye sem vlaszthat szabadon. Ezltal szuboptimlis
megoldshoz jutunk, de egyben egyszerusdik is a kdol. Az RPE-n alapul rvid ideju szintzis szurot a GSM rendszer egy hossz ideju becslo hurokkal (Long
Term Prediction) egszti ki. (Ez a kzepes bitsebessgu kdolk, mint pl. az RPE
esetn nem ltfontossg, de ltalban alkalmazzk a minosg nvelse rdekben.) 8000 minta/s mintavtelezsi sebessg mellett 13 kbps-os kdsebessget
biztost, ugyanis 20 ms-onknt 260 bitnyi paramtert (tmrtett informcit) llt
elo.
A GSM flsebessgu kdolsa a CELP csaldba tartoz vektorsszeggel gerjesztett lineris prediktv kdol (Vector-Sum Excited Linear Prediction,
VSELP) megoldson alapul. A gerjesztsre a kdknyvbol szrmaz rtkek
szolglnak, melyek rszben rgztettek, rszben adaptv jelleguek. A zngs jelleg mrtknek vizsglata alapjn a kdol elrendezse ngyfle lehet. A 0 kategria jelenti a zngtlen, az 13 pedig az egyre nvekvo mrtkben zngs jellegu
beszdszegmenst. A struktra 5 ms-os n. alkeretenknt vltozhat. A kdknyvben kimerto keresst alkalmaznak az alkeretenknti gerjesztosorozat meghatro-

2.9. H ANGTMRTS

115

zshoz, s a minimlis hibajel teljestmnyt ad gerjeszto kdot vlasztjk ki. Ha


a beszd zngs, akkor hossz ideju becslot is alkalmaznak. (Ez a kis bitsebessgu kdolknl, mint pl. a VSELP nlklzhetetlen.) A flsebessgu kdol a
teljes sebessgu vltozat 260 bitje helyett szegmensenknt csak 112 bitet hasznl,
ez 5:6 kbps-nak felel meg.

2.9. Hangtmrts
Az elozo szakaszban az emberi beszd minl gazdasgosabb, minl kisebb bitsebessget ignylo tvitelre koncentrltunk. Azonban a tovbbtand vagy troland hanginformci termszetesen nemcsak beszd lehet, hanem pldul zene
is. Az ezen a terleten hasznlhat mdszereket tekintjk t az albbiakban.
A hangtmrtsben mrcnek szmt CD-minosg azt jelenti, hogy 44100
Hz-cel mintavteleznk. Ez a mintavteli ttel rtelmben a legfeljebb 22050
Hz frekvencij hangok visszalltst teszi lehetov (valjban mintavtelezs
elott a 20 kHz-es svra szurnek). A mintkat 16 bites kvantlval kvantljuk.
Ez 44100  16  2  1400 kbps tviteli sebessget ignyel (a 2-es szorz a sztere
tvitel 2 kln csatornja miatt van).
A vesztesgmentes tmrtsi mdok (pl. Huffman-kdols, LZW) itt nem
igazn hatkonyak, az eredmny ltalban az eredeti mretnek 90 %-a krl van.
A modern, hangtmrtsre kifejlesztett eljrsok az emberi halls sajtossgait kihasznlva rnek el az ltalnos cl mdszereknl jobb tmrtsi arnyt,
gy amellett, hogy vesztesges eljrsok, a vesztesg mrtke nem is egyenletes
sem a frekvencia-, sem az idotartomnyban. Mivel itt a kzel tkletes hang viszszalltsa a cl, ezrt a hangtmrtsben nem megengedett a szintetizls.
Az emberi halls tartomnya 20 Hz 20 kHz, a legnagyobb rzkenysge
2 s 4 kHz kztt van, felbontsa (a kvantlsi lpcso) frekvenciafggo. Ebbol
kvetkezoen kt azonos intenzits, de klnbzo frekvencij hang klnbzo
hangossgrzetet kelt a hallgatban, s azokban a tartomnyokban, amelyekben
flnk kevsb rzkeny, jobban elviseljk a torztst. Hallsunkra jellemzo kt
elfedsi jelensg. Az egyik a frekvenciatartomnybeli elfeds, melynek lnyege,
hogy egy adott frekvencij, nagy intenzits hang (maszkol hang) a vele egy
idoben szl s kzeli frekvencin lvo kisebb intenzits hangokat elfedi, vagyis
azok nem hallhatak. A msik az idotartomnybeli elfeds: egy adott frekvencij nagy intenzits hang a kzeli frekvencin lvo kisebb intenzits hangokat
nemcsak akkor fedi el, amikor egytt szlnak, hanem kis ideig mg a nagy intenzits hang bekapcsolsa elott (kb. 2 ms-ig) vagy kikapcsolsa utn (kb. 15 ms-ig)
sem halljuk a kisebb intenzitsakat.
Mivel az emberi halls legjobban a frekvenciatartomnyban modellezheto,

116

2. F ORRSKDOLS H USGKRITRIUMMAL

ezrt a hangtmrto eljrsok frekvenciatartomnybeli analzissel dolgoznak. A


fentiek alapjn nem minden frekvenciasszetevot kell tvinni, s a kdolandkat
sem azonos pontossggal kell kvantlni.
Az eredetileg mozgkptmrtsre kifejlesztett MPEG1 szabvny hangtmrto rsze jl kihasznlja az emberi halls sajtossgait. A hangtmrtsre
hrom hasonl eljrst definil, s ezeket Layer 1,2,3-nak nevezi.
Az egyszerubb Layer 1 s 2 eljrs analzis szurobankja a bemeneti jelet 32
rszsvba kpezi le, melyek szlessge egyenknt a mintavteli frekvencia 64-ed
rsze. A mintavtelezs 32, 44.1 vagy 48 kHz-cel trtnhet. Ezutn rszsvonknt
egy transzformcis kdols kvetkezik. A maszkol s a maszkolt hang(ok) eltrst (Signal-to-Mask Ratio, SMR) Layer 1 esetn 512 pontos, mg Layer 2 esetn
1024 pontos gyors Fourier-transzformcival (FFT) szmtja. Mindkt mdszer
12 mintt (keret) kdol egytt minden svban, de a Layer 2 a megelozo s a kveto 12 mintt is megvizsglja az idobeli maszkolshoz, valamint a sklafaktorokat is hatkonyabban kdolja. Dinamikus bitallokcival kivlasztja a lehetsges
15 kvantl egyikt minden egyes rszsv szmra gy, hogy az a sklafaktor (a
legnagyobb amplitdj jel) s az SMR kztti bitmegosztst tekintve optimlis legyen. A CD-minosgu hang tvitelhez az MPEG1 Layer 1 eljrsnak 384
kbit/s-ra, mg a Layer 2-nek 256 kbit/s-ra van szksge. (2.11. bra)
A napjainkban oly nagy npszerusgnek rvendo MPEG1 Layer 3 eljrs a
Layer 1,2-hz kpest lnyeges, a hangminosget javt eltrseket tartalmaz. A
32 rszsv mindegyikt tovbbi 6 vagy 18 frekvenciasszetevore bontja mdostott diszkrt koszinusztranszformci (MDCT) felhasznlsval. gy a 18 pontos
MDCT alkalmazsa 750=18 = 41:67 Hz frekvenciafelbontst biztost. A frekvenciakomponensekre ezutn egy nemegyenletes kvantlt alkalmaz, majd a kimenetet a lehetsges 18 Huffman-kdtbla egyikvel kdolja. Az eljrs tartalmaz
egy itercit a bitsebessg s az elfedsi kritrium kielgtsnek biztostsra.
Ennek az adja meg a lehetosgt, hogy mg rgztett bitsebessg mellett minden
keret azonos szm bjtot tartalmaz, addig a Layer 3 esetben meg lehet azt tenni,
hogy az egyik keretet kevsb tltjk fel (ha nincs r igny), s a maradk helyre
a kvetkezo keret bitjeit tesszk. gy egy keret adatai adott hatrokon bell tcsszhatnak a szomszdos keretekbe. (2.12. bra)
Az MPEG szabvnyok csak a dekdolt szabvnyostjk, a kdolt nem. Persze az adott dekdol-rszegysghez sok esetben ltezik optimlis kdolrsz (pl.
IDCT a dekdolban ! DCT a kdolban, ismertek a kdpontok a dekdolban
! kiszmthatak a kvantlsi tartomnyok a kdolban). Bizonyos esetekben
(pl. az emberi halls modelljnek felhasznlsa vagy a bitallokci esetn) mr
nagy a szabadsgi fok, ebbol kvetkeznek a klnbzo MPEG kdolk kztti
minosgi eltrsek.

szurobank

FFT



szurobank 
szintzis

maszkol
kszb

SMR

-- sklz
s
-- kvantl
- dinamikus
bit s
- sklafaktor

--

MUX

digitlis csatorna

PCM
kimenet

analzis

alloktor
s kdol

sklz s
kvantl
inverze





DEMUX

dinamikus
bit s
sklafaktor
dekdol

2.9. H ANGTMRTS

PCM
bemenet

sklafaktor
adatok


117

2.11. bra. Az MPEG1 Layer 1,2 hangtmrto eljrs tmbvzlata.

PCM
kimenet

analzis
szurobank

FFT




szurobank 
szintzis

-- MDCT
dinamikus
-- ablakozssal
-

---

RD szablyozsi kr
sklz
s
kvantl

6 6 6

---

Huffmankdol

inverz MDCT
dinamikus
ablakozssal

kiegszto
informci
kdol

maszkol
kszb





sklz s
kvantl
inverze





Huffmandekdol





DEMUX

118

kiegszto
informci
dekdol

MUX

digitlis csatorna

2. F ORRSKDOLS H USGKRITRIUMMAL

PCM
bemenet

2.12. bra. Az MPEG1 Layer 3 hangtmrto eljrs tmbvzlata.

2.10. K P -

S VIDEOTMRTS

119

2.10. Kp- s videotmrts


Kp- s videotmrts esetn alkalmazhatunk egyrtelmuen dekdolhat (vesztesgmentes), vagy husgkritriumon alapul (vesztesges) mdszereket. A vesztesges mdszerek a vesztesgmenteseknl egyes esetekben akr egy nagysgrenddel is jobban tmrthetnek, szreveheto minosgromls nlkl. Amennyiben
a minosgi megktsek nem nagyon szigorak, mg ennl is tbbet nyerhetnk
a vesztesges mdszerek alkalmazsval. Ahhoz, hogy a minosgromls s a tmrts mrtke kztt meg tudjuk tallni az egyenslyt, szksgnk van e kt
jellemzo kvantitatv mrsre.
A tmrts mrtknek megllaptshoz mrnnk kell a tmrtetlen s a
tmrtett informci mrett, majd ezek hnyadost kell vennnk. A tmrtett informci a legtbbszr bitfolyamknt jelenik meg, ennek mrete a benne
levo bitek szma. A tmrtetlen informci mennyisgnek mrse nehzsgekbe tkzhet folytonos rtkkszlet vagy rtelmezsi tartomny esetn. Ilyenkor az informci mennyisgt vehetjk a kdol bementetn megjeleno jel
ami ltalban egy bitfolyam mretnek. Clszeruen ez a bitfolyam az eredeti jellel azonos vizulis lmnyt ad, de mr mintavtelezett s kvantlssal
vges rtkkszletuv alaktott jel binris brzolsa. A tmrtetlen informci mennyisgnek becslshez kulcsfontossg a megfelelo mintavtelezs s
kvantls kivlasztsa. Ezt a legtbb esetben szabvnyok hatrozzk meg. Ilyen
szabvnyokkal tallkozhattunk mr a hangtmrtsnl is: a CD-minosgu hang
a maga 44.1 kHz-es mintavtelezsvel s 16 bites lineris kvantlsval pontosan ilyen volt. Kptmrtsnl a felbontst s a sznmlysget kell meghatroznunk. Videotmrts esetn emellett meg kell adnunk a kpfrekvencit is.
Kptmrsnl gyakorlatilag brmilyen felbonts hasznlhat, mg videotmrtsnl a nemzetkzi televzis szabvnyokhoz alkalmazkodva 720  480 (NTSC),
768  576 (PAL) a szoksos felbonts. Az ezekhez tartoz kpfrisstsi frekvencik pedig 29.97 Hz illetve 25 Hz. A szntrbeli kvantlst a sznmlysg, vagyis
az egy kppontra jut bitek szma jellemzi. ltalnosan alkalmazott a 8 s a 24
bites sznmlysg.
A husgkritriummal val kdols csakis akkor rtelmes, ha azt gy hatrozzuk meg, hogy egy adott minosget garantljon. Sajnos csak szubjektv rtkelsekre tmaszkodhatunk egy adott kp vagy video minosgnek megtlse sorn.
Egy vesztesges tmrtsi mdszer rtkelse cljbl gy jrhatunk el, hogy bizonyos tesztadatokon vgrehajtjuk az adott tmrtst, majd a tmrts inverzt,
s az gy visszakapott kp vagy video minosgt egy tesztcsoporttal rtkeltetjk. Ha a teszt lefolytatsa sorn elg krltekintoen jrunk el, akkor viszonylag
objektv eredmnyeket kaphatunk az adott mdszer minosgrol. Pldul egy
lehetsges eljrs, ha a vizsglni kvnt tmrtst jl definilt egyb tmrt-


2. F ORRSKDOLS H USGKRITRIUMMAL

120

sekkel hasonlttatjuk ssze. Husgkritriumnak tekinthetjk azt, hogy sikerlt-e


egy adott standard mdszernl jobb minosget elrni. Megfeleloen standardizlt
teszteket ilyen rtelemben tekinthetnk husgkritrumnak.

Az emberi lts
A vesztesges kp s videotmrtsi mdszereket az emberi ltsrl meglevo
ismereteket felhasznlva alaktottk ki. Az informcimennyisg cskkentse rdekben a kp azon rszleteit kdoljuk kis pontossggal, amelyekre a szemnk
kevss rzkeny, s azokat kdoljuk majdnem eredeti minosgben, amelyekre a
szemnk igen rzkeny.
A sznek s a fnyessg rzkelsrt a szemben tallhat fnyrzkelo receptorok, a csapok s a plcikk a felelosek. A plcikk azonban csak a lts
perifrilis tartomnyban illetve igen kis fnyessgek esetn jtszanak jelentos
szerepet az rzkelsben, jelenltktol ezrt most eltekinthetnk. Hromfle klnbzo spektrlis rzkenysgu csap tallhat a szemnkben. Ezek a csapok az
o ket ro fnyre linerisan reaglnak. Spektrlis rzkenysgket jelljk rendre
s()-val, m ()-val s l()-val. Ezek a fggvnyek a lthat spektrumtartomnyon (360 nm830 nm) kvl 0 rtket, bell pedig nemnegatv rtket vesznek
fel. s() cscsa a kisebb hullmhosszak tartomnyban tallhat, m () cscsa a
kzepes hullmhosszaknl, mg l() cscsa a nagyobb hullmhosszaknl. Ezrt
kaptk nevket az angol short, medium s long szavak kezdobetuibol.
Egy L() spektrlis energiasurusggel rendelkezo fnysugr ltal kivltott inger az albbi vektorral jellemezheto:
0 1

Z
S
s()
M A = m
()A L() d
L
l()

Az integrlst itt a lthat spektrumtartomnyon kell elvgezni. Termszetesen


L() semmilyen -ra sem lehet negatv, ugyanis a negatv spektrlis energiasurusgnek nincs fizikai rtelme. gy nyilvnvalan S, M s L rtke is nemnegatv.
Ebbol az ingerhrmasbl alakul ki idegrendszernkben nemlineris feldolgozs sorn a fnyessg- s sznrzet. Fontos kvetkezmnye ennek, hogy kt klnbzo spektrummal rendelkezo fnyt nem tudunk megklnbztetni, ha a hozzjuk
tartoz S, M s L rtkek megegyeznek. Ezt a jelensget nevezzk metamer sznrzetnek, s az azonos S, M s L ingert kivlt (vagyis azonos fnyessg- s sznrzetet kelto, emberi szem ltal megklnbztethetetlen) spektrumokat nevezzk
metamer szneknek.
Mivel szemnk rzkenysge a fnyessgre jval nagyobb, mint a sznre, rdemes ezeket az adatokat elklnteni egymstl. Ehhez vgezznk az ingerekbol

2.10. K P -

121

S VIDEOTMRTS

1.8
z()

1.6
1.4
1.2

x()

y()

1
0.8
0.6
0.4
0.2
0
350

400

450

500

550

600 650
[nm]

700

750

800

850

2.13. bra. Az x(), y() s z() spektrlis slyfggvnyek.


ll vektoron egy lineris transzformcit:
X Y

T

=M

S M L

T

Ebben a transzformlt trben Y a fnyessgrzetet, mg X s Z a sznrzetet rja


le. Termszetesen egy L() spektrum fny (X ; Y ; Z ) koordinti egy lpsben (S,
M s L kiszmtsa nlkl) is szmthatak:
0 1

Z
X
x()
Y A = y()A L() d
Z
z()

Az integrlst itt is a lthat spektrumra kell elvgeznnk, s az


T

x() y() z()

=M

T

s() m () l()

slyfggvnyeket kell alkalmaznunk. x()-t, y()-t s z()-t brzoltuk a 2.13.


brn. Fontos tny, hogy M-et gy vlasztottk, hogy minden nemnegatv rtkkszletu L()-hoz tartoz X, Y s Z rtkek nemnegatvak legyenek.
A gyakorlatban a fnyessg lersra Y megfelelo, a sznrzetet pedig az x =
X
Y
X +Y +Z s y = X +Y +Z koordintkkal szoktk megadni. (Vagyis x s y az adott
spektrumhoz tartoz (X ; Y ; Z ) vektor egyenese s az X + Y + Z = 1 sk dfspontjnak X s Y koordintja.) Ezltal teht egy tetszoleges L() spektrumhoz


2. F ORRSKDOLS H USGKRITRIUMMAL

122

rendeltnk (Y ; x; y) koordintkat. Termszetesen egy adott (Y ; x; y) koordintahrmas tbb klnbzo spektrumhoz is hozz lett rendelve.
Ha csak a sznrzettel foglalkozunk, elegendo az (x; y) koordintaprossal szmolni. Ennek az (x; y) sznkoordinta-rendszernek az az elonye, hogy kt tetszoleges spektrumbl additvan kikeverheto spektrumok a kt kiindulsi spektrum
ltal meghatrozott szakaszon fekszenek. Matematikailag, ha L1 () spektrumhoz
az (x1 ; y1 ) pont tartozik, s L2 ()-hoz pedig (x2 ; y2 ), akkor tetszoleges nemnegatv -re s -re az L() = L1 () + L2 () spektrumhoz tartoz (x; y) pont az
(x1 ; y1 )-et s (x2 ; y2 )-t sszekt
o szakaszon fekszik. Sot, ltalnossgban is kimondhat, hogy az Li () spektrumok nemnegatv egytthats linerkombinciihoz ( i Li ();  0) rendelt (x; y) koordintk az Li () spektrumokhoz rendelt
i

(x i ; y i )

pontok konvex burkn bell fekszenek.


Az egyetlen spektrlis sszetevot tartalmaz (L() = c ( 0 )) spektrumokat monokromatikus spektrumoknak nevezzk. A monokromatikus spektrumokhoz tartoz pontok egy grbt adnak az (x; y) sznkoordinta-rendszerben. A
grbe s a kt vgpontjt sszekto szakasz ltal hatrolt terletet nevezzk sznpatknak. Ezt tntettk fel a 2.14. brn.
Mivel tetszoleges spektrum felrhat monokromatikus spektrumok integrljaknt, a fentiek rtelmben tetszoleges valdi spektrumhoz tartoz (x; y) koordintk a sznpatk terletn helyezkednek el. (Ugyanis ez a tartomny a monokromatikus spektrumok pontjainak konvex burka.) Mskppen fogalmazva: nemnegatv
L()-bl szmolt (x; y) rtkek nem eshetnek a sznpatkn kvlre.
A ma hasznlt kpernyok legnagyobb rsze hrom klnbzo sznu foszfor
ltal kibocstott fny additv keversvel dolgozik. A foszforokat klnbzo mrtkben gerjesztve klnbzo fnyessg- s sznrzetek kelthetoek. Ha a fenti
(x; y) koordintarendszerben bejelljk a felhasznlt foszforok ltal kibocstott
fny spektrumhoz tartoz pontokat, akkor egy hromszget kapunk, mely a kpernyo ltal keltheto sznrzetek tartomnyt hatrolja. Az ezen tartomnyon kvl eso (x; y) koordintkhoz tartoz sznrzetek keltsre az adott kpernyo nem
alkalmas. Pldaknt a 2.14. brn feltuntettk a HDTV szabvnyban szereplo
foszforoknak megfelelo pontokat, s a velk megjelentheto sznek tartomnyt.
Ha a fent bemutatott mdon mukdo kpernyovel jelentnk meg, rdemes
a fnyessgeket s szneket nem (Y ; x; y) koordintkkal, hanem olyan koordintkkal megadni, amelyek azt mutatjk, hogy a hrom alapsznt milyen arnyban kell keverni a kvnt sznhats elrshez. Mivel a megjelentok nemlineris
karakterisztikval rendelkeznek, a megfelelo nemlineris elotorztssal (gammakorrekci) kapott (R0 ; G0 ; B0 ) rtkeket szoktk hasznlni. Ezek rtktartomnya
a 0 s 255 kztti egsz szmokbl ll. Ilyen sznkezels esetn 224 klnbzo
sznt tudunk reproduklni, ami a legtbb esetben kielgto. Az (R0 ; G0 ; B0 ) sznko-

2.10. K P -

123

S VIDEOTMRTS

0.9
= 525 nm
0.8
= 550 nm

0.7

zld

0.6
= 500 nm

= 575 nm

0.5
0.4

= 600 nm
vrs
= 625 nm

0.3
0.2
= 475 nm

0.1

kk
0
0

0.1

0.2

0.3

0.4
x

0.5

0.6

0.7

0.8

2.14. bra. Az (x; y) sznkoordinta-rendszer s a HDTV kpernyokben hasznlt


foszforok ltal megjelentheto tartomny.

ordintk csak a hrom alapszn ltal hatrolt hromszgn belli szneket tudjk
lerni, de ha gyis csak ezt a tartomnyt tudjuk megjelenteni, akkor nincs is rtelme az ezen tartomnyon kvli sznek lersnak.
Egyes esetekben el kell vlasztanunk a fnyessg- s a szninformcit. Erre
termszetesen alkalmasak lennnek az (Y ; x; y) koordintk, viszont ezek vals rtkuek, nehzkes velk szmolni s nehz o ket hatkonyan tmrteni. Tovbbi
htrny, hogy br Y a fnyessgrzetet jellemzi, szemnk nem egyenletesen rzkeny az Y koordintban: pldul az Y = 0:1 s az Y = 0:2 kztti fnyessgklnbsget jval nagyobbnak ltjuk, mint az Y = 0:7 s Y = 0:8 kztti klnb-


2. F ORRSKDOLS H USGKRITRIUMMAL

124

sget. Az (R0 ; G0 ; B0 ) rtkekbol affin transzformcival kaphatak az (Y 0 ; Cb ; Cr )


sznkoordintk. Y 0 -t luminancinak nevezzk, s a fnyessgrzetet rja le, Cb -t
s Cr -t krominancinak nevezzk, ezek a sznrzetet rjk le.
0

Y0
16
65:738
1 
Cb A = 128A +
37:945
256
128
Cr
112:439

129:057
74:494
94:154

25:064

112:439 A R0 ; G0 ; B0
18:285

Ennek a sznkoordinta-rendszernek az Y 0 egytthatjban mr tbb-kevsb lland a szemnk rzkenysge. Tovbbi elony, hogy ezek az rtkek is 0 s 255
kztti egsz szmok, s belolk az (R0 ; G0 ; B0 ) szmrtkek egyszeruen elollthatak. Htrnyuk viszont, hogy csak a teljes sznpatk egy hromszg alak
tartomnyt tudjuk velk reprezentlni.
Most foglaljuk ssze, hogy az emberi sznrzkelsrol szerzett informciinkat hogyan hasznlhatjuk fel kp- s videotmrts esetn. Bizonyos esetekben,
amikor a cl nem a sznrzet trolsa, hanem egyb ksobbi feldolgozs (pldul
csillagszati felvtelek esetn), akkor szksges lehet a berkezo fny spektrumnak mintavtelezett formjt trolni. Ha azonban csak a vizulis lmny visszaadsa a clunk, akkor a metamer sznrzet miatt kppontonknt elegendo mindssze hrom vals szmrtket (pl. (Y ; x; y)) trolni. Ha ezen fell azt is tudjuk,
hogy a kpet a ksobbiekben vrs, zld s kk foszfort alkalmaz megjelenton
akarjuk rekonstrulni, vagy legalbbis megelgsznk az ezen megjelentok ltal
elollthat szntartomnnyal s 224 szn megklnbztetsvel, akkor elegendo
csak hrom nyolcbites rtket (pl. (R0 ; G0 ; B0 )) trolni. (Nyomdatechnika esetn
pldul elofordulhat, hogy ez a trols nem kielgto.) Vesztesges tmrts esetn felhasznlhatjuk azt is, hogy a fnyessgre jobban rzkeny a szemnk, mint
a sznre. Ilyenkor fogjuk az (Y 0 ; Cb ; Cr ) szmhrmast hasznlni, s nagyobb torztst engednk meg Cb s Cr rtkre, mint Y 0 rtkre.
Szemnknek sok egyb olyan tulajdonsga is van, amit kp- s videotmrtskor kihasznlhatunk. Megfigyelhetjk, hogy a nagyobb trbeli frekvencij sszetevokre kevsb rzkeny a szemnk mint az alacsonyabb frekvencijakra. Pldul egy halvny suru mintzatot sokkal kevsb vesznk szre, mint
egy ugyanolyan halvny, de ritks mintt. Tmrtsnl, ha a kp ktdimenzis
Fourier-transzformltjt vesszk, akkor ebben a magasabb frekvencis sszetevok
torztsa nem okoz szreveheto hibt, mg az alacsonyabb frekvencij sszetevok
torztsa igen feltuno a kpen. Pontosabban, a ktdimenzis Fourier-transzformlt
frekvenciatartomnyban a szem rzkenysge a kt frekvencia sszegnek nvekedsvel monoton cskken.
Ksrleti tny tovbb, hogy a trbeli s idobeli frekvencik rzkelse sszefgg: egy rvid ideig ltott kpen csak az igen kicsi trbeli frekvencij sszetevoket figyeljk meg, a finomabb mintzatokat csak hosszabb ideig ltott kpen

2.10. K P -

S VIDEOTMRTS

125

vagyunk kpesek rzkelni. Vesztesges videotmrtsnl ennek megfeleloen


megengedjk, hogy egy hirtelen megjeleno kprszletnek az elso nhny kpkockn csak az alacsonyabb trbeli frekvencis sszetevoi jelenjenek meg. A magasabb frekvencis sszetevoket elg csak ezutn megjelenteni.

Graphics Interchange Format (GIF)


A GIF formtumot a Compuserve Information Service foglalta szabvnyba.
Grafikus kpek vesztesgmentes tmrtsre lehet hasznlni. Az algoritmus
LZW alapokon mukdik. Lnyegben egy dinamikusan nvekvo sztrral dolgoz megolds.
A GIF formtum a kppontok sznt gynevezett indexelt formban trolja.
Amikor minden kppont sznt a fentebb bemutatott sznkoordinta-rendszerek
valamelyikben adjuk meg, folytonos tnus trolsrl beszlnk. Megtehetjk
azonban, hogy a kpen hasznlt sznek valamilyen lerst egy palettba gyujtjk
ki, s a kppontok megadsakor a sznekre a palettabeli indexkkel hivatkozunk.
Ezt nevezzk indexelt trolsnak.
Ilyen trolssal igen nagy tmrtst rhetnk el. Gondoljuk meg, hogy ha egy
kpet az (R0 ; G0 ; B0 ) sznkoordintkkal, koordintnknt 88 bitet felhasznlva
folytonos tnusan trolunk, akkor minden kpponthoz 24 bitet kell megadnunk.
Ha ugyanezt a kpet egy 256 sznu palettval indexelten troljuk, akkor a palettn
kvl kppontonknt csak egy 8 bites indexet kell megadnunk. Ez amennyiben
a kpmret nem tl kicsi krlbell 1 : 3 tmrtst jelent.
Termszetesen brmilyen kp trolhat indexelt formban, legfeljebb igen
nagy mretu paletta szksges. Az indexelt trols lnyege viszont pp a viszonylag kis mretu paletta alkalmazsa. A kpek folytonos tnus trolssal kerlnek a tmrtoalgoritmusok bemenetre, gondoljunk pldul szkennelt fnykpre
vagy digitalizlt videojelre. (Ez all csak a szmtgpes grafikk alkotnak nha
kivtelt, ugyanis ezek lehet, hogy azonnal indexelt formban kszlnek.) Ezrt
szksges lehet, hogy egy folytonos tnus kpet indexeltt alaktsunk. Ennek
sorn minl kisebb palettamretet szeretnnk elrni, annl tbbet kell az eredeti
kp sznei kzl msikkal helyettesteni. Felfoghatjuk ezt gy is, hogy az indexelt
trols formv val talakts egy vektorkvantls a szntrben. Az optimlis
(teht a leheto legkevsb lthat torzulst okoz) paletta (vagyis az optimlis
kvantlsi vektorok) kivlasztsra specilis az emberi sznrzkels tulajdonsgait kihasznl algoritmusok llnak rendelkezsre.
A GIF formtumban a paletta mrete ltalban 256, de brmely kisebb 2 hatvny hasznlata is megengedett. A palettban a sznek megadsa az (R0 ; G0 ; B0 )
sznkoordintkkal trtnik. A paletta tmrtsnek mikntjvel nem foglalko-

126

2. F ORRSKDOLS H USGKRITRIUMMAL

zunk. A kppontokat a GIF tmrts sorfolytonosan tapogatja le, s a sorozatot


LZW algoritmussal tmrti.
A tmrtett kp elso bjtjnak rtke a kppontonknti bitszm (b). Ez hatrozza meg a palettamretet: 2b . Az LZW sztr kezdeti mrete 2b+1 , teht
minden kdsz b + 1 bites. Az elso nhny kppont szempontjbl (amg nincs a
kppontok sorozatban ismtlods) ez azt jelenti, hogy kppontonknt egy plusz
bit kpzodik, hisz a b bites kppont b + 1 biten lesz trolva. Kzben azonban
pl az LZW sztr, s ha a kppontrtkek sorozatban valahol ismtlods van,
azt az LZW azonnal kihasznlja. Ha a 2b+1 mretu sztr betelt (ezt a pillanatot
termszetesen a kitmrto algoritmus is meg tudja llaptani), a sztr mrett az
algoritmus megduplzza, s ettol kezdve b + 2 bites kdszavakkal dolgozik. Ha
ez a sztr is betelik, akkor ismt duplzdik a mret, amg el nem ri a 4096 bejegyzst. Innentol mr nem nvekszik tovbb a sztr, hanem az eddig elkszlt
sztrat fogja a tovbbiakban statikus sztrknt hasznlni az algoritmus.
A GIF formtum nagyon elterjedt, leginkbb kis ikonok, brk tmrtsre
alkalmazzk, ugyanis ezeket kpes igen jl tmrteni. Ennek egyik oka, hogy
az ikonok s brk sok esetben nagy kiterjedsu, egysznu terleteket tartalmaznak, s ezek a sorfolytonos letapogatssal hossz egysznu sorozatokknt jelennek
meg. A hossz sorozatok az LZW sztrban egy kdszval reprezentlhatk, gy
igen hatkony a tmrts. Ugyancsak jellegzetessge az ilyen kpeknek, hogy
ismtlodo rszleteket tartalmaznak, s ezek megintcsak kedveznek az LZW algoritmusnak. Azonban pldul fotk esetn az egysznu terletek igen ritkk, s
mretk is viszonylag kicsi. Ennek eredmnyekppen a GIF tmrtsi arnya
ilyen kpnl (1 : 1:2 1:7) elmarad sok ms, viszonylag egyszeru mdszer mgtt. (Pldul, ha predikciknt az elozo kppont rtkt hasznljuk, s a kapott
klnbsgi sorozatot adaptv aritmetikai kdolval (teht gyakorlatilag emlkezetnlkli forrs entrpijnak megfelelo bitsebessggel) tmrtjk, akkor a tmrtsi arny 1 : 1:3 2:2 lesz.)
A klnbsg msik oka a sznkezelsben keresendo. Az ikonok s brk ltalban viszonylag kevs sznt tartalmaznak, ezrt igen elonys az indexelt trolsuk. Egy olyan tmrts, amely nem tud indexelt kpeket tmrteni, egy ilyen
brt knytelen lenne folytonos tnusv alaktani a tmrts elott. gy ktszerhromszor akkora adatmennyisget kellene, hogy tmrtsen, mint a GIF, amely
kzvetlenl az indexelt formval kpes dolgozni. Sok mdszer azrt nem tud kzvetlenl indexelt kpeken dolgozni, mert a szomszdos kppontok rtkeinek kis
klnbsgre alapoz. Mivel folytonos tnus trolsnl a szomszdos kppontokban trolt rtkek a sznkoordintk, ez a felttelezs helyes, s ltalban teljesl
is. Indexelt trols esetn azonban a kppontokban trolt rtkek a palettaindexek,
s ezek tetszolegesen tvoliak lehetnek (csak a nekik megfelelo palettabeli szn-

2.10. K P -

127

S VIDEOTMRTS

koordintk rtkei vannak egymshoz kzel). Fokozottan jelentkezik ez akkor,


ha valamilyen palettaoptimalizl eljrst alkalmaztunk. Elgg jl lthat, hogy
a GIF-nek mirt nem problma ez: a GIF ismtlodo mintzatokat keres, s ilyen
szempontbl teljesen mindegy, hogy a kzeli kppontok rtkei megkzeltoleg
egyenloek-e. Mindssze az szmt, hogy vannak-e ismtlodsek. gy mr rtheto,
hogy mirt is olyan hatsos mdszer a GIF szmtgpes brk tmrtsnl.

Joint Photographic Experts Group (JPEG)


A JPEG a kptmrts civil vilgban szinte egyeduralkod a vesztesges tmrtsek terletn. Az egsz szabvnycsomagot a Joint Photographic Experts
Group (ISO/IEC JTC 1 / SC 29 / WG 1) dolgozta ki folytonos tnus kpek tmrtsre. Valjban a JPEG szabvnycsomag tmogat vesztesges s vesztesgmentes kptmrtst is, br tny, hogy a gyakorlatban szinte kizrlag az elsot
hasznljk. Mindezek ellenre a prediktv kdols j pldja a vesztesgmentes JPEG, ezrt az albbiakban ezt is bemutatjuk, tovbb rszletesen trgyaljuk a
vesztesges JPEG egy egyszeru vltozatt, a baseline JPEG-et.
A vesztesgmentes JPEG kptmrts alapja a predikcis kdols. Predikcira az ppen tmrtsre kerlo kppont krnyezett hasznljuk fel. Mivel a kppontok letapogatsa itt is sorfolytonosan trtnik, az adott kpponttl balra vagy
felfel eso kppontok rtkei azok, amelyek a dekdol rendelkezsre llnak az
adott kppont rtknek visszalltsakor, gy a kdol is csak ezeket hasznlja fel
a predikcihoz. Nyolcfle predikcis sma ltezik, s ezek kzl egy adott kp
tmrtshez brmelyik hasznlhat, de egy kpen bell vgig ugyanaz a sma
rvnyes. Jellje Xi; j az (i; j) koorintj kppont rtkt, s Xbi; j az (i; j) koordintj kppont becslt rtkt. Az (i; j ) koordintj kppont becslt rtke az
egyes predikcis smkban:
0

Xbi; j = 0

Xbi; j = Xi

2
4

Xbi; j = Xi; j 1
Xbi; j = Xi 1; j 1
Xbi; j = Xi; j 1 + Xi 1; j

Xbi; j = Xi; j

Xbi; j = Xi

Xbi; j =

1; j

1+
1; j +

Xi; j

Xi
Xi; j

1; j

1 + Xi 1; j

Xi

1; j 1

Xi
2
Xi
2

1; j 1

1; j 1


2. F ORRSKDOLS H USGKRITRIUMMAL

128
8  8-as
blokk

8  8-as
blokk

- kvantl

DCT

fn; sg; v
8  8-as
64 hossz
blokk cikk-cakk sorozat futamhossz hrmasok Huffmanelrendezs
kdol
kdol

.
adatfolyam ..
JPEG

8  8-as

blokk

8  8-as

DCT

blokk

8  8-as

kvantl
inverze

blokk

fn; sg; v
64 hossz
cikk-cakk sorozat futamhossz hrmasok Huffmanelrendezs
dekdol
dekdol

2.15. bra. Vesztesges baseline JPEG tmrts.


Lthat, hogy az elso lehetosg maga a predikcimentes tmrts. Megfigyelheto, hogy az sszes tbbi predikcis sma mellett az egysznu terleteken a
predikcis hiba 0, azaz Xbi; j = Xi; j .
A predikcis hibt adaptv aritmetikai kdolssal ajnlott tmrteni. Javthat a tmrts mrtke, ha a kpet blokkokra osztjuk, s minden blokkra kln
adjuk meg a hasznlni kvnt predikcis smt.
A vesztesges baseline JPEG tmrts algoritmusa a 2.15. brn lthat. A
JPEG a kpeket el
oszr kpskokra bontja: minden kpsk egy-egy sznkoordinta
rtkeit tartalmazza. Sznkoordintnak az elozoekben bemutatott (Y 0 ; Cb ; Cr ) hrmast hasznljuk, mindegyiket 8-8 biten trolva. gy egy kppontra sszesen 24 bit
jut. A JPEG tmrto algoritmus szmra a kpskok gyakorlatilag egymstl fggetlen kpekknt jelennek meg, kln-kln vannak kdolva.
Megengedett, hogy a kpskok felbontsa eltrjen. Mindssze annyi a kikts,
hogy a felbontsok arnya racionlis legyen. A kp kitmrtsekor a felbontsok legkisebb kzs tbbszrsnek megfelelo felbonts kpet lltunk vissza,
ahol az egyes kpskok kppontbeli rtkeit lineris interpolcival lltjuk elo
a trolt felbontssal megegyezo felbontsban rekonstrult kpsk rtkeibol. A
klnbzo felbonts kpskok alkalmazsnak lehetosgt az emberi lts tulajdonsgairl tanultaknak megfeleloen gy szoks kihasznlni, hogy a Cb s
Cr kpskok vzszintesen s fggolegesen is felre cskkentett felbontssal vannak
trolva. Pldul 400  400 pontos kp esetn az Y 0 kpsk felbontsa 400  400,
mg a Cb s Cr kpskok felbontsa 200  200. Kitmrtsnl visszalltjuk a
400  400-as Y 0 kpskot, s a kt 200  200-as Cb s Cr kpskot. Ezutn a Cb s
Cr kpskokat lineris interpolcival a ktszereskre nagytjuk, majd az gy kapott kt 400  400-as kpskot s a 400  400-as Y kpskot vettjk egymsra,
hogy az eredeti kpet kapjuk.
Az algoritmus elso lpse a kpskok 8  8-as ngyzetekre bontsa. Ha a
kpmret nem oszthat 8-cal, akkor a jobb szlso oszlop s/vagy a legals sor

2.10. K P -

129

S VIDEOTMRTS

tbbszrzsvel azt 8-cal oszthatv tesszk. (Az gy keletkezo felesleges szlek levgsa a dekdol feladata ezt a kpmret alapjn knnyu megtenni, a
kpmret pedig a JPEG fejlcben van trolva.) Ms tmrtsi mdszerek, ha arra
knyszerlnek, hogy a bemeno adatsort meghosszabbtsk valamilyen kttt
blokkmret miatt , akkor azt ltalban 0-kkal egsztik ki. rdekes a JPEG
megoldsa erre az esetre. Az a furcsa, hogy egy igen informcids adatdarabbal
trtnik a kiegszts: a kp egy rszletvel. Sok egyb algoritmus esetn a 0-kkal
val feltlts a 0 sorozat j tmrthetosge miatt ajnlott. Esetnkben azonban
a tmrts ksobbi lpsei arra ptenek, hogy egy kp alapvetoen homogn, s
csak ott kell valamit lekdolni, ahol a kp vltozik. Ennek megfeleloen a legnagyobb nehzsget az les hatrok kdolsa okozza ezek kdolsa teszi ki
a tmrtett adatfolyam legnagyobb rszt, ezek trnek el legjobban a minden
egysznu megkzeltstol. A JPEG kdols annyira jl hasznlja ki a kp redundancijt, hogy tbb bitbe kerlne egy 0 sorral vagy oszloppal val kiegszts
ltal behozott j l lekdolsa, mint az utos sor mr amgy is feltrkpezett szerkezetnek megismtlse. Ezrt dntttek a szabvnyban ezen megolds mellett.
A 8  8-as ngyzeteket ktdimenzis DCT transzformcinak vetjk al.
gy ugyancsak 8  8-as ngyzeteket kapunk, csak azok most mr nem egsz rtkekbol, hanem vals szmokbl llnak. Ezeket a frekvenciatartomnybeli vals
egytthatkat a kvetkezo lps, a kvantls fogja ismt egszekk alaktani.
A kvantls egyenletes, viszont a 8  8-as ngyzet minden egyes elemre
ms lpskzzel hajtjuk vgre. A 8  8-as DCT transzformlt ngyzet egytthati klnbzo frekvencij felharmonikusoknak felelnek meg. A kis frekvencis
egytthatk a ngyzet bal felso rszben vannak. Mint tudjuk, a szem ezekre
a kisebb frekvencihoz tartoz rtkekre sokkal rzkenyebb, mint a nagyobb
frekvencihoz tartozkra, ezrt ezeket finomabb lpskzzel fogjuk kvantlni. A
szabvny nem kti meg, hogy milyen kvantlsi lpskzket hasznljunk. A
hasznlt lpskzket tblzatba szoks foglalni, ahol egy tblzatelem a 8  8as ngyzet megfelelo egytthatjnak kvantlsi lpskzt tartalmazza. Br a
szabvny nem teszi ktelezov a hasznlatt, de ajnl egy kvantlsi tblt:


16
19
22
22
26
26
27

16
16
22
22
26
27
27
29

19
22
26
26
27
29
29
35

22
24
27
27
29
32
34
38

26
27
29
29
32
35
38
46

27
29
34
34
35
40
46
56

29
34
34
37
40
48
56
69

34
37
38
40
48
58
69
83

A 0 frekvencihoz tartoz egytthat (neve DC komponens) a DCT transzform-

130

2. F ORRSKDOLS H USGKRITRIUMMAL

rr -rr  rr -rr  rr -r
?r  r r 
r r 
?r

2.16. bra. Cikk-cakk elrendezs.


ci sorn a bal felso sarokba kerlt. Kihasznlva az egyms melletti kprszek
viszonylag hasonl sznt, a DC komponenst nem kvantljuk, ehelyett az egyms utni 8  8-as blokkok DC komponenseinek klnbsgt vesszk. Ezrt nem
tartozik a DC komponenshez rtk a kvantlsi tblban.
Lthat, hogy a nagyobb frekvencis egytthatkra nagyobb lpskzt ad meg
a tblzat. Ennek eredmnyekppen a nagyobb frekvencis egytthatk kvantlt
rtkei majdnem mind 0-k lesznek. Ezeket a 0-kat egy ksobbi lps (a futamhossz kdols) sorn jl tudjuk majd tmrteni. A kvantlsi tbla vltoztatsa
teht lehetosget ad a tmrts mrtknek s minosgnek befolysolsra: a
tmrtst nvelni lehet a kvantls lpskznek nvelsvel, a kp minosgnek rontsa rn.
A kvantlt egytthatkat ezutn az gynevezett cikk-cakk elrendezs szerint
sorbarendezzk (2.16. bra). gy az elso helyre a klnbsgi DC egytthat kerl,
azt kveti a vzszintes alapharmonikus, majd a fggoleges alapharmonikus, majd
pedig az egyre nvekvo frekvencis felharmonikusok kvetkeznek. Ksznhetoen annak, hogy a kvantls sorn a tblzat magasabb frekvencikhoz tartoz
egytthati nagyrszt kinullzdtak, a kapott sorozat a vge fel tlnyomrszt
0-kbl ll. Ezt hasznljuk ki a kvetkezo lpsben a futamhossz kdolssal.
A futamhossz kdolsi lpsben a cikk-cakk elrendezssel kapott, javarszt
0-kbl ll sorozatot rszekre bontjuk gy, hogy minden rszsorozat eleje tetszoleges szm 0-bl lljon, s ezt a vgn egyetlen nem 0 elem zrja. Minden gy
kapott rszsorozathoz egy (fn; sg; v) szmhrmast rendelnk. n az adott rszsorozat elejn levo 0-futam hossza, s jelzi, hogy a rszsorozat vgn tallhat nem
0 rtket hny biten kdoljuk, v pedig ezen nem 0 rtk binris brzolsa. Az
s vltozra a tmrts hatkonysgnak nvelse miatt van szksg, mert ugyan
elofordulnak nha nagy abszolt rtku elemek, de ezek ritkk, gy nem rdemes
minden elemet azonos bithosszon kdolni.

2.10. K P -

S VIDEOTMRTS

131

gy pldul a 23; 0; 0; 0; 0; 7; 0; 19; 4; 0; 0; 0; : : : sorozat elso futamhosszkdhrmasa: (f0; 6g; 010111), hiszen az elso elem, a 23 elott nincs 0, gy n = 0.
23 binris szmknt 6 biten kdolhat elojelesen, gy s = 6. A tovbbi kdszavak:
(f4; 4g; 1000); (f1; 6g; 101100); (f0; 4g; 0100); : : : (Az el
ojeles binris szmokat
egyes komplemens brzolsban tntettk fel. Megfelelo technikval ezek 1 bittel
rvidebben is kdolhatak.)
Az gy kapott (fn; sg; v) hrmasok fn; sg elemeit statikus Huffman-kddal tmrtjk tovbb, a v rtkeket pedig egyszeruen elvlasztjel nlkl egyms utn
rjuk. A statikus Huffman-kd azt jelenti, hogy nem az fn; sg prok adott kpben
levo gyakorisga alapjn vlasztjuk a kdszavakat, hanem azok a JPEG szabvnyban le vannak rgztve. (A statikus kdot az fn; sg prok sok kpre vett tlagos
gyakorisgai alapjn terveztk meg.) Alkalmazhatnnk a Huffman-kdolst magukra az (fn; sg; v) hrmasokra is, de akkor a kd annyira sok kdszbl llna,
hogy kezelhetetlen lenne, nagyon lass lenne vele dolgozni. A v rtkek levlasztsa j dnts, mert ezzel a kd mrete kezelheto lesz, viszont a hatkonysga
csak alig romlik: a v rtkek bitjei a tapasztalat szerint gyakorlatilag fggetlenek s egyenletes eloszlsak, gy nem tmrthetoek, hiba is vonnnk be o ket a
Huffman-kdba.
A fenti pldn bemutatva ezt az utols lpst, a tmrtett kpbe a f0; 6g; f4; 4g;
f1; 6g s f0; 4g Huffman-kdja, s a 01011110001011000100 sorozat kerl.
Br a baseline JPEG (a szabvny alapkdolsa) nem engedi meg, de ms,
kiterjesztett mdokban hasznlhatunk aritmetikai kdolt is az fn; sg prok kdolsra. Ilyenkor ltalban a legjobb eredmnyeket adaptv aritmetikai kdol
hasznlatval lehet elrni.
A JPEG egyszerusge ellenre meglepoen alacsony bitsebessgeket tud elrni.
A kppontonknti 2 bites tmrts egy 24 bites sznmlysgu kp esetn az eredetitol megklnbztethetetlen kpet eredmnyez legalbbis az emberi szem
szmra nem lthat a klnbsg. Igen kis, 1 bit/kppontos bitsebessg esetn
kezd el zavarv vlni a torzts, s 0:5 bit/kppont alatt a kp nem lvezheto. A
felismerhetosg mg 0:086 bit/kppontos bitsebessg mellett is biztosthat. Termszetesen ilyen alacsony bitsebessgek esetn klnbzo kiterjesztsek is szksgesek a szabvnyhoz. Mindenesetre ezek az eredmnyek nagyon jnak szmtanak. A JPEG alacsony bitsebessgek esetn legeloszr kocksodni kezd. Ezt
az alacsonyfrekvencis egytthatk rtknek kvantls miatti torzulsa okozza.

Moving Picture Experts Group (MPEG)


A Moving Picture Experts Group (MPEG) a JPEG-hez hasonlan az ISO egyik
munkacsoportja (ISO/IEC JTC 1 / SC 29 / WG 11). Feladatuk olyan video-


2. F ORRSKDOLS H USGKRITRIUMMAL

132

tmrtsi szabvnyok kidolgozsa volt, melyek szleskru ipari konszenzuson


alapulnak. Az ilyen jellegu szabvnyokra a digitlis konvergencia idoszakban
mind a tartalom elolltknak, mind a felhasznlknak, mind a kzttk ll szolgltatknak szksgk van. Az MPEG egy t szabvnybl ll szabvnycsomag
kidolgozst tuzte ki clul, mely a vesztesges videotmrts (belertve a hangtmrtst is), a digitlis televzizs s a multimdis alkalmazsok szles krt
fedi le. Az t szabvny: MPEG -1, MPEG -2, MPEG -4, MPEG -7 s MPEG -21.
A CD-olvask elso genercija a hifi minosgu tmrtetlen zenhez szksges, 1:4 Mbit/s lejtszsi sebessgre volt kpes. Az MPEG -1 szabvny kialaktsakor azt tuztk ki clul, hogy a fenti sebessgu, egyszeres (1) CD-meghajtk
olvassi sebessgn hasznlhat formtumot hozzanak ltre. Ez nehz feladat
volt, hiszen egy 8 biten mintavtelezett video (NTSC vagy PAL) tmrtetlenl
nagysgrendileg 200 Mbit/s tviteli sebessget ignyel. A szksges tmrts
teht nagyjbl 1 : 140 kell hogy legyen, sot mg a hangcsatorn(k)nak s a hibajavt kdnak is helyet kell szortani. A nagy tmrtsi igny mellett a vletlen
elrs lehetosgt is teljesteni kellett, vagyis azt, hogy a trolt video brmelyik
rszt (akr a kzept is) gyorsan el lehessen rni. Amennyiben prediktv algoritmussal tmrtnk, problmt okozhat ennek a kritriumnak a megvalstsa,
hiszen ilyenkor csak a kezdeti, biztos ponttl elindulva lehetsges a rekonstrukci.
Viszont a prediktv algoritmusok kizrsa szba sem jhetett, hiszen ezek nlkl
remny sincs ilyen tmrts elrsre. Az MPEG ltal vlasztott megolds a rvid, de egymstl fggetlen prediktv blokkok alkalmazsa volt. Az MPEG -1
br egy kimagaslan j videotmrtsi algoritmus az 1-es CD-ROM-ok sebessgnek megfelelo, igen eros tmrtst csak viszonylag gyenge kpminosg
mellett tudja megvalstani. Azonban 1992-ben, amikor a szabvny megjelent, az
ipar ezzel a minosggel is megelgedett. A szabvny sikeres alkalmazsai tbbek
kztt a CD-I s a Video-CD technolgik.
Az

MPEG -2

szabvnyt a digitlis televzizshoz fejlesztettk ki. Ehhez az


segtsgvel elrhetonl jobb minosgre volt szksg, tmogatja pldul
a szabvny a HDTV video tmrtst is. A HDTV technolgia, a High Definition
TeleVision a szokvnyos televziminosgnl nagyobb felbonts s sznmlysgu, CD-minosgu hanggal ksrt televzis szabvny. Az MPEG -2 ltal ignyelt
bitsebessg (a minosg fggvnyben) 140 Mbit/s kztt alakul. Jellegzetes rtkek a 46 Mbit/s hagyomnyos (PAL) videojel esetn, s a 1220 Mbit/s HDTV
videojel esetn. Digitlis televzizs sorn gondoskodni kell a tmrtsen kvl
a jeltvitelrol, multiplexelsrol is. Az MPEG -2 szabvny egyik sikeres alkalmazsa, az Eurpban szabvnyostott DVB (Digital Video Broadcasting) technolgia. Ez a digitlis musorszrst teszi lehetov, hagyomnyos fldi (8 MHz
svszlessgu) televzicsatornban QPSK vagy COFDM modulcival, illetve
MPEG -1

2.10. K P -

S VIDEOTMRTS

133

muholdas (36 MHz svszlessgu) csatornban BPSK modulcival. Mindkt


esetben 36 televzimusor multiplex tvitelre van lehetosg. Az MPEG -2 tovbbi sikeres alkalmazsa a VoD (Video on Demand), s a szmtstechnikban
egyre npszerubb DVD is.
Az MPEG -4 a multimdia alkalmazsok szabvnya. Kzs technolgiai alapot nyjt a musorszrsos, az interaktv s a beszlgets-jellegu szolgltatsokhoz. Sokrtu interaktivitst tesz lehetov a hagyomnyos lejtszsmegllts
elore/visszatekers mellett. Kpes szintetikus (pl. szmtgp-animci) s termszetes forrsbl szrmaz (pl. videokamera ltal rgztett) informcitpusok
egyttes kezelsre. A bitsebessgek igen szles skljt tmogatja, egszen 10
kbit/s-tl kezdve. Tbbek kztt lehetsges MPEG -4-gyel egy videokonferencia
64 kbit/s-os tmrtse s a professzionlis HDTV tmrtse is 40 Mbit/s sebessggel. Br a szabvny mr teljesen ksz, egyes bovtsein jelenleg is dolgoznak.
Az MPEG -4 egyik sikeres alkalmazsa a DivX.
Az MPEG -7 a tbbi MPEG szabvny ltal kdolt informcitpusok katalogizlsra, cmkzsre fog lehetosget adni, mg fejleszts alatt ll. Az MPEG -21
szabvny egy egysges multimdia keretrendszer lesz.
A tovbbiakban az MPEG -1 szabvny videotmrtsi rsznek vzt fogjuk
ttekinteni. Fontos megjegyezni, hogy az MPEG -1 emellett foglalkozik a hangtmrtssel, valamint a video- s hangfolyamok multiplexelsvel is. A hangtmrtsi rszrol a 2.9. szakaszban mr volt sz.
A szabvny kidolgozsa sorn kiemelt figyelmet fordtottak az implementci
szabadsgra. A videotmrtsi rszben az MPEG -1 szabvny csak a tmrtett
bitfolyam szintaxist s rtelmezst rja le. A kdol tetszoleges algoritmussal
dolgozhat, de termszetesen csak szintaktikailag helyes bitfolyamot llthat elo.
Nagyon sok mlik azon mind kpminosg, mind pedig bitsebessg tekintetben hogy egy kdol mennyire jl tudja kihasznlni az MPEG -1 szabvny adta
lehetosgeket. A dekdol implementlsa tern a bitfolyam kttt rtelmezse
miatt nincs nagy szabadsg. A szabvny ad is egy referencia dekdert, br ennek
hasznlata nem ktelezo.
A 2.17. brn a bitfolyam szabvny ltal definilt szintaktikai felptse lthat. A legklso elem a videoszekvencia (ezt nem tntettk fel az brn). Egy
videoszekvencinak adott kpmrete, kpsebessge s egyb jellemzo paramterei vannak. A videoszekvencia fejlce ezek lerst tartalmazza.
A videoszekvencia belsejben kpcsoportok (Group Of Pictures, GOP) vannak, amelyek nhny, kzelebbrol meg nem hatrozott szm kp egymsutnjbl llnak. Ennek jelentosgt ksobb fogjuk megrteni, most csak annyit, hogy
a kpcsoportok az egymstl fggetlenl kdolt prediktv egysgek.
A kpcsoporton bell kpek helyezkednek el. A kp hromfle lehet, I, P


2. F ORRSKDOLS H USGKRITRIUMMAL

134

   

   
    !


   
   
kpcsoport


 ! 

!



!
kp

Y Cb Cr

sv

makro- blokk
blokk

2.17. bra. Az MPEG bitfolyam szintaktikai felptse.


vagy B. Ez az alkalmazott predikci fajtjval van sszefggsben. Ezt is ksobb
trgyaljuk.
A kpek svokra vannak bontva. A svok elejn egy klnleges, mshol elo
nem fordul bitminta tallhat, mely a szinkronizcira ad lehetosget adattviteli
hibk esetn.
A svok makroblokkokra vannak bontva. Egy makroblokk a kp egy 16  16
kppont mretu rszt rja le.
Egy makroblokk 6 blokkbl ll. Mindegyik blokk egy 8  8 elemu mtrix.
Ennek az a magyarzata, hogy a kpek az (Y 0 ; Cb ; Cr ) sznkoordinta-rendszer
szerint vannak trolva. A krominancia-egytthatkat (Cb s Cr ) vzszintesen s
fggolegesen is egy kettes faktorral cskkentett felbontsban troljuk, az emberi
szem rzkenysgrol lertakkal sszhangban. gy teht egy 16  16 kppont mretu rsz lershoz szksg van egy 16  16-os luminancia (Y 0 ) mtrixra, s kt
8  8-as krominancia (Cb ; Cr ) mrtixra. A 16  16-os luminancia mtrixot 4 darab
8  8-as mtrixra bontjuk, gy jn ki a makroblokkonknti 6 blokk.
A tmrtsi algoritmus lelke a mozgsbecsls. Ez tulajdonkppen egy predikcis kdols, ahol a video adatfolyam egyms utni kpeinek hasonlsgt
hasznljuk ki. A predikcit makroblokk szinten vgezzk: minden makroblokkhoz kikeressk az idoben megelozo s az idoben kvetkezo kpeken tallhat,
hozzjuk leginkbb hasonl rszleteket. A megelozo s a kvetkezo kpeken a
hasonl rszek helyt az gynevezett mozgsvektorral hatrozzuk meg. A makroblokknak csak ezen referencia-kprszektol val eltrst (vagyis a predikci
hibjt) kdoljuk. Ezt a hibt vgjuk a fent bemutatott mdon 6 blokkra, s ezutn
a blokkokat a JPEG mdszernl megismert DCT ! kvantls ! futamhossz
kdols ! Huffman-kdols smnak megfeleloen tmrtjk tovbb. Minden
makroblokk kdolshoz teht kt mozgsvektort, s 6 JPEG kdols blokkot
adunk meg.

2.10. K P -

S VIDEOTMRTS

135

j j j j
j

R R R
        
        
        
        




       
       

I B B P B B P B B I
2.18. bra. Az MPEG klnbzo predikcitpusai.
Valjban az eljrs kicsit rnyaltabb a fentinl. Egy makroblokk tmrtse
sorn ugyanis ngyfle mdon jrhatunk el. Tmrthetjk predikci nlkl, vagy
predikcival htulrl, ellrol, s mindkt irnybl. Amennyiben nem alkalmaztunk predikcit, gy az eredeti makroblokk 6 blokkjt kell JPEG-szeruen kdolnunk. Amennyiben egyirny predikcit alkalmaztunk (idoben megelozo vagy
kvetkezo kp egy rszt jelltk ki), akkor a makroblokkbl levonjuk a kijellt
rszt, s a klnbsget tmrtjk. Amennyiben ktirny predikcit hajtottunk
vgre (idoben megelozo s kvetkezo kp egy-egy rszlett is felhasznljuk), akkor a makroblokkbl a JPEG tmrts elott a kt kijellt rsz tlagt vonjuk le.
Az ellrol s a ktirnybl alkalmazott predikcinl gondoskodni kell az egyrtelmu dekdolhatsgrl. Ezt az MPEG -1 szabvny azzal oldja meg, hogy kizrja,
hogy a kpek krkrsen egymsra hivatkozzanak. Ennek biztostsra minden
egyes kpben meg van ktve, hogy a benne szereplo makroblokkok kdolsa sorn milyen tpus predikcit hasznlhatunk. Ezt mutatjuk be a 2.18. brn.
I tpus kpben egyltaln nem alkalmazhatunk predikcit, azaz egy I kp egy
nll kp, JPEG tpus tmrtssel. gy egy I tpus kpet teht minden egyb
kp nlkl tudunk dekdolni.
A P tpus kpek makroblokkjai lehetnek predikci nlkl kdolva, vagy pedig predikcival htulrl, a hozzjuk legkzelebb levo I vagy P tpus kpbol.
(Teht a makroblokkok kdolsnak tovbbi finomsga, hogy a predikci nem az
idoben kzvetlenl megelozo kp alapjn trtnik, hanem a kzvetlenl megelozo
I vagy P kp alapjn.) Egy P tpus kp dekdolshoz ezek szerint legfeljebb az
elotte levo utols I kpig kell visszaszaladnunk, s innentol kezdve P kprol P
kpre tudunk lpkedni.


2. F ORRSKDOLS H USGKRITRIUMMAL

136

A harmadik fajta kp, a B kp brmilyen kdols makroblokkokat tartalmazhat, de a makroblokkok csak a legkzeleb eso megelozo vagy kvetkezo P vagy I
kpekre hivatkozhatnak. Sem B kpekre, sem a legkzelebbi I vagy P kpnl tvolabbi kpekre nem lehet hivatkozni. A lnyegi klnbsg a B s P kpek kztt
az, hogy B kpeknl jvobeli P vagy I kpre is hivatkozhatunk.
Termszetesen, a szabvny koncepcijnak megfeleloen a kpek sorrendje
nem kttt, akrhogyan jhetnek egyms utn a P, I s B kpek, ahogy a kdol
akarja. A fenti szablyok betartsval lehetsges a dekdols, mert egy I tpus
kp magban dekdolhat, egy P tpus az elotte levo, hozz legkzelebbi I kptol indulva dekdolhat, mg egy B kp az o t krlvevo I vagy P kpek alapjn
dekdolhat teht minden kp dekdolhat.
Mindemellett hogy nem ktelezo, kialakultak szokvnyos kpsorrendek. A
legsurubben egy I kpre kt P kp pl, s kzttk kt-kt B kp van. A 2.18.
brn egy ilyen kpsorrend lthat.
A kpek sorrendje a bitfolyamban nem egyezik meg a kpek idosorrendjvel. A bitfolyambeli sorrend gy lett meghatrozva, hogy ha sorban olvassuk be
a bitfolyambl a kpeket, akkor egy kp beolvassnak idopontjban az sszes
szksges informci rendelkezsre lljon a dekdolshoz. Ezt gy oljda meg a
szabvny, hogy htrakldi a B kpeket az utnuk kvetkezo I vagy P kp mg.
Ezltal a B kpek idoben elore mutat referencija a bitfolyamban htramutat
referencia lesz. Termszetesen trendezskor az I s P kpek a helykn maradnak, s a B kpek egymshoz viszonytott sorrendjn sem vltoztatunk. Teht, ha
az idobeli sorrendet az indexekkel jelljk, akkor a
:::

B 2 B 1 I0 B1 B2 P3 B4 B5 P6 B7 B8 I9 B10 B11 P12 : : :

sorozatbl az trendezs utn az


:::

I0 B 2 B 1 P3 B1 B2 P6 B4 B5 I9 B7 B8 P12 B10 B11 : : :

sorozat lesz.
Egy kpcsoport mindig egy I kppel kezdodik, mghozz a bitfolyambeli sorrend szerint. Emiatt egy kpcsoport bitfolyamban elso kpe nmagban dekdolhat, vagyis nem szksges rgebben dekdolt kpek ismerete a dekdolshoz.
A kpcsoport tovbbi kpei is mind dekdolhatak a bitfolyambeli sorrendben.
(Termszetesen ezek dekdolsa sorn szksgnk lesz az ezen kpcsoportbl
elottk dekdolt kpekre.) Kivtelt kpeznek az elso P kpet megelozo B kpek,
ugyanis ezek a megelozo kpcsoport utols P vagy I kpre is hivatkozhatnak. (Ne
felejtsk el, hogy a bitfolyambeli sorrendben definiljuk a kpcsoportot!) Ezek a
B kpek a megelozo kpcsoport dekdolsa nlkl nem dekdolhatak. Emiatt

2.11. F ORRSKDOLS

BET UNKNTI
H USGKRITRIUMMAL

137

az elso nhny nem dekdolhat B kp miatt hvjk nyltnak az ilyen kpcsoportot. (A szabvny definil egy zrt kpcsoportot is, termszetesen ehhez ms
kpsorrend szksges.) Ezltal a kpcsoport a bevezetoben emltett viszonylag
rvid prediktv egysget testesti meg, hiszen (nylt csoport esetn nhny B kp
kivtelvel) a kpcsoportok egymstl fggetlenl dekdolhatak.
Az MPEG videokdols, amennyiben ezt nem szablyozzuk kln, vltoz
bitsebessget fog eredmnyezni. Gondoljunk pldul arra, hogy ahol egy teljesen
j kp jelenik meg a videofolyamban (vgs), ott az elso kp makroblokkjait nem
tudjuk predikcival tmrteni, s gy gyakorlatilag egy teljes kpet kell JPEG-gel
kdolnunk. Ez igen sok bitet ignyelhet. Ott viszont ahol egy llkp van a videofolyamban, szinte nem is lesz predikcis maradk, vagyis nagyon rvid lesz a
kd. Az tvitelhez hasznlt csatorna bitsebessgt (MPEG -1 esetn a CD lejtsz
1.4 Mbit/s sebessge, MPEG -2 esetn pl. az egy televziadsra jut adatfolyam 5
Mbit/s sebessge) a kdols sorn termszetesen nem lphetjk t. Ezen a problmn pufferek felhasznlsval valamennyit lehet segteni, de meg kell oldani,
hogy a dekdol puffere sohase rljn ki, s sohase csorduljon tl, tovbb a kdol is csak a csatorna tviteli kpessgnek megfelelo mennyisgu adatot hozzon
ltre. Ennek elrshez a kdol llandan figyeli a sajt puffert, s nyomon kveti a dekdolt is. (Ez utbbihoz egyes esetekben a dekdol szimulcijra
knyszerl.) Ha pldul a kdol puffere kezd megtelni ezt a kpsorozat informcidssga okozhatja, cskkentenie kell a kpenknt tvitt bitek mennyisgt. Ezt a JPEG kvantlsi lpcso megemelsvel rheti el, termszetesen a
minosg rovsra. Durvbb megolds, ha bizonyos makroblokk predikcis maradkt egyszeruen elhagyja a kdbl, s csak a mozgsvektorokat adja meg. Mg
durvbb lehetosgek is rendelkezsre llnak a kdolnak. Ilyen pldul a bemenetn rkezo kp informcitartalmnak korltozsa, pldul a kpfrekvencia
vagy a felbonts cskkentsvel.

2.11. Forrskdols betunknti

husgkritriummal

Ebben a szakaszban ttekintjk a vesztesges (torztst megengedo) forrskdols


elvi hatrait. A vizsglat sorn kulcsszerepet jtszik a klcsns informci.
2.3. definci. Az X s Y diszkrt valsznusgi vltozk klcsns informcijn az
I (X;Y ) = H (X ) + H (Y ) H (X ; Y )

mennyisget rtjk.
A definci mutatja, hogy a klcsns informci szimmetrikus, s
I (X;Y ) = H (X )

H (X j Y ) = H (Y )

H (Y j X ) = I (Y ; X ):


2. F ORRSKDOLS H USGKRITRIUMMAL

138

Kt valsznusgi vektorvltoz klcsns informcija a fenti defincibl rtelemszeruen kvetkezik.


2.8. ttel (A klcsns informci tulajdonsgai).

a)
I (X;Y )

x;y

p(x y) log
;

x;y

p(x; y)

p(x y) log p(x) p(y) =

p(x y) log
;

x;y

p (x j y )
p(x)

p (y j x )
:
p(y)

b)
I (X;Y )  0:

c)
I (X;Y )  H (X );
I (X;Y )  H (Y ):

d) Az X s Y brmely g s f fggvnyre
I (X;Y )  I (g(X ); f (Y )):
B IZONYTS : Az a), b) s c) tulajdonsgok a defincibl s a (feltteles) entrpia tulajdonsgaibl kzvetlenl addnak. A d) tulajdonsg a feltteles entrpia
1.7. d) tulajdonsgbl kvetkezik:
I (X;Y )

H (X )
H (X )

H (X j Y ) 

H (X j f (Y )) =

I (X; f (Y )) =

H ( f (Y ))

H ( f (Y ))

H ( f (Y ) j X ) 

H ( f (Y ) j g(X )) =

I (g(X ); f (Y )):

Tegyk fel, hogy egy X informciforrs k hossz blokkjt, X1 X2 : : : Xk -t egy


kdolssal egy Y1Y2 : : : Yk k-hossz blokkal reprezentljuk, ahol az Xi -k s Yi -k a

2.11. F ORRSKDOLS

BET UNKNTI
H USGKRITRIUMMAL

139

vges X illetve Y halmazokbl veszik rtkeiket. Legyen X  Y-on adva egy d :


X  Y ! R + nemnegatv fggvny. A d fggvnyt torztsi mrtknek nevezzk,
mert minden x 2 X, y 2 Y prra d (x; y) azt a torztst mri, amit az okoz, hogy az
x forrsbetut y-nal reprezentljuk. Az x = x1 : : : xk s y = y1 : : : yk (xi 2 X; yi 2 Y)
blokkok kzti torztst a
d (x; y) =

1 k
d (xi ; yi )
k i
=1

nemnegatv mennyisg mri. Ezt nevezzk betunknti

torztsnak. Ha az X
forrs X = (X1 ; : : : ; Xk ) blokkjt az Y = (Y1 ; : : : ; Yk ) blokk reprezentlja, akkor a
kztk levo E(d ) tlagos betunknti torztst az
E(d ) = E(d (X; Y)) = p(x; y)d (x; y)
x;y

vrhat rtk mri, ahol p(x; y) = PfX = x; Y = yg s az sszegzs az sszes


x 2 Xk s y 2 Yk vektorra kiterjed.
2.6. plda. Legyen X = Y, vagyis a forrs- s a reprodukcis bc ugyanaz, s
legyen d az n. Hamming-torzts:


d (x; y) =

0; ha x = y
1; ha x 6= y

vagyis, ha a reprodukci tkletes, akkor a torzts nulla, egybknt pedig egy.


Ekkor
!
1 k
1 k
d
E(d (Xi ; Yi )):
(
X
;
Y
)
=
E(d (X; Y)) = E
i i
k i
k i
=1
=1
A d defincija szerint

E(d (Xi ; Yi )) = PfXi 6= Yi g;

teht
E(d (X; Y)) =

1 k
PfXi 6= Yi g;
k i
=1

vagyis E(d ) az egyes pozcikban trtno karaktertvesztsek valsznusgeinek


tlaga. E(d )-t nem szabad sszetvesztennk a 2.1. szakaszban vizsglt blokkhibavalsznusggel.
2.7. plda. Legyen X = Y = R , s d (x; y) = (x
E (d (X; Y)) = EkX

y)2 , ekkor
Yk2 ;

vagyis a kvantlsnl hasznlt ngyzetes torztst kapjuk.


2. F ORRSKDOLS H USGKRITRIUMMAL

140

Most, hogy a betunknti torzts fogalmt bevezettk, megadhatunk egy ilyen


husgkritriumot. Mondhatjuk pldul azt, hogy az X1 : : : Xk blokk reprodukcijaknt elfogadjuk Y1 : : : Yk blokkot, ha egy adott > 0 szmra
E

1 k
d (Xi ; Yi )
k i
=1

!
<

Ezt nevezzk betunknti

husgkritriumnak.

A 2.6. plda szerint ez pl. azt jelentheti, hogy egy 0 < < 1 szmra biztostani szeretnnk, hogy a karakterek meghibsodsnak tlagos valsznusge -nl
kisebb legyen.
A forrs adott husgu kdolsra forrskdokat hasznlunk. Az X forrs khossz blokkjait kdol forrskdja egy g : Xk ! Yk lekpezs, amely teht minden x 2 Xk zenethez egy y 2 Yk reprezentnst rendel. Az elobbiek szerint a
forrskd betunknti tlagos torztsa a
D(g) = E(d (X; g(X))) = p(x)d (x; g(x))
x

mennyisg. Ha a g forrskd rtkkszleteknt M darab vektort hasznl az


vektorai kzl, akkor a g jelsebessge az
R=

Yk

log M
k

szm lesz, hiszen a g lehetsges M rtkt log M biten, forrsbetunknt logk M = R


biten lehet kdolni. A forrskdols clja az, hogy a forrst adott husgu, minl
kisebb jelsebessgu kddal kdoljuk, hiszen a jelsebessg az tvitel illetve trols
kltsgt jelenti. Ha a g rtkkszlete a C = fy1 ; y2 ; : : : ; yM g, (yi 2 Yk ; i =
1; : : : ; M) halmaz, akkor a legkisebb torzts elrshez g a kvetkezo kell legyen:
g (x ) = y i ;

ha d (x; yi )  d (x; y j );

j = 1; 2; : : : ; M ;

vagyis az x 2 Xk kdja az az y 2 C amely a legjobban hasonlt x-re. A g lekpezs teht egy vektorkvantl. Ha a d husgkritriumot egyfajta tvolsgnak
tekintjk, akkor azt mondhatjuk, hogy g(x) az x legkzelebbi szomszdja a C halmazbl. J kd keresse ezek szerint a megfelelo C halmaz keressvel ekvivalens. A tovbbiakban a forrskdok teljestokpessgnek elvi hatrait vizsgljuk
emlkezetnlkli stacionrius forrsra.
A kvetkezokben bevezetjk az emlkezetnlkli stacionrius forrs R-D (ratedistortion) fggvnyt, amelyrol kiderl, hogy megadja azt a legkisebb jelsebessget, amit egy legfeljebb torzts forrskddal el lehet rni.

2.11. F ORRSKDOLS

141

BET UNKNTI
H USGKRITRIUMMAL

2.4. definci. Legyen adva az Y reprodukcis bc s a d torztsi mrtk. Ekkor az X emlkezetnlkli stacionrius forrs  0 szmokra rtelmezett R-D
fggvnye a kvetkezo:
R() = min fI (X;Y ) : E(d (X ; Y ))  g;

ahol a minimumot az sszes olyan (X ; Y ) valsznusgi vltozpr fltt kell


venni, ahol X eloszlsa megegyezik az Xi -k (kzs) eloszlsval s Y az Y halmazbl veszi rtkeit. Ha nincs olyan Y , amellyel E(d (X ; Y ))  , akkor legyen
R() = .
M EGJEGYZS :
a) Vegyk szre, hogy ha a min  0 szmot a
min = p(x) min d (x; y)
y

kifejezssel definiljuk, akkor brmely Y -ra


E(d (X ; Y ))  min
hiszen
E(d (X ; Y ))

p(x y)d (x y) 
;

x;y

 p(x y) min
d (x y) =
y
xy
;

d (x y )
p(x) min
y
;

Ezek szerint R() < akkor s csak akkor, ha  min .

b) Mivel az X eloszlsa rgztett, az (X ; Y ) pr eloszlst a p(y j x) =


PfY = y j X = xg felteles eloszlsok hatrozzk meg p(y; x) = p(x) p(y j x)
szerint. Figyelembe vve a klcsns informci defincijt, az R() defincija, a p(y) = p(x0 ) p(y j x0 ) egyenlosget felhasznlva a kvetkezokppen rhat t:

x0 2

R() = min

8
>
<

>
:x2X
Y

y2

p(x) p(y j x) log

9
>
=

p(x) p(yjx)
;
p(x) p(x0 ) p(y j x0 ) >
;

x0 2

ahol a minimumot az sszes olyan p(y j x) feltteles eloszls fltt vesszk,


amelyekre p(x) p(y j x)d (x; y)  .
x;y


2. F ORRSKDOLS H USGKRITRIUMMAL

142

A kvetkezokben megvizsgljuk az R() fggvny nhny alapveto tulajdonsgt.


2.3. lemma. R() a monoton fogy s konvex fggvnye, ha  min .
B IZONYTS : Az R() defincijbl kzvetlenl ltszik, hogy R() monoton
fogy, hiszen ha 0 < 00 akkor a feltteles eloszlsok halmaza, amely felett a minimumot vesszk, 0 esetben szukebb, mint 00 esetben, teht R(0 )  R(00 ).
Legyen most 0 < < 1 s 1 ; 2  min . Azt kell beltnunk, hogy
R(1 + (1

)2 )  R(1 ) + (1

)R(2 ):

Legyenek p1 (y j x) s p2 (y j x) azon feltteles eloszlsok, amelyekre az R() defincijban I (X;Y ) elri minimumt, R(1 )-et illetve R(2 )-t. Jelljk a p1 (y j x) s
p2 (y j x) feltteles eloszlsok ltal meghatrozott valsznusgi vltozkat Y1 -gyel
illetve Y2 -vel. Ekkor
I (X;Yi ) = R(i );
s

E(d (X;Yi ))  i ;

i = 1; 2:

Definiljunk egy j p(y j x) feltteles eloszlst a kvetkezokpp:


p(y j x) = p1 (y j x) + (1

) p2 (y j x);

x 2 X; y 2 Y:

Ha Y az a valsznusgi vltoz, melynek feltteles eloszlsa X-re p(y j x), akkor


knnyen belthat, hogy minden y 2 Y-ra
p(y)

=
=
=

PfY

=y =

PfY1 = yg + (1
p1 (y) + (1

)PfY2 = yg =

) p2 (y);

valamint
E(d (X;Y )) = p(x) (p1 (y j x) + (1
x;y

p(x) p1(y j x)d (x y) + (1


;

x;y

= E(d (X;Y1 )) + (1

 1 + (1

)2 :

) p2 (y j x)) d (x; y) =
) p(x) p2 (y j x)d (x; y) =
x;y

)E(d (X;Y2 )) 

Mivel teht E(d (X;Y ))  1 + (1 )2 teljesl, az R() defincijbl kvetkezik, hogy


(2.30)
I (X;Y )  R(1 + (1 )2 ):

2.11. F ORRSKDOLS

143

BET UNKNTI
H USGKRITRIUMMAL

Msrszt, a Jensen-egyenlotlensg 1.2. b) kvetkezmnybol


pi (x; y) = p(x) pi (y j x); i = 1; 2 jellssel
(p1 (x; y) + (1

) p2(x; y)) log

p1 (x; y) + (1 ) p2(x; y)
p(x)[p1 (y) + (1 ) p2(y)

 p1 (x y) log pp(x1)(xp y()y) + (1


;

) p2 (x; y)

p 2 (x ; y )
:
p(x) p2(y)

(2.31)

Ha (2.31) mindkt oldalt minden x-re s y-ra sszegezzk, akkor azt kapjuk,
hogy
I (X;Y )  I (X;Y1 ) + (1

)I (X;Y2 ) = R(1 ) + (1

)R(2 );

amibol (2.30)-cal egytt a lemma lltsa addik.


2.4. lemma.

Amennyiben az

emlkezetnlkli stacionrius forrs X

(X1 ; X2 ; : : : ; Xk ) blokkja s az Y = (Y1 ; Y2 ; : : : ; Yk ) valszn


usgi vektorvltozk ki-

elgtik az
E

husgkritriumot, akkor

1 k
d (Xi ; Yi )
k i
=1

I (X; Y)  kR():

B IZONYTS : A feltteles entrpia 1.7. e) s c) tulajdonsgai szerint


k

H (X j Y) = H (Xi j Y; X1 ; : : : ; Xi
i=1

1)

 H (Xi j Yi )

i =1

Ezt s az Xi -k fggetlensgt felhasznlva azt kapjuk, hogy


I (X; Y)

H (X)

H (X j Y) =

H (X j Y) 

H (Xi )

i=1
k

H (Xi j Yi ))

 (H (Xi )
i=1
k

I (Xi ;Yi )

i=1

(2.32)


2. F ORRSKDOLS H USGKRITRIUMMAL

144

Ha i = E(d (Xi ; Yi )), akkor a ttel felttele szerint


1 k
i  ;
k i
=1
teht (2.32) felhasznlsval, mivel R() monoton fogy s konvex
1
1 k
1 k
I (X; Y)  I (Xi ;Yi )  R(i )  R
k
k i=1
k i=1

1 k
i
k i
=1

 R()

amivel a lemmt belttuk.


Most bebizonytjuk a forrskdolsi ttel megfordtst, ami azt mondja ki,
hogy egy -nl kisebb torzts forrskd jelsebessge nem lehet kisebb R()-nl.
2.9. ttel (A forrskdolsi ttel megfordtsa). Ha az X emlkezetnlkli s
stacionrius forrs g : Xk ! Yk forrskdja, amely M klnbzo kdszt hasznl,
valamely  min szmra kielgti a
D(g) 

husgkritriumot, akkor a kd R =

log M
k

jelsebessgre

R  R():
B IZONYTS : A klcsns informci 2.8. c) s az entrpia 1.6. a) tulajdonsga
szerint
I (X; g(X))  H (g(X))  log M :
Msrszt a 2.4. lemmbl
I (X; g(X))  kR();
teht

log M  kR();

amivel az lltst bebizonytottuk.


A kvetkezo ttel, ami a fejezet fottele, megmutatja, hogy R() valban a
torztssal elrheto jelsebessget jelenti.

2.11. F ORRSKDOLS

BET UNKNTI
H USGKRITRIUMMAL

145

2.10. ttel (Forrskdolsi ttel emlkezetnlkli stacionrius forrsokra).


Legyen R() az X emlkezetnlkli stacionrius forrs R-D fggvnye egy adott
reprodukcis bcre s d torztsi mrtkre. Ekkor, ha  min , akkor minden
0 > s R0 > R() esetn elg nagy k-ra ltezik egy, az X forrs k-hossz blokkjait kdol g forrskd M darab kdszval, amelyre
M  2kR

D(g) < 0 :

A ttel teht azt mutatja, hogy elg hossz blokkokat kdolva a kdsebessg als hatra, R(), tetszolegesen kzeltheto -hoz tetszolegesen kzeli torzts forrskddal. A ttelt nem bizonytjuk, mivel a bizonyts nem tl egyszeru.
Annyit meg kell jegyezni, hogy a ttel bizonytsa egy, az informcielmletben
gyakran s sikeresen alkalmazott technikn, a vletlen kdolson alapul. A vletlen kdolssal a csatornakdolsi ttel bizonytsakor tallkozunk majd, amely
bizonyts meglehetosen hasonlt a forrskdolsi ttel bizonytshoz.
2.8. plda. Tekintsk Hamming-torztst, ahol a forrsbc s a reprodukcis
bc megegyeznek, s


d (x ; y ) =

0; ha x = y;
1; ha x 6= y

Legyen X emlkezetnlkli s stacionrius PfXi = xg = PfX = xg adott eloszlssal. Szmtsuk ki az R(0) rtkt!
Mivel
E(d (X ; Y )) = PfX 6= Y g;
ezrt az E(d (X ; Y ))  felttel = 0 esetben a PfX = Y g = 1 felttelt jelenti,
vagyis ekkor Y 1-valsznusggel meghatrozza X-et. Ekkor viszont
I (X;Y ) = H (X )

H (X j Y ) = H (X );

vagyis
R(0) = H (X ) = H (X ):
Ebben az esetben a forrskdolsi ttel azt mondja ki, hogy tetszoleges kis pozitv szmra tallhatunk egy g : Xk ! Xk forrskdot, hogy
1 k
PfXi 6= Yi g < ;
k i
=1
ahol Yi -vel a g(X1 ; : : : ; Xk ) i-edik koordintjt jelltk, s a kd jelsebessge a
forrs entrpijhoz nagyon kzeli szm, azaz krlbell 2kH (X) kdszt hasznl.


2. F ORRSKDOLS H USGKRITRIUMMAL

146

2.12. Feladatok
2.1. feladat (Fix szhosszsg kd). Legyen X egy stacionrius, memriamentes binris forrs, PfX1 = 1g = 0:005, PfX1 = 0g = 0:995 eloszlssal. Azokhoz
a 100 hosszsg blokkokhoz rendelnk kdszavakat, amelyek legfeljebb hrom
egyest tartalmaznak. Ha minden kdsz azonos hosszsg, akkor mi az a minimlis hosszsg, amellyel ez a kd megvalsthat? Mekkora a nem kdolt
blokkok sszvalsznusge pontosan, s milyen becslst kapunk erre a szmra a
Csebisev-egyenlotlensgbol?
2.2. feladat (Normlis eloszls egy bites kvantlsa). Legyen X nulla vrhat
rtku, szrs normlis eloszls valsznusgi vltoz. Hatrozza meg az
optimlis egy bites (kt szintu) kvantlt! Mennyi a torzts?
2.3. feladat (Exponencilis eloszls kvantlsa). Legyen X vals valsznusgi
vltoz, melynek surusgfggvnye


f (x) =

1
2 x;

ce
0;

ha x 2 [0; 2
ha x 62 [0; 2

ahol c olyan konstans, hogy f valsznusgi surusgfggvny.


a) Kvantljuk X-et egy [0; 2-re illeszkedo 4 bites (16 szintu) egyenletes Q1
kvantlval. A tanult kzeltseket hasznlva szmolja ki a kvantl ngyzetes torztst s a H (Q1 (X )) entrpit!
b) Legyen most

f (x ) =

1
2e

0;

1
2 x;

ha x  0
ha x < 0

Kvantljuk X-et a kvetkezokppen:




Q(x) =

Q1 (x); ha x 2 [0; 2
2;
ha x > 2

Az a) rsz eredmnyt felhasznlva szmolja ki a H (Q(X )) entrpit!


(Segtsg: Legyen Z = 0, ha X 2 [0; 2, s Z = 1, ha X > 2. Ekkor H (Q(X )) =
H (Q(X ); Z ) = H (Z ) + H (Q(X ) j Z ).)
2.4. feladat. Az brn lthat f (x) surusgfggvnyu X valsznusgi vltozt 2
bites egyenletes kvantlval kvantljuk, mely illeszkedik a [ 1; 1 intervallumra.
a) Szmolja ki pontosan a kvantl ngyzetes torztst s kimenetnek entrpijt!

147

2.12. F ELADATOK

b) Szmolja ki a fenti kt mennyisget a tanult kzeltseket felhasznlva!


Mennyire egyeznek a pontos s kzelto rtkek?
Rx

(Segtsg: t lnt dt = x2
0

ln x
2

1
4

.)

6f (x)
1


1

 -x
1

2.5. feladat. A napstses s esos napok stacionrius Markov-lnc szerint kvetik egymst az brn lthat tmenetvalsznusgekkel. Az esos napokon az
eso mennyisge exponencilis eloszls, f (x) = e x (x > 0) surusgfggvnnyel
(centimterben mrve). Az idojrsjelentsben az eso mennyisgt 1 millimter
felbontsban egyenletesen kvantlva mondjk be. Mennyi (kzeltoleg) a csapadkmrsek sorozatnak mint forrsnak az entrpija?

#
"!
Y

1=3

R
2 =3

#
j
"!
I
st a
nap

esik

2 =3

1=3
2.6. feladat (A LloydMax-algoritmus nem optimlis). Mutasson pldt arra,
hogy a LloydMax kvantltervezo algoritmus nem mindig a minimlis torzts
kvantlhoz konvergl. Azaz adjon meg egy olyan rossz surusgfggvnyt s
kiindulsi kvantlt, hogy az algoritmus biztosan ne az optimumhoz konvergljon.
2.7. feladat (Maximlis differencilis entrpia). Mutassa meg, hogy




az adott vrhat rtku, nemnegatv valsznusgi vltozk kztt az exponencilis eloszlsnak maximlis a differencilis entrpija;
az [a; b intervallumon kvl nulla surusgfggvnyu valsznusgi vltozk kztt az [a; b-n egyenletes eloszlsnak maximlis a differencilis
entrpija.

148

2. F ORRSKDOLS H USGKRITRIUMMAL

2.8. feladat (Maximlis entrpia). Tekintsk a termszetes szmok halmazra


koncentrld, m vrhat rtku diszkrt eloszlsokat. Mutassa meg, hogy a geometriai eloszlsnak maximlis az entrpija.
2.9. feladat (Differencilis entrpia). Legyen X abszolt folytonos eloszls valsznusgi vltoz, s jelljk H (X )-szel a differencilis entrpijt. Mutassa
meg, hogy brmely a > 0 szmra
H (aX ) = H (X ) + log a:

3. fejezet

Csatornakdols
Ebben a fejezetben a zajos csatornn trtno megbzhat informcitvitel problmjval foglalkozunk.
Tekintsk az 1.1. brn lthat hrkzlsi modellt. Clunk a forrs ltal kivlasztott zenetet a nyelobe eljuttatni. Felhvjuk a figyelmet arra, hogy valsgos
hrkzlsi problmk vizsglatnl nem mindig egyrtelmu, hogy hol kell a kdolt s a csatornt, illetve a csatornt s a dekdolt sztvlasztani, azaz, hogy
az esetleg jelenlvo modultort s a demodultort a csatorna avagy a kdol, illetve dekdol rsznek tekintsk-e. Ebben a fejezetben, mint ltni fogjuk, csak
az n. diszkrt csatornval foglalkozunk, vagyis a modulcit s a demodulcit
a csatorna rsznek tekintjk. Ez annak a tervezoi szemlletnek felel meg, amely
szerint a modultort s demodultort nem akarjuk, vagy nem tudjuk megvltoztatni.
Alapvetoen kt problmval kell szembenznnk. Az egyik az, hogy az tvivo
kzeg a csatorna bemeneti bcje nem felttlenl egyezik meg a forrsbcvel, a msik pedig az, hogy az tvivo kzeg zajos, azaz a csatorna bemenetre
adott szimblum nem felttlenl egyezik meg a csatorna kimenetn megjelenovel. Ezen nehzsgek legyozsnek eszkze a csatornakdols, amelynek elvi
lehetosgeit a csatornakdolsi ttel mutatja meg.
A zajos csatornt jl modellezi az a feltevs, hogy a csatorna bemenetre adott
zenet egyes szimblumai bizonyos valsznusggel meghibsodhatnak.
A csatornakdols alapveto problmja az, hogy hogyan lehet egy megbzhatatlan eszkzn (zajos csatornn) zenetet nagy megbzhatsggal tkldeni gy,
hogy minl jobban kihasznljuk a csatornt. Megmutatjuk, hogy a kihasznltsgnak van egy elvi hatra, ez a csatornakapacits. Mivel a dekdolsnak egy fontos
komponense a dnts, ezrt a fejezetet az optimlis dntssel kezdjk.

150

3. C SATORNAKDOLS

3.1. Bayes-dnts
A gyakorlatban gyakran elofordul feladat, hogy egy A paramter rtkt nem
tudjuk kzvetlenl megmrni, csupn egy megfigyelt X mennyisg rtkbol szeretnnk A-ra kvetkeztetni.
A szmunkra rdekes esetek matematikai modellje a kvetkezokppen fogalmazhat meg:
Legyen X valsznusgi vltoz, amely rtkeit az X halmazbl veszi fel valamilyen eloszls szerint. (X lehet vges vagy vgtelen halmaz, pldul X = R d
esetn X rtke egy d-dimenzis vektor, vagy X = f0; 1gd esetn d-hosszsg binris vektor.) A vletlen A paramter az A halmazbl veszi fel rtkt. Azt, hogy
X megfigyelsbol A rtkt prbljuk meghatrozni, egy G : X ! A fggvnnyel
rhatjuk le. G(X )-et kvetkeztetsnek nevezzk. Ezen bell kt esetet klnbztethetnk meg:




ha G rtkkszlete vges halmaz, akkor G(X )-et dntsnek,


ha G rtkkszlete vgtelen halmaz, akkor G(X )-et becslsnek

nevezzk.
Termszetesen kvetkeztetsnket valahogy minosteni szeretnnk, ezrt definiljuk az n. kltsgfggvnyt: C : A  A ! R , itt C(A; G(X )) rtke adja meg
a kvetkeztets jsgt abban az rtelemben, hogy minl kisebb a C rtke, annl
jobbnak tekintjk a kvetkeztetst. Ezrt C-t szoks jsgi kritriumnak, hasonlsgi kritriumnak, vagy megbzhatsgi kritriumnak is nevezni. Termszetesen
C(A; G(X )) maga is valsznusgi vltoz, hiszen rtke fgg X s A rtktol.
A kltsgfggvny csupn X s A egy-egy konkrt rtke esetn minosti a
kvetkeztetst, magt a G kvetkeztetsfggvnyt ennek vrhat rtkvel jellemezhetjk.
Az R(G) = E(C(A; G(X ))) (csak G-tol fggo) mennyisget globlis kockzatnak nevezzk.
Tekintsk a kvetkezo szitucit:

legyen az X megfigyels valsznusgi vltoz, amely rtkeit az X halmazbl veszi fel, s nzzk eloszr azt a specilis esetet, amikor X diszkrt,
teht vges vagy megszmllhatan vgtelen halmaz;

az A paramter szintn valsznusgi vltoz, rtkeit az A = fa1 ; : : : ; as g


vges halmazbl veszi fel (ekkor termszetesen a G() kvetkeztetsfggvny rtkkszlete is az A halmaz), legyen tovbb az A eloszlsa a kvetkezo: qi = PfA = ai g.

151

3.1. BAYES - DNTS

3.1. definci. A Hi = fA = ai g esemnyt i-edik hipotzisnek, mg a qi valsznusgeket a priori valsznusgeknek

szoks nevezni.
3.1. plda. Tekintsnk csak egy specilis kltsgfggvnyt:


C(ai ; a j ) = Ci j = 1

i j =

1; ha i 6= j
0 egybknt

Vizsgljuk meg, hogy alakul ekkor a globlis kockzat rtke:


R(G)

E(C(A; G(X ))) =


s

PfA = ai

PfA = ai

i=1 j=1
s s

i=1 j=1
s

PfA = ai

i=1

=
=

G(X ) = a j gC(ai ; a j ) =
G(X ) = a j g(1

i j ) =

G(X ) = ai g =

PfA = G(X )g =

PfA 6= G(X )g:

Lthatjuk teht, hogy a kltsgfggvny fenti vlasztsa esetn a globlis kockzat ppen megegyezik a hibavalsznusggel.

A tovbbiakban csak a hibavalsznusggel foglalkozunk.


3.2. definci. A PfA = ai j X = xg feltteles valsznusgeket a posteriori valsznusgeknek

nevezzk, s Pi (x)-szel jelljk o ket.


Nevezzk dntsi tartomnyoknak az X halmaz azon D j rszhalmazait, amelyek
brmely elemnek megfigyelsekor az a j -re dntnk:
D j = fx : G(x) = a j g;

j = 1; 2; : : : ; s :

Lthatjuk, hogy a G dntsfggvnyt teljesen meghatrozzk a D j dntsi


tartomnyok, vagyis a dntsi tartomnyok megadsval magt a dntst is megadtuk.
Vlasszuk a j-edik dntsi tartomnyt, Dj -ot olyannak, hogy minden x 2 Dj
esetn Pj (x)  Pi (x) teljesljn minden i 6= j-re, azaz az x pont akkor eleme a
j-edik dntsi tartomnynak, ha az x megfigyels esetn az fA = a j g hipotzis
feltteles valsznusge a legnagyobb. Vlaszthatjuk a Dj tartomnyokat pronknt diszjunktaknak pldul gy, hogy amennyiben valamely x-re a maximum
nem egyrtelmu, azaz, ha ebben a pontban tbb Pj fggvny is maximlis, akkor

152

3. C SATORNAKDOLS

x-et az ezek kzl legkisebb indexuhz tartoz Dj tartomnyba soroljuk. Ekkor a
dntsfggvny:
G (x) = ai ;
ha x 2 Di :
Ezt a dntst Bayes-dntsnek vagy maximum a posteriori dntsnek nevezzk.
3.1. ttel. Az gy definilt G dntsfggvny optimlis, vagyis ennek a dntsnek legkisebb a hibavalsznusge.
B IZONYTS : Legyen G(x) egy tetszoleges dntsfggvny fDi g dntsi tartomnyokkal. Ekkor
R(G)

P(A 6= G(X )) =

P(A = G(X )) =

P(A = ai

G(X ) = ai ) =

i=1
s

P(A = ai

i=1 x
s

IfG x

( )=ai

i=1 x
s


=

g P(A = ai j X = x)P(X = x) =

Pj (x)P(X = x) =
Ifx2D g max
j
i

i=1 x

1
1

max Pj (x) P(X


j

Ifx2D g
i

= x) =

max Pj (x) P(X


j

= x) =

Ifx2D g Pi (x)P(X = x) =

i=1 x

= x)P(X = x) =

Ifx2D g Pi (x)P(X = x) 

i=1 x
s

G(X ) = ai j X

i=1 x
s

x
s

P(A 6= G (x)) =
R(G ):

Az a posteriori valsznusgek a kvetkezo alakba rhatk:


Pi (x)

=
=

PfA = ai j X = xg =
PfA = ai ; X = xg
=
PfX = xg

153

3.1. BAYES - DNTS

=
=

PfA = ai gPfX = x j A = ai g
PfX = xg
q i p i (x )
;
PfX = xg

ahol pi (x)-szel az X feltteles eloszlst jelljk az fA = ai g felttel mellett. Ltszik, hogy a Pi (x) a posteriori valsznusg ugyanarra az i indexre veszi fel a maximumt, amelyre qi pi (x). Amennyiben az a priori valsznusgeloszls egyenletes,
azaz qi = 1s minden i-re, akkor a Bayes-dnts a kvetkezokppen alakul:
x 2 Dj ; ha p j (x) = max pi (x):
i

Az ilyen tpus dntst maximum-likelihood dntsnek nevezzk.


M EGJEGYZS : Maximum-likelihood dntst ltalban olyan esetekben hozunk,
amikor az a priori valsznusgek nem ismertek. Ilyenkor az A halmaz azon elemre dntnk, amellyel mint felttellel a mrt rtknek legnagyobb a feltteles
valsznusge.
3.2. plda (Dekdols binris szimmetrikus csatorna kimenetn). Ebben az
esetben az A = (A1 ; : : : ; An ) valsznusgi vltoz rtkei binris, n hosszsg
kdszavak. Jelljnk egy kdszt ci -vel, ahol ci = (ci1 ; ci2 ; : : : ; cin ), vagyis az iedik kdsz j-edik bitje ci j . A kdszavakat egy zajos, binris szimmetrikus csatornn tovbbtjuk, melynek kimenetn az X = X1 ; : : : ; Xn valsznusgi vltoz
(szintn n hosszsg binris sorozat) jelenik meg. Az X eloszlst abban az
esetben, amikor a tovbbtott kdsz ci volt, a csatorna p tmenetvalsznusge
hatrozza meg a kvetkezokppen:
PfX = x1 ; x2 ; : : : ; xn j A = ci g =

fX1 = x1 X2 = x2 Xn = xn j A1 = ci An = ci g =
= PfX1 = x1 j A1 = ci gPfX2 = x2 j A2 = ci g
PfXn = xn j An = ci g

=P

;:::;

1;:::;

Ez az egyenlosg definilja az emlkezetnlkli csatornt, vagyis a j-edik kimeneti szimblum eloszlsa csak a j-edik bemeneti bit rtktol fgg. Az, hogy a
csatorna tmenetvalsznusge p (0 < p < 1=2), ppen azt jelenti, hogy
PfXk = xk j Ak = cik g

=
=
=

ha xk 6= cik

p;
1

p; ha xk = cik

p fxk 6=cik g (1
I

1 Ifxk 6=ci g
k

p)

Ifx =6 c g
k ik
p

(1

p ):

154

3. C SATORNAKDOLS

Ezrt teht
PfX = x j A = ci g

"

k=1


=

 n Ifx 6=c g
k ik

p
1

Ifx 6=c g
k ik

k=1

#
(1

(1

p)

p)n :

Amennyiben a csatorna X kimenete ismeretben a csatorna bemenetre adott


kdszt maximum-likelihood dnts segtsgvel akarjuk meghatrozni, azt a ci -t

vlasztjuk, amelyre pi (x) = PfX = x j A = ci g maximlis, azaz amelyre Ifxk 6=cik g


n

minimlis (hiszen

p
1 p

k=1

<

1).

Vegyk szre, hogy Ifxk 6=cik g ppen az x s a ci Hamming-tvolsga, ami azt


k =1

jelenti, hogy binris szimmetrikus csatorna esetn a maximum-likelihood dekdols ppen a csatorna kimenetn vett sorozattl minimlis Hamming-tvolsgra
levo kdsz vlasztst jelenti. (Kt egyenlo hossz binris sorozat Hammingtvolsgn azon bitek szmt rtjk, amelyekben a kt sorozat klnbzik.)
Amennyiben az X megfigyels rtke vals, s f (x) az eloszlst meghatroz
surusgfggvny, tovbb f i (x) = f (x j A = ai ) az A paramter ai rtkhez tartoz
feltteles surusgfggvny, akkor bebizonythat, hogy az a posteriori valsznusgfggvnyek a kvetkezo alakba rhatk:
Pi (x) =

qi fi (x)
:
f (x )

Ltszik, hogy ez az eset formailag teljesen analg a diszkrt esettel, ezt a


kvetkezo pldval szeretnnk rzkeltetni:
Tegyk fel, hogy minden egyes x 2 R szmra csak azt tudjuk megfigyelni,
hogy az X valsznusgi vltoz =2 sugar krnyezetbe esik-e, azaz, hogy
bekvetkezett-e a B = X 2 (x =2; x + =2) esemny. Tegyk fel tovbb,
hogy f ; f1 ; : : : ; fs folytonos fggvnyek. Ekkor a B -hoz tartoz a posteriori valsznusgek:
Pi (x)

=
=
=

PfA = ai j B g =
PfA = ai ; B g
=
PfB g
PfA = ai gPfB j A = ai g
PfB g

155

3.1. BAYES - DNTS

qi
=

x+R=2
x =2

x+R=2
x =2

qi 1
=
1

f i (z) dz
=

f (z) dz

x+R=2
x =2
x+R=2

x =2

fi (z) dz
:

f (z) dz

Az fi -k folytonossga miatt alkalmazhatjuk az integrlszmts kzprtkttelt,


amibol
qi fi (x)
lim Pi (x) =
:
!0
f (x)
Ltszik teht, hogy egyre kisebb esetn aszimptotikusan a maximum a posteriori
dnts a kvetkezo alak:
G (x) = max qi f i (x);
i

ekkor

Di = fx : G (x) = qi fi (x)g:

Megmutatjuk, hogy ez tnyleg optimlis dnts.


s

R(G)

PfA = ai

i =1
s

G(X) = ai g =

PfX 2 Di j A = ai gPfA = ai g =

i =1
s Z

f i (x) dx qi =

i =1

Di
s Z

Di

s Z

max fq j f j (x)g dx =

i =1 D

Z
=

qi fi (x) dx 

i =1

1
Rd

max fq j f j (x)g dx =
j

156

3. C SATORNAKDOLS
q 1 f 1 (x )
q 2 f 2 (x )

{z

} |

D

{z

D

3.1. bra. A Bayes-dnts hibavalsznusge.


s Z

i=1 
Di
s Z

max fq j f j (x)g dx =
j

qi fi (x) dx = R(G ):

i=1 
Di

A fenti levezets alapjn kiszmthatjuk a Bayes-dnts hibavalsznusgt:


R(G ) = 1

Z
Rd

s = 2 esetn

R(G ) =

max fq j f j (x)g dx:


j

min fq1 f 1 (x); q2 f2 (x)g dx;

Rd

amelyet a 3.1. bra szemlltet egy dimenziban.

3.2. Optimlis detektls analg csatorna kimenetn


A kvetkezo szitucit vizsgljuk: legyen a Z1 ; Z2 ; : : : stacionrius forrs olyan,
hogy Zi rtkeit az A = fa1 ; a2 ; : : : ; as g halmazbl veszi, s ezeket az rtkeket
(zeneteket) egy analg csatornn kell tovbbtanunk. Ezt az analg (fizikai) csatornt gy modellezzk, hogy az ido hosszsg szeletekre van osztva, s az
i-edik szeletben a Zi betu tvitelre kerl sor gy, hogy a lehetsges a1 ; : : : ; as
betuknek megfeleltetnk [0; -n rtelmezett y1 (t ); : : : ; ys (t ) fggvnyeket (jelalakokat), s ha Zi = a, akkor az [(i 1); i intervallumon az ya (t (i 1)) jelet
kldjk el. Ezt a technikt digitlis modulcinak nevezzk (3.2. bra).

3.2. O PTIMLIS

157

DETEKTLS ANALG CSATORNA KIMENETN

PAM:
y1
T

0
y2

BPSK:
y1

y2
T

QPSK:
y1

y2
T

y3

y4
T

BFSK:
y1
0

y2
T

3.2. bra. Digitlis modulci.


3.3. plda. PAM (impulzus amplitdmodulci, pulse amplitude modulation):
yi (t ) = ai  y(t );

i = 1; 2:

3.4. plda. BPSK (binris fzismodulci, binary phase shift keying):


yi (t ) = sin (t + (i

1));

i = 1; 2:

158

3. C SATORNAKDOLS

3.5. plda. QPSK (kvadratikus fzismodulci, quadratic phase shift keying):




yi (t ) = sin t + (i

1)


;
2

i = 1; 2; 3; 4:

3.6. plda. BFSK (binris frekvenciamodulci, binary frequency shift keying):


yi (t ) = sin ((0 + (i

1))t );

i = 1; 2:

A csatorna bemenetre adott jel teht a kvetkezo:

U (t ) =

i=

yZi (t

1)):

(i

Felttelezzk, hogy az analg csatorna additv zajos, ami azt jelenti, hogy a
kimenete
V (t ) = U (t ) + N (t );
ahol az N (t ) egy 0 vrhat rtku stacionrius sztochasztikus folyamat. Felteszszk, hogy a csatorna kimenetn ismerjk a hossz idoszeletek hatrait, azaz a
szinkronizlst mr elvgeztk. Az egyszerusg kedvrt tekintsk a dntst Z1 re, azaz V (t )-t megfigyeljk a [0; intervallumon, abbl d idokznknt mintt
vesznk, s a mintk alapjn dntnk. Ekkor
X

  


=

y Z1



  

d
yZ1 + N;

y Z1


2
d

2
d


;:::;

2
d

V ()


;:::;

y Z 1 ( )

;:::;

N ( )

ahol yi jelli az yi (t ) mintinak s N az N (t ) mintinak a vektort. Ha f (x) jelli


az N surusgfggvnyt, akkor az yi + N surusgfggvnye
f i (x) = f (x

y i );

teht a Bayes-dntshez a
qi f i (x) = qi f (x

yi )

3.2. O PTIMLIS

159

DETEKTLS ANALG CSATORNA KIMENETN

rtkeket kell i-ben maximalizlni. Nzzk a tovbbiakban azt a specilis esetet,


amikor s = 2; q1 = q2 = 12 , s az N (t ) egy 0 vrhat rtku stacionrius Gaussfolyamat. Ekkor az N (t ) folyamat N mintinak vektora normlis eloszls 0 vrhat rtkkel s K kovarianciamtrixszal, azaz
1

f (x ) =

teht

det K

f i (x) =

1
1
2 (x;K x) ;

d p

d p

1
2 (x

yi ;K

1 (x

yi ))

det K

(a ; b )

alakban a skalrszorzatot jelltk.


A hibavalsznusget a Bayes-dnts minimalizlja, azaz
D1

=
=
=
=
=

fx : q1 f1(x)  q2 f2(x)g =
fx : f (x y1)  f (x y2)g =
fx : ln f (x y1)  ln f (x y2)g =
fx : x y1 K 1 (x y1)  x y2 K 1 (x



fx : x K 1 x y 1 K 1 x x K 1 y 1 +
;


x; K 1 x


y2 ; K 1 x

x; K

y2

y2 )

g=

y1 ; K

y2 ; K

y1

y2


g=

szimmetrijnak felhasznlsval:
=

fx :

2 x; K

2 x; K

y1

y2

fx : (x v)  C1 g
;

y1 ; K

y2 ; K

y1

y2


g=

ahol
v=K
s

(y2

y1 )



1
y2 ; K 1 y2
y1 ; K 1 y1 :
2
Ltszik teht, hogy ebben az esetben a Bayes-dnts rendkvl egyszeruen
megvalsthat, amennyiben ismerjk az additv Gauss-zaj kovarianciafggvnyt. Az is ltszik, hogy a dntsi tartomnyok hatra egy affin hipersk (eltolt
altr). A 3.3. brn lthat optimlis detektlst vgrehajt eszkzt a hradstechnikban diszkrt korrelcis detektornak nevezik.

C1 =

160

3. C SATORNAKDOLS
X

skalris
szorz

6v = K

1 (y

nem
igen

kompartor
 C1 ?

G (X) = 1
G (X) = 2

y2 )

3.3. bra. Diszkrt korrelcis detektor.

3.3. Csatorna, csatornakapacits


A diszkrt csatorna lerhat a bemeneti bcvel, a kimeneti bcvel, illetve az
tmenetvalsznusgekkel. Az U bemeneti, s a V kimeneti bck legalbb ktelemu vges halmazok. A csatorna egyenletes idokznknt a bemenetre adott u
szimblumra (amely a bemeneti bc eleme) a kimenetn a kimeneti bc egy
v elemt adja vlaszul. A csatorna viselkedst a bemenojelek U1 ; U2 ; : : : ; Un ; : : :,
illetve a kimenojelek V1 ; V2 ; : : : ; Vn sorozata rja le; ezen valsznusgi vltozk
egyttes eloszlsa:
PfV1 = v1 ; : : : ; Vn = vn ; U1 = u1 ; : : : ; Un = un g =

fU1 = u1 Un = ung
PfV1 = v1
Vn = vn j U1 = u1
Un = un g
ahol PfU1 = u1
Un = un g-et a forrs eloszlsa s a kdol egyttesen hatrozzk meg, mg a PfV1 = v1
Vn = vn j U1 = u1
Un = un g feltteles val=P

;:::;

;:::;

;:::;

;:::;

;:::;

;:::;

sznusgek (n = 1; 2; : : :) a csatornt ler n. tmenetvalsznusgek.


M EGJEGYZS : Azt mindig feltesszk, hogy a csatorna nem szinkronizcihibs,
vagyis, hogy a kimenetn pontosan annyi szimblum jelenik meg, amennyi a bemenetre kerlt, teht szimblum nem vsz el, s nem is keletkezik flslegesen.
Az egyszerusg kedvrt vezessk be a kvetkezo jellseket:
p(v; u)

=
=

p(u)

=
=

p (v )
p(v j u)

=
=
=
=

PfV = v; U = ug =

PfV1 = v1 ; : : : ; Vn = vn ; U1 = u1 ; : : : ; Un = un g
PfU = ug =

PfU1 = u1 ; : : : ; Un = un g
PfV = vg =

PfV1 = v1 ; : : : ; Vn = vn g
PfV = v j U = ug =

PfV1 = v1 ; : : : ; Vn = vn j U1 = u1 ; : : : ; Un = un g;

3.3. C SATORNA ,

161

CSATORNAKAPACITS

illetve
p(vi ; ui )

p (u i )

p (v i )

p (v i j u i )

PfVi = vi ; Ui = ui g
PfUi = ui g
PfVi = vi g

PfVi = vi j Ui = ui g

Most definiljuk a diszkrt memriamentes csatorna fogalmt:


3.3. definci. Egy csatornt akkor neveznk diszkrt memriamentes csatornnak, ha a p(v j u) tmenetvalsznusgek minden n-re, u 2 Un -re s v 2 Vn -re
kielgtik a kvetkezo egyenlosget (Un s Vn az U ill. V elemeibol alkothat
n-hosszsg sorozatok halmazt jelli):
n

p(v j u) = p(vi j ui );
i =1

azaz a csatorna kimeneti szimblumnak eloszlsa mindig csak az aktulis bemenettol fgg.
Nzznk meg pldaknt nhny fontos diszkrt memriamentes csatornt.
3.7. plda (Binris szimmetrikus csatorna (BSC)). Ezzel a csatornatpussal
mr foglalkoztunk a 3.2. plda kapcsn. Itt mind az U bemeneti, mind a V kimeneti bc ktelemu (U = V = f0; 1g), az tmenetvalsznusgek pedig:
PfV

j U = 0g = PfV = 0 j U = 1g = p
PfV = 1 j U = 1g = PfV = 0 j U = 0g = 1
=1

p:

Az tmenetvalsznusgek a 3.4. brn lthat mdon brzolhatak.

s
s

-p
0
p
 
R
p

- 1
1

3.4. bra. Binris szimmetrikus csatorna.

162

3. C SATORNAKDOLS

p
1


p

3.5. bra. Binris z-csatorna.


3.8. plda (Binris z-csatorna). Ennek a csatornatpusnak a bemeneti s kimeneti bcje szintn ktelemu (binris), azonban ez a csatorna nem szimmetrikus,
a bemenetre adott 0 szimblumot egy valsznusggel hiba nlkl tovbbtja,
csupn az 1 szimblum tovbbtsnl hibzhat p valsznusggel, azaz
PfV

j U = 0g
PfV = 0 j U = 1g
PfV = 1 j U = 1g
=0

1;

p;

(lsd 3.5. bra).

3.9. plda (Binris trlses csatorna). A binris trlses csatorna bemeneti bcje U = f0; 1g, mg a kimeneti bc tartalmaz egy tovbbi specilis szimblumot is: V = f0; 1; g. Hibzskor mindig a  szimblum jelenik meg a csatorna
kimenetn:
PfV

 j U = 0g = PfV =  j U = 1g = p
PfV = 1 j U = 1g = PfV = 0 j U = 0g = 1
=

(lsd 3.6. bra).


A diszkrt memriamentes csatornk jellemzsre vezessk be a csatornakapacits fogalmt:
3.4. definci. A p(vi j ui ) (vi 2 V; ui 2 U) tmenetvalsznusgekkel lert diszkrt memriamentes csatorna C csatornakapacitsa a kvetkezo:
C = max fI (U;V )g;

3.3. C SATORNA ,

163

CSATORNAKAPACITS

sHHH - s
HjHH
H s

*

s - s
1

p
p

3.6. bra. Binris trlses csatorna.

ahol a maximumot az sszes olyan (U ; V ) valsznusgi vltozpr halmazn kell


kpezni, ahol U a csatorna U bemeneti bcjn, V pedig a V kimeneti bcn
veszi fel rtkeit, tovbb egyttes eloszlsuk kielgti a PfV = vi j U = ui g =
p(vi j ui ) egyenlosget, azaz V tekintheto a csatorna ltal U -ra adott vlasznak.
Ekkor
(

p(u; v)
max
p(u; v) log p(u) p(v)
u2U;v2V
8
<

max

:u2U
;v2V

p(u) p(v j u) log

)
=

9
=

p(v j u)
:
p
(u0 ) p(v j u0 ) ;

u0 2

Lthatjuk teht, hogy a maximumot elg a csatorna bemeneti bcjn definilhat p(u) (u 2 U) eloszlsokon kpezni.
M EGJEGYZS : A csatornakapacits defincijban azrt rhattunk maximumot
szuprmum helyett, mert az I (U;V ) egy folytonos fggvny a p(u) (u 2 U) eloszlsok zrt, korltos halmazn, ezrt biztosan van olyan bemeneti eloszls, hogy a
bemenet s a kimenet kztti klcsns informci elri a csatornakapacitst.
A csatornakapacits intuitv jelentse teht a csatornn maximlisan tviheto
informci mennyisge. Tulajdonkppen ennek az lltsnak a pontos megfogalmazst adja a ksobbiekben trgyaland csatornakdolsi ttel.
Pldaknt szmoljuk ki a 3.7. pldban szereplo binris szimmetrikus csatorna
kapacitst:
3.10. plda. Esetnkben a bemenet eloszlsa egyetlen paramterrel jellemezheto:
PfU = 1g = 1 :
PfU = 0g = ;

164

3. C SATORNAKDOLS

Ekkor a csatornakapacits:
C = max I (U;V ) = max (H (V )

H (V j U )):

Knnyen lthat, hogy


H (V j U ) = h( p) =

p log p

(1

p) log (1

p)

fggetlen U eloszlstl, ezrt elg


H (V ) = h((1

p) + (1

) p)

maximumt keresni. Tudjuk, hogy a h(x) fggvny az x = 12 helyen veszi fel a


maximumt, ezrt H (V ) akkor maximlis, ha (1 p) + (1 ) p = 12 , azaz ha
= 12 , teht egyenletes a bemenet eloszlsa. Ekkor teht
C = log 2

h( p) = 1

h ( p ):

Ltszik, hogy a csatornakapacits p = 0 s p = 1 esetn C = 1, p = 12 esetn


C = 0, tovbb, hogy a csatornakapacits a p tmenetvalsznusg alulrl konvex
fggvnye.

3.4. Csatornakdolsi ttel


Definiljuk most az 1.1. bra hrkzlsi modelljnek tbbi blokkjt is.
3.5. definci. Csatornakdnak nevezzk az Un egy M elemu C = fc1 ; : : : ; cM g
rszhalmazt, amelynek elemei a ci = ci1 ; : : : ; cin kdszavak (ci j 2 U; i = 1; : : : ; M ;
j = 1; : : : ; n).
3.6. definci. A kdol egy invertlhat f : Yk ! fc1 ; : : : ; cM g fggvny, amely
a forrs k hosszsg blokkjaihoz kdszavakat, vagyis a csatorna bemeneti bcjnek elemeibol alkotott n hosszsg sorozatokat rendel:
f (Y1 ; : : : ; Yk ) = (U1 ; : : : ; Un ):
3.7. definci. A dekdol kt fggetlen rszre bonthat, dntore s a kdol
inverzre (lsd 3.7. bra).
A dntot a g : Vn ! fc1 ; : : : ; cM g lekpezs adja meg, azaz a csatorna kimenetn megjeleno n hosszsg blokkokhoz rendel hozz kdszavakat. A dntst
definilhatjuk a D1 ; : : : ; DM  Vn dntsi tartomnyokkal is a kvetkezokppen:
Dm = fv 2 Vn : g(v) = cm g;

m = 1; 2; : : : ; M :

3.4. C SATORNAKDOLSI

165

TTEL

dekdol

dnto

kdol

3.7. bra. A dekdol felptse.

A kdol inverze egyszeruen az f kdolfggvny f 1 inverzt jelenti, ez a dnto


kimenetn add kdszhoz hozzrendeli azt az zenetet (azaz a forrs k-hoszszsg blokkjt), amelynek kdja ppen ez a kdsz.
Most tekintsk t a csatorna megbzhatsgnak mroszmait.
3.8. definci. Tegyk fel, hogy M szm zenet valamelyikt akarjuk tovbbtani (pldul binris forrs k hosszsg blokkjai esetn M = 2k ). Jelljk ezeket
y1 ; : : : ; yM -mel. Adott kdol s dekdol esetn annak a valsznusge, hogy a
dekdols hibs, feltve, hogy az ym m-edik zenetet tovbbtottuk:
Pe;m =
f

1 (y0 )=y
m

p(y0 j ym ) =

y0 2
= Dm

p(y0 j ym ):

gy, ha p(ym ) az m-edik kzlemny elofordulsnak valsznusge, akkor a hibs


dekdols valsznusge:
M

Pe =

m=1

p(ym )Pe;m =

m=1 y 2
= Dm

p(y0 ; ym ):

A Pe hibavalsznusg teht fgg a kzlemnyek eloszlstl. Mi olyan kdolst


szeretnnk azonban, amely ettol fggetlenl j, ezrt vezessk be a
1 M
Pe;m
Pe =
M m
=1

tlagos hiba kifejezst. Pe rtke fggetlen az zenetek eloszlstl.


M EGJEGYZS : Ha Pe minimalizlsa a clunk, akkor mint a 3.1. szakaszban lttuk, azt a Bayes-dnts megteszi. Ez azt jelenti, hogy a dekdol azt az ym kzlemnyt vlasztja ki, amelyre az ym feltteles valsznusge maximlis a csatorna
kimenetn megjeleno y0 sorozattal mint felttellel. Pe minimalizlsa megfelel a
hibavalsznusg minimalizlsnak egyenletes a priori eloszls esetn. Ekkor az
optimlis dntst maximum-likelihood dntsnek nevezzk. Ebben az esetben a
kdoldekdol prt a kdszavak fc1 ; : : : ; cM g halmazval teljesen megadtuk.
Tekintsnk egy rendkvl egyszeru pldt annak illusztrlsra, hogy csatornakdolssal hogyan nvelhetjk meg az tvitel biztonsgt.

166

3. C SATORNAKDOLS

3.11. plda. Tekintsk a 3.7. pldban ismertetett p hibavalsznusgu binris


szimmetrikus csatornt. Kdols nlkl a hibzs valsznusge nyilvn:
Pe = Pe;1 = Pe;2 = Pe = p:
Vegyk most a kvetkezo kdot: C = f000; 111g, vagyis M = 2, n = 3, k = 1,
illetve a kdolsi szably: f (0) = 000; f (1) = 111. Ha a dekdolsi szably a
tbbsgi dnts, azaz akkor s csak akkor dekdolunk 1-est, ha a vett hrom bit
kztt legalbb kt 1-es van, akkor knnyu ltni, hogy a hibavalsznusgek:
Pe 0 = Pe;1 0 = Pe;2 0 = Pe0 = 3p2
amely p 
sg.

1
2

2p3 ;

esetn sokkal kisebb, mint a kdols nlkl elrheto hibavalsznu-

Az elozo pldban lthattuk, hogy a hibavalsznusg cskkensrt rat kellett fizetnnk: az zenetek leadshoz hromszor olyan hossz idore volt szksgnk. Definiljuk teht a jelsebessg fogalmt.
3.9. definci. Jelsebessgnek vagy kdolsi sebessgnek nevezzk az R =
rtket.

log M
n

A jelsebessg mrtkegysge bit/csatornahasznlat, ami a csatorna kihasznltsgt mri. Azt jelenti, hogy egy csatornahasznlattal hny bit zenetet visznk
t.
3.12. plda. Binris forrs k hosszsg blokkjainak kdolsa esetn a jelsebessg R = nk .
Olyan kdot szeretnnk kszteni, hogy egyidejuleg Pe kicsi, az R jelsebessg
pedig minl nagyobb legyen. Az a krds, hogy megfelelo kdolssal s dekdolssal milyen maximlis jelsebessg rheto el, ha az tvitel husgvel szemben
tmasztott kvetelmny: Pe < , ahol > 0 adott hibakorlt. A kvetkezokben
trgyaland csatornakdolsi ttel, illetve annak megfordtsa azt a meglepo tnyt
mondja ki, hogy tetszoleges -ra ez a maximlisan elrheto jelsebessg fggetlen
-tl, s megegyezik a csatornakapacitssal.
Eloszr azt a krdst vizsgljuk, hogy adott R = lognM jelsebessg mellett milyen kicsi lehet a dekdols hibavalsznusge. Jellje az Y valsznusgi vltoz
a tovbbtand zenetet, mely M klnbzo rtket vehet fel. A kdol utn az
f (Y) = C = (C1 ; : : : ; Cn ) kdjelsorozat jelenik meg ez a csatorna bemenete ,
mg a csatorna kimenete a V = (V1 ; : : : ; Vn ) jelsorozat. A dekdols eredmnye

3.4. C SATORNAKDOLSI

167

TTEL

e visszalltott zenet, ahol g a dntofggvny. A dekdols


az f 1 (g(V)) = Y
e g = Pe .
hibjnak valsznusge: PfY 6= Y
A csatornakdolsi ttel albbi megfordtsa a Pe tlagos hibavalsznusgre
ad als becslst.

3.2. ttel (A csatornakdolsi ttel gyenge megfordtsa). A C kapacits diszkrt memriamentes csatorna minden R jelsebessgu s n szhossz kdjra
Pe  1

C
R

1
:
nR

3.1. kvetkezmny. Ha R > C, akkor lim inf Pe > 0, azaz ha n elg nagy, akkor
n!
nem ksztheto olyan kd, amelyre a dekdols hibakorltja tetszolegesen kicsi.
Mielott rtrnnk a bizonytsra, egy nmagban is rdekes lemmt ltunk be.
3.1. lemma (Fano-egyenlotlensg). Tegyk fel, hogy az X s az Y valsznusgi vltozk rtkket ugyanabbl az M elemu halmazbl veszik fel. Ha Pe =
p(x; y) annak a valsznusge, hogy X 6= Y , akkor
x y6=x

H (X j Y )  Pe log (M

1) + h(Pe );

ahol h(x) a binris entrpiafggvny.


B IZONYTS : Bontsuk fel a feltteles entrpia kifejezst kt rszre:
H (X j Y )

p (y )

p(x y) log p(x y) =


;

p(y)

p (y )

p(x y) log p(x y) + p(y y) log p(y y)


x y6=x

Eloszr az elso tagot vizsgljuk. Mivel

p(y) = (1
x y6=x

p(x)) = M

1;

a Jensen-egyenlotlensg 1.2. kvetkezmnybol kvetkezik, hogy

p(x y) log p(x y)  Pe log


x y6=x

p (y )
;

M 1
Pe

= Pe log (M

1) + Pe log

1
:
Pe

168

3. C SATORNAKDOLS

A msodik tag: mivel p(y; y) = 1

Pe , ezrt szintn az 1.2. kvetkezmnybol:

p(y y) log p(y y)  (1


p (y )

Pe ) log

1
1

Pe

amivel az lltst belttuk.


A 3.2. TTEL BIZONYTSA : A klcsns informci tulajdonsgaibl (2.8.
e klcsns informcija:
d)-bol) kvetkezik, hogy az Y zenet s a dekdolt Y
e ) = I ( f (Y); f
I (Y; Y

(g(V)))

 I ( f (Y); V) = I (C; V)

(3.1)

ugyanis az f fggvny klcsnsen egyrtelmu.


Legyen az U = C eloszlsa:
PfU = ug = p(u);

u = (u1 ; : : : ; un ) 2 Un :

Ekkor, mivel a csatorna memriamentes, azaz


n

p(v j u) = p(vi j ui );
i=1

ezrt
H (V j U)

p(u) p(v j u) log p(v j u) =


1

p(u) p(v j u) log p(vi j ui ) =


u v
n

i =1

p(u v) log p(vi j ui ) =


;

i=1 u
n

H (Vi j Ui )

i=1

Msrszt pedig tudjuk, hogy


n

H (V)  H (Vi );
i =1

teht

I (U; V)  (H (Vi )
i=1

H (Vi j Ui )) = I (Ui ;Vi )  nC;


i=1

(3.2)

3.4. C SATORNAKDOLSI

169

TTEL

ahol a msodik egyenlotlensg a csatornakapacits defincijbl kvetkezik.


Tegyk fel, hogy az Y valsznusgi vltoz egyenletes eloszls, vagyis
minden zenet egyformn M1 valsznusggel kerl tvitelre. Ebben az esetben
H (Y) = log M, s Pe = Pe , teht a Fano-egyenlotlensgbol, (3.1)-bol s (3.2)-bol
kvetkezik, hogy
e ) = log M
1) + h(Pe )  H (Y j Y

Pe log (M

Felhasznlva, hogy log (M

e )  log M
I (Y; Y

nC:

1) < log M = nR, illetve, hogy h(Pe )  1,


1
Pe R +
n

R

C;

s ezzel az lltst belttuk.


M EGJEGYZS : A ttel fo kvetkezmnye az, hogy R > C esetn lim inf Pe > 0.
n!
Igaz azonban az ennl sokkal erosebb lim inf Pe = 1 llts is, amelynek bizon!

nytst itt nem ismertetjk. Ezrt nevezik a 3.2. ttelt a kdolsi ttel gyenge
megfordtsnak.
A kvetkezo ttelt, amelyet eloszr C.E. Shannon mondott ki, az informcielmlet egyik alapttelnek is szoks nevezni.
3.3. ttel (Csatornakdolsi ttel). Tekintsnk egy C kapacits diszkrt memriamentes csatornt. Ekkor brmely r < C s > 0 szmhoz ltezik olyan C =
fc1; : : : ; cM g csatornakd amelynek kdszavai n hosszsgak , hogy

a) Pe <
b) M > 2rn , azaz a

log M
n

jelsebessg nagyobb, mint r.

B IZONYTS : Legyen = Un  Vn , azaz az sszes olyan (u; v) pr halmaza,


ahol u = (u1 ; : : : ; un ) s v = (v1 ; : : : ; vn ) a csatorna bemeneti, illetve kimeneti bcjnek elemeibol alkotott n-hosszsg sorozatok. Definiljunk az halmazon
egy valsznusgeloszlst a kvetkezokppen:
p(u; v) = p(u) p(v j u);
ahol p(v j u) = p(vi j ui ), ahol a p(vi j ui )-k a csatorna tmenetvalsznusgei,
n

i=1
n

tovbb p(u) = p(ui ), ahol p(u) (u 2 U) ppen az a bemeneti eloszls, amelyre


i=1

I (U;V ) = C (lsd a 3.4. definci utni megjegyzst).

170

3. C SATORNAKDOLS

Legyen most R olyan, hogy r < R < C. Definiljuk a T


kezokppen:
T = f(u; v) : i(u; v)  nRg ;
ahol
i(u; v) = log

 halmazt a kvet-

p(v j u)
p(v)

az u s v elemi klcsns informcija.


A T halmazra gondolhatunk gy, mint azon (u; v) prok halmazra, amelyekben u s v bizonyos rtelemben kzel vannak egymshoz, hiszen nagy az elemi
klcsns informcijuk.
Az optimlis maximum-likelihood dnts helyett egy msik dntst hasznlunk. A maximum-likelihood dntsnl p(v j ci )-t maximalizltuk. Ennl a dntsnl csak akkor dntnk, ha
max
i

p(v j ci )
p(v)

 2nR

Most tegyk fel, hogy adott egy tetszoleges C = fc1 ; : : : ; cM g kdunk. A T


halmaz segtsgvel a kd jsgtl fggetlenl llaptsuk meg a dekdolsi
szablyt (azaz a dntot, lsd a 3.7. defincit) a kvetkezokppen:
Amennyiben a csatorna kimenetn a v sorozat jelenik meg, tekintsk a bemeneti sorozatok kvetkezo S(v)  Un halmazt:
S(v) = fu : (u; v) 2 T g

(amely teht a v-hez kzel eso bemeneti sorozatokat tartalmazza). Amennyiben


S(v) pontosan egy ci kdszt tartalmaz, akkor ci -re dntnk, azaz g(v) = ci . Klnben, azaz ha S(v) tbb kdszt tartalmaz, vagy ha egyet sem, akkor tetszoleges
kdszra dntnk, azaz szndkosan hibzunk.
Lthatjuk, hogy a fenti dekdolsi szably mellett, amennyiben a ci kdsz
kerlt a csatorna bemenetre, ktflekppen trtnhet hiba: ha a kimeneten megjeleno v sorozatra ci 2
= S(v), vagy ha valamely i 6= j-re c j 2 S(v).
Ezrt a feltteles hibavalsznusg fellrol becslheto:
M

= S(V) j U = ci g + Pfc j 2 S(V) j U = ci g:


Pe;i  Pfci 2

j =1
j6=i

A kifejezs jobb oldalt talaktva:


Pe;i

 (1
v
=

IT (ci ; v)) p(v j ci ) + IT (c j ; v) p(v j ci ) =

Qi (c1 ; : : : ; cM );

j6=i v

3.4. C SATORNAKDOLSI

171

TTEL

ahol
IT (u; v) =

1; ha (u; v) 2 T
= T
0; ha (u; v) 2

azaz a Pe;i (i = 1; : : : ; M ) feltteles hibavalsznusgek fellrol becslhetok a kdszavak igen bonyolult Qi fggvnyeivel. Olyan kdot szeretnnk tallni (vagy
legalbb a ltezst bizonytani), amelyre Qi (c1 ; : : : ; cM ) minden i-re kicsi, ekkor
ugyanis Pe is kicsi. Sajnos a Qi fggvnyek szma s bonyolultsga olyan nagy
lehet, hogy hagyomnyos minimalizlsi mdszerekkel remnytelen j kdot
tallni. Szerencsre azonban ltezik egy meglepo technika, amellyel j kdot kszteni ugyan nem tudunk, azonban a ltezst be tudjuk ltni. Ez a technika az
n. vletlen kdols. Ennek lnyege rviden az, hogy a kdszavakat vletlenszeruen sorsoljuk, s az gy ksztett kdra vizsgljuk a Qi (c1 ; : : : ; cM ) valsznusgi
vltozkat. Meglepo, de kiderl, hogy a Qi valsznusgi vltozk vrhat rtke
minden i-re nullhoz tart, ha M = d2rn e s n ! . Ebbol pedig mr knnyu lesz
beltni a kvnt tulajdonsg kd ltezst.
Az elso krds nyilvn az, hogy milyen eloszls szerint sorsoljuk ki az egyes
ci = (ci1 ; : : : ; cin ) (i = 1; : : : ; M) kdszavakat: Legyen egy C = fc1 ; : : : ; cM g kd
valsznusge:
M

p(c1 ; : : : ; cM ) = p(ci ) = p(ci j );


i =1

i=1 j=1

ahol p() az az eloszls a bemeneti bcn, amelyre a be- s kimenet klcsns


informcija elri a csatornakapacitst.
Kpezzk most a Qi (C1 ; : : : ; CM ) valsznusgi vltoz vrhat rtkt a fenti
eloszls szerint sorsolt kdra:


E(Qi )

(1

E
j6=i

IT (Ci ; v)) p(v j Ci )

IT (C j ; v) p(v j Ci )

c1 ;:::;cM

p(c1 ; : : : ; cM ) (1

p(ci) p(v j ci ) (1

p(u v) (1
;

u;v

j6=i

IT (u; v)) =

Pf(U; V) 2
= T g;

IT (ci ; v)) p(v j ci ) =

IT (ci ; v)) =

ci ;v

Eloszr E1 -et vizsgljuk:


=

E1 + E2; j :

E1

172

3. C SATORNAKDOLS

teht E1 = Pfi(U; V) < nRg, viszont


i(u; v) = log

p(v j u)
p (v )

p(vk j uk )
p(vk )

log

k=1

i(uk

vk ):

k=1

(Az itt szereplo eloszlsok defincija alapjn gondoljuk t, mirt igaz a p(v) =
n

p(vk ) egyenlosg.)

k =1

Lthatjuk, hogy az i(U; V) valsznusgi vltoz n darab fggetlen, azonos


eloszls valsznusgi vltoz sszege, amelyek vrhat rtke: E(i(Uk ; Vk )) =
I (U ; V ) = C.
Mivel R < C, a nagy szmok gyenge trvnybol addik, hogy
(

lim P

n!

1 n
i(Uk ; Vk ) < R
n k
=1
(

lim P

n!

1 n
(i(Uk ; Vk )
n k
=1

teht

Ei(Uk ; Vk )) < R

= 0;

lim P fi(U; V) < nRg = 0;

(3.3)

n!

azaz E1 nullhoz tart, ahogy n tart a vgtelenhez. Most megprbljuk E2; j -t fellrol becslni.
E2; j

c1 ;:::;cM

p(c1 ; : : : ; cM ) IT (c j ; v) p(v j ci ) =
v

p(c j )IT (c j

c j ;v

v) p(ci ) p(v j ci ) =
ci

p(c j ) p(v)IT (c j

v);

c j ;v

azaz
E2; j =

2T

p(u) p(v):

(u;v)

A T halmaz defincija szerint, ha (u; v) 2 T , akkor


p(u) p(v)  p(u; v)2
gy

E2; j  2

nR

2T

(u;v)

nR

p(u; v)  2

nR

173

3.5. F ELADATOK

sszegezve az eredmnyeket:
E(Qi ) = E1 + E2; j  Pfi(U; V) < nRg + M 2
i6= j

nR

(3.4)

Megjegyezzk, hogy E(Qi ) nem fgg i-tol. Vlasszuk most a kdszavak szmt M = d2nr e-re. Ekkor M 2 nR  2  2 n(R r) . Mivel r < R < C, ezrt (3.3) miatt a (3.4) kifejezs jobb oldala tetszolegesen kicsiv teheto, azaz tallhat olyan
nagy n kdszhossz, hogy az M = d2nr e mretu kdokra minden Qi vrhat rtke: E(Qi ) < (i = 1; : : : ; M).
Azt teht belttuk, hogy a Pe =

1
M

Pe;i tlagos hibavalsznusg (amely per-

i=1

sze a vletlen kdvlaszts miatt szintn valsznusgi vltoz) vrhat rtke:


E(Pe ) < ;
amibol nyilvnvalan kvetkezik, hogy ltezik olyan konkrt kd, a vletlen kd
egy realizcija, amelyre Pe < .
M EGJEGYZS : A csatornakdolsi ttel imnt bizonytott formja nem mond
semmit arrl, hogy R < C esetn a Pe hibavalsznusg milyen sebessggel tart
nullhoz, azaz, hogy egy adott > 0-hoz milyen szhosszsg kddal rheto
el -nl kisebb hibavalsznusg. Itt nem bizonytjuk, csak megemltjk, hogy
ltezik olyan eredmny, amely az exponencilis konvergenciasebessget mondja
ki, pontosabban:
Pe  e E (R)n ;
ahol E (R) alulrl konvex fggvny, s R < C esetn E (R) > 0.

3.5. Feladatok
3.1. feladat (Paritsbit hasznlata visszacsatolsos csatornn).
A gyakorlatban rendkvl gyakran hasznlt kdolsi mdszer az, hogy az zenet
binris sztringet egy bittel meghosszabbtjuk, s ez a bit ppen a sztring bitjeinek
binris sszege (paritsbit). Ez a kd termszetesen hibajavtsra nem alkalmas,
de ha pratlan szm hiba trtnik az tvitel sorn, akkor azt a dekdol szreveszi, s ha van visszacsatols a csatornn, akkor az zenet ismtelt kldst krheti.
A legegyszerubb eset a kvetkezo: Tekintsnk egy binris szimmetrikus csatornt
p hibavalsznusggel. Csakgy, mint az elozo pldban, az zenet a 0 s 1 szimblumok valamelyike. A kdolsi szably szerint, ha az zenet 0, akkor a (00)
kdszt kldjk t a csatornn, mg 1 esetn az (11) kdszt. Dekdolskor, ha a
kt vett bit megegyezik, akkor annak megfeleloen dntnk, ha pedig nem, akkor
jabb kldst ignylnk.

174

3. C SATORNAKDOLS

a) Bizonytsa be, hogy ekkor a dekdols hibavalsznusge


Pe = Pe;1 = Pe;2 =

p2
;
2p + 2p2

tovbb, hogy egy zenetbit tovbbtshoz tlagosan


1

2
2p + 2p2

bitet kell a csatornn tkldeni.


b) Hasonltsa ssze ezeket a szmokat az elozo plda eredmnyvel! (Meglepo, de bebizonythat, hogy a visszacsatols nem nveli a csatornakapacitst, azaz, visszacsatols nlkl is mindig elrheto ugyanaz a jelsebessg
s hibavalsznusg, legfeljebb hosszabb blokkokat kell hasznlni.)
3.2. feladat.

s
s
s

s XX
zXXXs
:




s 
s

:



s 

a) Mennyi az brn lthat kt csatorna kapacitsa?

XX1XX
XXzXXX
0


1 XX1X
XXX>
XXX 1
 z
1 2

:






 12
2 
0

s
s

XX1XX

b) Tegyk fel most, hogy a kt csatornt egyszerre hasznljuk, azaz a bemeneti 0,1 vagy 2 szimblumot mindkt csatornn tovbbtjuk. gy egy olyan
csatornhoz jutottunk, amelynek hrom lehetsges bemenete, s ngy kimenete van. Mennyi az j csatorna kapacitsa? Mutassa meg, hogy mindhrom csatorna esetn van olyan R = C jelsebessgu kd, amely nulla hibavalsznusggel dekdolhat!
3.3. feladat (mod 11 csatorna). Legyen egy diszkrt memriamentes csatorna
bemenete U 2 f0; 1; : : : ; 10g. A csatorna kimenett, V -t a V = U + Z (mod 11)
egyenlet hatrozza meg, ahol Z fggetlen U-tl s
PfZ = 1g = PfZ = 2g = PfZ = 3g =
a) Hatrozza meg a csatorna kapacitst!

1
:
3

175

3.5. F ELADATOK

b) Adjon maximlis jelsebessgu, egy hossz blokkokat kdol csatornakdot, melyet 0 hibavalsznusggel lehet dekdolni! Mekkora az gy elrheto
legnagyobb jelsebessg?
3.4. feladat. Az brn lthat blokksmn U ; Z s W fggetlen binris valsznusgi vltozk,  pedig modulo 2 sszeadst jell. Az elrendezs meghatroz egy
binris csatornt, melynek bemenete U, kimenete V .
U

m-

a) Mennyi a csatorna kapacitsa, ha PfZ = 1g = p s PfW

= 1 = q?

b) Ha az elso  muveletet kicserljk binris vagy muveletre, a msodikat


binris s muveletre, akkor p = 13 s q = 34 esetn mi a csatorna kapacitsa?
3.5. feladat (BSC-k kaszkdja). Kapcsoljunk egyms utn k darab binris szimmetrikus csatornt, melyek mindegyiknek hibavalsznusge p. Mutassa meg,
hogy a kapott csatorna ekvivalens egy binris szimmetrikus csatornval, amelynek hibavalsznusge 21 (1 (1 2p)k ), azaz a csatorna kapacitsa nullhoz tart,
ahogy k tart vgtelenhez. (Az informcielmlet megszletsekor az jelentette
az egyik legnagyobb meglepetst, hogy ha az egyes csatornk kz kdolkat s
dekdolkat tesznk, akkor az egyes elemi csatornk kapacitsnak megfelelo jelsebessg mellett tetszolegesen kis hibavalsznusg rheto el. Ms szval, az tvitel tulajdonsgai megjavthatak az tvivo kzegbe iktatott kdolk s dekdolk
segtsgvel, anlkl, hogy a kzeg fizikai tulajdonsgait megvltoztatnnk.)
3.6. feladat (Trlses csatorna kapacitsa). Bizonytsa be, hogy a p hibavalsznusgu binris trlses csatorna kapacitsa C = 1 p.
3.7. feladat (Gyengn szimmetrikus csatornk kapacitsa). A csatornamtrix
a p(v j u) tmenetvalsznusgeket tartalmazza (u 2 U; v 2 V), mgpedig gy,
hogy az i-edik sor j-edik oszlopban a p(v j j ui ) valsznusg ll. Egy diszkrt
memriamentes csatornt gyengn szimmetrikusnak neveznk, ha csatornamtrixnak minden sora ugyanannak a p valsznusgi vektornak egy permutcija,
tovbb az oszlopokban ll valsznusgek sszege lland. Mutassa meg, hogy
egy ilyen csatorna kapacitsa
C = log jVj

H (p):

176

3. C SATORNAKDOLS

3.8. feladat.
a) Mennyi az brn lthat csatorna kapacitsa?
b) Az elozo csatornnl legyen p = 14 . Tegyk fel, hogy a csatornt sszesen
30-szor hasznlhatjuk. Kzeltoleg hny bites binris zenetek tvitelt
valsthatjuk gy meg, ha az zenet meghibsodsnak valsznusgt kis
szinten akarjuk tartani?
0
1 p

s
s
s
s
s



:




0
ZpZ
ZZ: 1
1 p

XXXZ~Z
1X
XzXXZXZ 
p

p:
XXX>
2X
XzXXX
1 p 
2
p
XX
3X
XXX 3
1 p XXz

s
s
s
s

3.9. feladat (Kapacits fltti jelsebessg). Tegyk fel, hogy egyenletes eloszlssal vletlenszeruen sorsolt n hosszsg binris sztringeket kdols nlkl tovbbtunk egy p hibavalsznusgu binris szimmetrikus csatornn. Vilgos, hogy
ekkor a jelsebessg nagyobb, mint a csatornakapacits. Mekkora a dekdols hibavalsznusge? Mekkorra rdemes az n blokkhosszt vlasztani?
3.10. feladat (MAP s ML dekdols). Vegynk egy binris szimmetrikus csatornt p hibavalsznusggel. Tegyk fel, hogy kt zenet egyikt akarjuk tovbbtani, s n hosszsg ismtlses kdot alkalmazunk, azaz az elso zenet
esetn az n darab nullbl, mg a msodik esetn az n darab egyesbol ll kdszt
kldjk t a csatornn. Tudjuk, hogy a maximum-likelihood dekdols azt a kdszt vlasztja ki, amelynek a csatorna kimenetn vett sorozattl mrt Hammingtvolsga kisebb. Tudjuk, hogy a legkisebb hibavalsznusgu dekdols a maximum a posteriori dekdols. Tegyk most fel, hogy a kt zenet kldsnek
valsznusge q, illetve 1 q. llaptsa meg a maximum a posteriori dekdols
szablyt! Pldul p = 13 s q = 0:1 esetn hatrozza meg a dekdolsi szablyt n
tbb rtkre, pl. n = 3; 10; 100 esetn.
3.11. feladat (ML dekdols trlses csatornn). llaptsa meg a maximumlikelihood dekdols szablyt binris trlses csatornn!

4. fejezet

Hibajavt kdols
A hibajavt kdok s a titkosts egszen a 80-as vek elejig kvl rekedt a polgri alkalmazsok krn. A kdelmlet esetn ennek elsosorban technolgiai okai
voltak, ezeket az akadlyokat a mikroelektronika tmeges elterjedse sprte el,
mg a titkosts azrt trhetett be a civil terletre, mert megszletett az utbbi vek
informcitechnikjnak egyik legeredetibb tlete, a nyilvnos kulcs titkosts.
A kvetkezo kt fejezet clja ppen az, hogy ismertesse azon eljrsok elmleti alapjait, melyek mr elterjedtek vagy elterjedsk megkezdodtt a tvkzlsi
s informatikai tmegszolgltatsokban.
Ez a rsz igyekszik sszefoglalni a hibajavt kdok elmletbol azokat az
eredmnyeket, melyek egyrszt viszonylag egyszeru matematikai alapokkal mr
megrthetok, msrszt a hrkzlsi illetve informatikai tmegszolgltatsokban
alapveto fontossgak.
A hibajavt kdok trtnete az informcielmlet kialakulsval kezdodtt,
nevezetesen, amikor Shannon bebizonytotta a csatornakdolsi ttelt, vagyis megtallta a zajos csatorna megbzhat hasznlatnak az elvi korltjt, a csatornakapacitst, s az alkalmazott bizonyts nem adott eljrst a csatornakapacitst kzelto hatkony kdok konstrukcijra. Az 50-es vekben fedeztk fel az alapveto
blokk-kdokat (Hamming, BCH, ReedSolomon, stb.), mg a 60-as vekre teheto
a konvolcis kdok s a Viterbi-algoritmus bevezetse. Egszen a 70-es vek
msodik felig a hibajavt kdols fo felhasznlsi terletei a katonai hrkzls
s a nagymegbzhatsg irnyt rendszerek voltak, csak a mikroprocesszorok
elterjedsvel nylt meg az t a tmeges polgri alkalmazsok fel.

178

4. H IBAJAVT KDOLS
forrs

kdol

csatorna

dekdol

u0

nyelo

4.1. bra. Hrkzlsi rendszer blokkdiagramja.

4.1. Kdolsi alapfogalmak


A hibajavt kdols alapveto mdszereit a 4.1. brn lthat egyszeru hrkzlsi
struktra kapcsn vizsgljuk.
Az u s u0 vektorok koordinti egy F halmazbl veszik rtkeiket, mely halmazt forrsbcnek nevezzk. A kdol a k hossz u vektort (az zenetet) egy
n hossz c vektorba (a kdszba) kpezi le. A c koordinti egy Q halmazbl
veszik rtkeiket. A Q-t kdbcnek vagy csatorna bemeneti bcnek fogjuk
hvni. A csatorna kimenete v, szintn egy n hossz vektor, melynek koordinti
szintn Q-beliek.
Egy
c = (c1 ; : : : ; cn )
bemeneti s
v = (v1 ; : : : ; vn )
kimeneti sorozat esetn azt mondjuk, hogy az m-edik idopontban a csatorna hibzott, ha cm 6= vm . Jellje d (c; v) azon i pozcik szmt, ahol ci 6= vi .
d (c; v) neve a c; v sorozatok Hamming-tvolsga, s azt mondjuk, hogy a
c sorozat kldsekor s a v sorozat vtelekor a hibk szma t = d (c; v). Ezt az
esetet nevezzk egyszeru hibzsnak, amikor a hiba helye s rtke egyarnt
ismeretlen. d (c; v) valban tvolsg, hiszen
d (c ; v )  0 ;
d (c; v) = d (v; c);
s igaz a hromszg-egyenlotlensg:
d (c; v)  d (c; w) + d (w; v):
Kd (blokk-kd) alatt a Qn halmaz egy C rszhalmazt rtjk, azaz C minden
eleme egy n hossz vektor, melynek koordinti Q-beliek. C elemeit kdszavaknak nevezzk. A kdols egy invertlhat fggvny, mely k hossz F-beli
sorozatot zenetet kpez le egy kdszba, formalizlva:
f : F k ! C;

4.1. KDOLSI

179

ALAPFOGALMAK

s minden klnbzo u, u0 -re f (u), f (u0 ) is klnbzo.


Dekdols alatt kt fggvny egymsutnjt rtjk. Az egyik a csatorna kimenetnek n hossz szegmenst kpezi le C-be, azaz igyekszik eltallni a kldtt
kdszt, a msik pedig az f fggvny inverze, teht
g : Qn ! C;

: C ! F k:

Mivel f egyrtelmuen meghatrozza f 1 -et, ezrt dekdols alatt a ksobbiekben csak a g fggvnyt rtjk. A g dekdol fggvnyknt az algebrai hibajavt kdok elmletben specilis fggvnyt vlasztunk, nevezetesen a v vektorhoz
megkeressk azt a c0 2 C kdszt, mely Hamming-tvolsg szerint hozz a legkzelebb van, vagy ha tbb ilyen van, akkor az egyiket, teht teljesl, hogy ha
c0 = g(v), akkor
d (c0 ; v) = min d (c; v):
c2C

Az elozo fejezetben megmutattuk, hogy binris szimmetrikus csatorna esetn


ez a dekdols optimlis. Ms csatornnl ez a dekdols mr nem felttlenl
optimlis.
A dekdols feladata ezek utn arra a messze nem trivilis feladatra szukl,
hogy egy v vett szhoz hogyan keressk meg a hozz legkzelebbi c0 kdszt
anlkl, hogy minden d (c; v)-t kiszmtannk. Ha mgis kiszmtjuk ezeket a
tvolsgokat, s minden v-hez megkeressk a hozz legkzelebbi c kdszt, majd
a neki megfelelo zenetet, akkor elvben azt eltrolhatjuk, s gy egy tblzathoz
jutunk, melynek cmt v adja, tartalma pedig a v-nek megfelelo dekdolt zenet.
Ez a tblzatos dekdolsnak a legegyszerubb, de legpazarlbb esete, hiszen a
tblzat qn darab zenetbol ll, ahol q a Q kdbc elemszma.

4.1. plda. Tekintsk azt a feladatot, amikor a forrs a kvetkezo ngy lehetsges
zenetet bocstja ki: alma, krte, szilva, cseresznye, melyeket rendre 00, 01, 10,
11 sorozatokkal forrskdolunk. A 2 hossz forrsszegmensekhez az f kdol a
kvetkezo, 5 hossz kdszavakat rendeli hozz:
u1 u2
0 0
0 1
1 0
1 1

!
!
!
!

c1 c2 c3 c4 c5
0 0 0 0 0
0 1 1 0 1
1 0 1 1 0
1 1 0 1 1

c1
c2
c3
c4

180
A g s az f

4. H IBAJAVT KDOLS
1

fggvnyt a kvetkezo tblzat foglalja ssze:

v1 v2 v3 v4 v5 9
0 0 0 0 0 >
>
>
1 0 0 0 0 >
>
>
=
0 1 0 0 0
0 0 1 0 0 >
>
>
>
0 0 0 1 0 >
>
;
0 0 0 0 1
0
1
0
0
0
0

1
1
0
1
1
1

1
1
1
0
1
1

0
0
0
0
1
0

1
1
1
1
1
0

1
0
1
1
1
1

0
0
1
0
0
0

1
1
1
0
1
1

1
1
1
1
0
1

0
0
0
0
0
1

1
0
1
1
1
1

1
1
0
1
1
1

0
0
0
1
0
0

1
1
1
1
0
1

1
1
1
1
1
0

0
0
1
1

0
1
0
1

0
0
0
0

1
1
0
0

1
0
1
0

0
0
1
1

0
1
0
1

1
1
1
1

1
1
0
0

1
0
1
0

9
>
>
>
>
>
>
=
>
>
>
>
>
>
;
9
>
>
>
>
>
>
=
>
>
>
>
>
>
;
9
>
>
>
>
>
>
=
>
>
>
>
>
>
;
9
>
>
=
>
>
;
9
>
>
=
>
>
;

c01 c02 c03 c04 c05

u01 u02

0 0 0 0 0

0 0

0 1 1 0 1

0 1

1 0 1 1 0

1 0

1 1 0 1 1

1 1

0 0 0 0 0

0 0

0 1 1 0 1

0 1

4.1. KDOLSI

181

ALAPFOGALMAK

Az elso 24 kimeneti sz dekdolsakor nincs problma, hiszen minden 6 szbl ll csoport minden szava olyan, hogy vagy kdsz (az elso helyen ll),
vagy a kdsz egy bitjnek a megvltoztatsval (egy hibval) kpzodtt. A 25
28. szavak mindegyike c1 -tol s c4 -tol 2, mg c2 -tol s c3 -tl 3 tvolsgra van. Itt
nknyesen a dekdols eredmnye c1 (jobb rvnk nincs, mint az, hogy jobban
szeretjk az almt, mint a cseresznyt). A 2932. szavak mindegyike c1 -tol s c4 tol 3, mg c2 -tol s c3 -tl 2 tvolsgra van. Itt (szintn nknyesen) a dekdols
eredmnye c2 .
4.2. plda. A 4.1. pldban szereplo zenetekhez rendeljnk 3 hossz kdszavakat:
u1 u2
c1 c2 c3
c1
0 0 ! 0 0 0
c2
0 1 ! 0 1 1
1 0 ! 1 0 1
c3
c4
1 1 ! 1 1 0
azaz az u1 u2 bitet kiegsztjk egy paritsbittel. Ez a kd mr sokkal szegnyesebb, mert ha a v nem kdsz, akkor 3 kdszbl nyerheto 1 bit megvltoztatsval, azaz 1 hibval.
A ksobbiekben kiderl, hogy a kdol f fggvny leglnyegesebb tulajdonsga a C kd egy paramtere, amit kdtvolsgnak neveznk, s dmin -nel jellnk:
dmin = min0 d (c; c0 ):
c6=c
c;c0 2C

A 4.1. pldban dmin = 3, mg a 4.2. pldban dmin = 2.


A hibajelzs a hibakorltoz kdols azon feladata, amikor a vevoben csupn
detektlni akarjuk a hibzs tnyt, azaz azt krdezzk, hogy van-e hiba. Nyilvn
egy v vett sz esetn akkor tudjuk a hibzst szrevenni, ha v nem kdsz, amire
garancia, hogy ha c kldtt kdsz esetn
dmin > d (v; c);
azaz a hibk szmra
dmin > t ;
teht egy dmin kdtvolsg kd minden, legfeljebb dmin 1 szm hibt jelezni
tud.
Mivel a 4.1. pldban dmin = 3, ezrt ez a kd 2 hibt tud jelezni, mg a 4.2.
plda kdja dmin = 2 miatt 1-et.

182

4. H IBAJAVT KDOLS

Hibajavts esetn azt krdezzk, hogy ha t a hibk szma, akkor mi biztostja, hogy a v vett szbl a c kldtt kdsz egyrtelmuen visszallthat legyen,
azaz minden ms c0 kdszra
d (v; c0 ) > d (v; c)

(4.1)

legyen. Mivel a Hamming-tvolsg valban tvolsg, ezrt teljesti a hromszgegyenlotlensget, azaz


d (v; c0 )  d (c; c0 )

d (v; c);

(4.2)

teht (4.1) gy biztosthat, hogy


d (c ; c 0 )

d (v; c) > d (v; c);

ugyanis, ha ez utbbi teljesl, akkor (4.1) is teljesl, azaz minden c0 6= c-re


d (c; c0 ) > 2d (v; c);
vagyis
dmin
2

>

d (v; c):
j

sszefoglalva: egyszeru hibzs esetn min2


hiba javthat.
A 4.1. plda kdja 1 hibt tud javtani, mgpedig a dekdolsi tbla elso 24
kimeneti szava esetn, mg a 4.2. plda kdjnak hibajavt kpessge 0.
Gyakran fordul elo olyan hibzs, amikor tudjuk, hogy egy pozciban hiba lehet, vagyis tudjuk, hogy ms pozcikban nincs hiba, teht a hiba helyt ismerjk,
csak a hiba rtkt nem. Az ilyen hibt trlses hibnak nevezzk. Egyszeruen
belthat, hogy minden dmin 1 trlses hiba javthat, ugyanis a legrosszabb
esetben sem fordulhat elo, hogy kt c; c0 kdsz ugyanazon, de legfeljebb dmin 1
pozcijnak trlsvel ugyanazt a szt kapnnk.
A 4.1. plda kdja 2 trlses hibt tud javtani, mg a 4.2. plda kdja 1-et.
Nyilvn adott n kdszhosszsg s dmin kdtvolsg esetn nem lehet akrmilyen nagy mretu kdot konstrulni:
4.1. ttel (Singleton-korlt). Egy M kdszbl ll, n hossz s dmin kdtvolsg kdra
M  qn dmin +1 :
B IZONYTS : Legyen k egy termszetes szm, melyre
qk

<

M  qk :

4.1. KDOLSI

183

ALAPFOGALMAK

Mivel a k 1 hossz klnbzo sorozatok szma qk 1 , ezrt qk 1 < M miatt ltezik kt kdsz c s c0 , melyek az elso k 1 koordintban megegyeznek. Ezekre
d (c; c0 )  n
kvetkezskppen

k + 1;

dmin  n

azaz

k + 1;

M  qk  qn

dmin +1

Jellegzetes esetben M = qk , vagyis a kdol k hossz forrsszegmensekhez


rendel n hossz vektorokat. Azt mondjuk ilyenkor, hogy a kdunk (n; k) paramteru. Ebben az esetben a Singleton-korlt alakja
dmin  n

k + 1:

4.1. definci. Azon kdot, melyre a Singleton-korltban = ll, maximlis tvolsg vagy MDS (maximum distance separable) kdnak nevezzk.
A 4.1. pldban k = 2; n = 5; dmin = 3, teht ez a kd nem MDS kd.
4.2. ttel (Hamming-korlt). Ha egy (n; k) paramteru kd t hibt tud javtani,
akkor
t  
n
(4.3)
i ( q 1 )i  q n k :
i =0
B IZONYTS : Egy kdsz kzepu gmb lljon azokbl a vektorokbl, melyek
a kdszbl legfeljebb t hibval keletkeznek. (q 1)i darab olyan vektor van,
amely az adott kdsztl valamely fix i pozciban tr el, ezrt egy ilyen gmb
t

i =0

n
i (q

1)i vektort tartalmaz. A kd akkor tud t hibt javtani, ha a qk darab

kdsz krli gmbk diszjunktak. Ekkor viszont az sszes gmbben levo vektorok szma kisebb vagy egyenlo, mint qn , teht
q

i=0

 

n
i

(q

1)i  qn :
j

Emlkeztetnk arra, hogy egy kd t = min2


hibt tud javtani.
A 4.2. ttel nem mondja azt, hogy ha n; k; t kielgti a (4.3)-at, akkor ltezik
ilyen paramteru kd. Azt viszont lltja, hogy ha (4.3) nem teljesl, akkor ilyen
kd nincs, teht (4.3) a kd ltezsnek szksges felttele.

184

4. H IBAJAVT KDOLS

4.2. definci. Az olyan kdokat, ahol a Hamming-korltban = ll, perfekt kdoknak nevezzk.
ltalban a Hamming-korltot binris (q = 2) esetben idzik, amikor az a
kvetkezo egyszeru alak:
t  
n
i  2n k :
i=0
A kvetkezo szakaszban mutatunk egy kdot, a binris Hamming-kdot (t
mely perfekt kd, azaz
1 + n = 2n k :

1),

4.2. Binris lineris kdok, binris Hamming-kd


Ebben a szakaszban kdok egy fontos csoportjval ismerkednk meg. A tovbbiakban a kdjainkban szereplo kdszavakat alkot szimblumok legyenek 0 vagy 1
rtkuek, az sszeads s a szorzs pedig a binris sszeads s a binris szorzs,
azaz a modulo 2 sszeads s a modulo 2 szorzs.
Vezessk be a lineris kd fogalmt:
4.3. definci. Egy C kd lineris, ha a C halmaza lineris tr, azaz ha minden
c; c0 2 C-re c + c0 2 C.
A lineris kd defincijbl kvetkezik, hogy a 0 vektor eleme minden lineris kdnak, vagyis minden lineris kd esetn a 0 kdsz. Egyszeruen belthat,
hogy a 4.1. s 4.2. plda kdja lineris.
A lineris kdok jelentosgt az adja, hogy az egyes zenetekhez tartoz kdszavak viszonylag egyszeruen generlhatk, s ugyancsak egyszeru mdszer tallhat a vett kdszavak hibamentessgnek vizsglatra, vagyis a hibadetektlsra, s a hibk javtsa sem bonyolult. A kvetkezokben e mdszereket fogjuk
bemutatni.
Jelentsen C tovbbra is egy lineris kdot, a kdszhossz legyen n. Ekkor C az
n hosszsg binris koordintj vektorok ternek egy altere; kdsz helyett
gyakran vektor-t fogunk mondani.
A vals vektortrben megszokott lineris fggetlensg s bzis fogalmak itt is
teljesen hasonlan rtelmezhetok, vagyis
4.4. definci. A g1 ; g2 ; : : : ; g j 2 C vektorok linerisan fggetlenek, ha i 2 f0; 1g
mellett
j

i gi = 0

i =1

csak gy llhat elo, ha i = 0 minden i = 1; 2; : : : ; j-re.

4.2. B INRIS

LINERIS KDOK , BINRIS

H AMMING - KD

185

4.5. definci. A g1 ; g2 ; : : : ; gk 2 C vektorok a C lineris tr egy bzist alkotjk,


ha linerisan fggetlenek, tovbb igaz az, hogy minden c 2 C vektor elollthat
k

c = ui gi

(4.4)

i=1

alakban, ahol ui 2 f0; 1g minden i = 1; 2; : : : ; k-ra.


Az utbbi definciban a bzist alkot vektorok lineris fggetlensgbol kvetkezik, hogy a kdszavak fenti tpus elolltsa egyrtelmu is, ha ugyanis ltezne kt klnbzo elollts valamely c 2 C-re, teht
k

c = ui gi
i=1

c = y i gi ;
i=1

ahol nem ll fnn ui = yi minden i-re, akkor a kt egyenletet kivonva egymsbl


a nullvektornak egy nem trivilis elolltst kapnnk a bzisvektorokkal, ami
ellentmondana azok lineris fggetlensgnek.
A (4.4) egyenlosg flrhat mtrixalakban:
c = uG;

(4.5)

ahol u = (u1 ; u2 ; : : : ; uk ), G pedig a bzisvektorokbl mint sorvektorokbl ll


mtrix. A (4.5) egyenlettel teht egy k-dimenzis s egy n-dimenzis vektort rendelnk ssze lineris transzformcival, mgpedig klcsnsen egyrtelmu mdon. Azt fogjuk mondani, hogy az u zenethez a c kdsz tartozik.
A k-dimenzis u vektorokkal 2k -fle zenetet fejezhetnk ki, s ezeket kdoljuk a C kddal. C elemei azonban n-dimenzis vektorok, s n nem kisebb k-nl,
hiszen k az n-dimenzis vektorok C alternek dimenziszma. A k = n esetnek
nincs most jelentosge, ha k kisebb, mint n, akkor viszont vilgos, hogy nem minden vektort kell felhasznlni kdsznak, vagyis kdunk redundns lesz, s ezt a
redundancit tudjuk hibajavtsra felhasznlni.
Az zenetekhez a kdszavakat a G mtrix segtsgvel rendeljk hozz, vagyis
a G mtrix jelli ki az n-dimenzis vektortrnek a kdot jelento C altert, a kdot
G generlja.
4.6. definci. A fenti tulajdonsg G mtrixot a C kd genertormtrixnak
nevezzk.

186

4. H IBAJAVT KDOLS

Vegyk szre, hogy ha nem trodnk azzal, hogy melyik kdsz melyik zenethez tartozik, csak a kdszavak halmazt tekintjk, akkor G nem egyrtelmu,
vagyis tbb mtrix is generlhatja ugyanazt a C kdszhalmazt. A kvetkezo
definci egy megfeleltetst definil az zenetek s a kdszavak kztt.
4.7. definci. Egy (n; k) paramteru lineris kd szisztematikus, ha minden kdszavra igaz, hogy annak utols n k szimblumt elhagyva ppen a neki megfelelo k hosszsg zenetet kapjuk, ms szavakkal a k hossz zenetet egsztjk
ki n k karakterrel.
A 4.1. szakaszban mr leszgeztk, hogy dekdols alatt csak az esetleges
hibk kijavtst rtjk, aminek eredmnyekpp egy kdszt kapunk. Az zenetvektor visszanyershez mg el kell ugyan vgezni a kdols inverz muvelett, ez
azonban rendszerint trivilis lps, szisztematikus kd esetn pldul csak el kell
hagyni a kdsz egy rszt (a vgt).
Szisztematikus kd esetn a genertormtrix is egyrtelmu, mgpedig
G = (Ik ; B)
alak, ahol Ik a k  k mretu egysgmtrix, B pedig k  (n
u zenethez tartoz c kdsz szerkezete teht:

(4.6)
k) mretu mtrix. Az

c = (u1 ; u2 ; : : : ; uk ; ck+1 ; ck+2 ; : : : ; cn ):


A c elso k koordintjbl ll szegmenst zenetszegmensnek, az utols
n k koordintjbl llt paritsszegmensnek nevezzk.
A lineris kdok tovbbi tulajdonsgai elvezetnek az grt egyszeru hibadetektlshoz illetve hibajavtshoz.
4.8. definci. Ha egy n

k sorbl s n oszlopbl ll H mtrixra


HcT

=0

akkor s csak akkor, ha c 2 C, akkor H-t a C kd paritsellenorzo mtrixnak


nevezzk. (Rviden paritsmtrixot fogunk mondani.)
H segtsgvel teht meg tudjuk llaptani, hogy egy vett sz valban kdsz-e.
4.3. ttel. Ha G s H ugyanazon C lineris kd genertormtrixa illetve paritsmtrixa, akkor
HGT = 0:

Minden lineris kdnak van paritsmtrixa.

4.2. B INRIS

LINERIS KDOK , BINRIS

187

H AMMING - KD

B IZONYTS : Jellje Qk a k hossz binris sorozatok halmazt. Ekkor minden


u 2 Qk -hoz ltezik c 2 C, amire c = uG. Ugyanakkor c 2 C miatt HcT = 0, azaz
HcT

T T

= H(uG) = HG

= 0:

Az utols egyenlosg pedig csak gy llhat fnn minden u 2 Qk -ra, ha HGT =


0, amint lltottuk. (Megjegyezzk, hogy amennyiben H kielgti a HGT = 0
egyenletet, akkor H mg nem biztos, hogy paritsmtrix.) A ttel msodik felt
eloszr szisztematikus esetben ltjuk be. Legyen
G = (Ik ; B)
alak, keressk H-t
H = (A; In

k)

alakban. A ttel elso fele miatt


HGT

= (A; In k )(Ik ; B) = A + B = 0:

Azaz
A = BT
kell teljesljn. (Binris esetben BT = BT .) Meg kell mutatni, hogy az gy
kapott H mtrix valban paritsmtrix. Azt tudjuk, hogy minden c kdszra
HcT = 0. A msik irny hinyzik: ha egy c = (c1 ; c2 ; : : : ; ck ; ck+1 , : : : ; cn ) vektorra HcT = 0, akkor c kdsz, de ez is egyszeru:
0 = HcT

= (A; In k )c = (

BT ; In

k )c

miatt
(c1 ; c2 ; : : : ; ck )B + (ck+1 ; : : : ; cn ) = 0;

teht
(ck+1 ; : : : ; cn ) = (c1 ; c2 ; : : : ; ck )B;

kvetkezskpp
(c1 ; c2 ; : : : ; ck ; ck+1 ; : : : ; cn ) = (c1 ; c2 ; : : : ; ck )(Ik ; B);

ezrt c tnyleg kdsz.


Belthatjuk, hogy egy tetszoleges (nem felttlenl szisztematikus) kdnak van
paritsmtrixa, hiszen ezt mg csak szisztematikus esetben tudjuk. Az igazols fo
gondolata arra pl, hogy minden lineris kd ltalnos rtelemben szisztematikus. Egy lineris kdot ltalnos rtelemben szisztematikusnak neveznk, ha

188

4. H IBAJAVT KDOLS

ltezik egy G genertormtrixa s i1 ; i2 ; : : : ; ik egsz szmok gy, hogy G i j -edik


oszlopa a j-edik helyen 1, a tbbi helyen 0. Nyilvn egy ilyen tulajdonsg G
mtrix oszlopcserinek egy sorozatval szisztematikus mtrixot kapunk, ahol mr
elo tudjuk lltani a paritsmtrixot, s az elozo oszlopcserk inverzvel az eredeti
kd egy paritsmtrixt kapjuk. ltalnos rtelemben szisztematikus genertormtrixhoz gy juthatunk, ha bizonyos sorok nem 0-szorost hozzadjuk egy msik
sorhoz, gy, ahogy azt a Gauss-elimincinl megszoktuk. Ezek a transzformcik azrt jogosak, mert a G mtrix sorai egy bzist alkotnak, s a transzformci
utn is egy bzist alkotnak, mivel a kd lineris.
4.3. plda. Adjuk meg a 4.1. plda kdjnak szisztematikus genertormtrixt,
ha van, s a paritsmtrixot! Ezt gy kapjuk meg, ha G elso sora c3 , mg a msodik
c2 , mivel ekkor az elso 2  2-es rszmtrix egysgmtrix:


G=

1 0 1 1 0
0 1 1 0 1

A fentiek alapjn a paritsmtrix:


0

1 1 1 0 0
H =  1 0 0 1 0 A:
0 1 0 0 1
Ugyangy kapjuk a 4.2. plda szisztematikus genertormtrixt s paritsmtrixt:


G=

1 0 1
0 1 1

H=

1 1 1


;

A kvetkezokben a sly fogalmt definiljuk, megmutatjuk, hogy lineris kdoknl a minimlis sly a kdtvolsggal egyenlo, majd tovbbi hrom ttelt mondunk ki velk kapcsolatban. (Emlkeztetnk, hogy kt kdsz tvolsga azon
koordintik szma, ahol a kt kdsz klnbzik.)
4.9. definci. Egy c vektor slya a koordinti kztt levo nem nulla elemek
szma, jellse w(c).
4.10. definci. Egy C kd minimlis slyn a
wmin = min w(c)
c2C
c6=0

szmot rtjk.

4.2. B INRIS

LINERIS KDOK , BINRIS

189

H AMMING - KD

4.4. ttel. Ha C lineris kd, akkor a kdtvolsga megegyezik a minimlis slyval, azaz
dmin = wmin :
B IZONYTS :
dmin = min0 d (c; c0 ) = min0 w(c
c6=c

c6=c

c0 ) = min
w(c00 ) = wmin ;
00
c

6=0

ahol az utols elotti egyenlosg felrsakor a C kd linearitst hasznltuk ki, ebbol kvetkezik ugyanis, hogy c00 = c c0 is kdsz, tovbb, az is, hogy minden
kdsz eloll ilyen klnbsg alakjban. (Utbbi ahhoz szksges, hogy a minimum kpzsekor valban minden c00 2 C-t figyelembe vehessnk.)
A 4.4. ttel jelentosge abban ll, hogy segtsgvel a dmin definci alapjn trtno kiszmtshoz szksges jCj (jC2 j 1) muveletet a wmin kiszmtshoz
szksges jCj 1 muveletre reduklhatjuk. (jCj-vel a C elemszmt jelltk.)
A kvetkezokben azt mutatjuk meg, hogyan hasznlhat a H mtrix a dekdols sorn.
4.11. definci. Az s = eHT mennyisget szindrmnak nevezzk.
Legyen az adott kdsz c, a vett sz v. Az e = v
nevezzk. Vegyk szre, hogy
HvT

c vektort hibavektornak

= H(c + e) = Hc + He = He

vagyis HvT rtke csak a hibavektortl fgg, az adott kdsztl nem. A szindrma
teht a hibavektor egy lineris lekpezse.
A dekdols leggyakoribb mdja a szindrma dekdols. A fentiek alapjn
a dekdols a kvetkezokppen mehet vgbe: a vett v szbl kiszmtjuk az sT =
HvT = HeT szindrmt, ennek alapjn megbecsljk a hibavektort, s ezt v-bol
levonva megkapjuk a kdszra vonatkoz becslsnket.
A szindrmnak hibamintra trtno lekpezsi mdjt tblzatba szoks foglalni, az n. standard elrendezsi tblzatba.
Valamely e hibaminta ltal generlt mellkosztly az e + c; c 2 C(n; k) vektorok halmaza. Adott mellkosztly elemeihez azonos szindrma tartozik. Az
e = 0 zrus hibavektorhoz tartoz mellkosztly a C(n; k) kddal azonos. Ha egy
e hibaminta e = e0 + c alakban rhat fel, akkor a kt hibaminta (e s e0 ) azonos mellkosztlyt generl. Azonos mellkosztlyba tartoz hibamintk kzl

190

4. H IBAJAVT KDOLS

vlasszuk ki a legkisebb slyt, s azt mellkosztly-vezetonek nevezzk. Ennek


megfeleloen a standard elrendezsi tblzat az albbi struktrj:
szindrma mellkosztlyvezeto
k

1)

1) + e(1)

s(0)

e(0) = 0

c(1)

c(q

s(1)

e(1)

c(1) + e(1)
..
.

c(q

..
.
n k

s (q

..
.
1)

n k

e(q

n k

1)

c(1) + e(q

..

..
.

.
k

1)

c(q

{z

1) + e(qn

1)

mellkosztly elemek
A w(e(i+1) )  w(e(i) ); e(0) = 0; i = 0; 1; : : : ; qn k 2 a szoksos sorrend. Knynyen lthat, hogy a tblzat elemei klnbzoek. Egy soron bell ez nyilvnval.
Klnbzo sorokat tekintve tegyk fel, hogy e(i) + c( j) = e(k) + c(m) , ahol i > k.
Mivel ebbol e(i) = e(k) + c(m) c( j) = e(k) + c(n) kvetkezik, ahol c( j) ; c(m) ; c(n) 2
C(n; k), ezrt e(i) -nek is az e(k) mellkosztly-vezetoju sorban kell lennie, ami
ellenttes kiindulsi felttelnkkel.
Az e(i) ; i = 1; 2; : : : ; qn k 1 mellkosztly-vezetoket javthat hibamintknak nevezzk, ugyanis ha a v vett sz szindrmja s(i) , akkor a b
c = v e(i) kdszra dntnk. A szindrma dekdolsnak ezt az elsosorban elvi mdjt
tblzatos dekdolsnak nevezzk (look up table decoding).
A szindrmt hasznl tblzatos dekdol trja a vizsglt binris esetben
k
n
darab hibavektort tartalmaz, s a tblzat elemeit a szindrma segtsgvel
2
cmezzk.

4.4. plda. Adjuk meg a javthat hibamintkat a


0

0 0 1 1 1

H = 0 1 0 1 0A
1 0 0 1 1
mtrixszal adott kd esetre.

4.2. B INRIS

LINERIS KDOK , BINRIS

H AMMING - KD

191

A dekdolsi tblzat a kvetkezo:


szindrma

javthat
hibamintk

000
001
010
011
100
101
110
111

00000
10000
01000
00110
00100
00001
01100
00010

Teht a standard elrendezs fenti tblzata alapjn trtno szindrma dekdolssal


az egyszeres hibk s a 00110; 01100 kt hibt tartalmaz hibamintk javthatk.
Illusztrciknt egy klasszikusnak szmt kdot mutatunk be, mely binris
Hamming-kd nven ismeretes.
Olyan kdot keresnk, mely egy hibt tud javtani, vagyis ha c-t adjuk, s v-t
vesszk, akkor 1  d (c; v) esetn biztosan meg tudjuk mondani v ismeretben c-t.
Legyen a kdunk lineris s binris.
A hibajavts cljra r bitet kvnunk felhasznlni, vagyis az n kdszhossz s
a k zenethossz klnbsgt r-nek rgztjk. Ezen adott r s 1 hibt javt kpessg mellett szeretnnk a leheto legnagyobb k-t elrni, hogy minl tbb zenetnk
lehessen. Legyen a majdani kd paritsmtrixa:
H = (aT1 ; aT2 ; : : : ; aTn ):
Legfeljebb egy hiba esetn az e hibavektor vagy 0, vagy egysgvektor, teht
pontosan 1 koordintja 1-es. Ekkor az s = eHT szindrma vagy 0, vagy valamelyik ai -vel egyenlo. Akkor s csak akkor tudjuk teht e-t (s gy c-t is) egyrtelmuen megllaptani, ha az ai -k mind klnbzok, s egyik sem 0. Mivel H sorainak a szma n k = r, az ai -k legfeljebb 2r 1 flk lehetnek, ha egyikk sem 0.
Mivel minl nagyobb k-ra, s gy a rgztett r rvn minl nagyobb k + r = n-re
treksznk, mind a 2r 1 lehetosget hasznlni fogjuk. Ezzel lnyegben megadtuk H-t, hiszen megmondtuk, hogy H az sszes lehetsges r hosszsg nemnulla
oszlopvektorbl ll mtrix. Ez pedig mr definilja a kdszhalmazt a
HcT

=0

egyenletrendszer sszes megoldsvektornak halmazaknt. (H oszlopvektorainak


sorrendjn csak az fog mlni, hogy melyik zenethez melyik kdszt rendeljk,

192

4. H IBAJAVT KDOLS

teht pldul, hogy szisztematikus lesz-e a kd. V.. a 4.7. definci utn mondottakkal.) Az gy kapott kdot nevezzk binris Hamming-kdnak, mely teht k
hossz zenethez n hossz kdszt rendel, ahol n s k kztt fennll az
n = 2n

(4.7)

sszefggs. Ilyen tulajdonsg szmprok a kvetkezok:


n= 3
7
15
31
63
127

k= 1
4
11
26
57
120

A (4.7)-bol s a 4.2. ttelbol kvetkezik, hogy az (n; k) paramteru binris


Hamming-kd perfekt kd, teht
4.5. ttel. Nincs olyan egy hibt javt binris kd, amely egy Hamming-kddal
azonos szhosszsg, s a hozz tartoz kdszavak szma nagyobb, mint a megfelelo Hamming-kd kdszavainak szma.
4.5. plda. A (7; 4) paramteru Hamming-kd paritsmtrixa
1

1 1 0 1 1 0 0
H =  1 0 1 1 0 1 0 A:
0 1 1 1 0 0 1
A genertormtrixa ebbol knnyen kiszmthat a mr szerepelt A =
sszefggs alapjn:
0

1
B 0
G=B
 0
0

0
1
0
0

0
0
1
0

0
0
0
1

1
1
0
1

1
0
1
1

BT

0
1 C
C:
1 A
1

A (7; 4)-es Hamming-kdot egy pratlan paritsra kiegszto paritsbittel kapunk egy (8; 4) paramteru, tovbbra is egy hibt javt kdot, amelyet a Teletextben hasznlnak [17].
A kzvetlen muholdas musorszrs (Direct Broadcasting Satellite, DBS) digitalizlt hangjt is hibajavt kddal vdik. gy a D2-MAC/PACKET szabvnya [3]
szerint az egyik vltozatban a 14 bites hangminta felso 11 bitjt egy (16; 11) paramteru kddal kdoljk, ami a (15; 11) paramteru Hamming-kd kiegsztse

4.3. V GES

TEST

193

egy pratlan paritsbittel. A msik vltozatban a 10 bites hangminta felso 6 bitjt


kdoljk egy (11; 6)-os kddal. Megjegyezzk mg, hogy a csomagolt, kdolt
beszdmintkat egy olyan csomagfejjel ltjk el, melyet 2 hibt javt (71; 57)
ill. (94; 80) paramteru BCH-kddal vdenek, mg a legfontosabb adatokat, az
gynevezett szolgltatsazonostst egy hrom hibt javt (23; 12) paramteru
Golay-kddal kdoljk. A BCH-kdokat a 4.9. szakaszban definiljuk rszletesebb tulajdonsgaik nlkl, mg a Golay-kdok trgyalsa jabb algebrai appartus bevezetst ignyeln.

4.3. Vges test


Hatkony hibajavt kdok konstrukcijhoz szksges, hogy a nembinris Q =
G kdbc struktrlt legyen, mely pldul gy lehetsges, hogy muveleteket
vezetnk be G-n.
4.12. definci. Egy G halmazt testnek neveznk, ha rtelmezve van tetszoleges
kt eleme kztt kt muvelet, amelyeket sszeadsnak illetve szorzsnak neveznk, + illetve  szimblumokkal jelljk, s G rendelkezik a kvetkezo tulajdonsgokkal:

1. G az sszeadsra nzve kommutatv csoport, azaz


a) Minden ; 2 G esetn + 2 G, teht G az sszeadsra nzve zrt.

b) Minden ; ; 2 G esetn + ( + ) = ( + ) + (asszociativits).

c) Ltezik egy 0-val jellt eleme G-nek gy, hogy minden 2 G-re 0 +
= + 0 = . 0-t nullelemnek nevezzk.

d) Minden 2 G-hez ltezik 2 G gy, hogy + = 0. -t az additv


inverznek nevezzk s -val jelljk.
e) Minden ; 2 G-re + = + (kommutativits).

2. G nf0g a szorzsra nzve kommutatv csoport, azaz


a) Minden ; 2 G nf0g esetn  2 G nf0g (zrtsg).

b) Minden ; ; 2 G nf0g esetn (  )  =  (  ) (asszociativits).


c) Ltezik egy 1-gyel jellt eleme G nf0g-nak gy, hogy 1  =  1 = .
1-et egysgelemnek nevezzk.

d) Minden 2 G nf0g esetn ltezik 2 G nf0g gy, hogy  =  =


1. -t az multiplikatv inverznek nevezzk, s 1 -gyel jelljk.
e) Minden ; 2 G nf0g-ra  =  (kommutativits).

194

4. H IBAJAVT KDOLS

3. Minden ; ; 2 G-re  0 = 0  = 0 s  ( + ) = (  ) + (  ) (disztributivits).


Egyszeru konvencikkal egy G testben definilhat a kivons s az oszts a
kvetkezo mdon: alatt az -nak s a additv inverznek sszegt rtjk,
azaz + ( )-t. = alatt az -nak s a multiplikatv inverznek a szorzatt
rtjk, azaz  1 -et, amennyiben nem 0.
Pldk testre:
1. Vals szmok halmaza a vals sszeadssal s szorzssal.
2. Racionlis szmok halmaza a vals sszeadssal s szorzssal.
3. Komplex szmok halmaza a komplex sszeadssal s szorzssal.
4. f0; 1g a binris sszeadssal s szorzssal.
Egy q elemszm G testet vges testnek neveznk s GF(q)-val jelljk.
Sajnos egy GF(q) esetn q nem lehet brmilyen. Ez azrt fontos, mert a kdbc a ksobbiekben GF(q) lesz. Bizonyts nlkl kzljk a kvetkezo ttelt:
4.6. ttel. Egy GF(q) esetn q = pm alak, ahol p prmszm, teht q vagy prmszm, vagy prmhatvny.
Lnyeges klnbsg van a prm s a prmhatvny mretu vges testek aritmetikja kztt. Most a prmszm mretu vges testek aritmetikjt trgyaljuk, a
msikat csak a polinomok ismeretben tudjuk egyszeruen bevezetni.
4.7. ttel. A G = f0; 1; : : : ; p 1g halmaz a modulo p aritmetikval egy p prmszm esetn vges test, azaz a testmuveletek
a + b = a + b mod p;
a  b = a  b mod p;

ahol + illetve  jelli a vals sszeadst illetve szorzst.


B IZONYTS : Ellenorizzk az 1., 2., 3. pontokat a test defincijban! 1. a)e)-ig
ez egyszeru, csupn azt jegyezzk meg, hogy
a= p

a mod p;

ahol a vals kivonst is jelli. 2. a), b), d) s 3. megint trivilis. 2. a)-nl azt kell
megmutatni, hogy a; b 6= 0 esetn a  b 6= 0. Ellenkezo esetben a  b = N p alak

4.3. V GES

195

TEST

lenne, teht p osztan a  b-t, azaz vagy a-t vagy b-t, ami nem lehet, mert mindketto
1 s p 1 kztti szm. 2. d)-hez azt kell beltni, hogy minden a 6= 0-hoz ltezik
b, hogy a  b = 1. Az 1  a; 2  a; 3  a; : : : ; ( p 1)  a szmok mind klnbzok,
mivel ellenkezo esetben j  a = i  a lenne, azaz ( j i)  a = 0 lenne, ami 2. a)nak ellentmond. A fent emltett p 1 darab szm halmaza teht megegyezik a
f1; 2; : : : ; p 1g halmazzal, ezrt ltezik b, melyre b  a = 1.
Lssuk most a GF(q) nhny egyszeru tulajdonsgt!
4.1. lemma. Minden 0 6= a 2 GF(q)-ra
aq
B IZONYTS :
esetn

= 1:

Legyenek a1 ; a2 ; : : : ; aq

a GF(q) nem 0 elemei, ekkor a 6= 0

a  a1 ; a  a2 ; : : : ; a  aq

is mind klnbzok s nem 0-k, teht

fa1 a2
;

;:::;

aq

g = fa  a 1 a  a 2
;

;:::;

a  aq

kvetkezskpp
a1  a2  : : :  aq

1=

aq

 a1  a2   aq
:::

1;

ahonnan az llts a bal oldal inverzvel val szorzssal kvetkezik.


4.2. lemma. Minden 0 6= a 2 GF(q)-ra ltezik egy legkisebb m termszetes szm,
amit az a elem rendjnek neveznk, melyre
am = 1;

s az a; a2 ; : : : ; am elemek mind klnbzok. m osztja q

1-nek.

B IZONYTS : Tekintsk az a1 ; a2 ; a3 ; : : : sorozatot! Mivel a sorozat minden


eleme GF(q)-beli, ezrt GF(q) vgessge miatt ltezik olyan i > j, melyre
ai = a j ;
azaz
ai

= 1;

196

4. H IBAJAVT KDOLS

teht ltezik olyan m0 termszetes szm, melyre am


legkisebb. Ha az m0 termszetes szm olyan, hogy
am

=a

km+l

= 1.

Legyen m ezek kzl a

=1

s m0 = k  m + l alak, ahol m > l  0, akkor


1 = am

m k

= (a )

 al = al

teht l csak 0 lehet, ezrt m0 az m tbbszrse, kvetkezskpp a 4.1. lemma miatt


q 1 is m tbbszrse. Be kell mg ltni, hogy a; a2 ; : : : ; am klnbzok. Ennek
bizonytshoz tegyk fel, hogy ltezik m  i > j  1, hogy
ai = a j ;
teht
ai
ami nem lehet, mert m > i
4.13. definci. Egy
rendje q 1.

= 1;

j.

2 GF(q)-t a GF(q) primitv elemnek neveznk, ha

A 4.5. szakaszban bizonytjuk, hogy


4.8. ttel. Minden GF(q)-ban ltezik primitv elem.
4.6. plda. GF(7).

elem (6= 0)
1
2
3
4
5
6

hatvnyai
1
2; 4; 1
3; 2; 6; 4; 5; 1
4; 2; 1
5; 4; 6; 2; 3; 1
6; 1

rendje
1
3
6 (primitv elem)
3
6 (primitv elem)
2

A prmitv elem egyrszt igen fontos hatkony kdok konstrukcijakor, msrszt GF(q)-beli szorzsok s osztsok elvgzsekor. Ha a GF(q) egy primitv
eleme, akkor bevezethetjk egy a 2 GF(q) testelem alap logaritmust az
log a = a

egyenlet (egyrtelmu) megoldsval, ahol a 6= 0. Ha a; b a GF(q) nem 0 elemei,


akkor
a  b = log a  log b = log a+log b ;
teht egy alap logaritmustbla s egy inverzlogaritmus-tbla segtsgvel a
szorzs (illetve az oszts) visszavezetheto vals sszeadsra (illetve kivonsra).

4.4. L INERIS

KDOK , NEMBINRIS

H AMMING - KD

197

4.4. Lineris kdok, nembinris Hamming-kd


Ebben a szakaszban kdok egy fontos csoportjval ismerkednk meg, melyek
a 4.2. szakaszban megismert binris lineris kdok kiterjesztsei nembinris esetre.
A tovbbiakban a kdjainkban szereplo kdszavakat alkot szimblumokat
vegyk GF(q)-bl, a lehetsges szimblumok teht a 0; 1; 2; : : : ; q 1 szmoknak
feleltethetok meg.
4.14. definci. Egy C kd lineris, ha a C halmaz lineris tr GF(q) fltt, azaz
ha minden c; c0 2 C-re
c + c0 2 C

illetve 2 GF(q) esetn

c 2 C:

A 4.2. szakaszhoz hasonl mdon belthat, hogy tetszoleges C lineris kdhoz ltezik egy k linerisan fggetlen sorbl s n oszlopbl ll G mtrix, melyre
c = uG;

(4.8)

ahol a k hossz u zenethez a c kdsz tartozik, s a G mtrixot a C kd genertormtrixnak nevezzk.


A binris esethez hasonlan a C lineris kdhoz egy n k sorbl s n oszlopbl ll H mtrixot paritsmtrixnak neveznk, amennyiben
HcT

=0

akkor s csak akkor teljesl, ha c 2 C.


A binris eset msolataknt kaphatjuk, hogy
4.9. ttel. Minden C lineris kdnak van paritsellenorzo mtrixa.
Pldaknt bemutatjuk a nembinris Hamming-kdot. Ismt 1 hibt javt
kdot akarunk konstrulni. A binris esetben a hiba javtshoz elg volt ismerni
a hiba helyt, amihez elgsges volt, ha a H paritsmtrix minden oszlopa klnbzo. Nembinris esetben nemcsak a hiba helyt, hanem a hiba rtkt is meg
kell llaptani, ezrt a H mtrix oszlopait gy vlasztjuk, hogy azok nem 0-k,
mind klnbzok legyenek, s az elso nem 0 elem minden oszlopban 1 rtku
legyen. Ekkor, ha egy hiba esetn az az i-edik helyen fordul elo s rtke ei , akkor
a szindrma s = ei ai , ahol aTi a H i-edik oszlopa. Teht a hiba rtke, ei ppen a
szindrma elso nem 0 rtke, mg ai = esi , amibol az i visszakeresheto.

198

4. H IBAJAVT KDOLS

Ha H tartalmazza az sszes lehetsges, a fenti mdon megengedett oszlopvektort, akkor


qn k 1
n=
;
q 1
azaz
1 + n(q 1) = qn k ;
msrszt a Hamming-korlt miatt
1 + n(q

1)  qn

teht
4.10. ttel. A maximlis hosszsg nembinris Hamming-kd perfekt kd.
A nembinris Hamming-kdok kzl klnsen rdekes az az eset, amikor
a kd szisztematikus s a paritsszegmens hossza 2, azaz n k = 2. Legyen
a GF(q) egy nem 0 eleme, melynek rendje m  2. Vlasszunk n  (m + 2)-t s
k = (n 2)-t. Ekkor a paritsmtrix:


H=

1 1 1
1 2




1
n

1 0
0 1

Ez egy (n; n 2) paramteru nembinris Hamming-kd paritsmtrixa.


A 4.3. ttel alkalmazsval nyerjk a kd genertormtrixt:
0
B
B
B
G=B
B


1 0 0 0 
0 1 0 0 
0 0 1 0 
..
..
.
.
0 0 0 0 

0
0
0

1
1
1

2
..
.
n

C
C
C
C:
C
A
3

Mivel ez a kd 1 hibt tud javtani, ezrt dmin  3, de a Singleton-korlt miatt


dmin  n k + 1 = 3, ezrt
4.11. ttel. Az (n; n

2) paramteru nembinris Hamming-kd MDS kd.

4.7. plda. rjuk fel a GF(7) feletti, (8; 6) paramteru Hamming-kd genertormtrixt s paritsmtrixt! GF(7)-ben a 3 primitv elem (lsd a 4.6. pldt), teht


H=

1 1 1 1 1 1 1 0
1 3 2 6 4 5 0 1

4.5. V GES
0
B
B
B
G=B
B
B


1
0
0
0
0
0

199

TEST FELETTI POLINOMOK

0
1
0
0
0
0

0
0
1
0
0
0

0
0
0
1
0
0

0
0
0
0
1
0

0
0
0
0
0
1

1
1
1
1
1
1

1
3
2
6
4
5

C B
C B
C B
C=B
C B
C B
A 

1
0
0
0
0
0

0
1
0
0
0
0

0
0
1
0
0
0

0
0
0
1
0
0

0
0
0
0
1
0

0
0
0
0
0
1

6
6
6
6
6
6

6
4
5
1
3
2

1
C
C
C
C:
C
C
A

4.5. Vges test feletti polinomok


GF(q) feletti vektorok reprezentlsra, s vektorok kztti szorzs knyelmes
bevezetsre egy clszeru eszkz a polinomreprezentci:
4.15. definci. a(x) = a0 + a1 x + : : : + am xm GF(q) feletti m-edfok polinom,
ha
ai 2 GF(q);
i = 0; : : : ; m; am 6= 0;
x 2 GF(q):

A polinom m fokszmt deg a(x) jelli. (Az a(x)  0 polinom fokszma definci
szerint legyen .)
4.16. definci. a(x) = b(x), ha ai = bi minden i-re.
Muveletek polinomok kztt:
1. Polinomok sszeadsa: c(x) = a(x) + b(x) tagonknt trtnik GF(q) feletti
muveletekkel: ci = ai + bi . Nyilvnvalan
deg c(x)  maxfdeg a(x); degb(x)g:
2. Polinomok szorzsa: c(x) = a(x)b(x) minden tagot minden taggal szorzunk, majd az azonos fok tagokat csoportostjuk (az sszeadsok s szorzsok GF(q) felettiek):
minfi;deg a(x)g

ci =

j=0

a j  bi

j:

Nyilvn
deg c(x) = deg a(x) + degb(x)
4.8. plda. Ha GF(2) felett a(x) = 1 + x s b(x) = 1 + x + x3 , akkor a(x) + b(x) =
x3 s a(x)b(x) = 1 + x2 + x3 + x4 .

200

4. H IBAJAVT KDOLS

4.12. ttel (Euklidszi oszts polinomokra). Adott a(x) s d (x) 6= 0 esetn egyrtelmuen ltezik olyan q(x), r(x) gy, hogy
a(x) = q(x)d (x) + r(x);

s deg r(x) < deg d (x).


4.17. definci. r(x)-et az a(x)-nek d (x)-re vonatkoz maradknak nevezzk.
Jells: r(x) = a(x) mod d (x).
4.18. definci. d (x) osztja a(x)-et, ha a(x) mod d (x) = 0. Ezt a tovbbiakban
d (x) j a(x) formban fogjuk jellni.
A 4.12. TTEL BIZONYTSA : Az egsz szmok euklidszi osztsi algoritmusnak analgijra megadunk egy rekurzv algoritmust. Legyen a(x) m-edfok s
xm egytthatja am , d (x) k-adfok s xk egytthatja dk . Ha m  k, akkor legyen
r 1 (x ) = a (x )

a m d k 1 x m k d (x )

s
q 1 (x ) = a m d k 1 x m

akkor
a(x) = q1 (x)d (x) + r1 (x)
s
deg(r1 (x)) < deg(a(x)):
Ha most a(x)-nek van egy
a(x) = qi (x)d (x) + ri(x)
elolltsa, ahol deg(ri (x))  deg(d (x)), akkor az elozo mdon ri (x) eloll
ri (x) = qi+1 (x)d (x) + ri+1(x)
alakban, ahol deg(ri+1 (x)) < deg(ri (x)), teht
a(x) = (qi+1 (x) + qi (x))d (x) + ri+1(x);
s deg(ri (x)) monoton fogy, ezrt legfeljebb m k lpsben a ttel ltal megkvnt felbontst kapjuk. Az egyrtelmusg igazolshoz tegyk fel, hogy van kt
klnbzo felbonts:
a(x) = q(x)d (x) + r(x)

4.5. V GES

201

TEST FELETTI POLINOMOK

a (x ) = q 0 (x )d ( x ) + r 0 ( x ) ;
s q(x) 6= q0 (x), teht

(q (x)

q(x))d (x) = r(x)

r0 (x):

Mivel q(x) 6= q0 (x), ezrt


deg(r(x)

r0(x))

=
=


msrszt

deg(r(x)

deg((q0 (x)

q(x))d (x)) =

deg(q0 (x) q(x)) + deg(d (x)) 


deg(d (x));
r0(x)) < deg(d (x));

ami ellentmonds.
4.19. definci. b 2 GF(q) gyke az a(x) polinomnak, ha a(b) = 0.
4.13. ttel. Ha c az a(x) polinom gyke, akkor az eloll
a(x) = b(x)(x

c)

alakban.
B IZONYTS : Alkalmazzuk a 4.12. ttelt d (x) = x
a(x) = b(x)(x

c esetn, akkor

c) + e:

Mivel c gyk, ezrt


0 = a(c) = b(c)(c

c) + e = e:

4.14. ttel. Egy k-adfok polinomnak legfeljebb k gyke lehet.


B IZONYTS : A 4.13. ttel miatt a b(x) polinom fokszma eggyel kisebb, mint
az a(x) polinom fokszma, teht ezt a faktorizcit legfeljebb k-szor lehet megismtelni.
Ezek utn be tudjuk mr bizonytani a 4.8. ttelt, mely azt lltotta, hogy minden testben van primitv elem. Eloszr lssunk egy segdttelt!
4.3. lemma. Ha ; 2 GF(q) elemek rendje n illetve m relatv prmek, akkor az
elem rendje mn.

202

4. H IBAJAVT KDOLS

B IZONYTS : m s n legnagyobb kzs osztjt jellje (m; n), akkor a felttel


miatt (m; n) = 1. Legyen k az rendje. ()mn = (n )m (m )n = 1, teht k osztja
mn-t, teht
k  mn:
Ugyanakkor ()k = 1, ezrt k = k , gy mk = mk = 1, teht a 4.2. lemma
bizonytsa alapjn rendje n osztja mk-t, ezrt (m; n) = 1 miatt n osztja k-t.
Hasonl mdon nk = nk = 1, ezrt rendje m osztja nk-t, ezrt (m; n) = 1
miatt m osztja k-t. Ismt (m; n) = 1 miatt teht mn is osztja k-t, ezrt
mn  k:
A 4.8. TTEL BIZONYTSA : Azt kell beltni, hogy minden GF(q)-nak van
primitv eleme. A bizonyts konstruktv. Ha q 1 prm, akkor az oszti az 1
s a q 1, teht a lehetsges rendek 1 vagy q 1, mgpedig az 1 elem rendje
1, a tbbinek pedig q 1, teht a GF(q) minden 0-tl s 1-tol klnbzo eleme
primitv elem. Ha q 1 nem prm, akkor a prmtnyezos felbontsa legyen
s

1 = pi i :

i=1

Mivel a GF(q) nem 0 elemeinek szma q


q 1
pi

gyke van, s

q 1
pi

<

1 s az x

q 1
pi

1 polinomnak legfeljebb
q 1
pi

1, ezrt ltezik ai 6= 0 gy, hogy ai


q 1

pi i

6= 1. Legyen

bi = ai

b = bi :

i=1

Megmutatjuk, hogy b primitv elem. Ehhez eloszr azt ltjuk be, hogy bi rendje
i

pi i . Nyilvn bi i = ai = 1, teht bi rendje a pi i osztja, azaz pni i alak, ahol


ni  i . Ha ni < i lenne, akkor
p

q 1

ni

= bi i

bi i

ezrt a pi i

(i

ni )

( i

ni )

minden ri tbbszrsre bri i


i 1

bi i

= 1;
= 1,

=1

lenne, ami nem lehet, mert


i 1

bi i

q 1
pi

= ai

6= 1

teht

203

4.6. R EED S OLOMON - KD

kvetkezskpp bi rendje pi i . Alkalmazzuk a 4.3. lemmt (s 1)-szer, mivel


b1 ; b2 ; : : : ; bs olyan elemek, melyek rendjei relatv prmek, akkor b rendje a rendek
szorzata, azaz
s

pi

=q

1;

i=1

teht b primitv elem.

4.6. ReedSolomon-kd
Ebben a szakaszban a lineris kdok egyik leggyakrabban hasznlt osztlyval, a
ReedSolomon-kdokkal, azok klnbzo konstrukciival ismerkednk meg.
4.1. konstrukci. Legyenek 0 ; 1 ; : : : ; n 1 a GF(q) klnbzo elemei (n  q),
s u = (u0 ; u1 ; : : : ; uk 1 ) (ui 2 GF(q)) a k hosszsg zenetszegmens, amelyhez
az
u (x ) = u 0 + u 1 x + : : : + u k 1 x k 1

zenetpolinomot rendeljk. Ekkor a ReedSolomon-kdnak az u zenethez tartoz n hossz c kdszavt a kvetkezo mdon lltjuk elo:
c0 = u(0 )
c1 = u(1 )
c2 = u(2 )
..
.
cn

1 = u(n 1 ):

Egyszeruen belthat, hogy a ReedSolomon-kd lineris, s a genertormtrixa


0
1
1
1
 1 1
B 0
1
2  n 1 C
C
B
G = B ..
.. C :
..
 .
.
. A
0k

k1

k2



kn

1
1

4.15. ttel. Az (n; k) paramteru ReedSolomon-kd kdtvolsga


dmin = n

k + 1;

vagyis a ReedSolomon-kd maximlis tvolsg.

204

4. H IBAJAVT KDOLS

B IZONYTS :
w(c)

jfc nem 0 koordintigj =


= n jfc 0 koordintigj 
 n jfu(x) gykeigj 
 n (k 1 )
=

teht

wmin  n

k + 1:

Ugyanakkor a 4.1. ttel s a 4.4. ttel miatt


n

k + 1  dmin = wmin ;

kvetkezskpp az lltst bebizonytottuk.




Az (n; k) paramteru ReedSolomon-kd teht n k hibt tud jelezni, n 2 k


egyszeru hibt javtani s n k trlses hibt javtani. Ez utbbi azt is jelenti,
hogy az u ismeretlenre vonatkoz
uG = c
n darab egyenletbol brmelyik n k egyenlet elhagysval egy egyrtelmuen megoldhat egyenletrendszer marad, teht a G mtrix minden k  k-s ngyzetes rszmtrixa invertlhat. Ez utbbi llts igazolhat gy is, hogy felismerjk, miszerint G minden k  k-s ngyzetes rszmtrixa Vandermonde tpus.
4.2. konstrukci. Legyen a GF(q) egy nem 0 eleme, melynek rendje m, m  n
s a 4.1. konstrukciban legyen 0 = 1; 1 = ; : : : ; n 1 = n 1 . Ekkor a genertormtrix:
0
B
B
B
G=B
B


1 1
1
1 2
..
.
1 k

2(k

4.3. konstrukci. A c = (c0 ; c1 ; : : : ; cn


mot a szoksos mdon:





1
2
4
1)

1
n 1
2(n 1)
. . ..
. .
 (k 1)(n

C
C
C
C
C
A
1)

1 ) vektorhoz rendeljk hozz c(x) polino-

c(x) = c0 + c1 x +  + cn 1 xn

205

4.6. R EED S OLOMON - KD

Ha az elem rendje m, s n  m, akkor a kd defincija


C = f c : c ( i ) = 0 ; i = 1 ; 2 ; : : : ; n

k g:

Egyszeruen belthat, hogy a C kdnak ez a megadsa ekvivalens a kvetkezovel:


C = fc : HcT

ahol

0
B
B


H=B

1
1 2
...
1 n

2(n




2
4
k

=0

n 1
2(n 1)
. . ..
. .
 (n k)(n

k)

C
C
C:
A
1)

Bebizonytjuk, hogy ez a kd maximlis tvolsg, s n = m esetn ez a kd


azonos a 4.2. konstrukciban lert ReedSolomon-kddal. (Az irodalomban n < m
esetn a 4.2. konstrukci kdjt rvidtett ReedSolomon-kdnak nevezik.) Eloszr azt mutatjuk meg, hogy a C kd maximlis tvolsg. Ennek rdekben
elobb a paritsmtrixok egy hasznos tulajdonsgt bizonytjuk:
4.4. lemma. Ha H egy lineris C kd paritsmtrixa, akkor H azon oszlopainak
minimlis szma, melyek linerisan fggok, dmin .
B IZONYTS : rjuk fel H oszlopait!
H = (aT0 ; aT1 ; : : : ; aTn
akkor a paritsegyenlet c = (c0 ; c1 ; : : : ; cn

1)

1 );

jellssel:

c 0 a0 + c 1 a1 + : : : + c n 1 an

= 0:

Ezt az egyenletet csak olyan nemnulla c vektorok (kdszavak) elgthetik ki, melyek slya legalbb wmin , ilyen sly viszont van, teht a linerisan fggo oszlopok minimlis szma wmin , amely a 4.4. ttel miatt ppen dmin .
Erre alapozva mr szinte kszen vagyunk. Ha a 4.2. konstrukciban a G kpletben k helyett (n k)-t runk, akkor annak minden (n k)  (n k)-s rszmtrixa invertlhat. Ha egy ilyen rszmtrixot sszehasonltunk a H ugyanezen oszlopokbl ll rszmtrixval, akkor vegyk szre, hogy az egymsnak
megfelelo oszlopok egy nem 0 elem faktorban klnbznek, teht a H minden

206

4. H IBAJAVT KDOLS

k)  (n k)-s ngyzetes rszmtrixa invertlhat, ezrt minden n


linerisan fggetlen. A 4.4. lemma miatt teht

(n

k oszlopa

k < dmin ;

n
azaz

k + 1  dmin ;

ezrt ismt a Singleton-korltot alkalmazva kszen vagyunk.


Eddig azt mutattuk meg, hogy H egy (n; k) paramteru MDS kd paritsmtrixa. Mivel mind a 4.2. mind a 4.3. konstrukci (n; k) paramteru, ezrt a ketto
azonossghoz elg megmutatni, hogy a 4.3. tartalmazza a 4.2.-t. A 4.2. konstrukci egy kdszavnak i-edik koordintja
k 1

ci =

u j i j

j=0

0in

1:

Megmutatjuk, hogy az gy megadott kdsz kielgti a 4.3. konstrukci paritsegyenlett, azaz


n 1

ci il = 0

i=0

1ln

k:

A c defincijt felhasznlva
n 1

ciil

i=0

Mivel 0  j  k

n 1k 1

u j i j il

i=0 j=0

1 s 1  l  n
n 1

i( j+l) =

i=0

k 1

n 1

j=0

i=0

uj

i j

k, ezrt 1  j + l  n
n( j+l ) 1
j+l 1

1 j+l
j+l

1
1

( +l )

1, teht j+l

6= 1 s

= 0;

kvetkezskpp c kielgti a paritsegyenletet.


Pldaknt a digitlis hangrgztsben (CD s DAT) alkalmazott ReedSolomon-kdot emltjk [2, 35, 16, 24, 7]. A kdolsi eljrs lnyegt kzeltoleg a
kvetkezo mdon lehet sszefoglalni: a 44:1 kHz-cel mintavtelezett s 16 bitbe
kvantlt mintkat kt bjtban brzoljuk, s egy mtrixba rjuk be oszlopfolytonosan.

207

4.6. R EED S OLOMON - KD

rgzts irnya

mintavtel irnya

x1;1
x1;2
y1;1
y1;2

x7;1
x7;2
y7;1
y7;2

x13;1
x13;2
y13;1
y13;2






x139;1
x139;2
y139;1
y139;2

r1;1
r2;1
r3;1
r4;1

r1;2
r2;2
r3;2
r4;2

r1;3
r2;3
r3;3
r4;3

r1;4
r2;4
r3;4
r4;4

x6;1
x6;2
y6;1
y6;2
q1;1
q2;1
q3;1
q4;1

x12;1
x12;2
y12;1
y12;2
q1;2
q2;2
q3;2
q4;2

x18;1
x18;2
y18;1
y18;2
q1;3
q2;3
q3;3
q4;3










x144;1
x144;2
y144;1
y144;2
q1;24
q2;24
q3;24
q4;24

r21;1
r22;1
r23;1
r24;1
q1;25
q2;25
q3;25
q4;25

r21;2
r22;2
r23;2
r24;2
q1;26
q2;26
q3;26
q4;26

r21;3
r22;3
r23;3
r24;3
q1;27
q2;27
q3;27
q4;27

r21;4
r22;4
r23;4
r24;4
q1;28
q2;28
q3;28
q4;28

Nevezetesen egy 24  24-es mtrix oszlopai egymsutn kvetkezo 6 mintavteli idopontban vett kt minta (bal s jobb hangcsatorna) 2  2 = 4 bjtjt tartalmazzk. Ha xi;1 ; xi;2 jelli a jobb csatorna mintjt az i-edik idopillanatban, s
yi;1 ; yi;2 a bal csatornt, akkor a fenti bra mutatja a mintk berst a tblzatba.
A kapott 24  24-es mtrix minden oszlopt kdoljuk egy (28; 24) paramteru,
GF(28 ) feletti szisztematikus ReedSolomon kddal. A j-edik oszlop paritsbjtjait jelltk q1; j ; q2; j ; q3; j ; q4; j -vel. Ennek a kdnak a kdtvolsga 5, teht 4 hibt
tud jelezni, 2 egyszeru hibt tud javtani s 4 trlses hibt tud javtani. A digitlis lemezen elofordul hibk jl modellezhetok egy ktllapot csatornval. Az
egyik llapotot nevezzk J llapotnak, melyben tlagosan 1000020000 bitideig
tartzkodik, s ekkor a hibk elofordulsa fggetlen egymstl s valsznusge
kb. 10 4 . A msik llapotot nevezzk ROSSZ llapotnak, amiben 3040 bitideig tartzkodik, s ekkor gyakorlatilag hasznlhatatlan a vtel. Ekkor azt mondjuk, hogy a hibzs csoms (burst-s). Az ilyen csatornk kdolsra talltk
ki a kdtfuzs (interleaving) technikt, amikor az elobbi mtrixot sorfolytonosan olvassk ki, de elotte minden sort kdolnak ugyanazzal a (28; 24) paramteru
ReedSolomon-kddal. A j-edik sor paritsbjtjait jelli r j;1 ; r j;2 ; r j;3 ; r j;4 . Ennek
elonye az, hogy a fizikailag sszefggo, csoms hiba hatst tbb kdszra osztja
szt.
A Sony s a Philips megegyezett a fentihez hasonl (kicsit bonyolultabb) kdolsban azrt, hogy a tmeges digitlis hanglemezgyrts elindulhasson. A verseny nyitott viszont a lejtsz kszlkben, vagyis a dekdols tern. A klnbzo dekdolsok igazibl a kvetkezo egyszeru eljrs finomtsai: szmtsuk ki

208

4. H IBAJAVT KDOLS

soronknt a szindrmt! Ha a szindrma 0, akkor azzal a sorral kszen vagyunk.


Ha 1 hiba volt, akkor azt kijavtjuk. Ha 2 hiba volt, akkor azt kijavtjuk, s az oszloponknti javtshoz ezeket a hibahelyeket megjegyezzk, azaz mestersgesen
trlses hibkat generlunk. Minden egyb esetben az egsz sort trlses hibaknt regisztrljuk. Ezek utn oszloponknt javtunk, ha ott legfeljebb kt trlses
hiba volt (emlkeztetnk, hogy 4 trlses hibt kpes a rendszer javtani). Ha a hibk szma nagyobb, mint 2, akkor a krnyezo hibtlan mintkbl interpollunk.
Lthat, hogy a hibajavts nem hasznlja ki a ReedSolomon-kd hibajavtsi
lehetosgeit, aminek elsosorban technolgiai okai vannak, mivel a dekdols bonyolultsga a javtand hibk szmnak ngyzetvel arnyos, s itt igen gyorsan
kell dekdolni (a forrs sebessge 2  44100  16 = 1:4112 Mbit/sec)

4.7. Aritmetika GF(pm )-ben


A 4.3. szakaszban emltettk, hogy lnyeges klnbsg van a prm illetve prmhatvny mretu testek aritmetikja kztt. Prm mretu testben a modulo aritmetika
megfelelt. Prmhatvny mret esetn sajnos a modulo aritmetika nem teljesti a
testaximkat, pldul egy 4 elemu halmazban 2  2 mod 4 = 0, teht kt nem
0 elem szorzata 0 lenne, ami srti a 2. a) aximt. A GF(pm ) feletti aritmetika
konstrukcija azrt alapveto fontossg, mert manapsg a hibajavt kdokat tmegesen alkalmazzuk szmtstechnikai krnyezetben, ahol a termszetes bc
a GF(28 ), vagyis a bjt. Az elozo szakasz vgn szereplo digitlis hangtechnikai
pldban is GF(28 ) volt az bc.
A GF(pm )-beli elemek legyenek a 0; 1; : : : ; pm 1 szmok, melyeknek m hoszsz vektorokat feleltetnk meg, ahol a koordintk GF(p)-beliek. Ezt megfogalmazhatjuk pldul gy is, hogy a 0; 1; : : : ; pm 1 szmokat p-s szmrendszerben
rjuk fel. Ezek utn a GF(pm )-beli aritmetikt m hossz vektorok kztti muveletekkel definiljuk. A kt muvelet kzl az sszeads az egyszerubb: kt vektor
sszegn a koordintnknti GF(p)-beli sszeget rtjk, vagyis a koordintnknti
mod p sszeget. A szorzs egy kicsit bonyolultabb. A kt m hossz vektort legfeljebb (m 1)-edfok polinom formjban reprezentljuk, s sszeszorozzuk.
Az eredmny fokszma meghaladhatja (m 1)-et, ezrt itt egy specilis polinom
szerinti maradkot kpeznk. Ezt a specilis polinomot irreducbilis polinomnak
nevezzk, s ez a polinom ugyanolyan szerepet jtszik, mint a prmszm a GF(p)beli aritmetikban.
4.20. definci. A GF( p) feletti, nem nulladfok P(x) polinomot irreducbilis
polinomnak nevezzk, ha nem bonthat fel kt, nla alacsonyabb fok GF( p)
feletti polinom szorzatra, azaz nincs GF( p) feletti a1 (x); a2 (x) polinom, melyekre

4.7. A RITMETIKA GF(pm )- BEN

209

P(x) = a1 (x)  a2 (x)

s
0 < deg(ai (x)) < deg(P(x));

i = 1; 2:

Bizonyts nlkl megjegyezzk, minden vges testben tallhat tetszoleges


fokszm irreducbilis polinom. Pldt mutatunk viszont arra, hogy hogyan lehet
GF(2) feletti irreducbilis polinomokat generlni. A defincibl kvetkezik, hogy
minden elsofok polinom (x s x + 1) irreducbilis. Ha tallunk olyan msodfok
polinomot, mely klnbzik az x2 , az x(x + 1) s az (x + 1)2 mindegyiktol, akkor
talltunk irreducbilis msodfok polinomot. Egy ilyen van: x2 + x + 1. Ms
testben s nagyobb fokszm esetn ennl hatkonyabb konstrukcikat rdemes
hasznlni, de binris esetben gy is tallhatk irreducbilis polinomok, amelyeket
tblzatban foglalunk ssze:
fokszm
2
3
4
5
6
7
8
9

irreducbilis polinom
x2 + x + 1
x3 + x + 1
x4 + x + 1
x5 + x2 + 1
x6 + x + 1
x7 + x3 + 1
x8 + x4 + x3 + x2 + 1
x9 + x4 + 1

4.16. ttel. Legyen p egy prm, m egy termszetes szm, P(x) egy GF( p) feletti
m-edfok irreducbilis polinom s Q = f0; 1; : : : ; pm 1g. Egy a 2 Q-nak s b 2 Qnak klcsnsen egyrtelmuen feleltessnk meg GF( p) feletti, legfeljebb (m 1)edfok polinomot. a + b definci szerint az a c 2 Q, melynek megfelelo c(x)
polinomra
c(x) = a(x) + b(x):
a  b az a d 2 Q, melynek megfelelo d (x) polinomra
d (x) = fa(x)  b(x)g mod P(x):

Ezzel az aritmetikval Q egy GF( pm ).

210

4. H IBAJAVT KDOLS

4.9. plda. Ksztsk el a GF(22 )-beli aritmetikt! Tudjuk, hogy a P(x) = x2 +


x + 1 egy msodfok irreducbilis polinom. A klcsnsen egyrtelmu megfeleltetseket egy tblzatba foglaljuk ssze:
testelemek m = 2 hossz vektorok polinomok
0
00
0
1
01
1
2
10
x
3
11
x+1
Az sszeadst egyszeruen a 2 hossz vektorok koordintnknti binris szszegvel kapjuk. Nzznk a szorzsra pldt! 2  3-at gy szmoljuk ki, hogy a
2-nek s a 3-nak megfelelo polinomot sszeszorozzuk, s vesszk a P(x) szerinti
maradkot:
x(x + 1) = 1 (mod x2 + x + 1);
amely megfelel az 1 testelemnek. Az sszead s a szorz tbla ennek megfeleloen a binris vektorokra:
+

00
01
10
11

00
00
01
10
11

01
01
00
11
10

10
10
11
00
01

0
0
1
2
3

1
1
0
3
2

11
11
10
01
00


00
01
10
11

00
00
00
00
00

01
00
01
10
11

10
00
10
11
01

2
0
2
3
1

3
0
3
1
2

11
00
11
01
10

majd testelemekre
+

0
1
2
3

2
2
3
0
1

3
3
2
1
0


0
1
2
3

0
0
0
0
0

1
0
1
2
3

A 4.3. szakaszban mr emltettk, hogy primitv elem alap logaritmustbla s


inverzlogaritmus-tbla segtsgvel egyszerustheto a szorzs. A fenti szorztbla
segtsgvel ellenorizheto, hogy mind a 2, mind a 3 primitv elem. Vlasszuk a
2-t! Ekkor
logaritmustbla
testelem log
1
3
2
1
3
2

inverzlogaritmus-tbla
egszek invlog
1
2
2
3
3
1

4.7. A RITMETIKA GF(pm )- BEN

211

Ezt felhasznlva 2  3 = 2log(23) = 2log 2+log 3 = 21+2 = 23 = 1 (itt + jel a mod q 1


sszeadst jelli).
Htra van mg a 4.16. ttel bizonytsa. Ehhez eloszr egy segdttelt bizonytunk:
4.5. lemma. Ha P(x) egy GF( p) feletti irreducbilis polinom, s osztja a(x)b(x)et, akkor legalbb az egyik tnyezot osztja.
B IZONYTS : Egy p(x) polinomot fopolinomnak neveznk, ha a legmagasabb
fok tagjnak az egytthatja 1. Az a(x) s b(x) polinomok legkisebb kzs
tbbszrse legyen az az [a(x); b(x) minimlis, de pozitv fokszm fopolinom,
amelynek a(x) s b(x) is osztja. Egyszeruen belthat, hogy a legkisebb kzs tbbszrs minden kzs tbbszrsnek osztja. A lemma bizonytshoz
tegyk fel, hogy P(x) az a(x)-nek nem osztja, akkor egyrszt a(x) 6 0, msrszt
a P(x)a(x) egy kzs tbbszrs, mely felrhat
P(x)a(x) = q(x)[P(x); a(x) = q(x)d (x)a(x)
alakban, ahol deg(d (x)) > 0, azaz
P(x) = q(x)d (x);
teht q(x) a P(x) osztja. Mivel P(x) irreducbilis, s deg(d (x)) > 0, ezrt
deg(q(x)) = 0, azaz q(x) = q0 alak. Mivel a(x)b(x) az a(x)-nek s P(x)-nek
is tbbszrse, ezrt felrhat
a(x)b(x) = h(x)[P(x); a(x) = h(x)q0 1 P(x)a(x)
alakban, azaz b(x) = h(x)q0 1 P(x), teht P(x) osztja b(x)-et.
A 4.16. TTEL BIZONYTSA : A testaximkat egy kivtelvel egyszeru igazolni, ha szrevesszk, hogy a nullelem az azonosan 0 polinom, s az egysgelem
az azonosan 1 polinom. Egyedl az ignyel rszletesebb meggondolst, hogy
minden nemnulla a(x) polinomnak van multiplikatv inverze, azaz ltezik b(x)
polinom, melyre
a(x)b(x) = 1 mod P(x):
Tekintsk a kvetkezo kt halmazt:
A = f f (x) : deg( f (x))  m

1 g;

B = fa(x) f (x) mod P(x) : deg( f (x))  m

1 g:

212

4. H IBAJAVT KDOLS

Nyilvn B az A rszhalmaza, hiszen A egy f (x) elemhez a B egy elemt rendeltk


az a(x) f (x) mod P(x) lekpezssel. A fenti b(x) ltezst beltjuk, ha megmutatjuk, hogy A = B, azaz az a(x) f (x) mod P(x) lekpezsnk invertlhat. Tegyk
fel, hogy nem az, azaz ltezik kt klnbzo f 1 (x) 2 A s f 2 (x) 2 A gy, hogy
a(x) f1 (x) mod P(x) = a(x) f2 (x) mod P(x)
teht P(x) osztja a(x) f1 (x) a(x) f2 (x) = a(x)( f 1 (x) f2 (x))-et. A 4.5. lemma
miatt P(x) vagy a(x)-et vagy ( f1 (x) f 2 (x))-et osztja. P(x) nem oszthatja a(x)et, mert az utbbi nem 0, s a fokszma kisebb, mint a P(x) fokszma. Mivel f1 (x) f2 (x) fokszma is kisebb, mint P(x)-, ezrt P(x) csak akkor osztja
( f 1 (x)
f 2 (x))-et, ha f1 (x) f 2 (x) = 0, ami ellentmond annak a felttelnknek,
hogy f 1 (x) s f 2 (x) klnbznek.

4.8. Ciklikus kdok


4.21. definci. Egy
c = (c0 ; c1 ; : : : ; cn

1)

vektor ciklikus eltoltja a


Sc = (cn

1 ; c 0 ; : : : ; c n 2 ):

S-et a ciklikus eltols opertornak nevezzk.


4.22. definci. A C kdot ciklikusnak nevezzk, ha brmely kdsz ciklikus eltoltja is kdsz.
4.10. plda. Legyen C a
000
101
110
011
111
vektorok halmaza. Egyszeruen belthat, hogy C ciklikus. Megjegyezzk, hogy
a ciklikussgbl nem kvetkezik a linearits, pldul a 2. s az 5. kdsz sszege
010, ami nem eleme a kdnak.
A ciklikus eltols opertort knyelmesebben tudjuk kezelni, ha a kdszavakat
mint vektorokat a mr megszokott polinomos formban reprezentljuk.

4.8. C IKLIKUS

213

KDOK

4.23. definci. Rendeljnk polinomot az egyes kdszavakhoz a kvetkezo mdon:


c = (c0 ; c1 ; : : : ; cn 1 ) 7! c(x) = c0 + c1 x +  + cn 1 xn 1 ;

ekkor a c kdsznak megfeleltetett c(x) polinomot kdszpolinomnak vagy rviden kdpolinomnak nevezzk. A kdszpolinomok halmazt C(x)-szel jelljk.
4.6. lemma. Legyen c0 (x) a c kdsz Sc eltoltjhoz rendelt kdszpolinom, ekkor
c0 (x) = [xc(x) mod (xn

1 ):

B IZONYTS : Legyen c(x) = c0 + c1 x +  + cn 1 xn 1 , ekkor


xc(x) = cn

1 (x

1) + c0 (x);

ahonnan az llts kvetkezik, mert deg(c0 (x))  n

1.

4.17. ttel. Minden (n; k) paramteru, ciklikus, lineris C kdban a nem azonosan
nulla kdszpolinomok kztt egyrtelmuen ltezik egy minimlis fokszm g(x)
fopolinom. g(x) fokszma n k, s egy c 2 C akkor s csak akkor, ha g(x) j c(x),
azaz ltezik egy u(x) polinom gy, hogy c(x) = g(x)u(x).
B IZONYTS : A nem nulladfok kdszpolinomok kztt biztosan ltezik legkisebb fok. Legyen egy ilyen
q(x) = c0 + c1 x +  + cr xr :
Mivel a kd lineris, ezrt a
g(x) = cr 1 q(x)
is kdpolinom s minimlis fokszm fopolinom. Be kell ltnunk az egyrtelmusget. Tegyk fel, hogy van ketto: g0 (x) s g00 (x), akkor a linearits miatt a
klnbsgk is kdszpolinom, s r-nl kisebb fokszm, ami lehetetlen. A ciklikussg miatt g(x); xg(x); x2g(x); : : : ; xn r 1 g(x) is kdszpolinom, ezrt ismt a
linearits miatt tetszoleges (u0 ; u1 ; : : : ; un r 1 )-re
(u0 + u1 x +

 + un

r 1x

n r 1

)g(x)

is kdszpolinom, azaz
u (x ) = u 0 + u 1 x ; : : : ; u n

r 1x

n r 1

jells esetn u(x)g(x) kdszpolinom. A msik irny llts az, hogy ha c(x)
egy tetszoleges kdszpolinom, akkor g(x) osztja c(x) polinomot. Az euklidszi

214

4. H IBAJAVT KDOLS

osztsi ttel miatt ugyanis c(x) = q(x)g(x) + r(x), ahol deg(r(x)) < deg(g(x)). Ez
csak gy lehet, ha r(x) = 0, mivel r(x) = c(x) q(x)g(x) is kdszpolinom s
g(x)-nl kisebb fokszm. gy r(x) csak 0 lehet. Ebbol viszont kvetkezik, hogy
minden kdszpolinom eloll (u0 + u1 x; : : : ; un r 1 xn r 1 )g(x) alakban. Msrszt
egy (n; k) paramteru kdban qk darab kdsz van, ahonnan kvetkezik, hogy
r=n

k:

4.24. definci. g(x)-et a kd genertorpolinomjnak nevezzk.


4.18. ttel. Minden ciklikus, lineris kd g(x) genertorpolinomjra
g (x ) j x n

1:

Msrszrol, ha egy g(x) fopolinomra g(x) j xn 1, akkor ltezik egy lineris ciklikus kd, melynek g(x) a genertorpolinomja.
B IZONYTS : Miutn xk 1 g(x) (n 1)-edfok fopolinom, annak eltoltja xk g(x)
o kdszpolinom, teht ez utbbi is oszthat g(x)-szel, ms(xn 1). Mindkett
k
rszt x g(x) is oszthat g(x)-szel, ezrt a ketto klnbsge is oszthat g(x)-szel,
ami viszont ppen xn 1. Az llts msodik felt is egyszeru beltni. Legyen
g(x) fokszma n k, akkor a kdszpolinomok
C(x) = fc(x) = a(x)g(x); deg(a(x))  k

1g

halmaza egy (n; k) paramteru lineris kdot definil. Meg kell mutatni, hogy
ez ciklikus, azaz c(x) = a(x)g(x), deg(a(x))  k 1 esetn eltoltja is kdszpolinom, azaz ltezik a0 (x), deg(a0 (x))  k 1, gy hogy xc(x) = a0 (x)g(x)
mod (xn 1). Ha deg(a(x)) < k 1, akkor legyen a0 (x) = xa(x). Ha deg(a(x)) =
k 1 s legmagasabb fok tagjnak egytthatja ak 1 , akkor xc(x) eloll
xc(x) = xa(x)g(x) = ak

1 (x

alakban, ahol deg(b(x))  n 1. Ha g(x) osztja xn


teht az a0 (x)g(x) alak, ezrt
xc(x) = a0 (x)g(x) mod xn

1 ) + b (x )
1-et, akkor osztja b(x)-et is,
1:

A ciklikus kdok elonys tulajdonsgai egyrszt a generlsi lehetosgek sokflesgben, msrszt egyszeru dekdolsi eljrsokban jelentkeznek. Egy lineris ciklikus kdot lehet pldul a genertorpolinom s az zenetpolinom szorzsval generlni. Ez a mdszer megfogalmazhat egy olyan G genertormtrix

4.8. C IKLIKUS

215

KDOK

segtsgvel is, amelyhez legegyszerubben gy juthatunk el, ha G sorai a g(x)-nek


megfelelo vektor eltoltjai:
0
B
B
B
G=B
B


g0 g1 g2
0 g0 g1
..
..
..
.
.
.
0 0 0
0 0 0




gn
gn




k 1
k 2

gn

..
.
g0
0

0
1
..
.

k 1

..
.
g1
g0

g2
g1






..
.
1
gn

k 1

0
0
..
.

C
C
C
C;
C
0 A

kihasznlva, hogy g(x) fopolinom, gy gn k = 1.


Egy msik generlsi mdszer kapcsn azt is megmutatjuk, hogy
4.19. ttel. Minden lineris ciklikus kd generlhat szisztematikusan.
B IZONYTS : Vegyk szre, hogy g0 6= 0, mert ha 0 lenne, akkor a g-t balra
eltolva g-nl 1-gyel kisebb fokszm kdszpolinomot kapnnk, ami lehetetlen.
g0 6= 0 miatt viszont a Gauss-elimincit balrl jobbra vgrehajtva szisztematikus
genertormtrixot kapunk.
A szisztematikus generls egy praktikus mdszere a kvetkezo:
Legyen u(x) egy legfeljebb (k 1)-edfok zenetpolinom s
c(x) = u(x)xn

[ u (x ) x

n k

mod g(x);

akkor c(x) kdszpolinom, mivel c(x) = 0 mod g(x). Ezen generls szisztematikus: a c(x)-et definil egyenlosg jobb oldalnak elso tagja adja az zenetszegmenst, mg a msodik tagja a paritsszegmenst.
4.11. plda. Tekintsk a GF(2) feletti g(x) = 1 + x + x3 polinomot! Mivel
x7

1 = (1 + x)(1 + x + x3)(1 + x2 + x3 );

ezrt g(x) osztja (x7 1)-et, teht g(x) egy (7; 4) paramteru binris, lineris, ciklikus kd genertorpolinomja. Egy genertormtrixhoz jutunk a g(x) eltoltjaival:
0

0
B 0
G=B
 0
1

0
0
1
0

0
1
0
1

1
0
1
1

0
1
1
0

1
1
0
0

1
0 C
C:
0 A
0

216

4. H IBAJAVT KDOLS

A msodik mdszer szerinti szisztematikus genertormtrixhoz gy jutunk el, ha


kiszmtjuk az [x3+i mod (1 + x + x3 ) maradkokat i = 0; 1; 2; 3-ra, melyek
x3

1 + x mod (1 + x + x3 )

x4

x(1 + x + x3 )

x(1 + x) =

x + x2 mod (1 + x + x3 )

x2 (1 + x + x3 )

x2 (1 + x) =

1 + x + x2 mod (1 + x + x3 )

x3 (1 + x + x3 )

x3 + x4 =

1 + x + x + x2 =

1 + x2 mod (1 + x + x3 )

x5

x6

Ezek alapjn

1
B 0
G=B
 0
0

0
1
0
0

0
0
1
0

0
0
0
1

x(1 + x) =

x 2 (1 + x ) =

x 3 (1 + x ) =

1
1
1
0

0
1
1
1

1
1 C
C;
0 A
1

amely a mr jl ismert (7; 4) paramteru Hamming-kd szisztematikus genertormtrixa.


A paritsmtrixnak is van polinomos megfeleloje:
4.25. definci. Egy g(x) genertorpolinom lineris, ciklikus kd esetn a
h (x ) =

xn 1
g(x)

polinomot paritsellenorzo polinomnak nevezzk.


4.20. ttel. Egy lineris, ciklikus kdra c(x) akkor s csak akkor kdszpolinom,
ha
c(x)h(x) = 0 mod (xn 1)

deg (c(x))  n

1:

4.8. C IKLIKUS

217

KDOK

B IZONYTS : Ha c(x) kdpolinom, akkor c(x) = u(x)g(x) alak, teht


c(x)h(x) = u(x)g(x)h(x) = u(x)(xn

1 );

teht c(x)h(x) = 0 mod (xn 1). Ha viszont c(x)h(x) = 0 mod (xn


c(x)h(x) = a(x)(xn 1) alak, ahonnan
c(x) = a(x)(xn

1), akkor

1)=h(x) = a(x)g(x);

teht c(x) kdpolinom.


4.21. ttel. A Reed-Solomon-kdok 4.3. konstrukcijban legyen az n kdszhossz egyenlo az ott szereplo elem m rendjvel. Ekkor a kd ciklikus, s genertorpolinomja
n k

g(x) = (x

i );

i=1

tovbb paritsellenorzo polinomja


n

h (x ) =

(x

i );

i=n k+1

teht a nem rvidtett ReedSolomon-kd ciklikus.


B IZONYTS : A 4.3. konstrukcit a paritsmtrixval adtuk meg, s a kdszavak
kielgtettk a paritsegyenleteket:
n 1

c j i j = 0

i = 1; : : : ; n

k;

j=0

teht 1 ; : : : ; n

gyke a c(x) polinomnak, vagyis c(x) felrhat


n k

c(x) = (x

i )u ( x )

i=1

alakban. A g(x) ttelbeli defincijval az tnyleg egy ciklikus kd genertorpolinomja, ha megmutatjuk, hogy osztja az (xn 1)-et. Ez utbbi azrt igaz, mert
g(x) gykei az (xn 1)-nek is gykei, ugyanis
( ) = ( )
i n

ezrt

i m

xn

im

= ( ) = 1 ;

1 = (x

m i

i );

i=1

ahonnan a h(x)-re vonatkoz llts is kvetkezik.

218

4. H IBAJAVT KDOLS

A ciklikus kdok gyakorlata a leghosszabb mlttal a hibajelzs terletn rendelkezik, amikor a kd binris, a kdokat a szabvnyok genertorpolinomjuk segtsgvel adjk meg s generlsuk a 4.19. ttel bizonytsban lert mdon, a
genertorpolinom szerinti maradkos osztssal, szisztematikusan trtnik. Ezeket
a kdokat CRC kdoknak hvjk (Cyclic Redundancy Check). A hibajelzst legtbbszr zajos, visszacsatolsos csatornknl hasznljk, amikor a vevo hiba detektlsa esetn rtesti az adt, amely ezutn az adst ugyanazzal a kddal vagy
egy jobbal megismtli. Ezt az eljrst ARQ-nak nevezzk (Automatic Repeat
reQuest).
A CCITT 16 paritsbitet tartalmaz szabvnyban a CRC genertorpolinomja
g1 (x) = x16 + x12 + x5 + 1:
Ezt a genertorpolinomot alkalmazzk pl. az SNC 2653 (Polinomial Generator
Checker), INTEL 82586 (Local Communication Controller), INTEL 8274 (MultiProtocol Serial Controller), Signetics 2652 (Multi-Protocol Communications Circuit) integrlt ramkrkben. A kt utbbiban mg vlaszthatjuk a
g2 (x) = x16 + x15 + x2 + 1
polinomot is. Az INTEL 82586-os Ethernet chip tartalmaz egy 32 bites genertorpolinomot is:
g3 (x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1:
A 4.18. ttel rtelmben ezek a polinomok akkor genertorpolinomjai ciklikus
kdoknak, ha osztjk az xn 1 polinomot, teht csak bizonyos kdszhosszakra
ciklikus kdok. Ugyanakkor erre nem figyelmeztetik a felhasznlt. Ez azrt
nem okoz problmt, mert tetszoleges zenethossz esetn azrt j kdot kapunk,
ugyanis az vagy eleve ciklikus, vagy egy ciklikus kd rvidtse. Legyen C egy
(n; k) paramter
u szisztematikus lineris kd s k0 < k. Egy
u0 = (u00 ; u01 ; : : : ; u0k0 )
zenethez rendeljk a k hossz
u = (0; 0; : : : ; 0; u00 ; u01 ; : : : ; u0k0 )
zenetet, ahhoz a
c = (0; 0; : : : ; 0; u00 ; u01 ; : : : ; u0k0 ; ck+1 ; ck+2 ; : : : ; cn )

4.8. C IKLIKUS

219

KDOK

kdszt s ahhoz a rvidtett kdszt:


c0 = (u00 ; u01 ; : : : ; u0k0 ; ck+1 ; ck+2 ; : : : ; cn ):
Az ilyen c0 kdszavak C0 halmazt nevezzk a C kd rvidtett kdjnak. Nyilvn
n

n0 = k

k0

s C0 kdtvolsga legalbb akkora, mint a C kd.


Ez utbbi miatt elg sszefoglalni a CRC kdok alapveto tulajdonsgait akkor,
amikor az ciklikus kd, azaz az n kdszhosszra a genertorpolinom osztja xn 1et.
Ezek utn legyen n az a legkisebb termszetes szm, melyre g1 (x) j xn 1, s
jellje C az (n; n 16) paramteru, ciklikus, lineris kdot, melynek a genertorpolinomja g1 (x), ekkor
1. tulajdonsg: n = 215

1 = 32767.

2. tulajdonsg: C jelez minden legfeljebb 3 sly hibt.


3. tulajdonsg: C jelez minden pratlan sly hibt.
4. tulajdonsg: C jelez minden olyan hibt, ahol a hibahelyek maximumnak
s minimumnak a tvolsga kisebb, mint 16. (Ez utbbit gy szoks mondani, hogy a kd jelez minden legfeljebb 16 hossz hibacsomt.)
B IZONYTS : Az 1. bizonytsa egyrszt trtnhet tovbbi matematikai appartus bevezetsvel, msrszt szmtgpes ellenorzssel.
Ha a v vett sznak, az e hibamintnak s a kldtt c kdsznak rendre a v(x),
e(x) s c(x) polinom felel meg, akkor
v(x) = c(x) + e(x)
miatt C egy olyan e hibt tud jelezni, melyre g1 (x) nem osztja e(x)-et. Mivel
g1 (1) = 0, ezrt
g1 (x) = (x 1)g0 (x)
alak. Ha e-ben pratlan sok 1 van, akkor e(1) = 1, teht x 1 nem osztja e(x)-et,
ezrt g1 (x) sem osztja e(x)-et, s ezzel a 3. tulajdonsgot belttuk.
Mivel g1 (x) kdszpolinom s a slya 4, ezrt a C kdtvolsga legfeljebb 4,
teht C legfeljebb 3 hibt jelezhet. A 3. tulajdonsg miatt az 1 s a 3 slyt jelzi,
teht elg megvizsglni a 2 sly hibkat. Ha e 2 sly, akkor
e(x) = x j + xi

220

4. H IBAJAVT KDOLS

alak, ahol 0  i < j  n

1. g1 (x) j e(x), ha
xi (x j

alak. rjuk fel z(x)-et

+ 1) = g1 (x)z(x)

z (x ) = x m z 0 ( x )

alakban, ahol x nem osztja z0 (x)-et, azaz


xi (x j

+ 1) = x

g1 (x)z0(x):

Ha i > m lenne, akkor


xi

(x

j i

+ 1) = g1 (x)z (x);

teht x j g1 (x)z0 (x), ami lehetetlen, mert x nem osztja z0 (x)-et s g1 (0) = 1 miatt x
nem osztja g1 (x)-et. Ha i  m lenne, akkor
xj

+1 = x

j i

1 = g1 (x)z0(x)xm

ami szintn lehetetlen, mert n volt az a legkisebb egsz, melyre g1 (x) j xn 1, mrpedig j i < n, ezrt g1 (x) nem oszthatja (x j i 1)-et. Ezzel a 2. tulajdonsgot
is belttuk.
A 4. tulajdonsghoz legyen
e(x) = xi e0 (x);
ahol i  0 s deg(e0 (x)) < 16. Ha g1 (x) j e(x), akkor
xi e0 (x) = g1 (x)z0 (x)xm
alak, ahol x nem osztja z0 (x)-et. i  m nem lehet, mert ekkor
e0 (x) = g1 (x)z0 (x)xm

teht g1 (x) a nla kisebb fokszm e0 (x)-et osztan. i > m sem lehet, mert ekkor
xi

e0 (x) = g1 (x)z0(x);

azaz x osztan g1 (x)z0 (x)-et, ami szintn lehetetlen a 2. tulajdonsg bizonytsban


elmondottak miatt.
Az 1., 2., 3. s 4. tulajdonsg mindegyike ll a g2 (x) polinom esetn is. A 2.,
3. s 4. tulajdonsgot be lehet ltni minden g(x) = x16 + x j + xi + 1 alak genertorpolinomra, ahol 16 > j > i > 0. Nyilvn fontos, hogy az az n, melyre g(x) egy

4.8. C IKLIKUS

221

KDOK

n hossz ciklikus kd genertorpolinomja, elegendoen nagy legyen, teht a gyakorlatban vlasztott zenethossz a kd egy rvidtsnek zenethossza legyen.
Belthat, hogy az ilyen g(x)-ek kzl a g1 (x) s a g2 (x) esetn a legnagyobb az
n.
A 4.2. szakasz vgn emltettk, hogy a muholdas musorszrs szolgltatsazonostst egy (23; 12) paramteru Golay-kddal vdik. Ennek a kdnak a kdtvolsga 7, ezrt 3 hibt tud javtani. Knnyen ellenorizheto, hogy a kd paramtereire a Hamming-korltban az = teljesl:
3

i=0

23
i

=2

11

teht ez a kd perfekt. Eredetileg Golay a kdot szisztematikus genertormtrixval adta meg:


0
B
B
B
B
B
B
B
B
B
B
G=B
B
B
B
B
B
B
B
B


10000000000011011100010
01000000000001101110001
00100000000010110111000
00010000000001011011100
00001000000000101101110
00000100000000010110111
00000010000010001011011
00000001000011000101101
00000000100011100010110
00000000010001110001011
00000000001010111000101
00000000000111111111111

1
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
A

Kiderlt, hogy ez a kd ciklikus is, s a genertorpolinomja


g(x) = x11 + x10 + x6 + x5 + x4 + x2 + 1:
Ugyanilyen paramteru kdot kapunk a
g0 (x) = x11 + x9 + x7 + x6 + x5 + x + 1
genertorpolinommal. Ezek valban 23 hossz ciklikus kdok genertorpolinomjai, ugyanis
0
23
(x 1)g(x)g (x) = x
1:
Mivel a g(x) egytthati kzl 7 darab 1, ezrt a minimlis sly nem lehet 7-nl
nagyobb. Megmutathat, hogy pontosan 7:

222

4. H IBAJAVT KDOLS

4.22. ttel. A (23; 12) paramteru Golay-kd egy 3 hibt javt perfekt, lineris,
ciklikus kd.

Ciklikus kdok shiftregiszteres generlsai


Mind a ciklikus kdok generlsra, mind a paritsellenorzsre hatkony eszkz a linerisan elorecsatolt illetve a linerisan visszacsatolt shiftregiszter.
Mint lttuk, egy (n; k) paramteru ciklikus kd nemszisztematikusan generlhat g(x) = g0 + g1 x +  + gn k xn k genertorpolinomja felhasznlsval, amelynl egy u(x) = u0 + u1 x +  + uk 1 xk 1 zenethez a
c(x) = u(x)g(x)

(4.9)

polinomszorzssal generljuk a c(x) = c0 + c1 x +  + cn 1 xn 1 kdszt. A (4.9)


alak polinomszorzs a 4.2. bra szerinti linerisan elorecsatolt shiftregiszteres
elrendezssel realizlhat.
Knnyen lthat, hogy ha a zr kezdo rtku regiszterbe n lpsben belptetjk a zrelemekkel n hosszra kiegsztett u0 ; u1 ; : : : ; uk 1 ; 0; : : : ; 0 sorozatot,
akkor a 4.2. bra szerinti genertor kimenetn megjeleno karakterek lpsenknt
a kvetkezok:
0:

c0

u0 g0

1:

c1

u0 g1 + u1 g0

..
.
n

1:

cn

uk 1 gn

(4.10)

k;

azaz valban a (4.9) polinomszorzst hajtjuk vgre.


0

0; uk

?
?

1 ; : : : ; u0

lr

?
g0

?

rl
?
l

?
g1

- 
? g2

rl
l?

?
- ? gn k 1 ?

rl
?
 - l
+

rl
?l

4.2. bra. Nemszisztematikus generls elorecsatolssal.

gn

:::;

c1 ; c0

4.8. C IKLIKUS

sL

- sj
sj

223

KDOK

?
1

sL

s0

- sj 2
? f

rm
?
m

- 
? f

- sj L
? f

rm rm
?
m  m?

L 1

-s1 s0
;

:::;

mr

?

fL

4.3. bra. LFSR.


A szisztematikus generls realizlsnak hatkony alapeleme a 4.3. bra szerinti linerisan visszacsatolt shiftregiszter (LFSR, Linear Feedback Shift Register).
A shiftregiszter L hossz, s a kezdo rtk s0 ; s1 ; : : : ; sL 1 . A tovbbi, s j ; j  L
elemek a
L

sj =

fi s j

jL

i;

i=1

(4.11)

rekurzv alakban llnak elo. A (4.11) sszefggst gyakran clszerubb az


L

fis j

i=

0;

i=0

jL

(4.12)

alakba trni, ahol f0 = 1. Az LFSR-hez rendelt


f (x) = f 0 + f 1 x + f 2 x2 +  + f L xL

(4.13)

polinomot az LFSR karakterisztikus polinomjnak nevezzk. Az h f (x); Li jellst hasznljuk az f (x) karakterisztikus polinom s L regiszterhossz LFSR
jellsre.
Egy (n; k) paramteru ciklikus kd egyrtelmuen megadhat h(x) = h0 + h1 x +
 + hk xk paritsellenorzo polinomjval. Vezessk be a h(x) polinom
b
h(x) = hk + hk 1 x +

 + h0xk

reciprok polinomjt. Megmutatjuk, hogy ciklikus kdot szisztematikusan generlhatunk hb


h(x); ki LFSR segtsgvel, ha a kezdo rtket a kdoland zenetnek vlasztjuk. A c(x) = c0 + c1 x +  + cn 1 xn 1 szisztematikus kdszban a

224

4. H IBAJAVT KDOLS

cn 1 = u0 ; cn 2 = u1 ; : : : ; cn k = uk 1 pozcikba helyezzk el az zenetkaraktereket.


A 4.20. ttel szerint egy lineris, ciklikus kdra c(x) akkor s csak akkor kdszpolinom, ha
(4.14)
c(x)h(x) = 0 mod (xn 1);
amelynek alapjn a c(x)h(x) polinom n 1; n 2; : : : ; k fokszm tagjainak egytthatjra az albbi sszefggseket rhatjuk fel:

 + hk cn
3 +  + hk cn

h0 c n

1 + h1 c n 2 +

k 1

h0 c n

2 + h1 c n

k 2

h0 c k + h1 c k

1+

 + hk c0

..
.
=

(4.15)

Mivel a g(x) genertorpolinom fopolinom, ezrt a h(x)g(x) = xn 1 sszefggsbol kvetkezik, hogy h(x) is fopolinom, azaz hk = 1. Ennek figyelembevtelvel
a (4.15) egyenletek a kvetkezo rekurzv alakba rhatk:
k 1

hi c n

k j=

cn

(4.16)

i j;

i=0

j = 1; 2; : : : ; n k, azaz cn 1 = u0 ; cn 2 = u1 ; : : : ; cn k = uk 1 ismeretben generljuk a cn k 1 ; cn k 2 ; : : : ; c0 paritsszegmenst.


A 4.4. brn lthat a paritsellenorzo polinomra plo LFSR kdgenerls,
melynek megfeleltetse:
h(x);
f (x ) = b

uk

L = k;

uk

?

rl
?
l

s 0 = u0 ; s 1 = u2 ;

hk

:::;

sk

1 = uk 1 :

u0

- 
? h

?

rl lr
?l  l
?

k 2

h1

:::;

lr

?

4.4. bra. Kdgenerls paritsellenorzo polinommal.

cn

2 ; cn 1

h0

4.8. C IKLIKUS

225

KDOK

0; : : : ; 0; u0 ; : : : ; uk

k
kq

k
kq

k
kq

- +- ? +- ? + - 
6
6
6
 g  g  g
6
6
6

k6
kq



?
gn

k 1

-ki

4.5. bra. Oszts g(x) polinommal.


A paritsellenorzo polinommal trtno kdgenerlsnl az LFSR regiszterhossza k karakter. gy ezt az eljrst nem clszeru alkalmazni azon tipikus esetekben, amikor nagyobb az zenethossz a paritsszegmens n k mrethez kpest.
Ekkor clszerubb a genertorpolinom alap shiftregiszteres generls. Tudjuk,
hogy egy (n; k) paramteru g(x) genertorpolinom ciklikus kd u(x) zenethez
tartoz c(x) kdszava szisztematikusan generlhat az albbi sszefggssel (lsd
a 4.19. ttel bizonytsa utn rtakat):
c(x) = u(x)xn

[ u (x ) x

n k

mod g(x):

(4.17)

A (4.17) sszefggsben egy u(x)xn k polinomnak a g(x) polinomra vett maradkt kell kpezni. Figyelembe vve, hogy g(x)-et fopolinomnak vlasztottuk, ezt a
polinomosztst vgzi el az albbi visszacsatolt shiftregiszteres oszt elrendezs.
Az oszt elrendezs ltal vgzett shiftels s az ppen kilpo elemmel az osztpolinom nemzrus egytthatinak megfelelo pozcikban trtno slyozott levons nyilvn a jl ismert polinomoszts egy lpsnek a vgrehajtst jelenti.
Teht a 4.5. brn lthat elrendezs euklidszi osztst vgez. Zr kezdo llapotbl indtva, s az oszt bemenetre idoben egyms utn a dn 1 ; dn 2 ; : : : ; d0
elemeket lptetve a
d (x) = q(x)  g(x) + r(x)
(4.18)
euklidszi osztsnak megfeleloen a kimenetn a q(x) hnyados, a regiszterben
pedig az r(x) maradk ll elo. gy a bemenetn az n k 0-val kiegsztett k zenetkaraktert belptetve, n lps utn a regiszter az [u(x)xn k mod g(x) maradkot
tartalmazza.
Nyilvn az oszt elrendezs hasznlhat CRC generlsra illetve ellenorzsre is, mivel ekkor is egy (n; k) paramteru szisztematikus ciklikus kd kdszavait lltjuk elo. CRC generlskor a fentiekben elmondott mdon paritsszeg-

226

4. H IBAJAVT KDOLS

menst lltunk elo, mg ellenorzskor hibtlan sz esetn zr osztsi maradkot


kapunk az oszt regiszterben.

4.9. BCH-kd
4.26. definci. Az n kdszhossz, n = qm 1, GF(q) feletti kdot t hibt javt
BCH-kdnak nevezzk, ha a g(x) genertorpolinomjnak gykei az i 2 GF(qm ),
i = 1; 2; : : : ; 2t testelemek. (BCH = BoseChaudhuriHocquenghem)
4.23. ttel. Ha az n kdszhossz, GF(q) feletti C ciklikus kd genertorpolinomjnak az 2 GF(qm ) elem d 1 egyms utni (klnbzo) hatvnya gyke,
azaz valamely i0  0; d > 1 esetn
g(i0 ) = g(i0 +1 ) =  = g(i0 +d

) = 0;

akkor a kd minimlis tvolsga legalbb d .


B IZONYTS : Amennyiben c(x) C-beli kdsz, akkor c(i0 ) = c(i0 +1 ) =  =
c(i0 +d 2 ) = 0. A paritsellenorzo mtrixot a kvetkezo tmr formban rhatjuk
fel:
0
1
i0
2i0
 (n 1)i0 1
B1
2(i0 +1)  (n 1)(i0 +1) C
i 0 +1
B
C
H = B.
C
..
..
 ..
A
.
.
1 i0 +d

2(i0 +d

 n 1 i
+  + cn 1 n

2)

)( 0 +d

2)

(
1)i0 . Az llts bizohiszen pldul c(i0 ) = c0 + c1 i0 + c2 2i0
nytshoz azt kell megmutatni, hogy a H mtrix brmely d 1 vagy kevesebb
oszlopa GF(qm ) feletti vektorok linerisan fggetlen halmaza, ekkor ugyanis legalbb d sly az a c vektor, amelyre HcT = 0, s gy a kd teljesti az elort
minimlis tvolsgot.
Az indirekt bizonytshoz tegyk fel, hogy van egy b
c vektor, amelynek slya
w  d 1, az i 2 fa1 ; a2 ; : : : ; aw g pozcikban tartalmazza nemzrus karaktereit
s Hb
cT = 0. Ekkor az

a1 i0

B a1 (i0 +1)
B
B
..

.

a1 (i0 +w 1)



..



10

aw i0

aw (i0 +1)
..
.
aw (i0 +w

1)

ca1
C B ca C
CB 2C
C B .. C = 0
A . A
caw

227

4.9. BCH- KD

egyenletben a mtrix determinnsa 0. De ezen mtrix determinnsa az n. Vandermonde-determinns (a1 ++aw )i0 -szorosa:
0

B
B
det B





1
a1
..
.

a1 (w

..

1)



1
aw
..
.
aw (w

C w 1 w
C
a
C = ( i
A
j=1 i= j+1

a j )

1)

A Vandermonde-determinns viszont nemzrus, mivel i


f0; 1; : : : ; n 1g esetn, hiszen rendje n.

6= j i =6
;

j ; i; j

gy, ha ; 2 ; : : : ; 2t a g(x) gykei, akkor d  2t + 1, teht a kd t hibt


kpes javtani (i0 = 1). Ez tmasztja al a BCH genertorpolinom fentebb mondott
vlasztst.
Ha q = 2, akkor binris BCH-kdot kapunk, mg m = 1 esetben ReedSolomon-kdra jutunk. A t = 1; q = 2 vlasztssal kapjuk a Hamming-kdokat. Mivel
a GF(q) feletti polinomok kztt az 2 GF(q) testelem az x elsofok polinom
gyke, gy a t hibt javt ReedSolomon-kd genertorpolinomja lehet pldul a
g (x ) = ( x

1)(x

)(x

2)  (x

2t

polinom (i0 = 0), ahol rendje n.

A g(x) genertorpolinom konstrukcija


Mint lttuk, egy n kdszhossz GF(q) feletti lineris ciklikus kd g(x) genertorpolinomja az xn 1 polinom osztja. Az llts megfordtsa is igaz: az
xn 1 polinom tetszoleges nemtrivilis GF(q) feletti osztja egy C(n; k),
deg(g(x)) = n k paramteru GF(q) feletti lineris ciklikus kd genertorpolinomja lehet. A linearits nyilvnval, hiszen a(x)g(x) + b(x)g(x) = (a(x) +
b(x))g(x). A ciklikussghoz elg azt beltni, hogy egy ciklikus lptets is kdszra vezet. Ehhez tekintsk a kvetkezo kt esetet: deg(a(x)) < k 1 illetve
deg(a(x)) = k 1. Az elso eset egyszeru, mivel deg(xa(x)g(x)) < n. A msodik
esetben az igazols
xa(x)g(x) = ak 1 (xn 1) + r(x)
maradkos oszts egyenlosgen alapul, ahol azt kell beltni az r(x) maradkra,
hogy r(x) = a0 (x)g(x) alak valamely a0 (x) polinomra. Ez azonban egyszeruen
kvetkezik a g(x) j xn 1 felttel felhasznlsval.
A g(x) genertorpolinomot teht az xn 1 polinom GF(q) feletti irreducbilis
faktorjaibl konstruljuk, ahol legyen
xn

1 = f 1 (x) f2 (x)  fs (x)

(4.19)

228

4. H IBAJAVT KDOLS

a GF(q) feletti irreducbilis faktorokra bonts. Ennek alapjn az s klnbzo


faktor sszes lehetsges nemtrivilis kombincijval 2s 2 klnbzo genertorpolinom s hozzjuk tartoz n kdszhossz GF(q) feletti ciklikus kd
llthat elo.
Tekintsk az n = qm 1 kdszhosszakat, azaz gynevezett primitv szhoszsz kdokat konstrulunk. A konstrukcival kapcsolatos GF(q) testet szoks az
egytthatk testnek (kis testnek), mg a GF(qm ) testet a gykk testnek (nagy
testnek) nevezni. A testelmleti alapokbl ismeretes, hogy tetszoleges GF(Q)
test esetn
(4.20)
xQ 1 1 = (x j );
j

ahol a j gykk a GF(Q) test klnbzo nemzrus elemei. A (4.19), (4.20) formulk alapjn a primitv szhossz kdok esetn a j testelemek mindegyike egy
s csak egy f i (x) faktor gyke. Innen mr az is lthat, hogy ha a j testelem az
f i (x) gyke, akkor fi (x) irreducbilis polinom egyben minimlis fokszm GF(q)
feletti polinom ezen tulajdonsggal. Ha feltesszk ugyanis, hogy nem f i (x), hanem egy tole klnbzo k(x) GF(q) feletti polinom lenne minimlis fokszm polinom nevezett tulajdonsggal, az ellentmondsra vezetne. Ezt a szoksos trkkel
igazolhatjuk: az fi (x) = q(x)k(x) + r(x) maradkos oszts egyenlosgbe helyettestsk a j gykt, s vegyk figyelembe, hogy deg(r(x)) < deg(k(x)) valamint
azt, hogy fi (x) irreducbilis. Az f i (x) polinomot a j GF(qm )-beli testelem GF(q)
feletti minimlpolinomjnak nevezzk.
4.12. plda. Legkisebb pldaknt tekintsk a q = 2; m = 2 esetet (azaz GF(2) a kis
test, GF(4) a nagy test). Ekkor a (4.19), (4.20) formulknak megfelelo felbontsok
a kvetkezo egyszeru alakot ltik:
x3

1 = f1 (x) f2 (x) = (x

1)(x2 + x + 1) = (x

1)((x

)(x

2));

ahol a GF(4) primitv eleme. Az 1 2 GF(4) egysgelem GF(2) feletti minimlpolinomja nyilvn f1 (x) = x 1, mg s 2 GF(4) testelemek kzs GF(2)
feletti minimlpolinomja f1 (x) = x2 + x + 1.
Visszatekintve a BCH-kd 4.26. defincijra, az eddigiek alapjn lthatjuk,
hogy t hibt javt BCH-kd genertorpolinomjt gy konstrulhatjuk meg, hogy
megkeressk az i 2 GF(qm ) gykk klnbzo, GF(q) feletti minimlpolinomjait, s azokat sszeszorozzuk.
Ezek utn mr csak egy tisztn algebrai technikai krdsrol van sz, arrl,
hogy hogyan konstruljunk minimlpolinomot. Az albbiakban rviden megmutatjuk a technikt (rszletesebben lsd pldul [10] 5.3. fejezet).

229

4.9. BCH- KD

Ha egy f (x) polinom egy GF(qm )-beli testelem GF(q) feletti minimlpolinomja, akkor f (x) gykhalmaza a elem gynevezett konjugltjainak
n

; q ; q

;:::;

halmaza, amely halmaz elemeit egyms utn, q-adik hatvnyra emelsvel kpezzk a GF(qm ) testben, tovbb ahol az a legkisebb hatvnykitevo, amelyre

= :

Mindezek alapjn gyktnyezos (nagy test feletti linearizlt) alakban meg tudjuk mr adni a minimlpolinomokat. Ebbol az alakbl az explicit alak polinomokat a lineris faktorok sszeszorzsval kapjuk a nagy testbeli aritmetika szerint,
amelynek sorn az egytthatk vglis kis testbeli egytthatkk egyszerusdnek.
A 4.12. plda esetn konjugltjainak halmaza ktelemu, tagjai s 2 (4 =
).
Az eddigiek alapjn anlkl, hogy megkonstrulnnk magt a genertorpolinomot, azt mr meg tudjuk mondani, hogy mekkora lesz a genertorpolinom
fokszma, kvetkezskpp hogy mekkora a kd k paramtere illetve R = nk kdsebessge. Ehhez nem kell mst tennnk, mint konjuglt halmazokra bontani a nagy
test nemzrus elemeinek qm 1 mretu halmazt. Mivel a nemzrus testelemek a
primitv elem hatvnyaiknt megkaphatk, a konjuglt halmazok meghatrozsnl elegendo a halmaz elemei helyett a megfelelo primitv elem kitevojt megadni.
4.13. plda. GF(16), q = 2; m = 4:

f0g
f1 2 4 8 g
f3 6 12 9g
f5 10g
f7 14 13 11g
;

;
;

ahol primitv elem kitevoirol lvn sz modulo 15 szmolunk. Ennek alapjn pldul egy t = 1 paramteru kd genertorpolinomjhoz tartoz konjuglt
(kitevo) halmaz f1; 2; 4; 8g, azaz C(15; 11) a kapcsolatos binris Hamming-kd
paramtere. Hasonlan, ha egy n = 15 kdszhossz t = 2 hibt javt binris
BCH-kdot szeretnnk generlni, akkor f1; 2; 4; 8g s f3; 6; 12; 9g kitevohalmazoknak megfelelo gykk szerepelnek a genertorpolinomban, teht a kd sebes7
= 0:466 lesz.
sge R = 15
A BCH kdok elollthatk mint a Reed-Solomon kdok rszkdjai. Ehhez
kapcsoldik az albbi ttel:

230

4. H IBAJAVT KDOLS

4.24. ttel. Legyen C a GF(qm ) felett egy (n; k) paramteru, dmin kdtvolsg
ReedSolomon-kd. Legyen C0 a C-nek egy rszhalmaza, mely C azon kdszavaibl ll, melyek koordinti GF(q)-beliek. C0 egy GF(q) feletti (n; k0 ) paramteru,
0 kdtvolsg, lineris kd, melyre
dmin
k0  k

0  dmin :
dmin

A 4.24. ttel bizonytst az olvasra bzzuk. A linearits trivilis, msrszt


C0 -ben nyilvn nincs tbb linerisan fggetlen kdsz, mint C-ben, harmadrszt
egy rszkd kdtvolsga nem lehet kisebb, mint az eredeti kd. A kapott rszkd 4.26. definci szerinti BCH-kd t  (n k)=2 paramterrel.

4.10. Kdkombincik
A standard kdkonstrukcik sorn kapott kdok paramterei nem mindig illeszkednek kzvetlenl az adott alkalmazsban megkvetelt rtkekhez. Hatkony,
ugyanakkor egyszeru mdszerek lteznek arra, hogy vltoztassuk a kdszhossz,
zenethossz, kdtvolsg paramterek rtkt az eredeti konstrukcihoz kpest.
Az albbiakban ezen mdszereket tekintjk t rviden.

Kdtfuzs

s a csoms hibk javtsa


Adott C(n; k) kd m-szeres tfuzsvel

egy Cm = C(mn; mk) kdot kapunk,


(i)
olyan mdon, hogy a C kd c ; i = 1; : : : ; m m darab kdszavt egy m  n dimenzis mtrixba rendezzk soronknt, s a Cm tfuzses kd c kdszavt ezen
mtrix oszlapainak sorrendben val kiolvassval kpezzk. Azaz a kdszavakat
(komponens szavakat) fsu mdon egymsba toljuk:


(1)

(2)

c = c0 ; c0

;:::;

(m)

c0

(1)

(2)

c1 ; c1

;:::;

(m)

c1

;:::;

(1)

cn

(2)

cn

;:::;

(m)

cn

(4.21)

Lineris kdot tfuzve nyilvn lineris kdot kapunk. Az is knnyen lthat,


hogy ha d a C kd kdtvolsga, akkor a Cm tfuzses kd tvolsga is d marad. Lineris C kdot tekintve legyen c(i) ; i = 1; : : : ; m sorozat egyik kdszavnak
slya d, mg a tbbi kdsz legyen a zrus kdsz. ltalnos esetben tekintsk
C kdbeli kdszavak c(1;i) ; i = 1; : : : ; m, c(2;i) ; i = 1; : : : ; m kt sorozatt, ahol
c(1;1) s c(2;1) tvolsga d, mg c(1;i) = c(2;i) ; i = 2; : : : ; m. (A CD pldjban
m = 2; n = 28; k = 24.)

4.10. KDKOMBINCIK

231

Ciklikus kdot tfuzve ciklikus kdot kapunk. Legyen S az egyszeri ciklikus


jobbra lptets opertora. Knnyen ellenorizheto, hogy a (4.21) szerinti c kdsz
Sc ciklikus eltolsa az Sc(m) ; c(1) ; c(2) ; : : : ; c(m 1) sorozat tfuzsnek felel meg, s
mivel Sc(m) 2 C, ezrt Sc 2 Cm is fennll. A C s a Cm kdok genertorpolinomja
kztt egyszeru kapcsolat ll fenn:
4.25. ttel. Ha g(x) a C kd genertorpolinomja, akkor g(xm ) a Cm kd genertorpolinomja.
B IZONYTS : Mivel g(x) mint genertorpolinom a C kd egyben legkisebb fokszm nemzrus fopolinom kdszava, ezrt a c(1) (x) = g(x); c(2) (x) =
0; : : : ; c(m) (x) = 0 sorozat tfuzsvel kaphat kdsz polinom alakban g(xm ), a
Cm kd legkisebb fokszm nemzrus fopolinom kdszava, azaz genertorpolinomja.
Mint lttuk, a kdtvolsg nem vltozik tfuzs sorn, ami azt jelenti, hogy a
Cm tfuzses kd szoksos kpessgei (vletlen hibk javtsa, trlsjavts, detekcis kpessg) romlanak az tfuzssel, hiszen ezen kpessgek m-szeres kdszhosszon rvnyesek. Ha valaki itt arra gondolna, hogy pldul az egyes komponensszavak javtkpessge nem vltozott, s gy a teljes javt kpessg a komponensek m-szeresnek tunik, az ott hibzik, hogy t javtkpessg azt jelenti,
hogy tetszoleges t pozciban eshet hiba, nem pedig azt, hogy az a komponens
szavaknak megfeleloen kerl sztosztsra. Ezen a ponton felmerl a termszetes krds: egyltaln mire j akkor az tfuzs? A vlasz: hibacsomk javtsra.
A hibavektor egy l hosszsg szegmense hibacsom l hosszal, ha a szegmens elso s utols karaktere nem zrus. Egy kd l hosszsg hibacsomt javt,
ha minden legfeljebb l hosszsg hibacsom javthat.
4.26. ttel. A Cm tfuzses kd m  t hosszsg hibacsomt javt, ahol t a C kd
javtkpessge.
B IZONYTS : A (4.21) szerinti c kdszban egy legfeljebb m  t hosszsg hibacsomnak megfelelo hibzs a komponens szavakban legfeljebb t szm hibt
okozhat, amit azok javtani kpesek. (A t = 2 esetet szemllteti a 4.6. bra.)
Egy tetszoleges lineris C(n; k) kd n; k paramtere alapjn a kd l hibacsomjavt kpessgre az albbi egyszeru korlt adhat:
4.27. ttel.
 Egy C(n; k) lineris kd l hibacsomjavt kpessgre fennll, hogy
n k
l 2 .

232

4. H IBAJAVT KDOLS
1. kdsz
2. kdsz

..
.

m. kdsz

4.6. bra. Kdtfuzs t = 2 esetn.


B IZONYTS : Tekintsnk egy tetszoleges nemzrus kdszt, s abban a leghoszszabb, nemzrussal kezdodo, s nemzrussal vgzodo rszsorozatot (a tovbbiakban csomrszsorozat). Tegyk fel, hogy az sszes nemzrus kdszt tekintve a
legrvidebb ilyen rszsorozat hossza b + 1. Ekkor egy adott kdszpozciban
kezdodo, legfeljebb b hossz hibacsomknak megfelelo hibavektorok a standard
elrendezsi tblzatban klnbzo sorokba (mellkosztlyokba) kell, hogy essenek, ellenkezo esetben kt ilyen hibavektor klnbsge kdsz lenne, ami ellentmondsra vezetne. Mivel a tblzat sorainak szma qn k , tovbb a klnbzo
legfeljebb b hossz hibacsomk szma qb , ezrt qb  qn k , ahonnan b  n k
addik. Teht van olyan kdsz, amelyben a leghosszabb csomrszsorozat hoszsza legfeljebb n k + 1. Ha ezen kdsz ezen csomrszsorozatt sztvgjuk kt
rvidebb csomrszsorozatra, akkor az azoknak megfelelo hibavektorok azonos
mellkosztlyba kell, hogy essenek, hiszen ezen vektorok sszege kdsz, kvetkezskppen csak egyikk vlaszthat mellkosztly-vezetonek, vagyis javthat
hibamintnak. Innen mr kvetkezik, hogy garantlhatan legfeljebb az b n 2 k
hossz hibacsomk javthatk.
A ttelbeli korlt Reiger-korlt nven ismert. Azokat a hibacsom javt kdokat, amelyre l = b n 2 k fennll, Reiger-optimlisnak hvjuk.
M EGJEGYZS : Egy MDS tulajdonsg lineris kd Reiger-optimlis.
4.14. plda. A g(x) = (x + 1)(x3 + x + 1) = x4 + x3 + x2 + 1 genertorpolinom
C(7; 3; 4); GF (2) kd hibacsomjavt kpessge l = 2, azaz Reiger-optimlis.
Ennek egy praktikus ellenorzsi mdja az, hogy megmutatjuk, hogy az xi ; i =
0; : : : ; 6 s xi + xi+1 ; i = 0; : : : ; 5 polinomok osztsi maradkai klnbzoek a g(x)
genertorpolinomra.

233

4.10. KDKOMBINCIK
2

(0)

c0

6
(1)
6 c0
6
..
6
.
6
6 (k2 1)
6 c
6 0
6
..
6
4
.
(n

c0 2

1)

(0)

c1

(1)

c1




c k1

c k1

c k1

c k1

(0)
(1)

(0)

c1 2

(k

1)



c k1 2

(n

1)



c k1 2 1

c1 2

(1)




(k

1)
1

c k1 2

(k

1)



(n

1)

c k1 2

(n

1)



(0)

cn1

7
7
7
7
7
7
(k2 1) 7
cn1 1 7
7
..
7
5
.
(1)

cn1
..
.

(n

cn12

1)
1

4.7. bra. A szorzat-kdsz kpzse.

Szorzatkd
Egy C1 (n1 ; k1 ; d1 ) s egy C2 (n2 ; k2 ; d2 ) lineris kd (komponenskdok) felhasznlsval C1  C2 (n1  n2 ; k1  k2 ; d1  d2 ) szorzatkdot kszthetnk, amelynek
kdszavai n1  n2 dimenzis mtrixok, ahol a mtrix sorai C1 kdbeli, oszlopai
C2 kdbeli kdszavak. Szisztematikus komponenskdok esetn a szorzatkdbeli
mtrix-kdsz bal felso k1  k2 dimenzis minorja tartalmazza az zenetet. A
mtrix-kdszavakat soronknt kiolvasva kapjuk a szorzatkd soros kdszavt. A kapott C1  C2 (n1  n2 ; k1  k2 ) kd lineris.
A mtrix-kdsz kpzse a kvetkezokpp trtnik. Az elso k1 oszlopot a
C2 (n2 ; k2 ) kd alapjn szisztematikus kdolssal kapjuk, kiegsztve a k2 hossz
zenetszegmenst n2 k2 hossz paritsszegmenssel (4.7. bra). Az elso k2 sort a
C1 (n1 ; k1 ) kd alapjn szisztematikus kdolssal kapjuk, kiegsztve a k1 hossz
zenetszegmenst n1 k1 hossz paritsszegmenssel. A mtrix jobb als sarkba
kerl a paritsok paritsa, amit mint azt hamarosan beltjuk kpezhetjk
akr az elso k1 oszlop, akr az elso k2 sor paritsai alapjn szisztematikus kdolssal a C2 illetve C1 kdbeli szavakkal. A fenti mdon kpezett szorzatkdot
amelynek sorai illetve oszlopai az alapkdok kdszavai kanonikus elrendezsunek nevezzk.
A paritsok paritsai kpzsvel kapcsolatos albbi gondolatmenetnket illusztrlja a 4.8. bra.
Kpezzk azt a C1  C2 kdbeli kdszt, amelynek zenetmtrixa csak az
(i1 ; j1 ) koordintj helyen tartalmaz nulltl klnbz
o elemet. Ehhez az zenethez kpezzk a C2 illetve C1 kdols szerint a C1  C2 kdbeli kdsz i1 -edik sort s j1 -edik oszlopt. A ktdimenzis paritsszegmens jobb felso illetve bal als
rszmtrixa az i1 -edik sor illetve a j1 -edik oszlop kivtelvel csak 0 elemeket tartalmaz. Innen mr egyszeruen ltszik, hogy a jobb als rszmtrixot megkaphat-

234

4. H IBAJAVT KDOLS
2

i1

-6

i2

i3

6
6
6
6
6
6
6
6
6
6
6
6
4

m m m

m
m

m m m
m m m
6 6

j1

j2

j4

3
7
7
7
7
7
7
7
7
7
7
7
7
7
5

j3

4.8. bra. A paritsok paritsainak kpzse.


juk, akr az (i2 ; j1 ) illetve (i3 ; j1 ) elemekbol C2 kd szerinti, akr (i1 ; j2 ); (i1 ; j3 )
illetve (i1 ; j4 ) elemekbol C1 kd szerinti kdolssal. S miutn a C1  C2 kd lineris, ezrt tetszoleges zenetmtrix szorzatkd kdszt a 4.8. brn is illusztrlt
elem-kdszavakbl koordintnknt vett sszeadssal kpezhetjk.
Annak igazolsa, hogy a szorzatkd kdtvolsga a komponens kdok tvolsgainak szorzata, a minimlis nemzrus sly, azaz d1  d2 sly kdsz elolltsval trtnhet. Vlasszunk ehhez egy-egy minimlis sly kdszt a C1 illetve
C2 kdbl, amelyeket jelljn c0 illetve c00 , ekkor egy minimlis sly mtrixkdsz az i-edik sorban a c00 kdszt tartalmazza, ha c0 i-edik komponense 1,
egybknt a csupa zrus kdsz kerl a sorba. Az, hogy a kapott kdsz minimlis sly, onnan lthat, hogy ha nem minimlis sly c00 kdszt helyeznnk el
valamelyik sorba, akkor tbb nemzrus oszlopot kellene elhelyezni a mtrixban a
C1 kdszavai kzl s viszont.
4.15. plda. Az egyik legismertebb s egyben legegyszerubb konstrukcij hibajavt kd a ktdimenzis paritskd. Ez egy C  C szorzatkd, ahol a C komponenskd (n; n 1; 2) paramteru egy paritsbittel rendelkezo, egy hibt jelzo
binris kd. A kapott szorzatkd kdtvolsga 4, azaz egyszeru paritsbites konstrukcival 1 hiba javtsra vagy 3 hiba jelzsre alkalmas kdot kaptunk.
A mtrix-kdszban a komponens kdszavak eredeti elrendezse a kanonikus elrendezs. Ha a C1 ; C2 komponenskdok ciklikusak, akkor egy msfajta
mtrixbeli elrendezssel, az gynevezett ciklikus elrendezssel elrhetjk, hogy
a soronknti kiolvasssal kapott kdsz ciklikus legyen. Ha a C1 (n1 ; k1 ; d1 ) s

235

4.10. KDKOMBINCIK

adat
be

C2
klso
kdol

C1
belso
kdol

csatorna

C1
belso
dekdol

kdol

C2
klso
dekdol

-adat
ki

dekdol

4.9. bra. Kaszkd kdol.


C2 (n2 ; k2 ; d2 ) komponenskdok n1 s n2 szhosszai relatv prmek, akkor a kanonikus mtrixbeli pozcikat gy rendezzk t, hogy az n1  n2 dimenzis mtrix
(u; v); 0  u < n1 ; 0  v < n2 koordintj eleme az (u0 ; v0 ); 0  u0 < n1 ; 0  v0 < n2
pozciba kerljn, ahol u0 = u  n2 + v mod n1 ; v0 = u  n2 + v mod n2 . A pozcik ezen megfeleltetse a knai maradkttel (lsd a kvetkezo fejezetben) miatt
egyrtelmu a relatv prm szhosszak esetn.

Kaszkd kdok
Vegynk egy C1 (n1 ; k1 ; d1 ) GF(q) feletti s egy C2 (N2 ; K2 ; D2 ) GF(qk1 ) feletti lineris kdot, amelybol az albbi mdon generlhatjuk a szisztematikus,
C(n1 N2 ; k1 K2 ; d ) paramteru GF(q) feletti kaszkd kd kdszavait. A k1 K2 hoszsz zenetet osszuk fel K2 , egyenknt k1 hossz szegmensre. A C2 kd egy k1
hossz zenetszegmenst egy zenetkarakternek vesz, s K2 ilyen karakter alkot
szmra egy zenetszegmenst, amelybol N2 karakter hosszsg kdszt kpez
N2 K2 paritskarakternek az zenethez val illesztsvel. A C2 -beli kdsz elkszlte utn a kdsz mindegyik koordintjt a C1 kd kdolja jra k1 hoszszsg zenetknt rtelmezi, s n1 k1 paritskarakterrel kiegszti. gy kapjuk
az n1 N2 hossz kdszt, ami a kaszkd kd adott k1 K2 hossz zenethez tartoz
kdszava. A kaszkd kd kdtvolsga d  d1 D2 .
A C1 kdot belso, a C2 kdot klso kdnak is nevezik. A kd az elnevezst onnan kapta, hogy a klso kd kdoljnak s a belso kd kdoljnak a
kaszkdba ktse kpezi a generlt kd kdoljt (4.9. bra).
A dekdols sorn eloszr a C1 kdszavakat dekdoljuk, majd rtelemszeruen, a C1 kdszavai paritsszegmensnek trlse utn a C2 kdsz dekdolst
vgezzk el.
A kaszkd kdok igen alkalmasak az egyttes csoms s vletlen hibk javtsra, ahol a csoms hibkat a C2 kd, a vletlen hibkat a C1 kd javtja elsosorban. A C2 kd egy karakternek tetszoleges meghibsodsa legfeljebb k1 mretu q-ris hibaszmnak felel meg. Ugyanakkor ritka egyedi hibk javtsa C1 -beli
kdszavakban knnyen elvgezheto, mg ezen egyedi hibk C2 -beli karakterszintu
javtsa pazarls lenne.

236

4. H IBAJAVT KDOLS

4.11. Kdmdostsok
Rvidtett kd
Egy C(n; k) kd rvidtsvel egy C(n i; k i); 1  i < k kdot kapunk olyan
mdon, hogy a C(n; k) szisztematikus kd kdszavai kzl csak azokat hagyjuk
meg, amelyek az elso i karaktern zrust tartalmaz zenetekhez rendeltek. Ekkor a C(n; k) kd i karakterrel trtno rvidtsrol beszlnk. Mivel a rvidtett
kd kdszavai a C(n; k) kd kdszavai is egyben, ezrt a rvidtett kd minimlis
tvolsga legalbb akkora, mint az eredeti kd volt. Praktikusan termszetesen
a kdol s a dekdol gy van kikpezve, hogy az elso i zrus karaktert nem is
tovbbtjuk, s a dekder zrusnak tekinti azokat. A kdrvidts elsodleges clja
a kdhossznak az alkalmazsbeli paramterekhez val igaztsa.

Paritsbittel bovts
A paritskarakterrel trtno kiegszts utn a C(n; k) binris lineris alapkdbl egy Cb(n + 1; k) lineris kdot kapunk, amelynek a minimlis tvolsga
az alapkd d minimlis tvolsgval azonos, ha d pros, illetve d + 1 lesz, ha d
pratlan. A HCb paritsmtrix HC ismeretben az albbi alak:
0
B
B
B
HCb = B
B


1 1



1
HC

1
0C
C
.. C
.C

(4.22)

C
0A

0
4.16. plda. Adjuk meg a C(7; 4) Hamming-kd Cb(8; 4) paritsbittel bovtett kdjnak paritsmtrixt. Az x3 + x + 1 genertorpolinom Hamming-kd bovtsvel a (4.22) kplet alapjn
0

1
B0
HCb = B
0
1

1
0
1
0

1
1
0
0

1
0
1
1

1
1
1
0

1
1
1
1

1
1
0
1

1
0C
C:
0A
0

A kapott Cb(8; 4) kd nyilvn nem ciklikus, pldul a (10001101) a Cb kdszava,


de (11000110) mr nem az. A bovtett kd minimlis tvolsga 4, ezrt 3 vletlen
hiba detektlsra alkalmas.

4.12. R EED S OLOMON - KDOK

237

DEKDOLSA

4.12. ReedSolomon-kdok dekdolsa


Tekintsnk egy (n; k) paramteru GF(q) feletti lineris kdot. Egy c kdsz kldsekor s v sz vtelekor az e = v c hibavektorra s s szindrmra
sT

= Hv = H(c + e) = Hc + He = He

teljesl.
Ezen egyenlosg alapjn az n hossz e hibavektor rekonstrukcijhoz az n k
hossz s szindrma ll rendelkezsre. A vett szhoz legkzelebbi kdszba javtskor egy lineris egyenletrendszer egy specilis tulajdonsg, mgpedig a legkisebb sly megoldst keressk. A minimlis sly e = (e0 ; e1 ; : : : ; en 1 ) hibavektor rekonstrukcijhoz a kvetkezo ismeretlenek feldertsre van szksg:





a hibk szma: t,
a hibk helye: 0  i1 < i2 <  < it

n

1,

a hibk rtke: ei1 ; ei2 ; : : : ; eit .

Ha csak trlses hibnk van, akkor ismerjk a hibk szmt s a hibahelyeket, csupn a hibartkeket kell megtallni. A ReedSolomon-kdok 4.1. s 4.2.
konstrukcija kapcsn ppen a trlses hibk lehetsges maximlis szmnak kidertsvel bizonytottuk, hogy a ReedSolomon-kd maximlis tvolsg. Ezt
gy tettk, hogy az
uG = c
egyenletrendszer azon rszrendszert tudtuk megoldani, amely a nem trlt pozcik halmaznak felelt meg. Ilymdon persze kzvetlenl az u zenetvektort
kaptuk meg. Annak rdekben, hogy az ltalnos hibajavtsi feladat harmadik
komponensre adott megolds alapelvt megrtsk, vizsgljuk meg a trlses hibk javtst, mgpedig a hibartkek megllaptst a ReedSolomon-kdok 4.3.
konstrukcijakor, amikor a kdot a
HcT

=0

paritsegyenlet megoldsainak a halmaza adta, ahol


0
B
B


H=B

1
1
..
.

n k

2
4



..

2(n k)



n
2(n
..
.
(n

1
1)

k)(n 1)

1
C
C
C:
A

238

4. H IBAJAVT KDOLS

A vett sz trlses pozciiba rjunk 0-t, s az gy kapott v sz esetn szmtsuk


ki az sT = HvT szindrmt. Ekkor az e hibavektort az
sT

= He

egyenlet megoldsa adja. Vezessk be a kvetkezo jellseket:


s = (s 1 ; s 2 ; : : : ; s n

k)

X j = i j
Y j = ei j
1; 2; : : : ; t ). X j -t a j-edik hibahely loktornak nevezzk, mert szerinti
logaritmusa a hibahely. Az sT = HeT egyenletrendszer l-edik egyenlete
(j =

n 1

ei li = ei li
j

i=0

= sl ;

l = 1; 2; : : : ; n

k;

j=1

vagy az j jellseinkkel
t

Y j X jl = sl

l = 1; 2; : : : ; n

k:

j=1

Tudjuk, hogy H minden (n k)  (n k) mretu ngyzetes rszmtrixa invertlhat (lsd a 4.15. ttel utni megjegyzst), sot t  n k esetn annak bal felso
t  t-es rszmtrixa is invertlhat, teht t  n k esetn az egyenletrendszernknek egyrtelmu megoldsa van, amennyiben X1 ; X2 ; : : : ; Xt klnbzok.
4.7. lemma. Legyen
0

At

B
B


=B

X1 X2
X12 X22
..
..
.
.
X1t X2t




Xt
Xt2
.
..
. ..
 Xtt

1
C
C
C;
A

St = (s1 ; s2 ; : : : ; st ) s Yt = (Y1 ; Y2 ; : : : ; Yt ). Ha X1 ; X2 ; : : : ; Xt mind klnbzoek, s


t  n k, akkor At invertlhat, azaz az
At YtT

= St

egyenletnek van egyrtelmu megoldsa. Ha X1 ; X2 ; : : : ; Xt nem mind klnbzoek,


akkor At nem invertlhat.

4.12. R EED S OLOMON - KDOK

239

DEKDOLSA

B IZONYTS : A lemma elso felt az elozoekben igazoltuk. A msodik fele azrt


igaz, mert ekkor az At -nek van legalbb kt egyforma oszlopa.
Tekintsk ezek utn az ltalnos hibajavtsi feladatot! Ekkor is ugyanabbl
az egyenletbol indulunk ki:
t

Y j X jl = sl

l = 1; 2; : : : ; n

k:

j=1

Most az ismeretlenek:

 t,
 X1 X2
 Y1 Y2
;

;:::;

;:::;

Xt ,

Yt ,

teht egy 2t + 1 ismeretlent tartalmaz, n k egyenletbol ll, nemlineris egyenlettel van dolgunk. Ennek a megoldsa elsore nem tunik egyszeru feladatnak.
Megmutatjuk, hogy ez visszavezetheto kt lineris egyenletrendszer megoldsra,
melyek kzl a msodikat a csak trlses hiba kapcsn az elobb mr megismertk.
Az elso egyenletrendszernek kell produklnia t-t s a hibahelyeket.
Vezessk be a hibahelypolinomot:
t

L(x) = (1

xXi );

i=1

melynek egytthati 1; L1 ; : : : ; Lt , azaz L(x) = 1 + L1 x +  + Lt xt . L(x)-et azrt


nevezzk hibahelypolinomnak, mert a gykei a hibaloktorok inverzei: X1 1 ;
X2 1 ; : : : ; Xt 1 . Ha megtalltuk az L(x) polinomot, akkor annak t darab gyke
is meghatrozhat (pldul az sszes nem 0 elem behelyettestsvel), majd azok
inverzei adjk a hibaloktorokat.
Mivel X j 1 az L(x) gyke, ezrt minden l-re s j-re
Y j X jl +t L(X j
teht

Y j X jl

+t

) = 0;

L(X j

) = 0;

j=1

azaz

Yj

j=1

X jl +t + L1 X jl +t

l +t 2

+ L2 X j

 + Lt X jl


= 0;

240

4. H IBAJAVT KDOLS

teht
t

Y j X jl+t + L1 Y j X jl+t

j=1

+ L2

j=1

Y j X jl+t

( l = 1 ; : : : ; t ).

j=1

gy
1 + L2 sl +t 2 +

L1 sl +t

 + Lt Y j X jl = 0

j=1

 + Lt sl =

sl +t

Ha bevezetjk az
0

Ut

B
B


=B

Lt
Vt




s1
s2
..
.

s2
s3
..
.

st

st +1

..

st
st +1
..
.



s2t

C
C
C;
A

= (Lt ; Lt 1 ; : : : ; L1 );

=(

st +1 ; st +2 ; : : : ; s2t )

jellseket, akkor a kvetkezo lineris egyenletrendszerre jutunk:


Ut LtT

= Vt

4.8. lemma. Ur invertlhat, ha r = t . Ur nem invertlhat, ha r > t .


B IZONYTS : Vezessnk be kt mtrixot: az egyik a Vandermonde-mtrix Bi j =
X ji 1 elemekkel
0
1
1
 1 1
B X1
X21  Xr1 C
1
B
C
Br = B ..
.. C ;
..
..
 .
.
. A
.
X1r

X2r



Xrr

ahol r > t esetn Xr = 0. A msik egy diagonlmtrix Di j = Yi Xi i j elemekkel


0
B
B


Dr = B




Y1 X1
0
0
Y2 X2
..
..
.
.
0
0

..



0
0
..
.

1
C
C
C;
A

Yr Xr

ahol i j a Kronecker-szimblum. Akkor Br Dr BTr elemei


T

(Br Dr Br )i j

Xli

i =1

Yl Xl lk Xkj

k =1

4.12. R EED S OLOMON - KDOK

241

DEKDOLSA
r

Xli

Yl Xl Xl

l =1
r

Yl Xli

+j

l =1
s i+ j 1 =

(Ur )i j ;

j 1

teht
Br Dr BTr

= Ur ;

ezrt
det (Br ) det (Dr ) det (BTr ) = det (Ur ):

Ha r > t, akkor det (Dr ) = 0, ezrt det (Ur ) = 0. Ha r = t, akkor det (Dr ) 6= 0,
msrszt det (Br ) 6= 0 a 4.7. lemma miatt, ugyanis X1 ; X2 ; : : : ; Xt klnbzok, s
det (Ar ) = det (Br )  X1  X2  : : :  Xt . Ekkor viszont det (Ur ) 6= 0, teht Ut invertlhat.
4.28. ttel (PetersonGorensteinZierler-dekdol).Ha a ReedSolomon-kdok 4.3. konstrukcija esetn a hibk t szmra t  n 2 k , akkor a kvetkezo
algoritmus helyesen dekdol:

1. Szmtsuk ki az s1 ; s2 ; : : : ; sn

szindrmkat!

2. Keressk meg azt a legnagyobb r-et, melyre Ur invertlhat! Ez lesz a t .


3. Oldjuk meg az
Ut LtT

= Vt

egyenletet!
4. Keressk meg az Lt ltal definilt L(x) hibahelypolinom gykeit, majd azok
inverzeit: X1 ; X2 ; : : : ; Xt .
5. Oldjuk meg az
At YtT

= St

egyenletet!
6. Szmtsuk ki a hibahelyeket:
i j = log X j

s a hibartkeket:
ei j

= Yj;

j = 1; 2; : : : ; t :

242

4. H IBAJAVT KDOLS

A 4.28. ttellel nem azt akarjuk mondani, hogy nagy t esetn gy kell dekdolni. Nagy t esetn nem ajnlatos a kt mtrixinverzit vgrehajtani. Ezek helyettesthetok hatkonyabb eljrsokkal. Az elso helyettestsre (2. s 3. lps)
plda a BerlekampMassey-algoritmus, mg a msodikra (5. lps) a Forneyalgoritmus (lsd [10]).
Kis t-re viszont a PetersonGorensteinZierler-dekdol nemcsak egy elvi,
hanem egy gyakorlati eljrs is. Nzzk vgig illusztrciknt a 2 hibt javt
(n; n 4) paramter
u ReedSolomon-kd esett, amelynek digitlis hangtechnikai alkalmazst a 4.6. szakaszban emltettk.
1. Szmtsuk ki az s1 ; s2 ; s3 ; s4 szindrmkat!
2. Ha mind 0, akkor t = 0, s kszen vagyunk. Mivel ez a kd 2 hibt tud
javtani ezrt t  2. Ha det (U2 ) 6= 0, akkor t = 2. Megjegyezzk, hogy


s s
det (U2 ) = det 1 2
s2 s3


= s1 s3

s22 :

Ha det (U2 ) = 0, akkor det (U1 ) 6= 0, mivel felttelnk miatt t legfeljebb 2,


de sem nem 0, sem nem 2, teht t = 1. (Ha det (U1 ) = s1 = 0, akkor ez azt
jelenti, hogy felttelnk nem teljesl, azaz 2-nl tbb hiba volt.)
t = 1 eset:
3. Oldjuk meg az
s1 L1 =

s2

egyenletet: L1 = s2  s1 1
4. Keressk meg az L(x) = 1
X1 = s2  s1 1

s2  s1 1 x hibahelypolinom gyknek inverzt:

5. Oldjuk meg az
Y1 X1 = s1
egyenletet: Y1 = s1 X1

= s21 s2

6. Szmtsuk ki a hibahelyet
i1 = log X1
s a hibartket
e i1
t = 2 eset:

= Y1 :

4.13. R EED S OLOMON - KDOK

3. Oldjuk meg az

243

SPEKTRLIS TULAJDONSGAI

s1 s2
s2 s3



L2
L1


=

s3
s4

egyenletet! Ezt megtehetjk pldul a Cramer-szabllyal:




L2 = det

s3 s2
s4 s3

L1 = det

s1
s2

s3
s4

 det ss12 ss23

 det

s1 s2
s2 s3

 1

s23 )(s1 s3

s22 )

s1 s4 )(s1 s3

s22 )

= (s2 s4

 1
= (s2 s3

4. Keressk meg az L(x) = 1 + L1 x + L2 x2 hibahelypolinom kt gykt, majd


azok inverzeit: X1 ; X2 .
5. Oldjuk meg az
Y1 X1 + Y2 X2 = s1
Y1 X12 + Y2 X22 = s2
egyenletet! (Itt ismt a Cramer-szably egy lehetsges mdszer.)
6. Szmtsuk ki a hibahelyeket
i1 = log X1 ;

i2 = log X2

s a hibartkeket
e i1

= Y1 ;

e i2

= Y2 :

4.13. ReedSolomon-kdok spektrlis


tulajdonsgai
Legyen GF(q)=GF(pm ), ahol p prm. Bevezetve a [GF(q)n jellst a GF(q) (q =
pm , p prm) feletti n hosszsg vektorok halmazra, ahol n j q 1, definiljuk a
[GF(q)n halmaz nmagra trtn
o lekpezst az albbi mdon:
4.27. definci. A c 2 [GF(q)n vektornak egy C 2 [GF(q)n vektorra trtno lekpezse az albbi:
n 1

Cj =

i j ci

i=0

ahol a GF(q) egy n-edrendu eleme.

j = 0; 1; : : : ; n

1;

(4.23)

244

4. H IBAJAVT KDOLS

A (4.23) transzformcit GF(q)-beli Fourier-transzformcinak nevezzk,


gy a c idotartomnybeli vektor frekvenciatartomnybeli megfeleloje (spektruma)
C. A (4.23) transzformci rendelkezik a komplex szmok feletti vektorokon kpzett transzformci tulajdonsgaival. (Komplex vektorok esetn megfeleloje a
komplex n-edik egysggyk.)
1. tulajdonsg: A (4.23) lekpezs klcsnsen egyrtelmu, azaz invertlhat, s az inverz lekpezs a kvetkezo:
n 1

ci = f (n)

ij

i = 0; 1; : : : ; n

Cj;

1;

(4.24)

j=0

ahol f (n) = (n mod p) 1 , s a 1-edik hatvny az (n mod p) GF(p)-beli inverzt


jelli.
Binris test esetn (p = 2) n pratlan, gy ekkor f (n) = 1 eredmnyre jutunk.
Ha primitv elem, akkor n = pm 1, teht f (n) = ( 1 mod p) 1 = ( p 1) 1
mod p. Mivel n j pm 1, ezrt p - n, azaz n 6= 0 mod p, s gy ltezik multiplikatv
inverze mod p.
Mielott magt a tulajdonsgot beltnnk, igazoljuk az albbi lemmt.
4.9. lemma. Ha n-edrendu elem GF(q)-ban, akkor:


n 1

rj

j=0

0;
ha r 6= 0 mod n
n mod p; ha r = 0 mod n

(4.25)

 + x + 1)

(4.26)

B IZONYTS : Helyettestsk az
xn

1 = (x

1)(xn

+x

n 2

azonossg mindkt oldalba r -t. A bal oldalon mindig 0-t kapunk, mivel rendje
n. A jobb oldalon r 6= 0 mod n esetn r 1 6= 0, gy a (4.26) szorzat csak akkor
lehet nulla, ha a msodik tnyezoje 0, azaz ha
n 1

r j = 0

j =0

mg r = 0 mod n esetn r
tnyezo

1, gy az elso tnyezo nulla, s ekkor a msodik

n 1

n 1

j=0

j=0

r j =

1=n

mod p:

4.13. R EED S OLOMON - KDOK

SPEKTRLIS TULAJDONSGAI

245

A 4.9. lemma felhasznlsval most mr egyszeruen belthat az 1. tulajdonsg. Nevezetesen


n 1

ij

n 1

Cj

n 1

i j k j ck =

j=0

j=0

=
=

k=0

n 1

n 1

k=0

j=0

ck k
(

i) j

f (n) 1 ci :

(4.27)

2. tulajdonsg: rvnyes a konvolcis ttel albbi megfeleloje: ha az e; f; g 2


[GF(q)n vektorokra
e i = f i gi ;

i = 0; 1; : : : ; n

(4.28)

fennll, akkor a spektrumaikra


n 1

E j = f (n) F( j

k) mod n Gk :

(4.29)

k=0

B IZONYTS : (4.28) figyelembevtelvel kpezzk e transzformltjt:


n 1

Ej

i j f i gi =

i=0
n 1

n 1

i j fi f (n)

i=0

n 1

f (n) Gk
k=0
n 1

k =0
n 1

j
(

ik

Gk =

k)i

fi =

i=0

f (n) Gk F( j

k) mod n :

k=0

Ezzel az lltst belttuk.


A (4.29) szerinti konvolcit ciklikus konvolcinak nevezzk s E = F  G
mdon jelljk. A fenti levezetst fordtott sorrendben elvgezve lthatjuk, hogy
a 2. tulajdonsg megfordtva is igaz, azaz (4.29)-bol (4.28) is kvetkezik.
A tovbbiakban az egyszerusg kedvrt q = 2m elemszm testet (azaz 2
karakterisztikjt) tteleznk fel, s ekkor f (n) = 1. A c = (c0 ; c1 ; : : : ; cn 1 ) vektorhoz rendelt c(x) = c0 + c1 x +  + cn 1 xn 1 polinomhoz tartoz, C vektorral
kpzett C(x) = C0 + C1 x +  + Cn 1 xn 1 polinomot spektrumpolinomnak nevezzk.

246

4. H IBAJAVT KDOLS

4.29. ttel. A c(x) polinomnak i akkor s csak akkor gyke, ha Ci = 0 illetve a


C(x) polinomnak i akkor s csak akkor gyke, ha ci = 0.
B IZONYTS : A (4.23), (4.24) egyenletek felhasznlsval
c(i ) = c0 + c1 i +  + cn 1 (n
C(

) = C0 + C1

 + Cn

1)i

= Ci

(n

1)i

= ci

ahonnan az llts kzvetlenl addik.


Legyen az (n; k) paramteru GF(q) feletti RS-kd genertorpolinomja g(x),
ahol n j q 1. Ekkor a c(x) kdsz c(x) = u(x)g(x) alakban llthat elo, ahol
deg u(x)  k 1.
A tovbbiakban egy r(x) = r0 + r1 x +  + r j x j j-edfok polinomhoz rendeljnk egy n hossz r vektort, amely legyen a kvetkezo: r = (r0 ; r1 ; : : : ; r j ; 0; : : : ; 0).
Ezt s a polinomszorzs szablyt figyelembe vve egyszeruen belthat, hogy
c; g s u vektorokkal
ci =

n 1

j =0

j=0

gi j u j =

gi
(

j) mod n u j

(4.30)

i = 0; 1; : : : ; n 1. (4.30)-ban felismerve a c = g  u konvolcit, a konvolcis


ttel alapjn a C; G; U spektrumokra a
Cj = G j Uj

(4.31)

sszefggs rvnyes.
Legyen g(x) = (x 1)(x )  (x n k 1 ) az RS-kd genertorpolinomja,
ahol a GF(q) egy n-edrendu eleme. Ekkor 1; ; : : : ; n k 1 minden c(x)-nek
gyke, ezrt tetszoleges u zenethez tartoz c kdsz C spektrumban a 4.29.
ttel felhasznlsval
C0 = C1 =  = Cn k 1 = 0
(4.32)
zrus spektrumkomponensek addnak. RS-kdot generlhatunk olyan ravasz mdon, hogy eleve garantljuk azt, hogy a kdszspektrumok teljestsk a (4.32)
tulajdonsgot, s a spektrum tovbbi komponenseit az zenetektol fggoen klnbzokre vlasztjuk. A tnyleges idotartomnybeli kdszavakat ezen mestersgesen sszelltott spektrumok inverz Fourier-transzformltjainak vlasztjuk. gy,
ha egy
(4.33)
C = (0; 0; : : : ; 0; u0 ; u1 ; : : : ; uk 1 )
|

{z

n k

4.13. R EED S OLOMON - KDOK

zenetszegmens
betltse

247

SPEKTRLIS TULAJDONSGAI

n k 0-val
kiegszts

inverz
transzformci

4.10. bra. Transzformcis kdols.


vektort spektrumtartomnybeli vektorknt fogjuk fel, akkor az idotartomnybeli c
megfeleloje egy kdsz. Ezen kdolst transzformcis kdolsnak nevezzk.
A kdols ekkor teht a 4.10. brn lthat blokkvzlat szerinti.
A ReedSolomon-kdok dekdolsnak tbb mdszere ismeretes. A PetersonGorensteinZierler-algoritmus GF(q) feletti mtrixok invertlst ignyli
(lsd a 4.12. szakaszt). Ez az eljrs nhny hibt javt kd esetn szmtsigny szempontjbl mg elfogadhat. A koncepci szempontjbl jval bonyolultabb BerlekampMassey-algoritmus (BerMas) iteratv eljrst ad, ahol az iterci lpsei azonosak s egyszeruek. Nvekvo hibajavtkpessg esetn egyre
kedvezobb a szmtsigny a mtrixinvertlshoz kpest. Az albbiakban az n.
transzformcis-kdolsidekdolsi technikt mutatjuk be.
Tegyk fel, hogy a v = c + e vett szban az i1 ; i2 ; : : : ; it pozcikban t szm
hiba keletkezett, azaz a hibapolinom:
e(x) = ei1 xi1 +  + eit xit :

(4.34)

Az (n; k) paramteru RS-kd 2t  n k teljeslse esetn kpes a hibk kijavtsra. A tovbbiakban a t jellst az aktulis, mg a tmax jellst a maximlisan javthat hibk szmra hasznljuk. Az egyes hibkat a helyk s rtkk
definilja (azaz i j s ei j ). A dekdols albbiakban lert mdszerben eloszr
megkeressk a hibahelyeket felptve a hibahelypolinomot majd ennek felhasznlsval generljuk a hibavektort, s ennek kivonsval elvgezzk a vett sz
javtst.
Az
t

L(x) = (1
j=1

i j x) = 1 + L1 x +  + Lt xt

(4.35)

hibahelypolinom egytthatit a rjuk mint ismeretlenekre vonatkoz megfelelo


szm lineris egyenletbol ll egyenletrendszer megoldsaknt kapjuk. Ezen
egyenletrendszer levezetst ismertetjk eloszr.
1. lps: Szindrmaszmts
A v = c + e vektor Fourier-transzformltjt kpezve a
V = C+E

(4.36)

248

4. H IBAJAVT KDOLS

spektrumot kapjuk, ahonnan (4.32) felhasznlsval


Vj = E j;

j = 0; 1; : : : ; n

(4.37)

addik, azaz a V spektrum elso n k komponense szindrma.


2. lps: A hibahelypolinom kiszmtsa
Az L(x) hibahelypolinom defincijbl kvetkezoen L( i j ) = 0, j = 1; 2; : : : ;
t. Innen kvetkezik, hogy az L = (1; L1 ; L2 ; : : : ; Lt ; 0; : : : ; 0) n-hosszra kiegsztett
vektor l inverz Fourier-transzformltjban a hibahelyeknek megfelelo pozcij
elemek is nullelemek. Ezen jellsekkel az
li = 0

! ei 6= 0

(4.38)

klcsnsen egyrtelmu megfeleltetst kapjuk. Innen kvetkezik, hogy


l i  e i = 0;

i = 0; 1; : : : ; n

1;

(4.39)

amit a konvolcis ttel felhasznlsval az


LE = 0

(4.40)

ekvivalens alakba rhatunk. A (4.40) egyenlet ekvivalens a


t

L jE i
(

j) mod n =

0;

i = 0; 1; : : : ; n

(4.41)

j=0

egyenletrendszerrel. Mivel maximlisan tmax hiba javtsra kszlnk fel, azaz


amikor t  tmax , ezrt helyettestsk a t vltozt a tmax fix rtkkel a (4.41) egyenletrendszerbe, Lt +1 =  = Ltmax = 0 definci mellett, majd a (4.41) egyenletrendszerbol az albbi tmax egyenletet emeljk ki
tmax

L j Ei

j=

0;

i = t ; t + 1; : : : ; 2t

1:

(4.42)

j=0

A feladat ezek utn a (4.42) egyenletrendszer megoldsa azzal a megktssel,


hogy az L(x) megolds minimlis fokszm legyen.
A (4.42) alak egyenletrendszerbol kiindulva szoksos egyenletrendszer megoldssal (mtrixinvertlssal) dolgozik a PetersonGorensteinZierler- (PGZ) dekder.
A feladat azonban ms ton is megoldhat. A (4.41) egyenletrendszer ekvivalens mdon megadhat egy linerisan visszacsatolt shiftregiszteres lerssal.
Ehhez feleleventjk a 4.8. szakasz vgn bevezetett a linerisan visszacsatolt
shiftregisztereket (LFSR) a 4.11. bra segtsgvel.

4.13. R EED S OLOMON - KDOK

sj =

( f1 s j 1 + f2s j 2 +

6f 6f

sj

sj

sj

249

SPEKTRLIS TULAJDONSGAI

 + fLs j

L)

6f



sj

:::;

s1 ; s0

Ej

t ; : : : ; E0

4.11. bra. LFSR.


t

E j = Lm E j

6L

Ej

6L

Ej

m=1

6L

Ej



Ej

4.12. bra. A szindrmkat generl LFSR.


Az ottani jellseknek megfeleloen h f (x); Li jelli az LFSR-t. A mostani feladatunkban hL(x); t i LFSR generlja a szindrmk E0 ; E1 ; E2 ; : : : ; En 1 , E0 ; E1 ; : : :
periodikus sorozatt, ha az LFSR-t az E0 ; E1 ; : : : ; Et 1 kezdeti rtkbol indtjuk.
Ez a generls teht a (4.41) egyenletrendszernek az
Ej =

(L1 E j 1 + L2 E j 2 +

 + Lt E j

t)

(4.43)

rekurziba trtno trst jelenti, ahol j tetszoleges egsz szm s E j = E j mod n .


A (4.43) lineris rekurzinak megfelelo LFSR generlst szemlltetjk a 4.12.
brn.
Az hL(x); t i LFSR egyben egyrtelmu, minimlis regiszterhossz az sszes
olyan LFSR-ek kzl, amelyek generljk a periodikusan kiterjesztett szindrmasorozatot. Ez abbl lthat be, hogy a (4.43) rekurzi alapjn felrhat
0
B
B
B


E0
E1
..
.
Et

E1
E2
1

Et




10

Et 1
Lt
Et
BLt 1 C B Et +1 C
Et C
CB
C B
C
.. C B .. C = B .. C
..

A
A

.
.
.
. A
 E2t 2 L1
E2t 1

(4.44)

250

4. H IBAJAVT KDOLS

egyenletrendszerben a bal oldali, szindrmkat tartalmaz mtrix invertlhat, s


az egyenletrendszernek a tnyleges hibavektorhoz tartoz hibahelypolinom egy
megoldsa. Azon egyenletrendszereknek, amelyeket gy kapunk, hogy a (4.44)
egyenletrendszerben a szindrmk indext j = 0; 1; : : : ; 2(tmax t ) rtkkel nveljk, szintn egyrtelmu, minimlis megoldsa a tnyleges hibahelypolinom, ha
t  tmax fennll.
A dekdols sorn csak az Ei (= Vi ), i = 0; 1; : : : ; 2tmax 1 szindrmk adottak. A shiftregiszter-szintzis feladat azon minimlis t 0 fokszm hL0 (x); t 0 i LFSR
meghatrozsa, amely az E0 ; E1 ; : : : ; Et 0 1 kezdollapotbl elindtva generlja a
tovbbi Et 0 ; Et 0 +1 ; : : : ; E2tmax 1 elemeket is.
A fentiekben lttuk, hogy amennyiben t  tmax , akkor a szintzis az L0 (x) =
L(x), t 0 = t megoldsra vezet. A minimlis fokszmra trekvs megfelel a PGZdekdolsnl a szindrmkbl alkotott tmax  tmax mretu mtrix legnagyobb invertlhat fominorja megkeressnek. A BerlekampMassey shiftregiszter szintzis eljrsnl a mtrixinvertls helyett egy jval kisebb szmtsignyu, iteratv
algoritmussal lltjuk elo a hibahelypolinomot.
3. lps: A rekurzv kiterjeszts
Az E2tmax ; : : : ; En 1 komponenseket a (4.30) alapjn az
t0

Ei =

L0j Ei

j;

i = 2tmax ; : : : ; n

(4.45)

k=1

rekurzv kiterjesztssel lltjuk elo a 2. lpsben meghatrozott L0 (x) valamint


E0 ; : : : ; E2tmax 1 felhasznlsval.
Ezutn a
C=V E
(4.46)
kivonssal kapjuk meg C-t, amelynek szegmense az u zenet.

4.14. A konvolcis kdols alapfogalmai


A blokk- illetve a konvolcis kdok a hibajavt kdok kt nagy osztlyt alkotjk. Az egyszerubb matematikai lerhatsg miatt a bevezeto jellegu tanknyvek elsosorban a blokk-kdokat rszletezik, foleg azrt, mert azokon jl bemutathatk a hibajavts alapfogalmai s lpsei, msrszt pedig azrt, mert ltvnyos algebrai struktrk (pl. Galois-testek elmletnek alapelemei) s optimlis
csatornakd-kontrukcik lteznek a blokk-kdok krben.
A konvolcis kdok lersa nem ilyen egyszeru, s a kdoptimalizls is elsosorban szmtgpes keressen, s nem konstrukcis tteleken alapszik. A praktikus paramtertartomnyok esetre ismeretes a j kdok listja.

4.14. A

KONVOLCIS KDOLS ALAPFOGALMAI

251

A blokk-kdok algebrai dekdolsi algoritmusai olyan vett blokkokat kpesek


csak feldolgozni, amelyek elemei ugyanazon halmazbl valk (tipikusan GF(2)vagy GF(q)-beliek), mint amelybol a kdszavak veszik elemeiket, legfeljebb a
trls szimblum engedett meg ezen fell a vett blokkokban. A konvolcis kdok esetn a csatorna kimeneti bc ennl lnyegesen bovebb halmaz lehet. A
konvolcis kdok n. soft-dekderei (pl. Viterbi-dekdols, szekvencilis dekdols) megengedik, hogy a csatorna kimeneti bc elemei tetszoleges vals
szmok (mrsi mintk) legyenek.
Ltezik optimlis (maximum-likelihood, ML), implementlhat (szmtsignyben gazdasgos) dekdolsi algoritmus a konvolcis kdokra, az n. Viterbidekdols. Termszetesen az ML dekdols elvileg a blokk-kdok esetn is elvgezheto, de a blokk-kdok esetn az exponencilis (adott kdol mellett egy
rvidtett kd zenethosszval exponencilisan nvekvo) bonyolultsg kimerto
keressnl kisebb komplexits ML dekder nem ismeretes mg specilis kdosztlyokra sem. Ezzel szemben a Viterbi-dekdols komplexitsa adott kdol mellett az zenethosszal kzel linerisan nvekvo.
A konvolcis kdok alkalmazsval lehetov vlik a modulci s a csatornakdols illetve a demodulci s a csatornadekdols egyttes tervezse. gy
a konvolcis kd struktrk napjainkban nemcsak a hibajavt kdolsban, hanem pldul korszeru modulcisdemodulcis eljrsokban, diszperzv csatornn trtno megbzhat adattvitelben (csatornakiegyenlts) is felhasznlsra kerlnek.

A lptetoregiszteres kdol
A forrs bitfolyamt k bites szegmensekre, n. zenetkeretekre bontjuk. A
kdol m zenetkeretet trol lptetoregiszterben, azaz egy idoegysg alatt egy j
zenetkeretet lptetnk a regiszterbe, a legrgebbi trolt keret kilp abbl, s azt
eldobjuk. Az idoegysg kezdetn a bemenetre rkezett j keret valamint a trolt
m keret alapjn a kdol kiszmt egy kdszkeretet, amely n bit hosszsg. A
kdszkeretet kilptetjk a kdolbl (4.13. bra).
Az R = nk arnyt kdsebessgnek nevezzk. A bitekben kifejezett regiszterhossz + 1 (= (m + 1)k) a lptetoregiszteres kdol knyszerhossza. Egy, a
kdolhoz rkezo zenetbit maximum (m + 1)k forrsbitnek megfelelo hosszon
befolysolhatja a kdol outputjt. Az (m + 1)n mennyisg neve blokkhossz,
mely megmutatja, hogy egy forrsbit maximlisan hny csatornabitnek megfelelo
hosszon befolysolja a kdol outputjt. Az ismertetett konstrukci eredmnye
egy (n; k) fa-kd; a lptetoregiszteres kdol bemenetre vezetve az sszes lehetsges flig vgtelen hossz input bitsorozatot, a kimenetn megjelenik az sszes

252

4. H IBAJAVT KDOLS

k bit



? ?

logika

n bit

4.13. bra. Lptetoregiszteres kdol.

6
ui

ui

x2i

ui

-1

? - +?- +? x

mm

P/S

:::;

x3 ; x2 ; x1

2i

4.14. bra. Konvolcis kdol.


klnbzo kdsz, amelyek gyszintn flig vgtelen sorozatok. Ha a fa-kd
egyben vges knyszerhossz is, azt trellis-kdnak nevezzk. Egy kd idoinvarins, amennyiben ha kt input bitsorozat kztt csak T zenetkeret idoeltols
klnbsg van, akkor a nekik megfelelo output bitsorozatok (kdszavak) kztt T
kdszkeret klnbsg van. Az idoinvarins trellis-kd a cssz blokk-kd.
4.28. definci. Egy (n; k) fa-kdot, ha lineris, idoinvarins s vges knyszerhossz, (N ; K ) konvolcis kdnak hvunk, ahol K = (m + 1)k, N = (m + 1)n.
A 4.14. bra konvolcis kdolja esetn m = 2; k = 1; n = 2; R = 12 , s a kt
lineris kombinci:
1

x2i

x2i

ui  ui
ui  ui

2
1

 ui

4.14. A

253

KONVOLCIS KDOLS ALAPFOGALMAI

i = 1; 2; : : :. Az adott plda esetre elmondva, a konvolcis kdols elnevezs


onnan szrmazik, hogy az (u1 ; u2 ; : : :) zenetbitsorozatot az (1; 0; 1; 0; 0; 0; : : :) illetve az (1; 1; 1; 0; 0; 0; : : :) sorozatokkal trtno mod 2 konvolci adja a pratlan
illetve a pros pozcij csatornabiteket a kdol kimenetn.
A konvolcis kdolval blokk-kdolst is vgezhetnk az albbi mdon. Tegyk fel, hogy az u = (u1 ; u2 ; : : : ; uL ) zenetet szeretnnk kdolni egy kdszba.
Egsztsk ki ezen zenetet m  k zr bittel, azaz kpezzk az u0 = (u1 ; u2 ; : : : ; uL ;
0; : : : ; 0) zenetet. Ha zr llapotbl indtjuk a kdolt, akkor u0 zenetenknt
a zr llapotba tr vissza (trtjk vissza), azaz L bites zenetblokkokat blokkkdolunk. Az R0 nvleges sebessgu konvolcis kdol esetn ekkor
R=

L
R0
L+mk

(4.47)

a vals kdolsi sebessg. A pldabeli kdols esett tekintve pl. egy L = 3 bites
zenetblokkot 2  (3 + 2) = 10 bites kdszba kdolunk.
A konvolcis kdok brzolsnak egyik mdja a binris fa reprezentci.
Pldabeli kdolnk esetre lthatjuk ezt a reprezentcit a 4.15. brn.
A fa csompontjaibl kt irnyba lphetnk a kdoland zenetbitnek meg-

11

10

01

q
00

11

00

u1

u2

01

00

10

11

u3

10

11

01

00

q
q
q
q
q
q
q
q
0

10
11
01
00
10
11
01
00

q
q
q
q
q
q
q
q

11
00
11
00
11
00
11
00

q
q
q
q 6q
q ?
q
q
q

1
lps irnya
zenetbit szerint
0

4.15. bra. A kd binris fa reprezentcija.

254





4. H IBAJAVT KDOLS

1=01

 11 QQ

1 10 
QQs0 10

0
01
QQ
3

Q
=

10

01

QQ


+
1 00
QkQ


1 11 Q
QQ  0 11
=




00

0=00

4.16. bra. A kdol llapottmenet-grfja.


feleloen. A fa leit azon bitprral (ltalban bit n-essel) cmkztk fel, amely a
kdol kimenetn megjelenik az aktulis zenetbit belpse hatsra. A gykrtol a fa lei mentn a fa leveleiig vezeto utak egy-egy kdsznak felelnek meg.
Nyilvn minden konvolcis kdolnak megfeleltetheto egy fenti binris fa. A
dekdols szempontjbl azonban szerencssebb az n. trellis reprezentci.
A trellis brzolst megknnyti, ha elksztjk a kdol llapottmenetgrfjt, amelyet a pldnk esetre a 4.16. brn lthatunk.
Mindegyik llapotbl kt irnytott l vezet egy msik llapotba. Az len elhelyezett i= jk jellsben i az zenetbit, jk pedig az ezen llapottmenet sorn a
kimeneten megjeleno bitpr. gy pldul az 10 llapotbl az 1 zenetbit belpsekor az 11 llapotba megy t a kdol, mikzben a kimeneten az 10 bitpr jelenik
meg. Ezek utn tekintsk jra a binris fa reprezentcit, s bovtsk ki ezt az brzolst gy, hogy a csompontokat llapotoknak feleltetjk meg, ahogy ezt a 4.17.
brn lthatjuk a plda esetre.
A 4.17. brt alaposabban szemgyre vve lthatjuk, hogy ha a fa azonos
mlysgben az azonos llapotoknak megfelelo csompontokat egy llapot-csompontnak tekintjk, akkor lthatjuk, hogy csak ngyfle s nem nyolcfle eset
ll elo. Pldul a 4.17. brabeli fnak a szaggatott vonallal krlhatrolt kt rsze
sszevonhat. Ha sszevonjuk ennek megfeleloen az azonos llapot-csompontokat egy csompontba, akkor kapjuk a trellis reprezentcit, amit a plda esetre
a 4.18. brn lthatunk.

4.14. A

255

KONVOLCIS KDOLS ALAPFOGALMAI

01
10

10

00
01

00

10

00

11
00

u3

u2

00

01
10

11
01

00
01

00
11

00
00

00
11

00
10

00
01

00
11

00
00

01
10

11
01

00
01

00
11

00
00

00
00

u1

11

10
01

00

01

01
11

11

10

11
10

11

11

00

00

00

00

00

4.17. bra. A kibovtett fa brzols.


01 11
11
H*Hj 1
A

A
10 
10
0
10
A 10 A
AA
AA
 10 01  10 01A  10 01A
A

 00 AA


AUA



U
A
R

R

R

01
01
01











11
11
11
11
11 11

00 00 00 
R- 00 00 R- 00 00 R- 00
00 
00 
00 
u1

u2

u3

4.18. bra. A kd trellis brzolsa.

256

4. H IBAJAVT KDOLS

A trellisben a csompontokat sszekto lek cmkje az llapotvltozs sorn


keletkezo kimenet. Az egymst kveto lek utat alkotnak, amelyek mindegyike az
azonos kezdo (00 llapot) csompontbl indul, s azonos (00 llapot) vgcsompontba fut be. Az utak egy-egy kdsznak felelnek meg. A kezdo csomponttl i
l tvolsgra levo csompontokrl azt mondjuk, hogy i mlysgben vannak. gy
pl. egy mlysgben ketto, ketto mlysgben ngy csompontot tartalmaz a trellis.
Azon kdokat, amelyek egy trellis brzolssal lerhatk, trellis kdoknak nevezzk (ekkor nem kell felcmkzve lennik a csompontoknak). A konvolcis
kdolval teht olyan specilis blokk-kdolst vgezhetnk, amely blokk-kd binris fa-kd, tovbb olyan specilis fa-kd, amely trellis-kd is egyben.
Polinomok alkalmazsa a konvolcis kdok esetn is segti a tmr lerst.
Egy konvolcis kdol lptetoregiszternek n szm lineris elorecsatolst tartalmazza. Az egyes elorecsatolsokat a megcsapolsi pozciknak megfeleloen
polinomokkal rhatjuk le. A 4.14. bra szerinti kdol esetn ez a g11 (x) =
x2 + 1; g12 (x) = x2 + x + 1 binris polinomokat jelenti. (Szoksos mg az n.
oktlis megadsi md, amelynl a polinom egytthatk hrmas csoportjait oktlis
szmokba kpezzk. Pldul a fenti kdol esetn [5; 7 a kdol oktlis megadsa.) ltalnos konvolcis kd esetn gi j (x) az zenetkeret i-edik bitje s a
kdszkeret j-edik bitje kztti kapcsolatot rja le.
A gi j (x) genertorpolinomokat mtrixba rendezve kapjuk a
G(x) = [gi j (x)
k  n mretu genertorpolinom-mtrixot.
Ha di (x) jelli az egyms utni zenetkeretek i-edik bitje flig vgtelen sorozatnak megfelelo polinomot, s hasonlan c j (x) a kdszkeret j-edik bitjei flig
vgtelen sorozatnak megfelelo polinomot, akkor a
d(x) = [d1 (x); d2 (x); : : : ; dk (x)
c(x) = [c1 (x); c2 (x); : : : ; cn (x)
jellsekkel a
c(x) = d(x)G(x)
generlsi szably addik.
4.29. definci. Egy konvolcis kd katasztroflis, ha tetszolegesen nagy Hamming-sly input sorozat esetn korltos Hamming-sly marad az output.
Ezen definci alapjn knnyen belthat az albbi ttel.

4.14. A

KONVOLCIS KDOLS ALAPFOGALMAI

-+
6
-

- +?

257




 QQ

4.19. bra. Katasztroflis kdol (g11 (x) = x + 1 s g12 (x) = x2 + 1).


00




3


11

QQs01
QQ
Q
10
01
QQ


QkQ
+
01

11 Q
QQ  11
00
01

01



00

4.20. bra. A katasztroflis kdol llapottmenet-grfja.


4.30. ttel. Egy kd katasztroflis tulajdonsgnak szksges s elgsges felttele az, hogy az llapotgrfjban ltezzen egy hurok, amelyet alkot valamennyi
len a kdszkeretek zrus slyak.
A 4.19. brn egy katasztroflis kdolt ltunk. Ennek llapottmenet-grfja
a 4.20. brn lthat, ahol vastag vonallal jelltk a zr sly hurkot.
k = 1 paramteru kdok esetn az albbi ttel egy mg praktikusabb ellenorzsre ad lehetosget:

258

4. H IBAJAVT KDOLS

4.31. ttel. n1 sebessgu kd esetn a nem katasztroflis tulajdonsg fennllsnak szksges s elgsges felttele, hogy
lnko[g11 (x); g12 (x); : : : ; g1n (x) = 1

legyen.
M EGJEGYZS : J konvolcis kd konstrulsa teht azonos feladat relatv
prm polinomok egy j halmaznak konstrulsval. Sajnos erre a feladatra nem
llnak jelenleg mg rendelkezsre olyan ltalnos konstrukcik, mint a blokkkdok esetn.
B IZONYTS : Tekintsnk egy n1 sebessgu (k = 1) nemkatasztroflis kdot. Tetszoleges kdtl megkveteljk, hogy ltezzen a kdols inverze. Az euklidszi
algoritmus alapjn lteznek (s elo is llthatk) azok az a1 (x); a2 (x); : : : ; an (x)
polinomok, amelyekkel
a1 (x)g11 (x) + a2 (x)g12 (x) +  + an (x)g1n (x) = 1
addik. Ha d (x) az adatpolinom (mivel k
akkor
c j (x) = d (x)g1 j (x);

1, ezrt egy polinomrl van sz),


j = 1; 2; : : : ; n

a kdszkeretek j-edik bitjt ler polinom, teht a d (x) adat knnyen ellenorizhetoen a
d (x) = a1 (x)c1 (x) + a2 (x)c2 (x) +  + an (x)cn (x)
muvelettel nyerheto vissza.
A kdol s inverze a 4.21. brn lthat. Vges sly c j (x) polinomok vges
sly a j (x) polinommal val szorzata is vges sly.
Az r-edik minimlis tvolsg egy konvolcis kd esetn a legkisebb Hamming-tvolsg a kdol output sorozatok elso r kdszkeret hossz (rn bit) szegmense kztt. Jellse: dr . Nyilvn
d1  d2  d3  
A d1 ; d2 ; d3 ; : : : sorozat a konvolcis kd tvolsgprofilja.
d = max dr
r

a szabad tvolsg.

4.14. A

259

KONVOLCIS KDOLS ALAPFOGALMAI

csatorna

- g 1 (x )
d (x )

c 1 (x )



a 1 (x )

..
.

- g n (x )

? - d (x )
6

..
.
c n (x )



a n (x )

4.21. bra. Kdol s inverze.

r r

r
r r r
r
r
r r r

rr rr

4.22. bra. Jelkszlet pldk: 2,4 szintu AM, 4,8 szintu PSK.

Konvolcis kdok komplex bc felett (Ungerboeck-kdok)


Az (n; k) konvolcis kdol a k bites zenetkeret inputokat egy-egy kdolsi lpsben 2n mretu komplex szmhalmaz egy elemre kpezi le. A komplex
szmhalmazt jelkszletnek hvjuk. Tipikus pldit lthatjuk a 4.22. brn.
Kt kdsz tvolsgt euklidszi tvolsgban mrjk:

dE (c1 ; c2 )2 = jc1i
i=0

c2i j2

ahol c1 s c2 komplex elemu konvolcis kdszavak. Ennek megfeleloen euklidszi tvolsgokban addnak a kdtvolsg jellemzok. A kdol gaussi csatornn
trtno alkalmazsakor ez a kdteljestmny legalkalmasabb mrtke. Ugyanis

260

4. H IBAJAVT KDOLS
(1)

(0)

r-

- (2)

- + - (1)
6
- (0)

4.23. bra. Binris (3; 2) konvolcis kdol.


annak Pe valsznusge, hogy hibs kdszra dntnk
Pe  Nd

d
2


;

ahol a standard normlis eloszlsfggvny, a gaussi zajminta szrsa, Nd


pedig a zrus kdsztl d minimlis euklidszi tvolsgra lvo kdszavak szma.
A kdolsi nyeresget


G = 20 log10

d
dref


[dB

definilja, ahol a dref a kdolatlan esetben add minimlis euklidszi tvolsg.


Egy pldt lthatunk a 4.23. brn. A (3; 2) konvolcis kdol egy lpsben
a bemenetre rkezo bitprt output bithrmasba, majd azt a 8PSK jelkszlet egy
elembe kpezi.


x x2 + 1 0
G=
0
0
1
A 3 bites output 8PSK jelkszletbe (45 -os szggel forgatott komplex egysgvektorok) trtno lekpezse a 4.24. bra szerinti (a bithrmasok bitsorrendje
sorban a 0; 1; 2 outputpozciknak felel meg). A jelkszlet
p elemei
p kztti
p eukli2; d1 = 2; d2 =
dszi
tvolsgokat a 4.25. brn lthatjuk, ahol d0 = 2
p
p
2 + 2; d3 = 2.
A kdol trellisnek egy rszlete lthat a 4.26. brn, ahol az gakon a 8PSK
jelek binris indext, illetve az input bitprt tntettk fel. Egy csompontbl kt
l vezet minden utna kvetkezo csompontba. A vastag vonallal kiemelt hurok

4.14. A

KONVOLCIS KDOLS ALAPFOGALMAI

bb
b
br
b

b b b b r b r6 b rI b b
b
b
b
b
 b
-r b
bb bbb bbb bbb

000
0

100
1

010
2

110
3

001
4

101
5

011
6

111
7

261

bb bbb bbb bbb


b b r b b b b b b b b Rr b
b
?r
b
b
b

4.24. bra. A 3 bites output 8PSK jelkszletbe trtno lekpezse.

r r r
d0

d1

r r r

d2

d3

4.25. bra. A jelkszlet elemei kztti euklidszi tvolsgok.


a csupa zrus kdsztl minimlis euklidszi tvolsgra eltro kdsznak felel
meg.
Egyszeru vizsglattal megllapthat, hogy ezen hurok a 01 00 00 input bitprok (zenetkeretek) hatsra jn ltre, s a kdsz Hamming-slya 3. A hurokra rt
8PSK jelek tvolsgt a 0 jeltol kpezve kapjuk, hogy az euklidszi metrikban
mrt kdtvolsg
q

d =

d12 + d02 + d12 =

2+2

2+2 =

2 = 2:141:

Ahhoz, hogy a dref referencia euklidszi tvolsgot megllapthassuk, tekintsk


a kdolatlan esetet. Ha nincs kdols, akkor a 2 bites zenetkeretet kzvetlenl
4PSK jelkszlet elemeibe transzformljuk, amely jelkszletet a 4.27. brn lthatjuk. Az bra alapjn nyilvnval, hogy ekkor a minimlis euklidszi tvolsg a 00

262

4. H IBAJAVT KDOLS

00

01=001

j
*

00=000

01
0

)
(d 1

11

11

10

j*

00=000

10
=

11

01

01=001

~N

00

0
=1

s
s

1

10

01
11
10

11

j*


00=000

)
(d 0

01=001

11

qU

00

01

)
(d 1

4.26. bra. A kdol trellis reprezentcija.

r

r6

d1

?
4.27. bra. 4PSK.
00 00 : : : zrus sorozathoz kpest a 01 00 00 : : : sorozatra addik, azaz
dref = d1 =


2:

:141
= 3:6 dB. Az egyszer
Teht a kdolsi nyeresg G = 20 log10 2p
u kdot te2
kintve ez igen j eredmny. Az Ungerboeck-kdok jelentosgt mg knnyebben
lthatjuk, ha szrevesszk, hogy a kdolatlan 4PSK ad-vevobe a 4PSK modultor helybe mindennemu konverzi nlkl beillesztve az Ungerboeck komplex kdol illetve dekdol blokkot, minden egyb fizikai felttel (azonos forrssebessg, adsi teljestmny, svszlessg) vltozatlanul maradsa mellett figyelemre-

4.15. A

KONVOLCIS KDOK

263

V ITERBI - DEKDOLSA

mlt kdolsi nyeresget rhetnk el, illetve a kdolsi nyeresget kisebb jel/zaj
ignybe konvertlhatjuk, azaz kisebb adsi teljestmny ignynk lesz.
A CCITT V.32bis modemszabvnya is Ungerboeck-kdot hasznl, s ezzel az
tviteli sebessget 14.4 kbps-ra nveli a korbbi technikhoz kpest. (Pl. az 1964ben megjelent V.21-es szabvny csak 200 bps-ot tudott biztostani.)

4.15. A konvolcis kdok Viterbi-dekdolsa


A Viterbi-dekdols a trellis kdok maximum-likelihood (ML) dekdolsra
optimalizlt algoritmus.
A dekdols algoritmusnak egyszerubb szemlltetse kedvrt tekintsnk
egy p paramteru binris szimmetrikus emlkezetnlkli csatornt (BSC), ahol
0 < p < 12 . Ezen csatornra x = (x1 ; x2 ; : : : ; xN ) input vektor s y = (y1 ; y2 ; : : : ; yN )
output vektor jells esetn
Pfy j xg = (1

p)

d (x;y)

(4.48)

ahol d (x; y) a vektorok Hamming-tvolsga. Mivel 0 < p < 12 ekvivalens a 0 <


p
1 p < 1 lltssal, ezrt y vtele esetn az ML dekdols ekvivalens a minimlis
Hamming-tvolsgban levo kdsz (input vektor) megkeressvel, azaz
max Pfy j xi g
xi

() min
d (y xi )
x
;

(4.49)

A (4.49)-ben jelzett muvelet tvolsgmrst s minimumkeresst jelent, ahol L


az zenethossz. Ennl azonban sokkal kisebb szmtsignnyel is megoldhat a
feladat. Tudjuk, hogy a kd trellisnek tjai az egyes kdszavaknak, s az ezen
utakat alkot lek a kdszavak n bites szegmenseinek felelnek meg. Ennek megfeleloen, ha a trellis leit slyozzuk az y s xi megfelelo n bites szegmensnek
a Hamming-tvolsgval, akkor az xi -nek megfelelo t sszslya megegyezik a
d (y; xi ) Hamming-tvolsggal.
Ekkor teht dekdolsi metrikaknt a Hamming-tvolsgot hasznljuk. ltalban diszkrt emlkezetnlkli csatorna (DMC) esetn
log Pfy j xg =

log Pfy j j x j g

(4.50)

j=1

s ekkor a j-edik mlysgben levo gat log Pfy j j x j g metrikval slyozva ismt
lenknt additv metrikhoz jutunk, azaz az utak slya az alkot lek slynak
sszege. Ezen fogalmak bevezetse utn megadjuk a Viterbi-algoritmust. Az

264

4. H IBAJAVT KDOLS

egyrtelmusg kedvrt tegyk fel mg, hogy a maximlis sly utat keressk.
A feladat teht egy specilis irnytott grfban maximlis sly t keresse. A
Viterbi-algoritmus nem ms, mint egy dinamikus programozsi eljrs gyes alkalmazsa a konvolcis kdok dekdolsra.

A Viterbi-algoritmus
Tegyk fel, hogy a trellis i-edik mlysgben ismerjk minden e mlysgbeli csompontba befut azon utat, amelynek slya ezen csompontig maximlis.
Ezen rszutakat az i mlysgbeli tlloknek nevezzk. Az i-edik mlysgben troljuk ezen tlloket, valamint a tllok slyt.
Az i + 1 mlysgbeli tlloket gy hatrozzuk meg, hogy meghosszabbtjuk az
i mlysgbeli tlloket a lehetsges folytats lekkel, s az egyes i + 1 mlysgbeli
csompontokba a klnbzo i mlysgbeli csompontokbl befut egy-egy llel
meghosszabbtott tllokbol az lesz az j tllo, amelyiknek nagyobb az egy g
slyval megnvelt slya.
Mivel a trellis tjai egy vgcsompontba futnak, ezrt legvgl egyetlen tllo
marad, a maximlis sly t.
4.17. plda. A 4.18. bra trellise esetre legyen y = (0; 1; 0; 1; 0; 1; 0; 1; 1; 1) a vett
kdsz, ekkor a 4.28. brn kvethetjk vgig a dekdols menett.
A trellis csompontjai felett jelltk az adott csompontba befut minimlis
Hamming-tvolsg rszt (azaz a tllo) slyt, tovbb thzssal jelltk a tllsi versenybol kiesett rszutak megfelelo leit. A csompontok felett megadott
1
11

 A

H*Hj 1
0

- 11 A

A
A
AA 4 AA
   A  10 A

 3 AA 4 AA 6

R 01   RUA 01  RUA 01 

 



 5  8
0 
1 
2   4
R- 00
R- 00
- 00  - 00  R- 00
00 
u1

1
10

2
10

u2

u3

4.28. bra. Viterbi dekdolsi plda.

4.16. A V ITERBI - DEKDOLS

BITHIBAARNYA

DMC- N

265

szmrtkek a tllo rszutak slyt jelentik. Figyelmesen vgigkvetve az algoritmus lpseit, eredmnyl az (1; 0; 1; 0; 0) kt 0-val meghosszabbtott dekdolt
zenetet kapjuk.

4.16. A Viterbi-dekdols bithibaarnya diszkrt, emlkezetnlkli csatornn


A kvetkezo rszben egy mdszert mutatunk a konvolcis kdok ML dekdolsa
esetn elrheto dekdolsi bithibaarny szmtsra DMC esetn.
A lineris blokk-kdokkal kapcsolatos tanulmnyokbl ismeretes, hogy adott
csatorna esetn a minimlis kdsztvolsg (rviden minimlis tvolsg) nagysga dntoen befolysolja a kdsz-dekdolsi hibaarnyt. Hasonl a helyzet a
konvolcis kdokkal kapcsolatosan is, ezrt elso lpsknt a kdsztvolsg tulajdonsgokat eleventjk fel rviden.
A kdols linearitsa miatt itt is elegendo a csupa 0 kdsztl mrni a Hamming-tvolsgokat, amit a kvetkezokppen lthatunk be. Legyen u s u0 kt
klnbzo kdoland zenet, s jellje f (u) illetve f (u0 ) a megfelelo kdszt,
amelyet konvolcis kdolval a fentiekben rszletesen elemzett blokk-kdols
zemmdban nyertnk. Ekkor a
d ( f (u); f (u0)) = d ( f (u)  f (u); f (u)  f (u0)) = d (0; f (u  u0 ))

(4.51)

egyenlosglncot kapjuk, ahol f linearitst hasznltuk fel. (4.51) alapjn teht


f (u) s f (u0 ) kdszavak tvolsga megegyezik egy nemzrus f (u  u0 ) kdsz
csupa 0 kdsztl mrt tvolsgval. Kvetkezskppen a lehetsges kdsztvolsgok megegyeznek a nemzrus zenethez tartoz kdszavak csupa zrus
kdsztl mrt tvolsgval, s ez az amit be akartunk ltni.
Tegyk fel teht, hogy a csupa 0 kdszt adjuk a csatornba. Kdol pldnk
folytatsaknt a 4.29. brn lthatjuk a csupa 0 kdszt, s egy nemzrus zenethez
tartoz kdszt.
A 4.29. bra nemzrus kdszava d = 6 Hamming-tvolsgra van a zrus kdsztl, tovbb a neki megfelelo (1; 0; 1; 0; 0) zenet i = 2 nemzrus zenetbitet
tartalmaz. Ha teht a zrus kdsz helyett hibsan ezt a kdszt dekdolnnk,
akkor az 2 bithibt okozna.
A konvolcis kdoknl a blokk-kdoktl eltroen az egy kdszba kdoland zenethossz, s gy a kdszhossz, elvileg szabadon vlaszhat paramter.
A dekdols hibaanalzishez szksgnk lesz a kdszavak slyeloszlsra. Tudjuk, hogy a kdszavaknak utak felelnek meg a kd trellisben. Vezessk be az
a(d ; i) jellst a zr kdsznak megfelelo tbl (zr t) az 1. csompontban legaz azon utak darabszmra, amelyek d Hamming-tvolsgra vannak s i sly

266

4. H IBAJAVT KDOLS

10

10
01

01

00
01

01
11

11
00

00

00

00

00

00

00

00

00

00

00

4.29. bra. Zrus kdszbl legaz nemzrus kdsz.


zenethez tartoznak. Br vges mretu (L bit) zenetblokkot kdolunk egy lpsben, technikailag egyszerubb az a(d ; i) eloszls szmtsa ha vgtelen hossz
zenetblokkok kdolst vizsgljuk.
4.18. plda. A 4.14. bra kdolja esetn a(d ; i) = 0, ha d < 5, tovbb a(5; 1) =
1; a(6; 2) = 2; : : :.
Vezessk be az fa(d ; i) : i; d = 1; 2; : : :g ktindexes sorozathoz rendelt formlis hatvnysort:

T (D; I ) =

a(d

i)I i Dd :

(4.52)

i=1 d =1

(A formlis hatvnysorok tulajdonsgaival kapcsolatosan utalunk pl. [34] 10.3.


pontjra).
4.19. plda (T (D; I ) meghatatrozsnak egy mdszere).
A 4.16. brn lthat llapotdiagramot a 4.30. brn lthat folyamatgrff alakthatjuk.
A legazs-folyamatgrf A; B jelu csompontja a 00 llapotnak, mg az X ; Y ; Z
jelu csompontok a hrom nemzr llapotnak felelnek meg. gy a legazsfolyamatgrf A bemeneti pontja a zr tbl trtno legazsnak, mg a B kimeneti
pontja az abba val elso visszatrsnek felel meg. A grf leinek cmkje I j Dk ,
ha ezen l j = 0 vagy j = 1 zenetbit hatsra jtt ltre, illetve k Hamming-sly
szelete a megfelelo tnak. Egy thoz az lei cmkinek szorzatt rendeljk. A
legazs-folyamatgrf A bemeneti s B kimeneti pontja kztti utakra gy kiadd
rtkek sszege a keresett T (D; I ) sort adja.
Pldabeli kdolnk esetn az
X

= ID

A + IZ ;

4.16. A V ITERBI - DEKDOLS

BITHIBAARNYA

267

DMC- N




s
ID
Y

sA

ID

AK
A
ID2 A

AA

R D


-D
Z



I

 D2


4.30. bra. A konvolcis kdol legazs-folyamatgrfja.


Y

= IDX + IDY ;

Z = DX + DY ;
B = D2 Z
lineris egyenletrendszerbol

B = T (D; I )  A

felhasznlsval, T (D; I ) megkaphat:


T (D; I ) =

ID5
1 2ID

= ID (1 + 2ID + 4I

D2 + ):

(4.53)

Innen kiolvashat a keresett slyeloszls:




a(d ; i) =

2i
0;

1;

ha d = i + 4; i = 1; 2; 3; : : :
egybknt

(4.54)

Mukdjn a kdol blokk-kdolknt vges zenethosszal, hasznljuk a Viterbi-dekdolst. A dekdols eredmnye egy a leadott zr ttl esetleg eltro
t, amely bizonyos csompontokban legazhat a zr tbl, majd egy ksobbi
csompontban visszatrhet bele, s esetleg jra elgazhat belole.
A dekdolt t szakaszokra bonthat: egyes szakaszain egyttfut a csupa zr
ttal, majd legazik, s visszatr abba. A legazstl a visszatrsig tart rszutat huroknak nevezzk. A fentiekben megllaptottuk a hurkok a(d ; i) eloszlst.

268

4. H IBAJAVT KDOLS

Jellje a W j valsznusgi vltoz az zenetbit-hibk szmt a dekdolt t j-edik


mlysgben indul hurokjban ( j = 0; 1; : : : ; L 1). Definci szerint legyen W j =
0, ha nincs legazs a j-edik pontban, vagy ha egy j-t megelozo pontban indult
egy hurok, s mg nem trt vissza a zr tba.
L 1

Ha L jelli az zenethosszt, akkor W j defincija alapjn nyilvn az = W j


j=0

sszeg az zenetbithibk szmt ad valsznusgi vltoz. Az L valsznusgi


vltoz adja az egy dekdolt bitre eso bithibaarnyt. Ennek vrhat rtkvel
definiljuk a Pb tlagos bithibaarnyt, azaz
!

Wj
L
j=1

Pb = E

(4.55)

DMC esetn nem nehz felso becslst adni annak a valsznusgre, hogy
az tkldtt zr kdsz helyett egy attl d Hamming-tvolsgra levo kdszra
dntnk ML dekdols esetn. Bevezetve ezen (pr-) hibzs esemny valsznusgre a Pe,pr valsznusget, arra egy
Pe,pr  (2

w d

(4.56)

alak felso becsls adhat, ahol w  0 az adott csatorna paramtereitol fggo


mennyisg (pl. w a Bhattacharyya-tvolsg). Ez a kvetkezokpp lthat be. Legyen x1 a leadott kdsz, x2 egy tole d tvolsgra levo kdsz, valamint legyen
y a vett sz. A vteli oldalon termszetesen nem tudjuk, hogy x1 volt a leadott
kdsz, s gy y ismeretben az x1 illetve x2 kdszavak kzl a valsznubben
leadottra szeretnnk dnteni. Vezessk be a D1 ; D2 ML dntsi tartomnyokat,
ahol
y 2 D1 ;

ha

y 2 D2 ;

ha

Pfy j x1 g  Pfy j x2 g;
Pfy j x2 g  Pfy j x1 g:

(4.57)

Hibt akkor kvetnk el, ha y 2 D2 . Ennek megfeleloen a hibavalsznusg


Pe,pr =

Pfy j x1 g

(4.58)

D2

y2

(4.57) s (4.58) alapjn a kvetkezo felso becslst adhatjuk:


Pe,pr

 Pfy j x1g
D2

y2


y

Pfy j x2 g
Pfy j x1 g

Pfy j x1 gPfy j x2 g =

4.17. R EKURZV

269

KONVOLCIS KDOLS

n=1

Pfy j x1n gPfy j x2n g

!d

Pfy j 0gPfy j 1g

(4.59)

ahol az utols lpsben kihasznltuk, hogy azon n-ekre, amelyekre x1n


szumma 1-gyel egyenlo. Bevezetve a
w=

log2

= x2n ,

Pfy j 0gPfy j 1g

(4.60)

jellst, a bizonytand (4.56) felso becslsre jutunk.


Vezessk be az a j (d ; i) jellst a vizsglt vges zenethosszra a zr kdsznak megfelelo tbl (zr t) a j-edik csompontban legaz azon hurkok darabszmra, amelyek d Hamming-tvolsgra vannak s i sly zenethez tartoznak, s
amelyek legksobb az L-edik mlysgben visszatrnek. Nyilvn a j (d ; i)  a(d ; i)
tetszoleges d ; i s j esetn.
Az eddigiek alapjn az
E(W j )  i  a j (d ; i)(2
i

w d

(4.61)

felso becslst kapjuk, ahonnan a j (d ; i)  a(d ; i) felhasznlsval a


Pb  i  a(d ; i)(2
i

w d

(4.62)

eredmnyt kaphatjuk. A (4.52) s (4.62) sszefggsek egybevetsvel a


Pb 

T (D; I )
I I =1;D=2

(4.63)
w

praktikus vgformulhoz jutunk.

4.17. Rekurzv konvolcis kdols


A 4.14. szakaszban lttuk, hogy a konvolcis kdokat generlhatjuk elorecsatolt shiftregiszterek segtsgvel. Ha a regiszterek tartalmt valamilyen lineris
logikn keresztl visszacsatoljuk a kdol bemenetre, egy ltalnosabb kdosztlyhoz jutunk, a rekurzv (visszacsatolt) konvolcis kdokhoz. Ezek a kdok

270

4. H IBAJAVT KDOLS

-ct

G(x)

dt




6 6

- + - ut
6 ut

ut

ut

? ?




H(x)

4.31. bra. Visszacsatolt konvolcis kdol.


szintn lineris idoinvarins fa-kdok, m a knyszerhossz a legtbb esetben vgtelen: egy darab 1-es bit vgtelen hossz ideig keringhet a kdolban, gy egy egy
sly bemenet vgtelen sly kimenetet generlhat. Ez a tulajdonsg igen hasznos lehet bizonyos kdkonstrukciknl, pldul a 4.18. szakaszban trgyalt turb
kdoknl. Az elorecsatolt konvolcis kdokhoz hasonlan tovbbra is csak binris kdokkal foglalkozunk.
A visszacsatolt kdol struktrja a 4.31. brn lthat. Itt
dt

= [dt ;1 ; : : : ; dt ;k

jelli a kdolba a t idopontban belpo k bites zenetkeretet,


ct

= [ct ;1 ; : : : ; ct ;n

az onnan kilpo n bites kdszkeret, vgl pedig


ut

= [ut ;1 ; : : : ; ut ;k

a shiftregiszterbe a t idopontban belpo szintn k bites gynevezett llapotkeretet.


A kdolt kt genertorpolinom-mtrixszal rhatjuk le, hiszen a shiftregiszterben trolt llapotkeretek nem csak a kimenetet, hanem a shiftregiszterbe belpo j
llapotkeretet is befolysoljk (az elorecsatolt esettel ellenttben a regiszter nem
az zenetkereteket, hanem azoknak egy mdostott vltozatt, az llapotkereteket tartalmazza). Vegyk szre, hogy a bemenet kzvetlenl nem befolysolja a

4.17. R EKURZV

KONVOLCIS KDOLS

271

kimenetet, hiszen az elso kicsatols az elso sszead utn van. (Ez az analzist
megknnyto elrendezs azonban nem jelent megszortst, hiszen az elorecsatol
slyok alkalmas megvltoztatsval ez a kicsatols az sszegzs el hozhat.) Az
elorecsatolst a k  n mretu
G(x) = [gi; j (x)
mtrix hatrozza meg, ahol gi; j (x) = gi; j;0 + gi; j;1 x +  + gi; j;m xm rja le az llapotkeretek i-edik s a kdszkeretek j-edik bitje kztti sszefggst, ahol m az
elorecsatolt konvolcis kdoknl hasznlt jellsekhez hasonlan a kdol
regisztereinek szma. Az llapotkeretek i-edik s az j llapotkeret j-edik bitje
kztti kapcsolatot a hi; j (x) = hi; j;0 + hi; j;1 x +  + hi; j;m xm polinom rja le, ahol
hi; j;0 , a konstans tag egytthatja, az zenetkeret i-edik bitjnek hatst mutatja
az j llapotkeret j-edik bitjre. A hi; j (x) polinomokat mtrixba rendezve kapjuk
a visszacsatolst meghatroz
H(x) = [hi; j (x)
k  k mretu ngyzetes mtrixot. A tovbbiakban azzal a tipikus esettel foglalkozunk, amikor

1; ha i = j
:
hi; j;0 = i; j =
0; ha i 6= j
Ennek szemlltetsre a 4.31. brn a bemenetet kzvetlenl nem is vezettk be a
visszacsatolst ler H(x) blokkba.
4.20. plda. A 4.32. brn egy egy bemenetu egy kimenetu visszacsatolt konvolcis kdol ltalnos smja lthat.
A rekurzv konvolcis kdok az elorecsatolt konvolcis kdokkal teljesen
analg mdon kezelhetoek. Ugyangy elkszthetjk a kdol llapotgrfjt, trellist, s a Viterbi-dekdolst is vltoztats nlkl alkalmazhatjuk. Mindebbol kvetkezik, hogy a Viterbi-dekdols bithibaarnyra korbban adott felso becsls
is rvnyben marad.
A tovbbiakban meghatrozzuk az elorecsatolt konvolcis kdoknl mr megismert
c(x) = [c1 (x); : : : ; cn (x)
kdszpolinom-vektort a
d(x) = [d1 (x); : : : ; dk (x)

272

4. H IBAJAVT KDOLS

m m m
rm mr mr  mr
6 6 6
6
- rm - m r 6
mr? ?mr  ?mr
?m ?m  
- + - + -  - +
6 6
6

g1;1;m

g1;1;0

dl

cl

h1;1;0 = 1

h1;1;1

h1;1;m

4.32. bra. Visszacsatolt konvolcis kdol, k = 1, n = 1.


zenetpolinom-vektor segtsgvel, ahol
c j (x) = c0; j + c1; j x + c2; j (x) + : : :

j = 1; : : : ; n

d j (x) = d0; j + d1; j x + d2; j (x) + : : :

j = 1; : : : ; k :

A levezetshez szksgnk lesz mg az


u(x) = [u1 (x); : : : ; uk (x)
llapotpolinom-vektorra, melynek elemei az
u j (x) = u0; j + u1; j x + u2; j (x) + : : :

j = 1; : : : ; k

polinomok. Ha a kdolt a csupa nulla llapotbl indtjuk, akkor definci szerint


legyen ut ; j = 0, ha t = 1; : : : ; m s j = 1; : : : ; k. Ekkor a visszacsatolsokat
figyelembe vve az
m

ut ; j = hi; j;l ut

l ;i + dt ; j

(4.64)

l =1 i=1

alak egyenletekhez jutunk minden t = 0; 1; : : : s j = 1; : : : ; k rtkre. Szorozzuk meg a (4.64) egyenletet xt -nel, s a kapott egyenleteket sszegezzk minden

4.17. R EKURZV

273

KONVOLCIS KDOLS

nemnegatv t-re. Ekkor

u j (x)

ut j xt =
;

t =0
m

hi j l ut
; ;

t
l ;i x +

t =0 l =1 i=1
m k

t l
+
l ;i x

; ;

hi; j;l xl ut

l =1 i=1
k m

t =0

hi j l xl ut

t =0 l =1 i=1
m k

dt j xt =

t l
+
l ;i x

t =0

dt j xt =
;

t =0

dt j xt =
;

t =0

hi j l xl ui (x) + d j (x)
; ;

i=1 l =1

Figyelembe vve, hogy binris kdokkal dolgozunk s hi; j;0 = i; j , a


k

d j (x) = hi; j (x)ui (x) = [u1 (x); : : : ; uk (x)[h1; j (x); : : : ; hk; j (x)T
i=1

egyenletekhez jutunk, j = 1; : : : ; k. Innen pedig a


d(x) = u(x)H(x)
kifejezshez jutunk, amibol
u(x) = d(x)H

(x)

addik, ahol H 1 (x) a H(x) inverze. Ekkor, mivel a kimenet megkaphat egy u(x)
bemenetu G(x) elorecsatols konvolcis kdol segtsgvel, az elorecsatolt
konvolcis kdoknl bizonytottak alapjn a kdszpolinom-vektor a
c(x) = d(x)H

(x)G(x)

(4.65)

formban rhat. Az igen fontos k = 1 specilis esetben


c(x) =

d 1 (x )
[g1;1 (x); : : : ; g1;n (x)
h1;1 (x)

(4.66)

addik. Azon specilis esetben, amikor nincs visszacsatols, azaz a kdolnk


tnylegesen egy elorecsatolt konvolcis kdol, H(x) ppen a k  k mretu egysgmtrix, s gy (4.65) a korbban mr megismert c(x) = d(x)G(x) sszefggsre egyszerusdik.

274

4. H IBAJAVT KDOLS
dl

- +? -

cl ;1

m m m

6 6 6

- +? c-l 2
;

4.33. bra. Rekurzv szisztematikus konvolcis kdol.


4.21. plda. A 4.33. brn lthat rekurzv szisztematikus konvolcis kdol
esetn g1;2 (x) = 1 + x4 s h1;1 (x) = 1 + x + x2 + x3 + x4 . Vegyk szre, hogy az
elso kimenet kicsatolsa az elso sszead elott trtnik, s nyilvn c1 (x) = d1 (x)
(ez egybknt nmi trendezs utn megfelel a g1;1 (x) = h1;1 (x) esetnek). Ekkor
c (x )

=
=

[c1 (x); c2 (x) =

d 1 (x )

g1;2 (x)
1;
h1;1 (x)


=

d 1 (x )


=

1 + x4
1;
1 + x + x2 + x3 + x4


:

(4.67)

4.18. Turb kdok


A turb kdok a kdelmleti kutats legjabb vonalt jelentik. 1993-as felfedezskkel (Berrou, Glavieux s Thitimajshima [9]) megjelentek az elso olyan
praktikus kdok, melyek jelsebessge megkzelti a csatornakapacitst. Jelen pillanatban gy tunik, hogy szles kru elterjedsknek csak a kdols s dekdols sorn fellpo nagy ksleltets, illetve a viszonylag nagyobb komplexits szab
hatrt (br ez utbbi tekintetben igen biztat eredmnyek is megjelentek mr, pldul [29]). Az u rtvkzlsben napjainkra a turb kdokat alkalmazzk leggyakrabban (pldul EN 301 790 szabvny), s alkalmazsukat az UMTS szabvny
(4.19. szakasz) is javasolja.
Az eljrs alapgondolata az, hogy a 4.34. bra szerint bitkeverok kzbeiktatsval prhuzamosan kapcsolunk tbb kdolt, az gynevezett komponenskdolkat, s ezek kdszavait sszefslve kapjuk a tnyleges kdszt. A gyakorlatban
a komponenskdok leggyakrabban visszacsatolt konvolcis kdok.
A dekdols sorn a komponenskdokat kln-kln dekdoljuk, azonban
a dekdols sorn felhasznljuk a tbbi komponenskd dekdolsa sorn kapott

4.18. T URB

275

KDOK

1: kdol

2: kdol

bitkevero

?
bitkevero

- J Jtrlo
J
JJ

kimenet

..
.

?
bitkevero

n: kdol

4.34. bra. A turb kdol ltalnos struktrja.


eredmnyeket. A tapasztalatok szerint az gy elrheto hibavalsznusg nagysgrendekkel kisebb lehet, mint ha az egyes komponenskdokat kln-kln hasznlnnk. n kdol sszekapcsolsa esetn egy 1=n sebessgu kdot kapunk. Ahhoz,
hogy a kdsebessget az alkalmazsok ignyei szerint alakthassuk, az egyes komponenskdszavak bizonyos bitjeit egy elore meghatrozott minta szerint trljk,
azaz nem tovbbtjuk. A vevoben a trlt bitek pozcija ismert, gy a dekdols
sorn ezek trlses hibknak tekinthetoek, s ennek megeleloen javthatak. A
gyakorlati dekdolsi eljrsok sorn azonban a trlt biteket a vevoben leggyakrabban nullkkal helyettestjk.
4.22. plda. A 4.35. brn egy standard turb kdol struktrja lthat. A kt
komponenskd azonos, a 4.21. plda 1=2 sebessgu rekurzv szisztematikus konvolcis kdja. Mivel a kt kdban a szisztematikus rsz a sorrendtol eltekintve
azonos (hiszen a bemeneti bitsorozatot a 2. kdol szmra permutltuk), ezt csak
egyszer tovbbtjuk: gy sszessgben egy 1=3 sebessgu kdhoz jutunk (bizonyos paritsbitek trlsvel a jelsebessg tetszolegesen megkzeltheti az 1-et).
A tovbbiakban ezen a pldn magyarzzuk el a turb kdok mukdst; ennek ltalnostsa tbb illetve ms tpus komponenskdokra nem okozhat problmt. Eloszr is fontos megjegyezni, hogy br a turb kdok magjt konvolcis

276

4. H IBAJAVT KDOLS
dl

- +? -

bitkevero

-+ 6

-s

( )

xl

m m m

6 6 6

m
-m

- +? xl-p
+

( 1)

( p2 )

xl

HH

m? ?m m?

4.35. bra. Turb kdol.

kdolk alkotjk, ezek a kdok tnylegesen blokk-kdok, ahol egy blokk mrete
a bitkevero hossza. Mind a kdolst, mind a dekdolst blokkonknt kln vgezzk el. A blokkmretet a tovbbiakban K-val jelljk, tipikus rtke 210 216
kztt van.
Az rkezo d1 ; d2 ; : : : ; dK adatsorozatot kzvetlenl tovbbtjuk a kimenetre,
(s)
(s)
(s)
gy kapjuk az x1 ; x2 ; : : : ; xK sorozatot (az s felso index a szisztematikus szra
(p )
(p )
(p )
utal). Az elso komponens kdol a d1 ; d2 ; : : : ; dK bemenetre az x1 1 ; x2 1 ; : : : ; xK 1
paritsbit-sorozatot generlja. A msodik kdol bemenetre azonban a bitkevero kzbeiktatsa miatt az eredeti adatsorozat egy permutlt vltozata, a
(p )
(p )
d10 ; d20 ; : : : ; dK0 sorozat kerl, s ehhez generlja a msodik kdol az x1 2 ; x2 2 ; : : : ;
(p )
(s)
(p )
(p )
(s)
(p )
(p )
xK 2 paritsbit-sorozatot. gy vgl a csatornba az x1 ; x1 1 ; x1 2 ; x2 ; x2 1 ; x2 2 ;
(s )
( p1 )
( p2 )
bitsorozat kerl. Trls alkalmazsa esetn a paritsbit-soro:::;x
K ; xK ; xK
zatok elore meghatrozott elemei nem kerlnek tovbbtsra.
A dekdols megknnytse rdekben az elso komponenskdolt blokk-kdols zemmdban hasznljuk; visszacsatolt konvolcis kdolk esetn is elrheto, hogy a kdolt tetszoleges llapotbl elindtva m j bit belptetsvel a
kdol a 0 llapotba kerljn. A klnbsg csupn annyi, hogy mg az elorecsatolt esetben ez mindig m darab 0 belptetsvel trtnt, addig a 4.22. pldban

4.18. T URB

277

KDOK

ehhez a 0110 llapotbl kiindulva rendre a 0; 0; 1; 0 karaktereket kell a bemenetre


adni. Mivel a kt kdol prhuzamosan mukdik, ltalban nem rheto el, hogy a
msodik kdol is egy elore meghatrozott llapotban lljon meg.
A kdol utols eddig mg nem vizsglt komponenese a bitkevero. A
hagyomnyosan hasznlatos strukturlt bitkeverokkel ellenttben (ilyen pldul a
blokk-bitkevero, amikor egy ngyzetes mtrixba sorfolytonosan rjuk az adatokat
s oszlopfolytonosan olvassuk ki) a turb kdok esetben fontos, hogy a permutci minden lthat struktrt nlklzzn: ez biztostja, hogy a kd a csatornakdolsi ttel bizonytsa sorn megismert nagy blokkhossz vletlen kd jellegu
legyen. Ezrt leggyakrabban lvletlen bitkeveroket hasznlnak.

A turb kdok dekdolsa


A bitkevero jelenlte miatt a turb kdok ML dekdolsa praktikus (nagy)
blokkhosszak esetn gyakorlatilag megvalsthatatlan a nagy komplexitsbl add szmtsi kapacitsigny miatt, ezrt a dekdols sorn egy szuboptimlis iteratv eljrst, a BCJR algoritmust szoks alkalmazni (lteznek ms dekdolsi
mdszerek is, illetve az itt bemutatott mdszer javtott vltozatai, melyekre itt
nem trnk ki). Az eljrs lnyegt Bahl, Cocke, Jelinek s Raviv dolgoztk ki
1974-ben [5], s a turb kdok megjelensvel kis mdostssal jra az rdeklods kzppontjba kerlt. Az itercis lpsek sorn a dekdol az egyes bitek
eloszlsra becslst ad, s a kvetkezo iterciban a dekdolst ezen a priori eloszlst felttelezve vgezzk el. Egy iterci kt lpsbol ll, melynek sorn
elobb az elso, majd a msodik komponenskd dekdolst vgezzk el, a dekdolt eloszlst a fentiek szerint tovbbadva az elso dekderbol a msodiknak, majd
a msodikbl az elsonek, s gy tovbb.
(s)

(p )

(p )

A dekder blokkdiagrammjt a 4.36. bra mutatja, ahol yl ; yl 1 ; yl 2 a csa(s)


(p )
(p )
torna kimenetn az xl ; xl 1 ; xl 2 bementek hatsra megjeleno bitek, L1e (dl ) s
L2e (dl ) az egyes komponenskdok dekdolsa sorn nyert n. klso informci,
melyet a dekdols kvetkezo lpsben a priori informciknt hasznlunk fel.
Figyeljk meg, hogyan biztostja a bitek megfelelo sorrendjt az elso s msodik
dekder kztt lvo bitkevero illetve a msodik s elso dekder kztt elhelyezkedo bitvisszakevero, amely az elozo bitkevero inverz lekpzst valstja meg,
azaz a permutlt bitsorozatot visszalltja az eredeti sorrendbe.
(s)

( p1 )

A dekdols sorn eloszr az yl , yl

1g
a
rtkek s az L2e (dl ) = log PPffddll =
=0g

1g
priori informci alapjn (l = 1; : : : ; K) egy j L1e (dl ) becslst kszt a log PPffddll =
=0g

(s)0

kifejezsre. A 2. dekder ezt az informcit, a megfelelo sorrendbe rakott yl


(p )
szisztematikus biteket s az yl 2 paritsbiteket felhasznlva j L2e (dl ) becslst

278

4. H IBAJAVT KDOLS

bitvisszakevero

L2e (dl )
( p1 )

yl

(s)

yl

L1e (dl )

L2e (dl0 )


L1e (dl0 )

bitkevero

( p2 )

yl

1. dekder

(s)0

2. dekder

?(dl )

yl

bitkevero

int

?(dl )
6
?dl
4.36. bra. A turb dekder blokkdiagrammja.
a priori

1. dekder

bitvisszakevero

klso


a priori

bitkevero

klso

2. dekder

4.37. bra. Informciramls a kt dekder kztt.


kszt. Az eljrst addig ismteljk, amg az L1e (dl ) s L2e (dl ) rtkek csak kicsit vltoznak meg. (Msik lehetsges megllsi felttel, ha az itercik szmt
elore rgztjk.) A dekderek kztti informciramlst jl szemllteti a 4.37.
bra. Ezutn a 2. dekder az L1e (dl ) apriori informcit felttelezve kiszmtja a
tnyleges
Pfdl

( )0

j s
(dl ) = log
s0
Pfdl = 0jyl
= 1 yl

( )

;
;

( p2 )

yl

( p2 )

yl

;
;

l = 1; : : : ; K g
l = 1; : : : ; K g

rtket. Ha (dl ) > 0, akkor rtelemszeruen dl = 1-re dntnk, egybknt dl = 0ra. (A (dl ) s L2e (dl ) kztti klnbsgre itt nem trnk ki. Az eltrs clja az
iteratv dekdols stabilitsnak biztostsa.)

4.18. T URB

279

KDOK

A turb kdok teljestmnyanalzise


Ebben a rszben megmutatjuk, hogyan lehet egyszeruen becslni a turb kdok ML dekdolsnak hibavalsznusgt, s hogy milyen jellegu teljestmnygrbt vrhatunk el a turb kdoktl. Mivel a Gauss-csatorna gyakorlati szempontbl sokkal fontosabb a binris csatornknl, ebben a rszben erre koncentrlunk.
A bithibavalsznusg vizsglatakor a konvolcis kdoknl mr megismert
uni-korltot fogjuk alkalmazni. Mivel a turb kdok lineris kdok, a korbban
megszokottak szerint azt felttelezzk, hogy a csupa 0 zenetet kldtk t, s ehhez vizsgljuk a hibzs valsznusgt. A bithiba valsznusg abban az esetben,
ha az n-edik kdszra dntnk a 0 helyett
Pb (n j 0) = wn =K Pe;pr;n ;
ahol wn az n-edik kdszhoz tartoz nem 0 zenetbitek szma, azaz az n-edik
kdsz zenetslya, Pe;pr;n pedig annak a valsznusge, hogy az n-edik kdszra
hibzunk. Ha az n-edik kdsz slya dn , akkor a Viterbi-dekdolsnl ltottak
alapjn p paramteru binris szimmetrikus csatorna esetn (p < 1=2)
Pe;pr;n  (2

p(1

p))dn ;

Gauss-csatorna esetn pedig megmutathat [19], hogy


s

2dn Rc Eb
N0

Pe;pr;n = Q

ahol Q(x) = ( x) a standard normlis eloszls farokeloszlsa, Rc a kd sebessge, Eb az egy informcis bit tvitelhez felhasznlt energia, N0 =2 pedig a csatorna ktoldali spektrlis surusgfggvnye (az Eb =N0 rtket jelzaj viszonynak
nevezik). Ekkor a bithibavalsznusg
Pb

Pb (valamilyen n-re hibzunk)


2K

8 K
2
p
>
w
>
< Kn (2 p(1

 Pb(n j 0)  >
>
n=1

n=1
2K

: wKn Q
n=1

q

p))dn

2dn Rc Eb
N0

BSC
(4.68)

Gauss

csatorna esetn.
Jelljk a d sly kdszavak szmt Md -vel, s az ilyen kdszavak zenetslynak sszegt Wd -vel. Definiljuk a kdszavanknti tlagos zenetslyt a kvetkezo mdon:
Wd
w =
:
Md

280

4. H IBAJAVT KDOLS

Mivel egy K hossz bemenet K =Rc hossz kimenetet eredmnyez, ekkor Gauss
csatorna esetn a bithibavalsznusgre vonatkoz felso korlt a kvetkezo formban rhat:
Pb

K =Rc

Md wd
K Q
d =d f ree

M f ree w f ree
Q
K

2dRc Eb
N0

2d f ree Rc Eb
N0

(4.69)

ahol d f ree a turb kd minimlis vagy ms nven szabad tvolsga, M f ree a minimlis sly kdszavak szma, s w f ree ezek tlagos informcis slya. Mivel a
normlis eloszls farokeloszlsa igen gyorsan cskken, a kpletbeli kzelts nagy
Eb =N0 rtk esetn (azaz kis zaj csatornn) igen pontos. Az gy kapott kzeltst
szoks szabad tvolsg aszimptotnak is nevezni.
4.23. plda. A 4.22. pldban megfelelo bitkeverot alkalmazva K = 65536 esetn
d f ree = 6; w f ree = 2; M f ree = 3 addik.
A turb kdok esetben a szabad tvolsg ltalban elg kicsi. Azonban kis
jelzaj viszony s nagy K esetn a minimlis sly kdszavak szma jobban befolysolja a teljestmnyt, mint a minimlis kdtvolsg. Pontosan ez jellemzi a

100
10

10

10

10

10

10

10

10

6Pb

r r r
b b
b rb r rb r
b
0

r
b

0:2 0:4 0:6 0:8 1:0 1:2 1:4 1:6 1:8 Eb =N0 [dB]

4.38. bra. A dekdols hibavalsznusge s a szabad tvolsg aszimptota a 4.22.


plda esetn Gauss csatornn; lvletlen bitkevero, K = 65536, Rc = 1=2 .

4.19. CDMA

281

turb kdokat: igaz ugyan, hogy a minimlis kdtvolsg kicsi, m a viszonylag


kis sly kdszavak szma nagysgrendekkel kisebb lehet, mint a hagyomnyos
hibavdo kdok esetn, amelyek a minimlis tvolsg maximalizlsra trekednek (lsd a 4.23. pldt). Ily mdon a turb kdok tvolsgprofilja sokkal jobban
hasonlt az optimlis vletlen csatornakdok tvolsgprofiljra. Ennek kvetkeztben a turb kdok igen jl viselkednek nagyon zajos csatorna esetben, m
ahogy a jelzaj viszony no, a hibavalsznusg-grbe hirtelen ellaposodik, s a kis
minimlis tvolsg miatt nagy jelzaj viszony esetn mr nagyobb hibt kapunk,
mint mondjuk egy jl vlasztott hasonl komplexits konvolcis kd esetn
(lsd 4.38. bra).

4.19. Kdok konstrukcija tbbszrs hozzfrsu


kdosztsos csatornkhoz (CDMA)
Tegyk fel, hogy T szm potencilis felhasznl egy kzs digitlis csatornn
kvn kommuniklni. A rendszerben maximlisan M felhasznl lehet egyszerre
aktv. Az ppen aktv felhasznlk halmaza a potencilis felhasznlk halmaznak egy vletlen rszhalmaza. ltalnos esetben egy ppen aktivizld felhasznl tetszoleges idopillanatban lphet a csatornba, azaz nem ttelezhetnk fel
idokoordincit a klnbzo felhasznlk kztt. Hasonlan nincs frekvenciakoordinci sem, azaz a teljes rendelkezsre ll svszlessget hasznlhatjk a
felhasznlk. Kvetkezskpp az aktv felhasznlk jelei tkzhetnek a csatornban, amely az tvitt zenetek legalbbis rszbeni srlst okozza.
A klasszikus tbbhozzfrses esetekben ido- vagy frekvenciaosztst alkalmaznak, s gy ortogonlis rszcsatornkra bontjk (idoben illetve frekvenciban)
a kzs csatornt. A mi esetnkben egy ms dimenziban vgezzk el a klnbzo felhasznlk egyideju zeneteinek ortogonalizlst. A mdszer a
kdoszts alkalmazsa. Az egyes felhasznlknak sajt kdot adunk, amelyekkel megklnbztetjk o ket egymstl. Nyilvnval, hogy a kdokat nem lehet
akrhogyan megvlasztani. A kdokra ltetett zenetek, amelyek az egyes felhasznlktl rkeznek, tkznek a csatornban (pl. sszeaddnak), gy a venni
kvnt zenet hasonl struktrj jelekkel keveredve (n. rendszerzajjal) rkezik
a vevobe. A tbbhozzfrses kdosztsos rendszerben a kdols clja eltro a
klasszikus esetekhez kpest, ahol elsosorban hibakontroll (javts, detekci) cljbl alkalmaztunk kdolst. A mostani esetben a kdolssal cmzst is vgznk,
azaz megjelljk vele azt a felhasznlt, aki az zenetet kldi. Ms szemszgbol
nzve viszont, az adott esetben is zajjal, a rendszerzajjal szemben kvnjuk vdeni
az zenetet, ilyen rtelemben a kdvlaszts (adott M felhasznlszm mellett) az
zenetek detektlsi hibavalsznusgt befolysolja. A kdszvlaszts mdjt

282

4. H IBAJAVT KDOLS

azonban nem csak a megkvnt detektlsi hibavalsznusg szabja meg, hanem


egy legalbb ilyen fontos kritrium, a megfelelo szinkronizlhatsg. Emltettk,
hogy az egyes felhasznlk idoben fggetlenl kezdhetnek kommuniklni, gy a
vevo elso feladata digitlis sszekttetsrol lvn sz bizonyos szinkronizmus (a kdszszinkron) megteremtse nmaga s adja kztt. E kettos kvetelmnynek egyfle ciklikusan ortogonalitst mutat kdszhalmaz a multiplexl kdszavak halmaznak (T kdsz) kivlasztsa tehet eleget.
A 90-es vek kezdetre szmos jelentos polgri kommunikcis alkalmazsban is megjelentek a kdosztsos tbbszrs hozzfrsu (CDMA, Code Division Multiple Access) rendszerek (lsd pl. [46]). A kzvetlen sorozat (Direct
Sequence, DS), a lass vagy gyors frekvenciaugratsos (Frequency Hopping,
FH), valamint az idougratsos (Time Hopping, TH) rendszerek kpezik a CDMA
rendszerek alaptpusait. A CDMA lnyege az, hogy nem ttelezi fel az ido- vagy
frekvenciatartomny kzponti szinkronizlst (egy kzpontot).
Lass frekvenciaugratsos (SFH) tbbszrs hozzfrsu rendszer pldjt tekintve a kd T kdszt itteni terminolgiban frekvenciaugrats-sorozatot
tartalmaz. Minden felhasznl szmra kiosztunk egy frekvenciaugrats-sorozatot. A felhasznlhat frekvencik szma q, ahol tipikusan T  q. Felttelezzk,
hogy az aktv felhasznlk informcis egysgeiket (csomag) ezen sorozatoknak megfelelo frekvencikon tovbbtjk. Tegyk fel, hogy az aktv felhasznlk
ugratssorozat-aszinkronok, de csomag-szinkronok, azaz ha egynl tbb felhasznl ad azonos idoszeletben azonos frekvencin, akkor az tkzo csomagok teljes
hosszban tkznek, s egymst megsemmisthetik. Ezt szemllteti a 4.39. bra
M = 2 esetre, ahol a t-edik idoszeletben a 2. frekvencin llt elo tkzs.
Lass frekvenciaugratsos tbbszrs hozzfrsre plda a GSM, ahol a bzislloms a hvskor kioszt egy ugrssorozatot.
Minimalizlni kell az elkerlhetetlen csatornabeli tkzsek hatst, s ehhez
az tkzsek szmt minimalizl, T elemu ugratssorozat-halmazt generlunk.
Ennek elemeit osztjuk ki egy-egy felhasznlnak. Jellje C az n hosszsg, F
bc feletti multiplexl kdszavak halmazt:
n

C = c(1) ; c(2) ; : : : ; c(T )

o
;

c(i) 2 F n :

A C kd teht a tbbszrs hozzfrsu kdolst vgzi, vagy mskpp kifejezve a multiplexlst. A multiplexl kd a htn hordozza az zenetcsomagokat, amely csomagok minimlis szmban trtno srlst kvnja a kdols
garantlni az aszinkron tbbszrs hozzfrsu csatornn val tovbbtsukkor.
Egy tovbbi kdolst, trls- illetve hibajavt kdolst is alkalmazva, lehetosg
van arra, hogy a mgis megsrlt csomagokat kijavthassuk a vevoben. A feladat
ebben a megkzeltsben teht alapvetoen a C kd tervezse, mivel a hibakontroll

283

4.19. CDMA

frekvencia

AAAAAAAAAAAA

..
.

3
2



AAAAAAAAAAAA

AAAAAAAAAAAA


1
1

AAAAAAAAAAAA
AAAAAAAAAAAA


:::



AAAAAAAAAAAA

AAAAAAAAAAAA

:::

AAAAAAAAAAAA

ido

4.39. bra. tkzses FH csatorna.


kdols fzis klasszikus, ismert lps.
A C kd hatkonysgt kdszavai ciklikus tvolsgnak minimumval mrjk, amit kdosztsos rendszertervezoi sztrbl szrmaz ekvivalens korrelcis
fogalmakkal is lerhatunk. E clbl ciklikus auto- valamint keresztkorrelcis
mennyisgeket vezetnk be:



n 1


a = max max f (ct ; ct + )

c2C 0<<n t =0

a C kd autokorrelcis paramtere, valamint




n 1


c = max max f (ct ; b
ct + )

c;b
c2C 0<n t =0
c6=b
c

a C kd keresztkorrelcis paramtere, ahol az indexbeli sszeads modulo n


rtendo. Az f lekpezs vlasztsa az F karakterbctol fggoen a kvetkezo a
tipikus rendszerekben: binris DS rendszerekben, amikor F = f+1; 1g:
f (u; v) = u  v;

ahol u; v 2 f1; 1g, a szoksos skalrszorzs korrelcit kapjuk, ha pedig F


f1; 2; : : : ; qg, q-ris bc, akkor az


f (u; v) =

1; ha u = v
0; egybknt

284

4. H IBAJAVT KDOLS

defincival a Hamming-korrelcit kapjuk. Kt n karakter hossz sorozat kzti


Hamming-korrelci azon karakterpozcik darabszma, amelyben a kt sorozat
azonos karaktereket tartalmaz (azaz a Hamming-tvolsg komplemense). FH
rendszerekben q > 2.
A C kd konstrulsa sorn a
max = max (a ; c )
rtket szeretnnk minl kisebbre belltani.
Rendszertervezoi szemszgbol tekintve kicsi c rtk azrt szksges, hogy
minimalizljuk a klnbzo aktv felhasznlk csatornabeli jelei kzti interferencit (rendszerzaj). Hasonlan a kis a rtkre trekvs a vevo kdszinkronizcis
kpessgeit kvnja nvelni. A max paramter minimalizlsa szimultn szeretn
optimalizlni a a s c rtkeket.
Eddigi jellseinknek megfeleloen
(n; T ; max ; F )

paramterngyessel jellemezhetjk a C kdot, ahol T = jC j. Kt kd egybevetst azonos n szhossz s F bc mellett a T potencilis felhasznlszm s a
max korrelcis paramter alapjn vgezhetjk. Ha csak F rgztett, akkor a Tn s
max
n szhosszra vett relatv paramterrtkeket vethetjk egybe.
4.24. plda. Tegyk fel, hogy q klnbzo frekvencia ll rendelkezsre, s csatorna idoszeletenknt brmelyiket vlaszthatjuk a csatornba adott jel szmra,
teht q-FSK modulcit vgezhetnk. Ez azt jelenti, hogy nembinris kdolst
alkalmazva GF(q) felett dolgozhatunk a csatornakd elksztsekor, ahol q valamely prmszm vagy prmhatvny.
Minden forrsnak kt klnbzo tpus informcit kell a csatornba juttatnia.
Az egyik a forrs (felhasznl) azonostja (cme), a msik az zenet.
Ezen informcik kdolsnak egyik mdja az albbi. A forrs binris sorozatbl kpezznk q-szintu karaktersorozatot, s egy kdszba kdoland zenet
legyen egy karakter, azaz GF(q) egy eleme. Egy megfelelo kd ezen zenet kdolsra egy (q 1; 1) paramteru GF(q) feletti RS-kd. Ekkor a d = n k + 1
sszefggs alapjn d = q 1 addik a minimlis kdsztvolsgra, azaz tetszolegesen kivlasztott kt kdsz minden koordintban klnbzik egymstl. A
kd genertorpolinomja lehet a
g(x) = (x

1)(x

)  (x

ahol a GF(q) primitv eleme. Knnyen belthat az


(x

)g(x) = x

q 1

);

285

4.19. CDMA

felhasznlsval, hogy
g(x) = xq

q 2 q 3

q 3 q 4

 + 2x +

ha q = 2l alak. gy a kdszavakat az (1; q 2 ; q 3 ; : : : ; ) vagy ekvivalens


kdot hasznlva az A = (1; ; 2 ; : : : ; q 2 ) GF(q) feletti vektornak az zenettel (GF(q) elemmel) trtno szorzsa generlja. A klnbzo zenetekhez rendelt
kdszavak az A vektor elemeinek ciklikus eltolsval generlhatk. Innen is lthat, hogy a kdszavak egymstl azonos, q 1 tvolsgra vannak.
Ennl a fajta kdolsnl minden felhasznl azonos kdot hasznl az zenetek kdolsra, teht ez multiplexlsra nem j. Egy jabb kdolssal a forrs
azonostjval is megjelljk az egyes forrsok fenti mdon kdolt zeneteit.
Hasznljuk az i-edik forrs azonostjul az
i 1 1 = ( i

;:::;

n  q 1 hossz vektort, i = 1; 2; : : : ; q 1, s az azonostnak az zenetkdszra


trtno rkdolst a
(4.70)
c(i;) = A + i 1 1
formula felhasznlsval vgezzk, ahol 2 GF(q) a pillanatnyi zenet. Maximlisan q 1 felhasznl lehet egy rendszerben, hiszen ennyi azonostt oszthatunk
ki. A rendszerben kdszszinkront felttelezve az i- illetve j-edik felhasznl
c(i;) illetve c( j;) kdszavai legfeljebb egy koordintjukon egyezhetnek meg,
azaz a klnbzo felhasznlk kdszavainak minimlis tvolsga q 2. Aszinkron esetben, amikor a kdszavak tfedsben vannak, a c(i;) kdsz a vele tfedodo
c( j;) s c( j;) kdszfelekkel sszesen legfeljebb kt koordintjn tkzhet.
A kdszavak brzolsra ido  frekvencia mtrix hasznlatos, amely egy
(q 1; q) mret
u binris mtrix az adott esetben, s azon eleme 1 rtku, amely
koordintknak megfelelo cellt tvitelre felhasznlunk.
ltalban nem kldik t a teljes kdszt, hanem nhny koordintt trlve
rvidtik azt. A c(i;) kdsz kifejezst tekintve, lthatan nem vesztnk informcit az (i 1 ; )-ra nzve ezzel a rvidtssel. A kdsz rvidtsvel viszont
cskkentjk a tbbi forrs kdszavai okozta rendszerzajtl val megklnbztethetosgt. Adott bit/sec sebessgu forrs csatornakdolsa ilyen kis sebessgu kddal, a frekvenciatartomnyban nagy svszlessgnvelst jelent. (Emiatt
ezen kdosztsos rendszerekre a szrt spektrum (spread-spectrum) elnevezst
is hasznljk.)
A fentiekben lert kdolsra vegynk egy kismretu illusztratv szmpldt,
ahol legyen q = 8. Legyen 2 GF(8) a primitv elem, amelyre 3 + + 1 = 0.

286

4. H IBAJAVT KDOLS

Alkalmazzuk az i $ i 1 megfeleltetst a nemzrus testelemekre, ekkor (4.70)


alapjn a 3 karakterrel rvidtett kdszavak a kvetkezok:
(0; 0; 0; 0)

(1 ; 2 ; 3 ; 4 )

(2 ; 3 ; 4 ; 5 )

(3 ; 4 ; 5 ; 6 )

(4 ; 5 ; 6 ; 7 )

(5 ; 6 ; 7 ; 1 )

(6 ; 7 ; 1 ; 2 )

(7 ; 1 ; 2 ; 3 )

Pldul, ha a harmadik forrs az 5 zenetet kvnja tvinni, akkor a


c(3;5) = (5; 6; 7; 1) + (3; 3; 3; 3) = (2; 4; 1; 7)
kdszt kldi el.
A dekdols a kdols inverz muvelete. Helyezzk el a forrsok pillanatnyilag kldtt kdszavait az ido  frekvencia mtrixba. Legyen pl. M = 3 s
c(1;2) = (4; 7; 2; 6); c(2;7) = (6; 4; 0; 5); c(3;5) = (2; 4; 1; 7) az egyes kdszavak, ekkor a dekdols inputja az albbi binris vett mtrix:
frekvencia

7
6
5
4
3
2
1
0

0
B1
B
B0
B
B1
B
B0
B
B1
B
0
0

1
0
0
1
0
0
0
0

0
0
0
0
0
1
1
1

1
1C
C
1C
C
0C
C
0C
C
0C
C
0A
0

0 1 2 3

ido

Az ido  frekvencia mtrix nemzrus elemeit oszlopaikon bell permutljuk.


Eloszr a nemzrus elemek sorindexbol (mint GF(8) testelembol) kivonjuk a dekdolni kvnt zenet forrsnak azonostjt, majd az eredmnyl kapott mtrix
nemzrus elemeinek sorindext oszloponknt, rendre az 1; 1 ; 2 ; : : : ; (q j 2)
elemekkel szorozzuk. Ezen muveletekkel valban a kdols inverzt vgeztk el.
A muveletek eredmnyekppen kapott mtrix azon sorban, amely a venni kvnt
felhasznl pillanatnyi zenetnek felel meg, csupa 1 ll.
Szmpldnkat folytatva az ido  frekvencia mtrix a dekdols sorn az

287

4.19. CDMA

albbi alakra transzformldik az elso felhasznl zenetnek dekdolsa sorn:


7
6
5
4
3
2
1
0

0
B0
B
B1
B
B1
B
B0
B
B1
B
0
0

0
0
0
0
0
1
1
0

0
1
0
0
0
1
0
1

0
0C
C
0C
C
0C
C
1C
C
1C
C
1A
0

0 1 2 3
Valban (1; 1; 1; 1) ll a 2. sorban, amely a = zenetnek felel meg. A
dekder feladata teht megllaptani, hogy melyik sor tartalmaz csupa 1-est.
Mivel egyszerre tbb felhasznl is kld a csatornba, ezrt elofordulhat, hogy
egynl tbb sor is csupa 1-esbol ll, s ekkor a dekdol vletlenszeru vlasztsra
van utalva ezen sorok kztt, azaz dekdolsi hiba keletkezhet. Mivel az adott
kdolsnl a klnbzo felhasznlk kdszavai a mtrix egy adott sorba csak
egy 1-est adhatnak, ezrt karakteres rvidts esetn ha M  q 2, akkor
hibamentes tvitel biztosthat elvileg. Szmpldnkban ez az M  3 felttelt
jelenti.
Pldnkban kdszszinkron esetet tekintettnk hallgatlagosan, mg a gyakorlati eset a kdszavak aszinkronizmusa. A fenti kdkonstrukci ebben az esetben is jl hasznlhat, de aszinkronizmus esetn nvekszik a kdsztveszts valsznusge a kdsztlapolds miatt.

Cellulris mobilis CDMA rditelefnia pldja


Az IS-95 CDMA rendszer:
A CDMA elvnek legkiteljesedettebb polgri alkalmazst jelenti a cellulris mobilis CDMA rditelefnia. A CDMA megolds igazi elonyei cellulris rditelefnia alkalmazsban a hlzati funkcik alaposabb tanulmnyozsa s megrtse
kapcsn derlnek ki, amelynek rszleteire (helyszuke miatt) itt nem tudunk kitrni. A fizikai szintu vonatkozsok, mint a modulci, kdols, szinkronizci,
megoldsaik paramter-rtkeiben ugyan lehetnek specilisak a CDMA rendszerekben, de alapvetoen nem klnlnek el a vezetknlkli digitlis kommunikcis rendszerek alapveto problmitl, megoldsaitl.
Ugyanakkor a cellulris CDMA hlzati szintu koncepcijnak alapveto specilis elemei vannak, s nagyrszt ezeken mlik a cellulris CDMA jelentos kapa-

288

4. H IBAJAVT KDOLS

- konvolcis
kdol

WalshHadamardkdols

PN2
- kdols

PN1
- kdols

4.40. bra. A cellulris CDMA kdols tmbvzlata.


citselonye a konvencionlis rendszerekhez kpest.
A cellulris CDMA sszetett s hatkony kdolsi rendszere egyidejuleg megoldja a
a) klnbzo egyideju, azonos frekvenciasvban kommunikl jelek kdolssal trtno multiplexlst (CDMA),
b) a zajos, fadinges (vletlenszeru jelcsillapodsos) csatornn trtno tvitel
minosgt biztost hibakontroll kdolst,
c) privt (kommercilis szinten vdett) kommunikci biztostst.
A CDMA CAI [1] specifiklja a CDMA jelalakok tervezst, kztk a frekvenciaosztst, az lvletlen sorozatokkal trtno kdosztst, s az ortogonlis jelmultiplexlsi technikt.
A mobil ! bzislloms (uplink) s a bzislloms ! mobil (downlink)
csatornban hasonl jelkpzsi elvek rvnyeslnek. Vannak azonban rendszertechnikai klnbsgek, ezrt a jelkpzs tmbvzlat jellegu ttekintst kln vgezzk a kt kommunikcis irnyra.
Bzislloms ! mobil csatorna:
A kdolsi rendszer elemei:






konvolcis kdol (hibajavts)


WalshHadamard-kdols (multiplexls egy szektoron bell)
PN2 kdols (privt kommunikci)
PN1 kdols (multiplexls klnbzo szektorok, cellk kztt)

A tmbvzlatot a 4.40. brn lthatjuk. Egy cella egy szektrorn belli aktv
mobilok megklnbztetse (jeleik kdmultiplexlsa) binris ortogonlis kdok
(WalshHadamard-kd) alkalmazsval trtnik. A tipikus kdszhossz 64, az
ortogonlis kdszavak szma 64. Ezzel 64 csatorna kpezheto egy szektoron bell, amelybol egy a pilotcsatorna (jelzstvitel) cljra van lefoglalva.
A koherensen (azaz vivofzis-helyesen), kdszinkronban mukdo egy szektoron belli downlink jeleket az ortogonlis kdok alkalmazsa hatkonyan szeparlja.

289

4.19. CDMA

downlink CDMA csatorna

pilot
csatorna

forgalmi
csatorna

forgalmi
csatorna




forgalmi
csatorna

forgalmi
csatorna

62

63

teljestmny
szablyozs

adat

4.41. bra. Ortogonlis kdmultiplexlsos csatornakpzs a downlink csatornban.


A k paramteru WalshHadamard-kd kdszavainak halmaza a 2.5. szakaszban mr megismert egyszeru rekurzv konstrukcival llthat elo. A generlt
C(2k ; k; 2k 1 ) kd szavait az A2k mtrix soraibl kpezik. Illusztrci kedvrt az
albbiakban megadjuk a 8 elemu WalshHadamard-kd elemeit (+1 amplitd
! 0 bit, 1 amplitd ! 1 bit a megfeltets):
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1

1. kdsz
2. kdsz
3. kdsz
4. kdsz
5. kdsz
6. kdsz
7. kdsz
8. kdsz

Brmely kt kdsz skalris szorzata zrust eredmnyez, mivel fele koordintn egyezo, feln ellenkezo elojeluek az elemek.
lvletlen (pszeudorandom, PN1) sorozatokkal trtno kdols segtsgvel
klnbztetik meg a klnbzo szektorok s cellk mobiljainak jeleit a downlink csatornban, azaz ezen az ton trtnik a tbbhozzfrses fzisugratsos
kdmultiplexls. A WalshHadamard-kd fizikai sebessge megegyezik az gynevezett chip-sebessggel, azaz a PN1 kdols temnek megfelelo.

290

4. H IBAJAVT KDOLS

A klnbzo cellk s szektorok sajt PN1 kdjai egy alapkdfzis klnbzo


idotolsaival llnak elo, mg egy cella egy szektorban az sszes aktv mobil PN1
kdja azonos idofzis. Az idotols megoldsnak a mukdokpessge a PN1 kdok autokorrelcis tulajdonsgn alapszik, miszerint ha az idotols az alapkd
kt szrmaztatottja kztt legalbb egy chip-ido (chip = elemi jel, a PN1 kd egy
eleme), akkor elegendo hossz idoablakban korrelcit kpezve, a korrelci rtke az idoablak hosszval a zrushoz tart.
A PN1 kdokat linerisan visszacsatolt shiftregiszteres (LFSR) genertorokkal lltjk elo. A generlt sorozat peridushossza 32768 chip-ido. A PN1 chipsebessg 1:2288 MHz, amivel pontosan 128 chip esik a 9600 bit/s sebessgu forrs minden bitjre. A kvadratra modulci kt gn kt klnbzo genertor
PN sorozatokkal kdolnak, azaz ngyfzis PN1 modulcit alkalmaznak.
A rendszer hasznl egy igen nagy peridus (peridushossz = 242 1) PN2 sorozatot is, amelyet mobilcmhez vlasztott egyedi fzistolssal rendelnek az egyes
felhasznlkhoz. Mivel minden egyes eltolshoz egy cm tartozhat, ez igen nagy
felhasznlszm melletti megklnbztetst tesz lehetov. A chip-sebessggel
fut PN2 sorozat chip-idobeli XOR-ral one-time-pad jellegu, kommercilis krlmnyek kztti bizalmast (confidential) mrtku vdelmet nyjt.
A downlink jelalaktervezs nagyban tmaszkodik a bzisllomstl sugrzott
pilotjel jelenltre, ami lehetov teszi a koherens vtelt. A viszonylag nagyszintu
pilotjel igen pontos kvetst tesz lehetov a mobilok szinkronizl egysgei szmra. A pilot csatornabeli jelkpzs mdja olyan, mintha egy kln adatcsatorna lenne, amelyben csupa 0 adat kerl tovbbtsra, azaz csupa 0 Walsh
Hadamard-kdsz (64 db 1) ismtlse l a PN1 kd kvadratra prjn.
A mobil szinkronizl a PN1 kdra, keresve azt a fzishelyzetet, ahol a maximlis autokorrelci addik a vett s az ltala generlt sorozat kztt. Vgigkeresi
a teljes peridust (32768 chip), s a legerosebb autokorrelcis rtknek megfelelo
fzishoz tartoz bzisllomst tekinti legkzelebbi bzisllomsnak. Miutn megtrtnt ezen szinkronizls a legkzelebbi bzislloms pilotjele PN1 kdjra, a
kvetkezo lps a vivoszinkronizls a pilotjel felhasznlsval. Ezen szinkront
tartva a megfelelo WalshHadamard-kdsz alkalmazsval a forgalmi csatornkon (max. 63) a mobil alkalmas a PN1 + PN2 + WalshHadamard-kdols lefejtse utn a hibakontroll konvolcis kd dekdolsra.
Mobil ! bzislloms csatorna:
Az uplink csatornban a WalshHadamard-kd alkalmazsa mskppen trtnik, mint a downlink csatornban. Nevezetesen a downlink csatornban a bzislloms fixen egy-egy ortogonlis csatorna kpzshez hasznlja fel a 64 kdszhossz, 64 kdszbl ll WalshHadamard-kd egy-egy kdszavt, az uplink
csatornban viszont az zenetbitek 6 bites csoportjai folyamatosan cmzik meg a

4.19. CDMA

291

megfelelo WalshHadamard-kdszt, azaz az nem fix, hanem a bitfolyamtl fggoen vltoz. A mdszer a szuperortogonlis konvolcis kdols. gy is fogalmazhatunk, hogy ezzel 64 szintu ortogonlis jelkszletu modulcit valstunk
meg. Ezzel a mdszerrel egy igen j minosgu csatorna alakthat ki fadinges krlmnyek kztt, alacsony jel/zaj viszony mellett anlkl, hogy pilot referencia
jelre kellene tmaszkodni. (Erre a kdolra a tmbvzlat tovbbi elemeinek rvid
ismertetse utn rszletesen visszatrnk.)
Az uplink csatornban ugyancsak alkalmazsra kerlnek a PN1 s PN2 lvletlen kdok.
A kdolsi tmbvzlatunk ezzel mg nem teljes, mivel a CDMA kdrendszer
igen eroteljesen tmaszkodik a kdtfuzs alkalmazsra is. Ha a vteli jelteljestmny idoben vltozik, ezzel egytt vltozik a demodultor bemenetn a bitenergia, kvetkezskppen a jel/zaj viszony, ezltal a demodulcis (nyers) bithibaarny is. Javulshoz vezethet megfelelo diverzity alkalmazsa. (Diverzity rendszerben ugyanazt az informcit kt klnbzo csatornn viszik t. Mukdsnek
alapja az, hogy kisebb annak a valsznusge, hogy egyidejuleg mindkt csatornn
rossz tviteli fggvny alakul ki, mint annak, hogy a ketto kzl csak az egyiken.)
A CDMA rendszerben idodiverzityt valstanak meg kdtfuzs felhasznlsval.
Blokktfuzs esetn ez azt jelenti, hogy I  J mretu blokkba gyujtjk az egytt
tfuzendo I  J szimblumot (chip, bit, sz, stb. egysget), soronknt egymsutn tltve fel a blokkot. Ezutn oszloponknt olvassuk ki a csatornba a blokk
elemeit. A vevoben ennek inverzt elvgezve az eredeti sorrendet hozzuk ltre.
Ezltal a csatornban idoben szomszdos szimblumok az tfuzs visszafejtse utn J szimblumido tvolsgra kerlnek. Ennek az a haszna, hogy J szimblumidonl kisebb tlagos fadingidotartamok esetn fadinghats szempontjbl
fggetlen energikkal kerlnek szomszdsgba a szimblumok, azaz ltrejn az
idodiverzity.
A 4.42. brn lthat a K = 9 knyszerhossz (regiszterhossz + 1), 12 kdsebessgu, 753 s 561 genertor (oktlis brzols), d = 12 szabad tvolsg
binris konvolcis kd genertora, amely a downlink csatorna hibajavt kdolja.
A megcsapolsok helyeit az oktlis brzols G1 = 753 s G2 = 561 genertorok adjk. Ez azt jelenti, hogy binris brzolsban 110 101 111 (357) valamint
100 011 101 (165) 1-eseinek megfelelo pozcikban csapoljuk meg a lptetoregisztert. (A rendszerben hasznlatos mg 13 sebessgu kdol is, amely d = 18
szabad tvolsg, K = 9 knyszerhossz, G1 = 711; G2 = 663; G3 = 557 megcsapols genertorokkal rendelkezik. Az emltett 21 illetve 31 sebessgu kdok a
leheto legnagyobb szabad tvolsggal rendelkeznek az adott knyszerhossz mellett.)

292

4. H IBAJAVT KDOLS

m m mmmm

- + - + - +- +- +- + Q
6
6
6 6 6 6 QQQ
Qs Qk
Q 3

- +?- +?- +? - +?

r
r

mmm m

4.42. bra.

1
2

kdsebessgu konvolcis kdol.

ortogonlis blokk-kdol

r-

6 6 6 6 6 6 6

- +? 6

4.43. bra. A szuperortogonlis konvolcis kdol.


A 4.43. brn lthatjuk a szuperortogonlis konvolcis kdol blokkvzlatt.
Az m bites lptetoregisztert m 1 belso pontjn megcsapoljuk, s ez az m 1
bites blokk cmez meg egy WalshHadamard-kdszt, amelynek kdszhossza
2m 1 . A 4.43. brn ezt a kdszkivlasztst vgzi az ortogonlis blokk-kdol.
A szuperortogonlis kd teht egy binris konvolcis kd s egy ortogonlis
blokk-kd hibridje. A szuperortogonlis konvolcis kdol inputjn egy bit belpsekor kiszmtdik a shiftregiszter llapotnak megfelelo ortogonlis kdsz,
s ehhez hozzaddik a bemeneti (b1 ) s a shiftregiszter aktulis kimeneti (b2 ) bitjnek 2m 1 -szeres ismtlsvel kapott sz, azaz
kimeneti sz = ortogonlis kdsz  (b1 ; b1 ; : : : ; b1 )  (b2 ; b2 ; : : : ; b2 ):
Ha teht b1 6= b2 , akkor a kimeneten az ortogonlis kdsz bitenknti invertltja
jelenik meg.

293

4.19. CDMA

 

6


--

-    
kezd

IW 2
1

6IW

6IW

2 I
m

W2
3

vge

IW
4.44. bra. A reduklt llapottmenet-grf.
A kdol kicsi sebessgu, azaz egy bit belpsekor a kimeneten 2m 1 bites
sz jelenik meg, R = 2m1 1 .
A szuperortogonlis kd figyelemre mlt tulajdonsga egyrszt viszonylag
knnyu analizlhatsga, msrszt kivl hatkonysga (mindennek ra a kis sebessg). Az ortogonlis szavak prjai pontosan fele bitjkben klnbznek, teht a zrus sly vektortl pontosan v = 2m 2 bitben klnbznek. A reduklt
llapottmenet-grf lthat a 4.44. brn, amely jl kvetheto a kdol blokksmja alapjn. A kezdeti s vgllapot a regiszter csupa 0 llapotnak felel meg
(hasonlan ahhoz, ahogy a 4.30. bra kapcsn eljrtunk). A kezdeti llapotbl
egy 1 bit belptetsvel lpnk ki. A kezdeti s vgllapot kztti i-edik llapot
(i = 0; 1; : : : ; m 1) annak felel meg, hogy a regiszterben milyen hossz csupa 0
bitbol ll sorozat tallhat az input oldali cellkat tekintve.
A 4.18. pldban megismert transzfer fggvny szmtsnak egy gyakorlati
pldjt mutatjuk be ennek kapcsn. Az ott megismert jellsekkel a blokksmban a


W

2m

=D =D

1=(2R)

=D

jellst hasznltuk, tovbb I szorz azon az len ll, amely az 1 adatbit kdolba
lptetsvel generldott, mg az I szorz hinya W elott azt jelenti, hogy az l 0
adatbit kdolba lptetsvel generldott.
-gal jelltk meg a hrom, kln magyarzatot ignylo let. Az 1 l 1 adatbit belptetsekor keletkezik az azelott zrus llapot kdolban, azaz a zrus
tbl legaz elso l. A kdol vzlata alapjn jl lthat, hogy ekkor ennek a
bitnek a hatsaknt a csupa 1 kdsz jelenik meg a kimeneten, azaz amelynek slya 2v (= 2m 1 ) (a W 2 jells pontosan ezt fejezi ki, mivel W defincija szerint
a sly a kitevoben szerepel). Hasonl a magyarzat a 3 l esetn is, csak ott a hatst a kilpo 1 bit okozza. A 2 l esetn a belpo s kilpo bit 1, mod 2 sszegk
0, s az ennek megfelelo csupa 0 sz (v = 0 sly sz) jelenik meg a kimeneten.

294

4. H IBAJAVT KDOLS

A fenti reduklt folyamatgrf alapjn felrhat transzfer fggvny a kvetkezo:


IW m+3
:
T (W ; I ) =
1 I (W + W 2 +  + W m 2 + 2W m 1 )
Innen a bithibaarny sszefggs

Pb <

dT (W ; I )
dI I =1;D=Z

Z (m+3)v
(1 2Z v )2

1
1

2

Zv
Z (m

1)v

ahol Z az egy binris csatornaszimblum dekdolsi hibavalsznusgre vonatkoz Bhattacharyya felso becsls:
Z=

Z p

p0 (y) p1 (y) dy:

Emlkezetnlkli csatorna esetn, ha kt csatornabeli sz m csatornabitben klnbzik, akkor annak valsznusge, hogy tves lesz a dnts, Z m -mel fellrol
becslheto. Gaussi csatorna esetn


Z = exp

Es
N0


;

ahol Es a csatornabitre jut energia, azaz Es = REb .


Az UMTS rendszer:
Az UMTS (Universal Mobile Telecommunications System) a harmadik genercis nyilvnos mobil tvkzlo rendszercsald (IMT2000, International Mobile Telecommunications) eurpai tagja [23]. Fontosabb jellemzoit 1998-ra rgztettk,
s azta vrol vre n. ReleaseXXXX formban teszik kzz a szabvnyosts
aktulis llapott.
Az UTRA (UMTS Terrestrial Radio Interface) az UMTS fldfelszni rdis
interfsz csatornahozzfrsi technolgija a szlessv DS-CDMA. A rdis interfsz tmogatja mind a frekvenciaosztsos (FDD, Frequency Division Duplex),
mind az idoosztsos (TDD, Time Division Duplex) zemmdot. FDD esetn a felhasznltl a cellakzpont irnyban (uplink), illetve a cellakzponttl a felhasznlk irnyban (downlink) a kommunikci kt kln frekvenciasvban folyik.
TDD esetn azonos frekvenciasvban idoben kerl a kt irny sztvlasztsra.
A rendszer beszdtvitelt s nagysebessgu adattvitelt biztost, szles sebessgtartomnyban nyjt szolgltatst a felhasznlnak. A felajnlott bitsebessgek a 162048 kbit/sec tartomnyban 2 hatvnyainak megfelelo rtkek lehetnek.
Klnbzo szolgltatsi minosgeket (QoS, Quality of Service) tud felajnlani a

4.19. CDMA

295

rendszer, mely le kvnja fedni a klasszikus mobil szolgltatsokat, de az pleten


belli adat- s beszdkommunikcit is. Mobil felhasznlk esetn a makrocellban 500 km/h sebessgig 144 kbit/sec adatsebessget, mikrocellban 120 km/h
sebessgig 384 kbit/sec adatsebessget, pikocellban 10 km/h sebessgig 2048
kbit/sec adatsebessget tud felajnlani a rendszer.
Az UMTS kdolsi alrendszere komplex s varibilis, igazodik a klnbzo
szolgltatsokhoz (sebessg, QoS). Az UMTS rendszerben hasznlt csatornakdok kt alapveto funkcija a tbbhozzfrses kdosztsos csatornakpzs illetve
a klasszikus hibakontroll (hibajavts, hibadetekci) kdols. Az UMTS kdolsi rendszere sok rokon vonst mutat az IS-95 CDMA rendszervel, de alapvetoen annl gazdagabb, rszletezobb a sokfle szolgltats kapcsn.
Hibajavt kdok cljra konvolcis kdot, ReedSolomon-kdot, turb kdot hasznlnak. A kdok sebessge a szolgltatshoz illeszkedoen klnbzo lehet. A tipikusan csoms hibj kommunikcis csatornkon kdtfuzs (interleaving) alkalmazsa alapveto kdkombincis technika. A klnfle tviteli sebessgekhez, adott kerethosszak mellett klnbzo kdsebessgek szksgesek.
A sebessgek ezen illesztsnek fontos kdmdost technikja a kdszbitelhagys (puncturing). Konvolcis kdok tipikus paramterei: R = 1=2; R = 1=3 sebessgek, valamint K = 9 knyszerhossz. A beszdcsatorna (ltalban valsideju
vagy interaktv szolgltatsok csatornja) hibajavtsa esetn, ahol a ksleltetsmegszorts miatt rvidebbek a kdszhosszak, kevesebb komponens tfuzse
engedheto csak meg, a szerencsre tipikusan nagyobb megengedheto dekdolsi
bithibaarnyok (BER, Bit Error Rate) rovsra. Nem valsideju szolgltatsok
esetn, mint pldul adattvitel, az alacsony dekdolsi bithibaarny a kritikus
szempont, ezrt nagyobb kdtfuzs, ltalban nagyobb blokkmretek, hatkonyabb javts alkalmazhat.
Pldaknt tekintsk egy kissebessgu beszdcsatorna, illetve egy nagysebessgu adatcsatorna hibakontroll kdolsnak lpseit s paramtereit. FDD mdban az gynevezett DCH (Dedicated Channel) radio unit elolltsa a kvetkezokpp trtnik: a 8 kbit/sec sebessgu G.729 beszdkdol 80 bitet llt elo
10 msec hossz idokeretben. Ehhez a 80 bithez 16 bit CRC kerl kiszmtsra,
amely kdolsi lps sorn 96 bites, hibadetekcira alkamas kdszt nyernk. Az
R = 1=3; K = 9 paramteru konvolcis kdol 8 bites shiftregiszternek nullzsa (blokk-kdol md) cljra 8 bitet (tail) illesztnk a 96 bites szhoz, amivel 104 bites kdoland zenet kapunk, majd ennek konvolcis kdolsval
3  104 = 312 bites kdszhosszra jutunk. Ezen 312 bites kdszavak kerlhetnek
ezutn tfuzsre.
TDD mdban a 2048 kbit/sec sebessgu adatcsatorna hibakontroll kdolsnak lpsei a kvetkezoe: 10 msec hossz idokeretben ezen sebessg mellett

296

4. H IBAJAVT KDOLS

20480 adatbit keletkezik. R = 200=210 sebesssgu ReedSolomon-kdolssal


20480  200=210 = 21504 bites kdszt kapunk. Ehhez X szm jelzsbitet, valamint 16  8 = 128 nullz bitet (tail) illesztnk, amivel 21504 + X + 128 bites
szt nyernk. 16 komponensre sztvlasztva ezen szt, s R = 2=3 sebessgu konvolcis kdolst alkalmazva (21504 + X + 128)  3=2 = 32245 + 3X =2 + 192 bites kszt kapunk. Ebbol kdszbitelhagys muvelettel Burst 1 kpzse esetn
3900 + 3X =2 bitet, Burst 2 kpzse esetn 3744 + 3X =2 bitet elhagyva, kapjuk
a vgso szhosszakat, amelyek 28548 bit (Burst 1), illetve 28704 bit (Burst 2)
mretet jelentenek.
Hasonlan, mint az IS-95 CDMA esetn, a kdosztsos tbbhozzfrse csatornakpzs kdolsi eljrsai egyrszt a sajt cellbl, illetve a krnyezo cellkbl szrmaz egyideju, azonos ido- s frekvenciacsatornban tallhat interferl jelek (MAI, Multiple Access Interference) csillaptsra (scrambling codes), msrszt ortogonlis csatornk kpzsre szolglnak (channelization codes).
Az utbbi, a csatornakpzo kdok az IS-95 CDMA rendszernl elmondottakhoz hasonlan WalshHadamard-kdra plnek, amelybol azonban az UMTS
esetn n. Orthogonal Variable Spreading Factor (OVSF) kdcsaldot kpeznek.
Ezen kdokat egy n. kdfbl szrmaztatjk, ahol a gykrtol a levelek fel haladva egyre hosszabb kdok tallhatak. Jentosgk, hogy nemcsak az azonos,
hanem a klnbzo hosszsg kdok is ortogonlisak egymsra, ezltal kivlan alkalmasak a klnbzo adatsebessgu csatornk megklnbztetsre, mikzben az eredo bitsebessget konstanss teszik.
Downlink irnyban pedig az egyazon cellban tartzkod felhasznlk jeleinek ortogonalizlsa oldhat meg OSVF kddal. Mivel az OSVF kdok halmaznak mrete nagy felhasznli populcikhoz kicsi, ezrt azok cellnknt jrafelhasznlsra kerlnek. Az OSVF kdok kdszszinkron esetn nyjtjk az
ortogonalits tulajdonsgt, aszinkron esetben azonban igen kedvezotlen a korrelcis viselkedsk. Kvetkezskppen a szomszdos bzisllomsok ltal sugrzott OSVF kdok minden tovbbi intzkeds nlkl elviselhetetlen zavarjelet
generlnnak. Megoldsul az IS-95 CDMA PN1 kdjnak az itteni terminolgia szerinti scrambling kdok szolglnak. Downlink irnyban 241 1 szhossz,
hossz Gold-kdok klnbzo szeleteit osztjk ki a klnbzo cellknak, amely
szeletek kedvezo aszinkron keresztkorrelcis tulajdonsggal rendelkeznek.
Uplink irnyban minden felhasznl hasznlhatja ugyanazt a csatornakpzo
kdot. Ezen irnyban mind a 241 1 szhossz Gold-kdok szeleteit, mind a
256 bites szhossz Kasami nagy halmaz (VL-Kasami, Very Large set) szavait
hasznljk. Ezen rvidebb szhossz kd alkalmazsa jelentosen egyszerusti a
tbbfelhasznls detekci (multiuser detection) algoritmus implementlst a bzisllomson.

297

4.20. F ELADATOK

4.20. Feladatok
Lineris blokk-kdok
4.1. feladat. Egy f0; 1; 2g kdbcju GF(3) feletti lineris kd genertormtrixa:


1021
G=
0122
Adja meg a kdszavakat, valamint a d minimlis tvolsgot!
4.2. feladat. Egy linerisbinris kd paritsellenorzo mtrixa
H = 1 1 1 1 1 1 . Adja meg a kd kvetkezo paramtereit: n; k; d, kdszavak szma!
4.3. feladat. Egy lineris binris blokk-kd genertormtrixa:


10110
01101

G=
Adja meg
a) a kd paramtereit: n; k; d,
b) standard elrendezsi tblzatt,
c) szindrma dekdolsi tblzatt,

d) a kdsz dekdolsi hibavalsznusget emlkezetnlkli BSC(p) esetre!


4.4. feladat. Egy lineris binris kd paritsellenorzo mtrixa:
0

11100

H = 10010A
11001
Adja meg a szindrma dekdolsi tblzatot!
4.5. feladat. Egy lineris binris kd genertormtrixa az albbi:
0

101011
G = 011101A
011010

298

4. H IBAJAVT KDOLS
Adja meg:

a) egy ekvivalens szisztematikus kd genertor- s paritsellenorzo mtrixt,


b) a dulis kd kdszavait (dulis kd = a paritsellenorzo mtrix mint genertormtrix ltal generlt kd).
4.6. feladat. Adja meg a GF(4) feletti C(4; 2) paramteru,


G=

1022
0112

genertormtrix kd szindrma dekdolsi tblzatt! (0 $ 0; 1 $ 1; 2 $ x;


3 $ x + 1)
4.7. feladat. Definiljon egy (5; 3) paramteru GF(4) feletti kdot a genertormtrixa, amely
1
0
10011
G = 01012A :
00113
a) Mennyi a kd minimlis tvolsga?
b) Perfekt-e a kd?


c) Mi lehetett az tkldtt kdsz, ha a vett sz 1 ? 1 3 ? ?


A kd tisztn 0; 1 elemeket tartalmaz kdszavakat is tartalmaz.
d) Adja meg a binris kdszavakat!
e) Igazolja, hogy ezen binris kdszavak rszkdot alkotnak az eredeti kdban!
f) Adja meg ezen rszkd (n; k; d ) paramterhrmast!
g) Adja meg a rszkd genertormtrixt!
4.8. feladat. Egy GF(5) feletti (5; 3) paramteru lineris kd kdszavai kztt
vannak a (0; 1; 0; 1; 2), (1; 0; 0; 1; 4), (0; 0; 1; 1; 3) szavak is. Adja meg a kd hibajavt kpessgt!
4.9. feladat. Adja meg egy (21; 18) paramteru GF(4) feletti, egy hibt javt kd
paritsmtrixt s genertormtrixt.

299

4.20. F ELADATOK

4.10. feladat. Adja meg a legkisebb kdszhossz GF(3) feletti, 1 hibt javt,
k = 2 zenethossz szisztematikus kdot paritsellenorzo mtrixval!
4.11. feladat. Ltezik-e C(n; k), n k = 2, GF(3) feletti 1 hibt javt kd? Ha
igen, adja meg szisztematikus mtrixaival!
4.12. feladat. Adja meg a C(n; k = 1) paramteru binris kd C0 dulis kdjt
(dulis kd = paritsellenorzo mtrix mint genertormtrix ltal generlt kd), s
annak paramterhrmast! Adja meg C0 szavait n = 4 esetn!
4.13. feladat. Ltezhet-e olyan GF(q) feletti lineris blokk-kd, amelynek genertormtrixa egyben a kd paritsellenorzo mtrixa is? Ha vlasza igen, mutasson
pldt r, mind q = 2, mind pedig q > 2 esetben.
4.14. feladat. Valaki azt lltja, hogy ha egy C(n = 2m 1; k) lineris binris
kdnak a csupa 1 kdsz eleme, akkor pontosan eggyel kevesebb pros parits
nemzrus kdszava van, mint pratlan parits. Igaza van-e?
4.15. feladat. Legyen C(n; k) egy lineris binris blokk-kd, amelynek genertormtrixban nincsen csupa zrus oszlop. Igaz-e, hogy az sszes kdsz egyeseinek
sszestett darabszma n  2k 1 ?
4.16. feladat. Egy GF(q) feletti lineris blokk-kd paritsellenorzo mtrixa


H=

1 1 1
1 2




1
q

ahol a test primitv eleme. Adja meg a kdtvolsgot!


4.17. feladat. A legegyszerubb konstrukcij hibajavtsra mr alkalmas nemtrivilis kd a ktdimenzis binris paritskd. (Az zenetet mtrixba rendezzk,
soronknt s oszloponknt paritsbittel egsztjk ki, majd a jobb als sarokba
rjuk a paritsok paritst.) Mennyi a minimlis tvolsg?
4.18. feladat. Igazolja, hogy a ktdimenzis binris paritskd jobb als paritselemt (azaz a paritsok paritst) kpezhetjk akr a sorparitsok paritsaknt,
akr az oszlopparitsok paritsaknt, azaz mindkt esetben azonos eredmnyre
jutunk.
4.19. feladat. Egy binris blokk-kdot a 2.5. szakaszban megismert WalshHar
damard-mtrix segtsgvel lltunk elo. A generlt C(2 ) kd szavai az A2r mtrix
soraibl, valamint azok komplemenseibol lljanak.

300

4. H IBAJAVT KDOLS

a) Lineris-e a kd?
r

b) Adja meg a C(2 ) kd n; k; d paramtereit r fggvnyben!


4.20. feladat. Konstruljon egy GF(q), q = 2m feletti (q + 1; q
hibt javt lineris blokk-kdot.

1) paramteru 1

a) Adja meg a szisztematikus paritsellenorzo mtrixot!


b) Perfekt-e a kd?
c) Adja meg q = 4 esetre a genertormtrixot! (0 $ 0; 1 $ 1; 2 $ x; 3 $
x + 1)
4.21. feladat. Igaz-e, hogy tetszoleges C(n; k; d = 3) paramteru lineris kdot
egy paritsszimblummal kiegsztve C0 (n + 1; k; d = 4) paramteru kdot kapunk?

Kalkulus
4.22. feladat. Egy egyenlo oldal hromszggel hromfle elemi transzformcit vgezhetnk:





e: helybenhagys
t: tengelyes tkrzs
f: kzppont krli 120 -os forgats

A szorzs muvelet kt elemi transzformci kztt legyen azok egyms utni alkalmazsa. Adja meg ezen transzformci csoport muveleti tbljt, rszcsoportjait!
4.23. feladat. Mutassa meg, hogy az egszek (+;
a kivons muveletre!

zr) halmaza nem csoport

4.24. feladat. Legyen S egy vges halmaz, valamint G az S rszhalmazainak halmaza.


a) Mutassa meg, hogy G a halmazuni muvelettel nem alkot csoportot!
b) Mutassa meg, hogy G az AB = (A
muvelettel csoportot alkot!

B) [ (B

A) szimmetrikus differencia

301

4.20. F ELADATOK

c) Mutassa meg, hogy a s \ (halmaz metszet) muveletekkel G gyurut


alkot! (A + s  binris muveletekkel br R halmazt gyurunek nevezzk,
ha R az sszeadsra nzve Abel-csoport, a szorzsra nzve flcsoport, s a
muveletek kztt rvnyesek a disztributivitsi szablyok.)
4.25. feladat. Adja meg a mod 7 szorzcsoport egy mellkosztly dekompozcijt!
4.26. feladat. Adjon pldt egysgelem nlkli gyurure!
4.27. feladat. Mutassa meg, hogy a p(x) = x2 1 polinomnak tbb, mint kt
gyke van a mod 15 gyuruben! Nem ellentmonds ez?
4.28. feladat. Tekintse az S = f0; 1; 2; 3g halmazt az albbi muveleti tblk szerinti + s  muveletekkel:
+

0
1
2
3

0
0
1
2
3

1
1
2
3
0

2
2
3
0
1

3
3
0
1
2


0
1
2
3

0
0
0
0
0

1
0
1
2
3

2
0
2
3
1

3
0
3
1
2

Testet kapunk-e?
4.29. feladat. Konstrulja meg GF(4) muveleti tblit!
4.30. feladat. Konstrulja meg GF(8) muveleti tblit:
a) Az x3 + x + 1 binris irreducbilis polinom felhasznlsval!
b) Ismtelje meg a konstrukcit az x3 + x2 + 1 binris irreducbilis polinom
felhasznlsval, s mutassa meg hogy a kt test izomorf (az elemek tnevezsvel azonos muveleti tblkhoz jutunk)!
4.31. feladat. Legyen adva GF(4) a kvetkezo muveleti tblkkal:
+

0
1
2
3

0
0
1
2
3

1
1
0
3
2

2
2
3
0
1

3
3
2
1
0


0
1
2
3

0
0
0
0
0

1
0
1
2
3

2
0
2
3
1

3
0
3
1
2

302

4. H IBAJAVT KDOLS

a) Oldja meg az albbi GF(4) feletti egyenletrendszert:


2x + y

x + 2y

b) Szmtsa ki az albbi GF(4) feletti mtrix determinnst!


0

2 1 2
det 1 1 2A = ?
1 0 1
4.32. feladat. Adja meg az x + 1 2 GF(8) polinom alakban megadott testelem
inverzt, ha x3 + x2 + 1 az aritmetika generl polinom!
4.33. feladat. Adja meg a GF(8) test elemeinek binris minimlpolinomjt!
4.34. feladat.
a) Mutassa meg, hogy a p(x) = x3 + x2 + 2 GF(3) feletti polinom irreducbilis!
b) Adja meg GF(27) elemeinek rendjt!
c) Mi az x polinom ltal reprezentlt elem rendje GF(27)-ben, ha p(x) az aritmetika generl polinom?
4.35. feladat. Konstrulja meg GF(9) muveleti tblit!
4.36. feladat. A GF(16) test sszead- s szorztbljt tbbflekppen is megkonstrulhatjuk:
a) GF(2) feletti 4-edfok irreducbilis polinommal,
b) GF(4) feletti 2-edfok irreducbilis polinommal.
Kvessk a b) utat!
4.37. feladat. A p(x) = x20 + x3 + 1 GF(2) feletti polinommal GF(220 ) konstrulhat, ahol az x polinom ltal reprezentlt elem primitv:
a) Adja meg ezen test rsztesteinek mrett!
b) Mely rsztesteknek nincsen tovbbi rszteste a GF(2) testen kvl?
4.38. feladat. Igaz-e, hogy (x

3)(x + 2)(x + 8) j (x16 + 10x6 ) GF(11) felett?

303

4.20. F ELADATOK

4.39. feladat. Legyen primitv elem a GF(16) testben, amelynek binris minimlpolinomja x4 + x + 1. Adja meg az miniml polinomjt GF(4) felett!
4.40. feladat. Adja meg az x8 1 polinom GF(3) feletti irreducbilis polinomokra
trtno faktorizcijt! Mennyi klnbzo, n = 8 hosszsg, GF(3) feletti ciklikus kd van?
4.41. feladat. f (x) = 3x4 + 2x + 4 egy GF(5) feletti polinom. Adjuk meg az
[ f (x)25 polinomot explicit alakban!
4.42. feladat.
a) Hny klnbzo msodfok x2 + ax + b alak (fo)polinom van GF(16) felett?
b) Hny klnbzo (x

)(x

); ; 6= 0 alak polinom van GF(16) felett?

c) Adja meg a GF(16) feletti irreducbilis msodfok fopolinomok szmt!


4.43. feladat. Igaz-e, hogy egy 2 GF(q) primitv elem konjugltja is primitv
eleme a testnek, ahol q = 2m ?
4.44. feladat. Legyen egy GF(q) test nemzrus eleme. Mi az a legkisebb n
rtk, amelyre + 2 + 3 +  + n = 0 teljesl?
4.45. feladat. Legyenek S s T klnbzo ktdimenzis alterek egy hromdimenzis vektortrben. Mutassa meg, hogy S s T metszete egydimenzis altr!
4.46. feladat. Szrmazzanak az x; y s z vektorok egy GF(p), p prm, feletti lineris blokk-kd egy genertomtrixa sorvektorainak halmazbl. Lehetnek az
x + y; y + z; x + z vektorok ugyanezen kd valamely ms genertormtrixnak sorai kzl valk,
a) ha p = 2,
b) ha p > 2?
4.47. feladat. Legyen 2 GF(q), q = 2m , egy n-edrendu elem, tovbb


1; 3 ; 6 ; : : : ; 3i ; : : : ; 3(n

1; 5 ; 10 ; : : : ; 5i ; : : : ; 5(n

Ortogonlisak-e ezen vektorok?

1)

1)


:

304

4. H IBAJAVT KDOLS

4.48. feladat. Tekintse a p(x) = x3 + 1 s q(x) = x4 + x3 + x2 + 1 binris polinomokat.


a) Szmolja ki a legnagyobb kzs osztt: lnko( p(x); q(x))-et!
b) Adjon meg A(x); B(x) polinomprt, amelyre
lnko( p(x); q(x)) = A(x) p(x) + B(x)q(x) fennll.
4.49. feladat.
a) Szmolja ki a legnagyobb kzs osztt: lnko(1753; 308)-at!
b) Adjon meg A; B egszeket, amelyre lnko(1753; 308) = 1753A + 308B.
4.50. feladat. Kalkultor hasznlata nlkl adja meg 864 + 7311 mod 3 rtkt!

Ciklikus kdok
4.51. feladat. Valaki azt lltja, hogy egy 1 hibt javt binris ciklikus kd egyik
szava 0001111. Lehetsges ez?
4.52. feladat. Tekintsk a g(x) = x3 + x2 + 1 genertorpolinom, n = 7 kdszhossz binris Hamming-kdot.
a) Adja meg a kd h(x) paritsellenorzo polinomjt s szisztematikus alak
genertormtrixt!
b) Tekintsk a kd nem pros sly szavainak halmazt. Adja meg ezen rszkd mrett, valamint minimlis tvolsgt!
c) Tekintsk a nem pratlan sly szavainak halmazt. Lineris, illetve ciklikus-e ez a halmaz, s mik a paramterei?
4.53. feladat. A g(x) = x3 + x + 1 binris polinom egy 7 kdszhossz Hammingkd genertorpolinomja. Adja meg
a) a kdszavak halmazt,
b) a minimlis tvolsgot,
c) a paritsellenorzo polinomot!

4.20. F ELADATOK

305

4.54. feladat. Egy n = 7 kdszhossz binris ciklikus blokk-kd genertorpolinomja g(x) = x 1. Adja meg a
a) lehetsges kdszslyokat, s a k; d paramtereket,
b) paritsellenorzo polinomot,
c) szisztematikus paritsmtrixot!
4.55. feladat. Egy n = 7 hossz binris ciklikus kd genertorpolinomja g(x) =
x6 + x5 + x4 + x3 + x2 + x + 1. Adja meg a kdszavak halmazt!
4.56. feladat.
a) Hny klnbzo 7 kdszhossz binris ciklikus kd van?
b) Adja meg (n; k; d ) paramtereivel s g(x) genertorpolinomjval az sszes
lehetsges binris n = 7 kdszhossz ciklikus kdot!
4.57. feladat. Egy C0 kdot gy szrmaztatunk, hogy egy g(x) genertorpolinom C(n; k), GF(q) feletti ReedSolomon-kd kdszavait tkrzzk, azaz elemeit fordtott sorrendben tekintjk (c0i = cn 1 i ; i = 0; 1; : : : ; n 1).
a) Ciklikus-e C0 ?
b) Ha az a) krdsre a vlasz igen, akkor adja meg a C0 kd g0 (x) genertorpolinomjt g(x) alapjn, tovbb annak gykeit, ha g(x) gykei 1 ; 2 ; : : : ;
n k .
4.58. feladat. Egy C(n; k); n = 2m 1 binris ciklikus kd g(x) genertorpolinomjt osztja az x + 1 polinom. Eleme-e a kdnak a csupa 1 sz?
4.59. feladat. A g(x) = x3 + x2 + 1 polinom egy n = 7 kdszhossz binris
Hamming-kd genertorpolinomja. Adja meg a kd h(x) paritsellenorzo polinomjra plo, szisztematikus kdolst nyjt visszacsatolt shiftregiszteres kdol eszkz blokksmjt!
4.60. feladat. Egy C1 (n; k1 ; d1 ) illetve egy C2 (n; k2 ; d2 ) ciklikus kd h1 (x) illetve
h2 (x) paritsellenorzo polinomja kztti kapcsolat h1 (x) j h2 (x). Mi a kapcsolat:
a) C1 s C2 kztt,
b) d1 s d2 kztt?

306

4. H IBAJAVT KDOLS

4.61. feladat. Egy C1 (n1 ; k1 ) ciklikus kd egy C2 (n2 ; k2 ) ciklikus kd rszkdja.


Mi az algebrai kapcsolat a megfelelo
a) h1 (x); h2 (x) paritsellenorzo polinomok kztt,
b) g1 (x); g2 (x) genertorpolinomok kztt?
4.62. feladat. Mennyi klnbzo, n = 8 kdszhossz GF(3) feletti ciklikus kd
van?
4.63. feladat. Egy n = 15 kdszhossz C binris Hamming-kd H paritselleno rzo mtrixnak oszlopai az 1; 2; : : : ; 15 egszek binris alakjai. Adjon meg egy
1 ! i1 ; 2 ! i2 ; : : : ; 15 ! i15 permutcit, hogy a keletkezo C kd mr ciklikus
legyen!
4.64. feladat. Igazolja, hogy egy h(x) paritsellenorzo polinom ciklikus kd paritsellenorzo mtrixnak sorait a (0; 0; : : : ; hk ; hk 1 ; : : : ; h0 ) vektor ciklikus eltolsaival nyerhetjk.
4.65. feladat. Kpezzk a CRC-t a g(x) = x5 + x3 + x2 + 1 genertorpolinommal.
Jelez-e hibt a detektor, ha a vett sz 0000 0001 0011 1011, ahol a jobb oldali bit
a zr helyirtku?
4.66. feladat. A kvetkezoket lltja valaki:
a) Egy C(n; k) ciklikus lineris kd h(x) paritsellenorzo polinomjt hasznlhatom egy n kdszhossz C0 kd genertorpolinomjaknt.
b) A C0 kd minimlis kdtvolsga elrheti a k + 2 rtket is.
Igazak-e az lltsok?

Kdkorltok
4.67. feladat. Konstrulhat-e n = 11; k = 5 paramteru t = 2 hibt javt binris
kd?
4.68. feladat. Valaki azt lltja, hogy olyan kdot tervezett, amely 7 redundanciakarakterrel meghosszabbtja az zenetblokkot, s 4 vletlen hibt kpes javtani a
kdszban. Lehetsges ez?

307

4.20. F ELADATOK

4.69. feladat. Ltezik-e C(n; k), n k = 2, GF(3) feletti egy hibt javt kd?
Ha igen adjon pldt, megadva a szisztematikus paritsellenorzo mtrixt s a
kdszavait!


4.70. feladat. Perfekt-e a


1 1 1 1 1 1 1
kdszavakat tartalmaz kd?

0 0 0 0 0 0 0

4.71. feladat. Perfekt-e egy C(11; 6) paramteru GF(3) feletti 2 hibt javt kd?
4.72. feladat. Igazoljuk, hogy egy MDS-kd dulisa is MDS tulajdonsg!

RS-kdok
4.73. feladat. Tekintsnk egy GF(11) feletti ReedSolomon-kdot g(x) =
2)(x 4)(x 8)(x 5) genertorpolinommal. Adja meg a kd kvetkezo
jellemzoit: minimlis tvolsg (d), hibajavt kpessg (tc ), hibadetektl kpessg (td ), trlsjavt kpessg (te )!
(x

4.74. feladat. Adja meg egy GF(11) feletti hrom hibt javt, primitv szhossz
ReedSolomon-kd paramtereit, genertorpolinomjt, paritsellenorzo polinomjt!
4.75. feladat. Tekintsnk egy GF(13) feletti 2 hibt javt primitv szhossz
ReedSolomon-kdot.
a) Adja meg a genertorpolinomjval!
b) lltsa elo az u(x) = 2x + 1 zenethez tartoz kdszt transzformcis kdolssal!
4.76. feladat. Eleme-e az (1; 1; : : : ; 1) csupa 1 vektor egy GF(q) feletti C(n; k),
n = q 1 ReedSolomon-kdnak, ahol a genertorpolinom gykei az primitv
elem 0; 1; 2; : : : ; n k 1 hatvnyai?
4.77. feladat. Egy t hibt javt GF(q) feletti ReedSolomon-kd genertorpolinomjnak gyke az primitv elem 2; : : : ; 2t-edik hatvnya. Lehetsges-e, hogy
a kdszavak elemeinek (koordintinak) sszege a test zr eleme legyen?


4.78. feladat. Legyen (r) = 1; r ; 2r ; : : : ; (n 1)r , r = 0; 1; : : : ; n 1, ahol 2


GF(q) egy n-edrendu elem. Igaz-e, hogy ha egy C(n; k) kd G genertormtrixnak sorai rendre (r) , r = 0; 1; : : : ; k 1, akkor H mtrixnak sorai lehetnek rendre
az (r) , r = 1; : : : ; n k vektorok?

308

4. H IBAJAVT KDOLS


4.79. feladat. Legyen (r) = 1; r ; 2r ; : : : ; (n 1)r , r = 0; 1; : : : ; n 1, ahol


GF(q) egy n-edrendu elem. Van-e olyan C(n; k) kd, amelyre a G s H mtrixainak sorai rendre ugyanazok az (r) alak vektorok?
4.80. feladat. Legyen g(x) = x3 + x + 1 egy C(7; 4) binris Hamming-kd genertorpolinomja. Mutassuk meg, hogy C lineris rszkdja egy C0 (7; 5) GF(8) feletti
ReedSolomon-kdnak!
4.81. feladat. Igaz-e a kvetkezo llts? Egy C(n; k; d ) GF(q) feletti ReedSolomon-kd kdszavaibl kiemelve brmely, rgztett k mretu koordintahalmaz
ltal meghatrozott rszvektorokat, azok klnbzok a klnbzo kdszavakra.

BCH-kdok
4.82. feladat. Adjuk meg egy egy hibt javt n = 8 primitv szhossz, GF(3)
feletti kd
a) zenethossz (k) paramtert,
b) genertorpolinomjt!
(Segtsg: f (x) = x2 + x + 2 egy GF(3) feletti irreducbilis polinom).
4.83. feladat. Adjon meg egy binris n = 15 kdszhossz, 2 hiba javtsra alkalmas kdot binris genertorpolinomjnak explicit megadsval!
4.84. feladat. n = 31 kdszhossz t = 2 hiba javtsra alkalmas binris BCH
blokk-kdot terveznk. Adja meg a keletkezo kd
a) k paramtert,
b) genertorpolinomjt!
(Segtsg: f (x) = x5 + x2 + 1 egy primitv irreducbilis binris polinom).
4.85. feladat. Adja meg egy GF(3) feletti n = 91 primitv kdszhossz t
hibajavt kpessgu BCH-kd zenethossz paramtert!

4.86. feladat. Adja meg a GF(8) feletti (9; 7) paramteru 1 hibt javt BCH-kd
genertorpolinomjt gyktnyezos alakban!

309

4.20. F ELADATOK

Konvolcis kd
4.87. feladat. Mekkora a d minimlis tvolsga (szabad tvolsga) a


G(x) = x2 + x + 1; x5 + x2 + 1
genertorpolinom-mtrix konvolcis kdnak?

4.88. feladat. Adjon meg egy t = 2 vletlen hiba javtsra alkalmas binris R =
1
u konvolcis kdot genertorpolinom-mtrixval!
2 sebessg
4.89. feladat. Egy 12 sebessgu binris konvolcis kd genertorpolinomjai: 17,
15 (egytthatk oktlis brzolsban).
a) Adja meg a kdol vzlatt!
b) Katasztroflis tulajdonsg-e a kd?
c) Mekkora a szabad tvolsg (d )?
4.90. feladat. Adja meg a kvetkezo, genertorpolinom-mtrixval megadott R =
2
u binris konvolcis kd kdol blokksmjt, valamint d szabad
3 sebessg
tvolsgt!


x x2 + 1 0
G(x) =
0
0
1
4.91. feladat. Mekkora a sebessge, s a minimlis tvolsga a G(x) = 1; x2 + 1
genertorpolinom-mtrix konvolcis kdnak?

4.92. feladat. Tekintsk a G(x) = x2 + 1; x3 + x + 1 genertorpolinom-mtrix konvolcis kdot. Adja meg az llapottmenet-grfjt, s a szabad tvolsgt
(d )!
4.93. feladat. Katasztroflis tulajdonsg-e az albbi blokksmval megadott kdol?

mmm

- +- +- +
6 6 6
-

- +?

310

4. H IBAJAVT KDOLS

Kdkombincik, kdmdostsok
4.94. feladat. Adja meg a g(x) = x3 + x + 1 genertorpolinom C(7; 4) kd nem
pratlan sly szavai C0 rszkdjnak halmazt, s ezen rszkd paramtereit!
4.95. feladat. Perfekt marad-e a C(n; k) binris Hamming-kd, ha kdrvidtst
hajtunk vgre, amelynek mrtke
a) 1 bit,
b) 2 bit?
4.96. feladat. A C(7; 4) binris Hamming-kd kdszavait paritskarakterrel bovtjk pros paritsra egsztve ki a kdszavakat. Adja meg a kapott kd paramtereit!
4.97. feladat. A (7; 4) binris Hamming-kdbl kiindulva konstruljon binris
kdot, amelynek 8 kdszava van, 7 a szhossza s alkalmas 3 hiba detektlsra.
4.98. feladat. A g(x) = x3 + x2 + 1 genertorpolinom szisztematikus Hammingkdon 3 bites kdrvidtst hajtunk vgre.
a) Adja meg a rvidtett kd (n; k) paramtereit!
b) Adja meg a kdszavakat s a kd d paramtert!
4.99. feladat. Adja meg a 8 bitnyi kdrvidtssel kaphat kd paramtereit s
kdszavait, ha a g(x) = x4 + x + 1 genertorpolinom binris Hamming-kdot
rvidtettk.
4.100. feladat. C(n; k), n = 91 kdszhossz 7 hibt javt binris blokk-kdot
szeretnnk konstrulni. Egy megfelelo primitv szhossz C (N ; K ) binris BCHkd rvidtsvel oldjuk meg a feladatot. Adja meg az N ; K ; k paramtereket!
4.101. feladat. Legyen C(255; 251) egy GF(256) feletti ReedSolomon-kd,
amelynek genertorpolinomja g(x) = (x 1)(x )(x 2)(x 3 ), 2 GF(256)
primitv elem.
a) Igazolja, hogy a binris kdszavak C binris ciklikus C0 altert alkotjk!
b) Mi ezen C0 altr genertorpolinomja s mik C0 paramterei?

311

4.20. F ELADATOK

4.102. feladat. Egy binris lineris C(n; k; d ) kd nem tartalmazza a csupa egyesekbol (1) ll kdszt. Mit mondhatunk a C0 = C  1 kdrl, ahol  a koordintnknti mod 2 sszeads?
a) Lineris-e?
b) Mik a paramterei: n0 ; k0 ; d 0 ?
Mit mondhatunk a C00 = C [ C0 kdrl, ahol [ a halmazegyests:
c) Lineris-e?
d) Mik a paramterei: n00 ; k00 ; d 00 ?
4.103. feladat. Egy GF(q) feletti n = q 1 szhossz C ReedSolomon-kd genertorpolinomjnak gykei ; 2 ; : : : ; d 1 , 2 GF(q). A kdot egy parits
karakterrel bovtjk, olyan mdon, hogy a kdsz karaktereinek testbeli aritmetika szerinti sszege lesz az n + 1-edik karakter. MDS tulajdonsg marad-e a
kapott q szhossz kd?
4.104. feladat. Egy kommunikcis csatornn nagyon ritkn maximum 8 bit
hossz hibacsomk keletkeznek. A kvetkezo bellthat paramteru kdolsi
elemekben gondolkozunk:
a) binris Hamming-kdol,
b) bjt karakter alap ReedSolomon-kdol,
valamint alkalmazhatjuk a kdtfuzs technikt is. A cl minimlis redundancia
mellett elvgezni a javtst. Milyen konstrukcit alkalmazzunk?

Hibajavt dekdols
4.105. feladat. Adja meg egy GF(q) feletti, egy hibt javt BCH-kd PGZ-dekdols szerinti ltalnos dekdolsi algoritmust a szindrmaegyenletek kzvetlen
megoldsval!
4.106. feladat. Egy GF(11) feletti lineris blokk-kd paritsellenorzo mtrixa


H=
ahol = 2 a test primitv eleme.

1 1 1
1 2




1
9


;

312

4. H IBAJAVT KDOLS

a) Adja meg a kd paramtereit!


b) Adja meg a dekdols menett az e(x) = 5x3 hibapolinom esetre!
4.107. feladat. Adja meg egy GF(q) feletti kt hibt javt binris BCH-kd ltalnos dekdolsi algoritmust a szindrmaegyenletek kzvetlen megoldsval!
4.108. feladat. Valaki azt lltja, hogy nem felttlenl kell egy GF(2m ) feletti
C(n = 2m 1; k) binris kd genertorpolinomjban 4 ciklikusan egyms utni
gyknek lennie ahhoz, hogy a kd t = 2 hibt javthasson. Szerinte az is megfelelo, ha a g(x) genertorpolinom olyan, hogy g() = g( 1 ) = 0, ahol a GF(2m )
primitv eleme. Igaza van-e?
(Segtsg: A szindrmaegyenletek megoldhatsgnak kzvetlen vizsglatval ellenorizze az lltst.)
4.109. feladat. Valaki a kvetkezo gondolatmenetet mondja a trsnak:
n gy tudom, hogy egy C(n; k) lineris binris blokk-kd szindrma dekdolsi
tblzata mindig 2(n k) javthat hibamintt tartalmaz, teht vglis a minimlis tvolsgnak nincs jelentosge, s mindegyik (n; k) paramteru kd egyformn
hasznos (hasznos = emlkezetnlkli BSC csatornn hasznlva azonos kdszdekdolsi hibavalsznusget kapunk). Tmr rvelssel tegyen igazsgot! Mutasson egy egyszeru pldt is!
4.110. feladat. A s B beszlgetnek:
A: A BCH-kdok PGZ-szindrma dekdolsi algoritmusa egy maximum t
sly hibavektort tud korriglni. Teht, ha tbb hiba esett, mint t, s a vett sz
minden kdsztl tvolabb van, mint t, akkor a dekdolt sz nem lehet kdsz,
azaz jbli szindrmaszmtssal lehetosgnk van ellenorizni a dekdols helyessgt.
B: Itt valami csals van, hiszen szindrma dekdolskor a dekdolt sz szindrmjt mindig zrusra korrigljuk, mivel a vett szbl levonjuk a vett sz szindrmjnak megfelelo szindrmj hibavektort.
Hol az igazsg?
4.111. feladat. Egy C(n; k) blokk-kd dekdolst szindrma dekdolsi tblzat
alapjn vgezzk. Az albbi kt llts kzl melyik az igaz s mirt?
a) A dekder kimenetn az aktulis hibzstl fggetlenl mindig valamilyen
(esetleg hibs) kdsz jelenik meg.
b) A dekder a tblzat alapjn egyszeruen levon a vett szbl egy hibamintt,
gy slyosabb hibzs esetn elofordulhat, hogy nem egy kdsz jelenik
meg a kimeneten.

4.20. F ELADATOK

313

4.112. feladat. Egy egy hibt javt GF(7) feletti g(x) = (x )(x 2 ), = 3,
genertorpolinom ReedSolomon-kd egy kdszava hibsan, de mg javthatan rkezett meg a vteli oldali dekdolhoz. A vett sz (v0 ; v1 ; v2 ; v3 ; v4 ; v5 ) =
(6; 0; 5; 2; 4; 0). Mi lehetett az tkldtt kdsz?
4.113. feladat. Egy GF(11) feletti C(10; 6) 2 hibt javt ReedSolomon-kd genertorpolinomja g(x) = (x 2)(x 4)(x 8)(x 5), = 2. Egy vett szra a
dekder a kvetkezo szindrmkat szmtotta ki a gykknek megfelelo sorrendben: 3; 6; 1; 2. Adja meg a hibapolinomot!
4.114. feladat. Egy GF(7) feletti C(6; 2) ReedSolomon-kd genertorpolinomja
g(x) = (x 3)(x 2)(x 6)(x 4), = 3. Egy vett szra a dekder a kvetkezo
szindrmkat szmtotta ki a gykknek megfelelo sorrendben: 5; 5; 4; 2. Adja
meg a
a) hibahelypolinomot,
b) hibapolinomot!
4.115. feladat. Egy C(15; 5) paramteru t = 3 hibt javt binris BCH-kd gykei a kvetkezo GF(16) testelemek: ; 2 ; 3 ; 4 ; 5 ; 6 . A GF(16) aritmetikt az
f (x) = x4 + x + 1 polinommal generljuk. A dekder a kvetkezo szindrmkat
szmtotta a fenti gykk sorrendjben: 12 ; 9 ; 0; 3 ; 1, 0. Adja meg a
a) hibahelypolinomot,
b) hibapolinomot!
4.116. feladat. Egy GF(11) feletti g(x) = (x 2)(x 4) genertorpolinom primitv szhossz ReedSolomon-kd dekderhez rkezett vett szbl 2 karakter
trlodtt:
0: 1:
7:
9:
2 0 0 2 0 0 ? 0 ?)
(8
Mik a trlodtt karakterek?
4.117. feladat. Van GF(256) aritmetikban gyorsan szmol egysgnk. A csatorna hibzsa olyan, hogy ritkn, legfeljebb 16 bit hossz hibacsomk keletkezhetnek. Milyen kdot javasol a javtsra, ha maximalizlni szeretnnk a kdolsi
sebessget?

314

4. H IBAJAVT KDOLS

4.118. feladat. Egy zenetforrs kimenetn 8 klnbzo karakter jelenhet meg.


Ha ezeket a karaktereket az tviteli csatornn tovbbtjuk, akkor alkalmanknt
egy karakter meghibsodik, de kt hibs karakter kzti tvolsg legalbb 10 karakter. Blokk-kdos hibajavtst szeretnnk alkalmazni azzal a megktssel, hogy
a relatv redundancia nem haladhatja meg a 30 %-ot. Javasoljon megoldst a hibajavtsra, adja meg az alkalmazand kdot!

Hibadetekci
4.119. feladat. Valaki azt lltja, hogy tetszoleges m fokszm, binris f (x) polinom, amelynek konstans tagja 1, alkalmas arra, hogy CRC genertorpolinomknt detektljunk vele tetszoleges, legfeljebb m bit hosszsg hibacsomagot. (Pl.
1xxx1 egy 5 hossz hibacsomag.) Igaza van-e?
4.120. feladat. Egy hibadetekcis protokollban a 000 : : : 0011 (kt utols bitjn
1-et tartalmaz) zenetcsomaghoz a g(x) = x16 + x12 + x5 + 1 szabvnyos genertorpolinommal ciklikus redundancia ellenorzo sszeget (CRC) alkalmazunk.
Adja meg az ellenorzosszeggel elltott blokkot!

Hibavalsznusg

4.121. feladat. Egy binris kd genertormtrixa




G=

11001
01110

A kdot emlkezetnlkli BSC(p) csatornn hibadetekcira illetve hibajavtsra


hasznljuk. A hibajavts algoritmusa a legkzelebbi kdszra dnts. Adja meg
mindkt alkalmazs esetn a hibzs valsznusgt! (A forrs azonos valsznusggel sorsolja az zeneteket.)
4.122. feladat. Egy C(n; k) paramteru GF(q) feletti, t hibt javt perfekt kdot
hibajavtsra hasznlunk szimmetrikus emlkezetnlkli csatornn, ahol a hibzs
valsznusge p. Adja meg egy kdsz tves dekdolsnak valsznusgt!
4.123. feladat. Emlkezetnlkli szimmetrikus q-ris (0; 1; : : : ; q input bc,
0; 1; : : : ; q output bc) csatornn kommuniklunk, ahol a hibzs valsznusge
p (P(i j j) = p; i 6= j). Egy (n; k) paramteru GF(q) feletti t hibt javt perfekt
kdot hasznlunk csatornakdknt. Adja meg egy kdsz tves dekdolsnak
valsznusgt!

315

4.20. F ELADATOK

4.124. feladat. Tekintsk a g(x) = x4 + x + 1 genertorpolinom binris Hamming-kdot. A kdot hibajavtsra hasznljuk. Adja meg egy kdsz tves dekdolsnak valsznusgt!
4.125. feladat. A (8; 4) paramteru paritsbittel bovtett binris Hamming-kdot
hibadetekcira hasznljuk p hibzsi valsznusgu emlkezetnlkli binris szimmetrikus csatornn. Adja meg a detekci mulaszts valsznusgt!
4.126. feladat. A C(n; k = 1) paramteru binris ismtlses kdot
a) tisztn trlses csatornn
b) vletlen bithibzsos csatornn
hasznljuk, ahol a trls illetve hibzs valsznusge p. Adja meg mindkt esetben egy kdsz tves dekdolsnak valsznusgt!
4.127. feladat. 1 bitnyi zenetet gy visznk t a csatornn, hogy ismteljk azt,
azaz a (00 : : : 0) illetve az (11 : : : 1) szavak valamelyikt kldjk t. Legyen p =
0:01 a bithibzs valsznusge az emlkeznlkli binris csatornban. Menynyivel javul a tves dekdols valsznusge, ha n = 3 hossz szavak helyett n = 5
hosszakat hasznlunk?
4.128. feladat. Az albbi mretu ktdimenzis paritskdot paritsellenorzsre
hasznljuk (u: zenetbit, p: paritsbit)
0

u u p
 u u pA :
p p p
Adja meg a hibadetekci elmulasztsnak valsznusgt emlkezetnlkli BSC(p)
csatorna esetn!
4.129. feladat. Egy binris, tisztn trlses emlkezetnlkli csatornn p = 0:05
a trls s 1 p = 0:95 a hibtlan tovbbts valsznusge. Flbjtos (4 bit)
egysgekben tovbbtjuk a forrs informcijt, amelyet 4 bit redundancival kiegsztnk kdszv. Hasonltsuk ssze az albbi kt kdolsi eljrst a kdolsi
hatkonysg szempontjbl:
a) a redundancia nem ms mint az zenet flbjt megismtlse,
b) a (8; 4) paramteru, paritsbittel kiegsztett Hamming-kdot hasznljuk.

316

4. H IBAJAVT KDOLS

4.130. feladat. Tisztn trlses hibt okoz emlkezetnlkli binris csatornn


p = 0:05 a trls valsznusge. 4 bites zeneteinket paritsbittel bovtett (7; 4)
Hamming-kddal tovbbtjuk. Elfogadhatan vlasztottuk-e a kdot, ha zeneteinket legalbb 0:999 valsznusggel szeretnnk a vevoben helyesen rekonstrulni?
4.131. feladat. 18 bjt mretu zenetcsomagjainkat 2 bjt mretu CRC-vel vdjk egy p = 0:001 bithibzs valsznusgu emlkezetnlkli BSC csatornn.
a) Tegyk fel, hogy zajmentes nyugtzcsatorna ll rendelkezsre, s a hibadetekci tkletes! Mennyi a csomagismtlsek tlagos szma?
b) Mekkora ugyanez a szm, ha a nyugtz csatorna is ugyanilyen mrtkben
hibzhat, ahol az 1 bjt mretu nyugta szintn 2 bjt mretu CRC-vel vdett. Az ad csak akkor nem ismtel, ha hibtlan nyugta rkezik. Mennyi a
csomagismtlsek tlagos szma?
4.132. feladat. p hibzsi valsznusgu emlkezetnlkli csatornn N bjt mretu, T idotartam csomagokat tovbbtunk. A hibakontroll CRC alap hibadetekci. Az ad addig nem kldi el a kvetkezo csomagot, amg az utoljra elkldtt csomag sikeresen t nem jutott a csatornn, s errol a visszairny csatornn
nyugtt nem kapott. Tegyk fel, hogy a nyugtzs szintn T idot vesz ignybe.
Mekkora a csomagksleltets vrhat rtke, ha a visszairny csatorna hibamentes?
4.133. feladat. Additv gaussi csatornn kommuniklunk, s modemnk Eb =N0
jel/zaj viszony mellett p = e Eb =N0 valsznusggel hibzik. (7; 4) paramteru
Hamming-kddal szeretnnk hibt javtani. Pw = 10 6 a megengedheto kdszhiba valsznusg.
a) Mekkora jel/zaj viszony mellett rheto ez el, ha nem hasznlunk kdolst?
b) Tegyk fel, hogy 1 hibt javt dekdernk, s tbb mint 1 hiba esetn rintetlenl hagyja a vett szt. Mennyivel javul a jel/zaj viszony nyeresg kdols
esetn?

5. fejezet

Kriptogrfia
A kriptolgia a titkos illetve vdett kommunikci tudomnya, amelynek kt ga
a kriptogrfia s a kriptoanalzis. A kriptogrfia azon algoritmikus mdszerekkel foglalkozik, amelyek biztostjk az zenetek (trolt informcik) titkossgt,
vdettsgt vagy hitelessgt. A kriptoanalzis a titok ltalban illetktelen
megfejtsre (feltrsre) tartalmaz eljrsokat.
A kriptolgia mint titkosrs s annak fejtse nagy hagyomnyokkal rendelkezik, amely trtneti elozmnyekkel kapcsolatosan [15]-ban tallhatunk pldkat.
A kriptogrfival kapcsolatos nyilvnos kutatsok a 70-es vek kzeptol
egyre nvekvo iramban folynak. Ennek fo oka az algoritmikus adatvdelem irnt
a privt (nem katonai vagy diplomciai) szektorban megnyilvnul igny, amelynek htterben az ll, hogy napjainkban klnsen a fejlett hrkzlssel rendelkezo orszgokban rzkeny informcik, amelyek jogtalan megszerzse slyos anyagi s erklcsi krok okozsra adhat lehetosget, nagy mennyisgben kerlnek tvitelre nyilvnos tvkzlsi csatornkon, vagy troldnak fizikailag tlagosan vdett memrikban. Gondoljunk pldul pnzgyi informcikra, egszsggyi, letrajzi vagy szemlyi adatokra.
Titkos informcik vdelmi rendszernek az algoritmikus mdszerek ltalban csak egyik pillrt jelentik, amelyek megfelelo fizikai valamint gyviteli (informcikezels rendszablyai) eljrsok alkalmazsval egytt biztostjk a valsgos rendszerekben az informcivdelmet.
Az albbiakban a kriptogrfia elemeit taglaljuk, annak alapjaiba kvnunk betekintst nyjtani.

318

5. K RIPTOGRFIA

5.1. Alapfogalmak
A digitlis informciforrs kimeneti adatfolyambl, az n. nylt adatbl blokkokat ksztnk, amelyre az x = (x1 ; x2 ; : : : ; xM ) jellst alkalmazzuk, s amelyet
nylt zenetnek (plaintext) hvunk. A titkost kdol egy egy-egy rtelmu lekpezssel ebbol az y = (y1 ; y2 ; : : : ; yN ) titkostott (rejtett) zenetet (ciphertext)
lltja elo:
(5.1)
y = Ek (x);
ahol Ek , k = (k1 ; k2 ; : : : ; kK ) paramteru invertlhat kdol transzformci. A k
vektor a titkosts kulcsa, az az informci, amely egyrtelmuen meghatrozza az
aktulis titkost transzformcit.
A titkost dekdol az inverz transzformci, Dk felhasznlsval
x = Dk (y)

(5.2)

mdon reproduklja a nylt zenetet.


Tekintsnk eloszr nhny egyszeru pldt.
5.1. plda. Egy titkost kdol kimenetn az albbi karaktersorozat jelenik meg
az angol bc betuibol:
AELTJEKELHMLMTQECHECPBMTBEQSKCDJ:
Betunknti helyettestst alkalmaztunk az albbi helyettesto tbla felhasznlsval:
ABCDE F GH I J KLMN O P Q R STUVWXYZ
C I P HERA B DFG J K L MNOQSTUVWXYZ

ahol egy felso sorbeli karaktert az alatta llra cserltnk ki. A nylt s a rejtett
zenetblokk egy karakter hosszsg, azaz M = N = 1. A helyettesto tblt gy
konstrultuk, hogy a msodik sort egy rtelmes szval kezdtk (CIPHER), majd
sorrendben felsoroltuk az bc fennmarad karaktereit. A kulcs ez esetben az
rtelmes kezdosz. A dekdolst a kulcs (s az annak megfelelo helyettesto tbla)
ismeretben elvgezhetjk, s az albbi nylt adatfolyamot kapjuk:
GENTLEMEN DO NOT READ EACH OTHERS MAIL:
5.2. plda. A fenti pldabeli nylt szveget bontsuk 8 karakteres blokkokra, majd
kdoljunk blokkonknt az albbi permutci felhasznlsval:


1 2 3 4 5 6 7 8
4 3 7 1 8 2 5 6


;

319

5.1. A LAPFOGALMAK

azaz az 1. pozciban levo karaktert a 4. pozciba, a 2.-ban levot a 3.-ba, stb.


helyezzk t. Ezzel az albbi rejtett szveget kapjuk:
TNMGEELENORNEDOTAEOATDCHSRIHLEMA
A dekdols sorn az inverz permutlst vgezzk el blokkonknt. A kulcs ez
esetben az aktulis permutci. A helyettests mellett ezen n. transzpozci
(vagy kevers) eljrs a msik alapmdszer blokk-kdolk ksztsben, ltalban
a kettot kombinlva alkalmazzk.
5.3. plda (Caesar-titkost). A mr Julius Caesar ltal is hasznlt titkost elve
egyszeru. Az angol bc betuit feleltessk meg szmoknak az A = 0; B = 1; : : : ;
Z = 25 helyettestssel. Az x = (x1 ; x2 ; : : : ; xM ) nylt szveget az y = (y1 ; y2 ; : : : ; yN )
rejtett szvegbe karakterenknti a megfelelo egszeken vgrehajtott
yi = xi + ki

(mod 26);

(5.3)

i = 1; 2; : : : ; M modulo sszeadssal kdoljuk, ahol a k = (k1 ; k2 ; : : : ; kK ) kulcs is


a f0; 1; : : : ; 25g halmazbl veszi az elemeit.
Szmpldaknt legyen k = (3; 3; : : : ; 3) konstans elemu vektor, tovbb M =
7, s ekkor az x = (CAESARX) nylt zenetet az y = (FDHVDUA) rejtett zenetbe
kdoljuk. A dekdols az
xi = yi

ki

(mod 26);

i = 1; 2; : : : ; M inverz muvelettel trtnik.


5.4. plda. Az 5.3. plda nylt szvegnek megfeleltetett decimlis rtkek binrisba alaktsval az albbi binris nylt szveget kapjuk:
x = (00010; 00000; 00100; 10010; 00000; 10001; 10111)
Legyen a kulcs egy a nylt szveggel azonos hosszsg pnzfeldobs sorozat
(fej=1, rs=0):
k = (10011; 10011; 00100; 10111; 10010; 00001; 01110)
s kpezzk a rejtett szveget az x s k bitenknti modulo 2 sszeadsval:
y = (10001; 10011; 00000; 00101; 10010; 10000; 11001)
A dekdols a kdols inverze, azaz xi = yi

ki = (yi + ki ) (mod 2).

320

5. K RIPTOGRFIA

titkost
kdol
k

y
C1

titkost
dekdol
k

kulcsforrs
C2
5.1. bra. A konvencionlis titkost rendszer elvi vzlata.
Az az eljrs, amikor k kulcsot minden egyes x kdolsakor fggetlenl sorsoljuk, a binris vletlen tkulcsols (one-time-pad, ill. Vernam-titkost nven
is ismert), amely, mint ltni fogjuk, elvileg tkletes titkost eljrs.
Az eddigiekben bevezetett titkostsi mdszer az n. rejtett kulcs, ms nven konvencionlis vagy egykulcsos blokk-kdols. A konvencionlis titkost
rendszer blokkvzlatszeru modelljt lthatjuk az 5.1. brn.
A rejtett zenetet a C1 nyilvnos csatornn (public channel), mg a kulcsot a C2
titkos csatornn (secret channel) tovbbtjuk a dekdol oldalra, teht a kdols
s a dekdols azonos titkos kulcsot hasznl. A csatorna nyilvnossgt illetve
titkossgt egy tmadval szembeni korltozott illetve tkletes vdettsge jelenti.
Pldul kzhasznlat hrkzlsi csatornink nyilvnos, mg egy megbzhat futr
ltali kzbests titkos csatornnak felel meg.
A tmad (behatol) clja lehet az x nylt zenet megllaptsa vagy a k kulcs
megszerzse. Alapfelttelezs a tmad ismereteivel kapcsolatosan, hogy az aktulis k kulcs kivtelvel a kdols, dekdols alkalmazott algoritmust teljes
rszletessggel ismeri. (Titkostsi algoritmuson a titkost kdols s dekdols szmtsi eljrst rtjk.) Ez azt is jelenti, hogy egy titkostsi algoritmus
ltal nyjtott vdettsg nem haladhatja meg a kulcsa vdettsgnek mrtkt. A
kulcs az az informci, amely gyorsan s kvnatosan gyakran cserlheto, mg
a titkost rendszer tbbi elemt hosszabb ideig nem kell vltoztatni. A tmad
ltal alkalmazhat mdszerek kzl csak az algoritmikus tmadsi mdszereket
tekintjk. (Elkpzelhetok tovbbi mdszerek, pl. betrs, lefizets alkalmazsa,
elektromgneses kisugrzs mrse is egy elsznt tmad rszrol.)
Az algoritmikus tpus tmadsnak passzv s aktv mdjt klnbztetjk
meg, amelyet a nyilvnos csatornn hajt vgre a tmad.
A passzv mdszer az n. lehallgats, amikor a tmad a nyilvnos csatornn
raml zenetek sorozatnak birtokba jut. A tmad clja az, hogy a megfigyelt rejtjelezett kapcsolatbl kinyert informcik felhasznlsval algoritmikus
tmadst indtson az aktulis kulcs megllaptsra. Ezt az eljrst szoks rejtjel-

5.1. A LAPFOGALMAK

321

fejtsnek nevezni, amelynek eszkztrt a kriptoanalzis mdszerei alkotjk. A


rejtjelfejto ltalban szleskru httrinformcira is alapozhat, mint pl. a nylt
szveg nyelve, formtummegktsei, statisztikai tulajdonsgai, tipikus szavai, kifejezsei (gondoljunk pl. egy beszlt nyelven megfogalmazott tviratra, vagy egy
szmtgpes programra). Ezen httrinformcik az ppen lehallgatott zenetekkel egytt kpezik azt az informcibzist, amelyekre alapozva egy rejtjelfejtsi
muvelet sikeres lehet. gy anlkl, hogy brki az aktulis nylt szvegnek akr
egy rszlett is elruln a tmadnak, az nagy valsznusggel tudhat egy rejtett
szveghez tartoz nylt szveget, vagy annak egy rszlett. Az is lehetsges egy
szmtgpes rendszerben, hogy a behatol kpes a rendszer egyik nem rejtjelezsi vdelmi vonala mg kerlni (tlpve gyvitel-kezelsi rendszablyokat,
fizikai vdelmet), abbl a clbl, hogy kiknyszertsen ltala vlasztott nylt szveghez tartoz rejtett szveget.
A passzv tpus tmadsokat azok nvekvo ereje szerinti sorrendben a kvetkezo kategrikba sorolhatjuk:
a) Rejtett szvegu tmads (ciphertext only attack): tmads azonos kulcscsal kdolt rejtett zenetek birtokban, azaz a tmad rendelkezsre ll
egy Ek (x1 ); Ek (x2 ); : : : ; Ek (xL ) sorozat, ahol k az aktulis kulcs.
b) Ismert nylt szvegu tmads (known plaintext attack): a tmad rendelkezsre ll (x1 ; Ek (x1 )); (x2 ; Ek (x2 )); : : : ; (xL ; Ek (xL )) nylt s rejtett zenetprok birtokban trtno tmads.
c) Vlaszthat nylt szvegu tmads (chosen plaintext attack): tmads abban az esetben, amikor a tmad szabadon vlaszthatja meg azt a nylt zenetet, amelynek rejtett prjt ltni szeretn. Kpzeljk pldul azt, hogy
egy banki informcis rendszerben valaki egy tranzakcit kezdemnyez,
azaz generltat egy x1 -et, s ltja annak titkostott vltozatt Ek (x1 )-et is.
d) Vlaszthat szvegu tmads (chosen text attack): tmads abban az esetben, amikor a tmad szabadon vlaszthatja meg akr a nylt zenetet, akr
a rejtett szveget, amelynek prjt ltni szeretn.
Aktv mdszer a rejtett zenetek csatornbl trtno kivonsa, kicserlse,
amelyek clja a hozzvetolegesen ismert tartalm rejtett zeneteknek a tmad
szempontjbl kedvezo mdostsa (zenetmdosts). Egy msik aktv mdszer
az, amikor a tmad megprblja egy leglis felhasznl szerept eljtszani azrt,
hogy valamely msik leglis rendszerelemtol informcit csaljon ki (megszemlyests).
A ktfle tmadsi mdszert illusztrljuk az 5.2. s 5.3. brn.

322

5. K RIPTOGRFIA

titkost
kdol

?
tmad

titkost
dekdol
k

x0 ; k0

5.2. bra. Passzv tmads.

titkost
kdol

- tmad

y0

titkost
dekdol
k

5.3. bra. Aktv tmads.


Egy zenet titkossga (privacy) azt jelenti, hogy csak a leglis (kvnatos)
partner szmra rekonstrulhat annak nylt tartalma, mg egy zenet hitelessge
(authenticity) azt jelenti, hogy azt olyan szemly generlta, aki a kulcs leglis birtokban van. Lnyegben azt mondhatjuk, hogy a titkossg az zenet tartalmval,
mg a hitelessg az zenetet kldo szemllyel kapcsolatos. Szemlletes pldval
illusztrlva: ha a posts felbontja a levelet, akkor annak tartalma mr nem titok,
de ha a levl tartalmt nem mdostja, s gy kzbesti, az zenet hiteles marad.
Azt mondjuk, hogy a tmad feltrte a titkost algoritmust, ha gyorsan
meg tudja llaptani egy lehallgatott zenet nylt tartalmt, fggetlenl attl, hogy
ppen melyik kulcsot alkalmazzk. A gyorsasg olyan idointervallumot jelent,
amelyen bell a tmad sikeresen hasznlhatja cljaira a megszerzett informcit.
A titkostsi algoritmusok clja a passzv tmadsok sikernek megakadlyozsa. Az aktv tpus tmadsokat algoritmikus eszkzkkel nem akadlyozhatjuk meg, de megfelelo kriptoprotokollok alkalmazsval a tmadst szlelhetjk. A protokollok ltalban vve egy elore meghatrozott zenetcsere folyamatot jelentenek, amelyet ketto vagy tbb partner bonyolt le kooperatvan valamely
feladat vgrehajtsra. A kriptoprotokollok elemknt alkalmazzk a titkostsi
algoritmust, s biztostjk a kapcsolat vdett felplst, a kommunikci alatti
aktv tmadsok szlelhetosgt, sszessgben garantljk a partnerek s ze-

5.2. A

323

KONVENCIONLIS TITKOSTK ANALZISE

netfolyamataik hitelessgnek ellenorizhetosgt. A titkostsi algoritmusok s a


protokollok a kriptogrfia tudomnynak kt fo gt jelentik.
A konvencionlis titkostsi algoritmusok mellett a 70-es vek vgtol kezdodoen rohamosan fejlodik a nyilvnos kulcs titkostsi algoritmusok csaldja,
amelyeket a tovbbiakban mg rszletezni fogunk. Megemltjk tovbb, hogy a
blokktitkosts mellett ltezik az n. kulcsfolyamatos titkosts (stream ciphers),
amelyet ezen bevezeto ismeretanyagban nem rszleteznk [40].

5.2. A konvencionlis titkostk analzise


Az informcielmleti eszkzket alkalmaz albbi analzisben azt ttelezzk fel,
hogy csak rejtett zenetek llnak az analzis rendelkezsre, vagyis a rejtett szvegu tmadst vizsgljuk.
Jellje X s K a nylt zenet s a kulcs valsznusgi vltozkat, amelyek egy
realizcija x s k az aktulisan kdoland nylt zenet s az alkalmazott kulcs.
Feltesszk, hogy X s K fggetlen valsznusgi vltozk. Az (5.1) lekpezsnek
megfeleloen Y = EK (X) a rejtett zenet valsznusgi vltoz.
5.1. definci. Tkletes titkostsrl akkor beszlnk, ha
I (X; Y) = 0;

(5.4)

azaz, ha X s Y klcsns informcija nulla, amely ekvivalens az X s Y valsznusgi vltozk fggetlensgvel, s azzal, hogy a passzv tmad egy olyan
csatorna kimenett ltja, amelynek csatornakapacitsa nulla (a csatorna zaja csak
a k kulcstl fgg).
5.1. ttel. Tkletes titkosts ltezik.
B IZONYTS : Tekintsk az 5.4. plda algoritmust:
Y = X + K;

(5.5)

ahol Y = (Y1 ; Y2 ; : : : ; YN ); X = (X1 ; X2 ; : : : ; XN ); K = (K1 ; K2 ; : : : ; KN ) binris vektorok s koordintnknt modulo 2 sszeadst vgznk. Legyen K egyenletes
eloszls a binris N-dimenzis vektorok halmazn, ekkor
PfY = y j X = xg

=
=
=
=

PfX + K = y j X = xg =

PfK = y
PfK = y
1
;
2N

x j X = xg =
xg =

324

5. K RIPTOGRFIA

ahol felhasznltuk X s K fggetlensgt. Innen


PfY = yg

PfY = y j X = xgPfX = xg =
x

=
=

1
=
2N
PfY = y j X = xg

addik, azaz Y s X fggetlenek.


rdemes szrevenni, hogy X s Y fggetlensghez nem kellett semmit felttelezni az X eloszlsrl, tovbb, hogy a rejtett zenet valsznusgi vltoz
is egyenletes eloszls lesz. Azonban ahhoz, hogy a szban forg (Vernam) titkost realizlhat legyen, minden egyes zenet kdolshoz j kulcs szksges.
gy az adsi s vteli oldalon nagy mennyisgu kulcsot kellene trolni vagy egy
vdett csatornn tovbbtani. Pontosabban a szksges kulcsbitszm azonos az
tkldendo nylt adatfolyam bitjeinek szmval.
Az albbi ttelbol vilgoss vlik, hogy ez a htrny minden tkletes titkostra fennll.
5.2. ttel. Tetszoleges tkletes titkost algoritmus esetn
H (K)  H (X):

(5.6)

B IZONYTS : (5.4) felhasznlsval azt kapjuk, hogy


H (X) = H (X j Y) + I (X; Y) = H (X j Y);
tovbb
H (X j Y)


=
=

H (X; K j Y) =

H (K j Y) + H (X j Y; K) =
H (K j Y) 
H (K);

ahol felhasznltuk az X = DK (Y) alapjn fennll


H (X j Y; K) = 0
egyenlosget.
Az 5.2. ttel felhasznlsval binris esetben a
H (X)  H (K) = H (K1 ; K2 ; : : : ; KN )  jKj;

(5.7)

5.2. A

KONVENCIONLIS TITKOSTK ANALZISE

325

azaz a H (X)  jKj egyenlotlensget kapjuk. Teht binris tkletes titkost algoritmus esetn legalbb annyi binris digitbol kell llnia a kulcsnak, amennyi
informcis bitet hordoz a nylt zenet.
5.2. definci. Minimlis tkletes titkost algoritmusrl beszlnk, ha

jKj = dH (X)e

(5.8)

ahol dve a v vals szm felso egsz rszt jelli.


Az (5.7) s (5.8) formulk alapjn lthat, hogy a kulcsmret cskkentse
(X)
arny minl kzelebb
rdekben adattmrts szksges, vagyis az, hogy a HM
essen az 1-hez. Idelis tmrtst s Vernam-titkostst alkalmazva minimlis
tkletes titkostt kszthetnk, hiszen ekkor

jKj = M = N ' H (X)

(5.9)

llna fenn. Ezrt kell az zenetet eloszr tmrteni, s utna titkostani.


Shannon vezette be a gyakorlati titkossg s a felttel nlkli titkossg fogalmt.
5.3. definci. Egy titkostsi algoritmust gyakorlati titkossgot nyjtnak neveznk, ha feltrse irrelisan nagy szmtsi / trolsi kapacitst kvn.
5.4. definci. A felttel nlkli titkossg azt jelenti, hogy a megszerezheto informci (pl. rejtett zenetek sorozata rejtett zenetu tmadst tekintve) menynyisge elvileg sem elegendo a feltrshez brmekkora szmtsi kapacits is
llna rendelkezsnkre.
Az 5.1. definci szerinti tkletes titkost felttel nlkli titkossgot biztost.
Adott algoritmusok szmtsignynek elmleti meghatrozst egy rohamosan
fejlodo tudomnyg, az algoritmusok komplexitselmlete tuzte ki clul. Ezen
eredmnyek alapjn egyes nyilvnos kulcs titkost algoritmusok feltrhetosgt
bebizonytottk.
Az albbiakban bevezetsre kerlo nyilvnos kulcs titkostsi algoritmusok
gyakorlati titkossgot kvnnak nyjtani. Az algoritmusok alapja tipikusan egy
kzismerten igen nehz matematikai problma, a trgyaland RSA-algoritmus
pldul az igen nagy ( 10300 ) egszek prmfaktorokra bontsnak nagy szmtsignyre alapoz.

326

5. K RIPTOGRFIA

5.3. Nyilvnos kulcs titkosts


A nyilvnos kulcs titkosts alapgondolata, hogy gyakorlati titkossgot tud
nyjtani anlkl, hogy a titkos zenetkldst megelozoen a kommunikl partnerek brmifle titkos kulcsot cserltek volna egymssal, mint ahogy ez az elozetes
kooperci elofelttel a konvencionlis titkosts esetn. Az A nyilvnos kulcs
p
titkost kt kulccsal dolgozik, egy nyilvnos (kA ) s egy titkos (ksA ) kulccsal. A
nyilvnos kulcsot a kdolshoz, a titkos kulcsot a dekdolshoz hasznljuk. Ha A
s B titkostk felhasznlsval trtnik titkos zenetvlts, akkor B az
y = EkAp (x)
p

rejtett zenetet kldi A-nak, amit kA nyilvnossga miatt megtehet, s ebbol a rejtett
zenetbol
x = DksA (y)
dekdolssal nyeri vissza A a nylt zenetet. A kdols a nyilvnos kulcs ismeretben knnyu feladat, mg a dekdols a rejtett kulcs ismeretnek hinyban
gyakorlatilag nem vgrehajthat (nehz feladat).
Egy A; B; C; : : : titkostkat (felhasznlkat) tartalmaz rendszerben egy nyilp p
vnos kulcstrba tesszk le a kA ; kB ; : : : nyilvnos kulcsokat, ahonnan brmelyik
felhasznl kiolvashatja annak a felhasznlnak a nyilvnos kulcst, akinek rejtett
zenetet kvn kldeni.

p
Az egyes felhasznlk helyben generlhatjk a kV ; kVs kulcsprt, s ebbol a
nyilvnos rszt kzzteszik, mg a msikat titokban tartjk. Nagyon fontos szrevennnk azt a kittelt, miszerint a nyilvnos kulcstrbl csak olvasni szabad, s
vdeni kell azt a nyilvnos kulcsokkal trtno manipulciktl (pl. csertol). Ez
azt jelenti, hogy ugyan a kommunikcit megelozoen nem kell titkos kulcscsert
vgezni, hiszen a nyilvnos kulcstrbl olvass egy nylt elozetes informcicsernek felel meg, de megmarad az a feladat, hogy ezen nylt elozetes informci
hitelessgt biztostani kell.
Hitelestsi feladatban jl alkalmazhat a D dekdol transzformci. Tegyk fel, hogy A az x zenetet kvnja B-nek elkldeni olyan mdon, hogy egyttal alrst is elhelyezze a rejtett zenetben. Ezt gy teheti meg, hogy az
y = EB (DA (x)) alak zenetet kldi el. y alapjn a DA (x) tartalmat csak B tudja
dekdolni, s nyilvn DA (x) az a lekpezs, amely egyrtelmuen kapcsoldik a
kldo szemlyhez, A-hoz, s a kldtt zenethez, x-hez. A dekdol transzformcinak a nylt zenetre trtno alkalmazsval digitlis alrst generlhatunk.
Hasonl alrsok hitelesthetik a nyilvnos kulcstr elemeit. Ezen alkalmazsokra a kriptogrfiai protokollok kapcsn mg visszatrnk.

5.3. N YILVNOS

327

KULCS TITKOSTS

A. Shamirtl szrmazik az a rendkvl rdekes eljrs, amelynek a felhasznlsval mindennemu elozetes kulcscsere nlkl titkos zenetvlts trtnhet partnerek kztt, feltve az esetleges behatolrl, hogy passzv, azaz a csatornn foly zenetvlts lehallgatsra kpes csak. Ez az eljrs elvi tovbblpst jelent a
nyilvnos kulcs algoritmusokkal szemben is, hiszen mg nyilvnos informcit
sem kell elozetesen a partnerek tudomsra hozni.
A felhasznlk mindegyike egy titkos kulccsal rendelkezzen, s tegyk fel,
hogy a rendszerben alkalmazott Ek (x) kdol transzformci kommutatv, azaz
tetszoleges x nylt zenet, kA s kB kulcspr esetn
EkA (EkB (x)) = EkB (EkA (x)) ;

(5.10)

azaz a ktszeres kdols eredmnye fggetlen legyen a kulcsvlaszts sorrendjtol. Ekkor az n. hromlpses eljrs alkalmazsval A felhasznl B-nek a
kvetkezokpp kldheti el x zenett:
1. A ! B :
2. B ! A :
3. A ! B :

y1 = EkA (x)
y2 = EkB (EkA (x)) = EkA (EkB (x))
y3 = DkA (EkB (EkA (x))) = EkB (x)

Ez a termszetes tlet mg szemlletesebben is lerhat. Nevezetesen kpzeljk el, hogy egy lelakatolhat ldba helyezi el A az x zenetet, s lelakatolja kA
kulcsval (1. lps), majd elkldi B-nek. B nem prblkozik a nyits szmra is
lehetetlen feladatval, hanem inkbb mg a sajt kB kulcsval is lelakatolja a ldt
(2. lps), majd visszakldi azt A-nak. A leveszi a sajt lakatjt, s a ldt, amelyen
mr csak B lakatja maradt, visszakldi B-nek (3. lps), aki ezutn mr knnyen
kinyithatja azt.
A fentiekbol gy tunhet, hogy megtalltuk a tkletes megoldst, hiszen valban nem kellett elozetes kulcscsere a partnerek kztt (sem nyilvnos, sem titkos).
De mint emltettk, ezen protokoll praktikus alkalmazhatsgt az gtolja, hogy
teljesen ki van szolgltatva az aktv tmadsnak, hiszen az zenetklds nyilvnos
hlzaton trtnik. A fenti szemlletes lersmd szhasznlatval gondoljunk
csak arra, hogy pl. a posts, akivel a ldt kvntuk B-hez eljuttatni a sajt lakatjt
teszi a ldra a 2. lpsben, s gy adja azt vissza A-nak.
Az (5.10) kommutativitsi tulajdonsgnak eleget tesz az egyszeru
Ek (x) = x + k

(mod 2)

bitenknti modulo 2 vektorsszeadst alkalmaz kdols, ugyanis


(x + kA ) + kB = [(x + kB ) + kA (mod 2);

328

5. K RIPTOGRFIA

mivel a mod 2 sszeads asszociatv.


Knnyen belthatjuk azonban, hogy ezen kdols alkalmazsa a hromlpses
eljrsban mg a legegyszerubb passzv tmadsnak, a pusztn rejtett szvegre
alapoz tmadsnak sem ll ellen. Ugyanis az eljrs 1., 2., 3. lpse sorn a
tmad megfigyelve az
y1 = x + kA ;

y2 = x + kA + kB ;

y3 = x + kB

rejtett zeneteket, s kpezve azok mod 2 sszegt,


y1 + y2 + y3 = x;
az x nylt zenethez jutunk, sot a kulcsok is kinyerhetok: kB = y1 + y2 s kA =
y2 + y3 . Vegyk szre, hogy az alkalmazott kdols nem vletlen tkulcsols,
hiszen ktszer is alkalmaztuk ugyanazon kulcsot.
Kommutatv egy xe mod n alak kdols (modulo hatvnyozs) is, ahol x; e; n
termszetes szmok, azaz
e

(x 1 )

e2

= (x 2 )

e1

mod n:

Ilyen tpus muveletet hasznl az 5.4. szakaszban rszletesen kifejtett RSA-kdols.

Elemi szmelmleti eredmnyek


Ahhoz, hogy megrthessk a RivestShamirAdleman (RSA) algoritmus mukdst, nhny elemi szmelmleti eredmny felidzse szksges.
5.3. ttel (A maradkos oszts ttele). Tetszoleges a s b, b > 0 egszekre egyrtelmuen ltezik q s r egsz, hogy
a = bq + r;

0  r < b:

B IZONYTS : A ltezs knnyen lthat, hiszen a qb  a < (q + 1)b egyenlotlensgnek eleget tevo egszet vlaszthatjuk, s ekkor r = a qb. Az egyrtelmusg igazolshoz tegyk fel, hogy q; r pron kvl ltezik q0 ; r0 pr is, amelyre a =
q0 b + r0 ; 0  r0 < b. Mivel ekkor qb + r = q0 b + r0 llna fenn, ezrt r r0 = b(q0 q)
trendezsbol ellentmondsra jutunk, hiszen 0  r; r0 < b miatt r r0 < b, s
ugyanakkor teljeslnie kell a b j r r0 oszthatsgnak, ami csak r = r0 esetn
lehetsges. Az r = r0 egyenlosgbol viszont q = q0 is kvetkezik.

5.3. N YILVNOS

329

KULCS TITKOSTS

5.5. definci. Az a szmot a b s c szm kzs osztjnak nevezzk, ha a j b


s a j c teljesl. Ha b s c kzl legalbb az egyik nem nulla, akkor a kzs
osztik legnagyobbikt b s c legnagyobb kzs osztjnak nevezzk s (b; c)vel jelljk.
5.6. definci. Azt mondjuk, hogy a s b relatv prmek, ha (a; b) = 1.
5.4. ttel (Az euklidszi algoritmus). Adott b s c > 0 egszekre egyms utn
tbbszr alkalmazzuk a maradkos osztst, s ezzel az egyenletek kvetkezo sorozatt kapjuk:
b = cq1 + r1
0 < r1 < c
0 < r2 < r1
c = r 1 q2 + r 2
0 < r3 < r2
r 1 = r 2 q3 + r 3
..
.
rn
rn

2 = r n 1 qn + r n
1 = rn qn+1 + 0

0 < rn < rn
0 = rn+1

A b s c szmok legnagyobb kzs osztja rn , az osztsi eljrs legutols nem


nulla maradka, azaz (b; c) = rn .
B IZONYTS :
a) r1 ; r2 ; : : : pozitv egszek szigoran monoton cskkeno sorozata, ezrt lteznie kell olyan egsznek, amelyre rn+1 = 0.
b) A b = cq1 + r1 egyenletre tekintve lthatjuk, hogy ha x j b s x j c fennll,
akkor x j r1 is fenn kell lljon, s viszont, ha y j c s y j r1 , akkor ebbol
y j b is kvetkezik. Ez pedig azt jelenti, hogy b; c kzs osztinak halmaza
megegyezik c; r1 kzs osztinak halmazval, ezrt (b; c) = (c; r1 ) is igaz.
Az euklidszi algoritmus tovbbi egyenleteit is tekintve a
(b; c) = (c; r1 ) = (r1 ; r2 ) =

 = (rn

1 ; rn ) = (rn ; 0) = rn

egyenlosgi lncot kapjuk, teht (b; c) = rn valban igaz.


5.1. kvetkezmny. Tetszoleges b s c egszekre, amelyek kzl legalbb az
egyik nem nulla, lteznek s s t egszek, hogy
(b; c) = sb + tc:

(5.11)

330

5. K RIPTOGRFIA

B IZONYTS : Az euklidszi algoritmus egyenleteibol egymsba helyettestsekkel a kvetkezo egyenletsort kaphatjuk:


r1

q1 c = b + ( q1 )c

r2

q2 r1 = ( q2 )b + (1 + q1 q2 )c

..
.
rn

sb + tc;

teht az sszes ri , gy rn is felrhat a b s c szmok lineris kombincijaknt.


5.5. plda. Hatrozzuk meg a 8387 s 1243 legnagyobb kzs osztjt!
Az euklidszi algoritmus alapjn:
8387

1243

929

314

301

13

1243  6 + 929
929  1 + 314

314  2 + 301
301  1 + 13
13  23 + 2
26+1

1  2 + 0;

gy (8387; 1243) = 1, azaz relatv prmek. Ezen szmolst felhasznlva az (5.11)


elollts a kvetkezokpp kaphat b = 8347; c = 1243 jellsekkel:

azaz (8387; 1243) =

929

314

301

13

6c
b + 7c

3b

20c

4b + 27c
95b

641c

574b + 3873c;

574  8387 + 3873  1243.

5.7. definci. Ha az m nem nulla egsz osztja az a b klnbsget, akkor azt


mondjuk, hogy az a kongruens b-vel modulo m, s ezt a kvetkezokppen jelljk:
a = b (mod m).

5.3. N YILVNOS

331

KULCS TITKOSTS

5.8. definci. Azt mondjuk, hogy b modulo m inverze a-nak ha


ab = 1

(mod m):

5.6. plda. Az 5.5. plda alapjn a 3873 az 1243 modulo 8387 inverze, hiszen
3873  1243 = 1 mod 8387.
5.5. ttel. Az a modulo m inverze akkor s csak akkor ltezik, ha (a; m) = 1. Ha
ltezik inverz, akkor az egyrtelmu az m-nl kisebb pozitv egszek kztt.
B IZONYTS : Ha ltezik b, amelyre ab = 1 (mod m), akkor az ezzel ekvivalens ab qm = 1 alakbl (a; m) j 1, azaz (a; m) = 1 kvetkezik. Megfordtva,
ha (a; m) = 1, akkor az (5.11) felhasznlsval sa + tm = 1 kaphat, ahol b = s
vlasztssal ba = tm + 1, azaz ba = 1 (mod m) kvetkezik.
Az egyrtelmusget a kvetkezokpp bizonythatjuk. Ha a b0 6= b; 0 < b,
b0 < m egszekre ab = ab0 = 1 (mod m), akkor a(b b0 ) = 0 (mod m), ami azt
jelenten, hogy m j a(b b0 ). De mivel (a; m) = 1, ezrt ebbol m j b b0 kvetkezik, ami viszont jb b0 j < m miatt lehetetlen.
5.6. ttel (Fermat-ttel). Ha a c egsz nem oszthat a p prmmel, akkor
cp

= 1 (mod

p ):

(5.12)

B IZONYTS : Tetszoleges c egszre a c; 2c; 3c; : : : ; ( p 1)c szmok klnbznek


modulo p. Ha ugyanis ic = jc (mod p); i 6= j; 0 < i; j < p fennllna, akkor
az (i j )c = qp s ji jj < p, p - c sszefggsekbol ellentmondsra jutnnk.
gy teht a c; 2c; : : : ; ( p 1)c szmok modulo p az 1; 2; : : : ; p 1 szmok egy
permutcijt adjk. A kongruencia defincijbl kvetkezik, hogy ha ai = bi
(mod p); i = 1; 2; : : : ; n, akkor a1 a2 : : : an = b1 b2 : : : bn (mod p) is fennll. Teht
1  2  3  : : :  ( p 1) = c  2c  3c  : : :  ( p 1)c, azaz
p 1

p 1

i = cp

1 = cp

i=1

(mod

p)

i=1

fennll, ahonnan
(mod

p ):

5.7. ttel (Fermat-ttel ltalnostsa). Ha p1 s p2 klnbzo prmek, s


(a; p1 p2 ) = 1, akkor
a( p1

1)( p2 1)

= 1 (mod

p 1 p 2 ):

(5.13)

332

5. K RIPTOGRFIA

B IZONYTS : Az (a; p1 p2 ) = 1 a p1 - a s p2 - a lltsokat jelenti, gy mivel


p1 s p2 prm, p1 - a p2 1 s p2 - a p1 1 is teljesl. A Fermat-ttel felhasznlsval
teht


a( p2

a( p1

1)

1)

( p1

1)

( p2 1)

= 1 (mod

p1 )

= 1 (mod

p2 )

kvetkeznek. De ha valamely c egszre c = 1 (mod p1 ); c = 1 (mod p2 ), akkor


az ekvivalens p1 j c 1 s p2 j c 1 lltsokbl p1 p2 j c 1 kvetkezik. A c =
a( p1 1)( p2 1) megfeleltetssel a ttel bizonytst kaptuk.
Az 5.6. s 5.7. ttelek az albbi ttel specilis esetei:
5.8. ttel. Ha m = p1 p2  pn , ahol p1 ; p2 ; : : : ; pn klnbzo prmek s (a; m) = 1,
akkor
a(m) = 1 (mod m);
(5.14)

ahol (m) = ( p1 1)( p2


ttel specilis esete.)

1)  ( pn

1) az Euler-fggvny. (Ez a ttel az Euler-

A tovbbiakban csak az 5.7. ttel ltalnossgra lesz szksgnk, ezrt az 5.8.


ttel bizonytst (lsd [34]), amely az 5.7. ttelhez hasonlan trtnhet, elhagyjuk, s csak a ( p1 p2 ) = ( p1 1)( p2 1) rvidtett jellst hasznljuk. Az
eddigiekben bevezetett szmelmleti alapok birtokban megrthetjk az RSAalgoritmust.

5.4. RSA-algoritmus
Az algoritmus lpsei a kvetkezok:
1. Vlasszunk vletlenszeruen kt nagy prmszmot p1 -et s p2 -t.
2. Kiszmtva az m = p1 p2 s (m) = ( p1 1)( p2 1) paramtereket, vlaszszunk vletlenszeruen egy e; 1  e < (m) egszet gy, hogy
((m); e) = 1

(5.15)

teljesljn.
3. Szmtsuk ki e inverzt modulo (m):
d=e
(az 5.5. ttel miatt ltezik).

(mod (m))

(5.16)

333

5.4. RSA- ALGORITMUS

4. Az m; e egszeket nyilvnossgra hozzuk, mg a d ; p1 ; p2 rtkeit titokban


tartjuk (azaz k p = (m; e); ks = (d ; p1 ; p2 )).
5. A titkost kdols az 1  x < m nylt zenetre egy 1  y < m rejtett zenetet
ad, ahol
(5.17)
y = xe (mod m);
mg a dekdols az
x = yd

(mod m)

(5.18)

inverz muvelet.
(Az x s y skalr jellst alkalmazzuk a nylt ill. a rejtett zenetre az RSA esetn,
kihangslyozand, hogy nemnegatv egsz szmokknt vgezzk velk a mod m
muveleteket.)
5.1. lemma. Az (5.17) s (5.18) formulkkal megadott muveletek egyms inverzei.
B IZONYTS : Mivel (5.16) a de = q(m) + 1 lltssal ekvivalens valamely q
egszre, ezrt az
yd

e d

= (x ) = x

ed

=x

q(m)+1

(mod m)

kongruencia lncolatot kapjuk. Kln vizsgljuk az (x; m) = 1 s (x; m) > 1 eseteket.


a) (x; m) = 1 esetn (5.13) felhasznlsval x(m) = 1 (mod m), gy
yd

=x

q(m)+1

= x (x

(m) q

) =x

(mod m)

azaz ez esetben a kvnt eredmnyt kaptuk.


b) (x; m) > 1 esetn mivel m = p1 p2 s x < m, ezrt vagy p1 j x vagy p2 j x.
Az ltalnossg korltozsa nlkl feltehetjk, hogy p1 j x, ezrt x = wp1
felbonts kaphat, ahol (w; m) = 1.
Ennek felhasznlsval
q(m)+1

xq(m)+1 = wq(m)+1 p1

(mod m):

(5.19)

Mivel (w; m) = 1, ezrt (5.19) jobb oldali elso tnyezojre az 5.7. ttel felhasznlsval
(5.20)
wq(m)+1 = w (mod m)

334

5. K RIPTOGRFIA
addik. A Fermat-ttel felhasznlsval:
q(m)+1

p1


=

q(m)


=

p1 p1


1) q( p1 1)

( p2

p1 p1

p1

(mod

p2 )

(5.21)

illetve nyilvnvalan:
q(m)+1

p1

=0=

p1

(mod

p1 )

(5.22)

gy mivel p1 j p1
p1 s (5.21) alapjn p2 j p1
p1 teljeslnek
q(m)+1
a p1 6= p2 prmekre, ezrt p1 p2 j p1
p1 is fennll. Azaz
q(m)+1

q(m)+1

q(m)+1

p1

p1

(mod m):

(5.23)

Az (5.20) s (5.23) eredmnyeket (5.19)-ben felhasznlva


xq(m)+1 = wp1 = x

(mod m)

addik, amit bizonytani szerettnk volna.


Az albbiakban egy szmpldval szemlltetjk az RSA-algoritmus paramterszmtst (14. lpsek), majd a kdols s a dekdols muvelett, amelyben
a szmok nagysgrendjt a lpsek szemlltetshez kicsire vlasztottuk.
5.7. plda. Legyen p1 = 73; p2 = 151, gy m = 73  151 = 11023, (m) =
(73 1)(151 1) = 10800 = 24  3  52  9. Az e paramtert vlaszthatjuk pldul 11-re, mivel (10880; 11) = 1. Az e inverzt modulo (m) az (5.11) alak
segtsgvel llthatjuk elo, azaz az 5.5. pldban ltott szmtsmenetet kvetve
kaphatjuk meg az es + (m)t = 1 elolltst:
10800

11

11  981 + 9
91+2
24+1

1  2 + 0;

ahonnan
9

10800

11

981  11

9 = 11

(10800

2  4 = 10800

5  10800

981  11) =

981  11

4909  11;

10800 + 982  11

4  ( 10800 + 982  11) =

335

5.4. RSA- ALGORITMUS

gy 4909  11 = 1 (mod 10800), ezrt d = 10800 4909 = 5891 (mod 10800),


teht d = 5891.
Nyilvnossgra hozzuk az e = 11; m = 11023 egszeket, s titokban tartjuk a
p1 = 73; p2 = 151; d = 5891 egszeket.
Tegyk fel, hogy az x = 17 nylt zenetet kvnjuk kdolni, ekkor
y = 1711

(mod 11023);

ahonnan y = 1782. A dekdols az


x = 17825891

(mod 11023)

(5.24)

muvelettel trtnik.
Az (5.24) modulo hatvny kiszmtst egyszerusti a gyorshatvnyozs (ngyzetre emels s szorzs) mdszere. A kitevot az
5891 = 20 + 21 + 28 + 29 + 210 + 212
sszegre bonthatjuk a binris brzolsa alapjn. Ennek alapjn az (5.24) hatvnyt
az albbi alakba clszeru trni:
12

17822

 17822  17822  17822  17822  1782 =


10

2 2

= ((: : : (1782) )

1782)2 1782)2 1782)2 )2 )2 )2 )2 )2 )2 1782)2 1782

A kirtkelst a legbelso modulo ngyzetre emelssel kezdjk, azaz az elso nhny lps:
17822 = 900 (mod 11023)
9002 = 5321
(5321

(mod 11023)

 1782) = (2242)2 = 76

(mod 11023);

..
.
s az utols lps eredmnyl a 17-et kapjuk vissza. gy ahelyett, hogy (5.24)
mechanikus kiszmtshoz, azaz a
((: : : (1789

 1789)  1789)  1789) 

: : :)

 1789

szorzshoz szksges 5890 darab modulo szorzst vgeztk volna el, megsztuk
17 darab modulo szorzssal. (Knnyen ellenorizheto, hogy ezzel a mdszerrel
legfeljebb a kitevo kettes alap logaritmusnak ktszerese szm modulo szorzsra van szksg.)

336

5. K RIPTOGRFIA

Az egyirny fggvny
Mai ismereteink szerint e s m nyilvnos adatok birtokban az
f : f1; 2; : : : ; m 1g ! f1; 2; : : : ; m 1g,
f (x) = xe

(mod m)

(5.25)

inverznek kiszmtsa (azaz egy y rtkhez egy, az y = f (x) (mod m) sszefggsnek megfelelo x meghatrozsa) szmtsignyt tekintve gyakorlatilag megoldhatatlan feladat, ha a p1 s p2 prmeket elegendoen nagyra vlasztjuk. Eros
sejts, hogy ezen inverzkpzs nehzsge ekvivalens az m prmfaktorokra bontsnak nehzsgvel. Tovbbi sejts, hogy egsz szmok faktorizlsra szolgl
algoritmusok felhasznlsval ma szmtsignyt tekintve megoldhatatlan feladat a log10 m ' 300 nagysgrendu egszek felbontsa. Mai ismeretek s technolgia alapjn tbbszz v nagysgrendu ido lenne szksges a szmtshoz. Ezen
idotartambecslst termszetesen elsosorban gy kell tekintennk mint egy irrelisan nagy rtket, amely szemllteti a gyakorlatilag biztos vdettsg elrshez
szksges eros tlmretezst a kriptogrfiai kdtervezsben.
A gyakorlati titkossgra visszatrve, elvileg nyilvn md lenne e; m nyilvnos
adatok birtokban az sszes fnylt zenet, rejtett zenetg pr elozetes kiszmtsra, amelyeket trolva s a rejtett zenetek valamilyen sorrendjben felsorolva,
tetszoleges rejtett zenet vtelekor kiolvashatnnk a nylt prjt. A felttel nlkli
titkossg gy nyilvn nem llhat fenn, hiszen az megengedn akr az sszes ilyen
pr trolst s mgsem juthatnnk kzelebb a titok (kulcs) megfejtshez.
Az (5.25) modulo hatvnyozs a fentebb mr emltett megfelelo paramternagysgrendek mellett egy pldja az gynevezett egyirny fggvnyeknek.
5.9. definci. Az invertlhat f fggvnyt egyirnynak nevezzk, ha rtelmezsi tartomnynak tetszoleges x elemre f (x) rtket knnyu kiszmtani, mg
gyakorlatilag irrelis feladat tetszoleges y rtkkszletbeli elemhez az y = f (x)nek megfelelo x kiszmtsa.
Az RSA-kdols esetn knnyu feladatnak szmt az (5.25) kdols, mg a
dekdols csak a titkos dekdol kulcs, d ismeretben knnyu. Azon egyirny
fggvnyeket, amelyeket egy informci birtokban knnyu, de annak hinyban
gyakorlatilag lehetetlen invertlni csapda tpus egyirny fggvnyeknek nevezzk. Ezzel a szhasznlattal lve csapda tpus egyirny fggvny birtokban
elvileg tervezhetnk nyilvnos kulcs titkost algoritmust. Megjegyezzk, hogy
a 70-es vektol kezdodoen rengeteg erofeszts trtnt ilyen fggvnyek konstrulsra, amelyek kzl eddig csak a modulo hatvnyozson alapul RSA-kdols
maradt feltretlen.

337

5.4. RSA- ALGORITMUS

Prmek elolltsa
Visszatrve az RSA-algoritmus elso lpsre, nzzk meg rviden a vletlen prmvlaszts krdst. Bizonyts nlkl utalunk a szmelmlet Csebisevttelre [30], amely kimondja, hogy (n)-re, az n pozitv egsznl kisebb prmek
szmra a kvetkezo becsls adhat, ha n elg nagy:
(n) '

n
ln n

(5.26)

Emltettk, hogy ma teljesen biztonsgos az m = p1 p2 ' 10300 nagysgrend,


amelyhez pi ' 10150 (' 2500 ); i = 1; 2 nagysgrendu prmeket vlasztottunk. gy
annak a valsznusge, hogy egy vletlenszeruen vlasztott 2501 < s < 2502 (502
bites) szm prm, az (5.26) alapjn kzeltheto:


2502
2502

2501
2501

'2

1
501 ln 2
2501

501

1
' 350

s mivel az adott szmtartomny fele pros szm, amelyek nem prmek, elg csak
a pratlanok kzl vlogatnunk, s ezzel megduplzzuk a tallsi valsznusget
' 1751 -re. gy teht tlagosan 175 prblkozsonknt jutunk prmszmhoz a 10150
nagysgrendu szmok kztt.
Felmerl a krds, hogyan dnthetjk el, hogy a vletlenl kisorsolt egsz
szm prm-e vagy sem. Vletlenl sorsolt szmok kzl a prmek valsznusgi
alapon trtno kiszursre tbb algoritmus is ltezik, amelyeknek az alapelvt
kvnjuk itt elmondani.
Tegyk fel, hogy az s egszrol szeretnnk eldnteni, hogy prm-e. Vlasszunk
egy gynevezett bzist, egy b egszet a 2  b < s tartomnyban. A Fermat-ttel
alapjn tudjuk, hogy ha s prm, akkor
bs

= 1 (mod s):

(5.27)

bs

6= 1

(5.28)

gy, ha

(mod s);

akkor s biztosan nem prm, s b az s sszetettsgnek n. Fermat-tanja. Azonban


ha (5.27) igaz, akkor csak annyit mondhatunk, hogy lehetsges, hogy s prm.
Ha a fenti tesztet r-szer egyms utn megismteljk, s a fggetlenl sorsolt
2  b1 ; : : : ; br < s bzisok mindegyikre (5.27) teljesl, akkor az s egszet kis
tvedsi valsznusggel prmnek nyilvntjuk. Az ellenorzsek r szmt nyilvn
gy szeretnnk belltani, hogy a tveds valsznusge (nem prm elfogadsa)
minl kisebb legyen [38, 31].

338

5. K RIPTOGRFIA

Kzs modulus vlasztsnak hibja


Tegyk fel, hogy az RSA-kdolst alkalmazzuk egy sokfelhasznls rendszerben, s egy p1 ; p2 prmprt vlasztunk vletlen szelekcival a teljes rendszer
szmra a kulcskioszt kzpontban. Ekkor az m = p1  p2 modulus is kzs a rendszerben. Az egyes felhasznlknak a kzpont fggetlenl sorsolja az eA ; eB ; eC ; : : :
nyilvnos kdol paramtereket, majd kiszmolja a megfelelo dA ; dB ; dC ; : : : titkos
dekdol paramtereket. A nyilvnos paramtereket nyilvnos, olvashat kulcstrban helyezzk el. Amikor egy j felhasznl a rendszerhez kvn csatlakozni,
ezen ignyvel a rendszeren kvl egy kulcskioszt kzponthoz fordul, ahol
egyrszt bejegyzsre kerl, msrszt megkapja a titkos kulcst. A kzs modulus
(m) vlasztsnak elonye lehetne, hogy a nyilvnos kulcstrban kevesebb adatot kell trolni (azaz nem kell a klnbzo mA ; mB ; mC ; : : : modulusokat trolni),
tovbb elkpzelheto, hogy azonos modulus az aritmetika hardver megvalstsban is egyszerustst eredmnyez a felhasznli eszkzben. Az albbiakban egy
pldn keresztl megmutatjuk, hogy kzs modulus vlasztsval slyos rendszertervezsi hibt kvetnnk el, amelyre egy pldt mutatunk. Tovbbi plda
tallhat [31] irodalomban.
Relatv prm kdol kulcspr esete
Abban az esetben, ha A s B felhasznlk eA s eB kdol kulcsa relatv prm s
azonos nylt tartalm zenet rkezik mindkt felhasznlhoz (pl. egy C felhasznltl egy krlevl), akkor ezen zenetet a tmad dekdolni kpes anlkl, hogy
ez egyben az RSA-kdols megtrst (azaz m faktorizlst) jelenten.
Legyenek yA = xeA (mod m) s yB = xeB (mod m) a tmad ltal megfigyelt,
azonos nylt zenethez tartoz rejtett zenetek. Ha (eA ; eB ) = 1, akkor az 5.4. ttel
kvetkezmnye alapjn lteznek olyan t ; s egszek, hogy t  eA + s  eB = 1 fennll.
Mivel eA > 0 s eB > 0, ezrt t s s egyike negatv. Legyen t < 0, azaz t = 1 jt j.
Feltehetjk, hogy (yA ; m) = (yB ; m) = 1, hiszen ellenkezo esetben yA s m (illetve
yB s m) legnagyobb kzs osztja a p1 vagy p2 , aminek megismerse a titkost
transzformci (RSA-kd) feltrst jelenten. Ha pedig (yA ; m) = 1, akkor yA
1
(mod m) inverze (yA ) ltezik, ahonnan
yA 1

jt j

 (yB)s = (xe )t  (xe )s = xte


A

A +seB

=x

(mod m);

azaz anlkl, hogy feltrte volna a tmad az RSA-kdot, kpes volt kiszmtani
a rejtett zenet nylt tartalmt.
A fentiekben elmondott algoritmikus tmads konklzija az, hogy kzs modulus vlasztst mindenkppen el kell kerlni RSA-kdra alapul rendszerekben.

339

5.4. RSA- ALGORITMUS

A kicsi kdol kulcsok problmja


Az RSA-algoritmus paramtereinek megvlasztsnl a kdol e kitevojre
az 1  e < (m), s ((m); e) = 1 megktseket tettk. Kisebb szmtsignyu a
kdols, ha e rtkt kicsire vlasztjuk, s ezt megtehetjk, mivel ezen vlaszts
a mai ismeretek szerint nem knnyti meg az RSA-algoritmus feltrhetosgt. Ha azonban egy sokfelhasznls rendszerben kicsire (pldul tznl kisebbre)
vlasztjuk valamely felhasznl e paramtert, az bizonyos krlmnyek kztt
nylt zenet kiszmtsra adhat lehetosget a tmad szmra anlkl, hogy feltrn a titkost kdot.
Itt feleleventjk a knai maradkttelt, amely a kdolselmletben szleskrben alkalmazhat.
5.9. ttel (knai maradkttel). Ha az m1 ; m2 ; : : : ; mr pozitv egszek pronknt
relatv prmek, s a1 ; a2 ; : : : ; ar tetszoleges egsz szmok, akkor az
x = ai

(mod mi );

i = 1; 2; : : : ; r

kongruenciarendszernek van kzs megoldsa. Brmely kt megolds kongruens


modulo m1  m2  mr .


B IZONYTS : Ha m = m1  m2  mr , akkor mmj egsz s mmj ; m j = 1. Ezrt


az 5.5. ttel rtelmben lteznek olyan b j egszek, hogy mmj b j = 1 (mod m j ). Mivel mi j mmj , ezrt mmj b j = 0 (mod mi ), ha i 6= j. Ha az x1 egszet a kvetkezokppen definiljuk:
r
m
x1 =
b ja j;
(5.29)
j=1 m j
azt kapjuk, hogy
r

x1 =

m j b j a j = mi bi ai = ai

(mod mi );

j =1

azaz x1 kzs megoldsa a kongruenciknak. Ha x1 s x2 mindketten megoldsai az x = ai (mod mi ); i = 1; 2; : : : ; r kongruenciknak, akkor nyilvn x1 = x2
(mod mi ); i = 1; 2; : : : ; r. Azaz mi j (x1 x2 ); i = 1; 2; : : : ; r, amib
ol az (mi ; m j ) =
1; i 6= j felttel miatt m j (x1 x2 ) kvetkezik, gy x1 = x2 (mod m).
Ha egy sokfelhasznls rendszerben kicsi az a tartomny, amelybol az e kitevoket vlasztjuk, akkor elofordulhat, hogy tbb felhasznl ugyanazt az e kitevot kapja, de termszetesen fggetlenl vlasztjk a prmprt, gy klnbzo

340

5. K RIPTOGRFIA

dekdol kulcsok s modulusok tartoznak hozzjuk (pl. okulva a kzs modulus vlasztsnak kvetkezmnyeibol). Tegyk fel ekkor, hogy egy felhasznl az
(e; m1 ); (e; m2 ); : : : ; (e; mr ) nyilvnos kdolsi paramterekkel rendelkez
o r (r  e)
szm klnbzo felhasznlnak ugyanazt az x zenetet kldi, s a tmad rendelkezsre llnak a megfelelo:
y1
y2

=
=

xe (mod m1 )
x

(5.30)

(mod m2 )

..
.
yr

xe (mod mr )

rejtett zenetek. Ha m1 ; m2 ; : : : ; mr relatv prmek, akkor a knai maradkttel felhasznlsval kiszmthatja az xe (mod m1 m2  mr ) hatvnyt. Mivel x < minfmi g
miatt
0 < xe < m1 m2  mr ;
ezrt magt az xe hatvnyt (s nem csak modulo ekvivalenst) ismeri, gy innen mr x rtkt is kiszmthatja. Ha azonban az zenetkldo az zenet kldsi idopontjt is elhelyezi az zenetben (idopecst), akkor az azonos x zenetet
a t1 ; t2 ; : : : ; tr kldsi idopontok mdostjk, s klnbzo kdoland nylt zenetekk vlnak.

5.5. Kriptogrfiai protokollok


Algoritmikus szempontbl egy titkost rendszer kt fo komponenst tartalmaz:
egyrszt a titkost kdol s dekdol transzformcikat, msrszt kriptogrfiai
protokollokat. A protokoll algoritmikus lpsek sorozata kt vagy tbb rsztvevo
partner kztt valamely feladat vgrehajtsa cljbl.
Szksgesek olyan szablyok, amelyek biztostjk, hogy a titkost transzformcik egy adott alkalmazsban a megkvnt titkossgot vagy hitelessget nyjtsk. A transzformci tbbnyire egy kulcsot hasznl, de a transzformcit vgrehajt algoritmus nem gondoskodik e kulcs vdett clbajuttatsrl (kulcskioszts), a trols ideje alatti algoritmikus vdelmrol (pl. hitelessgnek biztostsa).
Aktv tmadsok ellen egy titkost transzformci nmagban nem vd, gy megfelelo szablyokkal kell gondoskodni az zenetek tmad ltali manipulcijnak
(blokkok nyilvnos csatornbl trtno kivonsa, vagy helyettestse) felfedhetosgrol. Protokollok felhasznlsval trtnik a kommunikl partner hitelessgnek megllaptsa, az illetktelen megszemlyests felfedse is. A legerosebb
titkost transzformci sem nyjt vdettsget egy hibsan tervezett protokollkrnyezetben.

5.5. K RIPTOGRFIAI

PROTOKOLLOK

341

A kriptogrfiai protokollok az algoritmusok igen szles csaldjt foglaljk


ssze. A gyakorlatban leginkbb alkalmazott, alapveto protokollok a kvetkezo
csoportokba sorolhatk:







partnerhitelests
kulcskioszts
zenetintegrits
digitlis alrs
titokmegoszts

Megjegyezzk, hogy szmos tovbbi specilis cl, gyakorlatban kevsb hasznlatos protokoll is ismert.

Partnerhitelests
A jelszavas partnerhitelests a legelterjedtebb, rgta ismert azonostsi eljrs. Hossz ido telt el Ali Baba jelszavtl a banki PIN kdokig. A jelsz
egy titok, amit a felhasznl megoszt azzal az eroforrssal, amihez alkalmanknt hozz szeretne frni. A jelszavas rendszerek szoksos problmi: a nem
megfelelo jelszvlaszts, a jelsz nylt alakban trtno tovbbtsa a rendszerbe
juts pontjtl (pl. terminl klaviatra) az ellenorzs pontjig (pl. gazdagp), a
jelszavak nem elgg vdett trolsa (mind a felhasznl oldaln, mind pedig a
jelszfjl tekintetben).
A jelszellenorzs folyamatt lthatjuk az 5.4. brn. A jelszavak gazdagp
oldali vdelmn javt azok egyirny fggvnnyel trtno lekpezse. Ekkor a
jelszfjl az egyirny lekpezs eredmnyt trolja az egyes felhasznlkra, a
felhasznli azonostkkal (ID) egytt. A jelsz (P) tovbbra is nylt alakban rkezik az ellenorzs helyre, ahol elobb kiszmtsra kerl annak egyirny fggvnyes lekpezse ( f (P)), majd ennek eredmnye kerl sszevetsre a tblzat
bejegyzsvel.
Ezzel a megoldssal teht a jelszfjl illetktelen olvassa nmagban nem
jelent veszlyt, hiszen az egyirny lekpezs gyakorlatilag invertlhatatlan tulajdonsga biztostja, hogy jelszhoz a tmad nem frhet hozz. Ez utbbi kijelents azonban csak felttelek mellett igaz: a jelszmret legyen elg nagy a
teljes kiprbls megakadlyozshoz, a jelszavak a teljes jelsztrbol kerljenek
kivlasztsra.
A nem megfelelo jelszvlaszts azt jelenti, hogy a felhasznlk nem vletlenszeruen vlasztanak az adott hosszsg alfanumerikus karaktersorozatok kzl, hanem pl. rtelmes szavakat, jellemzo dtumokat, ezek trivilis kombinciit

342

5. K RIPTOGRFIA
igen/nem

6

-

jelsz
tbla

=?

(ID1; f (P1))
(ID1; f (P1))

..
.

ID

5.4. bra. Egyirny jelszellenorzs.


hasznljk. Ezrt a sztr alap tmadsok jelentos szzalkban sikerre vezethetnek.
Az egyszer hasznlatos jelsz
Ha a jelszt kapcsolatfelvtelenknt vltoztatnnk, nyilvn semmi rtelme nem
lenne a jelsz megismersre irnyul tmadsnak, feltve, hogy a korbbi jelszavakbl nem szmthat ki a kvetkezo jelsz. Ekkor teht az aktulis jelszt
nyltan is tkldhetjk. Egy vltoz jelszavas protokoll az albbi:
Ini1.
Ini2.
1:
1:1
2:
2:1
..
.
i:
i:1

A:
A!B:
A!B:
B:
A!B:
B:

r generlsa
IDA ; n; y = f n (r)
P1 = f n 1 (r)
y = f (P1 )?
P2 = f n 2 (r)
y = f 2 (P2 )?

(5.31)

A ! B : Pi = f n i (r)
B:
y = f i (Pi )?

A protokoll inicializlsakor egy r titkos vletlen elemet A felhasznl az f


egyirny fggvny n-szeri alkalmazsval lekpez, amelynek y eredmnyt kldi
t B-nek, aki ezt trolja. Az i-edik bejelentkezskor hasznland Pi jelsz y inverze az f i egyirny fggvnyre vonatkozlag. Ezt az inverzet csak A kpes kiszmtani, de a szmts helyessgt (miutn f nyilvnos) brki kpes ellenorizni

5.5. K RIPTOGRFIAI

343

PROTOKOLLOK

az f i-szeri alkalmazsval. Az inverz lekpezs praktikus futsideju algoritmust termszetesen maga A sem kpes elolltani, azonban erre nincs is szksge,
mivel az r vletlen elem f fggvnnyel trtno n i-szeres lekpezse ugyanerre
vezet. A kt flnek szinkront kell tartani a jelszsorszm vonatkozsban. Ha
azonban valamely hiba kvetkeztben az tvitel sorn elveszne egy jelsz, akkor A eggyel tovbblp a jelszsorszmban, s j jelszt kld, mellette jelezve az
egylpses szinkronhibt.
Partnerhitelests nyilvnos kulcs fggvnyek felhasznlval
Tekintsk a kvetkezo, kihvs s vlaszvrs (challenge & response) tpus
partnerazonostsi protokollt, amelyben B kvnja A-t azonostani:
1: B ! A : R
2: A ! B : y = DA (R)
3: B :
R = EA (y)?

(5.32)

A protokoll biztonsgosnak tunik, hiszen A nem jtszhat vissza korbban felvett 2. lpsbeli zenetet, tovbb csak A kpes y elolltsra a titkos dekdol
kulcsnak hasznlatval. A protokoll teht jnak tunik, pedig nem felttlenl az,
s ez a vletlen elemre adott dekdolsi lpssel kapcsolatos:
Tegyk fel, hogy a leggyakoribb nyilvnos kulcs rejtjelezo algoritmust, az
RSA-t kvnjuk hasznlni. Tegyk fel tovbb, hogy C lehallgatott egy korbbi, A
szmra kldtt y = EA (x) = xe mod n rejtjelezett blokkot, ahol e az A nyilvnos
kulcsa az RSA-algoritmusnak megfeleloen. C az x zenetet szeretn megtudni,
amit kzvetlenl kiszmtani nem tud, hiszen x = yd mod n, s a d kitevo az A
titkos kulcsa.
C a kvetkezo ravasz mdon jr el. Vlaszt egy R vletlen termszetes szmot,
ahol R < n s (R; n) = 1, majd a kvetkezo elokszto szmtsokat vgzi el:
v = Re mod n
w = vy mod n
t =R

mod n

Ezutn C elkldi w-t A-nak alrsra. Itt kapcsoldunk vissza az (5.32) protokollhoz, ugyanis legyen az (5.32) protokollbeli vletlen elem w, amit C kld A-nak
kihvsknt az 1. lpsben. Az (5.32) protokoll 2. lpsben A egy dekdolsi
lpst hajt vgre, azaz visszakldi a B-t megszemlyesto tmadnak az
u = wd mod n

344

5. K RIPTOGRFIA

rtket, ami mr lehetov teszi C szmra, hogy megtudja mi is volt az x zenet,


ugyanis:
tu = R 1 wd = R 1 vd yd = v d vd yd = yd = x mod n;
ahol felhasznltuk, hogy R = vd mod n.
A kvetkezo, mdostott vltozat mr biztonsgosabb, ahol tovbbra is B kvnja A-t azonostani:
1: B ! A : R2
2: A ! B : DA (R1 ); A ! B : z = DA (R1  R2 )
3: B :
R1  R2 = EA (z)?

(5.33)

C nem tud A-tl egy ltala elolltott R2 blokkra dekdolst krni, mivel A
csak egy ltala mdostott R1  R2 blokkra alkalmazza a dekdol transzformcit. Msfelol C nem tudja A-t megszemlyesteni, mivel ehhez a friss R2 vletlen
blokkot kellene neki R1 vletlen blokkon keresztl gy manipullnia, hogy a 2. lpsben korbbi zenetek visszajtszsval csalhasson. Erre azonban nem kpes,
mivel az R1 blokkot is dekdolt formban kell kldenie.
Ezen mdosts utn C mr nem kpes megszemlyesteni A-t, mivel nem
tudja vgrehajtani az 2. lpst, illetve ha az a 2. lpsben egy deddols nlkl
egy vletlen elemet kld t B-nek, akkor nem tudja a 3. lpst elvgezni. Ha A
is azonostani kvnja B-t, akkor ugyanezen protokollt lejtsszk fordtott szereposztssal.
Elkerlheto a fenti tmads olyan mdon is, hogy rejtjelezsre s azonostsra
ms kulcskszletet hasznlunk.

Kulcskioszts
A konvencionlis kdolk kzs titkos kulcsot hasznlnak. A j kulcs valdi
vletlen binris vektor, amelyet nyilvn nem lehet szinkronban generlni. Teht
az azt generl fltol vdetten t kell juttatni a partnerhez. A vdelem jelenthet
fizikai vdelmet (pldul kulcsszllt hardverben kzben visszk t a kulcsot
a partnerhez), illetve tisztn algoritmikus vdelmet, amikor a kulcsot rejtjelezve
nyilvnos kommunikcis csatornn tovbbtjuk. Ezen szakaszban a tisztn algoritmikus mdszerekkel foglalkozunk. A konvencionlis kdolson alapul rejtjelezs ma is alapveto mdszer, miutn a nyilvnos kulcs, rejtjelezs cljra is
alkalmas algoritmusok kdolsi sebessge sok alkalmazsban nem elegendoen
nagy.
Kulcskioszts konvencionlis algoritmussal
A rendszer A; B; C; : : : felhasznli konvencionlis titkostssal kvnnak zene-

5.5. K RIPTOGRFIAI

345

PROTOKOLLOK

kzpont


2.




1.

3.
4.
5.



B

5.5. bra. Kulcskioszts kzpont felhasznlsval.


teket vltani egymssal. Feltesszk, hogy a felhasznlk ktodnek egy-egy terminlhoz s kzlk tetszoleges pr tud egymssal kommuniklni. A rendszer
rendelkezik egy kulcskioszt kzponttal, amely lehet egy, a terminlok ltal elrheto szmtgp. A tovbbi magyarzatot segti az 5.5. szemllteto bra.
A protokoll a kvetkezo:
1:
2:
3:
4:
5:

A ! Kp :
Kp ! A :
A!B:
B!A:
A!B:

IDA ; IDB ; R1
ET KA (R1 ; IDB ; DK ; ET KB (DK ; IDA ))
ET KB (DK ; IDA )
EDK (R2 )
EDK (R2 1)

(5.34)

A protokoll ktfle kulcsot hasznl: a felhasznli terminlkulcsokat (T KA ;


T KB ; : : :) s a kapcsolatkulcsot (DK).
Az R1 s R2 vletlen elemek hasznlatnak oka a visszajtszsos tmads (replay attack) megakadlyozsa. Egy ilyen tmadsban a C tmad egy korbbi,
rgztett zenetet prbl jrahasznlni.
Ha teht a 2. lpsben A fel az zenet nem a kzponttl, hanem C-tol szrmazna, ezt A rgtn szrevenn, hiszen nem az 1. lpsben ltala elkldtt vletlen elemet tartalmazn a 2. lpsben megkapott zenet.
Ha pedig C klden el A nevben az 1. lpsbeli zenetet, akkor nem ismervn a T KA kulcsot nem tudn dekdolni a 2. lpsben vett zenetbol a DK
kapcsolatkulcsot.
Ha C a B-t prbln megszemlyesteni, nyilvn nem tudn dekdolni a 3.
lpsbeli zenetet.
Ha C az A-t prbln megszemlyesteni, s a 3. lpssel indtva egy rgebbi
3. lpsbeli zenetet kvn elkldeni B fel, akkor miutn a DK kulcsot ebbol

346

5. K RIPTOGRFIA

dekdolni nem tudta, nem lesz kpes a 4. lpsbeli friss kihvs 5. lpsbeli
megvlaszolsra.
A 345. lpsek utn B azt tudja, hogy olyan fllel ll szemben, aki ismer
egy valamikor A-nak kldtt DK kapcsolatkulcsot. A protokoll nem gondoskodik arrl, hogy A meggyozodjn B azonossgrl, hiszen R2 vletlen blokk lvn,
az nem ellenorizheto, hogy a 4. lpsbeli rejtett zenet valban egy vletlen blokk
rejtjelezsvel llt elo. A protokoll htrnya mg, hogy megbzhat kzpont ltre tmaszkodik, ami nemcsak annak tbblet infrastrukturlis kiadst jelenti,
de annak a veszlyt is, hogy a kzpont zemkptelensge vagy sok krs miatti
leterheltsge az egsz rendszer zemkptelensghez vezet.
A protokoll leginkbb kifogsolt gyenge pontja az, hogy rgi, a C tmad ltal idokzben megismert DK kulcs felhasznlhat tmadsra. A tmadst C a protokoll 3. lpstol kezdi, s lthatan B szemben A felet sikeresen megszemlyestheti (vegyk szre, hogy az ET KB (DK ; IDA ) korbbi lehallgatott zenetet kompletten hasznlhatja fel). Ezen tmadssal szemben megerostheto a protokoll,
ha a kzpont ET KB (DK ; IDA ) helyett egy idopecsttel elltott ET KB (DK ; IDA ; T )
protokoll-elemet llt elo. Az idopecst azonban az zenetcsere gyakorisgoknak
megfelelo pontos rt ttelez fel, amely biztonsgos is abban az rtelemben, hogy
egy C tmad azt nem kpes lltani.
A rendszer zembe helyezse elott megfelelo vdelmi rendszablyok betartsa mellett kerlnek elhelyezsre a mester s terminlkulcsok. A kzpont mesterkulcsval kdolva tlagosan vdett trol kzegen (pl. diszk) trolhatja az egyes
terminlok kulcsait (EMK (T KA ); EMK (T KB ); : : :). A mester- s terminlkulcsokat
kulcs titkostsra, a kapcsolatkulcsot a nylt adatfolyam titkostsra hasznljk.
A legnagyobb vdettsget a mesterkulcs ignyli, viszonylag a legkisebbet a kapcsolatkulcs kapja, azaz a mesterkulcs helyezkedik el a kulcshierarchia tetejn. A
kapcsolatkulcsok kerlnek leggyakrabban felhasznlsra. A hierarchiban alsbb
szintu kulcs kompromittldsa felsobb szintre nem hat, fordtva viszont igen,
hiszen a terminlkulcs megszerzsvel dekdolhatjuk az oda rkezo kapcsolatkulcsot.
Az (5.34) protokoll vletlen elemeket hasznl a rgebben felvett protokollrszletek visszajtszsval trtno tmadsi ksrletek megakadlyozsra. Alkalmazhatnnk idopecsteket is vdeleml. Az (5.34) kulcscsere protokoll idopecsteket alkalmaz albbi vltozata a kulcscsere s azonosts kettos feladatot
kvnja megoldani. A javtott protokoll az albbi lpsekbol ll:
1:
2:
3:
4:

A ! Kp :
Kp ! A :
A!B:
B!A:

IDA ; IDB
ET KA (T ; L; DK ; IDB ); ET KB (T ; L; DK ; IDA )
EDK (T 0 ; IDA ); ET KB (T ; L; DK ; IDA )
EDK (T 0 + 1)

(5.35)

5.5. K RIPTOGRFIAI

347

PROTOKOLLOK

A fenti lpsekben T a DK kulcs elolltsnak idopontja, L pedig a DK kulcs


lettartama. A 2. lpsben megkapott kdolt zenetbol A megllapthatja, hogy az
rja szerinti idopont bell van-e a [T ; T + L intervallumon. Ugyanezt megteszi
B is a 3. lps utn. A 3. lpsbeli EDK (T 0 ; IDA ) protokoll-elem kldse egyrszt
azrt szksges, hogy B meggyozodhessen arrl, hogy ezen lpsbeli tvitelt valban A vgzi (vegyk szre, hogy az 12. lpsig egy C tmad is eljuthat),
msrszt A T 0 friss elemmel kihvst is kld egyttal B fel. Az utols lps az A
felet gyozi meg arrl, hogy partnere valban B.
Az ilyen, rt felttelezo protokollok ki vannak tve annak a veszlynek, hogy
az rk pontos egyttfutsa (szinkronizltsga) valamilyen rendszerbeli hiba vagy
szndkos beavatkozs miatt megszunik. Ha a kldo rja siet a vevo rjhoz
kpest, egy C tmad, lehallgatva az zenetet, azt egy visszajtsz tmadsban
felhasznlhatja.
Kulcskioszts nyilvnos kulcs algoritmussal
A tmad kzpen tmads a kulcscsere vonatkozsban azt jelenti, hogy a
tmad A s B leglis felek kz ll, azok kezdodo kulcscsere protokolljba megprbl bekapcsoldni oly mdon, hogy szrevtlenl rvegye a leglis feleket egy
ltala is ismert kulcs hasznlatra. Ezen tmadsnl teht nem a tmad kezdemnyezi a kulcscsert, hanem szinkronban belp A s B beszlgetsbe.
Tekintsk az albbi protokollt:
1:
2:
3:
4:
5:
p

A!B:
B!A:
A!B:
B!A:
A; B :

IDA ; kA ; CA
p
IDB ; kB ; CB
EB (R1 )
EA (R2 )
k = F (R1 ; R2 )

(5.36)

ahol CA s CB a kA s kB nyilvnos kulcsok tanstvnyai (certificate), azaz az adott


nyilvnos kulcsokra egy kzpont ltal elolltott digitlis alrsok. Ezen alrst
p
a kzpont fIDA ; kA g egyttesre adja. A kzpont nyilvnos kulcst a rendszer
minden rsztvevoje ismeri. Az F lekpezs szerepe annak biztostsa, hogy a k
kulcs ltrehozsban mindkt fl egyforma mrtkben vehessen rszt, gy pldul vlaszthat az R1 ; R2 vletlen binris vektorok koordintnknti modulo 2
sszeadsa.
Ha a protokoll 1. s 2. lpsben nem kerlne tkldsre a hiteles kulcstanstvny (CA ; CB ), akkor a nyilvnos kulcsokat egy kzpen ll tmad sikerrel
manipullhatn ltala is ismert kapcsolatkulcs megbeszlsre.
Kommutatv egyirny fggvnyre is ptheto kulcscsere protokoll. Az egyik
legismertebb kommutatv egyirny fggvny a diszkrt hatvnyozs. Ha csak

348

5. K RIPTOGRFIA

passzv tmadsra kell felkszlni, akkor brminemu kulcscsere illetve kzpont


segtsge nlkl kpes kt fl A s B arra, hogy kzs vletlen elemet, azaz
kzs kapcsolatkulcsot megbeszljen.
Vlasszunk egy nagymretu vges testet, jellje ezt GF(q), jellje g ennek
egy nem titkos primitv elemt. A protokoll a kvetkezo:
1: A ! B : gR1
2: B ! A : gR2
(gR2 )R1
3: A :
(gR1 )R2
B:

(5.37)

Mivel a hatvnyozs kommutatv muvelet, ezrt a k = (gR2 )R1 = (gR1 )R2 kzs
kulcsban llapodhat meg a kt fl. Az tviteli csatornban hallgatz C tmad
nem kpes az R1 illetve R2 vletlen elemeket megllaptani, mivel a diszkrt logaritmuskpzs nehz feladat. A C tmad ugyanakkor kpes a tmad kzpen
aktv tmadsra. Az A fllel a fenti protokoll szerint megbeszl egy kA kulcsot, B
fllel egy kB kulcsot, majd sszekapcsolja o ket olyan mdon, hogy konvertlja a
rejtett zeneteket az egyik kulcsrl a msikra az zenet irnynak megfeleloen.

zenethitelests
Az zenethitelests feladata az, hogy a vteli oldalon detektlhatv tegyk
azon esemnyeket, amelyek sorn az tviteli ton az zenet valamilyen mdosulst szenvedett el. Az albbiakban a legfontosabb mdszerek kzl a






kriptogrfiai ellenorzo sszeg (MAC)


rejtjelezs
digitlis alrs
hash fggvny

alap protokollok alapelveit mutatjuk be.


Kriptogrfiai ellenorzo sszeg (MAC) alap zenethitelests
Konvencionlis blokk-kdolt alkalmazunk. Tegyk fel, hogy az zenet r szm
blokkra bonthat: x1 ; : : : ; xr . Ha az utols blokk tredk lenne, egsztsk ki zr
bitekkel teljes blokkra. Blokk-kdolnkat CBC (rejtett blokk lncols) mdban
hasznlva kriptogrfiai ellenorzo sszeget (MAC, Message Authentication Code)
lltunk elo, s ezt a nylt alak zenethez fuzve tovbbtjuk a csatornn, azaz a
tovbbtott hitelestett zenet:
[x1 ; : : : ; xr ; MAC(x1 ; : : : ; xr )

5.5. K RIPTOGRFIAI

349

PROTOKOLLOK

inicializl blokk

?
N bites
regiszter

zenet
blokkok

m bit
kivlasztsa

MAC

kulcs

5.6. bra. MAC generls.


Az eljrst szemlltetjk az 5.6. brn. Formlisan MAC = g(yr ), ahol yr az
yi = Ek (xi  yi

1 );

i = 1; : : : ; r

rekurzi r-edik lpsbeli eredmnye, tovbb y0 = I (inicializl blokk). A g


fggvny yr N bitjbol m bitet vlaszt ki, s az eredmny a kriptogrfiai elleno rzo sszeg. A vteli oldal megismtli az MAC szmtst, s az eredmnyt szszehasonltja a vett MAC-vel. Egyezs esetn fogadja el hitelesnek a vett zenetet.
Az m rtkt akkorra kell vlasztani, hogy elhanyagolhat legyen annak a valsznusge, hogy a C tmad az [x1 ; : : : ; xr ; MAC(x1 ; : : : ; xr ) hitelestett zenetet
[x10 ; : : : ; xr0 ; MAC(x10 ; : : : ; xr0 ) hiteles formtum zenetre cserlje, ahol [x10 ; : : : ; xr0
a tmad cljainak megfelelo csal zenet. Mivel a titkos k kulcsot nem ismeri,
azaz MAC szmtsra nem kpes, ezrt tmadsa akkor lehet csak sikeres, ha kisorsolva egy v m bites vektort, vletlenl v = MAC(x10 ; : : : ; xr0 ) egyenlosg fennll.
Az inicializl blokk lehet nyilvnos az adott CBC md alkalmazsban. Ennek
megfeleloen vlaszthatjuk pldul a csupa zr blokkot.
Konvencionlis rejtjelezssel trtno zenethitelests
Ha konvencionlis rejtjelezst alkalmazunk egy nylt zenetre, s rejtjelezett formban kldjk el a vteli oldalra, nyilvn csak a titkos kulcs birtokban levo,
jogosult vevo kpes annak tartalmt olvasni. Ezzel teht a hitelestsi feladatot
is megoldottuk, ha a nylt zenet redundns, valamely strukturval vagy formtummal, amelyet a vevo kriptogrfin kvli eszkzzel ellenoriz. Ha valamely
nyelven rott szveg a nylt zenet, akkor ez az eszkz az adott nyelven olvasni

350

5. K RIPTOGRFIA

tud ember olvassi kpessge. Ha azonban a nylt zenet strukturlatlan folyam


(legalbbis a rendelkezsre ll eszkzeink szmra), akkor nmagban a rejtjelezs nem ad lehetosget zenethitelestsre. A strukturltt ttel egyik legegyszerubb mdja valamely lineris ellenorzo sszeg (MDC, Manipulation Detection
Code) alkalmazsa, s a nylt szveg ezen sszeggel trtno kiegsztse. Ez lehet
pldul az adattvitelben jlismert ciklikus redundancia karakter (CRC) kpzse.
sszegezve: a rejtjelezssel trtno hitelests tlete az, hogy a dekdolt zenet struktrja megtrjn egy aktv tmads esetn. (Pl. rott szveg vagy rszletei
vletlenszeruv vlnak, beszd rszletei zajj vlnak, stb.)
Sajnos ezzel mg nem oldottuk meg megnyugtatan a feladatot. A gondot
az jelenti, hogy a nylt zenet tipikusan sokszorta hosszabb, mint a konvencionlis blokk-kdol blokkmrete, azaz trdelni kell a nylt zenetet, s blokkonknt
kdolni. Ezt azonban nem mindegy hogyan tesszk, ha zenetmdost tmadsra is gondolnunk kell. Nyilvn veszlyes lehet az, ha az x1 ; : : : ; xr nylt zenet
blokkokat kln-kln rejtjk (ECB, Electronic Code Book), mert az eredmnyl
kapott y1 ; : : : ; yr rejtett blokkok sorozatnak egyes elemei szrevtlenl kihagyhatk, korbbira kicserlhetok, dupliklhatk lehetnek a nylt zenet struktrjtl
fggoen. Ezrt alkalmazzuk a lncols mdszert, gy a rejtett blokk lncols
(CBC, Cipher Block Chaining) mdot. Az 5.6. brnak megfelelo elrendezst
tekintsk ismt, elhagyva a kimeneti m bitet kivlaszt elemet. Az I inicializl
blokkot azonban ezesetben krltekintoen kell kezelni, hogy egy tmadsi lehetosget megakadlyozzunk. A lncols elso lpse ugyanis
y1 = Ek (x1  I );
kvetkezskppen ha C tmad az I blokkot tetszoleges I 0 blokkra tudja mdostani, akkor tetszs szerinti x10 blokkra mdosthat az x1 elso nylt blokk, mikzben x10  I 0 = x1  I fennll, azaz az y1 elso rejtett szveg blokk nem vltozik. S
mindezt a kulcs ismerete nlkl teheti meg. Hogy ezt a tmadst vghezvigye,
el kell rnie, hogy a leglis vteli oldalon I 0 inicializl blokkot alkalmazzanak
a dekdols sorn. Ha teht a vteli oldali dekdol eszkz nem tulajdont nagy
jelentosget az I blokk mdosts elleni vdelmnek, akkor ezzel potencilis tmadsra ad lehetosget. Teht elvileg nem baj, ha az inicializl blokkok tra
brki ltal olvashat, de fontos, hogy ne legyen illeglisan rhat, azaz hiteles
maradjon.
Digitlis alrssal trtno zenethitelests
A konvencionlis rejtjelezok alkalmazsval trtno zenethitelests (MAC illetve CBC md rejtjelezs) csak a kt fl szmra ad lehetosget a hitelessg
megllaptsra. gy nyilvn hiba mutat fel egy brsg elott pldul B fl egy

5.5. K RIPTOGRFIAI

PROTOKOLLOK

351

konvencionlis rejtjelezsu zenetet azt lltva, hogy azt A kldte, akivel kzs
titkos kulcsuk volt. A brsg szmra ez nem bizonytk, hiszen B maga is elollthatta azt. Van azonban olyan mdszer, amivel detektlhatv tehetnk zenetmdost tmadst, s ugyanakkor egy harmadik fl fel is bizonytkul szolglhat.
A mdszer a digitlis alrst hasznlja, amelyre a kvetkezo pontban trnk viszsza.
zenethitelests titkos kulcs nlkl
Meglepo mdon, egyirny lenyomatkszto fggvny, azaz hash fggvny felhasznlsval titkos kulcs nlkl is oldhatunk meg zenethitelestsi feladatot.
Ekkor a titkos kulcsbl illetve a nylt zenetbol kpzett kriptogrfiai ellenorzoszszeg (MAC) helyett csak a nylt zenet hash fggvnyes lenyomatt hasznljuk
ellenorzo sszegknt. A kriptogrfiai hash fggvny lnyegben egy olyan egyirny lekpezs, amelynl nehz feladat azonos lenyomatra (hashkpre) vezeto
o skpeket tallni. Azaz ha X jelli a nylt zenetet,
X ; Hash(X )
kerl tkldsre A-tl B-hez, ahol Hash egy nyilvnossgra hozott fggvny. rthetetlennek tunik az llts, hiszen brki elollthat X 0 ; Hash(X 0 ) prt tetszoleges,
ltala vlasztott X 0 zenethez. Mgis hasznlhat lehet a mdszer a gyakorlatban,
ha ezen algoritmikus eszkzkn tl, A s B kztt telefonsszekttets is rendelkezsre ll. Ekkor ugyanis B felhvja A-t, akinek hangjt ismeri, azt kri, hogy az
elkldtt hash rtk elegendo szm hexadecimlis karaktert olvassa be a
telefonba.

Digitlis alrs
Mg az zenet- s partnerhitelests protokollok a kommunikci idotartamra
s a partnerek szmra nyjtanak hitelestsi lehetosget, addig a digitlis alrs
az zenetvlts utn s harmadik szemly szmra is nyjt hitelessgellenorzsi
lehetosget. A digitlis alrs protokollok a kvetkezo feladatot oldjk meg:
a) az alrs generlsa (az zenetet kldo vgzi)
b) az alrs ellenorzse (az zenetvevo ltal)
c) hitelessggel kapcsolatos vits krdsek harmadik szemly (pl. brsg)
elotti tisztzsa.
A c) pontban emltett vita trgya lehet: az alr szeretne letagadni egy korbban ltala kldtt zenetet, mert tartalma mr kedvezotlen szmra. Vd trgya

352

5. K RIPTOGRFIA

lehet az is, hogy a cmzett sajt cljainak megfeleloen mdostotta a kldtt zenetet.
A digitlis alrs utnozni kvnja a valdi kzjegy tulajdonsgait, nevezetesen:
a) legyen knnyen generlhat,
b) ne legyen egyik okmnyrl a msikra thelyezheto (hamisthat), azaz
csak a tulajdonosa generlhassa,
c) brki kpes legyen ellenorizni annak hitelessgt.
A digitlis alrsnak a fenti kzs tulajdonsgok mellett van egy igen fontos
sajtossga, mgpedig az, hogy nem az zenet anyagi hordozjhoz (pl. papr)
tartozik, hanem tartalmilag kapcsoldik az aktulis zenethez, azaz zenetfggo.
Nyilvnos kulcs titkost algoritmus felhasznlsval egyszeruen kszthetnk digitlis alrst. Tegyk fel, hogy A az x zenetet kvnja B-nek elkldeni
olyan mdon, hogy egyttal alrst is elhelyezze a rejtett zenetben. Ezt elrheti, ha a titkos kulcst alkalmazva egy dekdolsi lpst hajt vgre (tegyk fel
egyelore, hogy az x zenet hossza nem nagyobb, mint a dekdol transzformci
input mrete). Nyilvn
DA (x)
fggvnye mind az x zenetnek, mind pedig a titkos dekdol kulcsnak, teht csak
A kpes elolltani azt. Az zenetvevo B fl ismerve A nyilvnos kulcst kpes x
visszalltsra egy
x = EA (DA (x))
kdolsi lpssel. Abban az esetben, ha x egy B ltal is ismert formtummal (ltalnosabban redundancival) rendelkezo zenet, akkor DA (x) nmagban az alrt
zenet, s nem csak az alrs. Ugyanis csak A kpes olyan z, dekdol output mretu blokkot elolltani, amelyre EA (z) nem egy vletlenl vlasztott blokk lesz,
hanem olyan, amely megfelelo formtummal is rendelkezik. Ha azonban nem ttelezhetjk fel, hogy B formtum ellenorzst vgez (pl. a B oldali szoftver erre
nem kszlt fel), akkor egyszerubb, ha a DA (x)-et csak alrsnak tekintjk, amit
az x zenethez csatolva kldnk el, azaz ekkor
[x; DA (x)

az alrssal hitelestett zenet. B fl ekkor az EA (DA (x)) kdolsi lps eredmnyt veti ssze a nyltan is megrkezett x zenettel.
Ezzel teljestjk a kvetkezo alrssal szembeni elvrsokat:

5.5. K RIPTOGRFIAI

PROTOKOLLOK

353

a) az alrs hitelessge biztonsggal ellenorizheto: B az A nyilvnos kulcst


hasznl kdolsi lpssel bizonyossggal megllapthatja, hogy a kldo A
volt-e
b) az alrs nem hamisthat: csak A ismeri a szksges titkos kulcsot
c) az alrs nem viheto t egy msik dokumentumra: az alrs fggvnye az
adott dokumentumnak
d) az alrt dokumentum mr nem vltoztathat meg: ha megvltoztatjk a
dokumentumot, ahhoz nem illeszkedik mr az alrs
e) az alrs letagadhatatlan: B-nek nincs szksge A-ra, hogy egy harmadik
fl szmra bebizonytsa, miszerint A kldte az alrt dokumentumot.
Mindezen elvi tkletessgek ellenre kt ponton tovbb rdemes finomtani
az alrs protokollt. Ezek a pontok a




lenyomatkszts,
idopecst alkalmazsa.

Clszeru a dokumentum mrettol fggetlenteni az alrs mrett, s egy alkalmas nyilvnos egyirny dimenziszukto fggvny (hash fggvny) felhasznlsval nem az eredeti dokumentumra, hanem annak lenyomatra adni az alrst. Ekkor az alrt zenet
[x; DA (Hash(x))
alak. Egy tmad x megfigyelsvel a hash fggvny nyilvnossga miatt ki
tudja szmolni Hash(x) rtkt. Sikeres tmadshoz azonban arra van szksge,
hogy egy olyan x0 zenetet talljon, amivel csal cljt elrheti, s ugyanakkor
Hash(x) = Hash(x0 ), mert ezesetben [x0 ; DA (Hash(x)) is hiteles zenet B szemben. Csakhogy egy elfogadhat hash fggvny garantlja, hogy gyakorlatilag nem
tallhatunk azonos hash rtkre vezeto x0 zenetet. A tmad feladatt mg csak
tovbb nehezti, hogy egy ilyen azonos hash rtkre vezeto zenetnek radsul
rtelmes, sot cljainak megfelelo csal tartalmnak kell lennie.
Idopecst az alrsban s a letagadsvdelem
Tegyk fel, hogy A alrsval hitelestetten elkldtt B-nek egy szerzodst, majd
egy ido mlva a krlmnyek szmra kedvezotlenn vlsa miatt szeretn,
ha letagadhatn az alrt szerzods elkldst. Elhreszteli, hogy mr elozoleg
kompromittldott a titkos kulcsa, ezrt nem vllal felelossget a nevben alrt
szerzodsrt.

354

5. K RIPTOGRFIA

Ahhoz, hogy A ne tudja letagadni, hogy o rta al a dokumentumot, nyilvn


nem elg az idopont, de egy harmadik megbzhat szemly rszvtelvel a problma megoldhat. Legyen ez a szemly G. Egyszerubb jells kedvrt az albbiakban SA (x) jellje az A ltal digitlisan alrt x dokumentumot, tovbb VA (X )
jellje az A ltali alrssal eltott X = SA (x) dokumentum ellenorzst az alrs
hitelessge szempontjbl. Tekintsk a kvetkezo protokollt:
1: A ! G :
2: G :
3: G ! A :
G!B:
4: A :
5: B :

U = SA (I ; SA (x))
VA (U )
W = SG (T ; I ; SA (x))
W = SG (T ; I ; SA (x))
VG (W )
VG (W ); I ; VA (SA (x))

(5.38)

Az 1. lpsben A alrja az x dokumentumot, az alrt dokumentumot (SA (x))


kiegszti azonost fejlccel (I), s jra alrja az eredmnyt, amellyel U-t kapja.
Az azonost informci minimlisan azt tartalmazza, hogy A B-szmra szndkozik alrt dokumentumot kldeni. A 2. lpsben G ellenorzi az U ltal hordozott
klso alrst, valamint az azonost I informcit. G az alrt x dokumentumot
s az I azonost informcit kiegszt egy idopecsttel (T ), majd az eredmnyt
alrja, s a 3. lpsben elkldi azt mind A-nak mind pedig B-nek. A 4. lpsben
A ellenorzi a G-tol rkezett zenetet, s ha nem o kldte elozoleg az I azonostj,
SA (x) alrt dokumentumot, akkor azonnal jelzi, hogy kompromittldott titkos
kulcsval visszaltek. Az 5. lpsben B ellenorzi G alrst, az I azonost informcit, majd pedig A alrst.
Az I azonost hasznlata nmi magyarzatra szorul. Ugyanis gy gondolhatnnk, hogy a dokumentum (x) elvrhatan tartalmazza a kt fl azonostjt.
Azonban nem felttlen kthetjk meg, hogy a dokumentumban ki hova tegyen
azonostt, s egy szmtgpes, automatikus alrsellenorzo rgztett pozcij
adatmezokkel nyilvn egyszerubben dolgozik. Tovbb az 5. lpsben B az I informcibl tudja meg, hogy A kld szmra alrt dokumentumot, s A nyilvnos
kulcsval kell a VA (SA (x)) verifikcis lpst vgrehajtania.
Msolhat-e a digitlis alrs?
Tekintsnk egy RSA-kdolst hasznl titkostst. Egy x nylt zenethez csak az
A felhasznl tudja elolltani a DA (x) transzformltat. Tegyk fel, hogy a sokfelhasznls rendszernkben egy kzjegyzot alkalmazunk, amely a sajt titkos
S kulcsnak felhasznlsval egy hozz benyjtott r nylt zenethez a D (r )
kKJ
KJ
alrst generlja. Egy tmad egy t zenetre szeretne alrst kapni, amelynek
azonban a tartalma olyan, amit nyltan, a felfedods veszlye nlkl nem mutat-

5.5. K RIPTOGRFIAI

355

PROTOKOLLOK

hat be a kzjegyzonek. Krds, hogy van-e md arra, hogy mgis generltasson


alrst a kzjegyzovel a t zenetre. Jrjon el a tmad a kvetkezokppen:
1. Tetszolegesen vlasztott x zenethez az EKJ nyilvnos transzformci ismeretben meghatrozza az
y = EKJ (x)
rejtett zenetet.
2. Az alrand t zenetet mdostja a tartalmban mr nem veszlyes t 0 -re:
t0 = y  t

(mod mKJ )

3. A t 0 zenetre kr alrst, azaz a kzjegyzovel elollttatja az


s0 = DKJ (t 0 )
alrst.
4. Az s0 alrs a kvetkezo alakba rhat:
s0 = (t 0 )d
ahonnan

= (y

 t )d = y d  t d = x  t d

s00 = s0  x

=t

(mod mKJ )

(mod mKJ )

szorzssal elollthatja a kvnt alrst. (Mivel x-et a tmad vlasztja,


ezrt invertlhatra vlaszthatja.)
A tmad teht tetszoleges zenetre kpes generlni alrst anlkl, hogy arrl tudna az alr. Ez a tmadsi md azonban mgis csak elvileg lehetsges. Egy
alrand zenetrol (dokumentumrl) megkvetelhetjk, hogy formtum-megktseknek tegyen eleget, azaz tartalmazzon specilis informcikat kttt pozcikban, gy pl. felhasznl- s dokumentumazonostt, dtumot, ahogyan az egy
szoksos dokumentumnl is szksges. Ezt a formtumot ellenorizze a kzjegyzo
(kzjegyzo program) is alrs elott. Ha ezen formtum-megktssel s ellenorzssel kiegsztjk az egyszeru alrsprotokollunkat, akkor a fentebb elmondott
tmadsi mdszer mr nem vezethet sikerre. Ugyanis a t zenetet nem tudjuk
modulo szorzssal egy formtumnak megfelelo t 0 zenetbe tvinni (2. lps). A
protokoll teht olyan megszortssal mukdteti a dekdol transzformcit, hogy
az rtelmezsi tartomnynak csak egy rszhalmazbl vehetnk elemeket. (Megjegyezzk, hogy ezen tmads algoritmikus tlete rokon az (5.32) protokoll elleni
tmadsval.)

356

5. K RIPTOGRFIA

Titok megosztsa
Mint lttuk, a titkost transzformcik mindegyike esetn szksges valamilyen titkos informci, a titkos kulcs, amelyet mr nem vd jabb titkost transzformci. Ehhez ugyanis jra valamilyen titkos informci kellene s..t.. gy ezt a
titkos informcit msfajta vdelemre kell bzni. Lehetesges pl. valamilyen fizikai vdelem al helyezs (memorizls, felnyits-biztos dobozba helyezs, stb.).
Egy msik mdszer gy igyekszik feldarabolni a titkos informcit N szemly
kztt, hogy abbl tetszolegesen vlasztott K szemly egyttesen rekonstrulni
tudja a titkot, de K-nl kevesebb szemly sohasem legyen erre kpes, ahol K < N.
Ez a megolds nyilvn rekonstrulhatv tenn a titkot mg akkor is, ha annak
legfeljebb N K darabja megsemmislne.
Kzenfekvo lenne a binrisan brzolt titok valahny, mondjuk T szeletnek
sztosztsa. Ez azonban nem helyes megolds. Ha ugyanis a szeletek szmval
egyezo a szemlyek szma (N = T ), akkor egy rsz megsemmislse is a titok
elvesztshez vezethet, msrszt az sszes szemly szksges a rekonstrukcihoz. Ha viszont tbb szemlynek is adjuk ugyanazt a szeletet (N > T ), akkor
nem vlaszthatunk tetszoleges K = T szemlyt a rekonstrukcihoz. Tovbb, jelentos informcival rendelkezik T -hez kzeli szm szemly egyttese, hiszen
kzvetlenl a titkos binris informci rszeit kaptk meg.
Egy kicsit javthatunk a helyzeten a kvetkezokppen. Cmezzk meg a lehetsges titkok S halmaznak elemeit a 0; 1; : : : ; q 1 szmokkal. Vlasszunk N 1
alkalommal vletlenszeruen egy-egy elemet a f0; 1; 2; : : : ; q 1g halmazbl, elolltva r1 ; r2 ; : : : ; rN 1 teljesen fggetlen, egyenletes eloszls valsznusgi vltozt. Jellje s 2 S az aktulis titkot, s az N szemlynek sztosztand N szm
informci legyen r1 ; r2 ; : : : ; rN 1 ; rN , ahol
rN

=s

(r 1 + r 2 + : : : + r N 1 )

mod q:

Ekkor ugyan tovbbra is az sszes szemly szksges a titok rekonstrulshoz,


viszont N-nl kevesebb rszlet ismerete nem nyjt informcit a titokra vonatkozan. Vegyk azt is szre, hogy ekkor a titok-darabok mindegyiknek azonos a
mrete a titokval.
Ha ezen vletlentsi tletet tvzzk a ReedSolomon-kdolssal, akkor egy
kvnt megoldshoz jutunk. Nevezetesen tekintsnk egy (N ; K ) paramteru RSkdot GF(q) felett, ahol q legyen prmhatvny (ha q eredetileg nem ilyen lenne,
bovtsk ki fiktv elemekkel az S halmazt). Az RS-kdok ismert tulajdonsga szerint a kdsz legalbb K elemnek ismeretben egyrtelmuen dekdolhat, amit a
hibajavt kdols elmletben gy fogalmazunk, hogy  N K trls javtsra
alkalmasak. Ezt a tulajdonsgot a titok-sztosztsban a kvetkezokppen kamatoztathatjuk:

5.5. K RIPTOGRFIAI

rK

357

PROTOKOLLOK

Vlasszunk K 1 elemet vletlenszeruen GF(q)-bl, ezeket jellje r1 ; r2 ; : : : ;


1 , tovbb legyen r0 = s. Az
r = (r 0 ; r 1 ; : : : ; r K

1)

vektort tekintsk az RS-kddal kdoland zenetnek, azaz ezt egy G, GF(q) feletti
K  N dimenzis genertormtrixszal lekpezzk egy
c = (c0 ; c1 ; : : : ; cN

1)

kdszba a
c = rG
lineris transzformcival. A c kdsz elemeit osszuk szt az N szemly kztt.
A G genertormtrixot vlaszthatjuk a kvetkezokppen:
0

1
B1
B
G = B ..
.

1 K




1
2

..

2(K

1)

..
.



(N

C
C
C
A

1)(K 1)

ahol 2 GF(q) N-edrendu primitv elem. Bevezetve a


D(x) = r0 + r1 x +  + rK

1x

K 1

GF(q) feletti polinomot, a c kdsz elemei a


ci = D(i );

i = 0; 1; : : : ; N

alakban is elollthatk. Ennek a konstrukcinak van egy rdekes interpretcija:


Egyetlen olyan K 1 fokszm y = D(x) polinom ltezik (lehet vals szmtest
vagy vges test feletti), amely adott (y1 ; x1 ); (y2 ; x2 ); : : : ; (yK ; xK ) K szm ponton
keresztl fektetheto, vagyis amelyre
yi = D(xi );

1  i  K:

Ha teht N darab, egy (K 1) fokszm grbn fekvo pontot vlasztunk, akkor


brmely legalbb K pontot tartalmaz rszhalmazbl a grbe (polinom) rekonstrulhat, amelynek a nulladfok tagja a titok.

358

5. K RIPTOGRFIA

5.6. Feladatok
5.1. feladat. Egy egyszeru lineris rejtjelezot konstrulunk: y = ax + b mod r
lineris transzformcival rejtjeleznk, ahol 0 < a; b < s, a s b a kulcs rszei, x
a nylt szveg, y a rejtett szveg, tovbb r az bc mrete.
a) Adja meg a kulcstr mrett, ha s = 26!
b) Tmadknt a kulcsot szeretnnk megfejteni. Nagyon egyszeru strukturj
a rejtjelezo. A forrs jl tmrtett, vletlen forrsknt modellezheto. Rejtett szvegu tmadsban is gondolkodhatunk?
c) Milyen informcit kellene birtokolnunk ilyen forrs esetn a sikeres tmadshoz?
d) Mit mondhatunk azon esetben, ha a forrs rott szveg, s imerjk a karaktergyakorisgot?
5.2. feladat. Az y = ax + b mod N betunknti lineris rejtjelezs transzformcit
tekintjk, ahol N az bc mrete.
a) Hny ilyen transzformci van, ha N = 30?
b) x a transzformci fixpontja, ha y = x teljesl. Legyen a 6= 1. Mutassuk
meg, hogy ha N prmszm, akkor pontosan egy ilyen fixpont van!
c) Adjunk meg olyan N rtket, amelyre nincs fixpontja a transzformcinak!
5.3. feladat. Tegyk fel, hogy y = Ax + b lineris transzformcival rejtjeleznk,
ahol A n  n-es binris mtrix, x; y; b n hossz binris vektorok, tovbb A s b a
kulcs rszei, x a nylt szveg, y a rejtett szveg. Az algoritmikus tmad clja a
kulcselemek meghatrozsa.
a) Vgrehajthat-e a tmads, ha a tmad




y1 ; y2 ; : : : rejtett szvegeket
(x1 ; y1 ); (x2 ; y2 ); : : :

nyltrejtett szveg prokat

tud megszerezni? Adja meg a tmads mdjt, ha ilyen van, valamint a


sikeres tmadshoz szksges informci mennyisgt!
b) Korltozhatjuk-e a tmads sikert azzal, hogy maximljuk egy kulcs felhasznlsnak szmt (egy kulcsot szeretnnk minl tbbszr hasznlni)?

5.6. F ELADATOK

359

5.4. feladat. Tekintsk egy szimmetrikus rejtjelezo pros grf reprezentcijt,


azaz amelyben egy x nylt zenetet egy y rejtjeles zenettel l kt ssze, ha valamely k kulcsra Ek (x) = y. Igazolja, hogy a tkletes rejtjelezs pros grfjban a
csompontprokat azonos szm l kti ssze.
5.5. feladat. One-time-pad rejtjelezst tekintnk:
a) Pnzfeldobs-sorozattal generlunk binris vletlen folyamot, ahol a pnz
egyik felre gyakrabban esik, s a 0 kimenetel valsznusge p > 0:5. Hasznlhatjuk-e ezt kulcsfolyamknt egy one-time-pad rejtjelezoben?
b) A rejtjelezst hogyan befolysolja a kdoland nylt szveg redundancijnak mrtke. (Pl. erosen strukturlt szvegeket nehezebb-e rejteni ezen a
mdon?) Formlisan indokoljon!
5.6. feladat. Valaki azt lltja, hogy egy RSA-algoritmus biztonsgt nem veszlyezteti, ha az e nyilvnos kulcs s m = p1  p2 modulus mellett a (m) rtkt is
nyilvnossgra hozzuk. Igaz ez?
5.7. feladat. Egy jtk RSA-algoritmus esetn p1 = 23; p2 = 11 prmeket vlasztottuk. Adja meg a leheto legkisebb kdol kulcsot, s az ehhez tartoz dekdol
kulcsot, majd kdolja az x = 5 zenetet!
5.8. feladat. Tegyk fel, hogy DES (Data Encryption Standard) rejtjelezst hasznltunk 64 bites zenet blokkok rejtjelezsre, amelyek 8 bites karakterekbol llnak, s a 8. bit pros parits. Elvben vgrehajthat-e kulcskeresses tmads csak
rejtett szvegek megfigyelsre alapozva? Hny rejtjeles blokkot kellene megfigyelni ehhez? (A DES 64 bites nylt szvegblokkot azonos mretu rejtett szvegblokkba kdol, amelyhez 56 kulcsbitet hasznl.)
5.9. feladat. Tekintsnk egy RSA-rejtjelzot e = 3 nyilvnos kulccsal. Legyen
a blokkhossz 128 bjt. Tegyk fel, hogy rvidek az zeneteink, hosszuk nem
nagyobb mint 40 bjt, s a nagyobb helyirtkek fel nullkkal egsz blokkokra
egsztjk ki azokat. Valaki azt lltja, hogy a rejtett blokkokat lehallgatva fejti az
zeneteket. Milyen tanulsgot vonna le?
5.10. feladat. Ha kt, RSA-rejtjelezssel kommunikl pr kztt az zenetek
tere, azaz a klnbzo lehetsges zenetek szma kicsi halmaz, az tmadsra ad
lehetosget. Tegyk fel, hogy a tmad, ismerve a kommunikl partnerek kzti
szoksos informcicserk halmazt, de nem ismerve az RSA dekdol kulcsot,
tmadsra sznja el magt. Adja meg a tmads menett, s javasoljon algoritmikus vdekezsi mdot!

360

5. K RIPTOGRFIA

5.11. feladat. RSA-algoritmus szmra trtno prmvlasztsnl egyik kvetelmny, hogy a kt prm bitmrete legyen lehetoleg kzel azonos. Pldul 1024
bites modulus esetn 512 bites prmeket vlasztunk. Ugyanakkor, ha a p q differencia nem elegendoen nagy, akkor faktorizlhatv vlhat a modulus. Adjon
egy faktorizlsi algoritmus!
(Segtsg: Tekintsk a kvetkezo felbontst: m = pq = (t + s)(t s) = t 2 s2
alakbl, ahol p = t + s; q = t s, lthat, hogy s = ( p q)=2 viszonylag kicsi
p
volta miatt t  m.)
5.12. feladat. Arra, hogy az RSA-algoritmus fejtsnek nehzsge a modulus
faktorizlsval ekvivalens feladat, csak eros sejts ltezik. Ugyanakkor, ha rgztett, (pl. e = 2) kdol kitevot hasznlunk, akkor mr ugyanez a sejts igazolhat.
Igazoljuk teht, hogy ekkor a megfigyelt rejtett szveg alapjn a nylt pr megfejtsnek bonyolultsga a modulus faktorizcijval ekivivalens feladat.
(Segtsg: Tekintsk az x2 = c mod m; 0 < c < m; m = pq egyenletet, ahol p s
q prmszmok. Ha van megoldsa az egyenletnek, akkor ngy megoldsa van, s
a megoldsok fb1 ; m b1 ; b2 ; m b2 g; 0 < b1 ; b2 < n. p s q ismeretben a ngy
megoldst az x2 = c mod p; x2 = c mod q egyenletpr megoldsait felhasznlva
a knai maradkttel segtsgvel kaphatjuk meg. Ha viszont ezen faktorok nem
ismertek, az egyenlet megoldsa nehz.)
5.13. feladat. Szeretnnk megtudni A felhasznl m = pq RSA-modulusa titkos
faktorjait. Felelotlenl jr-e el A, ha barti krsnkre egy b szmnak megmondja egy mod m szerinti ngyzetgykt.
5.14. feladat. Kriptoanalistaknt tmadjon egy RSA-rejtjelezot, amelyrol a nyilvnos m = 4003997 modulus, valamint az e = 379 kulcs mellett megtudja a (m) =
3999996 rtket is.
a) Szmtsa ki a d dekdol kulcsot!
b) Adja meg az m = p1 p2 prmfaktorait!
5.15. feladat. Az RSA-algoritmus az m = ( p 1)(q 1) modulust alkalmazza a
kulcsgenerlsnl. Hasznlhatnnk-e az m0 = lkkt( p 1; q 1) modulust e helyett?
5.16. feladat. Jelszavas vdelem sorn a salting azt jelenti, hogy r szm vletlen
bittel meghosszabbtjk a jelszavakat a jelszverifikci sorn, s aztn alkalmazzk az egyirny lekpezst, majd a lekpezs eredmnynek a trolt jelsztbla
elemmel trtno egybevetst. A salt bitfzr nyltan kerl trolsra a jelsztblban, s a klnbzo felhasznlk sajt salt bitekkel rendelkeznek. Felmerl a

5.6. F ELADATOK

361

krds, hogy mi a salt bitek jelentosge, ha azok nyltan troldnak, azaz a jelsztbla sztras tmadja is olvashatja azokat?
5.17. feladat. Tegyk fel, hogy vletlenszeruen vlasztunk a jelsztr elemei kzl jelszavakat. Legyen m a jelsz hossza, c a karakterbc mrete, t a verifikcis lekpezs iterciinak szma, tovbb r jellje egy iterci futsi idejt.
Legfeljebb 7 hossz jelszt szeretnk hasznlni. A karakterbc vonatkozsban
hrom lehetosgben gondolkodunk:





c = 26 mretu kisbetus
c = 36 mretu kisbetus, alfanumerikus
c = 62 mretu kis- s nagybetus, alfanumerikus.

Legyen t = 25 az itercik szma, tovbb r = 4 mikrosec. Adja meg azon vlasztsi lehetosgeket, amely mellett a jelsztr kimerto vgigkeressn alapul
tmads szmtsi ideje legalbb 100 nap.
Ha a hosszmegktst nem kellene figyelembe venni, s a jelszavakat a sztr kt
tetszoleges szavnak egyms mell illesztsvel kpeznnk, egy 250000 tteles
sztrmret elegendo lenne-e?
5.18. feladat. A hromlpses, elozetes kulcscsert nem ignylo rejtett zenettovbbt kriptogrfiai protokollban a kulcsbitek zenetbitenknti mod 2 hozzadsval rejtjeleznek a felek. Helyesen cselekszenek-e?
5.19. feladat. Tegyk fel, hogy egy u rjrmu (A) leszllshoz kszlodik egy tvoli bolyg u rllomsn (B), s ehhez eloszr azonostania kell magt. A felttelek:





B ismeri A jelszavt, ezen kvl ms kzs titkuk nincs.


A mod 2 sszeadsnl bonyolultabb muveletet nem tud vgezni.
A lesugrzott jeleket egy az u rlloms krnyki tmad (C) is lehallgathatja, mivel nem lehet jl koncentrlni a sugrzst. Ugyanakkor a bolygn
levo u rlloms kpes gy tovbbtani a jeleket, hogy azok a bolyg felsznn nem vehetok. Javasoljon egy protokollt a biztonsgos azonostsra!

5.20. feladat. A klaviatra 26 kisbetus karakterbol, a 10 szmkarakterbol, valamint az reshely (space) karakterbol ll 37 betus bcbol kpeznk titkos, 7
karakterbol ll jelszt. 3 szemly kztt kvnjuk sztosztani a titkot gy, hogy
legalbb 2 szemly jelenlte esetn lehessen csak azt rekonstrulni. Legyen a titok
4qt76ff. Adjon meg egy megosztsi s rekonstrukcis algoritmust, s ossza szt az
adott titkot!

362

5. K RIPTOGRFIA

5.21. feladat. A vletlen csatornahibk detekcijra szolgl CRC-kdok nem


alkalmasak szndkos bitmanipulcik detektlsra. Mutassa ezt meg a kvetkezo konkrt pldn. Legyen pay to john 1000$ a tovbbtand nylt szveg
(ASCII kdot hasznljon, s vegye figyelembe a szkzket is). Manipullja a
nevet jack-re. A kvetkezo szabvnyos CRC-polinomot hasznlja az integritsvdelem: p(x) = 1 + x2 + x15 + x16 !
5.22. feladat. Tekintsen egy additv kulcsfolyamos rejtjelezst. Vizsglja meg,
hogy ezen rejtjelezs biztost-e adatintegrits-vdelmet!
5.23. feladat. Egy cg informatikai kzpontja szoftverek egy-egy pldnyt sztosztja a kihelyezett egysgei informatikai rszlegeinek. Szeretn a szoftverek srtetlensgt biztostani, s alkalmanknt (pldul hetente) szeretn ellenorizni azok
helyessgt. A feladat megoldshoz azonban nem kvn titkos kulcshoz kapcsold eljrsokat alkalmazni, pldul azrt mert a korrekt kulcsgondozs knyes s
kltsges feladat, s erre nem kvn felvonulni, eroforrsokat lektni. Lehetsges-e
megolds ilyen felttelek mellett?
5.24. feladat. Az egyik legfontosabb MAC hash fggvny generls blokk rejtjelezo kdok CBC mdjt hasznlja. Az m = [M1 ; M2 ; : : : ; Mr zenetre k kulcs
mellett adott MAC legyen az albbi:
MACk (m) = Ek (Ek ( Ek (M1 )  M2 )  Mr

1)

 Mr )

ahol az Ek : f0; 1gn ! f0; 1gn egy titkos kulcs rejtjelezo transzformci.
Mutassa meg, hogy a fenti definci szerinti MAC hashing nem teljesti az egyirnysg kvetelmnyt egy k kulcsot ismero fl szmra!
(Segtsg: Mutassa meg, hogy n-bites zenetblokkok tetszoleges vges sorozatt
a k kulcs ismeretben kiegszthetjk gy egy tovbbi blokkal, hogy elore
megadott MAC lljon elo!)
5.25. feladat. Egy MAC vlasztott szvegu tmads ellen vdett, ha egy tmad
rendelkezsre ll MACk (mi ) az ltala vlasztott m1 ; m2 ; : : : ; m j zenetekre, mgsem kpes ennek alapjn kiszmtani egy MACk (m) lenyomatot egy j m 6= mi
zenetre. Az 5.24. feladatbeli definci szerinti MAC-t tekintsk. Mutassa meg,
hogy az MAC nem vdett vlasztott szvegu tmads ellen!
(Segtsg: Mutassa meg, hogy kt n bites azaz 1 blokk mretu zenetbol
konstrulhat megfelelo 2n bites zenet!)
Mutassa meg tovbb, hogy az MAC nem vdett vlasztott szvegu tmads ellen
akkor sem, ha gy kvnjuk megerosteni, hogy az MAC szmts elott kiegsztjk az zenetet egy olyan blokkal, amely az zenet hosszt tartalmazza! A

363

5.6. F ELADATOK

tmad kpessgrol azt teszzk fel, hogy zeneteire MAC lenyomatot kaphat,
de a k kulcsot nem ismeri.
5.26. feladat. Tekintsk az albbi integritsvdelmi kdolst, ahol a rejtjelezs
s MAC kombincijt hasznljuk:
Ek (mkMACk0 (m)):
Tovbb Ek (x) CBC md rejtjelezs, akb az a s b binris vektorok egybefuzse.
A rejtjelezs, illetve az MAC szmts tekintetben, az egyik funkcira [IV; k
mg a msikra [IV 0 ; k0 [inicializl vektor, kulcs pr kerl alkalmazsra. Vane veszlye annak, ha IV = IV 0 ; k = k0 egyszerusto vlasztssal lnk? Mi a
tanulsg?
5.27. feladat. Egy vletlen bitfolyam genertor kimenetn ugyan megmaradt az
egyms utni bitek statisztikai fggetlensge, de 21 -nl nagyobb, p = 0:75 valsznusggel kapunk 0-t a kimeneten. Milyen mrtkben korriglhatjuk a bitfolyam
statisztikt azzal, hogy 8 bites szeletekre bontjuk a folyamot s az egyes szeletek
8 bitjbol modulo 2 sszeadssal egy-egy bitet generlunk?
5.28. feladat. Klfldn dolgozunk, s szeretnnk rejtetten prbeszdet folytatni
az otthoni bartunkkal (pldul szmtgpes modemkapcsolat tjn), azonban
tilos rejtjelezni a hatron tlpo zeneteket. Hitelesto protokollok hasznlata
ugyanakkor nem tiltott (amikor is a nylt szveg nylt marad).
a) Van megolds?
b) Ha megtallta, adjon egy pldt egy rvid prbeszd vdelmre!
5.29. feladat. Szimmetrikus kulcs rejtjelezo transzformcin alapul egyirny
transzformci, amelyet PIN kdolsra hasznlnak, tipikusan a kvetkezo ltalnos alak:
AP = f (KP; PIN ; ID)
AP: nyilvnos hitelesto paramter (authentication parameter),
KP: titkos kulcs paramter (key parameter),
PIN: titkos szemly-azonostszm (personal identification number),
ID: nyilvnos azonost (identification data),
f egy egyirny fggvny. A legismertebb ilyen fggvny az Ek () DES transzformcin alapul:
AP = EKPPIN (ID)

364

5. K RIPTOGRFIA

A verifikcis tblzat tartalma a kvetkezo:


ID1 AP1
ID2 AP2
..
..
.
.
IDn APn
A tblzat olvashat, mivel f egyirny lekpezs, s AP ismerete egy adott IDhez nem segt a PIN kiszmtsban.
Mutassuk meg, hogy ugyanakkor a kvetkezo lekpezs
AP = EKPPIN (ID  PIN )
nem egyirny abban az rtelemben, hogy nem nehz feladat megadni olyan
KP0 ; PIN 0 prt amelyre
f (KP0 ; PIN 0 ; ID) = f (KP; PIN ; ID):

Irodalomjegyzk
[1] CDMA Digital Common Air Interface Standard, Revision 1.0 released
Oct.1., 1990.
[2] All about the Compact Disc System, Compact Disc Digital Audio. Sony,
1981.
[3] Specification of the D2-MAC/PACKET System EBU/SPB 352/B. 1985.
[4] Ash, R.B. Information Theory. Interscience Publishers, 1965.
[5] Bahl, L.R., Cocke, J., Jelinek, F., Raviv, J. Optimal decoding of linear codes for minimizing symbol error rate. IEEE Transactions on Information
Theory, IT-20:248287, 1974.
[6] Berlekamp, E.R. Algebraic Coding Theory. McGraw Hill, 1968.
[7] Berlekamp, E.R. The technology of error-correcting codes. Proceedings of
the IEEE, 68, May, 1980.
[8] Berlekamp, E.R., Peile, R.E., Pope, S.P. The application of error control to
communications. IEEE Communications Magazine, 25, Apr, 1987.
[9] Berrou, C., Glavieux, A., Thitimajshima, P. Near Shannon limit errorcorrecting coding and decoding: Turbo-codes(1). Proceedings of the IEEE
International Conference on Communication, pages 10641070, 1993.
[10] Blahut, R.E. Theory and Practice of Error Control Codes. Addison-Wesley,
1983.
[11] Csibi S. (szerk.) Informci kzlse s feldolgozsa. Tanknyvkiad, Budapest, 1986.
[12] Csiszr I., Fritz J. Informcielmlet. ELTE TTK jegyzet, Budapest, 1986.

366

I RODALOMJEGYZK

[13] Csiszr I., Krner J. Information Theory: Coding Theorems for Discrete
Memoryless Systems. Akadmiai Kiad, Budapest, 1981.
[14] Diffie, W. Hellman, M.E. Privacy and authentication: An introduction to
cryptography. Proceedings of the IEEE, 67:397427, Mar, 1979.
[15] Diffie, W. Hellman, M.E. New directions in cryptography. IEEE Transactions on Information Theory, 22:644654, Nov, 1976.
[16] Doi, T. Error Correction for Digital Audio Recordings, No. 1991 AES 73.
Convention. Eindhoven, 1983.
[17] Ferenczy P. Video- s hangrendszerek. Muszaki Knyvkiad, Budapest,
1986.
[18] Gallager, R.G. Information Theory and Reliable Communication. Wiley,
1968.
[19] Gher K. (szerk.) Hradstechnika. Muszaki Knyvkiad, Budapest, 1993.
[20] Gibson, J.D., Berger, T., Lookabaugh, T., Lindbergh, D., Baker, R.L. Digital Compression for Multimedia (Principles and Standards). Morgan Kaufmann Publishers, San Francisco, 1998.
[21] Gordos G., Takcs Gy. Digitlis beszdfeldolgozs. Muszaki Knyvkiad,
Budapest, 1983.
[22] Gyrfi L., Vajda I. A hibajavt kdols s a nyilvnos kulcs titkosts
elemei. Muegyetemi Kiad, Budapest, 1990.
[23] Hanzo, L., Steele, R. Mobile Radio Communications. Wiley, 1999.
[24] Ishida, Y., Ishida, M., Nakagawa, K., Osuga, Y., Yanabe, J. On the development of a car use rotary-head digital audio tape recorder, No. 2318 AES 80.
Convention. Montreux, 1986.
[25] Linder T., Lugosi G. Bevezets az informcielmletbe. Muegyetemi Kiad,
Budapest, 1993.
[26] MacWilliams, F.J., Sloane, N.J.A. The Theory of Error-Correcting Codes.
North-Holland, 1977.
[27] Massey, J.L. Applied Digital Information Theory.
Zrich, 1984.

Course Notes, ETH

I RODALOMJEGYZK

367

[28] Massey, J.L. Introduction to contemporary cryptology. Proceedings of the


IEEE, 76:533548, May, 1988.
[29] Massey, P.C., D.J. Costello. Jr. New Developments in Asymmetric Turbo
Codes. Proceedings of the 2nd International Symposium on Turbo Codes
and Related Topics, pages 93100, 2000.
[30] McEliece, R.J. The Theory of Information and Coding. Addison-Wesley,
1977.
[31] Moore, J.H. Protocol failures in cryptosystems. Proceedings of the IEEE,
76:594602, 1988.
[32] Nmeth J. Adatvdelem szmtgpes s hrkzlo rendszerekben. Szmalk,
Budapest, 1984.
[33] Nemetz T., Vajda I. Bevezets az algoritmikus adatvdelembe. Akadmiai
Kiad, Budapest, 1991.
[34] Niven, I., Zuckerman, H.S. Bevezets a szmelmletbe. Muszaki Knyvkiad, Budapest, 1978.
[35] Odaka, K., Furuya, T., Taki, A. LSlos for Digital Signal Processing to be
used in CD Players, No. 1860 AES 71. Convention. Montreux, 1982.
[36] Peterson, W.W. Error Correcting Codes. MIT Press Wiley, Cambridge,
1961.
[37] Pursley, M.B. Performance evaluation for phase-coded spread-spectrum
multiple-access communications Part I-II. IEEE Transactions on Communications, 25, Aug, 1977.
[38] Rabin, M.O. Probabilistic algorithm for preliminary testing.
Number Theory, 12:128138, 1980.

Journal of

[39] Rivest, R.L., Shamir, A., Adleman, L. A method for obtaining digital signatures and public key cryptosystems. Communications of the ACM, 21:120
126, Feb, 1978.
[40] Rueppel, R.A. Analysis and Design of Stream Ciphers. Springer-Verlag
Berlin, Heidelberg, 1986.
[41] Sarwate, D.V., Pursley, M.B. Crosscorrelation properties of pseudorandom
and related sequences. Proceedings of the IEEE, 68, May, 1978.

368

I RODALOMJEGYZK

[42] Sayood, K. Introduction to Data Compression. Morgan Kaufmann Publishers, San Francisco, 1996.
[43] Shannon, C.E. A mathematical theory of communication.
Technical Journal, 1948.

Bell System

[44] Shannon, C.E. Communication theory of secrecy systems.


Technical Journal, 28:656715, Oct, 1949.

Bell System

[45] Vajda I. Hibajavt kdols s muszaki alkalmazsai. BME Mrnki Tovbbkpzo Intzet, Budapest, 1982.
[46] Viterbi, A.J. CDMA Principles of Spread Spectrum Communication.
AddisonWesley, 1995.

Trgymutat
a posteriori valsznusg, 151
a priori valsznusg, 151
adaptv kd, 48
ADPCM, 103, 110
aritmetikai kdols, 28, 128, 131
ARJ , 50
ARQ, 218
tlagos kdszhossz, 14
betunknti, 20
tviteli fggvny, 89
Bayes-dnts, 152, 165
bzis, 185
BCH-kd, 193, 226
becsls, 150
belso kd, 235
beszdtmrts, 110
betunknti husgkritrium, 140
betunknti torzts, 139
Bhattacharyya
felso becsls, 294
tvolsg, 268
binris entrpiafggvny, 42, 58
binris szimmetrikus csatorna,
! BSC
binris trlses csatorna, 162
binris vletlen tkulcsols,
! one-time-pad
binris z-csatorna, 162
bitallokci, 96
blokkhossz, 251
blokk-kd, 19, 178

BSC, 153, 161, 263


Caesar-titkost, 319
CBC, 348, 350
CD, 206
CD-minosgu hang, 115
CDMA, 282
frekvenciaugratsos, FH, 282
idougratsos, TH, 282
kzvetlen sorozat, DS, 282
rditelefnia, 287
UMTS, 294
CELP, 114
ciklikus eltols, 212
ciklikus kd, 212
ciklikus konvolci, 245
COMPRESS , 53
CRC, 218, 225, 350
csatornakapacits, 162, 323
csatornakd, 164
csatornakdolsi ttel, 169
megfordtsa, 167
csoms hibzs, 207, 231
DAT, 206
DBS, 192
DCT, 96, 116, 129
dekdols, 164, 179
delta modulci, 103
DES, 359
digitlis alrs, 326
digitlis modulci, 156

370
Dirichlet-partci, 86
diszkrt korrelcis detektor, 159
diszkrt memriamentes csatorna,
! DMC
DMC, 48, 161, 263, 265
dnts, 150
dntsi tartomny, 151
DPCM, 102
DST, 97
DWHT, 97
ECB, 350
egyrtelmu dekdolhatsg, 11, 13,
17
egyirny fggvny, 336
egyszeru hibzs, 178, 182
elem rendje, 195
entrpia, 13, 30
feltteles, 32
-hibval dekdolhatsg, 63
euklidszi algoritmus, 329
euklidszi oszts polinomokra, 200
fa-kd, 251
Fano-egyenlotlensg, 167
fax-szabvnyok, 42
Fermat-tan, 337
Fermat-ttel, 331
Fleischer-ttel, 80
folytonos tnus trols, 125
formns beszdkdol, 112
forrsbc, 10, 178
forrsentrpia, 36
forrskdolsi ttel, 145
megfordtsa, 144
Fourier-transzformci, 88, 92, 111,
116, 124, 244
fopolinom, 211
FSK, 158, 284
futamhossz kdols, 42, 130

TRGYMUTAT
G.711, 110
G.721, 110
genertormtrix, 185, 197
genertorpolinom, 214
GIF , 53, 125
globlis kockzat, 150
Golay-kd, 193, 221
GSM, 114, 282
Hamming-kd, 227
binris, 191
nembinris, 197
Hamming-korlt, 183
Hamming-korrelci, 284
Hamming-tvolsg, 154, 178, 263
Hamming-torzts, 139, 145
hibacsom, 219, 231
hibahelyloktor, 238
hibahelypolinom, 239
hibajavts, 182
hibajelzs, 181
hibavalsznusg, 151
hibavektor, 189
hitelessg, 322
Hlder-egyenlotlensg, 84
Huffman-kd, 23, 43, 57
adaptv, 25
indexelt trols, 125
informciforrs, 35
emlkezetnlkli, 35
memriamentes, 35
stacionrius, 35
informcis divergencia, 56
informcistabilits, 64
irreducbilis polinom, 208
javthat hibaminta, 190
Jayant-kvantl, 103
jelsebessg,
! kdolsi sebessg

TRGYMUTAT
Jensen-egyenlotlensg, 14
JPEG , 97, 127
kaszkd kd, 235
katasztroflis kd, 256
knyszerhossz, 251
knai maradkttel, 235, 339, 360
kd, 10, 178
kdbc, 10, 178
kdtfuzs, 207, 230, 291
kdols, 164, 178
kdolsi nyeresg, 260
kdolsi sebessg, 68, 140, 166, 229,
251
kdosztsos tbbszrs hozzfrs,
! CDMA
kdsebessg,
! kdolsi sebessg
kdsz, 10, 178
kdszkeret, 251
kdszpolinom, 213
kdtvolsg, 181
konvolcis kd, 252, 291
llapottmenet grf, 254
binris fa reprezentci, 253
rekurzv, 269
szuperortogonlis, 292
trellis reprezentci, 254
konvolcis ttel, 245
kovarianciafggvny, 88, 108, 159
klcsns informci, 137, 323
kltsgfggvny, 150
Kraft-egyenlotlensg, 12, 55
kriptoanalzis, 317
kriptogrfia, 317
kriptogrfiai ellenorzo sszeg,
! MAC
kriptogrfiai protokoll, 322, 340
digitlis alrs, 351
kulcskioszts, 344

371
konvencionlis, 344
nyilvnos kulcs, 347
partnerhitelests
jelszavas, 341
kihvs s vlaszvrs, 343
titok megosztsa, 356
zenethitelests, 348
digitlis alrs, 350
hash fggvny, 351
MAC, 348
rejtjelezs, 349
krominancia, 124
kulcs, 318
Kullback-Leibler-tvolsg, 56
klnbsgi kdols, 99
klso kd, 235
kvantl, 70
egyenletes, 73
entrpija, 75
kompanderes, 81, 110
torztsa, 73
vektorkvantl, 85, 95, 111,
125, 140
lncszably, 33
legkzelebbi szomszd felttel, 79
LempelZiv-kdok, 48
lptetoregiszteres kdol, 251
LFSR, 223, 248
LindeBuzoGray-algoritmus, 86
lineris becsls, 106
lineris fggetlensg, 184
lineris kd, 184, 197
lineris prediktv kdols, 112
lineris prediktorfggvny, 107
lineris szurs, 89
LloydMax-algoritmus, 78
LloydMax-felttel, 79
LPC, 112
luminancia, 124

372
LZ77, 49
LZ78, 50, 59
LZW, 52, 125
MAC, 348
Markov-forrs, 45
Markov-lnc, 39
homogn, 39
stacionrius, 39
maximlis tvolsg kd,
! MDS kd
maximum-likelihood
dekdols, 154, 176, 263
dnts, 153
McMillan-egyenlotlensg, 11
MDC, 350
MDS kd, 183
megszemlyests, 321
metamer sznek, 120
minimlis sly, 188
mintavtelezs, 90
mintavteli ido, 90
mintavteli ttel, 91
modulo p aritmetika, 194
MPE, 114
MPEG , 97, 116, 131
ngyzetes torzts, 70, 85, 139
nylt zenet, 318
one-time-pad, 290, 320, 324, 325
PAM, 157
paritsellenorzo mtrix, 186
paritsellenorzo polinom, 216
paritskd
egydimenzis, 173, 181, 192,
193, 236
ktdimenzis, 234
paritsmtrix, 186, 197

TRGYMUTAT
paritsszegmens, 186
PCM, 110
perfekt kd, 184
PetersonGorensteinZierlerdekdol, 241
PKZIP , 50
polinom, 199
prediktv kdols, 99
prediktor, 102
prefix kd, 11, 13
primitv elem, 196
PSK, 157, 259
RD fggvny, 141
redundancia, 185
ReedSolomon-kd, 203, 217, 227,
237, 243, 356
Reiger-optimlis, 232
rszsvos kdols, 97
rvidts, 219, 236
RPE, 114
RSA-algoritmus, 332, 343
salting, 360
svszuro, 89
ShannonFano-kd, 18, 57
shiftregiszter, 222
Singleton-korlt, 182
spektrlis surusgfggvny, 88
spektrum, 244
spektrumpolinom, 245
standard elrendezsi tblzat, 189
sly, 188
slyfggvny, 89
slypont felttel, 79
szabad tvolsg, 258
szindrma, 189
szindrma dekdols, 189
szinuszos beszdkdol, 113
szisztematikus generls, 215

TRGYMUTAT
szisztematikus kd, 186
szorzatkd, 233
tblzatos dekdols, 179, 190
tmads
aktv, 321
ismert nylt szvegu, 321
passzv, 320
rejtett szvegu, 321
vlaszthat nylt szvegu, 321
vlaszthat szvegu, 321
tmad, 320
tmad kzpen tmads, 347
tvolsgprofil, 258
telefon-minosgu hang, 110
teletext, 192
test, 193
testvrpr tulajdonsg, 25
titkosts, 322
konvencionlis, 320
nyilvnos kulcs, 323, 326
rejtett kulcs, 320
titkostsi algoritmus, 322
titkostott zenet, 318
titkossg
felttel nlkli, 325, 336
gyakorlati, 325, 336
Toeplitz-lemma, 37
torztsi mrtk, 139
tkletes titkosts, 323
trlses hiba, 182
transzformcis kdols, 95, 116, 247
trellis-kd, 252
tllo, 264
UMTS, 294
Ungerboeck-kd, 259
zenet, 10, 178
zenetkeret, 251
zenetmdosts, 321

373
zenetszegmens, 186
V.32bis, 263
V.42bis, 54
vltoz szhosszsg kdols, 10
vges test, 194
Vernam-titkost,
! one-time-pad
Viterbi-algoritmus, 264
Voronoi-tartomny, 86
WalshHadamardkd, 289
transzformci, 97
WienerHopf-egyenletrendszer, 108

You might also like