Co to jest kod hamowania?
Kod hamowania jest metodą wykrywania i korygowania błędów w binarnej transmisji. Robi to poprzez włączenie dodatkowych cyfr binarnych do sekwencji używanej do sprawdzania, a także algorytm, który zapewnia logikę wykrywania. Taki kod jest w stanie znaleźć dwa błędy w dowolnej sekwencji bitów i naprawić jeden bit, który może być nieprawidłowy. Najczęściej odwoływany kod hamowania jest znany jako Hamming (7,4), w którym cztery wskazują oryginalną liczbę bitów początkowych, a siedem reprezentuje całkowitą liczbę bitów w sekwencji po uwzględnieniu dodatkowych bitów kontroli.
Technika otrzymała swoją nazwę od jego twórcy, Richard Hamming, który opublikował metodę w 1950 r. bity, określane jako bity parzystości, w sekwencji. Czekowe bity są zawsze wstrzykiwane w pozycji, która jest mocą dwóch, więc dowolna liczba bitów może być zweryfikowana przez IncluDing dodatkowe bity parytetu. Może to trwać, dopóki ostatni parytet dodany do sekwencji jest w pozycji, która jest mocą dwóch, która jest mniejsza lub równa pozycji końcowej w sekwencji.
W przypadku wszystkich bitów parzystości pozostałe pozycje to faktyczne bity danych. Biorąc pod uwagę cztero-bitowy przykład, pozycje bitowe jeden, dwa i cztery byłyby bity parzystości, podczas gdy pozycje trzy, pięć, sześć i siedem są danymi. Po ustaleniu tej sekwencji logika kodu hamowania idzie do pracy.
W kodzie uderzenia każdy z bitów parzystości, które zostały dodane do sekwencji, są używane do sprawdzenia niektórych pozycji bitowych, do których są bliskie, w tym siebie. Parytet bit w pozycji, jedna sprawdza każdą inną pozycję bitową, która jest zasadniczo każda pozycja w dziedzinie w sekwencji. Drugi bit parytetu, w pozycji drugiej, sprawdza pozycję dwóch i trzechE, następnie pomija dwie pozycje, sprawdza jeszcze dwie pozycje, pomija jeszcze dwa i tak dalej. Jeśli w czwartej pozycji jest bit parzystości, działa podobnie, ponieważ sprawdza pozycje od czterech do siedmiu, a następnie pomija cztery pozycje, sprawdza cztery kolejne i dalej. Każda parytet w sekwencji trwa w ten sposób w całej sekwencji.
Proces, w którym kod Hamming wykrywa i koryguje błąd, polega na dodaniu bitów w sekwencji kontroli dla każdej kontroli parytetu, z których każda musi wyjść równa liczba. Biorąc pod uwagę siedmioosobowy przykład, dla pierwszej kontroli parytetu, bity jeden, trzy, pięć i siedem są sumowane. Jeśli suma jest liczbą parzystą, parytet się sprawdza, ale jeśli suma jest dziwna, występuje błąd. Ponieważ kontrole parytetu nakładają się, pojawią się dwa takie błędy. Kiedy pozycje bitowe dwóch pary, które nie wymyślają nawet sum, zostaną dodane razem, ujawnią bit, który należy poprawić.
W przykładzie siedmioosobowym kodem hamowania, wadyider, że bit w pozycji numer piąty jest nieprawidłowy. Suma bitów w pozycjach pierwsza, trzy, pięć i siedem pojawi się jako liczba nieparzysta, podobnie jak suma bitów w pozycjach cztery do siódmej. Wskazuje to, że parzystość sprawdza bity sprawdzające w pozycjach jeden i cztery nie powiodły się. Gdy jeden i cztery są dodawane, suma wynosi pięć, co jest pozycją dla nieprawidłowego bitu w transmisji, którą należy poprawić.