300 likes | 462 Views
Kan álové kódovanie. (Zabezpečovacie kódy). Zabezpečovacie kódy. v prenosovom reťazci – kanálový kóder detekcia chýb ( schopnosť zistiť, že nastala chyba ) korekcia chýb ( zistiť kde nastala chyba ) pridávanie kontrolných bitov = zvyšovanie redundancie
E N D
Kanálové kódovanie (Zabezpečovacie kódy)
Zabezpečovacie kódy • v prenosovom reťazci – kanálový kóder • detekcia chýb (schopnosť zistiť, že nastala chyba) • korekcia chýb (zistiť kde nastala chyba) • pridávanie kontrolných bitov = zvyšovanie redundancie • najznámejšia forma zabezpečenia – paritný bit • párna parita - počet jednotiek v slove párny 0101001|11000100|0 • 2 základné skupiny • blokové kódy • konvolučné kódy
k n-k ... n Blokové kódy • dáta sú kódované po blokoch pevnej dĺžky, označujú sa (n,k) n>k • k – počet informačných bitov, ktoré zabezpečujeme • n-k = r – počet kontrolných bitov • n – kódové slovo blokového kódu • zabezpečovacie bity sú odvodené od informačných bitov podľa definovaného algebraického vzťahu • R = k/n – informačný (kódový) pomer, snaha je aby bol čo najväčší • prenosová rýchlosť dát na výstupe kanálového kódera je o n/k vyššia ako na vstupe tzv. systematický bl. kód
Blokové kódy • Príklad: blokový kód (4,2) • Hammingova vzdialenosť 2 slov d(vi,vj) – počet bitov v ktorých sa líšia • Hammingova váha slova w(vi) – počet nenulových bitov slova • min. H. vzdialenosť kódu dmin – min. vzdialenosť zo všetkých dvojíc slov prenosová rýchlosť sa zvýši dvojnásobne!!! Modulo 2 aritmetika Platí: d(vi,vj)=w(vi+vj) 1001 +1111 0110 -> w(0110)= 2 = d(vi+vj)
Blokové kódy • ak sa zmení jeden bit, dostaneme slovo mimo kódu • kód dokáže identifikovať všetky jednoduché chyby ... • a niekoľko viacnásobných chýb (napr. 1100) • nedokáže jednoznačne zistiť kde došlo k chybe • prijaté:1101 – vyslané: 1001 alebo 1111?
Blokové kódy • schopnosť kódu detekovať resp. opravovať chyby závisí od dmin • kód je schopný detekovať všetky t– násobné chyby ak platí: dmin≥ t +1 • kód je schopný jednoznačne opraviť všetky t – násobné chyby ak platí: dmin≥ 2t +1 • jednoduchá detekcia: • prijaté slovo sa porovná so všetkými kódovými slovami (ak nie je zhoda -> chyba) • jednoduchá korekcia: • ak platí ↑ podmienka a nastala t - násobná chyba, prijaté slovo sa nahradí kódovým slovom od ktorého min. vzdialenosť • musí byť splnená ↑ podmienka aby bolo vždy len jedno • Pozn.: paritný kód je blokový kód (n,n-1) s dmin=2, t.j. umožňuje odhaliť chybu v 1 bite
Lineárne blokové kódy • vlastnosť linearity: súčet dvoch kódových slov je ďalšie kódové slovo daného kódu • uvažujme kódové slovo daného kódu ako n-prvkový vektor (systematický kód) • v=[a1,a2, …, ak, c1, c2…cn-k],v=[ac], a=[a1,a2, …, ak], c=[c1, c2,…, cn-k] • kontrolné bity získame lineárnou kombináciou informačných bitov ci=p1ia1 + p2ia2 + ... +pkiaki=<1,n-k>pij=1 ak ci závisí od aj, inak pij=0 c=a PkdeP je matica koeficientov rozmeru k x (n-k) v=[ac] -> v = [a(a P)] = a[Ik P]kde Ik je jednotková matica rozmeru k • G = [Ik P] je tzv. generečná matica kódu • násobením vektora informačných bitov s generačnou maticou dostaneme kódové slovo v = aG
Lineárne blokové kódy • uvažujme generačnú maticu • riadky generačnej matice tvoria bázové vektory lineárneho vektorového priestoru daného kódu • každé kódové slovo je lineárnou kombináciu bázových vektorov (viď. 3. stĺpec tabuľky) • u lineárneho kódu je dmin daná min. váhou nenulového slova (dmin=2 pre ↑)
Lineárne blokové kódy • na detekciu chyby sa používa tzv. kontrolná maticaH, pre ktorú platí: v.HT = 0 ak v je kódové slovo daného kódu, inak ≠ 0 • v = aG -> aGHT = 0 , a je vo všeobecnosti nenulový, t.j. musí platiť GHT = 0 • čo v prípade systematického kódu s • platí ak je kontrolná matica v tvare • Príklad: kód (6,3)
Lineárne blokové kódy • korekcia chyby pomocou štandardného dekódovania • prijaté kódove slovo: w = v + e (e – chybovývektor) • vi – kódové slová, ej – chybové vektory (obsahujú 1 na pozícii chybného bitu) • ak je prijaté bezchybné slovo bude sa nachádzať v prvom riadku • ak vznikla chyba slovo sa ocitne v riadku ktorý začína príslušným chybovým vektorom • správne slovo je potom prvá slovo stĺpca v ktorom sa ocitne chybné slovo
Lineárne blokové kódy • Príklad: majme kód (6,3) s kódovými slovami viď prvý riadok • prvý stĺpec chybové vektory • daný kód dokáže okrem jednoduchej chyby opraviť aj jednu dvojitú (posl. riadok) • tabuľka má 26 = 64 prvkov
Lineárne blokové kódy • korekcia chyby pomocou syndrómu • prijaté slovo w = v + e • syndróm je definovaný: s = w HTs je rozmeru 1x r • platí • syndróm závisí len od chybového vektora • podľa porovnania so syndrómami chybových vektorov nájdeme chybný bit • ak s = 0 nedošlo k chybe 0
Lineárne blokové kódy(Hammingove) • špeciálny typ – tzv. Hammingove kódy, pre ktoré platí n = 2r-1 (r = n-k) • platí to napr. pre kód (7,4) s kontrolnou maticou (nesystematický kód) • podmienka: stĺpce matice sú všetky nenulové syndrómy dĺžky 3 bity • pre syndrómy chybových vektorov platí: s(1000000) = 001 s(0100000) = 010 ... s(0000001) = 111 • systematický kód je možné získať preusporiadaním stĺpcov, vtedy je syndróm rovný poradovému číslu stĺpca syndróm vyjadruje v binárnom tvare v ktorom bite nastala chyba
Lineárne blokové kódy(Hammingove) • Hammingov kód (7,4) v nesystematickom prevedení je vyjadrený: v =ci – kontrolné bity, ai – informačné bity • musí platiť v.HT=0 - vlastnosť kontrolnej matice • teda: v modulo2 aritmetike platí: +1 = -1
Lineárne blokové kódy(Hammingove) • Hammingov kód (7,4) v nesystematickom – realizácia kódera
Lineárne blokové kódy(Hammingove) • Hammingov kód (7,4) v nesystematickom – realizácia dekódera
Lineárne blokové kódy(Hammingove) • Hammingov kód je tzv. perfektný kód podľa definície:
Lineárne blokové kódy(cyklické) • zvláštnu skupinu lineárnych blokových kódov tvoria tzv.cyklické kódy
Lineárne blokové kódy(cyklické) • Inými slovami cyklický kód nemôžeme zostaviť pre ľubovoľné hodnoty n a k • v tabuľke sú uvedené všetky polynómy, ktoré delia bez zvyšku x7-1 • je zrejmé, že sa nedá zostrojiť cyklický kód (7,2), resp. (7,5)
Lineárne blokové kódy(cyklické) Dá sa dokázať, že Hammingov (7,4) kód má vlastnosti cyklického kódu
Lineárne blokové kódy(cyklické) Výhoda cyklických kódov – pomerne jednoduchá realizácia pomocou posuvných registrov
Ďakujem za pozornosť Použitý zdroj informácií: http://user.unob.cz/biolek/vyukaVUT/skripta/DKO.pdf