Constructie van codes
In de veeltermring Z/2Z[X] nemen we de veelterm
Xn+ 1 met n>1. Zij S de restklassenring
Z/2Z[X]/(Xn+ 1 ). Deze draagt de
structuur van een vectorruimte over het lichaam Z/2Z met
basis 1 , . . . , Xn-1 . Elk element uit S kunnen
we dus voorstellen door de coördinaatvector ten opzichte van deze
basis en omgekeerd:
a = a0+a1X+· · · +an-1Xn-1 -> a=(a0,a1, . . . , an-1).
De veelterm Xn+ 1 is reducibel als n>1:
zij is deelbaar door X+ 1. Zij gZ/2Z
[X] een veelterm die Xn+ 1 deelt en noem het quotiënt
h.
DefinitieLaat g een deler van Xn-1 in S=Z/2Z[X] zijn. Het beeld onder de lineaire afbeelding f: Z/2Z[X] -> S, a -> ag heet de cyclische code van lengte n voortgebracht door g. |
Zij l de graad van g en schrijf k = n-l. De elementen g , Xg ... , Xk-1g vormen een basis voor de beeldruimte van de afbeelding. De dimensie van de beeldruimte is dus gelijk aan n-l=k. We noemen C ook wel de code voortgebracht door g. Het polynoom g wordt dan de voortbrenger van C genoemd, en het polynoom h het checkpolynoom van C.
We zullen bovenstaande gebruiken om een informatievector uit (Z/2Z) k om te zetten in een codewoord in C. Dit doen we als volgt: Zij a=(a0, . . . ,ak-1) een vector in (Z/2Z) k. Vorm het polynoom a=a0+a1X+· · · +ak-1Xk-1. Beschouw nu f(a)= c0+ c1 X +· · · + cn-1 Xn-1 . Hierbij hoort het codewoord c=( c0, . . . , cn-1). De informatievector a wordt omgezet in het codewoord c.