Kodowanie Hamminga 1. Kodowanie Hamminga. Kodowanie, przy

Transkrypt

Kodowanie Hamminga 1. Kodowanie Hamminga. Kodowanie, przy
Kodowanie Hamminga
1. Kodowanie Hamminga.
Kodowanie, przy wydłużeniu ciągu kodowego o p = n - k bitów nazywanych bitami parzystości,
polega na wyborze 2k słów kodowych spośród 2" możliwych ciągów w taki sposób, że odległość
Hamminga d (liczba bitów, którymi słowa kodowe się różnią) między dowolną parą z nich jest nie
mniejsza niż dmin. Jeśli chcemy mieć możliwość wykrycia i korekcji t błędów, to dmin > 2t + l. Czyli,
zgodnie z regułą maksymalnej wiarygodności, dekoder podejmie poprawną decyzje o nadanym
ciągu, pod warunkiem, że odległość ciągu odebranego od nadanego nie przekracza wartości
Przykład. Niech n =5. Spośród 25 =32 wybieramy 4( k=2) ciągi kodowe o dmin=3, pokazane w
tabeli. Z pozostałych 28 ciągów 20 jest korygowalnych (d=1), a 8 niekorygowalnych (d=2).
Kodowanie Hamminga to taki przypadek doboru ciągów kodowych, z możliwością korekcji
jednego błędu (t=l), w którym nie występują ciągi niekorygowalne. Można wykazać, że takie kody
muszą spełniać warunek n = 2p - 1, k = 2p - 1 - p. Pary (n,k) spełniające ten warunek to (7,4),
(15,11), (31,26), itd.
Kody Hamminga, stosunkowo proste z korekcją jednego tylko błędu, mają następujące macierze:
generującą
i parzystości
1
Kodowanie Hamminga
gdzie T oznacza transpozycję, Ij macierz jednostkową rzędu j x j. Analogicznie więc jak w
kodowaniu ramki z bitem przystości macierz generująca zawiera w początkowych k kolumnach
macierz jednostkową k x k tworzącą początkowe bity słowa kodowego c identyczne z bitami ciągu
b (kod systematyczny), a w pozostałych p = n - k kolumnach macierz Pk rzędu k x (n - k) generującą
p bitów parzystości słowa kodowego.
2
Kodowanie Hamminga
2. Zadania:
•
zaimplementować koder/dekoder w języku VHDL
•
wykonać symulację behawioralną zaprojektowanego kodera/dekodera
•
wyniki przedstaw prowadzącemu
3. Sprawozdanie
W sprawozdaniu należy zamieścić:
•
kod VHDL opisujący przedstawiony koder/dekoder
•
przebiegi symulacji kodera/dekodera
3