/ ucyf / bch menu

Temat

Tematem naszego projektu jest koder / dekoder korekcyjnego kodu binarnego, a konkretnie kodu BCH.

Analiza problemu

Kodowanie korekcyjne

Kodowanie korekcyjne stosuje się na łączach, które narażone są na zakłócenia, czyli w praktyce na łączach innych niż wewnątrz urządzeń. Pozwalają one na korekcję błędów transmisyjnych (źle przesłanych bitów), a w ostateczności wykrycie błędu, np. w celu wysłania żądania retransmisji.

Aby zakodować informację za pomocą kodu blokowego, dzielimy ją najpierw na k-elementowe ciągi. Po kodowaniu, otrzymujemy n-elementowy ciąg o n-k elementach kontrolnych (redundantnych) i k elementach informacyjnych.

Wektor kodowy: +-------+-------+ | k | n-k | +-------+-------+ |<----- n ----->|

Część kontrolna pozwala na korekcję błędów transmisyjnych, ale zwiększa przy tym objętość transmitowanej informacji. Ważne jest, aby część kontrolna znacznie się zmieniała przy nawet najmniejszej zmianie części informacyjnej. W ten sposób efektywniej można wykrywać błędy.

Każdy kod transmisyjny ma to ograniczenie, że jeżeli jednocześnie zostaną przekłamane odpowiednie bity informacyjne i kontrolne, nie wykryjemy żadnego błędu, dlatego jesteśmy w stanie wykryć błąd tylko w wypadku, gdy w odbiorniku otrzymamy wektor niekodowy. Zadaniem każdego kodu korekcyjnego jest zmniejszenie prawdopodobieństwa przekłamania jednego wektora kodowego na inny wektor kodowy.

Kody cykliczne

Kody cykliczne są popularne ze względu na łatwość implementacji na sprzęcie cyfrowym, łatwo je poddać analizie matematycznej i są szczególnie wydajne w korekcji błędów spowodowanych przez szumy w kanale transmisyjnym.