Info alapfogalmak és kódolás
Feb 25, 2016
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: D = e + 1 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.