Co je kódování kanálů?
Kanálové kódování je technika používaná v digitálních komunikacích k zajištění příjmu přenosu s minimálními nebo žádnými chybami. Různé způsoby kódování, které mohou být použity, jsou dosaženy propletením dalších binárních číslic do přenosu. Při dekódování na přijímacím konci lze přenos zkontrolovat, zda nedošlo k chybám a v mnoha případech opravit. Jindy příjemce jednoduše požádá o přenos znovu.
Myšlenka kódování kanálu byla vyvinuta kvůli nevyhnutelné existenci chyb na jakémkoli daném typu komunikačního kanálu. Rádiové vlny, elektrické signály a dokonce i světelné vlny přes optické vláknové kanály budou mít určité množství šumu na médiu a také degradaci signálu, ke kterému dochází na určitou vzdálenost. Být takový obyčejný problém v komunikacích, četné teorie na jak se s tím vypořádat se vyvíjely pod odvětvími aplikované matematiky takový jako teorie informace a teorie kódování.
Jednou běžně používanou metodou je tzv. Automatický požadavek na opakování (ARQ), který jednoduše zahrnuje, že příjemce zkontroluje přenos a zjišťuje, zda se vyskytly chyby. Toto se někdy označuje jako zpětná korekce chyb. Kanálové kódování je naproti tomu technika dopředné korekce chyb (FEC). Vysílač připravuje bity pro přenos pomocí speciálního algoritmu známého jako kód pro opravu chyb, který je poté dekódován na přijímacím konci. Obě metody jsou také často používány hybridním způsobem, což umožňuje, aby malé chyby v přenosu byly opraveny kódem kanálu, přičemž hlavní chyby vyžadují kompletní opakovaný přenos.
První techniku kódování kanálů vytvořil matematik jménem Richard Hamming, který vyvinul tzv. Hammingův kód. Toto byl první dopředný opravný kód chyby, který zahrnuje zahrnutí dalších binárních číslic do přenosu, které se nazývají paritní bity. Chytrý výpočet paritních bitů na přijímajícím konci přenosu odhalí, pokud se při přenosu vyskytly nějaké chyby, kde jsou v řetězci bitů, a jak je opravit, aby se obnovil původní přenos.
Hammingův kód spadá do rodiny metod kódování kanálů označovaných jako blokové kódy, z nichž mnohé byly vyvinuty v průběhu let. Blokové kódy obvykle zahrnují bity, které jsou shromažďovány do bloků s pevnou délkou, které jsou potom označovány jako kódová slova. Každé kódové slovo dostane příslušný kontrolní bit pro dekódování příjemcem. Metody blokových kódů mají tendenci zvyšovat velikost přenosu v důsledku přidaných bitů v kódovém slově, což může mít vliv na šířku pásma kanálu.
Další způsob kódování kanálu je známý jako konvoluční kód. Tyto metody jsou mnohem rychlejší a mohou kódovat bitový proud libovolné délky. Jeden běžně používaný kód tohoto typu se nazývá Viterbiho kód, který vytvořil italský matematik Andrew Viterbi. Nevýhodou této metody je to, že se zvyšováním délky konvolučního kódu se zvyšuje i jeho složitost při dekódování. V mnoha případech se konvoluční kódy používají v kombinaci s blokovými kódy v tzv. Zřetězených kódech pro opravu chyb.