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