Kódelmélet.

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

I. előadás.
KÉSZÍTETTE: Takács Sándor
Az információ átviteli eljárásai és azok gyakorlata
Info alapfogalmak és kódolás
Információ, adat, kommunikáció
Számítógépes hálózatok
Informatikai alapfogalmak
Az információszerzés.
Információ és közlemény
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Készítette: Mester Tamás METRABI.ELTE.  Egy bemeneten kapott szöveg(karakter sorozat) méretét csökkenteni, minél kisebb méretűre minél hatékonyabb algoritmussal.
Halmazok, műveletek halmazokkal
Valószínűségszámítás
I. Adott egy lineáris bináris kód a következő generátormátrixszal
Sándor Laki (C) Számítógépes hálózatok I. 1 Számítógépes hálózatok 3.gyakorlat Fizikai réteg Kódolások, moduláció, CDMA Laki Sándor
1.
Indexelés Célok: gyors lekérdezés, gyors adatmódosítás,
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Algoritmus és adatszerkezet Tavaszi félév Tóth Norbert1.
Edényrendezés Adott az alábbi rendezetlen sorozat melyen elvégezzük a Radix eljárást:
Sztringek.
Informatikai alapfogalmak
Hálózati ismeretek 4 Az adatkapcsolati réteg
Közlekedésstatisztika
A digitális számítás elmélete
Valószínűségszámítás
Lineáris algebra Mátrixok, determinánsok, lineáris egyenletrendszerek
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Edényrendezés - RADIX „vissza” - bináris számokra
Huffman Kódolás.
Számítógépes Hálózatok
Adattovábbító csatorna
TÖRTÉNETI ÁTTEKINTÉS TÁVIRATOZÁS A TÁVBESZÉLÉS KEZDETEI
*** HALMAZOK *** A HALMAZ ÉS MEGADÁSA A HALMAZ FOGALMA
Az információ-technológia alapfogalmai
Statisztika.
Boole-algebra (formális logika).
Adatábrázolás, kódrendszerek
I276 Antal János Benjamin 12. osztály Nyíregyháza, Széchenyi I. Közg. Szki. Huffman kódolás.
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
Jelek, jelrendszerek.
Információelmélet 1. Előadás Dr. Nagy Szilvia Széchenyi István Egyetem Győr, 2006 tavaszi félév.
Az informatika alapjai
I. előadás.
Információ- és hírközléselmélet '991 Információ- és Hírközléselmélet Vassányi István, Információelmélet –forráskódolás –csatornakódolás.

Nagy Szilvia 13. Konvolúciós kódolás
2005. Információelmélet Nagy Szilvia 3. Forráskódolási módszerek.
A MATEMATIKA FELÉPÍTÉSÉNEK ELEMEI
Kommunikációs Rendszerek
GRÁFOK Definíció: Gráfnak nevezzük véges vagy megszámlálhatóan végtelen sok pont és azokat összekötő szintén véges vagy megszámlálhatóan végtelen sok.
Valószínűségszámítás II.
Többdimenziós valószínűségi eloszlások
Nagy Szilvia 7. Lineáris blokk-kódok
2005. Információelmélet Nagy Szilvia 2. A forráskódolás elmélete.
Nagy Szilvia 6. Forráskódolás alapjai
2005. Információelmélet Nagy Szilvia 12. A hibacsomók elleni védekezés.
Hibajavító kódok.
Edényrendezés PINTÉR LÁSZLÓ – FZGAF Adott az alábbi rendezetlen sorozat, melyen elvégezzük a Radix eljárást:
2005. Információelmélet Nagy Szilvia 14. Viterbi-algoritmus.
Nagy Szilvia 6. Csatornakódolás
Nagy Szilvia 2. Lineáris blokk-kódok II.
2005. Információelmélet Nagy Szilvia 1. Az információelmélet alapfogalmai 2. A forráskódolás elmélete 3. Forráskódolási módszerek.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Integrálszámítás.
Adattovábbító csatorna
Algoritmusok és Adatszerkezetek I.
Előadás másolata:

Kódelmélet

Az információ fogalma és tulajdonságai Az információ az adatoknak az a része, amelynek számunkra újdonság tartalma van. Az információ tulajdonságai: Nem szükségszerűen változik az információt hordozó jelek számával. Kétszer adott közleménynek nincs kétszeres értéke. Egyidejűleg több egyed részére adott információból mindenki ugyanannyi információt nyerhet – az információ nem osztódik. Adott közlemény különböző jelekkel is rögzíthető. Azonos jelek különböző összefüggésben mást jelenthetnek.

Információs csatorna Az adó tevékenysége: A vevő tevékenysége: A hírek, közlemények kialakítása (Többnyire valamilyen A = {a1, a2, …, an} kimeneti ábécé jeleit küldi ki) A közlemények átalakítása a rendelkezésre álló csatorna igényei szerint - kódolás (Rendszerint kétféle jel továbbítására alkalmas: 0,1 - bináris csatorna) A vevő tevékenysége: A közlemények átalakítása a felhasználó igényei szerint - dekódolás A hírek, közlemények felhasználása

Kódolás - dekódolás Definíció: Legyen A = {a1, a2, …, an} tetszőleges kimeneti ábécé és legyen K = {α1, α 2, …, α n} véges hosszúságú bináris sorozatok. Rendeljük hozzá ai  A betűk mindegyikéhez a K halmaz egy-egy αi elemét úgy, hogy különböző betűkhöz különböző bináris sorozatok tartozzanak. A kódolásnak ezt a formáját betű szerinti kódolásnak nevezzük. A K halmazt kódnak, az α1, α 2, …, α n elemeket kódszavaknak, ezek tetszőleges sorozatát kódolt közlésnek nevezzük. 1. Példa: A:= {a, b, c,d} , K = {00, 01, 100, 101} Ekkor „dac” szó kódja: 10100100

Definíció: A K = {α1, α 2, …, α n} kódot felbonthatónak nevezzük, ha tetszőleges bináris sorozat legfeljebb egyféleképpen bontható kódszavak sorozatára. 2. Példa: A:= {a, b, c,d} , K = {00, 01, 11, 0001} Ez a kód nem felbontható, mert pl. az „ab” és a „d” szavaknak ugyanaz a kód felel meg. A K = {α1, α 2, …, α n} kódot prefix kódnak nevezzük, ha egyetlen kódszó sem valódi kezdőszelete (prefixuma) egy másik kódszónak. Az 1. Példában leírt kód prefix kód. A 2. Példában leírt kód nem prefix kód, mert „00” prefixuma „0001”-nek. Tétel: Minden prefix kód felbontható.

Optimális kódok Cél: A legrövidebb kódolt szöveg elérése. Módszer: A leggyakrabban előforduló betűkhöz rendeljük a legrövidebb kódszavakat, a ritkábban előfordulókhoz a hosszabb kódszavakat. Legyen F egy jelforrás, amelyik az A = {a1, a2, …, an} ábécé betűit véletlenszerűen bocsátja ki és legyen pi annak a valószínűsége, hogy az F által kibocsátott jel ai . (Ekkor pi > 0 és p1+p2+…+pn = 1) Legyen ai kódja αi és legyen αi hossza li. Mivel ai egy M hosszú jelsorozatban átlagosan pi M –szer fordul elő, ezért a hozzá tartozó átlagos összkódhossz: li pi M. Az M hosszú jelsorozatot kódoló kódolt közlés átlagos összhossza tehát: l1 p1 M + l2 p2 M +…+ ln pn M. Cél ennek a hossznak, azaz l1 p1 + l2 p2 +…+ ln pn összegnek csökkentése. Definíció: Az L(K) := l1 p1 + l2 p2 +…+ ln pn összeget a K kód F forrás melletti költségének nevezzük.

Definíció: A KO felbontható kódot az F jelforrásra nézve optimálisnak mondjuk, ha tetszőleges K felbontható kódnak az F mellett számított L(K) költsége nem kisebb L(KO)-nál. Az optimális kódok tehát a kódolt közlések átlagos hosszát minimalizálják. Tétel: Tetszőleges F jelforráshoz létezik optimális prefix kód. A H(F) := - p1 log2 p1 - p2 log2 p2 -… - pn log2 pn számot az F forrás entrópiájának nevezzük. Tétel (Shannon tétele zajmentes csatornákra): Egy F jelforráshoz tartozó tetszőleges K felbontható kódra L(K) ≥ H(F), azaz teszőleges kód költsége nagyobb vagy egyenlő, mint a forrás entrópiája. Egy F jelforráshoz tartozó KO optimális kód költségére teljesül, hogy L(KO) ≤ H(F)+1, azaz az optimális kód költsége kisebb vagy egyenlő, mint a forrás entrópiája +1. Megjegyzés: Az optimális kódra: H(F) ≤ L(KO) ≤ H(F)+1

Optimális kód Huffmann-féle konstrukciója

Hibajavító kódolás A továbbiakban bináris, állandó hosszúságú kódokkal foglalkozunk. (Ezek a kódok prefixek.) Definíció: A kódszavakat blokkoknak, a kódszavak hosszát blokkméretnek nevezzük. Legyen a K = {α1, α 2, …, α n} kódhoz tartozó blokkméret n, és legyen t ≤n tetszőleges. Az információs csatorna legfeljebb t egyedi hibát okoz, ha a csatorna alapzajának hatására tetszőleges blokkban legfeljebb t jel értéke változik meg. Példa: n=3, t=1: 001  011, 001  101

Példa: 1 hibát felismerő kód: a kódszavak első és második fele megegyezik. Üzenet: 010010 Vevőhöz érkezett: 010010 Helyes üzenet. Üzenet: 010010 Vevőhöz érkezett: 010011 Hibás üzenet. 1 hibát javító kód: a kódszavak első, második és harmadik harmada megegyezik. Üzenet: 010 010 010 Vevőhöz érkezett: 010 110 010 Hibás üzenet. Üzenet: 010 010 010 Vevőhöz érkezett: 010 010 110 Hibás üzenet. A két azonos sorozatot tekintjük helyesnek. Definíció: Legyen K = {α1, α 2, …, α m} kód, melyben a kódszavak száma m, a blokkméret n. Ekkor a kód sűrűsége = log2m / n, azaz az m jelhez szükséges legrövidebb blokkméret és a tényleges blokkméret aránya. 1 hibát felismerő kód sűrűsége: log2(2n/2) / n = 1/2, 1 hibát javító kód sűrűsége: log2(2n/3) / n = 1/3.

Definíció: Az α és β kódszavak Hamming-távolsága ( ρ(α,β) ) azon pozíciók száma, ahol a kódszavak eltérnek egymástól. Példa: α:= 001, β:=111. Ekkor ρ(α,β) = 2. α:= 1001, β:=0000. Ekkor ρ(α,β) = 2. Tetszőleges K kódra kódtávolságnak nevezzük ( d(K) ) a különböző K-beli szavak egymás közti távolságának minimumát. 1 hibát felismerő kód kódtávolsága: 2, 1 hibát javító kód kódtávolsága : 3. Tétel: Tetszőleges K kód pontosan akkor alkalmas t darab hiba felismerésére, ha d(K) ≥ t+1. Tetszőleges K kód pontosan akkor alkalmas t darab hiba javítására, ha d(K) ≥ 2t+1.

Hibavédelmi kódok Paritásellenőrző kód: Blokkonként az 1-esek száma páros (vagy páratlan) kell, hogy legyen. (Ezt a blokk utolsó bitje, a paritás bit biztosítja.) Kódtávolsága 2, így 1 hiba felismerésére alkalmas. Sűrűsége: log2(2n-1) / n = (n-1)/n = 1-1/n, igen magas. (A gyakorlatban n = 5 ~ 8) Hibajavításra nem alkalmas. Példa: Páratlan paritás: Elsődleges kód: Paritásbit: Végleges kód: 11010 1 110101 10010 0 100100

Hamming-kód: Több paritásbitet helyezünk el a kódszóban, a 2 egész hatványainak helyén, azaz az 1., 2., 4., 8., stb. helyeken. Kódtávolsága 3, így 1 hiba javítására alkalmas. Pozíciók   1 2 3 4 5 6 7 Paritásbitek P * Paritásszintek P1 + P2 P4 A * -gal jelölt helyre kerül az elsődleges kód. A + -szal jelölt helyek az ellenőrzésbe bevonandó pozíciók.

1010 kódszó Hamming-kódja páratlan paritással: Példa: 1010 kódszó Hamming-kódja páratlan paritással: Pozíciók   1 2 3 4 5 6 7 Paritásbitek P Paritásszintek P1 P2 P4 Kód Tehát a kapott kód: 0110010

Hibajavítás 0110110 hibás kód érkezése esetén: Pozíciók   1 2 3 4 5 6 7 Paritásbitek Paritásszintek P1 Hibás paritás P2 Helyes paritás P4 Hibás kódpozíció: 1 + 4 = 5.