Co je to blokové kódování?
Součástí teorie kódu je blokové kódování formou dopředné korekce chyb (FEC), známé také jako kanálový kód, který převádí zprávy do specifických kódů a odesílá informace jako blok dat s předem stanovenou délkou. Větší bloky dat usnadňují přijímajícímu počítači dekódovat informace a opravit chyby, ke kterým dojde během přenosu. Blokové kódy a konvoluční kódy jsou dva typy kódů běžně používané v FEC. Tyto typy kódů umožňují, aby byla zpráva odeslána prostřednictvím nespolehlivého připojení a při příjmu byla stále dešifrovatelná.
Použití blokového kódování je nezbytné kvůli šumu, ke kterému dochází při odesílání zprávy. Když data potřebují cestovat na velkou vzdálenost nebo přes nespolehlivé spojení, k určení pravděpodobnosti chyb se použije Hammingova hmotnost a vzdálenost. Hammingova váha je počet číslic potřebných k vyjádření všech možných kombinací kódu a Hammingova vzdálenost je, kolik chyb by se muselo vyskytnout, než by bit představoval legitimní, ale nesprávnou informaci.
Například, pokud odesílatel využívající blokové kódování chtěl poslat zprávu, která by mohla použít pouze tři možné kódy, které byly každé tři číslice dlouhé, Hammingova hmotnost by byla tři. Kódy mohou být 000, 010 a 011. Pokud by chyba měla za následek změnu jedné číslice, jako je změna 000 na 010, kód by se přečetl jako legitimní kód (010), ale nikoli kód, který odesílatel zamýšlel (000) . Hammingova vzdálenost pro tento kód je tedy jedna, protože pouze jedna číslice se musí změnit, aby způsobila chybu, kterou počítač nemůže opravit.
Pro snížení Hammingovy vzdálenosti a snížení chyb jsou data posílána jako blok kódu, který je kódován do specifických kódových slov určité délky. Původní datové bity zprávy se označují jako bity k. K bity jsou přeloženy do odpovídajících n bitů, což jsou kódy, které byly vybrány tak, aby stály jako delší kódy pro každý k bit. Přidá se jedna nebo nula, aby se bity staly jednotnou délkou a snížily Hammingovu vzdálenost. Poté jsou tyto bloky n bitů přeneseny do přijímajícího počítače.
Přemýšlení o blokovém kódování je nejjednodušší při porovnání se dvěma lidmi, kteří konverzují. Když mluvíte v hlučné místnosti nebo křičíte na velkou vzdálenost, je zde více prostoru pro chyby v tom, co přijímající osoba slyší. Pokud je věta dlouhá, může osoba opravit více chyb tím, že vezme celou větu v kontextu, ale krátké věty mají vyšší chybovost, protože je těžší rozluštit, co daná osoba říká.
Například, když jedna osoba křičí: „Červená kočka“ a druhá osoba uslyší „Fed kočka“, nesprávně přerušují větu. Pokud však první osoba řekla: „Mám červenou kočku“ a druhá osoba uslyšela „Mám krmenou kočku,“ v souvislosti s větou je snadné určit osobu skutečně řečenou „červenou“ a není „nakrmeno“. Toto je základní princip kódování bloků a použití delších, jednotných kódů, které pomáhají počítačům přesně přeložit blok informací.