Kod Hamminga: przykłady korekcji błędów

Spisie treści:

Anonim

Co to jest błąd?

Przesyłane dane mogą zostać uszkodzone podczas komunikacji. Prawdopodobnie wpłynie na niego hałas zewnętrzny lub inne uszkodzenia fizyczne. W takiej sytuacji dane wejściowe nie mogą być takie same jak dane wyjściowe. Ta niezgodność jest nazywana „błędem”.

Błędy danych mogą skutkować utratą ważnych lub bezpiecznych danych. Większość transmisji danych w systemach cyfrowych będzie miała formę „transferu bitów”. Nawet niewielka zmiana może wpłynąć na wydajność całego systemu. W sekwencji danych, jeśli 1 zostanie zmienione na 0 lub 0 zostanie zmienione na 1, nazywane jest to „błędem bitowym”.

W tym samouczku dotyczącym kodu Hamminga dowiesz się:

  • Co to jest błąd?
  • Rodzaje błędów
  • Co to jest wykrywanie i korygowanie błędów?
  • Co to jest kod Hamminga?
  • Historia kodu Hamminga
  • Zastosowanie kodu Hemming:
  • Zalety kodu Hamminga
  • Wady kodu Hamminga
  • Proces kodowania wiadomości przy użyciu kodu Hamminga
  • Proces odszyfrowywania wiadomości w kodzie Hamminga

Rodzaje błędów

W transmisji danych od nadawcy do odbiorcy występują głównie trzy rodzaje błędów bitowych.

  • Błędy jednobitowe
  • Wiele błędów bitowych
  • Błędy wybuchowe

Błędy jednobitowe

Zmiana dokonana w jednym bicie w całej sekwencji danych jest określana jako „błąd pojedynczego bitu”. Jednak występowanie błędu jednobitowego nie jest tak powszechne. Co więcej, ten błąd występuje tylko w systemie komunikacji równoległej, ponieważ dane są przesyłane bitowo w jednej linii. Dlatego istnieje większe prawdopodobieństwo, że jedna linia może być hałaśliwa.

Wiele błędów bitowych

W sekwencji danych, jeśli następuje zmiana w dwóch lub więcej bitach sekwencji danych z nadajnika do odbiornika, jest to znane jako „błędy wielu bitów”.

Ten typ błędu występuje głównie w sieciach transmisji danych typu szeregowego i równoległego.

Burst Errors

Zmiana zestawu bitów w sekwencji danych jest nazywana „błędem serii”. Ten typ błędu danych jest obliczany od pierwszej zmiany bitu do ostatniej zmiany bitu.

Co to jest wykrywanie i korygowanie błędów?

W systemie komunikacji cyfrowej błąd zostanie przeniesiony z jednego systemu komunikacyjnego do drugiego. Jeśli te błędy nie zostaną wykryte i poprawione, dane zostaną utracone. Aby komunikacja była skuteczna, dane systemowe powinny być przesyłane z dużą dokładnością. Nastąpi to poprzez zidentyfikowanie błędów i ich poprawienie.

Wykrywanie błędów to metoda wykrywania błędów występujących w danych przesyłanych z nadajnika do odbiornika w systemie teleinformatycznym.

Tutaj możesz użyć kodów nadmiarowości, aby znaleźć te błędy, dodając do danych, gdy są one przesyłane ze źródła. Kody te nazywane są „Kody wykrywania błędów”.

Trzy rodzaje kodów wykrywania błędów to:

  • Sprawdzanie parzystości
  • Cykliczna kontrola nadmiarowa (CRC)
  • Wzdłużna kontrola nadmiarowa (LRC)

Sprawdzanie parzystości:

  • Jest również znany jako kontrola parzystości.
  • Posiada ekonomiczny mechanizm wykrywania błędów.
  • W tej technice nadmiarowy bit jest nazywany bitem parzystości. Jest dołączany do każdej jednostki danych. Całkowita liczba jedynek w jednostce powinna stać się parzysta, co jest znane jako bit parzystości.

Wzdłużna kontrola nadmiarowości

W tej technice wykrywania błędów blok bitów jest zorganizowany w formacie tabelarycznym. Metoda LRC pomaga obliczyć bit parzystości dla każdej kolumny. Zestaw tej parzystości jest również przesyłany wraz z oryginalnymi danymi. Blok parzystości pomaga sprawdzić nadmiarowość.

Cykliczna kontrola nadmiarowa

Cykliczna kontrola nadmiarowa to sekwencja nadmiarowości, którą należy dołączyć na końcu jednostki. Dlatego wynikowa jednostka danych powinna stać się podzielna przez drugą, z góry określoną liczbę binarną.

W miejscu docelowym przychodzące dane muszą być podzielone przez tę samą liczbę. W przypadku braku reszty zakłada się, że jednostka danych jest poprawna i jest akceptowana. W przeciwnym razie wskazuje, że jednostka danych jest uszkodzona podczas transmisji i dlatego musi zostać odrzucona.

Co to jest kod Hamminga?

Kod Hamminga to kod liniowy, który jest przydatny do wykrywania błędów do dwóch natychmiastowych błędów bitowych. Jest zdolny do błędów jednobitowych.

W kodzie Hamminga źródło koduje wiadomość, dodając nadmiarowe bity w wiadomości. Te nadmiarowe bity są przeważnie wstawiane i generowane w określonych pozycjach w komunikacie, aby przeprowadzić proces wykrywania i korygowania błędów.

Historia kodu Hamminga

  • Kod Hamminga to technika zbudowana przez RWHamming w celu wykrywania błędów.
  • Kod Hamminga powinien być stosowany do jednostek danych o dowolnej długości i wykorzystuje relację między danymi a bitami nadmiarowości.
  • Pracował nad problemem metody korekcji błędów i opracował coraz potężniejszy zestaw algorytmów zwany kodem Hamminga.
  • W 1950 roku opublikował Kod Hamminga, który jest dziś szeroko stosowany w aplikacjach takich jak pamięć ECC.

Zastosowanie kodu Hamminga

Oto kilka typowych zastosowań kodu Hemminga:

  • Satelity
  • Pamięć komputera
  • Modemy
  • PlasmaCAM
  • Otwarte złącza
  • Drut ekranujący
  • Wbudowany procesor

Zalety kodu Hamminga

  • Metoda kodu Hamminga jest skuteczna w sieciach, w których strumienie danych są podawane dla błędów jednobitowych.
  • Kod Hamminga nie tylko zapewnia wykrywanie błędu bitowego, ale także pomaga w wcięciu bitu zawierającego błąd, aby można go było poprawić.
  • Łatwość użycia kodów Hamminga sprawia, że ​​najlepiej nadają się do wykorzystania w pamięci komputera i korekcji pojedynczych błędów.

Wady kodu Hamminga

  • Jednobitowy kod wykrywania i korekcji błędów. Jeśli jednak wiele bitów jest błędnych, wynik może spowodować powstanie innego bitu, który powinien być poprawny, aby można go było zmienić. Może to spowodować dalsze błędy w danych.
  • Algorytm kodu Hamminga może rozwiązać tylko problemy z pojedynczymi bitami.

Proces kodowania wiadomości przy użyciu kodu Hamminga

Proces kodowania wiadomości przez nadawcę obejmuje następujące trzy kroki:

  • Obliczanie całkowitej liczby nadmiarowych bitów.
  • Sprawdzenie położenia zbędnych bitów.
  • Na koniec obliczenie wartości tych nadmiarowych bitów.

Gdy powyższe nadmiarowe bity są osadzone w wiadomości, jest ona wysyłana do użytkownika.

Krok 1) Obliczenie całkowitej liczby nadmiarowych bitów.

Załóżmy, że wiadomość zawiera:

  • n - liczba bitów danych
  • p - liczba zbędnych bitów, które są do niego dodawane, aby np. wskazywały co najmniej (n + p + 1) różnych stanów.

Tutaj (n + p) przedstawia lokalizację błędu w każdej z (n + p) pozycji bitów, a jeden dodatkowy stan wskazuje na brak błędu. Ponieważ bity p mogą wskazywać 2 stany p , 2 p musi być co najmniej równe (n + p + 1).

Krok 2) Umieszczenie nadmiarowych bitów we właściwej pozycji.

Bity redundantne p powinny być umieszczone na pozycjach bitów o potęgach 2. Na przykład 1, 2, 4, 8, 16 itd. Są one określane jako p 1 (na pozycji 1), p 2 (na pozycji 2) , p 3 (na pozycji 4) itd.

Krok 3) Obliczenie wartości zbędnego bitu.

Nadmiarowe bity powinny być bitami parzystości, dzięki czemu liczba jedynek będzie parzysta lub nieparzysta.

Dwa rodzaje parzystości to -

  • Całkowita liczba bitów w wiadomości jest równa, nazywana jest parzystością.
  • Całkowita liczba bitów w wiadomości jest nieparzysta, nazywana jest nieparzystą parzystością.

Tutaj cały nadmiarowy bit p1 musi zostać obliczony jako parzystość. Powinien obejmować wszystkie pozycje bitów, których reprezentacja binarna powinna zawierać 1 na pierwszej pozycji, z wyłączeniem pozycji p1.

P1 jest bitem parzystości dla każdego bitu danych na pozycjach, których binarna reprezentacja zawiera 1 na mniej ważnej pozycji, bez 1 Like (3, 5, 7, 9,

… )

P2 to bit parzystości dla każdego bitu danych na pozycjach, których binarna reprezentacja obejmuje 1 na pozycji 2 od prawej, nie licząc 2 Like (3, 6, 7, 10, 11,

…)

P3 to bit parzystości dla każdego bitu w pozycjach, których reprezentacja binarna zawiera 1 na pozycji 3 od prawej, bez 4 Like (5-7, 12-15,

…)

Proces odszyfrowywania wiadomości w kodzie Hamminga

Odbiorca otrzymuje przychodzące wiadomości, które wymagają wykonania przeliczeń w celu znalezienia i skorygowania błędów.

Proces ponownego obliczania wykonano w następujących krokach:

  • Zliczanie nadmiarowych bitów.
  • Prawidłowe pozycjonowanie wszystkich zbędnych bitów.
  • Test zgodności

Krok 1) Zliczanie nadmiarowych bitów

Możesz użyć tej samej formuły do ​​kodowania, liczby nadmiarowych bitów

2 p ≥ n + p + 1

Tutaj liczba bitów danych ip jest liczbą nadmiarowych bitów.

Krok 2) Prawidłowe ustawienie wszystkich zbędnych bitów

Tutaj p jest zbędnym bitem, który znajduje się na pozycjach bitów o potęgach 2, na przykład 1, 2, 4, 8 itd.

Krok 3) Kontrola parzystości

Bity parzystości muszą być obliczane na podstawie bitów danych i bitów nadmiarowych.

p1 = parzystość (1, 3, 5, 7, 9, 11

…)

p2 = parzystość (2, 3, 6, 7, 10, 11

…)

p3 = parzystość (4-7, 12-15, 20-23

…)

Podsumowanie

  • Przesyłane dane mogą zostać uszkodzone podczas komunikacji
  • Trzy rodzaje błędów bitowych to 1) błędy pojedynczych bitów 2) błędy wielu bitów 3) błędy serii bitów
  • Zmiana dokonana w jednym bicie w całej sekwencji danych jest określana jako „błąd pojedynczego bitu”.
  • W sekwencji danych, jeśli następuje zmiana w dwóch lub więcej bitach sekwencji danych z nadajnika do odbiornika, jest to znane jako „błędy wielu bitów”.
  • Zmiana zestawu bitów w sekwencji danych jest nazywana „błędem serii”.
  • Wykrywanie błędów to metoda wykrywania błędów występujących w danych przesyłanych z nadajnika do odbiornika w systemie teleinformatycznym
  • Trzy typy kodów wykrywania błędów to 1) Kontrola parzystości 2) Cykliczna kontrola nadmiarowa (CRC) 3) Wzdłużna kontrola nadmiarowa (LRC)
  • Kod Hamminga to kod liniowy, który jest przydatny do wykrywania błędów do dwóch natychmiastowych błędów bitowych. Jest zdolny do błędów jednobitowych.
  • Kod Hamminga to technika zbudowana przez RWHamming w celu wykrywania błędów.
  • Typowe zastosowania kodu Hemming to Satelity Pamięć Komputerowa, Modemy, Wbudowany Procesor itp.
  • Największa zaleta metody Hamminga jest skuteczna w sieciach, w których strumienie danych są podawane dla błędów jednobitowych.
  • Największą wadą metody kodu Hamminga jest to, że rozwiązuje ona tylko problemy z pojedynczymi bitami.
  • Możemy przeprowadzić proces szyfrowania i dekodowania wiadomości za pomocą kodu hamming.