Co to jest kodowanie kanałów?
Kodowanie kanałów jest techniką stosowaną w komunikacji cyfrowej w celu zapewnienia, że transmisja jest odbierana z minimalnymi błędami lub bez błędów. Różne metody kodowania, które można zastosować, uzyskuje się przez przeplatanie dodatkowych cyfr binarnych w transmisji. Po zdekodowaniu po stronie odbierającej transmisję można sprawdzić pod kątem błędów, które mogły wystąpić, aw wielu przypadkach naprawić. Innym razem odbiorca ponownie prosi o transmisję.
Pomysł na kodowanie kanału został opracowany z powodu nieuniknionego występowania błędów w danym typie kanału komunikacyjnego. Fale radiowe, sygnały elektryczne, a nawet fale świetlne nad kanałami światłowodowymi będą miały pewien szum na medium, a także degradację sygnału, który występuje na pewną odległość. Będąc tak częstym problemem w komunikacji, opracowano wiele teorii radzenia sobie z nim w ramach różnych dziedzin matematyki stosowanej, takich jak teoria informacji i teoria kodowania.
Jedną z powszechnie stosowanych metod jest tzw. Automatyczne powtarzanie żądania (ARQ), która polega po prostu na sprawdzeniu przez odbiorcę błędów pod kątem błędów i proszeniu o retransmisję w przypadku ich wystąpienia. Czasami nazywa się to korekcją błędów wstecz. Z drugiej strony kodowanie kanałów jest techniką korekcji błędów w przód (FEC). Nadawca przygotowuje bity do transmisji przy użyciu specjalnego algorytmu znanego jako kod korekcji błędów, który jest następnie dekodowany na końcu odbierającym. Obie metody są również często stosowane w sposób hybrydowy, pozwalając na naprawę drobnych błędów w transmisji za pomocą kodu kanału, przy czym poważne błędy wymagają całkowitej retransmisji.
Pierwszą technikę kodowania kanałów stworzył matematyk Richard Hamming, który opracował tak zwany kod Hamminga. Był to pierwszy kod korekcji błędów przesyłania dalej, który pociąga za sobą włączenie dodatkowych cyfr binarnych do transmisji, które są nazywane bitami parzystości. Sprytne obliczenie bitów parzystości na odbiorczym końcu transmisji ujawni, czy wystąpiły jakieś błędy w transmisji, gdzie znajdują się one w ciągu bitów, i jak je naprawić w celu odzyskania oryginalnej transmisji.
Kod Hamminga należy do rodziny metod kodowania kanałów zwanych kodami blokowymi, z których wiele opracowano na przestrzeni lat. Kody blokowe zwykle obejmują gromadzenie bitów na bloki o stałej długości, które są następnie nazywane słowami kodowymi. Każde słowo kodowe otrzymuje odpowiednie bity kontrolne do dekodowania przez odbiorcę. Metody kodu blokowego mają tendencję do zwiększania rozmiaru transmisji z powodu dodanych bitów w słowie kodowym, które mogą mieć wpływ na szerokość pasma kanału.
Inna metoda kodowania kanału jest znana jako kod splotowy. Te metody są znacznie szybsze i mogą kodować strumień bitów o dowolnej długości. Jednym z powszechnie używanych tego typu kodów jest kod Viterbi, stworzony przez włoskiego matematyka Andrew Viterbiego. Wadą tej metody jest to, że wraz ze wzrostem długości kodu splotowego wzrasta jego złożoność podczas dekodowania. W wielu przypadkach kody splotowe są stosowane w połączeniu z kodami blokowymi w tak zwanych połączonych kodach korekcji błędów.