> hamming | (7,4) | ecc <
// Kod Hamminga – kod korekcji błędów dla niezawodnej transmisji danych
Korekcja błędów
Automatycznie wykrywa i koryguje błędy jednobitowe w danych.
Wykrywanie podwójnych błędów
Potrafi wykryć (ale nie skorygować) błędy dwubitowe w każdym bloku.
Minimalny narzut
Tylko 3 bity parzystości na 4 bity danych (wydajność 75%).
>> informacje techniczne
Jak działa kod Hamminga:
Kod Hamming(7,4) dodaje 3 bity parzystości do każdych 4 bitów danych, tworząc 7-bitowe bloki. Bity parzystości są umieszczane na pozycjach będących potęgami liczby 2 (1, 2, 4). Gdy pojawiają się błędy, syndrom (wynik kontroli parzystości) wskazuje bezpośrednio pozycję błędnego bitu.
Struktura Hamming(7,4):
Dane: 1011 (4 bity) Pozycje: P1 P2 D1 P3 D2 D3 D4 Hamming: 1 0 1 1 0 1 1 P1 = D1 ⊕ D2 ⊕ D4 = 1 ⊕ 0 ⊕ 1 = 0 P2 = D1 ⊕ D3 ⊕ D4 = 1 ⊕ 1 ⊕ 1 = 1 P3 = D2 ⊕ D3 ⊕ D4 = 0 ⊕ 1 ⊕ 1 = 0
Dlaczego warto używać kodu Hamminga:
- >Korekcja błędów w pamięci
- >Komunikacja satelitarna
- >Systemy przechowywania danych
- >Transmisja sieciowa
- >Macierze RAID
>> najczęściej zadawane pytania
Czym jest kod Hamminga?
Kod Hamminga to kod korekcji błędów opracowany przez Richarda Hamminga w 1950 roku. Dodaje do danych bity parzystości, które pozwalają automatycznie wykrywać i korygować błędy jednobitowe.
Co oznacza (7,4)?
Hamming(7,4) oznacza 7 bitów łącznie: 4 bity danych i 3 bity parzystości. Kod może skorygować dowolny błąd jednobitowy w 7-bitowym bloku. Inne warianty to m.in. (15,11) i (31,26).
Jak działa korekcja błędów?
Przy odbiorze danych bity parzystości są ponownie obliczane. Jeśli nie pasują, syndrom (różnica) wskazuje bezpośrednio, który bit jest błędny. Błąd jest naprawiany przez odwrócenie wartości tego bitu.
Kod Hamminga a inne kody ECC?
Kod Hamminga jest prosty i wydajny w przypadku błędów jednobitowych. Bardziej złożone kody, takie jak Reed–Solomon, mogą korygować wiele błędów, ale mają większy narzut. Hamming świetnie sprawdza się w kanałach o małym szumie.