A 8 A HIBAORÁOZÓ ÓDOÁS csatornakódolás ún kapactástétl azt állíta, ogy a forrásszövg gy osszúságú blokkának a kbővítés osszúságúra, ttszés szrnt ks értékűvé tt a blokk mgbásodásának valószínűségét, fltév, ogy tlsül a /<C gynlőtlnség, és gyúttal Sanos azonban z a tétl smmt sm mond arról, ogy mként, mlyn szabály szrnt kll a bővítést lvégzn Ugyanakkor tartalmaz gy gyakorlat szmpontból langoló ktétlt, azaz a kövtlményt, am prsz soasm tlsült, szn végs osszúságú üzntkt akarunk továbbítan A konstrukcós szabályokkal és a praktkus ltőségkkl a kódkonstrukcónak nvztt trült foglalkozk BEVEZEÉS A bővítés, mnt ötlt magától érttődő: a az üzntz tovább szmbólumokat adunk, akkor az így ktrszttt osszúságú kódszavaknak mgnő az értékkészlt, amt azonban szándékosan nm asználunk k Ilyn módon a csatornán létrövő bák kövtkztébn olyan blokkokat s fogunk vnn, amlynkt soasm adtunk fl, tát flsmrtük a bákat Prsz olyan mértékbn s kbővíttük a csatornára adott kódszavak trét, ogy az bből a térből flasználásra kválasztott szavak között ltérésk több bány nagyok lgynk Ekkor arra s ltőségünk lsz, ogy asonlóságot krssünk gy vtt, d nm asznált blokk, és valamly asznált blokk között Mgttük, ogy fltétlzzük a vtt és ly módon bás blokkról, ogy abból ött létr, amlykr a lgobban asonlít Ezzl gy kísérltt tszünk a ba kavítására, am vagy skrül, vagy nm ylván azt sm allgatatuk l, ogy olyan bák s kltkztnk, mndn bővítés llnér, amlyk tlsn rtv maradnak, mrt az gyk asznált blokkot gy másk asznált blokkba alakíták Ezk a mgfontolások mnd összangban vannak a kapactástétlll, mrt az csak végtlnz tartó blokkmért stén ígér az üzntk mgbásodásának nulláoz tartását Ugyanakkor zk a mggondolások flvtk mndazokat a mgvzsgálandó, formalzálandó és mgoldandó problémákat, amt a kódkonstrukcó lnt Elsőként kzdük az lnvzéskkl kntsük az üzntk darab szmbólumból álló blokkat vktoroknak Jlöl u : u, u, u az üzntvktorokat, és c : c, c, c pdg a c: f u kódolás szabály által az üzntvktorokból képztt osszúságú kódvktorokat, vagy rövdbbn az üzntkből képztt kódszavakat át az üzntk dmnzós vktorok, a kódszavak pdg dmnzósak Vgyük azonban észr, ogy zzl még nm mondtunk smmt gy-gy koordnáta ltségs értékr Az üzntk u koordnátának értékkészlt trmésztsn mggyzk a forrás-abc lmnk a számával, amt korábban m-l löltünk A csatorna bmntér krülő c kódszavak koordnátá a kód-abc-ből vszk értékkt, amly a lggyszrűbb stbn kétértékű, d atékonyabb kódok többértékű kód-abc-vl dolgoznak nnk értékét lölük q-val Prsz a többértékű kódszmbólumok mndg kfztők
kódkonstrukcó bnárs számokkal, a a ténylgs csatorna csak bnárs szmbólumkészlt továbbítására alkalmas ézzük a lggyszrűbb példát! gyn gy bnárs forrásunk osszú blokkal! ódoluk osszú bnárs kódba! A forrás üzntt a kétdmnzós térbn, azaz a síkon lt ábrázoln, gy drékszögű koordnátarndszr négy pontaként, amnt azt az 8 ábrán bmutattuk A forrás kétdmnzós vktoranak áromdmnzósra való bővítés még mndg ábrázolató vktorokat rdményz Prsz lőször l kll döntnünk, ogy a 8 ábra Üzntvktorok áromdmnzós, koordnátánként bnárs értékkészltű térből gy kocka nyolc csúcsából mlyk négyt válasszuk kódszónak Ezt c c 8 ábra ódvktorok c ném gondolkozás után a ltő lgobban mg tuduk oldan Jól mlékszünk, ogy azért bővítük a trt, mrt így a ksbb mértű üznttér lmt "szllősn" tuduk llyzn az dmnzóú térbn, amlynk q -szor több lm van énygs azonban, ogy ltőlg gynltsn "szóruk szét" az üzntkből képztt kódszavakat Az gymásoz lgközlbb krülők között s lgyn mnél több nm asznált lm a térnk, am tát nm lsz kódszó Mostan példánkban a kocka két szmközt lapának átlósan llyzkdő csúcsat választatuk, d gymásra mrőlgs átlókkal, amnt zt az 8 ábra mutata Ekkor a kódtérbn valamnny kódszó szomszéda ürsn marad, tát a árombts kódszavakban bkövtkző gytln bt mgbásodása flsmrtővé válk Ennk az lm példának az a aszna, ogy bárk mgragadata az ún algbra kódkonstrukcó ötltét, valamnt rámutat arra s, ogy az ábrázolatóság, a ursztkus konstrukcó tlsn rménytln, szn azt gyakorlatlag már zzl a példával kmrítttük, így a fladat mgoldásáoz mgfllő matmatka apparátust kll sgítségül ívn ÓDEMÉEI AAPFOGAMA A Hammng távolság Először vzsgáluk mg két kódtérbl vktornak a számunkra szükségs értlmbn vtt "távolságát"! Az ddgkből azt látuk, ogy a vktortérnk csak dszkrét pontat asználuk Egy-gy koordnátában való változás gy másk pontba mozgata a vktort Ezért a kódvktorok távolsága alatt az ltérő értékű koordnáták számát, az ún Hammng távolságot foguk értn Egy c és gy v vktornak a Hammng távolságát dc,v-vl lölük és az lőbbk szrnt dfnáluk: d cv q χ{ c v}, : Valamnt még mggyzzük, ogy a Hammng távolság lgt tsz a szükségs krtérumoknak, tát nncs szükség az lőbb dézől asználatára u u
Dkódolás kódkonstrukcó A Hammng távolság bvztésévl pontosan mgfogalmazatuk a bakorlátozó kódolásban a dkódolás fladatot Míg maga a kódolás a csatorna bmntén a már bvzttt fu függvény aktuáls c értékénk mgatározása adott üzntblokkból lkészítn a mgfllő kódszót, addg a dkódolás két ól lkülöníttő lépésr bontató: Először l kll képzn a csatorna kmntén vtt osszúságú v blokkot gy c' kódszóba Jlöl zt a lképzést c'dv! Azután pdg mg kll atározn az f c' -nk az értékét, amt lölön u' át bátlan lsz az átvtt üznt, azaz u'u, a a vtt vktort skrül a Dv-vl lölt lképzésnk - am a dkódolás néz rész - a c-vl mggyző c'-b alakítana Ez trmésztsn trváls fladat, a vc; nylván mgoldatatlan fladat, a vc' c, azaz a c kódszó a csatornán gy másk c' kódszóba mnt át Végül pdg több-kvsbb skrrl mgoldató fladat, a a c vktor a csatorna által okozott szmbólumtévsztésk matt gy olyan v vktorba mnt át, amlyk nm kódszó v c' ódtávolság Most rövdn áttkntük, ogy mlyn skrkt értünk l a dkódolás során, amkor a fladat mgoldató és nm trváls Először dfnáluk gy C kód kódolás szabály gyk fontos paramétrét, amt kódtávolságnak nvznk és d mn -l szoktak löln át: dmn : mn d cc, ' aol a mnmum krsést valamnny c c' kódszópárra l kll végzn Ez tát szavakkal azt lnt, ogy gy kód kódtávolsága nm más, mnt az a lgksbb Hammng távolság, am a kód két lgközlbb kódszava között van át a a kódtérbn két kódszó szomszédos, akkor a kódtávolság Ha van szabad ly a lgközlbb kódszavak között s, akkor a kódtávolság > Az lőző ks példában a kódtávolság kttő volt A kzltő bák száma Az ddgk alapán nylvánvaló, ogy akkor tudunk bát lzn, a a ba bák a kódszót a kódtér nm asznált vktorába vszk át A lztő bák mnnység, vagy pontosítva, a bztosan lztő bák lgnagyobb száma kvsbb lt, mnt a két lgközlbb kódszó között távolság Jlöl t a bák számát, így: t < d lltv t d l mn l mn Ha a avítató bák számát krssük, akkor blátatuk, ogy az lőzőnél nagyobb távolságra van szükség a kódszavak között Ha a kltkző bák az gys kódszavakat gymástól különálló dszunkt térrészkb mozgaták, amlyk blsébn van az rdt kódszó, akkor a ba gyértlműn kavítató Ez prsz az kll, ogy a két lgközlbb kódszó között "snk föld" lgalább a avítató bák számának kétszrs lgyn, a kódtávolság pdg nylván ggyl több: d d > t lltv t Int mn av av mn,
kódkonstrukcó azaz lgalább kll lgyn a kódtávolság aoz, ogy bát mndg bztosan k lssn avítan Szokták gyszrű bának nvzn azt, amkor a dgtáls csatorna kmntét létrozó döntőkészülék bát kövt l, tévsn dönt, a csatornában lévő za kövtkztébn kntttl arra, ogy az lyn gyszrű bák avításáoz a fntk szrnt lég nagy kódtávolság, bből kövtkzőn lég nagy kódtér, azaz lég nagy érték kll a -oz képst a mnnység összfüggéskr mndárt rátérünk, zért mgvzsgálták, ogy nm célszrűbb- a lgbzonytalanabb stkbn "lszabotáln" a döntést Azaz a döntés fladatok mgoldásánál, ddg nm mlíttt módon, kalakítan gy olyan partícót s, amlyb ső mgfgylés stén a döntőkészülék mgtagada a döntést és lz zt az sményt Más szavakkal z azt lnt, ogy például gy bnárs bmntű csatornának árom kmnő állapotát ozzuk létr kttő lytt Az lyn llgű sménykt döntésképtlnségt a kódolás rodalom törléss bának nvz Jött ugyan gy szmbólum, d az érték "ktörlődött" A törléss bák avítatósága kdvzőbb az gyszrű bákénál, zért célszrű alkalmazn zt a módszrt Ennk az a nylvánvaló oka, ogy míg gyszrű bánál nm smrük sm a ba lyét, sm az értékét, addg a törléss bánál csak a ba érték smrtln A avítató törléss bák száma: t tör d mn, mvl az rdtlg trmésztsn különböző kódszavak gys szmbólumanak lagyásával törlésévl csak bzonytalanság kltkzk a ktörölt szmbólumoknak mgfllő dmnzó szrnt pozícóban, d nm történk mg a vktor átlyzés A baavítás így abból áll, ogy a mgmaradt szmbólumokat kll fdésb ozn a ltségs kódszavakkal Amnnybn csak gy llszkdő mntát találunk, akkor a ba avítatóvagy más szavakkal: a kódtávolság azt monda mg, ogy a lgközlbb két kódszó ány szmbólumban különbözk, tát nnél ggyl kvsbb számú bzonytalanság stén még fl lt smrn a két kódszó rdtét Egymásoz lgközlbb lévő kódszavak lgalább d mn komponnsbn különböznk; a nnél kvsbb szmbólum ányzk gy vktorból, akkor a maradékból gyértlműn azonosítan lt az rdtt Az lm példában, a mgmonduk mlyk szmbólum ányzk, a maradék kttőből azonosítan tuduk az rdtt: például a *, a * és a * vktorok bármlyk csak a kódszóból öt létr A négylmű kódszókészlt tovább árom kódszavából lyn mnta nm kltkzt A kódkonstrukcó lgalapvtőbb törvény Az ddg smrtk alapán érttőn kíváncsak vagyunk, ogy mlyn képsségű, tuladonságú kódok konstruálatók adott paramétrk stén Az és és q értékkt nvzk általában kódparamétrknk, lltv, vagy,,q paramétrű kódról szoktak bszéln Az adott kövtlménykr történő kódtrvzés ltőségnk llnőrzésér az alább smrtkt tárgyaluk: a Snglton korlát, a maxmáls távolágú kód,
kódkonstrukcó a Hammng korlát, és a prfkt kód A Snglton korlát arra ad választ, ogy ány kódszót lyztünk l abban a kódtérbn, amly osszúságú vktorokból áll, és d mn a két lgközlbb kódszó Hammng távolsága, azaz a kódtávolság d mn ovábbá az üzntk, valamnt a kódszavak szmbólumanak értékkészlt, azaz a forrás-abc és a kód-abc lmnk a száma q Az lm ks példánkban azt láttuk, ogy, d mn és q stén négy kódszót tudtunk llyzn a kódtérbn A Snglton korlátra vonatkozó tétl szrnt a ltségs kódszavak száma: M q d mn Az gyszrű bzonyítás a kövtkző: a osszúságú üzntk száma lgflbb q lt, azaz: M q, aol az gynlőség tlsülés stén, azaz amkor flasználuk az összs osszúságú üzntvktort, csupán gytln szmbólumban különböznk a vktorok Egy-gy szmbólummal való bővítés a trt a kód-abc szmbólumanak mgfllő szám- q -szorosan növl Az dmnzóra bővíttt vktortér q -szor több lmű, mnt a osszú vktorok tr, d a q számú vktorból így bővíttt vktorok Hammng távolsága lgflbb - lsz Egy volt rdtlg, és --val nőttt a bővítés matt át és így d, ambõl d, mn M q q d mn mn Maxmáls távolságú kódnak nvzk azt, amlyr a Snglton korlátban az gynlőség tlsül Az angol lnvzés maxmum dstanc sparabl, azaz rövdítv MDS kód Például, d mn és q stén M, amt az lm ks példánkban mg s találtunk rmésztsn érdks smrt, ogy adott kódparamétrk stén ány kódszó fér l a kódtérbn, d flttünk gy még praktkusabb kérdést s: Adott számú t av ba kavítatóságáoz mlyn osszú üzntszgmnskt mlyn osszú kódvktorokká bővítv kll alkalmazn a kód-abc q érték stén? Err ad választ a Hammng korlát, azaz gy kívánt t av értékz mkkora és kll, az alább módon dríttő k: A kódtérbn szorosan, mndn ltségs értékt flasználva, l kll férn a kódszavaknak plusz az őkt körülvvő, a avítandó bák számának mgfllő 5
Ezk szrnt: kódkonstrukcó szabad trknk, "snk földénk", d lénygs, ogy az így képződő térrészk éppn csak összértnk vannak a kódszavak, mndgyk gy-gy pont a térbn, gy ba stén -szr q- pontba utat át a kódszó bármly pozícóban lt ba, és q fél szmbólumból gy a ó a több bás, két ba stén q -q - fél lyr krült a kódszó, tát t számú ba stén összsn av t av q q -q - q - darab pont kll a kódtérbn üzntnként Ha a forrás-abc m lmű akkor m -fél üzntt bocsátat k a osszúságú blokkokban, am a fnt kszámolt mértű ks térrészknk a szükségs száma Ezknk a részknk az összg pdg ksbb vagy gynlő, mnt az osszú q lmkészltű vktorok száma: m t av q - q 8 Azonos mértű forrás- és kód-abc stén, am lgyn q, az m és q összvonató Ha pdg bnárs forrást kódolunk bnárs kódba, akkor a Hammng korlát a kövtkző alakra gyszrűsödk: t av 8 Ezk az összfüggésk, mnt látuk nm xplct módon fzk k a kívánt baavító képsség stén a kódparamétrkt, anm csupán arra trmtnk ltőségt, ogy gy konstrukcós szabály ktalálása után llnőrzssük, ogy az kmrít- az lv ltőségkt, lt- gyáltalán azonos fltétlk mlltt atékonyabb kódot konstruáln Azt a kódot, amlyr a fnt ks térrészk tlsn ktöltk a kódtrt, azaz az gynlőség tlsül, prfkt kódnak nvzk Ilyn prfkt kódok családára adnak példát a Hammng kódok, amlykt később mutatunk b, bár az lm példánkat olymódon továbbflsztv, ogy csak két kódszót lyzünk l az lmű bnárs térbn a kocka tstátlóának a végn, létrozatunk gy prfkt kódot Ekkor ugyans úgy tuduk két részr osztan a nyolclmű vktortrt, ogy a térrészk mndn ponta pontosan d távolságra van gy kódszótól, amnt zt a 8 ábra c c c 8 ábra A kódszavak körül térrészk 6
kódkonstrukcó mutata Példaként olduk mg prfkt bnárs kódokra a Hammng korlátra kapott 8 gynltt t av és t av stén! Emlékzttünk, ogy kkor az gynlőség áll fnn Így a két gynlt a kövtkző lsz:, lltv A két gynlt mgoldásat lgalábbs gy részét az alább táblázatban tüntttük fl: t av t av 5 7-5 - 6-57 6-78 - 9!!! Mként látuk, a fnt gynltknk csak bzonyos, számpárok a mgoldása agyon fontos azonban azt s tudn, ogy nm mndn - a fnt gynltt klégítő - számpároz tartozk ténylgsn gy prfkt kód! Például ába mgoldás q és stén a 9,78-as számpár, lyn prfkt kód nncs Ez azt lnt, ogy nm t av 9 78 lt a mértű vktortrt darab olyan dszunkt részr osztan, amlyk mndgykénk a blsébn a mgfllő lyn van gy kódszó Vagy más szavakkal: nm csak a térrészk darabszáma amr az gynlt mgoldást lnt, anm az alaka s kötött, amt az gynlt már nm tud magába foglaln Jlnlg tát azt tuduk, ogy mlyn atára vannak a konstruálató kódoknak, d nm tuduk, ogy mként kll azok közül gy bármlyn kódot az üzntkből képzn, lltv am még fontosabb, ogy ogyan kll dkódoln 7
A BIÁRIS IEÁRIS ÓDO kódkonstrukcó A asznált baavító kódok gn lntős csoportát alkoták az ún lnárs kódok Ennk az az oka, ogy lyn kódok gnrálására és llnőrzésér vszonylag gyszrű szabályok, algortmusok dolgozatók k nárs kódok alatt azokat a kódokat értük, amlyk kódvktora gy lnárs térnk az lm alán pontosabban fogalmazva: a kódszavak gy lnárs tér lnárs altrét alkoták D mt s lnt az, ogy gy tér lnárs? Ez szavakban kmondva azt lnt, ogy a tér akárány vktorát összadva, koordnátánként összgzést végzv! az rdő vktor bnnmarad a térbn Egy lnárs vktortérnk van gy olyan rész, amlynk lm lnársan függtlnk, azaz a blőlük képztő összgk nm adnak nullát rdményül Az dmnzóú térbn a lnársan függtln vktorokat választuk kódszavaknak A kódszavaknak azt a csoportát, amlyr gaz, ogy az üzntszmbólumokkal súlyozott összgük lőállíták az összs kódszót, a tér bázsának nvzzük Ha smét lővsszük az lm ks példánkat, akkor könnyn llnőrztük, ogy a nyolc darab áromlmű bnárs vktorból a korábban kválasztott négy kódszó:,,, és gy lnárs trt alkot, mrt akármlyn csoportuknak az összg nm lép k bből a négylmű térből Ebből a négy vktorból a nulla kvétlévl bármlyk kttő a kódtér bázsát alkotata, mvl lnársan függtlnk, azaz összgük nm lsz nulla Ugyanakkor érdks rámutatn, ogy a másk négy lm a térnk, nvztsn a,, és vktorok gyszrűn szmmtra okok matt ugyanolyan ók lnnénk gy ba lzésér, vszont nm alkotnak lnárs trt Ezért zknk a asználata átrányos a kódolás és a dkódolás során, mrt algbra kzlésük nézks Van még gy alapvtő fogalom a kódok llmzésér, z pdg a kódszavak súlya Egy vktor súlya alatt a koordnátában szrplő nm nulla lmk számát értk Egy kódszókészlt, vagy rövdn gy kód mnmáls súlyán pdg a lgkönnybb, d nm nulla vktor súlyát értk Egy lnárs kód stén a kódtávolság mggyzk a kód mnmáls súlyával Elm példánkban a nm nulla súlyú kódszavak mnd kttő súlyúak, és zzl gynlő a kódtávolság s A lnárs térről lmondottak már sznt tökéltsn lgndők a lnárs kód lőállításáoz Mgkrssük az dmnzós bnárs tér gyk bázsát g, g,, g, és zzl bármlyk u üzntvktoroz gnráluk a mgfllő c kódszót a lnárs tér bázsára vonatkozó alább összfüggés alapán: c u g Ezt az gynltt mátrxalakban s flíratuk: c u G A G mátrxot gnrátormátrxnak ívák, és sora az dmnzós tér bázsvktora, pontosabban azok közül darab Ilyn mátrx több s lt, amlyk közül ktüntttt szrp van az ún szsztmatkus gnrátormátrxnak, amly szsztmatkus kódot gnrál Szsztmatkusnak nvzk a kódot, a a kódszó lső vagy utolsó lm 8
kódkonstrukcó mggyzk az üznttl önnyű blátn, ogy zt olyan G mátrx ozza létr, amlynk lső vagy utolsó oszlopa gységmátrx m néz lképzln, ogy gy lyn lnárs térbn lég szoros kapcsolatok vannak a kódok számára kválasztott altér és a több rész között Mgérztük, ogy bzonyára lt találn olyan gynltkt, amlyk az dmnzós tér bármly vktorára vonatkozóan olyan osztályozást tsznk ltővé, amnk alapán szétválogatatuk a kódszavakat a többtől étzk olyan mátrx, a H lű partásmátrx, amlyr: GH Az lőző G-vl gnrált kódszavak stén a H c valamnny tovább vktorára nm:, d az dmnzós tér a u-val szorzunk, akkor ugh -t kapuk, vszont u G c, tát ch, am azonos az lőző állítással mutatató, ogy még nnél s többr képs a G gnrátormátrxból képztő H partás-llnőrző mátrxnak és a v vtt kódszónak a H v szorzata Ezt a szorzatot szndrómának nvzk magyarul tüntt lnt, és s -vl foguk löln Az s Hv szndróma érték a kódszavakra nulla A "btg" vktorokra pdg mggyzk H-vl, aol az : v c szrnt dfnált bavktort löl Sanos a lnárs tér kövtkztébn ugyanaz az különbség gy adott v és több különböző c stén s létrön Ebből az kövtkzk, ogy gy vtt v vktorból képztt s szndróma csak a lgvalószínűbb bavktort és így a lgvalószínűbb c kódszót képs mgmondan Ez prsz összangban van azzal, ogy gy adott kódtávolságú kód csak mgatározott számú bát képs lzn lltv avítan ylván az s trmészts, ogy lgvalószínűbbnk azokat a kódszavakat foguk a dkódolás során tkntn, amlyk a lgkvsbb számú bával ozatták létr a vtt kódszót A bnárs Hammng kód Hammng kód alatt általában az gy bát avító prfkt lnárs kódokat értk Ez tát azt s lnt, ogy csak mgatározott osszúságú üzntblokkok stén lt Hammng kódot asználn A lggyszrűbb kérdés: ogyan kll gnráln az üzntvktorokból a kódszavakat? választuk a szükségs, párt, mgatározzuk a H partásmátrxot, amly oszlopvktorként tartalmazza az összs nullától különböző, - osszúságú vktort, és bből mgatározzuk a G gnrátormátrxot a kövtkző összfüggésk alapán: H A, I, B A és G I, B Egy bnárs kód és lgflbb gy ba amnnyt a Hammng kód avítan képs! stén az v-c vagy, vagy gy olyan vktor, amlynk gytln lm nylván az az lm, aol a ba van Hba stén a fntbb mgadott módon szrkszttt H partásmátrx asználatával, tát a H v H s kszámításával gy oszlopvktort kapunk, amly a H partásmátrx valamlyk oszlopa Ennk az oszlopnak a sorszáma a mátrxban mggyzk a bás szmbólum sorszámával a csatornán vtt vktorban A későbbk matt fontos észrvnn, ogy a bnárs kódok, és így a bnárs Hammng kód dkódolása során lgndő, a fldrítük a ba lyét, ugyans a ltségs két szmbólum matt a ba érték trváls 9
kódkonstrukcó A nmbnárs kódok konstrukcóáoz vszont gy tovább matmatka apparátust kll mgsmrn A VÉGES ES Egy ó, atékony kód nylván kasznála az dmnzós térnk mndazokat az lmt, amlyknk az gymástól való távolsága bztosíta a kívánt baavító képsségt Ilyn kódra volt példa a bnárs Hammng kód, amlyk gy bát avít Mlyn módon gnrálatunk több bát avító prfkt kódokat? Hogyan kll nmbnárs kódot gnráln, amr fltétlnül szükség lt akkor, a a fzka csatorna zavszonya matt kttőnél több szmbólumot lt ks bavalószínűséggl mgkülönbözttn, és ugyanakkor a csatorna sávszélsség matt nm lt a szmbólumok továbbítás dét csökkntn? Az ddg kódkonstrukcós smrtnkből lvonatuk a kövtkzttést, ogy a kódgnráls fladat gy dmnzós tér q számú lméből lkülönítn gy saátos tuladonságú részalmazt, az lőbb például gy lnársan függtln altrt Ezt az lkülöníttt részt asználtuk kódszavaknak Egy saátos tuladonságokkal rndlkző térbn gy spcáls algbra alkalmazásával lt kzln a sokdmnzós tér nmbnárs lmt A saátos tuladonságokkal rndlkző tér gy olyan almaz, amlynk lm között értlmzv van gy összadásnak és gy szorzásnak nvztt művlt és zkkl a művltkkl kapcsolatban a almaz lm rndlkznk közl gy tucatny tuladonsággal Az lyn almazt tstnk nvzzük Ezkn a tstkn blül a végs tstk érdklnk bnnünkt, amlyk tát a fnt tuladonságokkal rndlkző végs lmszámú almazok A nmbnárs kódok konstrukcóát a kód-abc-nk mgfllő q lmszámú végs tstk tszk kzltővé Ezkt GFq-val foguk löln, amly a Galos Fld rövdítés, és gy franca matmatkus nvét örökít mg Ismét lővév az lm példánkat, már ddg s asználtuk a végs tstt, csak szándékosan nm mlítttük mg, ogy mnél kvsbb ú fogalommal ndulassunk l a kódkonstrukcók tanulmányozásában A bnárs kód gys koordnátá ugyans GF-ből vszk az értékkt, nvztsn a nullát és az gyt Értlmztük közöttük a bnársnak nvztt szorzást és összadást, és nm llnőrztük, mrt z gy szélsőségsn trváls st, d tlsülnk az lőbb mlíttt tuladonságok Az összs flasználandó szabály az volt, ogy a koordnátánként összadásoknál modulo ktts maradék artmtkát klltt alkalmazn Ez azt rdményz, ogy a művltk rdmény bnt maradnak a végs mértű tstbn, amlynk tát két lm van, azaz a és az öbb lm stén szükségs mgsmrn a szabályokat és az azokat összfoglaló artmtkát asználn Ezt tsszük az alábbakban A végs tstkr vonatkozóan gy alapvtő flsmrés, ogy q, azaz a kód-abc nm lt ttszés szrnt, annak prímszámnak p, vagy prímszám atványának p n kll lnn Jlnlg a prím mértű végs tstkt smrük mg Egy p prímszám stén a {,,,p-} almaz a valós összadással és szorzással, valamnt modulo p artmtkával gy végs tst, amt GFp-vl lölünk A {} nv
kódkonstrukcó nulllm, az {} nv pdg gységlm Ha és β lm a tstnk, akkor β stén azt monduk, ogy és β gymás addtív nvrz, β stén pdg gymás multplkatív nvrz, és lölésükr asználuk a - lőlt, valamnt a --s ktvőt A kvonást és osztást pdg zk sgítségévl értlmszrűn dfnáluk A GFp bármlyk nm nulllmét p--szr önmagával mgszorozva a p--dk atványra mlv, az gységlmt kapuk rdményül Vannak azonban olyan lmk, sőt z a gyakorbb, amlyk már ksbb atványktvőr mlv az gységlmt adák rdményül Az lm rndénk nvzzük azt a lgksbb trmészts számot amlyr az lmt atványozva az gységlmt kapuk Vszont mndn GFp-nk van lgalább gy olyan lm amlynk a rnd p-, és zt prmtív lmnk nvzk Azaz a prmtív lm atványozása során lőször a p- ktvőnél ér l az gységlmt A prmtív lm tát a atványozás során véggára a tst összs nm nulla lmét a p mértű tstnk p- nm nulla lm van, és a atványozás során nm kapatuk kétszr ugyanazt, mrt akkor nm utnánk tovább Ebből sttük, ogy a prmtív lmnk ktüntttt szrp van Az dmnzós, q-árs qp tér vktoranak a gnrálása során gy-gy koordnátának az összs ltségs értékét létrozatuk a GFp prmtív lménk atványozásával Másrészt a prmtív lm alapán logartmust számolva, a atványozást s gyszrűsíttük A EMBIÁRIS IEÁRIS ÓDO Mndaz, amt a bnárs lnárs kódokról lmondtunk érvénysk a q-árs lnárs kódokra s, d a kódszavak gys lm, a kódszavakat alkotó szmbólumok GFq- ból vszk az értékkt Az így képztt kódszavaknak tát bármlyn összg s kódszó, lltv bármly kódszónak és a GFq bármly lménk a szorzata s kódszó Bnárs stbn z utóbb állítás nm lnt mg külön, mrt csak a és az voltak a tst lm Egyébként a szorzás nylván csak a többször összadást lyttsít, tát nm gazán lnt úabb fltétlt A nmbnárs kód gnrálása s gnrátormátrx sgítségévl történt, az llnőrzés és avítás pdg partásmátrx alkalmazásával A partásmátrx mgszrksztés azonban össztttbb a fladat, mnt bnárs stbn Emlékzzünk arra, ogy gy lnárs kód gnrátormátrxa a osszú üzntvktorokból készít az osszú kódvktorokat a c u G gynlt alapán; tát a gnrátormátrxnak számú oszlopa és számú sora kll lgyn A partásmátrx pdg az s H v matt oszlopból és - sorból áll A nmbnárs Hammng kód Sanos nm tls az gység az rodalomban arra vonatkozóan, ogy mly kódokat sorolák d M most a szélsbb értlmzést foguk kövtn, és a szűkbb értlmzésr a "maxmáls osszúságú Hammng" lnvzést foguk asználn A nmbnárs Hammng kódok tát gy bát avító kódok, és közülük a maxmáls osszúságúak pdg prfkt kódok s Példaként krssünk mg néány, párt maxmáls osszú nmbnárs Hammng kódra! A Hammng korlát szrnt, amkor t, az gynlt a kövtkző: av q q,
kódkonstrukcó am: q nál:, q 5 nél pdg: 5 Az gynltk néány mgoldását tartalmazza az alább táblázat: q q5 6 8 6 56 5 Míg a bnárs Hammng kódnál az matt a partásmátrx oszlopa tartalmazták az összs - osszú vktort a nulla kvétlévl, addg a q-árs stbn több lyn vktor van, mnt aány oszlop, sőt am még fontosabb, ogy csak ól kválasztott vktorok tszk ltővé a H v szorzás alapán a ba lyénk és értékénk a mgatározását A partásmátrx oszlopvktorat olyan módon választuk k az összs - osszú q- árs vktor közül, ogy csak azokat tartuk mg, amlyk: nm nulla értékűk, az lső nm nulla komponns az oszlopban -s, és gymásnak nm konstansszorosa Példaként nézzük az --r, q stén a partásmátrxot! A kétlmű trnárs vktorokból klnc darab van Ezkt az oszlopvktorokat alább flsorolva gy-gy mutata az ldobandóakat: Marad tát négy vktorunk, amlykt smrt módon szsztmatkussá rndztünk és blől a szsztmatkus gnrátormátrxot mgszrkszttük A csatornából vtő vktorok q félék, és maxmáls osszú Hammng kódnál bármlyk vktortól lgflbb gytln pozícóban különbözt gy-gy kódszó A különbség érték azonban q- fél lt Ha tát nm kódszót vszünk a csatornából, akkor az v-c bavktor most s gy olyan vktor lsz, amlynk gy lm, löl, kvétlévl az összs több nulla Ez az gy lm azonban q- fél lt A partásmátrx és a v szorzata, am gynlő H -vl, így "kválaszta" a partásmátrx gy, pontosabban az -dk, oszlopát, löl, ugyans a szorzat
kódkonstrukcó lsz Azért asználuk a ktvőt, ogy lzzük az "oszlopvktorságot" Ezkbn a fztkbn ugyans a vktorokat sorvktorként dfnáltuk, szmbn korább fztnkkl Ennk a vktornak az lső nm nulla lm, a mgadott módon választott partásmátrx stén, a ba értékét ada A vktort pdg losztva a ba értékévl, azonosítatuk azt a partásmátrx -dk oszlopával, amből trmésztsn rámutat a ba lyér Egyszrű példaként vgyük az lőző,-s trnárs Hammng kód partásmátrxát szsztmatkussá rndzv: H és szorozzuk mg v,,, -l! Az rdmény s, Ez tát azt lnt, ogy a ba érték, és a ba az s matt az lső pozícóban van A kódszó tát -,,,,,,, a dkódolt üznt pdg Sanos nm győzzük angsúlyozn, ogy z csak akkor gaz, a a csatornán ténylg csak gy ba ött létr öbb ba stén a dkódolásnak ugyanz lt az rdmény, csak át nm z volt a küldött üznt VÉGES ES FEEI POIOMO Olyan dmnzós vktorok mglnítésér, kzlésér, amlyk koordnáták értékt GFq-ból vszk, gy célszrű szközt lntnk a lgflbb --d fokú polnomok Az üzntblokkok és a kódszavak rprzntácóára ddg asznált vktorok lytt alkalmazatunk polnomokat s az alább mgfllttés szrnt: u u, u,, u lytt u x u ux ux u x ylván z s gy ltségs rprzntácó, és érdms asználn, a bárm lőny van Rögtön szögzzük l, ogy az alapvtő lőnyt a polnomok között szorzás és osztás vszonylag gyszrű lvégzés lnt, amr pdg nagy szükség van a kövtkző pontban bmutatásra krülő ún cklkus kódok stén Ugyanakkor flívuk a fgylmt arra a sorszámozás különbségr, am a vktorkomponnsknél és a polnomgyüttatóknál általában szokásos A polnomok algbráa tsz ltővé a továbblépést a prímatvány alapú végs tstk asználata flé, amnk az az gn gyszrű lntőség, ogy így atványa szrnt osszúságú blokkmértkt s választatunk Ez pdg az ltrdt byt-mértű adatábrázolás matt kdvző, CIIUS ÓDO Cklkus kódnak nvzk azokat a kódokat, amlyknk a kódszavat "cklkusan ltolva", azaz a kódszó lmt "körbforgatva" szntén kódszavakat kapunk A cklkus kódok gnrálása a gx gnrátorpolnommal történt, a cxgx ux szorzás útán étzk partásllnőrző polnom s:
x x gx, kódkonstrukcó és amlyr cx x mod x, azaz a kódszavakkal vtt szorzata többszörös x -nk A cklkus kódok gn ltrdt asználatukat többk között annak köszöntk, ogy létzk szsztmatkus mgfllőük s Az adatátvtlbn szélskörűn asznált CRC Cyclc Rdundancy Cck s szsztmatkus cklkus kód Hogyan állítatuk lő a lggyszrűbbn a szsztmatkus cklkus kódok kódszavat? Vgyünk gy, a korábbtól ltérő mgfllttést a vktorok és a polnomok között, nvztsn: u u, u,, u lytt lgyn u x u x u x u x u, valamnt képzzük a kódszavakat a kövtkző módon: cx ux x [ ux x ]mod gx Am szavakban azt lnt, ogy sftlük "fl" az üzntt az - partásszmbólumok számával, mad bből vonuk k az lőzőnk a gnrátorpolnomra vtt maradékát Vgyük észr, ogy amt kapunk annak gx osztóa, tát kódszó! Az ly módon gnrált kódszavak, lltv a vtt vktorok llnőrzés a gx-l való osztással történt Amnnybn a vtt vktor maradék nélkül osztató, akkor nylván bátlan, vagy pontosabban, nncs kmutatató báa, és annak lső lm maga az üznt A REED-SOOMO ÓD A több bát avító, nmbnárs, lnárs blokk-kódok közül a lggyakrabban a Rd- Solomon kódot asználák Ennk gyk alapvtő oka az, ogy atékony, mvl maxmáls távolságú kód, valamnt ól ralzálató dkódoló algortmusokat flsztttk k ozzá Az,,q paramétrű Rd-Solomon kódok lőállítására tt mgadunk gy alapvtő konstrukcós szabályt Ezk szrnt, a az u üzntvktornak mgfllttünk gy ux polnomot az alábbak szrnt: u u, u,, u u x u u x u x akkor a c c, c,, c módon lölt kódvktor komponnst a kövtkző képn kapuk: u x c u, c u, c u,, c u, aol a GFq prmtív lm Ez tát azt lnt, ogy a kódszókomponnskt az ux polnomnak a prmtív lm atványanál vtt lyttsítés érték adák Egy tovább mgkötés, ogy a szrplő atványoknak különbözőknk kll lnn, am akkor tlsül, a q Amnnybn valak mgszokta a kzdtbn asznált gnrátormátrxos kódszó lőállítást, akkor az lőző konstrukcóból nagyon könnyn mgatározata a gnrátormátrxot s Mvl a cug gynltbn a G mátrx oszlopanak lm az,
kódkonstrukcó üzntvktor lmnk a szorzótényző, zért például az lső oszlop mndn lm -s lsz, szn, lltv a másodk oszlop lm -nak -tól --g trdő atványa lsznk, és így tovább át a mátrx a kövtkző lsz: 9 6 6 G Ez a gnrátormátrxoz találató partásllnőrző mátrx, amlynk lrndzés sokban asonlít a gnrátormátrxéra: 8 9 6 6 H önnyű észrvnn, ogy az tt mgadott konstrukcós szabály, lltv az annak alapán flírt gnrátormátrx nm szsztmatkus kódot gnrál Ez vszont flslgs vsszatranszformálását gényl a vtt kódszavaknak Ezért nm célszrű közvtlnül a fnt mgadott gnrátormátrxot asználn, anm azt lőbb érdms szsztmatkussá alakítan az ún gauss lmnácó alkalmazásával Szmléltssük a fntkt gy gyszrű ks példán! A szrksztndő Rd-Solomon kód paramétr lgynk a kövtkzők:, és q5! Így a gnrátormátrxnak négy oszlopa és két sora lsz Válasszuk -nak -t, am GF5 prmtív lm A gnrátormátrx a kövtkző lsz: G A szsztmatkussá alakítás érdkébn lső lépésként vonuk k a flső sort az alsóból: G Most a kapott másodk sort vonuk k az lsőből, végül atározzuk mg a lölt ngatív mnnységk 5-ös maradékát, és zzl kész s van a szsztmatkus gnrátormátrx: G Ezk után vzsgáluk mg, ogy mként lt bákat kzln Rd-Solomon kóddal! 5
örlésk pótlása kódkonstrukcó A Rd-Solomon kódról bbzonyítottuk, ogy MDS kód, azaz dmn, tát a pótolató törlésk száma ttörl A törlésk pótlása, vagy pontosabban a küldött üznt rkonstruálása a ányos kódszóból az alább módon történt: A krstt üzntszmbólumokat gy gynltrndszr smrtlnnk tkntük Az gynltkt a mgmaradt kódszó-szmbólumokból és az smrt gnrátormátrx mgfllő oszlopaból állítuk lő Ha c m -l lölük a mgmaradt kódszó-szmbólumokból álló vktort, és G m -l a gnrátormátrxnak a c m -z tartozó oszlopat, akkor a mgoldandó m m gynltrndszr c u G lsz Hbák avítása Hbaavításra a Ptrson-Gornstn-Zrlr algortmus asználató Ennk mgértését az alább gyszrű példával kívánuk lősgítn Válasszunk gy vszonylag rövd,- paramétrű kódot, am tát - matt bát tud avítan, és tétlzzük fl, ogy gy vtt vktorban éppn két ba van Próbáluk mg zkt a bákat kavítan! Jlölük a két ba értékét -vl és -vl! A bák lyénk az azonosítására pdg asználuk a H partásmátrx lső sorának azokat az lmt, aol a bák vannak Ezkt az lmkt lölük -vl és -vl, valamnt nvzzük őkt balokátoroknak! önnyű blátn, ogy a H partásmátrx lső sorának az lm alkalmasak azonosításra, szn mnd különbözők, és gy korább mgállapodásunk szrnt GFq valamlyk prmtív lménk atványa, mégozzá a -tól --g trdő atványktvő szrnt sorrndbn Mvl a szndróma kszámítása a kövtkző: s H v, am gynlő H-vl s, az lőbb bvzttt lölésnk és a szndrómavktor között az alább összfüggést találuk: s Azaz a szndrómavktort úgy kapuk, ogy a baértékkkl szorozzuk a partásmátrxnak azokat az oszlopat, aol a bák vannak Adott v vtt vktor stén az s komponns smrtk, tát a fnt gynlt gy négysmrtlns gynltrndszr a baértékkr és a balokátorokra Sanos azonban z az gynltrndszr nmlnárs, zért mgoldása ném ügysségt gényl, amt a kövtkzőkbn bmutatunk épzzünk a mgoldás érdkébn gy ún lokátorpolnomot! Ez lgyn olyan, amlynk a gyök a balokátorok: x x x x x Amnnybn vagy -vl szorzunk, akkor -t kapunk rdményül Az s-r vonatkozó gynlt alacsonyabb fokszámú résznk lyn ügysn választott -val való szorzása révén asznos összfüggéskz utatunk: 8 6
kódkonstrukcó,,, Aduk össz az lső kttő és a másodk kttő gynltt:, Összasonlítva a szndrómavktorra kapott kfzéssl, a két gynltt rövdbbn a kövtkző módon íratuk:, s s s s s s Ezzl a nmlnárs gynltrndszr mgoldás gondan túlutottunk Hszn lnlg gy kétsmrtlns lnárs gynltrndszrünk van a lokátorpolnom gyüttatóra, amlyből azok könnyn kszámítatók Ezzl mgkapuk magát a lokátorpolnomot, amlynk a gyökt mgoldva, mgkapuk a balokátorokat Az és smrtébn az 8 bármlyk két gynltéből az -k mgatározatók Amnnybn mgatározzuk a -k alapú logartmusat, akkor mgkapuk a krstt bák pozícóát, d fgylünk, ogy -tól kzdődk a számozás! A bák értékét maguk az -k adák, és így smrt az bavktor, amllyl a vtt v vktor avítása lvégztő Egytln kérdés marad, ogy onnan tuduk mg a bák számát A Ptrson- Gornstn-Zrlr algortmus rr s választ ad 7