kan álové kódovanie

28
Kanálové kódovanie (Zabezpečovacie kódy)

Upload: long

Post on 23-Jan-2016

43 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kan álové kódovanie

Kanálové kódovanie(Zabezpečovacie kódy)

Page 2: Kan álové kódovanie

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

Page 3: Kan álové kódovanie

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

Page 4: Kan álové kódovanie

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!!!

Page 5: Kan álové kódovanie

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?

Page 6: Kan álové kódovanie

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

Page 7: Kan álové kódovanie

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

Page 8: Kan álové kódovanie

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 ↑)

Page 9: Kan álové kódovanie

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)

Page 10: Kan álové kódovanie

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

Page 11: Kan álové kódovanie

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

Page 12: Kan álové kódovanie

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

Page 13: Kan álové kódovanie

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

Page 14: Kan álové kódovanie

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

Page 15: Kan álové kódovanie

Lineárne blokové kódy (Hammingove)

• Hammingov kód (7,4) v nesystematickom – realizácia kódera

Page 16: Kan álové kódovanie

Lineárne blokové kódy (Hammingove)

• Hammingov kód (7,4) v nesystematickom – realizácia dekódera

Page 17: Kan álové kódovanie

Lineárne blokové kódy (Hammingove)

• Hammingov kód je tzv. perfektný kód podľa definície:

Page 18: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

• zvláštnu skupinu lineárnych blokových kódov tvoria tzv. cyklické kódy

Page 19: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

Page 20: Kan álové kódovanie

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)

Page 21: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

Page 22: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

Page 23: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

Dá sa dokázať, že Hammingov (7,4) kód má vlastnosti cyklického kódu

Page 24: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

Page 25: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

Page 26: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

Page 27: Kan álové kódovanie

Lineárne blokové kódy (cyklické)

Výhoda cyklických kódov – pomerne jednoduchá realizácia pomocou posuvných registrov

Page 28: Kan álové kódovanie

Ďakujem za pozornosť

Použitý zdroj informácií:

http://user.unob.cz/biolek/vyukaVUT/skripta/DKO.pdf