Ciklikus kód

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. január 28-án felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

A ciklikus kód  egy lineáris blokkkód , amely a ciklikusság tulajdonságával rendelkezik, vagyis egy kódszó minden ciklikus permutációja egyben kódszó is. Az információk átalakítására szolgál, hogy megvédje azokat a hibáktól (lásd: Hibaészlelés és -javítás ).

Bevezetés

Legyen egy n  hosszúságú szó egy véges mező elemeinek ábécéjén, és  legyen ennek a szónak megfelelő polinom egy formális változóban . Látható, hogy ez a megfeleltetés lineáris terek izomorfizmusa . Mivel a "szavak" a mezőből származó betűkből állnak, összeadhatók és szorozhatók (elemenként), és az eredmény ugyanabban a mezőben lesz. A szópár lineáris kombinációjának megfelelő polinom és egyenlő e szavak polinomjainak lineáris kombinációjával .

Ez lehetővé teszi számunkra, hogy a véges mező feletti n hosszúságú szavak halmazát a mező felett legfeljebb n  − 1 fokos polinomok lineáris terének tekintsük .

Algebrai leírás

Ha  egy kódszót kapunk a szótól egy bittel balra történő ciklikus eltolással , akkor a hozzá tartozó polinomot az előzőből x -szel megszorozva kapjuk meg :

, felhasználva azt a tényt

Eltolás jobbra és balra, bitenként:

Ha  egy tetszőleges polinom a mező felett , és  egy ciklikus kód kódszava, akkor  szintén ennek a kódnak a kódszava.

Polinom generálása

Meghatározás

Egy ciklikus kód generáló polinomja olyan nem nulla polinom -ból , amelynek foka a legkisebb, együtthatója pedig a legmagasabb fokon .

1. tétel

Ha  ciklikus kód, és  a generáló polinomja, akkor a foka , és minden kódszó egyedileg ábrázolható

ahol a fok kisebb vagy egyenlő, mint .

2. tétel

 — a ciklikus kód generáló polinomja — a binomiális osztója .

Következmények

Így bármely osztópolinom kiválasztható generáló polinomnak . A kiválasztott polinom mértéke határozza meg az ellenőrző szimbólumok számát, az információs szimbólumok számát .

Mátrix generálása

A polinomok lineárisan függetlenek, egyébként nem nulla esetén, ami lehetetlen.

Tehát a kódszavak a lineáris kódokhoz hasonlóan a következőképpen írhatók:

ahol a generáló mátrix ,  az információs polinom.

A mátrix felírható szimbolikus formában:

Ellenőrizze a mátrixot

Egy ciklikus kód minden kódszava esetén . Ezért az ellenőrző mátrix így írható fel

Akkor

Kódolás

Rendszertelen

Nem szisztematikus kódolással a kódszót egy információs polinom szorzataként kapja meg egy generáló:

Polinomok szorzásával valósítható meg.

Szisztematikus

A szisztematikus kódolással a kódszó információs részblokk és ellenőrzés formájában kerül kialakításra:

Legyen tehát az információs szó a kódszó legmagasabb hatványa

Aztán a feltételből következik

Ez az egyenlet határozza meg a szisztematikus kódolási szabályt. Megvalósítható többciklusú lineáris szűrőkkel (MLF) .

Példák

Bináris (7,4,3) kód

Osztóként egy harmadfokú generáló polinomot választunk , ekkor a kapott kódnak lesz egy hosszúsága , az ellenőrző szimbólumok száma (a generáló polinom foka) , az információs szimbólumok száma , a minimális távolság .

Kódmátrix generálása :

ahol az első sor egy polinom , amelynek együtthatói növekvő sorrendben vannak.

A fennmaradó sorok az első sor ciklikus eltolódásai.

Ellenőrizze a mátrixot :

ahol az i -edik oszlop az 1.-től kezdve a polinommal való osztás maradéka , felfelé haladva növekvő mértékben írva.

Így például a 4. oszlop , vagy vektoros jelölésben .

Ezt könnyű ellenőrizni .

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

Generáló polinomként két osztó szorzatát választhatja ki :

Ekkor minden kódszót az információs polinom fokszámú szorzatával kaphatunk meg a következő módon:

Például egy információs szó egy polinomnak felel meg , majd egy kódszónak vagy vektoros formában .

Lásd még

Linkek