Hibajavító kódok május 31. Hibajavító kódok 1. 1

Hasonló dokumentumok
Diszkrét matematika 2.C szakirány

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk.

Diszkrét matematika 2.

FELADATOK A BEVEZETŽ FEJEZETEK A MATEMATIKÁBA TÁRGY III. FÉLÉVÉHEZ. ÖSSZEÁLLÍTOTTA: LÁNG CSABÁNÉ ELTE IK Budapest

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy

Lineáris kódok. u esetén u oszlopvektor, u T ( n, k ) május 31. Hibajavító kódok 2. 1

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

KÓDOLÁSTECHNIKA PZH december 18.

Hibajavító kódolás (előadásvázlat, november 14.) Maróti Miklós

Diszkrét matematika 2.C szakirány

Hibadetektáló és javító kódolások

Nagy Gábor compalg.inf.elte.hu/ nagy

Kódelméleti és kriptográai alkalmazások

Diszkrét matematika II. feladatok

Kódoláselmélet. (Humann kód, hibajavító kódok, véges testek konstrukciója. Reed-Solomon kód és dekódolása.)

Lineáris kódok. sorvektor. W q az n dimenziós s altere. 3. tétel. t tel. Legyen K [n,k,d] kód k d (k 1). Ekkor d(k)=w(k)

13. Egy x és egy y hosszúságú sorozat konvolúciójának hossza a. x-y-1 b. x-y c. x+y d. x+y+1 e. egyik sem

Az állítást nem bizonyítjuk, de a létezést a Paley-féle konstrukció mutatja: legyen H a

A kódok típusai Kódolás: adatok megváltoztatása. Dekódolás: a megváltoztatott adatból az eredeti visszanyerése.

Diszkrét matematika 2.C szakirány

1. feladatsor Komplex számok

Alapfogalmak a Diszkrét matematika II. tárgyból

17. előadás: Vektorok a térben

Miller-Rabin prímteszt

Bevezetés az algebrába 2 Lineáris algebra alkalmazásai

Nagy Gábor compalg.inf.elte.hu/ nagy

Hamming-kódnak. Definíci Az 1-hibajav1. nevezzük. F 2 fölötti vektorokkal foglalkozunk. se: zleményszavak hossza A H (r n)

dolás, felbontható kód Prefix kód Blokk kódk Kódfa

Az informatikai biztonság matematikai alapjai HIBAKORLÁTOZÁS

Gonda János KÓDOLÁS ÉS REJTJELEZÉS

Bevezetés az algebrába 2

Diszkrét matematika 2. estis képzés

Kódolás. Informatika alapjai-3 Kódolás 1/9

Funkcionálanalízis. n=1. n=1. x n y n. n=1


Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

DISZKRÉT MATEMATIKA: STRUKTÚRÁK Előadáson mutatott példa: Bércesné Novák Ágnes

ANALÍZIS III. ELMÉLETI KÉRDÉSEK

Aleksziev Rita Antónia Matematika BSc Alkalmazott matematikus szakirány. Golay-kódok

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Diszkrét matematika alapfogalmak

Gy ur uk aprilis 11.

Normák, kondíciószám

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Analízis előadás és gyakorlat vázlat

Hibajavítás, -jelzés. Informatikai rendszerek alapjai. Horváth Árpád november 24.

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

Diszkrét matematika 2. estis képzés

1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b.

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Bevezetés a matematikába (2009. ősz) 1. röpdolgozat

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

1. tétel - Gráfok alapfogalmai

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Adatkapcsolati réteg (Data Link Layer) Számítógépes Hálózatok Az adatkapcsolati réteg lehetséges szolgáltatásai

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait.

Diszkrét matematika II., 8. előadás. Vektorterek

ARCHIMEDES MATEMATIKA VERSENY

3. feladat Hány olyan nél kisebb pozitív egész szám van, amelyben a számjegyek összege 2?

Diszkrét matematika gyakorlat 1. ZH október 10. α csoport

Diszkrét matematika 2. estis képzés

Algoritmuselmélet 18. előadás

Számítógépes Hálózatok 2013

Számítógépes Hálózatok ősz Adatkapcsolati réteg Hibafelismerés és javítás, Hamming távolság, blokk kódok

Diszkrét matematika 2.

3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa

VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok

H=0 H=1. Legyen m pozitív egészre {a 1, a 2,, a m } különböző üzenetek halmaza. Ha az a i üzenetet k i -szer fordul elő az adásban,

Számítógépes Hálózatok

Formális nyelvek és automaták

Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:

Jel, adat, információ

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

AST_v3\

Diszkrét matematika 2.C szakirány

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Algebra es sz amelm elet 3 el oad as Nevezetes sz amelm eleti probl em ak Waldhauser Tam as 2014 oszi f el ev

Matematika alapjai; Feladatok

Metrikus terek, többváltozós függvények

Hálózati folyamok. A használt fogalmak definiálása

Felügyelt önálló tanulás - Analízis III.

Diszkrét matematika II. feladatok

SHk rövidítéssel fogunk hivatkozni.


Diszkrét matematika 1. estis képzés

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Szakács Lili Kata megoldása

Vektorterek. =a gyakorlatokon megoldásra ajánlott

Mohó algoritmusok. Példa:

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

A gyakorlati jegy

Matematika (mesterképzés)

1. Homogén lineáris egyenletrendszer megoldástere

Diszkrét matematika 2.C szakirány

1. Mátrixösszeadás és skalárral szorzás

26.B 26.B. Analóg és digitális mennyiségek jellemzıi

Átírás:

Hibajavító kódok 2007. május 31. Hibajavító kódok 1. 1

Témavázlat Hibajavító kódolás Blokk-kódok o Hamming-távolság, Hamming-súly o csoportkód o S n -beli u középpontú t sugarú gömb o hibajelzı képesség o minimális távolságú dekódolás o hibajavító képesség o Hamming-korlát, tökéletes kód Lineáris kódok o Generátor- és paritásellenörzı mátrix o Kódolás lineáris kóddal o Singleton-korlát, maximális távolságú kód o Hamming-kód o BCH-kód o Polinomkódok Irodalomjegyzék 2007. május 31. Hibajavító kódok 1. 2

Hibajavító kódolás A csatornán áthaladó jelsorozat szükségszerően idınként meghibásodik. Hibajavító kódolás esetén a szükségesnél több jelet rendelünk hozzá az üzenetekhez, és ez a redundancia teszi lehetıvé, hogy felismerhessük, ha hiba történik, illetve a keletkezı hibát kijavíthassuk. A hibafelismerés, illetve a hibajavítás mindig csak bizonyos számú hibáig mőködik helyesen. Definíció: K blokk-kód, ha A, S véges halmazok, f: A S* injektív leképezés, K=f(A) S n. K elemei a kódszavak. 2007. május 31. Hibajavító kódok 1. 3

1. példa Az üzenetek bináris jelsorozatok, az S={0,1} halmaz elemeibıl épülnek fel. Rendeljünk hozzá a kettı hosszú üzenetekhez öt hosszú kódokat a következı szabály szerint. (0 0) (0 0 0 0 0) (0 1) (0 1 1 1 0) (1 0) (1 0 1 0 1) (1 1) (1 1 0 1 1) Négy elembıl álló blokk-kód. Ha a csatornán a (0 1 0 0 0) jelsorozat érkezik, tudjuk, hogy hiba történt, hiszen ez a szó nem szerepel a kódszavak között. 2007. május 31. Hibajavító kódok 1. 4

Az n hosszú jelsorozatok halmazán távolságot definiálunk. Definíció. S véges halmaz, u, v S n, K S n. u és v Hamming távolsága u és v különbözı komponenseinek a száma. d(u,v)= {i 1 i n, u i v i }. Legyen az elıbbiek mellett még K 2. K (minimális) távolsága az egymáshoz legközelebbi két kódszónak a távolsága. d(k)=min{d(u,v) u,v K, u v}. Blokk-kód jelölése: (n, M), vagy (n, M) s illetve (n, M, d) s, ahol M= K és d=d(k). A továbbiakban kizárólag blokk-kódokkal foglalkozunk. 2007. május 31. Hibajavító kódok 1. 5

Tétel. A Hamming-távolság metrika az S n halmazon: bármely két S n -beli vektornak létezik Hamming-távolsága, egy valós szám, amely kielégíti az alábbi három tulajdonságot: 1. d(u,v) 0, és d(u,v)=0 u=v. 2. d(u,v)=d(v,u). 3. d(u,v) d(u,w)+d(w,v). (Háromszög-egyenlıtlenség.) Definíció. Legyen S Abel csoport és 0={0,...,0}, ahol 0 az S egységeleme. u S n Hamming súlya az u nem nulla komponenseinek a száma. w(u)= {i 1 i n, u i 0}. Ha K-nak van eleme a 0 -n kívül, akkor K (minimális) súlya a nem nulla elemei közül a minimális súlyúnak a súlya. w(k)=min{w(u) u K, u 0}. 2007. május 31. Hibajavító kódok 1. 6

2. példa. (0 0) (0 0 0 0 0) (0 1) (0 1 1 1 0) (1 0) (1 0 1 0 1) (1 1) (1 1 0 1 1) Az u=(0 1 1 1 0) és v=(1 0 1 0 1) kódszavak távolsága d(u,v)=4 A kód távolsága: 3 A z=(1 1 0 1 1) sorozat súlya: w(z)=4 A kód súlya: 3 2007. május 31. Hibajavító kódok 1. 7

Definíció. Legyen K blokk-kód. K csoportkód, ha S Abel-csoport és K S n (K részcsoport S n -ben, a mővelet a komponensenként végzett S-beli mővelet.) 2007. május 31. Hibajavító kódok 1. 8

3. példa. Az 1. példa S halmaza legyen F 2 a kételemő test. (0 0) (0 0 0 0 0) (0 1) (0 1 1 1 0) (1 0) (1 0 1 0 1) (1 1) (1 1 0 1 1) F 2 az összeadásra csoportot alkot. Az F 2 elemeibıl készített n hosszú vektorok is csoportot alkotnak az elemenkénti összeadásra nézve. A K kódhalmaz részcsoport S n -ben, így K csoportkód: bármely két kódszó különbsége is kódszó. F 2 -ben 1= -1, ezért elegendı azt megvizsgálnunk, hogy bármely két kódszó összege is kódszó-e. 2007. május 31. Hibajavító kódok 1. 9

Definíció. Legyen S véges halmaz, n N +, t N, u S n. Az S n -beli u középpontú t sugarú gömb azokat a sorozatokat tartalmazza S n -bıl, amelyek u-tól legfeljebb t távolságra vannak. C t (u)={v v S n, d(u,v) t}. 2007. május 31. Hibajavító kódok 1. 10

4. példa. Legyen K az 1. példabeli kód, u=(0 0 0 0 0), t=1. Az u körüli 1 sugarú gömbben a következı sorozatok vannak. ( 0 0 0 0 0) ( 1 0 0 0 0) ( 0 1 0 0 0) ( 0 0 1 0 0) ( 0 0 0 1 0) ( 0 0 0 0 1) Figyeljük meg, hogy nincs a gömb elemei között a (0 0 0 0 0)-t leszámítva kódszó, ami összhangban van azzal, hogy a kód távolsága nagyobb 1-nél (3). 2007. május 31. Hibajavító kódok 1. 11

Definíció. Egy kód t-hiba jelzı, ha tetszıleges üzenetben elıforduló legfeljebb t számú hibát képes jelezni, pontosan t-hiba jelzı, ha t-hiba jelzı, de van olyan t+1 hiba, amit nem jelez. Egy kód t-hiba javító, ha tetszıleges üzenetben elıforduló legfeljebb t számú hibát képes javítani, pontosan t-hiba javító, ha t-hiba javító, de van olyan t+1 hiba, amit hibásan javít. Minimális távolságú dekódolásról beszélünk, ha minden S n -beli szóhoz a hozzá legközelebb esı (egyik) kódszót választjuk. A minimális távolságú dekódolás nem mindig a leghelyesebb stratégia. Ez a helyzet például, ha a minimális távolság nagyon nagy. 2007. május 31. Hibajavító kódok 1. 12

5. példa. Az 1. példa kódját alkalmazva tegyük fel, hogy a (0 1 0 0 0) hibás jelsorozat érkezik. Minimális távolságú dekódolás esetén a hozzá legközelebbi kódszót, a (0 0 0 0 0) szót választjuk helyette. 2007. május 31. Hibajavító kódok 1. 13

4. tétel. Legyen K blokk-kód, tehát K S n, és d(k)=d. A kód akkor és csak akkor t-hiba jelzı, ha t<d, pontosan t-hiba jelzı, ha t=d-1. Minimális távolságú dekódolás esetén a d távolságú kód t-hiba javító, ha 1 pontosan t-hiba javító, ha Bizonyítás. t d 2 t = d 2 Ha t<d, és t helyen romlik el valamelyik kódszó, nem kapunk másik kódszót, s így fel tudjuk ismerni, hogy hiba történt, tehát a kód minden t-hibát tud jelezni. Ha azonban d helyen történt hiba, elıfordulhat, hogy egy kódszó másik kódszóba megy át, s így nem érzékeljük, hogy hiba történt. 2007. május 31. Hibajavító kódok 1. 14 1

Ha t 1 d 2 és legfeljebb t helyen romlott el valamelyik kódszó, akkor a hibás szó az eredetihez van legközelebb a kódszavak közül, tehát minimális távolságú dekódolásnál a hibát helyesen javítjuk. Ha azonban a hibák száma > d 1 2 akkor elıfordulhat, hogy az elromlott szó az eredetitıl különbözı más kódszóhoz kerül közelebb, vagy több kódszótól is ugyanolyan távolságra van, és így minimális távolságú dekódolásnál a hibát rosszul javítjuk. 2007. május 31. Hibajavító kódok 1. 15

6. példa. Legyen S=F 2 a közleményszavak pedig k hosszú sorozatok. Állapítsuk meg az alábbi kódok minimális távolságát, hibajelzıés hibajavító képességét. Kétszeri ismétlés kódja. A kódszót megkapjuk, ha a közleményszót kétszer egymás után leírjuk közleményszó: (α 1 α 2 α k ) kódszó: (α 1 α 2 α k α 1 α 2 α k ) A kódszavak n=2k hosszúak. Az n hosszú bináris szavak közül azok a kódszavak, amelyekre az i-edik és k+i-edik elem megegyezik minden 1 i k esetén. A kód távolsága d=2, 1-hibajelzı, hiba javítására nem alkalmas. (Bizonyos 2-hibák nem derülnek ki, pl. ha az elsı és a k+1-edik jegy hibás) 2007. május 31. Hibajavító kódok 1. 16

Háromszori ismétlés kódja. A kódszót megkapjuk, ha a közleményszót háromszor írjuk egymás után közleményszó: (α 1 α 2 α k ) kódszó: (α 1 α 2 α k α 1 α 2 α k α 1 α 2 α k ) A kódszavak n=3k hosszúak. Az n hosszú bináris szavak közül azok a kódszavak, amelyekre az i-edik, k+i-edik és 2k+i-edik elem megegyezik minden 1 i k esetén. A kód távolsága d=3, 2-hibajelzı, 1-hiba javító. 2007. május 31. Hibajavító kódok 1. 17

Paritásvizsgálat kódja. A kódszót megkapjuk, ha a közleményszó végére az elemek összegét írjuk. közleményszó: (α 1 α 2 α k ) kódszó: α 1 α 2 α k β β k α i i = 1 A közleményszó végére a kódba 1 vagy 0 kerül aszerint, hogy a közleményszó jegyeinek az összege páratlan vagy páros volt. A kódszavak n=k+1 hosszúak. Az n hosszú bináris szavak közül azok a kódszavak, amelyek páros sok 1-est tartalmaznak. A kód távolsága d=2, 1-hibajelzı, hiba javítására nem alkalmas. Az 1. és 3. kód hibajelzı és hibajavító képessége megegyezik, ugyanakkor az 1. kód hossza k értékével sokkal gyorsabban nı, mint a 3. kód hossza, tehát a 3. alkalmazása gazdaságosabb. 2007. május 31. Hibajavító kódok 1. 18 =

5. tétel.(hamming-korlát) t-hiba javító (n, M, d) S kód esetén (s= S ): M t n 1 i i = 0 ( s ) Bizonyítás. S n -ben egy adott kódszótól i távolságra azok a szavak vannak, amelyek pontosan i helyen különböznek tıle. Az i különbözı n helyet -féleképpen választhatjuk ki, mindegyik helyre (s 1) i i jel kerülhet. t n i Az adott kódszó körüli t sugarú gömbben ( s 1) i S n i = 0 -beli szó található, beleértve magát a kódszót is. M kódszavunk van. A kód t-hiba javító, ezért az M különbözı kódszó körüli t- sugarú gömbök diszjunktak kell legyenek. Összesen nem tartalmazhatnak több elemet, mint az S n halmaz, vagyis s n -et. i s n 2007. május 31. Hibajavító kódok 1. 19

Definíció. Az (n, M, d) S kód tökéletes (perfekt), ha a Hamming-korlát egyenlıséggel teljesül. 2007. május 31. Hibajavító kódok 1. 20

7. példa. Állapítsuk meg, hogy van-e 5 minimális távolságú 13 hosszú perfekt bináris kód? d 1 = 2 n=13, d=6, és így a kód t=2-hibajavító. 2 Ha a közleményszavak k hosszúak, akkor a közleményszavak száma 2 k, ami megegyezik a kódszavak számával, M= 2 k. Ha a kód perfekt, akkor a Hamming-korlát egyenlıséggel teljesül: 13 13 13 2 k = 2 13 12 13 + + 0 1 2 2 k 13 1 + 13 + = 2 2 k 2 92 = A jobb oldalon 2 hatványa áll, a bal oldalon szereplı 92 azonban nem 2 hatványa, ez az egyenlıség nem teljesülhet semmilyen k esetén. Ezért ilyen kód nem létezik 2 13 2007. május 31. Hibajavító kódok 1. 21