Cyklický kód

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 28. ledna 2021; kontroly vyžadují 2 úpravy .

Cyklický kód  je lineární blokový kód , který má vlastnost cykličnosti, to znamená, že každá cyklická permutace kódového slova je také kódovým slovem. Používá se k transformaci informací, aby byly chráněny před chybami (viz Detekce a oprava chyb ).

Úvod

Nechť  je slovo délky n nad abecedou prvků konečného tělesa a  je polynom odpovídající tomuto slovu ve formální proměnné . Je vidět, že tato korespondence je izomorfismus lineárních prostorů. Protože se „slova“ skládají z písmen z pole, lze je sčítat a násobit (prvek po prvku) a výsledek bude ve stejném poli. Polynom odpovídající lineární kombinaci dvojice slov a je roven lineární kombinaci polynomů těchto slov .

To nám umožňuje považovat množinu slov délky n nad konečným tělesem za lineární prostor polynomů se stupněm nejvýše n  − 1 nad polem .

Algebraický popis

Jestliže  je kódové slovo získáno cyklickým posunem o jeden bit doleva od slova , pak jemu odpovídající polynom získáme z předchozího vynásobením x :

s využitím skutečnosti, že

Posun doprava a doleva po bitech:

Jestliže  je libovolný polynom nad polem a  je kódovým slovem cyklického kódu, pak  je také kódovým slovem tohoto kódu.

Generování polynomu

Definice

Generující polynom cyklického kódu je takový nenulový polynom od , jehož stupeň je nejmenší a koeficient je nejvyšší .

Věta 1

Jestliže  je cyklický kód a  je jeho generujícím polynomem, pak stupeň je a každé kódové slovo může být jednoznačně reprezentováno jako

kde stupeň je menší nebo roven .

Věta 2

 — generující polynom cyklického kódu — je dělitel binomu .

Důsledky

Jako generující polynom lze tedy zvolit libovolný polynom dělitele . Stupeň zvoleného polynomu určí počet kontrolních symbolů , počet informačních symbolů .

Generování matice

Polynomy jsou lineárně nezávislé, jinak pro nenulové , což je nemožné.

Kódová slova lze tedy psát, stejně jako lineární kódy, následovně:

kde je generující matice ,  je informační polynom.

Matici lze zapsat v symbolické formě:

Kontrolní matice

Pro každé kódové slovo cyklického kódu, . Kontrolní matici lze tedy zapsat jako

Pak

Kódování

Nesystematické

Při nesystematickém kódování se kódové slovo získá jako součin informačního polynomu generujícím:

Lze to realizovat násobením polynomů.

Systematický

Při systematickém kódování se kódové slovo tvoří ve formě informačního podbloku a kontroly:

Nechť tedy informační slovo tvoří nejvyšší mocniny kódového slova

Pak to vyplývá z podmínky

Tato rovnice definuje pravidlo systematického kódování. Lze jej implementovat pomocí vícecyklových lineárních filtrů (MLF) .

Příklady

Binární (7,4,3) kód

Jako dělitel zvolíme generující polynom třetího stupně , výsledný kód pak bude mít délku , počet kontrolních znaků (stupeň generujícího polynomu) , počet informačních znaků , minimální vzdálenost .

Generování matice kódu:

kde první řádek je polynom s koeficienty ve vzestupném pořadí.

Zbývající řádky jsou cyklické posuny prvního řádku.

Kontrolní matice :

kde i -tý sloupec, počínaje 1., je zbytek dělení polynomem , psaný ve vzestupných stupních, počínaje shora.

Takže například 4. sloupec je , nebo ve vektorové notaci .

Je snadné si to ověřit .

Binární (15,7,5) BCH kód

Jako generující polynom si můžete vybrat součin dvou dělitelů :

Potom lze každé kódové slovo získat pomocí součinu informačního polynomu se stupněm následujícím způsobem:

Například informační slovo odpovídá polynomu , poté kódovému slovu nebo ve vektorové podobě .

Viz také

Odkazy