Cod ciclic

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 28 ianuarie 2021; verificările necesită 2 modificări .

Un cod ciclic  este un cod bloc liniar care are proprietatea de ciclicitate, adică fiecare permutare ciclică a unui cuvânt de cod este, de asemenea, un cuvânt de cod. Folosit pentru a transforma informațiile pentru a le proteja de erori (consultați Detectarea și corectarea erorilor ).

Introducere

Fie  un cuvânt de lungime n peste un alfabet de elemente dintr- un câmp finit și  un polinom corespunzător acestui cuvânt într-o variabilă formală . Se poate observa că această corespondență este un izomorfism al spațiilor liniare. Deoarece „cuvintele” constau din litere din câmp, acestea pot fi adăugate și înmulțite (element cu element), iar rezultatul va fi în același câmp. Polinomul corespunzător combinației liniare a perechii de cuvinte și este egal cu combinația liniară a polinoamelor acestor cuvinte .

Acest lucru ne permite să considerăm mulțimea de cuvinte de lungime n peste un câmp finit ca un spațiu liniar de polinoame cu gradul cel mult n  − 1 peste câmpul .

Descriere algebrică

Dacă  este un cuvânt cod obținut printr-o deplasare ciclică cu un bit la stânga față de cuvânt , atunci polinomul corespunzător acestuia se obține din cel anterior prin înmulțirea cu x :

, folosind faptul că

Schimbați la dreapta și, respectiv, la stânga, pe biți:

Dacă  este un polinom arbitrar peste câmpul și  este un cuvânt de cod al unui cod ciclic , atunci  este și un cuvânt de cod al acestui cod.

Generarea polinomului

Definiție

Un polinom generator al unui cod ciclic este un astfel de polinom diferit de zero din , al cărui grad este cel mai mic și coeficientul la cel mai înalt grad .

Teorema 1

Dacă  este un cod ciclic și  este polinomul său generator, atunci gradul este , iar fiecare cuvânt de cod poate fi reprezentat în mod unic ca

unde gradul este mai mic sau egal cu .

Teorema 2

 — polinom generator al codului ciclic — este un divizor al binomului .

Consecințe

Astfel, orice polinom divizor poate fi ales ca polinom generator . Gradul polinomului selectat va determina numărul de simboluri de verificare , numărul de simboluri de informare .

Generarea matricei

Polinoamele sunt liniar independente, altfel pentru nenule , ceea ce este imposibil.

Deci, cuvintele cod pot fi scrise, ca și pentru codurile liniare, după cum urmează:

unde este matricea generatoare ,  este polinomul informațional .

Matricea poate fi scrisă sub formă simbolică:

Verificați matricea

Pentru fiecare cuvânt de cod al unui cod ciclic, . Prin urmare, matricea de verificare poate fi scrisă ca

Apoi

Codificare

Nesistematic

Cu codificarea nesistematică, cuvântul de cod este obținut ca produs al unui polinom informațional de unul generator:

Se poate realiza prin înmulțirea polinoamelor.

Sistematic

Cu codificarea sistematică, cuvântul cod este format sub forma unui subbloc de informații și a unei verificări:

Lăsați cuvântul informațional să formeze cele mai mari puteri ale cuvântului cod, atunci

Apoi rezultă din condiție

Această ecuație definește regula de codificare sistematică. Poate fi implementat folosind filtre liniare multiciclu (MLF) .

Exemple

Cod binar (7,4,3)

Ca divizor , alegem un polinom generator de gradul al treilea , apoi codul rezultat va avea lungimea , numărul de simboluri de verificare (gradul polinomului generator) , numărul de simboluri informaționale , distanța minimă .

Generarea matricei de cod:

unde prima linie este un polinom cu coeficienți în ordine crescătoare.

Liniile rămase sunt deplasări ciclice ale primei linii.

Verificați matricea :

unde coloana i -a, începând de la prima, este restul împărțirii după polinomul , scris în grade crescătoare, începând de sus.

Deci, de exemplu, a patra coloană este , sau în notație vectorială .

Este ușor de verificat că .

Cod binar (15,7,5) BCH

Ca polinom generator , puteți alege produsul a doi divizori :

Apoi fiecare cuvânt de cod poate fi obținut folosind produsul polinomului informațional cu gradul în felul următor:

De exemplu, un cuvânt de informare corespunde unui polinom , apoi unui cuvânt cod sau în formă vectorială .

Vezi și

Link -uri