Info alapfogalmak és kódolás
Az információ fogalma és tulajdonságai • Az információ anyaghoz kötődik. • A kapcsolat adat formában valósul meg. • Az anyag amihez az adat kötődik -adathordozó.
Definíciók Az adat bármilyen hír, közlemény, amit felfogunk, érzékelünk. Az információ a nekünk új ismeretet hozó jelek tartalmi jelentése. Az adat a formai, az információ a tartalmi oldalát jelenti ugyanannak a közleménynek.
Az információ legfontosabb tulajdonságai • Az információ mennyiség nem szükségszerűen változik az információt hordozó jelek számával. • A kétszer adott közleménynek nincs kétszeres mennyiségű információértéke. • Egyidejűleg több egyed részére kiadott információból mindenki ugyanannyi információt nyerhet. • Az információ nem osztódik. • Azonos közleményt különböző jelekkel is rögzíthetünk, ez nincs hatással az információ tartalomra. • Azonos jelek más összefüggésben más információt hordozhatnak.
Az információ átadási folyamat Az adó feladatai: • A hírek, közlemények kialakítása • Kódolás, a csatorna igényei szerint A vevő feladatai: • Dekódolás • A hírek, közlemények felhasználása
A csatorna lehet: • Térbeli adatátviteli csatorna • Időbeli adatátviteli csatorna • A csatornának minimálisan kétféle jelet kell átvinnie. • Az ilyen csatornát bináris csatornának nevezzük. Egy kettes számrendszerbeli számjegy a bit. ( binary unit, binary digit ) Egyben ez az információmennyiség alapegysége is.
A kódolási eljárás Alapfogalmak: • Forrás-ABC • Közlemény • Kód-ABC (Csatorna-ABC) • Kódközlemény
Kódolási eljárás Olyan utasítás, amely minden lehetséges közleményhez hozzárendel egy kódjelekből álló sorozatot a kódközleményt. • A gyakorlatban a forrás-ABC minden betűjéhez hozzárendelünk egy kódjelekből álló sorozatot - az illető betű kódját-, és a továbbítandó közlemény kódközleményét az egyes betűk kódjainak egymás után írásával állítjuk elő. • Általában azonos hosszúságú kódokat alakítunk ki.
A kódolással szemben támasztott követelmények: Alkalmas legyen minden közlemény egyértelmű leképzésére. Tömör legyen. (Gazdaságosság!) A csatorna képes legyen a jelek továbbítására.
Kódolni csak akkor lehet, ha rendelkezésre áll: A kód-ABC A kódképzés szabálya Formai (szintaktikai) Értelmezési (szemantikai) A kódolás általában többszörös. (Például a telefon)
Jelkészlet A kódolható forrás-ABC betűk számát meghatározza: • A kód-ABC jeleinek száma • A kódszó hossza
Definíció A kód-ABC és meghatározott hosszúságú jelsorozat mellett továbbítható forrás-ABC betűk számát jelkészletnek nevezzük. Pl. 4 hosszon bináris csatornán a továbbítható jelek száma?
Decimális kód Ha a kód-ABC decimális, akkor a jelkészlet: Decitek száma Jelkészlet 1 10 = 10 2 10 x 10 = 100 3 10 x 10 x 10 = 1000
Bitek száma Jelkészlet 1 2 = 2 2 2 x 2 = 4 3 2 x 2 x 2 = 8
Általánosságban Ahol: V=mn V - jelkészlet m - a kód-ABC jeleinek száma n - a kód hossza A jelkészlet exponenciálisan nő a jelsorozat hosszával.
Példa m = 2; n = 8; V = ? V=mn=28=256
De A kérdés általában az, hogy (m) jelű kód-ABC esetén milyen hosszúságú (n) jelsorozatot kell a csatornán továbbítani, hogy a rendszer minden lehetséges állapotát kifejezhessük.
Matek – levezetés nem csak a képlet szükséges
folytatás
A lényeg
Példa
Azonos előfordulási valószínűséget feltételezve, minél nagyobb egy rendszer jelkészlete, annál kisebb egy-egy állapot bekövetkezésének valószínűsége. A valószínűség jelölése: p p = 0 Lehetetlen esemény p = 1 Biztos esemény
Ha a rendszer egyes állapotainak bekövetkezési valószínűsége azonos, akkor
Az entrópia Valós rendszerekben az egyes szimbólumok előfordulási valószínűsége általában nem azonos, így információ tartalmuk sem azonos. Az információ tartalom és az előfordulás valószínűsége fordított arányban van egymással.
Az egyes szimbólumok pi valószínűséggel jelennek meg, ahol: A független események együttes előfordulásának törvényszerűségét felhasználva, Shannon szerint a következő formulával számolható az átlagos információ tartalom:
Mi köze ennek az entrópiához? Miután ez formailag hasonló mint a Maxwell-Boltzmann gázelméletében az ideális gáz entrópiáját leíró egyenlet, ezért Shannon ennek az összefüggésnek is az entrópia nevet adta.
Definíció: Az entrópia nem más, mint a rendszerben lévő határozatlanság (rendezetlenség) mértéke. Bizonyítható, hogy a maximális értékét akkor veszi fel, ha minden állapot bekövetkezési valószínűsége azonos, vagyis ha:
Miért fontos ez? Azért, mert ez megegyezik a df jelű forrás-ABC kódolásához szükséges kód-ABC jelek számával
Az entrópia néhány fontos tulajdonsága: Az entrópia negatív értéket nem vehet fel. Az entrópia invariáns az állapotok sorrendjére nézve. A magára hagyott rendszerben az entrópia csak nőhet. Az entrópia csökkentése csak energia (idő, pénz stb.) befektetés útján lehetséges. Ha a rendezettség nő: Az entrópia csökken A stabilitás csökken A stabil rendszerek teljesen rendezetlenek.
A redundancia Ha egy rendszer átlagos entrópiáját (H) elosztjuk a rendszerben elképzel- hető maximális entrópiával (Hmax), akkor a közlemény tömörségi tényezőjéhez jutunk.
Relatív redundancia
Ha a jelek előfordulási valószínűsége közel azonos
Teljesen redundancia mentes rendszer csak hibátlan (,zaj nélküli) csatorna esetén tervezhető. • A redundancia célszerű felhasználásával védekezni lehet a csatorna zajok káros hatása ellen.
Kidolgozott példa
Példa 2
A tényleges entrópia közelítőleg 2 bit/hang Azaz, minden 10 kimondott hangból 4 hordoz információt. Az angol ABC 26 betűből áll. (Szóközzel 27). Ha minden betű független és egyenlően valószínű volna, akkor a Hmax = log2 26 = 4.64 bit/betű. Az informatikai rendszerekben cél a redundancia minél alacsonyabb szinten tartása. (!!!)
Adatátvitel a csatornán A csatornakapacitás a rendszerben átvihető információ maximuma. Zajmentes rendszerek esetén ez akkor érhető el, ha minden jel előfordulási valószínűsége azonos.
A kódrendszerek elméleti alapjai
A kódhozzárendelést kódolási eljárásnak nevezzük. A kódolás szabályait kódrendszerbe kell foglalni. Egy kódrendszer akkor gazdaságos, ha minél kevesebb jelből álló kódközleménnyel továbbítja az adó által megfogalmazott közleményt a vevő részére. A kódolásnak-dekódolásnak egyértelműnek kell lennie.
A zaj nélküli csatornák kódjai Az a csatorna zajmentes, melynél a vevő által vett kódjel mindig ugyanaz, mint amit az adó a csatornán elindított
A zajnélküli csatornák kódjainak csoportosítása Állandó hosszúságú kódok • Betűnkénti kódolás • Blokkonkénti kódolás Változó hosszúságú kódok • Kódszó vége jellel • Kódszó vége jel nélkül
Állandó hosszúságú kódok Egyszerű kódolás-dekódolás. • Egyetlen feltétel, hogy a forrás-ABC egyes betűinek kódszava legalább egy pozíción különbözzön. • Legalább annyi kódot (kódszót) kell kialakítani, mint ahány betű a forrás-ABC - ben van.
Blokkonkénti kódolás A forrás-ABC betűcsoportjaihoz rendelünk kódokat. • Akkor kapunk jó eredményt (Kis redundanciát): • Ha a forrás-ABC kevés jelből áll • Ha a közlemény hossza az (N) blokkhossz többszöröse
A forrás-ABC jelkészlete: A, B, C, D. A blokkhossz: N = 3. Akkor a blokkok: AAA, AAB, AAC, ...... A kombinatorika szerint különböző blokk képezhető. Ezzel a kódolással a betűnkénti kódolás redundanciája csökkenthető.
Változó hosszúságú kódok Akkor alkalmazzuk, ha a forrás-ABC jelek előfordulási valószínűsége nem azonos. Célszerűen ebben az esetben a gyakrabban előforduló forrás-ABC jelekhez rövidebb kódokat rendelünk, mint a ritkábban előfordulókhoz.
A változó hosszúságú kód esetén is a kódrendszernek egyértelműen dekódolhatónak kell lennie. A megoldás: Külön kódvége jel alkalmazása. • Morse-kód. • A gyakorlatban a bináris csatornánál nem alkalmazható. • Olyan kódrendszer, ahol az egyes kódszavak vége, kódszó vége jel nélkül is megállapítható.
Irreducibilis kódok A kódfa egy elfektetett fa-struktúra, ahol az élek iránya meghatározza az egyes kódjelek értékét. • Felfelé = 1 • Lefelé = 0
Az egyértelmű dekódolhatóság nem szükséges, de elégséges feltétele, hogy a kódrendszerben használt egyes kódszavak kiegészítése további kódjelekkel ne eredményezzen újabb kódszavakat Az előbbi feltételt kielégítő kódot nevezzük irreducibilis kódnak. (vagy prefix kódnak)
Minden állandó hosszúságú kódrendszer irreducibilis. • Nem csak az irreducibilis kódokat lehet egyértelműen dekódolni. Irreducibilis kód szerkesztésére a kódfa akkor is használható, ha a csatorna nem bináris. Ebben az esetben a kódfa minden csomópontjából a csatorna-ABC jelszámának megfelelő élt kell indítani.
Optimális hosszúságú kód szerkesztése A nagyobb valószínűségű betű kódja rövidebb, mint a kisebb valószínűségűé. (Esetleg egyenlő) • A kisebb hosszúságú kód minden variációs lehetősége ki van használva. • A kódfa ágain a csatorna jelek számával megegyező elágazás van, kivéve az utolsó csomópontokat.
Huffman szerint a szerkesztés menete a következő A forrás-ABC legkisebb valószínűségű betűinek összevonásával egyre egyszerűbb kód kialakítására vezetjük vissza a feladatot, egészen addig, míg az optimális megoldás triviális nem lesz. • Ezután az összevont betűcsoportoknak és betűknek a lehető legrövidebb kódot adjuk, miközben a betűcsoportokat fokozatosan (visszafelé haladva) felbontjuk. • A szerkesztést célszerű táblázatos formában végrehajtani. • A táblázat forrás-ABC oszlopában az egyes forrás-ABC betűket előfordulásuk csökkenő sorrendjében kell feltüntetni
A zajos csatornák kódrendszere A gyakorlatban használatos adatátviteli csatornák döntő többsége zajos. A hasz-nálhatóság érdekében olyan kódrendszereket kell kialakítani, ahol a hiba felismerhető, esetleg javítható
Példa: Egy berendezést bináris kóddal akarunk be, illetve kikapcsolni. 1 = Bekapcsolás 0 = Kikapcsolás Ha feltételezzük, hogy a hiba valószínűsége: p = 0.01, akkor minden 100. parancs lesz téves. Amennyiben növelni akarjuk a biztonságot, akkor a következő kódrendszert alakíthatjuk ki: 111 = Bekapcsolás 000 = Kikapcsolás A kódrendszert a biztonság érdekében redundánssá tettük.
A redundancia kihasználása: Csak a három nullát, illetve három egyest fogadjuk el jóként, és minden más esetben hibát jelzünk. Ha a kódközleményben két kódjel azonos, akkor a harmadikat javítjuk a túlsúlyban lévőre
Javítás esetén minden 10000. parancs lesz hibás. Adó = 111 Vevő = 001 Javítás = 000 → → Tehát a hibajavítás azonos redundancia mellett kisebb biztonságot ad mint a hibajelzés.
Egy kódrendszer hibajelző, hibajavító képessége annál nagyobb, minél jobban eltérnek egymástól a kódok. A hibavédelmi képességet nem a redundancia nagysága, hanem a kódok különbözőségének mértéke, a Hamming távolság határozza meg.
Ha a felderítendő hiba száma (e), akkor a minimális Hamming távolság: Ha a javítandó hiba száma (t), akkor a minimális Hamming távolság: D = 2t + 1 Ha hibajelzést és hibajavítást együtt szeretnénk, akkor: D = 2t + e + 1 Itt (e) a javított hibán felüli jelzett hiba.
Ismertebb hibavédelmi kódok Paritásos kód
Az eredeti kódszót egy további, úgynevezett paritásjeggyel egészítjük ki. • Páratlan paritás: 11111 a paritásbit 0 10100 a paritásbit 1 • Páros paritás: 11111 a paritásbit 1 10100 a paritásbit 0 • A minimális Hamming távolság: D = 2 • Nyolc bitre a redundancia: R = 11% • A kereszthibák jelzésére nem alkalmas. • A leggyakrabban használt hibavédelmi kód.
Aránykód A kódszavak mindegyikében azonos számú egyes, és -állandó hossz mellett- nulla fordul elő. • Tipikus példa: "Három a hétből" 0100101 ; 1010100 stb... • A minimális Hamming távolság: D = 2
Korrelációs kód Az elsődleges kód minden bitjéhez két bitet rendelünk a következő szabályok szerint: Ha az elsődleges kódjel értéke 1 akkor 10 Ha az elsődleges kódjel értéke 0 akkor 01 Példa: 1 0 1 0 1 Az elsődleges kód 1 0 0 1 1 0 0 1 10 A korrelációs kód • A minimális Hamming távolság: D = 2 • A redundancia: R = 50% • A kereszthibák zömét fel lehet tárni.
Inverz kód Az elsődleges kódhoz ugyanannyi ellenőrző bitet kapcsolunk, mint amennyi az eredeti kódszóban volt. Ha az elsődleges kódban az egyesek száma páratlan, akkor az ellenőrző bitek változatlanul ismétlik a kódot. 101010 ,akkor 101010 101010 Ha az elsődleges kódban az egyesek száma páros, akkor az ellenőrző bitek az elsődleges inverzét veszik fel. 101110 ,akkor 101110 010001 • A minimális Hamming távolság: D = 4 (Ha az eredeti kódszó minimum 4 bit) A redundancia: R = 50%
Hamming kód A kódszóban többszintű paritásellenőrzést végzünk. A paritásbitek elhelyezkedése meghatározza az értéküket is. Ha az adatátvitel hibás, akkor a paritásbitekhez rendelt érték meghatározza a hibás kódpozíciót. A paritásbitek kettő hatványainak helyére kerülnek.
Hibajavítás
A minimális Hamming távolság: D = 3 A kódrendszer egy hiba javítására képes. Két bit együttes hibájánál a javítás téves eredményt ad. A Hammig távolság növelhető egy vezér paritás bittel, akkor egy hibát javító, és még egyet jelző kódrendszert kapunk.