Cw kody


Ćwiczenia z sieci komputerowych. Semestr VI. 15-02-1999.

Kodem (algorytmem) nazywamy przyporządkowanie wiadomości xi do określonego ciągu symboli alfabetu kodowego (ciągu zwanego słowem kodowym) wi.

Kodowaniem nazywamy proces przekształcania wiadomości w słowa kodowe.

Kod jest jednoznacznie dekodowalny jeśli każdemu ciągowi kodowemu odpowiada co najwyżej jedna wiadomość.

WKW by kod był kodem jednoznacznie dekodowalnym bez opóźnień jet żeby żadne słowo nie było użyte jako przedrostek (przyrostek) innego słowa kodowego tego kodu.

Kody dzielą się na nadmiarowe (do transmisji w kanałach z zakłóceniami) i beznadmiarowe.

Kodem nadmiarowym nazywamy kod w którym przy całkowitej ilości pozycji słowa kodowego wynoszącej n , k z tych pozycji wykorzystywanych jest do kodowania informacji (wiadomości) zaś n - k = m pozycji jest nadmiarowych i wykorzystywanych do kontroli (wykrywania lub korygowania błędów).

0x08 graphic
Kody binarne to kody określone przez układ równań liniowo niezależnych:

0x08 graphic
Gdzie

j=1..m

wl - l-ty bit słowa kodowego

Tjl - 1 jeśli l-ta pozycja słowa kodowego wchodzi do j-go równania, lub 0 w przeciwnym przypadku;

Są to tzw. równania testów parzystości kodu.

Kody binarne dzielą się jak na poniższym schemacie:

0x08 graphic

Dla kodów binarnych mówimy, że pozycje objęte j-tym równaniem sa j-tym zespoełem kontrolnym.

Kod Hamminga skonstruowany jest jak następuje:

n = 2m-1

gdzie:

n - liczba pozycji w słowie kodowym

m - liczba pozycji kontrolnych;

W kodzie Hamminga pozycje kontrolne wskazywane są przez kolejne potęgi liczby 2 (1, 2, 4, 8..).

Zasady tworzenia słowa kodowego dla kodu Hamminga:

Numer zespołu kontrolego (j)

Pozycja kontrolna

(bit słowa kodowego)

Pozycje objęte zespołem kontrolnym

1

20

3, 5, 7, 9, ...

2

21

3, 6, 7, 10, 11, 14, 15, ...

3

22

5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, ...

4

23

9, 10, 11, 12, 13, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31, ...

...

...

...

Przykład:

Zakodować kodem Hamminga liczbę 1348.

wiadomość: 1348 == 1 011 1002

1

0

1

0

1

1

0

0

0

1

1

słowo kodowe

11

10

9

8

7

6

5

4

3

2

1

poz. słowa kodowego

x

x

x

x

x

zespół kontrolny nr 1

x

x

x

x

x

zespół kontrolny nr 2

x

x

x

zespół kontrolny nr 3

x

x

x

zespół kontrolny nr 4

Na zespół kontrolny nr 1 wchodzą tu bity 3, 5, 7, 9, 11. Z bitów tych wyznaczamy sumę modulo 2 i wynik wpisujemy na pozycję zespołu tj. na bit nr 1.

Na zespół kontrolny nr 2 wchodzą tu bity 3, 6, 7, 10, 11. Z bitów tych wyznaczamy sumę modulo 2 i wynik wpisujemy na pozycję zespołu tj. na bit nr 2.

Na zespół kontrolny nr 3 wchodzą tu bity 5, 6, 7 (następne byłyby 12, 13, 14, 15 ale nie ma potrzeby brania ich pod uwagę). Z bitów tych wyznaczamy sumę modulo 2 i wynik wpisujemy na pozycję zespołu tj. na bit nr 4.

Na zespół kontrolny nr 4 wchodzą tu bity 9, 10, 11 (nie ma potrzeby brania następnych bitów pod uwagę). Z bitów tych wyznaczamy sumę modulo 2 i wynik wpisujemy na pozycję zespołu tj. na bit nr 8.

W celu sprawdzenia poprawności otrzymanego ciągu kodowego wyznacza się tzw. syndrom. Syndrom jest wyliczany dla pozycji kontrolnych w sposób analogiczny do obliczania zespołów kontrolnych przy czym w skład sumy modulo 2 wchodzą dodatkowo te pozycje kontrolne. Dla poprzedniego przykładu zasadę wyznaczenia syndromu zilustrowana jest poniżej:

1

0

1

0

1

1

0

0

0

1

1

słowo kodowe

11

10

9

8

7

6

5

4

3

2

1

poz. słowa kodowego

x

x

x

x

x

x

zespół kontr. nr 1 syndromu

x

x

x

x

x

x

zespół kontr. nr 2 syndromu

x

x

x

x

zespół kontr. nr 3 syndromu

x

x

x

x

zespół kontr. nr 4 syndromu

Dla pozycji nr 1 syndromu mamy sumę modulo 2 z pozycji 1, 3, 5, 7, 9, 11 czyli tu: 0.

Dla pozycji nr 2 syndromu mamy sumę modulo 2 z pozycji 2, 3, 6, 7, 10, 11 czyli tu: 0.

Dla pozycji nr 4 syndromu mamy sumę modulo 2 z pozycji 4, 5, 6, 7 czyli tu: 0.

Dla pozycji nr 8 syndromu mamy sumę modulo 2 z pozycji 8, 9, 10, 11 czyli tu: 0.

Otrzymany syndrom:

20

21

22

23

zespół

0

0

0

0

wartość zespołu

0*1

0*2

0*4

0*8

= 0 (wartość syndromu)

Jeśli syndrom wynosi 0 to znaczy, że otrzymany ciąg jest prawidłowy w rozumieniu możliwości kontroli kodu Hamminga.

Niezerowa wartość syndromu wskazuje bezpośrednio na pozycję przekłamania.

Przykład:

W poprzednim przykładzie nastąpiło przekłamanie na pozycji 6. Przykład poniższy ilustruje sposób jego wykrycia.

1

0

1

0

1

0

0

0

0

1

1

słowo kodowe

11

10

9

8

7

6

5

4

3

2

1

poz. słowa kodowego

x

x

x

x

x

x

=0 zespół kontr. nr 1 syndromu

x

x

x

x

x

x

=1 zespół kontr. nr 2 syndromu

x

x

x

x

=1 zespół kontr. nr 3 syndromu

x

x

x

x

=0 zespół kontr. nr 4 syndromu

skąd syndrom:

20

21

22

23

zespół

0

1

1

0

wartość zespołu

0*1

1*2

1*4

0*8

= 6 (wartość syndromu czyli pozycja przekłamania)

Jeśli syndrom wskazuje pozycję istniejącą w słowie kodowym a po poprawieniu przekłamania i ponownym wyliczeniu syndromu nadal ma on wartość niezerową to znaczy, że nastąpiły przekłamania wielokrotne. Kod Hamminga nie pozwala na korygowanie przekłamań wielokrotnych.

Jeśli obliczony w dowolnym momencie syndrom wskazuje na pozycję nieistniejącą, to również mamy do czynienia z przekłamaniami wielokrotnymi.

Zadania:

  1. Zakodować w kod Hamminga liczbę 11.

1

0

1

0

1

0

1

słowo kodowe

7

6

5

4

3

2

1

poz. słowa kodowego

x

x

x

zespół kontrolny nr 1

x

x

x

zespół kontrolny nr 2

x

x

x

zespół kontrolny nr 3

  1. Zakodować w kod Hamminga liczbę 1979.

  2. Wykryć przekłamanie w słowie kodowym 1010001.

  3. Obliczyć syndrom odebranego ciągu 111011110101011.

0x01 graphic

beznadmiarowe

nadmiarowe

równomierne

(np. Gray`a, Excess 3, Aikena)

nierównomierne

(np. Huffmana, Shannona-Fano)

blokowe

nieblokowe

nieliniowe

liniowe

(np. Hamminga, cykliczne)

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
ćw 4 Profil podłużny cieku
biofiza cw 31
Kinezyterapia ćw synergistyczne
Cw 1 ! komorki
Pedagogika ćw Dydaktyka
Cw 3 patologie wybrane aspekty
Cw 7 IMMUNOLOGIA TRANSPLANTACYJNA
Cw Ancyl strong
Cw 1 Zdrowie i choroba 2009
Rehabilitacja medyczna prezentacja ćw I
ćw 2b
Ćw 3 Elektorforeza Bzducha
ćw 3 Projektowanie drenowania

więcej podobnych podstron