Kan álové kódovanie
description
Transcript of Kan álové kódovanie
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| 1 1000100| 0
• 2 základné skupiny
– blokové kódy
– konvolučné kódy
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
n
k n-k
... 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
Modulo 2 aritmetika
Platí: d(vi,vj)=w(vi+vj)
1001+1111 0110 -> w(0110)= 2 = d(vi+vj)
prenosová rýchlosť sa zvýši dvojnásobne!!!
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=[a c], a=[a1,a2, …, ak], c=[c1, c2,…, cn-k]
• kontrolné bity získame lineárnou kombináciou informačných bitov
ci=p1ia1 + p2ia2 + ... +pkiak i=<1,n-k> pij=1 ak ci závisí od aj, inak pij=0
c = a P kde P je matica koeficientov rozmeru k x (n-k)
v=[a c] -> 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 = a G
knknk
kn
pp
pp
P
...
.........
...
1
111
1,0ijp
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á matica H, 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
v1=0 v2 ... vi ... v2k
e1 v2+e1 ... vi+e1 ... v2k+e1
...
...
...
...
...
...
ej v2+ej ... v3+ej ... v2k+ej
...
...
...
...
...
...
e2n-k-1 v2+e2
n-k-1 vi+e2n-k-1 v2
k + e2n-k-1
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 HT s 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
e1 e2 ... en-k
s1 s2 ... sn-k
TTTT eHeHvHHevs
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 tvarev 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é)
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é)
Lineárne blokové kódy (cyklické)
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é)
Lineárne blokové kódy (cyklické)
Lineárne blokové kódy (cyklické)
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