4. fejezet - Forráskódolás

4.1. 4.1. Alapfogalmak

A Shannon-féle egyirányú hírközlési modell általános alakja [ 16 ], [ 3 ]:

4.1. ábra - Az egyirányú hírközlési rendszer általános modellje (zajos)

Az egyirányú hírközlési rendszer általános modellje (zajos)

A hírközlés feladata eljuttatni az információt a felhasználóhoz. A távolságok miatt az információ továbbítására valamilyen eszközöket (csatornákat) használunk, amelyek néhány jól meghatározott típusú jelet tudnak továbbítani. Tehát a továbbításhoz az információt a csatorna típusának megfelelően kell átalakítani. Ez a kódolás, míg a továbbítás után vett jelekből az információnak a visszaalakítását dekódolásnak nevezzük.

További probléma forrása, hogy az átvitel során a továbbított jelek megváltozhatnak, azaz ún. zajos csatornával dolgozunk. Tehát olyan módszerekre is szükség van, melyekkel az ilyen zajos csatornákon is elég megbizhatóan vihető át az információ, és amellett az átvitel költségei, sebessége sem gátolja a használhatóságot.

Az információ ezer alakban jelenhet meg, ám minden csatorna csak jól meghatározott típusú, a csatornára nézve specifikus információkat tud továbbítani. Az üzenetet ezért mindig olyan jelekké kell átalakítanunk, amelyek a rendelkezésünkre álló csatornán átvihetők. A jelek átalakítását kódolásnak nevezzük. Ha egészen pontosak akarunk lenni, azt kell mondanunk, hogy a kommunikációban mindig átkódolást végzünk, sőt legtöbbször az üzenetet két-háromszor is át és visszaalakítjuk (transzformáljuk). Ha például az információ forrása az ember, az első átkódolás akkor zajlik le, amikor a gondolatainkat, amelyek az agynak nevezett információfeldolgozó és tároló berendezésben valamilyen formában el vannak raktározva, szabályos nyelvi formába öntjük. A második akkor, amikor beszédhanggá alakítjuk. Adott kommunikációs szituációban legtöbbször a kommunikációs láncnak csak egy szakaszát vizsgáljuk, s így teljes joggal beszélhetünk az illető szakaszra vonatkozó kódolásról.

4.1. Definíció. A kódolás az az eljárás, amely egy nyelv véges ábécéjéből képzett szavakat kölcsönösen egyértelmű módon hozzárendeli egy másik nyelv meghatározott szavaihoz. A kódolással ellentétes eljárás a dekódolás.

A csatornakapacitás egyik meghatározása: az az információmennyiség, amelyet egy adott csatornán optimális kódolás mellett az időegység alatt át lehet vinni. Shannon azt is megállapította, hogy alkalmas kódolási eljárással zaj jelenlétében is megvalósítható tetszőlegesen kis hibavalószínűségű információátvitel, ha az átvitel sebessége kisebb a csatorna kapacitásánál.

A kódolásnak az információátvitelben kettős célja van. Egyrészt az üzenetet a csatornán átvihető alakra kell hozni, másrészt ezt úgy kell végrehajtani, hogy az üzenet minél gazdaságosabban, minél rövidebb idő alatt és minél kevesebb veszteséggel jusson el a csatorna másik végébe. (Az adatfeldolgozásban a kódolásnak más céljai is vannak: az adatok tömörítése, titkosítása stb.).

4.2. Megjegyzés. A kódolásnál elsőrendű követelmény a dekódolhatóság. Ha a vevő nem tudja az üzenetet, nem lehet szó kommunikációról. A megfejtés akkor lehetséges, ha az üzenet egyértelműen dekódolható. Ennek szükséges, de nem elégséges feltétele, hogy a különböző közleményekhez rendelt kódközlemények különbözőek legyenek.

A legegyszerűbb kódolási eljárás a betűnkénti kódolás: a forrásközlemény minden betűjéhez hozzárendeljük az illető betű kódját. Hiába különböznek azonban az egyes betűk kódjai egymástól, az üzenet attól még nem lesz egyértelműen dekódolható. Ha ugyanis a jeleket egymás után írjuk, a jelsorozatot többféleképpen is felbonthatjuk. Ezen a bajon Morse úgy segített, hogy a betűk közé szünetet iktatott be. Az egyértelműséget azzal fizette meg, hogy hosszabbá tette az üzenetet. Baudot más megoldást választott: minden betűnek azonos hosszúságú kódjelet feleltetett meg. Így az üzenetet egyértelműen tagolni lehet, viszont ezzel a módszerrel is hosszabbá válik.

A változó kódhossz sokkal gazdaságosabb, mivel lehetőség van arra, hogy figyelembe vegyük a forrásábécé jeleinek gyakoriságát, s a gyakrabban előforduló jeleket rövidebb, a ritkábban előfordulókat hosszabb kódjelekkel kódoljuk. Ezt tette Morse is: az angol nyelv betűgyakorisága alapján állította össze ábécéjét. A gazdaságosságnak van még egy feltétele: az, hogy a betűk minden elválasztás nélkül egyértelműen dekódolhatók legyenek. Ez a feltétel csak akkor teljesül, ha úgynevezett prefix tulajdonságú kódot alkalmazunk.

A hírközlés matematikai modelljében szereplő résztvevők tulajdonságainak a leírására és a feladat megoldására használjuk a következő fogalmakat.

4.3. Definíció. Legyen amely véges halmaz tartalmazza a forrásábécé elemeit. Jelölje az -ből készített véges sorozatok halmazát Ennek elemeit nevezzük forrásüzeneteknek.

4.4. Megjegyzés. Tehát

Természetesen minden a forrás által kibocsátott minden elem tekinthető valószínűségi változónak, azaz a forrásüzenet az egy valószínűségi változó sorozat. Sztochasztikus tulajdonságainak leírásához meg kell adni a sorozat együttes eloszlását. Mint látni fogjuk, sokszor egyszerűsítjük ezt az általános esetet, hogy a véletlen leírása egyszerűbb legyen. A korábbi urnamodellünk is egy ilyen esetet ír le.

4.5. Definíció. A forrást emlékezetnélkülinek nevezzük, ha a valószínűségi változó sorozat teljesen független.

4.6. Definíció. A forrást stacionáriusnak (stacionérnek) nevezzük, ha a valószínűségi változó sorozatban az eltolódással kapott véges dimenziós eloszlások megegyeznek, azaz és véletlen vektorok együttes eloszlása minden esetén megegyezik.

4.7. Definíció. Legyen amely halmaz tartalmazza a kódábécé vagy csatornaábécé elemeit. Jelölje az -ból készített véges sorozatok halmazát Ennek elemeit nevezzük kódüzeneteknek.

4.8. Megjegyzés. Tehát

A forrásüzenetet át kell alakítanunk olyan formára, hogy továbbítható legyen az ún. csatornán. Zajmentesnek nevezzük a csatornát, ha az üzenet továbbítás közben nem történik változás (hiba), ekkor általában nem szükséges további átalakítás. Viszont, ha a csatorna megváltoztathatja az üzenetet, akkor még történik egy átalakítás, hogy ez a változás jelezhető illetve javítható legyen. Ezt fogjuk csatornakódolásnak nevezni.

4.9. Definíció. A kódolás az az eljárás, amely során a forrásüzenetekhez kódüzenetet rendelünk hozzá, azaz megadunk egy

függvényt.

4.10. Definíció. Betűnkénti kódolásnak nevezzük, ha

azaz a hozzárendelés a forrásüzenethez elemenként történik. A

a forrásábécé elemeihez rendelt kódszavak.

4.11. Definíció. Blokkonkénti kódolásnak nevezzük, ha

ahol rögzített, azaz a hozzárendelés a forrásüzenethez blokkonként történik.

4.12. Megjegyzés. Az halmaz tekinthető forrásábécének, s így tekinthető betűnkénti kódolásnak is. Továbbá, ha

ahol szintén rögzített, akkor blokkhoz blokkot rendelünk, ekkor a blokkokhoz rendelt kódszavak hossza megegyezik, azaz állandó hosszúságú kódról beszélünk. Speciális eset a betűnkénti eset

4.13. Megjegyzés. A kódok készítésénél természetesen sok szempontot szokás figyelembe venni, amelyek közül a legfontosabb a dekódolhatóság. Mi itt csak az egyértelműen dekódolható esetekkel foglalkozunk. Ha a függvény kölcsönösen egyértelmű, akkor a kód egyértelműen dekódolható. Először a zajmentes csatorna esettel foglalkozunk, feltételezve, hogy a csatornán a betűk (jelek) azonos költséggel mennek át. Nem azonos költségű esetnek tekinthető például a Morse-kód, merta jelek nem azonos idejűek, azaz ha összeadjuk az időket, akkor azonos darabszám esetén is lehet az üzenet hossza különböző (additív költségű eset).

Tehát a következő esetekben az ún. zajmentes csatorna + betűnkénti kódolás + azonos költségű esetekkel foglalkozunk, azaz

4.14. Megjegyzés. az betűhöz rendelt kódszó. Jelölje a kódszavak halmazát.