Kody Powtórzeniowe
Najprostsza forma FEC oparta na głosowaniu większościowym.
Najprostsza Forma Ochrony
Kody powtórzeniowe to najbardziej intuicyjna i fundamentalna forma . Główna idea jest prosta i odzwierciedla sposób, w jaki komunikujemy się na co dzień: jeśli chcesz mieć pewność, że ktoś cię dobrze usłyszy w hałaśliwym pomieszczeniu, powtarzasz to, co mówisz. Kody powtórzeniowe robią dokładnie to samo z danymi cyfrowymi.
Ogólna zasada polega na przesyłaniu każdego pojedynczego bitu oryginalnej wiadomości z góry określoną liczbę razy. Wprowadza to , która może być wykorzystana przez odbiornik do przezwyciężenia błędów wprowadzonych przez kanał.
Jak to działa: Kod powtórzeniowy R3
Najpopularniejszym przykładem jest kod R3, znany również jako kod powtórzeniowy (3,1). W tym przypadku każdy pojedynczy bit informacji jest powtarzany trzykrotnie.
- Aby wysłać logiczne '0', nadajnik wysyła sekwencję
000. - Aby wysłać logiczne '1', nadajnik wysyła sekwencję
111.
Dekodowanie przez Głosowanie Większościowe
Po stronie odbiorczej dekoder analizuje każdy trzybitowy blok i podejmuje decyzję na podstawie prostej "większości głosów":
Jeśli odebrany blok zawiera więcej zer:
000, 001, 010, 100
→ Dekodowane jako '0'
Jeśli odebrany blok zawiera więcej jedynek:
111, 110, 101, 011
→ Dekodowane jako '1'
Zdolności Korekcyjne i Ograniczenia
Siła kodów powtórzeniowych leży w ich zdolności do korygowania błędów. Jeśli pojedynczy bit w trzybitowym bloku zostanie odwrócony przez szum podczas transmisji, głosowanie większościowe nadal da poprawny, oryginalny bit.
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) → Dekoduje poprawnie na: 1. Błąd został naprawiony!
Przykład porażki:
Jednakże, jeśli dwa bity zostaną odwrócone, głosowanie większościowe doprowadzi do błędnej decyzji.
1. Nadany sygnał: 111
2. Silny szum uszkadza sygnał. Odebrany sygnał: 001
3. Głosowanie większościowe dekodera (jedna jedynka, dwa zera) → Dekoduje błędnie na: 0.
Zdolnoś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 .
- Liczba błędów, które kod może wykryć, wynosi . Dla R3 jest to błędy.
- Liczba błędów, które kod może skorygować, wynosi . Dla R3 jest to błąd.
Interaktywny Kod Powtórzeniowy (R3/R5/R7)
Wprowadź ciąg binarny (tylko 0/1)
Słowo transmitowane (zakodowane)
Słowo odebrane (kliknij bity, aby odwrócić)
Słowo zdekodowane (większość)
Statystyki
Zalety i (Znaczące) Wady
Zalety
- Prostota: Są niezwykle łatwe do zrozumienia, wdrożenia w sprzęcie i analizy.
Wady
- Ekstremalna Niewydajność: To ich największa słabość. Szybkość kodu (code rate), czyli stosunek bitów informacyjnych do całkowitej liczby przesyłanych bitów, jest bardzo niska. Dla kodu R3 szybkość wynosi . Oznacza to, że dwie trzecie transmisji to nadmiarowy narzut. Wysłanie pliku o rozmiarze 1 MB wymaga przesłania 3 MB danych.
- Niska Zdolność Korekcyjna: Radzą sobie tylko z niewielką liczbą losowych błędów. Są bardzo podatne na błędy seryjne (burst errors), w których uszkodzonych zostaje wiele kolejnych bitów.
- Zwiększone Opóźnienie i Wymagania Pasma: Przesyłanie trzykrotnie większej liczby bitów naturalnie trzykrotnie wydłuża czas transmisji lub wymaga trzykrotnie szerszego pasma dla tej samej efektywnej szybkości transmisji, co czyni je nieodpowiednimi dla szybkiej komunikacji.