Definicja Kodu Powtórzeniowego
Kod powtórzeniowy jest kodem blokowym, który każdemu bitowi wejściowemu przypisuje stały ciąg identycznych symboli. To podstawowa postać , ponieważ odbiornik wykorzystuje powtórzone symbole do odtworzenia oryginalnego bitu bez żądania retransmisji.
Dla współczynnika powtórzeń koder przesyła każdy bit wejściowy razy. Wprowadza to , która pozwala odbiornikowi ograniczyć wpływ błędów wprowadzonych przez kanał. Przy nieparzystym dekoder wybiera większość w każdym bloku, a szybkość kodu wynosi .
Kod powtórzeniowy R3: kodowanie i dekodowanie
Częstym przykładem jest kod R3, znany również jako kod powtórzeniowy (3,1). Koder mapuje jeden bit informacyjny na blok trzech identycznych bitów.
- Aby wysłać logiczne '0', nadajnik wysyła sekwencję
000. - Aby wysłać logiczne '1', nadajnik wysyła sekwencję
111.
Dekodowanie większościowe
Dekoder analizuje każdy trzybitowy blok i wybiera wartość występującą w nim co najmniej dwa razy:
Jeśli blok zawiera co najmniej dwa zera:
000, 001, 010, 100
→ Dekodowane jako '0'
Jeśli blok zawiera co najmniej dwie jedynki:
111, 110, 101, 011
→ Dekodowane jako '1'
Zdolność Korekcji i Ograniczenia
Kod R3 koryguje pojedyncze odwrócenie bitu w każdym trzybitowym bloku. Głosowanie większościowe odtwarza wtedy bit nadany.
Przykład udanej korekcji:
1. Nadawca chce wysłać: 1
2. Zakodowany i nadany sygnał: 111
3. Szum uszkadza sygnał. Odebrany sygnał: 101
4. Głosowanie większościowe dekodera (dwie jedynki, jedno zero) → Dekodowanie daje poprawną wartość: 1.
Przykład porażki:
Jeśli dwa bity w jednym bloku zostaną odwrócone, większość wskazuje błędną wartość.
1. Nadany sygnał: 111
2. Dwa odwrócone bity zmieniają przewagę większości. Odebrany sygnał: 001
3. Głosowanie większościowe dekodera (jedna jedynka, dwa zera) → Dekoduje błędnie na: 0.
Właściwości Formalne: Odległość Hamminga
Zdolności kodu do obsługi błędów są określone przez jego . Dla kodu R3, jedynymi prawidłowymi słowami kodowymi są i , które różnią się na 3 pozycjach, więc .
- Kod o minimalnej odległości wykrywa do błędów, jeśli odbiornik sprawdza poprawność słowa. Dla R3 są to błędy.
- Liczba błędów, które kod może skorygować, wynosi . Dla R3 jest to błąd.
Dla niezależnego binarnego kanału symetrycznego o prawdopodobieństwie odwrócenia bitu prawdopodobieństwo błędu bitu po dekodowaniu R3 wynosi . Wzór zakłada niezależne odwrócenia i dekodowanie większościowe.
Zalety i Wady
Zalety
- Prostota: Są łatwe do zrozumienia, wdrożenia w sprzęcie i analizy.
Wady
- Niska Szybkość Kodu: Szybkość kodu, czyli stosunek bitów informacyjnych do całkowitej liczby przesyłanych bitów, wynosi dla R3 . Dwie trzecie transmisji stanowi nadmiar. Wysłanie pliku o rozmiarze 1 MB wymaga przesłania 3 MB danych.
- Ograniczona Korekcja: Kod R3 koryguje jedno odwrócenie w bloku. Dwa lub więcej odwróceń w tym samym bloku przekracza tę gwarancję. Błędy seryjne (burst errors) mogą obejmować wiele takich bloków.
- Zwiększone Opóźnienie i Wymagania Pasma: Przy tej samej szybkości symbolowej trzy razy więcej bitów wydłuża czas transmisji trzykrotnie. Przy tej samej efektywnej szybkości transmisji wymaga też trzykrotnie większej szybkości symbolowej i odpowiedniego pasma.