Kodowanie korekcyjne

Z Wikipedii, wolnej encyklopedii
(Przekierowano z Kod korekcyjny)
Skocz do: nawigacji, wyszukiwania

Kodowanie korekcyjne lub kodowanie korygujące (ang. ECC - error correction coding, FEC - forward error correction) – 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 wykorzystywania kanału zwrotnego, do poinformowania nadawcy o błędzie i konieczności ponownego przesłania informacji. Kodowanie korekcyjne jest więc wykorzystywane wtedy, gdy retransmisja jest kosztowna, kłopotliwa lub niemożliwa, np. ze względu na ograniczenia czasowe.

Podstawy teoretyczne[edytuj | edytuj kod]

W 1948 Claude Shannon opublikował "Matematyczną teorię komunikacji" w której zawarł fundamentalny dla opisu transmisji danych wzór opisujący przepustowość kanału:

 C =  W \log_2 \left( 1+\frac{S}{N} \right),

gdzie:

C – przepustowość (pojemność) kanału w bitach na sekundę,
W – szerokość pasma w hercach,
S/N – 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 C. Nie wystarczy jednak spowolnić transmisji 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 C, ale ilość niesionej przez nie informacji zakodowanej (mniejsza od ilość bitów ze względu na nadmiarowość kodu) może być co najwyżej równa C. 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 realizowalne.

Zobacz też[edytuj | edytuj kod]