KSMK09_12 Informacija Hamming

download KSMK09_12 Informacija Hamming

of 29

Transcript of KSMK09_12 Informacija Hamming

Komunikacijski sustavi i mree5. Sustavi5.6. Sigurnosno kodiranjeDr. sc. Predrag Valoi

14.5.2009

KSM_K_2009

1

Model telekomunikacijskog sustava

X

Y

X, Y digitalne, binarne poruke14.5.2009 KSM_K_2009 2

X 110001001110110001 N 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 Sekvenca pogreke Y 110011001100110011

Pe = P1NX 0 0 1 1 N 0 1 0 1 = = = = Y 0 1 1 0 Zbrajanje po modulu dva (XOR)

Y=X NKSM_K_2009 3

14.5.2009

5.6. Sigurnosno kodiranje1P1u P11=1-Pe P10=Pe P01=Pe P00=1-Pe

1P1i

X 0P0u

Y 0P0i

BSC binarni simetrini kanal P10=P01=Pe14.5.2009 KSM_K_2009

BC_vjerojatnosti.xls4

BSC binarni simetrini kanal 1P1u 1-Pe Pe Pe 1-Pe

1P1i

X 0P0u

Y 0P0i

14.5.2009

KSM_K_2009

5

10,4 0,2

0,8

1P1i

BSC 00,6 0,2 0,8

BC_vjerojatnosti.xls

0P0i

Koje su vjerojatnosti pojavljivanja binarnih simbola na izlazu kanala? Primjena formule totalne vjerojatnosti: P1i = P1u P11 + P0u P01 = 0,40,8+0,60,2= 0,32+0,12= 0,44 P0i = P0u P00 + P1u P10 = 0,60,8+0,40,2= 0,48+0,08= 0,56 = 1,0014.5.2009 KSM_K_2009 6

Kako razmilja dekoder u prijamniku? Primljeno je 1, to je odaslano? 1 moe doi od 1 ali i od 0. Za to se odluiti? Za ono to je vjerojatnije! Koja je vjerojatnost P1u/1i da je odaslan simbol 1, ako je primljen simbol 1? P1u/1i Bayesova formula: P1i/1u P1u P1i P1u1i = P1uP1i/1u = P1iP1u/1i P1u/1i = P1uP1i/1u / P1i = 0,40,8 / 0,44 = 0,32 / 0,44 = 0,727 Koja je vjerojatnost P0u/1i da je odaslan simbol 0, ako je primljen simbol 1? P0u1i = P0uP1i/0u = P1iP0u/1i P0u/1i = P0uP1i/0u / P1i = 0,60,2 / 0,44 = 0,12 / 0,44 = 0,273 = 1,00014.5.2009 KSM_K_2009 7

Koja je vjerojatnost P1u/0i da je odaslan simbol 1, ako je primljen simbol 0? Bayesova formula: P1u0i = P1uP0i/1u = P0iP1u/0i P1u/0i = P1uP0i/1u / P0i = 0,40,2 / 0,56 = 0,08 / 0,56 = 0,143 Koja je vjerojatnost P0u/0i da je odaslan simbol 0, ako je primljen simbol 0? P0u0i = P0uP0i/0u = P0iP0u/0i P0u/0i = P0uP0i/0u / P0i = 0,60,8 / 0,56 = 0,48 / 0,56 = 0,857 = 1,00014.5.2009 KSM_K_2009 8

Moe li se ispravno prenijeti informacija i kada primljena poruka sadri pogreke? Sigurnosno kodiranje (FEC - Forward Error Control) Provjera ispravnosti i ponavljanje poruke (ARQ). Uvodi se prividna suvinost, redundancije u kd. Mjera redundancije r definirana je izrazom: nr - ld M r = ld M14.5.2009

M broj poruka koje treba kodirati nr duljina proirene (redundantne) kodne rijei.KSM_K_2009 9

Odluimo li, da sa po 3 binarna elementa kodiramo ukupno etiri razliite vijesti (L=2, nr=3, M=4, ld M=2), redundancija je: r = (3 - 2)/2 = 0,5 = 50% Mogue je formirati 23=8 kodnih rijei duljine nr=3: 000, 001, 010, 011, 100, 101, 110 i 111. Za komuniciranje odaberemo etiri, npr. 000, 001, 010, 011, 100, 101, 110 i 111. Dekoder zna da se ne koriste sve mogue kodne rijei. Pojava nedoputene sekvence na ulazu dekodera znai da je nastupila pogreka u prijenosu poruke.14.5.2009 KSM_K_2009 10

Primjer: etiri stanja sustava, etiri poruke, duljina rijei 3, binarni kod, mogua je jednostruka pogreka. A B C D 000 010 100 110 100,010,001 110,000,011 000,110,101 010,100,111 Bolje je odabrati: 000 100,010,001 011 111,001,010 101 001,111,100 110 010,100,111

000, 001, 010, 011, 100, 101, 110 i 111. Kako konstruirati kd koji najbolje ukazuje na pogreku? Postoji li pogreka? Gdje se nalazi pogreka?14.5.2009 KSM_K_2009 11

Distanca - broj binarnih elemenata u kojima se meusobno razlikuju kodne rijei. A 000 0 1 1 1 B 001 1 0 2 2 A B C D14.5.2009

A B C D

000 001 010 100

C 010 1 2 0 2

D 100 1 2 2 0 000 011 101 110

A 000 0 2 2 2

B 011 2 0 2 2

C 101 2 2 0 2

D 110 2 2 2 012

KSM_K_2009

Geometrijski prikaz binarnog koda duljine n=3 Dva mogua naina kodiranja etiri elementarne vijesti s tri binarna simbola r=0,5=50%

A.

B.

14.5.2009

KSM_K_2009

13

U sluaju B, mogue je otkriti (detektirati) jednostruku pogreku, ali ne i pravu poruku; vie je naina kako moe nastati zabranjena sekvenca: 000 100,010,001 011 111,001,010 101 001,111,100 110 010,100,111 dij=2 Distanca je dovoljna za pouzdano otkrivanje jednostruke pogreke. Moe li se odmah pogreka ispraviti?14.5.2009 KSM_K_2009 14

Tri binarna elementa moemo iskoristiti za kodiranje samo dvije elementarne vijesti. r = (3-ld2)/ld2 = (3-1)/1 = 2. Odaberemo dvije kodne rijei s najveom meusobnom udaljenou, dij = 3, npr.: 001 i 110 (ili 100, 011...) Primljena sekvenca s jednostrukom pogrekom uspjeno prenosi informaciju! Pogreku je mogue ispraviti.14.5.2009 KSM_K_2009 15

Distanca ne mora biti jednaka za sve parove kodnih rijei. Za snagu koda - mogunost otkrivanja i korekcije pogreaka, bitna je najmanja (minimalna) distanca dmin. Minimalna vrijednost distance dmin 1 2 3 4 514.5.2009

Mogunost otkrivanja ispravljanja 0 0 1 0 2 1 3 1 4 2KSM_K_2009 16

5.6.1. Sigurnosno kodiranje - Hammingov kd Binarni kd s rijeima duljine 4 binarna elementa, n = 4. Mogue je kodirati M = 24 = 16 rijei. Neka je na ulazu kodera npr.: . . . 1 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1. . . I II III IV blokovi (kodne rijei) Uvodimo redundanciju u kd tako da na n informacijskih bita dodajemo k kontrolnih (zatitnih, paritetnih) bita uz uvjet da je : 2k n + k + 1, ili k ld(n + k + 1)14.5.2009 KSM_K_2009 17

Sekvencom od k kontrolnih binarnih elemenata, mogue je numerirati sve binarne elemente u redundantnoj sekvenci duljine (n + k) binarnih elemenata. Za Hammingov kd, je k = 3, n + k=7, a redundancija je r = (7 - 4) / 4 = 0,75. 0 1 2 3 4 5 6 7 ..... lokacija pogreke k1 k2 k314.5.2009

01010101 00110011 00001111

1, 3, 5, 7 2, 3, 6, 7 4, 5, 6, 7KSM_K_2009

Kontrolni elementi Hammingova koda H(4,3)18

Kontrolne i informacijske bite razmjetamo tako, da u svakoj kombinaciji otkrivanja jednostruke pogreke imamo jedan kontrolni i tri informacijska bita. Kontrolni biti k su na pozicijama 1., 2. i 4., dok su informacijski binarni elementi na preostalim, slobodnim lokacijama sekvencije od 7 bita: 3., 5., 6. i 7. U 7-mo bitovnoj sekvenci Hammingova koda, redoslijed je slijedei: k1, k2, m1, k3, m2, m3, m4Neka je blok poruke: 1 0 014.5.2009

1 0 1

0 1 1

1 0 019

KSM_K_2009

1 k1 I. informacijski blok k1=m1 +2 m2 +2 m4 k2=m1 +2 m3 +2 m4 k3=m2 +2 m3 +2 m4 Zatieni I. blok II. informacijski blok k1=m1 +2 m2 +2 m4 k2=m1 +2 m3 +2 m4 k3=m2 +2 m3 +2 m4 Zatieni II. blok III. informacijski blok k1=m1 +2 m2 +2 m4 k2=m1 +2 m3 +2 m4 k3=m2 +2 m3 +2 m4 Zatieni III. blok IV. informacijski blok k1=m1 +2 m2 +2 m4 k2=m1 +2 m3 +2 m4 k3=m2 +2 m3 +2 m4 Zatieni IV. blok14.5.2009

2 k2

3 m1 1

4 k3

5 m2 1

6 m3 0

7 m4 1

1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 120

0

1 0

0 0

1 0

0 1

1 0

1

0 0

1 1

0 1

1 1

0 0

1

0 0

0 0

1 0

1 0

0 1

KSM_K_2009

Dekodiranje Hammingova koda: 1 1 2 0 3 1 4 0 5 1 6 0 7 1

1, 3, 5, 7 1 1 1 1 = 0 2, 3, 6, 7 0 1 0 1 = 0 4, 5, 6, 7 0 1 0 1 = 0 Lokacija pogreke je 000 = 0, to znai da pogreke u ovome segmentu nema. Poruka je : 1 1 0 114.5.2009 KSM_K_2009 21

1 0

2 1

3 0

4 1

5 1

6 1

7 0

1, 3, 5, 7 0 0 1 0 = 1 2, 3, 6, 7 1 0 1 0 = 0 4, 5, 6, 7 1 1 1 0 = 1 Lokacija pogreke je 101 = 5, to znai pogrean je 5. binarni element. Poruka je: 0 0 1 0

14.5.2009

KSM_K_2009

22

1 0

2 1

3 0

4 0

5 1

6 1

7 0

1, 3, 5, 7 0 0 1 0 = 1 2, 3, 6, 7 1 0 1 0 = 0 4, 5, 6, 7 0 1 1 0 = 0 Lokacija pogreke je 001 = 1, to znai pogrean je 1. binarni element. Poruka je: 0 1 1 0

14.5.2009

KSM_K_2009

23

5.6.2. Paritetni bit i paritetne sekvence - CRC Za otkrivanje jednostruke pogreke u binarnoj sekvenci, dovoljna je minimalna distanca dmin=2, to je mogue postii dodavanjem jednog, paritetnog binarnog elementa na kraj sekvence.poruka a b c d e f g h14.5.2009

kodna sekvenca 000 001 010 011 100 101 110 111

paritetni bit 0 1 1 0 1 0 0 1

proirena sekvenca 0000 0011 0101 0110 1001 1010 1100 111124

KSM_K_2009

U prethodnom primjeru, minimalna distanca bilo koje dvije proirene sekvence je dij=2 Za due sekvence, paritetni bit izraunava se zbrajanjem po modulu dva svih binarnih elemenata: d 011=0 111 0=1 greka! Provjera pariteta dati e 1 ako je u prijenosu nastupila jednostruka pogreke.

CRCPoruka14.5.2009

1000111 (ili dio poruke: okvir - frame)KSM_K_2009 25

Kontrolna sekvenca P5(x) = 110101

Raunanje CRC sekvence: 100011100000 / 110101=1110011 Kolinik, nije bitan. 110101 101101 110101 110000 110101 r = (12-7)/7 = 5/7 101000 110101 111010 110101 000000001111 FCS/CRC (Frame Check Sequence/ 100011100000 Cyclic Redundancy Check) 100011101111 Sekvenca koja se otprema linijom.14.5.2009 KSM_K_2009 26

Provjera ispravnosti prijema: 100011101111 / 110101=1110011 110101 101101 110101 110000 110101 101111 110101 110101 110101 00000000000014.5.2009

Pogreke nema, prijenos ispravan!KSM_K_2009 27

Provjera ispravnosti prijema: 100011001111 / 110101=1110011 110101 101100 110101 110010 110101 111111 110101 010101 110101 000000100000 Pogreka! Trai se ponavljanje poruke!14.5.2009 KSM_K_2009 28

Provjera ispravnosti prijema: 101011100011 / 110101=110111 110101 111101 ITU standard 16 bita: 110101 10001000000100001 100000 (P16=x16+x12+x5+1) 110101 101010 110101 111111 110101 10101 000000010101 Pogreka! Trai se ponavljanje poruke!14.5.2009 KSM_K_2009 29