Podstawowa metoda wykrywania błędów
Kontrola parzystości wykrywa błędy transmisji przez narzucenie warunku dotyczącego całkowitej liczby jedynek w bloku danych. Nie koryguje błędów. Daje odbiornikowi podstawowy sposób stwierdzenia, czy blok danych został uszkodzony podczas transmisji. Główna idea polega na dodaniu jednego dodatkowego bitu, zwanego bitem parzystości, do każdego bloku danych.
Ta metoda dodaje minimalną ilość , aby uzyskać podstawowy poziom weryfikacji integralności danych.
Jak działa kontrola parzystości?
Nadawca i odbiorca muszą najpierw uzgodnić, który rodzaj parzystości będą stosować. Istnieją dwie możliwości: parzystość parzysta lub parzystość nieparzysta.
Parzystość parzysta (Even parity)
Celem jest zapewnienie, aby całkowita liczba jedynek w bloku danych (wliczając bit parzystości) była liczbą parzystą.
- Jeśli oryginalne dane mają nieparzystą liczbę jedynek, bit parzystości jest ustawiany na 1.
- Jeśli oryginalne dane mają parzystą liczbę jedynek, bit parzystości jest ustawiany na 0.
Parzystość nieparzysta (Odd parity)
Celem jest zapewnienie, aby całkowita liczba jedynek w bloku danych (wliczając bit parzystości) była liczbą nieparzystą.
- Jeśli oryginalne dane mają nieparzystą liczbę jedynek, bit parzystości jest ustawiany na 0.
- Jeśli oryginalne dane mają parzystą liczbę jedynek, bit parzystości jest ustawiany na 1.
Przykład parzystości parzystej
- Po stronie nadawcy: Rozważmy 7-bitowy kod ASCII dla litery 'K', czyli .
- Liczymy jedynki w : są cztery jedynki.
- Ponieważ cztery to liczba parzysta, nadawca ustawia bit parzystości na 0.
- Przesłany 8-bitowy blok to z dołączonym .
- Po stronie odbiorcy: Odbiornik otrzymuje 8-bitowy blok .
- Liczy całkowitą liczbę jedynek. Są cztery jedynki.
- Ponieważ cztery to liczba parzysta, zgadza się to z uzgodnioną parzystością. Kontrola parzystości akceptuje blok jako prawidłowy.
Ograniczenia kontroli parzystości
Kontrola parzystości nie wykrywa parzystej liczby błędów bitowych. Poniższy przykład wykorzystuje dane , parzysty bit parzystości oraz przesłany blok .
Błąd jednego bitu
Podczas transmisji jeden bit ulega zmianie. Odbiornik otrzymuje .
- Odbiornik liczy jedynki: jest ich teraz pięć.
- Pięć to liczba nieparzysta. Nie zgadza się to z uzgodnioną parzystością parzystą.
- Rezultat: Kontrola parzystości wykrywa błąd. Odbiornik może oznaczyć dane jako uszkodzone i zażądać retransmisji.
Błędy dwóch bitów
Podczas transmisji zmieniają się bity na pozycjach 4 i 5. Odbiornik otrzymuje .
- Odbiornik liczy jedynki: są ich teraz cztery.
- Cztery to liczba parzysta. Zgadza się to z uzgodnioną parzystością.
- Rezultat: Błąd nie został wykryty, mimo że dane są niepoprawne. Odbiornik akceptuje uszkodzone dane jako prawidłowe.
Pojedynczy bit parzystości gwarantuje wykrycie każdej nieparzystej liczby błędów (1, 3, 5, itd.). Nie wykrywa parzystej liczby błędów (2, 4, 6, itd.).