Kodowanie korekcyjne, kodowanie korygujące, FEC (ang. forward error correction), ECC (ang. error correction coding) – technika dodawania nadmiarowości do transmitowanych cyfrowo informacji. Umożliwia całkowitą lub częściową detekcję i korekcję błędów powstałych w wyniku zakłóceń. Dzięki temu nie ma potrzeby używania kanału zwrotnego do poinformowania nadawcy o błędzie i konieczności ponownego przesłania informacji. Kodowanie korekcyjne jest stosowane wtedy, gdy retransmisja jest kosztowna, kłopotliwa lub niemożliwa, na przykład ze względu na ograniczenia czasowe.

Podstawy teoretyczne W 1948 Claude Shannon opublikował „Matematyczną teorię komunikacji”, w której zawarł fundamentalny dla opisu transmisji danych wzór opisujący przepustowość kanału (twierdzenie Shannona-Hartleya):

gdzie: – przepustowość (pojemność) kanału w bitach na sekundę – szerokość pasma w hercach – stosunek mocy sygnału do mocy szumów w skali liniowej.

Z teorii Shannona wynika, że w kanale transmisyjnym przy danym poziomie szumów można z dowolnie niskim prawdopodobieństwem błędu przesyłać informację co najwyżej z przepływnością równą przepustowości Nie wystarczy jednak spowolnić transmisję, aby pozbyć się błędów. Aby osiągnąć niskie prawdopodobieństwo błędu konieczne jest przesyłanie informacji w formie zakodowanej, to znaczy zawierającej pewną nadmiarowość. Szybkość przesyłania bitów kodu (lub ogólniej – symboli) musi być większa od przepustowości ale ilość niesionej przez nie informacji zakodowanej (mniejsza od ilości bitów ze względu na nadmiarowość kodu) może być co najwyżej równa Shannon udowodnił, że istnieją kody, które zapewniają takie maksymalne wykorzystanie kanału transmisyjnego, ale teoria ta nie dawała praktycznych wskazówek jak skonstruować takie kody, których kodowanie i dekodowanie byłoby fizycznie realne.

Zobacz też cykliczny kod nadmiarowy kod Hamminga kod splotowy kodowanie korekcyjne Reeda-Solomona

Przypisy

Linki zewnętrzne Artur Jeż, Kody korekcyjne, Miesięcznik „Delta”, marzec 2021 [dostęp 2021-03-04].

Kategoria:Teoria informacji Kategoria:Kontrola błędów