Lineární kód

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Lineární kód je v teorii kódování typem blokového kódu používaným metodami pro detekci a opravu chyb. Lineární kódy umožňují realizaci efektivnějších algoritmů pro kódování a dekódování než jiné kódy.

Formální definice[editovat | editovat zdroj]

Lineární kód délky n a stupně k je lineární podprostor o rozměru k vektorového prostoru \mathbb{F}_q^n, kde \mathbb{F}_q je konečné těleso s q prvky. Je-li q = 2, respektive q = 3, daný kód se označuje jako binární kód, respektive ternární kód.

JINAK: Lineární kód je kód, kde lineární kombinace dvou nebo i více kódových slov je opět kódové slovo;

Vlastnosti[editovat | editovat zdroj]

Jakožto lineární podprostor vektorového prostoru \mathbb{F}_q^n může být kód C zcela reprezentován lineárním obalem minimální množiny kódových slov – neboli báze daného vektorového prostoru. Kódová slova této báze bývají obvykle uspořádána do řádků matice G, označované jako generující matice kódu C. Matice G je ve standardním tvaru, platí-li G = (Ik | A), kde Ik je jednotková matice k × k a A je libovolná matice k × (n − k).

Matice H : \mathbb{F}_q^n\to \mathbb{F}_q^{n-k}, jejímž jádrem je C, se nazývá kontrolní matice kódu C. Má-li kód C generující matici G = (Ik | A), pak jeho kontrolní matice odpovídá H = (-At | In-k).

Z definice podprostoru také vyplývá, že minimální Hammingova vzdálenost d mezi libovolným kódovým slovem c0 a jinými kódovými slovy c ≠ c0 je konstantní. Jelikož je rozdíl dvou kódových slov c − c0 z kódu C opět kódovým slovem (tedy prvkem podprostoru C) a zároveň platí d(c, c0) = d(c − c0, 0), je možné vyvodit následující:

\min_{c \in C,\ c \neq c_0}d(c,c_0)=\min_{c \in C, c \neq c_0}d(c-c_0, 0)=\min_{c \in C, c \neq 0}d(c, 0)=d.

Obvyklé značení[editovat | editovat zdroj]

Pro různé druhy kódů se obecně používá písmeno C. Lineární kód délky n, dimenze k (tzn. s k kódovými slovy v bázi, nebo také s k řádky generující matice) a s Hammingovou vzdáleností d se označuje jako kód [nkd].

Příklady[editovat | editovat zdroj]

Příklady některých lineárních kódů:

Odkazy[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Linear code na anglické Wikipedii.