• Keine Ergebnisse gefunden

XI Codierungstheorie

N/A
N/A
Protected

Academic year: 2021

Aktie "XI Codierungstheorie"

Copied!
31
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

XI Codierungstheorie

Inhaltsverzeichnis

47 Lineare Codes 1

47.1 Einf¨uhrung . . . 1

47.2 Lineare (bin¨are) Codes . . . 2

47.3 Bin¨are Hamming Codes als Beispiele f¨ur lineare Codes . . . 6

48 Endliche K¨orper 8 48.1 Ringe und Ideale . . . 8

48.2 Restklassenringe . . . 10

49 Zyklische Codes 17 49.1 Ein Codierer f¨ur zyklische Codes . . . 20

49.2 Der Minimalabstand zyklischer Codes . . . 21

49.3 Unvollst¨andiges Decodieren von zyklischen Codes . . . 23

49.4 Reed-Solomon Codes . . . 25

49.5 Codes bei CD-Spielern . . . 27

47 Lineare Codes

47.1 Einf¨ uhrung

Definition 47.1 (i) Ein Code C der L¨ange N ¨uber dem (endlichen) Alphabet A ist eine Teilmenge von AN.

(ii) Die Informationsrate von C ist

r(C) := 1

N log|A|(|C|) = log(|C|) log(|AN|). (iii) Sind x, y ∈AN, so heißt

d(x, y) :=|{i∈ {1, . . . , N} |xi 6=yi}|

der Hamming-Abstand von x und y.

d(C) := min{d(x, y)|x6=y∈C}

heißt der Minimalabstand von C.

(2)

Bemerkung: (i) F¨ur den Hamming-Abstand gilt die Dreiecksungleichung:

d(x, y) +d(y, z)≥d(x, z) f¨ur alle x, y, z∈AN (ii) r(C) = log|A|N(|C|) =: r erf¨ullt also|C|= (|AN|)r.

Beispiel: SeiA={a, b, . . . , z},N = 3 undC :={(aaa),(bbb), . . . ,(zzz)}. Dann ist r(C) = 13log26(26) = 13 und d(C) = 3. Der Decodierer kann 1 ¨Ubertragungsfehler korrigieren und 2 Fehler erkennen.

Definition 47.2 Sei C ⊆ AN ein Code. Ein minimal distance decoder MDD ist eine Funktion f :AN →C mit

d(f(a), a) = min{d(c, a)|c∈C} f¨ur alle a∈AN. Satz 47.3 Sei C ⊆AN ein Code, d:=d(C), f ein MDD f¨ur C.

(i) F¨ur e < d2 kann der MDD e Ubertragungsfehler korrigieren.¨

(ii) Ist die Anzahl e der ¨Ubertragungsfehler e < d. so erkennt MDD, daß die Ubertragung fehlerhaft ist (decodiert aber nicht notwendig zum richtigen Code-¨ wort).

Ist also a ∈ AN das empfangene Wort beim Senden von c ∈ C und sind beim Ubertragen¨ d(a, c) = e Fehler aufgetreten, so gilt: Ist e < d2, so ist f(a) = c. Ist e < d, so ist a=c oder a 6∈C.

Ziel der Codierungstheorie Finde CodesC mit großem Minimalabstandd(C) und großer Informationsrate r(C).

Definition 47.4 Zwei Codes C, C0 heißen¨aquivalent, falls es eine Umordnungσ von {1, . . . , N} gibt, mit C0 ={(cσ(1), cσ(2), . . . , cσ(N))|(c1, . . . , cN)∈C}.

47.2 Lineare (bin¨ are) Codes

A = {0,1} mit 1 + 1 = 0. Dann ist A ein K¨orper und wird auch mit A = F2

bezeichnet. A ist ein Beispiel eines endlichen K¨orpers. Wir werden sp¨ater sehen, daß es zu jeder Primzahlpotenz q = ps genau einen endlichen K¨orper mit q Elementen gibt. Dieser wird mit Fq bezeichnet.

Definition 47.5 SeiAein endlicher K¨orper undAN ={(a1, . . . , aN)|a1, . . . , aN ∈ A} der Standardvektorraum der Dimension N ¨uber A. Eine Teilmenge C ⊆ AN heißt linearer Code, falls C ein Untervektorraum von AN ist (C ≤ AN). Ist A=F2, so nennen wir C einenlinearen bin¨aren Code. IstC ≤AN und(b1, . . . , bk) eine A-Basis von C, (die bi sind Zeilen) so heißt die Matrix B ∈ Ak×N, deren i-te Zeile gerade bi ist, eine Erzeugermatrix von C.

(3)

Bemerkung 47.6 Ist C ≤AN ein linearer Code der Dimension k, so ist |C|=

|A|k und r(C) = Nk die Informationsrate von C. C heißt dann auch ein [N, k]- Code oder auch [N, k, d]-Code, falls d=d(C).

Bemerkung IstA ein K¨orper, x, y, z∈AN, so giltd(x, y) =d(x+z, y+z).

Satz 47.7 F¨ur den Minimalabstand eines linearen CodesC gilt:d(C) = min{d(c,0)| c∈ C}, wo 0 ∈ C der Nullvektor ist. F¨ur c ∈ C heißt d(c,0) =: w(c) auch das Gewicht von c.

Beweis.d(c, c0) =|{i|ci 6=c0i}|=|{i |ci−c0i 6= 0}|=d(c−c0,0) =w(c−c0). Ist C ein linearer Code, so gilt c−c0 ∈C fallsc, c0 ∈C. ¤ Beispiel Der erweiterte Hamming Code e8

Erzeugermatrix:

1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0

Code:

0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 e8 ist ein [8,4,4]-Code. r(e8) = 48,d(e8) = 4.

Im Vergleich dazu hat der Wiederholungscode mit Erzeugermatrix

1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1

(4)

auch Informationsrate 12 aber kleineren Minimalabstand 2.

Bemerkung: Jeder lineare Code C ≤ AN ist ¨aquivalent zu einem Code mit Er- zeugermatrix der Form (Ik|PN−k).

Definition 47.8 Sei A ein K¨orper.

(a) F¨ur x, y ∈AN sei (x, y) :=PN

i=1xiyj ∈A das Skalarprodukt zwischen x und y.

(b) Ist C ≤AN ein linearer Code, so definieren wir

C :={x∈AN |(x, c) = 0 f¨ur alle c∈C}

den dualen Code zuC.

(c) C heißt selbstdual, falls C =C.

Bemerkung 47.9 (i) Das Skalarprodukt ist symmetrisch, d.h. f¨ur allex, y ∈AN ist (x, y) = (y, x).

(ii) F¨ur a1, a2 ∈A und x, y1, y2 ∈ AN ist (x, a1y1+a2y2) = a1(x, y1) +a2(x, y2) d.h. das Skalarprodukt ist linear.

(iii) F¨ur x ∈ AN gilt: x ∈ C ⇔ (x, bi) = 0 f¨ur alle 1 ≤ i ≤ k f¨ur eine Basis (b1, . . . , bk) von C.

(iv) C≤AN ist ein linearer Teilraum.

(v) F¨ur C ≤AN gilt (C) =C.

Beweis. (i) Klar aus der Definition. (ii) Nachrechnen, folgt aus dem Distributiv- gesetz.

(iii) ⇒ ist klar, da bi ∈ C. ⇐ Sei (x, bi) = 0 f¨ur alle i. Zu c ∈ C gibt es a1, . . . , ak ∈A, mit c=Pk

i=1aibi. Dann ist (x, c) = Pk

i=1ai(x, bi) = 0.

(iv) Zu zeigen ist, daß f¨ur a1, a2 ∈ A und x1, x2 ∈ C die Linearkombination a1x1+a2x2 ∈Cliegt. Seic∈C. Dann ist (a1x1+a2x2, c) = a1(x1, c)+a2(x2, c) = 0.

(v) Klar ist C ⊆ (C). Die Gleichheit folgt, da beide Teilr¨aume gem¨aß dem

n¨achsten Satz die gleiche Dimension haben. ¤

Beispiel: F¨ur C=e8 gilt C =C.

Satz 47.10 Sei C ≤AN ein linearer Code der Dimension dim(C) = k.

(i) dim(C) = N −k.

(ii) Ist (Ik|PN−k) eine Erzeugermatrix von C, so ist (−PNtr−k|IN−k) eine Erzeu- germatrix vonC.

Beispiel: A=F2,N = 6, k = 2, Erzeugermatrix von C:

µ 1 0 0 1 1 0 0 1 0 0 1 1

¶ .

(5)

Dann ist dim(C) = 6−2 = 4 und eine Erzeugermatrix von C ist:

0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1

Bemerkung IstB eine Erzeugermatrix von C, so gilt f¨ur allex∈AN: x∈C ⇔x·Btr = 0

Eine MatrixH ∈AN×N−kmit der Eigenschaft, daßx∈C ⇔x·H= 0 f¨ur alle x∈ AN heißt Pr¨ufmatrix oderKontrollmatrix f¨ur den CodeC.

MDD f¨ur lineare Codes Sei C ≤ AN ein linearer Code und H ∈ AN×(N−k) eine Pr¨ufmatrix f¨ur C. Wird das Codewort c ∈ C gesendet und f¨ugt der Kanal den Fehlervektorehinzu, so wird der Vektorc+eempfangen. Gilt (c+e)H = 0 (z.B.

bei e = 0), so ist c+e ∈ C und jeder MDD f wird c+e zu f(c+e) = c+e decodieren. I.a. ist aber (c+e)H =cH+eH = 0+eH =v ∈AN−k. Bestimmt man nun f¨ur jedes v ∈ AN−k einen Vektor a :=av ∈ AN m¨oglichst kleinem Gewichts (der vermutliche Fehlervektor), mitaH =v so kann man jedes empfangene Wort x∈AN mit xA=v zu einem Codewort c=x−a decodieren mitd(c, x) =w(a).

Bemerkung 47.11 Sei C ≤ AN ein linearer Code und H ∈ AN×(N−k) eine Pr¨ufmatrix f¨urC.

(i) F¨ur x∈AN heißtxH ∈AN−k das Syndrom von x.

(ii) Ista∈AN mitaH =s, so ist die Menge aller Vektorenx∈AN mit demselben Syndrom gleich

H−1(s) := {x∈AN |xH =s}={a+c|c∈C}.

(iii) F¨urs ∈S heißtas ∈H−1(s)einminimaler Vertreter, fallsw(as) = min{w(x)| x∈H−1(s)}.

(iv) Es gilt AN =∪.s∈S H−1(s).

(v) W¨ahlt man f¨ur jedess ∈S einen minimalen Vertreter as, so ist die Funktion f :AN →C definiert durch f(a) :=a−as, falls aH =s ist, ein MDD f¨ur C.

Beispiel: C≤F62, Erzeugermatrix Gund Pr¨ufmatrix H:

G:=

1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1

, H :=

 1 1 1 0 0 1 1 1 1 0 0 1

Die Menge der Syndrome istF22und eine Menge minimaler VertreterV ist gegeben als:

V ={a00= (0,0,0,0,0,0), a10 = (0,1,0,0,0,0), a01 = (0,0,1,0,0,0), a11= (1,0,0,0,0,0)}.

(6)

47.3 Bin¨ are Hamming Codes als Beispiele f¨ ur lineare Co- des

Definition 47.12 Sei N = 2r−1 f¨ur ein r∈ N. Sei H ∈FN2 ×r eine Matrix, in deren Zeilen gerade alle Vektorenxi 6= 0 von Fr2 stehen:

H =

 x1

x2

...

xN

Der CodeC mit Pr¨ufmatrix H heißt Hamming Code der L¨ange N. Beispiel: r= 2⇒N = 3 und

H =

 0 1 1 0 1 1

Der Hamming-Code hat Dimension 1 und ErzeugermatrixG= (1,1,1).

r= 3⇒N = 7 und

H =

0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Der Hamming Code hat Dimension 4 = 7-3 und Erzeugermatrix

G=

1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1

Satz 47.13 Ist N = 2r−1, so gibt es bis auf ¨Aquivalenz genau einen Hamming CodeC =HN =HN(2) der L¨angeN. Dieser ist von Dimension dim(C) =N−r und hat Minimalabstand d(C) = 3.

Beweis. Eindeutigkeit: Umordnen der Zeilen der Pr¨ufmatrix H von C liefert zu C ¨aquivalenten Code. dim(C) =N −Rang(H) =N −r. Zum Minimalabstand:

Sei wie oben die i-te Zeile von H mit xi bezeichnet. Ein Wort c = (c1, . . . , cN) liegt genau dann inC, fallsc1x1+. . .+cNxN = 0. Ist nunc6= 0, so istw(c)≥3,

da je 2 Vektorenxi linear unabh¨angig sind. ¤

(7)

Bemerkung 47.14 Ist C =HN(2) der Hamming Code der L¨ange N = 2r−1, so ist S = Fr2 die Menge der Syndrome von C gerade die Menge der Zeilen der Pr¨ufmatrix H zusammen mit dem Nullvektor. Ist xi ∈ S − {0} die i-te Zeile von H, so ist der eindeutig bestimmte minimale Vertreter zu xi gerade der i-te Einheitsvektor ei = (0, . . . ,0,1,0, . . . ,0) (1 an der i-ten Stelle).

Definition 47.15 Ein Code C ⊆AN heißt perfekt, falls es eine Zahl e gibt, so daß zu jedem a∈AN genau ein c∈C existiert mit d(a, c)≤e.

Beispiel: (i)C =AN ist ein perfekter Code mite = 0.

(ii) IstA=F2undN ungerade, so ist der WiederholungscodeC ={(0, . . . ,0),(1, . . . ,1)}

ein perfekter Code mit e= N−12 .

(iii) Der Hamming CodeH7(2) ist ein perfekter Code mit e= 1.

Satz 47.16 Hamming Codes sind perfekte Codes mit e= 1.

Beweis. Sei C der Hamming Code der L¨ange N = 2r−1 mit Pr¨ufmatrix H und a ∈ FN2 . Dann gilt entweder aH = 0 oder aH = xi = eiH ist ein Vektor 6= 0 inFr2 und damit gleich einer Zeile (der i-ten) von H. D.h. entwedera ∈C, oder a−ei ∈C. Dad(a−ei, a) =w(ei) = 1 ist, gibt es also zu jedema∈FN2 ein c∈C mit d(a, c)≤1. Die Eindeutigkeit eines solchen cfolgt, da d(C) = 3 ist. ¤

Es gilt: Satz

IstC ein perfekter bin¨arer linearer Code mite= 1, so istC ein Hamming Code.

Ist C ein perfekter bin¨arer linearer Code mit e >1, so istC ein Wiederholungs- code,C ={(0. . .0),(1. . .1)}oderC ist der bin¨are Golay CodeG23 der L¨ange 23 und Dimension 12. Es gilt d(G23) = 7 und G23 ist ein perfekter Code mit e = 3.

Eine Erzeugermatrix f¨urG23 ist (I12, P) mit

P =

1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1

Definition 47.17 Sei A ein K¨orper und C ⊆AN ein Code. Dann ist der erwei- terte Code C˜ ⊆AN+1 definiert als

C˜ :={(c1, . . . , cN, cN+1)|(c1, . . . , cN)∈C, cN+1 =−

N

X

i=1

ci}.

(8)

Satz 47.18 SeiC ≤AN ein linearer Code der Dimensionk. Dann giltdim( ˜C) = k. Ist G eine Erzeugermatrix und H eine Pr¨ufmatrix f¨ur C, so sind

G˜ := (G|g), H˜ :=

1 H ...

1 0 . . . 0 1

Erzeugermatrix bzw. Pr¨ufmatrix von C, wo˜ gk :=−PN i=1Gki. Beispiel: (i) Der erweiterte Hamming Code H^7(2) =e8. (ii) C ≤ F52, Erzeugermatrix G =

µ 1 0 0 1 1 0 1 1 1 1

. Der erweiterte Code ist C˜ ⊆ F62 mit Erzeugermatrix ˜G =

µ 1 0 0 1 1 1 0 1 1 1 1 0

. Eine Pr¨ufmatrix f¨ur C

istH=

0 1 1 1 1 1 1 0 0 0 1 0 0 0 1

. Eine Pr¨ufmatrix f¨ur ˜C ist entweder

0 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

 oder

H˜ =

0 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1

 .

Bemerkung 47.19 Sei C ≤FN2 ein linearer bin¨arer Code und C˜ der erweiterte Code. Dann sind die Gewichte w(˜c) ∈ 2Z gerade f¨ur alle ˜c ∈ C. Ist also˜ d(C) ungerade, so ist d( ˜C) =d(C) + 1.

48 Endliche K¨ orper

48.1 Ringe und Ideale

Definition 48.1 Ein Ring (kommutativer Ring mit Einselement) (R,+,·) = R ist eine Menge R mit 2 Verkn¨upfungen +,·, die die folgenden Gesetze erf¨ullen:

Ak x+y=y+x (Kommutativgesetz)

Aa (x+y) +z =x+ (y+z) (Assoziativgesetz) An ∃0∈R, so daß

(i) x+ 0 = x f¨ur alle x ∈ R und (ii) f¨ur alle x ∈ R gibt es ein y ∈ R mit

(9)

x+y= 0

Mk x·y=y·x (Kommutativgesetz)

Ma (x·y)·z =x·(y·z) (Assoziativgesetz) Mn ∃1∈R, so daß x·1 =x f¨ur alle x∈R.

AM x·(y+z) =x·y+x·z.

Beispiele: (i) Jeder K¨orper (also z.B.R,Q, C, F2) ist ein Ring, wobei in K¨orpern zus¨atzlich jedes Element 6= 0 ein multiplikatives Inverses hat.

(ii) Z ist ein Ring. Es gibt in Zaber z.B. kein Element a mit 2a= 1.

(iii) Die Menge der Polynome K[x] ={

n

X

i=0

aixi |n∈N, ai ∈K}

¨uber einem K¨orperK (oder allgemeiner ¨uber einem Ring) ist ein Ring. Auch hier k¨onnen wir nicht durch alle Elemente 6= 0 teilen.

Definition 48.2 Sei R ein Ring. Eine TeilmengeI ⊆R heißt ein Ideal, falls gilt (i) F¨ur alle a, b∈I liegt auch die Summe a+b∈I.

(ii) F¨ur alle a∈I und r∈R gilt ra∈I.

In Zeichen IER.

Beispiele: (i) Ist R ein Ring, so ist {0} ⊆ R ein Ideal, das Nullideal. Ebenso ist R selbst ein Ideal in R.

(ii) Die Menge der geraden Zahlen bildet ein Ideal inZ, die Menge der ungeraden Zahlen jedoch nicht.

(iii) Ist n∈Z, so bildet die Menge aller durchn teilbaren Zahlen in Z ein Ideal.

Bemerkung 48.3 (i) Ist I ein Ideal in einem Ring R, so gilt I =R⇔1∈I.

(ii) Ein K¨orper K hat genau 2 Ideale, {0} und K.

(iii) Ist R ein Ring und a ∈ R, so ist die Menge {ar | r ∈ R} ein Ideal von R.

Dieses wird mit(a) bezeichnet und heißt das von a erzeugte Hauptideal.

Beweis. (i) I = R ⇒ 1 ∈ I ist klar. Zur anderen Richtung. Sei 1 ∈ I ER. Ist r∈R, so gilt r=r·1∈I und damit R⊆I, also R =I.

(ii) SeiIEK mitI 6={0}. Dann gibt esk∈I mit k6= 0. DaK ein K¨orper ist, ist k in K invertierbar, d.h. es gibt k−1 ∈K mit k−1k = 1. Damit ist 1 = k−1k ∈I und daherI =K.

(iii) Klar, (i) und (ii) aus Definition 48.2 nachrechnen. ¤

(10)

48.2 Restklassenringe

Definition 48.4 Sei R ein Ring und I ein Ideal in R. F¨ur r∈R heißt r :=r+I :={r+i|i∈I}

die Restklasse von r nach I. Die Menge der Restklassen nach I wird mit R/I :={r+I |r ∈R}

bezeichnet.

Beispiel: R = Z, I = (2) = {2n |n ∈Z}. 4 +I = I Menge der geraden Zahlen, 7 +I = 1 +I Menge der ungeraden Zahlen undZ/(2) hat genau 2 Elemente 0,1.

Bemerkung 48.5 Es gilt a ∈ b ⇔ a−b ∈ I. Daf¨ur schreiben wir auch a ≡ b (mod I), bzw. a≡b (mod p), falls I = (p) ein Hauptideal ist.

Satz 48.6 IstIERein Ideal in einem RingR, so wirdR/I zu einem Ring durch r1+r2 :=r1+r2 und r1·r2 :=r1·r2, der Restklassenring von R nach I.

Beweis. Die Ringgesetze folgen aus denen vonR. Das Nullelement von R/I ist 0 und das Einselement ist 1. Das einzige, was zu zeigen ist, ist daß die definierten Verkn¨upfungen nicht von der Wahl von ri ∈ ri + I abh¨angen. Sei also r10 = r1+i1 ∈ r1 und r20 =r2+i2 ∈r2. Dann ist r1 =r01 und r2 =r20. Zu zeigen, daß r1+r2 =r01+r20 und r1·r2 =r01·r02.

r10 +r02 =r1+i1+r2+i2 =r1+r2+ (i1 +i2) = r1+r2

r10 ·r20 = (r1 +i1)·(r2+i2) =r1r2+ (r1i2+r2i1+i1i2) = r1r2

¤ Beispiel n∈Z, Z/nZ={0,1,2, . . . , n−1}.

n= 2: Z/2Z=F2.

n= 3: Z/3Z={0,1,2 = −1} mit 1 + 2 = 3 = 0, 2·2 = 4 = 1.

n= 4: Z/4Z={0,1,2,3} mit 2 + 3 = 5 = 1, 2·2 = 4 = 0.

Definition 48.7 Seien a, b ∈ Z, a, b 6= 0. Dann sagen wir a teilt b, falls es ein n∈Z gibt, mit a·n=b. Der gr¨oßte gemeinsame Teiler ggT(a, b) von a und b ist max{d∈N|d teilt a und d teiltb}.

Satz 48.8 Der gr¨oßte gemeinsame Teiler d von zwei ganzen Zahlen a, b 6= 0 kann mit dem folgenden Algorithmus berechnet werden, mit dem weiter zwei ganze Zahlen x1, x2 bestimmt werden mit d=x1a+x2b.

(11)

Idee: Seia1 :=a, a2 :=b. an+2 = Rest der Division von an durch an+1: a1 = q1a2 + a3 mit |a3|<|a2| fallsa2 6= 0 a2 = q2a3 + a4 mit |a4|<|a3| fallsa3 6= 0 a3 = q3a4 + a5 mit |a5|<|a4| fallsa4 6= 0 a4 = q4a5 + a6 mit |a6|<|a5| fallsa5 6= 0 a5 = q5a6 + a7 mit |a7|<|a6| fallsa6 6= 0

... ... ... ... ...

Da|ai|immer kleiner werden, giltan = 0 f¨ur einn. Ist z.B.a7 = 0 (unda6 6= 0), so gilta5 =q5a6, d.h. a6 teilt a5,a4 =q4a5+a6 = (q4q5+ 1)a6, d.h. a6 teilt a4, usw., d.h. a6 teilt a2 und a6 teilt a1. Wir suchen nunx1, x2 ∈Z mit a6 =x1a1+x2a2. Dann ist|a6|= ggT(a1, a2) wirklich der gr¨oßte gemeinsame Teiler von a1 und a2, da jede Zahl, die a1 und a2 teilt, auch a6 = x1a1 +x2a2 teilt. Dazu l¨osen wir r¨uckw¨arts auf:

a6 =a4−q4a5 =a4−q4(a3−q3a4) = (1+q4q3)a4−q4a3 = (1+q4q3)(a2−q2a3)−q4a3 =

= (1 +q4q3)a2−(q2+q4q3q2+q4)a3 = (1 +q4q3)a2−(q2+q4q3q2+q4)(a1−q1a2) =

=−(q2+q4q3q2+q4)a1+ (1 +q4q3+q1q2+q1q4+q4q3q2q1)a2 Algorithmus 48.9 Euklidischer Algorithmus

Eingabe: a, b∈Z, a, b6= 0.

Ausgabe: d= ggT(a, b) und x, y ∈Z, mit d=xa+yb.

0) Setze x0 := 1, x1 := 0, y0 := 0, y1 := 1, e := 1.

1) Bestimme q, r∈Z mit|r|<|b| und a =qb+r.

2) Setze h :=qx1 +x0, x0 :=x1, x1 :=h sowie h :=qy1 +y0, y0 :=y1, y1 :=h und e:=−e.

3) Ist r6= 0, so setze a :=b, b :=r und gehe zu 1).

4) (r = 0). Setze d := b und gib d = ggT(a, b) und x := e·x0 und y := −e·y0

aus.

Beispiel: a= 82, b= 24:

82 = 3·24 + 10 24 = 2·10 + 4 10 = 2·4 + 2

4 = 2·2 + 0. Also ist 2 = ggT(82,24) und

2 = 10−2·4 = 10−2·(24−2·10) = 5·10−2·24 = 5·(82−3·24)−2·24 = 5·82−17·24.

Beispiel:a= 37, b= 41. Gesucht 37−1 ∈Z/41Z. Dazu: 41 ist eine Primzahl, also ist ggT(37,41) = 1. Suchen mit dem Euklidischen Algorithmus Zahlen x, y ∈ Z mit 37x+ 41y = 1. Dann gilt 37x= 1−41y= 1∈Z/41Z. Also ist x= 37−1. 41 = 37 + 4 und 37 = 9· 4 + 1. Also ist 1 = ggT(37,41) = 37 − 9 · 4 = 37−9·(41−37) = 10·37−9·41, d.h. 37−1 = 10.

(12)

Satz 48.10 Ist p∈ Z eine Primzahl (d.h. p >1 und p ist nur durch 1 und sich selbst teilbar), so ist der Restklassenring Z/pZ=:Fp ein K¨orper, der (eindeutig bestimmte) K¨orper mit p Elementen.

Beweis. Wir wissen schon, daßZ/pZein Ring ist. D.h. wir m¨ussen nur noch zeigen, daß wir zu jedem Elementa6= 0∈Z/pZeinb∈Z/pZfinden, mitab= 1, d.h. wir m¨ussen die Gleichungab= 1 +px f¨ur jedes a6∈ (p) l¨osen. Da a6= 0 ∈Z/pZ ist, gilt p teilt nicht a. Also ist ggT(a, p) = 1. Nach dem Euklidischen Algorithmus gibt es Zahlen b, x mit b·a+x·p= 1. Also ist ba= 1 inFp. ¤ Bemerkung:

Der Euklidische Algorithmus zeigt, daß alle Ideale in Z Hauptideale sind, d.h.

{nZ|n∈N∪ {0}} ist die Menge aller Ideale inZ.

Denn: Sei IEZ ein Ideal. Ist I 6= (0), so gibt es 0 6= a ∈ I. Also ist (a) ⊆ I.

Ist I 6= (a), so gibt es b ∈ I −(a). Dann ist d := ggT(a, b) = xa+yb ∈ I und (a) ⊂ (d) ⊆ I. Da b ∈ (d) ist, ist das Hauptideal (d) echt gr¨osser als (a). Nach endlich vielen Schritten ist dann I = (d) ein Hauptideal.

Definition 48.11 Sei R=K[x] der Polynomring ¨uber einem K¨orper K.

(i) Sind a, b∈R, so sagen wir a teilt b, falls es ein q ∈R gibt mit b=aq.

(ii) Ein Polynom p ∈ R heißt irreduzibel, falls d := Grad(p) ≥ 1 ist und alle Teiler von p entweder Grad 0 oder Grad d haben.

(iii) Sind a, b∈R, a, b6= 0, so heißt das normierte (f¨uhrender Koeffizient ist 1) Polynom p ∈ R maximalem Grades, welches beide Polynome a und b teilt der gr¨oßte gemeinsame Teiler von a und b, p:= ggT(a, b).

Beispiel: Bestimme ggT(x2+ 1, x2+x+ 1) inF2[x].

x2+x+ 1 = (x2+ 1) +x x2+ 1 =x·x+ 1

x=x·1 + 0.

Also ist 1 = ggT(x2+ 1, x2+x+ 1) = (x2+ 1)−x·x= (x2+ 1)−x(x2+x+ 1−(x2+ 1)) = (1 +x)(x2+ 1)−x(x2+x+ 1).

Satz 48.12 Sei K ein K¨orper und R := K[x] der Ring der Polynome ¨uber K. Analog zum Euklidischen Algorithmus 48.9 f¨ur ganze Zahlen kann man den gr¨oßten gemeinsamen Teiler d = ggT(a, b) = xa+yb ∈ R (x, y ∈ R), von zwei Polynomena, b∈R, a, b6= 0 berechnen. Dazu ersetzt man in 48.9 den Schritt 1) durch

1’) Bestimme q, r ∈R mitGrad(r)< Grad(b) und a =qb+r.

Analog zu Satz 48.10 gilt:

Satz 48.13 Sei K ein K¨orper und R :=K[x] der Ring der Polynome ¨uber K.

Ist p∈R irreduzibel, so ist R/(p) ein K¨orper.

(13)

Beispiel: (i) Sei K =R und p(x) = x2 + 1. Sei R :=R[x]/(x2+ 1). Dann ist R ein 2-dimensionaler Vektorraum ¨uber R mit Basis (1, x). Weiter ist p(x) ∈ R[x]

irreduzibel. x∈R[x]/(x2+ 1) erf¨ullt x2 =−1 und R[x]/(x2+ 1)∼=C.

(ii) Sei K = F2 und p(x) = x2 +x+ 1 ∈ F2[x]. Dann ist p(x) irreduzibel und R:=F2[x]/(p(x)) ein K¨orper.R ist ein 2-dimensionaler Vektorraum ¨uberF2 mit Basis (1, x). Elemente vonR: 0,1, x, x+ 1. Multiplikationstabelle:

· 0 1 x x+ 1

0 0 0 0 0

1 0 1 x x+ 1

x 0 x x+ 1 1

x+ 1 0 x+ 1 1 x

Beispiel

K = F2[x]/(x2 + x+ 1). Sei α := x ∈ K. Dann gilt α2 = α + 1 und jedes Element vonK l¨aßt sich eindeutig schreiben als a0+a1α mit a0, a1 ∈ F2. K ist als Vektorraum also isomorph zu F22. Das Element α ist ein primitives Element von F22 und es gilt

0 = = (00)

1 = 1 = (10)

α = α = (01)

α2 = 1 + α = (11)

Beispiel Der Hexacode: Sei α := x ∈ F2[x]/(x2+x+ 1) = F4. Der Hexacode C6

ist der lineare Code der Dimension 3 inF64 mit Erzeugermatrix:

1 0 0 1 α2 α 0 1 0 1 α α2

0 0 1 1 1 1

.

Eine Pr¨ufmatrix von C6 ist

H :=

1 α2 α 1 α α2

1 1 1

1 0 0

0 1 0

0 0 1

 .

Es giltr(C6) = 12 und d(C6) = 4.

(14)

Indem manαdurch (01), 1 durch (10) usw. ersetzt erh¨alt man aus dem Code der L¨ange 6 und Dimension 3 ¨uber F4 einen Code der L¨ange 12 und Dimension 6, Minimalabstand 4 ¨uber F2 mit Erzeugermatrix:

1 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1

 .

Hauptsatz 48.14 Sei K ein endlicher K¨orper. Dann gilt

(i) Es gibt ein n ∈N mitn·1 = 1 +. . .+ 1 = 0 (n Summanden).

(ii) char(K) := min{n ∈N|n·1 = 0} ist eine Primzahl und heißt die Charakte- ristik von K.

(iii) Ist p:= char(K), so gilt Fp ={0,1,2 = 1 + 1, . . . , p−1} ⊆K und K ist ein Fp-Vektorraum. Istf := dimFp(K), die Dimension von K als Fp-Vektorraum, so gilt |K|=pf.

(iv) Es gibt ein Element α ∈ K, so daß die Menge K := K − {0} aus den Potenzen von α besteht.

K ={α0 = 1, α, α2, . . . , αpf−1} Ein solches α∈K heißt primitives Element von K.

(v) Je zwei endliche K¨orperK,K0 mit|K|=|K0|sind isomorph, d.h. es gibt eine bijektive Abbildungϕ :K →K0 mitϕ(a+b) = ϕ(a)+ϕ(b)undϕ(a·b) =ϕ(a)·ϕ(b) f¨ur allea, b∈K. Wir bezeichnen den endlichen K¨orper mitpf Elementen alsFpf. (vi) F¨ur allea∈Fpf giltapf =a undFpf besteht gerade aus denpf verschiedenen Nullstellen von xpf −x. Daraus sieht man, daß

Fpd ⊆Fpf ⇔d teilt f.

(vii) Fpf ∼= Fp[x]/(h(x)), wo h(x) ∈ Fp[x] ein irreduzibles, normiertes Polynom vom Gradf ist.

Beweis. (i) 1,1 + 1,1 + 1 + 1, . . . sind alles Elemente von K. Da K endlich ist, k¨onnen diese nicht alle verschieden sein, d.h. es gibt einn < m mit n·1 =m·1.

Dann ist aberm−n ∈Nund (m−n)·1 = 0.

(ii) Sein ∈Nminimal mit n·1 = 0. Istn=abmit a, b∈N, a < nund b < n, so gilt a·16= 0 undb·16= 0. D.h. es gibt ein a−1 ∈K mit a−1(a·1) = 1. Also gilt

0 =a−10 = a−1n·1 = a−1(ab)·1 = a−1(a·1)(b·1) = (b·1)6= 0

was ein Widerspruch ist. Also gibt es keine solchen Elemente a, b∈ N und n ist eine Primzahl.

(15)

(iii) Sei p := char(K). Dann gilt M := {0,1,2·1, . . . ,(p−1)·1} ⊆ K und die Elemente von M addieren und multiplizieren sich genauso wie die von Z/pZ.

Also istFp ⊆K. Elemente vonK kann man addieren und mit Elementen von Fp

multiplizieren, also ist K ein Vektorraum ¨uber Fp.

(iv), (v), (vi) Sind nicht schwierig, brauchen jedoch etwas mehr Vorbereitung.

(vii) Isth(x)∈Fp[x] irreduzibel vom Gradf, so ist Fp[x]/(h(x)) ein K¨orper mit pf Elementen also isomorph zu Fpf. Es bleibt zu zeigen, daß es zu jedem f ein irreduzibles Polynom h(x) ∈ Fp[x] mit Grad(h) = f gibt. Auch dies ist nicht schwierig (geht durch Abz¨ahlen), wird aber hier weggelassen. ¤ Beispiel

K = F2[x]/(x4 +x+ 1). Sei α := x ∈ K. Dann gilt α4 +α+ 1 = 0 und jedes Element von K l¨aßt sich eindeutig schreiben als a0 +a1α +a2α2 +a3α3 mit a0, a1, a2, a3 ∈F2. K ist als Vektorraum also isomorph zu F42. Das Element α ist ein primitives Element von F24 und es gilt

0 = = (0000)

1 = 1 = (1000)

α = α = (0100)

α2 = α2 = (0010)

α3 = α3 = (0001)

α4 = 1 + α = (1100)

α5 = α + α2 = (0110)

α6 = α2 + α3 = (0011)

α7 = 1 + α + α3 = (1011)

α8 = 1 + α2 = (1010)

α9 = α + α3 = (0101)

α10 = 1 + α + α2 = (1110) α11 = α + α2 + α3 = (0111) α12 = 1 + α + α2 + α3 = (1111) α13 = 1 + α2 + α3 = (1011)

α14 = 1 + α3 = (1001)

Man beachte, daß z.B. auch die Potenzen von α3 den F2-Vektorraum K er- zeugen, da 1, α3, α6, α9 also (1000),(0001),(0011),(0101) linear unabh¨angig sind.

Jedoch ist β :=α3 kein primitives Element von K, da β5 = (α3)515 = 1 und daher{βi}={1, α3, α6, α9, α12} nur 5 Elemente enh¨alt (und nicht 15 =|K|).

Rechnen in endlichen K¨orpern. Sei K = Fpf = Fp[x]/(h(x)) der K¨orper mit pf Elementen (f = Grad(h)). Dann ist K ein Fp-Vektorraum und man kann die Elemente in K alsf-Tupel

a0+a1x+. . .+af−1xf−1 ≡(a0, a1, . . . , af−1)∈Ffp

schreiben. In dieser Darstellung ist es einfach, 2 K¨orperelemente zu addieren, aber schwierig, sie zu multiplizieren. Deshalb benutzt man manchmal eine andere

(16)

Darstellung f¨ur die K¨orperelemente durch sogenannteZech-Logarithmen. Ist α ∈ K ein primitives Element, so ist

K ={0} ∪ {1 = α0, α, α2, . . . , αpf−2}.

Die Multiplikation ist einfach: αiαj = αi+j, wobei man den Exponenten i+j modulopf −1 lesen muß. Zur Berechnung der Summe αij benutzt man eine Tabelle: Ist i≤j, so ist

αiji(1 +αj−i)

Es gen¨ugt also, sich f¨ur jede Zahl k das l ∈ {0, . . . , pf − 2} zu merken mit 1 +αkl (ist 1 +αk = 0, so setzt man z.B. l=−1).

Im Beispiel K =F16, α das primitive Element von oben mit α4+α+ 1 = 0 findet man 1 +αkl mit k, l wie folgt:

k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 l −1 4 8 14 1 10 13 9 2 7 5 12 11 6 3

Satz 48.15 SeiK :=Fpf der K¨orper mitpf-Elementen undFp :={0,1,2, . . . , p−

1} ⊆ K. Dann ist K ein Fp-Vektorraum und die Abbildung F :K →K, α7→αp ist eine bijektiveFp-lineare Abbildung mit F(αβ) =F(α)F(β) f¨ur alle α, β ∈K. F heißt der Frobenius-Automorphismus von K ¨uber Fp.

Beweis. Seiena, b∈Fp ⊆K und α, β ∈K. Zu zeigen ist F(aα+bβ) =aF(α) + bF(β). Nun ist

(aα+bβ)p =

p

X

k=0

µp k

(aα)k(bβ)p−k mit ¡p

k

¢ = k!(p−k)!p! ∈ Z. Ist 1 ≤ k ≤ p−1, so ist der Z¨ahler von k!(p−k)!p! durch p teilbar, der Nenner jedoch nicht. Also ist ¡p

k

¢ ∈ pZ f¨ur 1 ≤ k ≤ p−1, d.h.

¡p

k

¢·1 = 0 inK. Damit ist

(aα+bβ)p = (aα)p+ (bβ)p =apαp+bpβp

Es gen¨ugt also zu zeigen, daß f¨ur allea∈Fp =Z/pZdie p-te Potenz ap =a ist.

Dazu zeigen wir per Induktion ¨ubera, daß f¨ur alle a∈N die p-te Potenzap ≡a (mod p) ist:

F¨ura = 1 gilt 1p = 1.

a ⇒ a+ 1: Es ist (a+ 1)p = Pp k=0

¡p

k

¢ak ≡ 1 +ap (mod p) wie eben. Nach Induktionsvoraussetzung istap ≡a (mod p), also ist (a+ 1)p ≡1 +ap ≡1 +a (mod p). Also istF eineFp-lineare Abbildung. Der Kern vonF ist{α ∈Fpfp = 0}={0}. Damit istF injektiv und daher auch bijektiv, aus Dimensionsgr¨unden.

Klar istF(αβ) = (αβ)ppβp =F(α)F(β). ¤

(17)

Folgerung 48.16 Istα∈Fpf undh∈Fp[x]mith(α) = 0, so gilt auchh(F(α)) = 0.

Beispiel:

x16−x=x(x+ 1)(x2+x+ 1)(x4+x+ 1)(x4+x3+ 1)(x4+x3+x2+x+ 1) ∈F2[x].

Ist α ∈ F16 eine Nullstelle von x4 +x+ 1, so sind {α2, α4, α8, α16 = α} die 4 Nullstellen von x4 +x + 1. F¨ur β := α3 gilt β432 + β + 1 = 0 und {β2, β4, β8, β16 = β} sind die Nullstellen von x4 +x3 +x2 +x+ 1. Setzt man γ :=α5, so gilt γ2 +γ + 1 = 0 ({a0 +a1γ |a0, a1 ∈F2} ≤F16 ist der Teilk¨orper F4 von F16) und {γ2, γ4 =γ} sind die Nullstellen vonx2+x+ 1.

49 Zyklische Codes

Im gesamten Abschnitt bezeichnet q :=pf eine Potenz einer Primzahl p und Fq

den K¨orper mit q Elementen.

Definition 49.1 Ein linearer Code C≤FNq heißt zyklisch, falls (c1, . . . , cN)∈C ⇒(cN, c1, c2, . . . , cN−1)∈C

Satz 49.2 (i) Die Abbildungϕ :FNq →Fq[x]/(xN−1)definiert durch(a1, . . . , aN)7→

a1+a2x+. . .+aNxN−1 definiert einen Fq-Vektorraum Isomorphismus.

(ii)C ≤FNq ist ein zyklischer Code, genau dann wenn ϕ(C)EFq[x]/(xN−1) ein Ideal ist.

Beweis. (i) Nachrechnen: Zu zeigen ist, daß die Abbildung Fq-linear und bijektiv ist.

(ii) Es istx(a1+a2x+. . .+aNxN−1) =a1x+a2x2+. . .+aNxN

=a1x+a2x2 +. . .+aN ·1 =aN +a1x+a2x2+. . .+aN−1xN−1.

ϕ(C) ist immer einFq-Teilvektorraum vonFq[x]/(xN−1). Damit ϕ(C) ein Ideal ist, muß zus¨atzlich noch xϕ(c) ∈ ϕ(C) sein f¨ur alle c∈ C. Dies ist nach obiger Rechnung aber genau die Bedingung daf¨ur, daßC ein zyklischer Code ist. ¤ Im folgenden werden wir stets voraussetzen, daß N nicht durch pteilbar ist.

Dann gilt:

ggT(xN −1, d

dx(xN −1)) = ggT(xN −1, N xN−1) = ggT(xN −1, xN−1) = 1 dax·xN−1 −(xN −1) = 1 ist. D.h. das Polynom xN −1 hat keine mehrfachen Nullstellen und l¨aßt sich eindeutig schreiben als Produkt

xN −1 = f1(x)·. . .·ft(x)

mit f1, . . . , ft∈Fq[x] normiert, irreduzibel und paarweise verschieden.

(18)

Beispiel

N = 15,q = 2:

x15−1 = (x+ 1)(x2+x+ 1)(x4+x+ 1)(x4+x3+ 1)(x4+x3+x2+x+ 1)∈F2[x].

N = 6, q = 3:

x6−1 = (x−1)3(x+ 1)3 ∈F3[x].

N = 4, q = 3:

x4−1 = (x−1)(x+ 1)(x2+ 1)∈F3[x].

Diese Faktorisierungen kann man z.B. mit MAPLE berechnen mit dem Befehl Factor(x4−1) mod 3

Die Ideale in Fq[x]/(xN −1) sind dann genau die Hauptideale (fi1...is) wo fi1...is := fi1(x)·. . .·fis(x) f¨ur s ≤ t und 1 ≤ i1 < i2 < . . . < is ≤ t. Der Ring hat also genau 2t Ideale.

Seig :=fi1·. . .·fis undd:= Grad(g). Dann ist (g) ={ag|a ∈Fq[x]/(xN−1)}.

Jedes Elementag∈(g) l¨aßt sich schreiben alsbg mit Grad(b)≤N−d−1. Dazu seih∈Fq[x] mit gh=xN −1. Dann ist Grad(h) =N −d. Polynomdivision mit Rest lieferta=a1h+bmit einem Restbvom Grad≤N−d−1. InFq[x]/(xN−1) gilt dann ag= (a1h+b)g =bg, da hg = 0 ist. Also ist (g, xg, . . . , xN−d−1g). eine Basis von (g)EFq[x]/(xN −1) und dim(g) =N −d.

Beispiel N = 4, q = 3:

x4−1 = (x−1)(x+ 1)(x2+ 1)∈F3[x].

I123 = ((x−1)(x+ 1)(x2+ 1)) = (0),

I12 = (f12) = ((x−1)(x+ 1)) = (x2−1) hat Dimension 2 undF3-Basis (f12, xf12).

Denn es ist

I12 ={(a0+a1x+a2x2+a3x3)(x2−1)|a0, a1, a2, a3 ∈F3}={a0(x2−1)+a1x(x2− 1)+a2x2(x2−1)+a3x3(x2−1)|a0, a1, a2, a3 ∈F3}. Nun istx2(x2−1) =x4−x2 = 1−x2 und x3(x2−1) =−x(x2−1). Daher ist I12={(a0+a1x)(x2−1)|a0, a1 ∈ F3}.

DerI12 entsprechende CodeC12 hat die Erzeugermatrix µ −1 0 1 0

0 −1 0 1

Shiftet man die 2. Zeile dieser Matrix noch einmal nach rechts, so erh¨alt man das negative der ersten Zeile.

Die Ergebnisse fassen wir in dem folgenden Satz zusammen:

Satz 49.3 SeiN nicht durchpteilbar, undxN−1 =f1(x)·. . .·ft(x)mit paarweise verschiedenen, normierten, irreduziblen Polynomen f1, . . . , ft ∈Fq[x].

(19)

(i) Setzt man fi1...is :=fi1(x)·. . .·fis(x)f¨ur s≤t und 1≤i1 < i2 < . . . < is ≤t so sind die Hauptideale (fi1...is) genau die Ideale von Fp[x]/(xN −1). Der Ring hat also genau 2t Ideale. Ist di := Grad(fi) der Grad des irreduziblen Faktors fi

(d1+. . .+dt=N), so gilt

dim(fi1(x)·. . .·fis(x)) =N −(di1 +. . .+dis).

(ii) Das Polynom g := fi1 ·. . .·fis heißt Erzeugerpolynom des zyklischen Codes Cg := (fi1...is). Ist g =PN−k

j=0 gjxj, so ist

Gg :=

g0 g1 . . . gN−k 0 0 . . . 0 0 g0 . . . gN−k−1 gN−k 0 . . . 0 ... ... ... . .. . .. ... ... ...

0 . . . 0 g0 g1 . . . gN−k

eine Erzeugermatrix von Cg und k= dim(Cg).

(iii) Ist g wie in (ii) ein Erzeugerpolynom des zyklischen Codes Cg, so heißt das Polynom h∈ Fq[x] mitgh =xN −1 ein Pr¨ufpolynom von Cg. Es gilt Grad(h) + Grad(g) =N. Weiter liegta∈Fq[x]/(xN−1)genau dann in Cg, falls ah= 0 ist.

(iv) Sei h wie in (iii) ein Pr¨ufpolynom von Cg. Ist h = Pk

j=0hjxj, so ist die Matrix

G0h :=

hk hk−1 . . . h0 0 0 . . . 0 0 hk . . . h1 h0 0 . . . 0 ... ... ... ... ... ... ... ...

0 . . . 0 hk hk−1 . . . h0

eine Erzeugermatrix von Cg und daher (G0h)tr eine Pr¨ufmatrix von Cg.

Beweis. (ii) Eine Fq-Basis vonCg istg, xg, . . . , xk−1g, diese Elemente sind genau die Zeilen der Erzeugermatrix.

(iii) Klar ist Grad(h) + Grad(g) = Grad(hg) = N. Außerdem gilt f¨ur a ∈ Fq[x]/(xN −1):

ah = 0⇔(xN −1) teiltah ⇔gh teilt ah⇔g teilt a⇔a∈(g) =Cg

(iv) xN −1 = gh = (PN−k

j=0 gjxj)(Pk

i=0hixi) = PN l=0(Pl

j=0gjhl−j)xl. Durch Ko- effizientenvergleich folgt f¨ur 0 < l < N, daß Pl

j=0gjhl−j = 0. Also stehen die Zeilen vonG0h senkrecht auf denen vonGg. Aus Dimensionsgr¨unden erzeugt also

G0h daher Cg. ¤

(20)

Beispiel 49.4 x7−1 = (x+1)(x3+x+1)(x3+x2+1)∈F2[x]. Seig :=x3+x+1.

Dann hat der zyklische Code Cg = (g)EF2[x]/(x7 −1) L¨ange 7, Dimension 4 und Erzeugermatrix

Gg :=

1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1

Da h = (x+ 1)(x3+x2 + 1) =x4 +x2+x+ 1 findet man eine Erzeugermatrix von Cg als

G0h :=

1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1

.

Man kann zeigen, daß Cg =H7(2) ein Hamming Code ist.

49.1 Ein Codierer f¨ ur zyklische Codes

Sei C ≤ FNq ein Code der Dimension k mit Erzeugermatrix G := (Ik, PN−k).

Codierung besteht dann darin, einem Informationswort u := (u1, . . . , uk) ∈ Fkq

ein Codewort

(c1, . . . , cN) = (u1, . . . , uk, ck+1, . . . cN) =uG∈C

zuzuordnen. Dabei sind die erstenk Komponenten des Codeworts die Informati- onssymbole, die anderen (N −k)-KomponentenKontrollsymbole.

Beispiel:

C ≤ F42 mit Erzeugermatrix

µ 1 0 1 1 0 1 0 1

. Mit C kann man 4 Informations- worte ¨ubertragen:

u00= (00) wird codiert zu (0000)∈C u10= (10) wird codiert zu (1011)∈C u01= (01) wird codiert zu (0101)∈C u11= (11) wird codiert zu (1110)∈C.

Bei zyklischen Codes kann man die Kontrollsymbole als Rest einer Polynom- division berechnen:

Satz 49.5 Sei g = PN−k

i=0 gixi ∈ Fq[x] ein Teiler von xN −1 und C := Cg E Fq[x]/(xN−1)der zyklische Code mit Erzeugerpolynom g. Seiu:=Pk−1

i=0 uixi ein Informationswort. Dann gibt es ein eindeutig bestimmtes Polynomr =PN−k−1

i=0 rixi ∈ Fq[x] mit Grad(r)< N −k= Grad(g), so daß

uxN−k=gh+r

(21)

f¨ur ein h∈Fq[x]. Dann ist gh= uxN−k−r =

k−1

X

i=0

uixN−k+i

N−k−1

X

i=0

rixi ≡(−r0,−r1, . . . ,−rN−k−1, u0, u1, . . . , uk−1)∈Cg

Bei den zyklischen Codes kommen bei diesem Codierverfahren zun¨achst die Kontrollsymbole, dann die Informationssymbole. Daher ist es zweckm¨aßig die Reihenfolge aller Codeworte umzudrehen, also die Worte bzgl. der Basis

(xN−1, xN−2, . . . , x,1) zu schreiben:

Beispiel g := x4 +x + 1 ∈ F2[x] teilt x15 −1 ∈ F2[x]. Betrachten C = Cg E F2[x]/(x15−1). Dann ist C ∼=H15(2) der Hamming Code der L¨ange 15 = 24−1 und Dimension 15−4 = 11. Der Codierer ordnet jedem 11-Tupel (u10, u9, . . . , u0)∈ F112 ein Codewort (u10, u9, . . . , u0, r3, r2, r1, r0)∈F152 zu, wo

(

10

X

i=0

uixi)x4 =gh+

3

X

i=0

rixi

ist. Ist z.B. u = (11010011010), so kann man die Division mit Rest mechanisch wie folgt durchf¨uhren:

1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 : 10011 1 0 0 1 1

1 0 0 1 0 1 0 0 1 1

1 1 1 0 1 1 0 0 1 1

1 1 1 0 0 1 0 0 1 1

1 1 1 1 0 1 0 0 1 1

1 1 0 1 0 1 0 0 1 1

1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0

Also ist der Restxundc= (110100110100010)∈Cdas zuugeh¨orende Codewort.

49.2 Der Minimalabstand zyklischer Codes

Der Minimalabstand zyklischer Codes ist im allgemeinen schwer zu bestimmen, man hat jedoch eine untere Schranke:

Eine Nullstelleα von xN −1∈Fq[x] heißtprimitiveN-te Einheitswurzel, falls N = min{n ∈N|αn= 1}. Man beachte, daßαnicht notwendig inFq liegen muß sondern eventuell in einem gr¨oßeren K¨orper.

(22)

Satz 49.6 Sei g ein Teiler von xN −1 ∈Fq[x] und α eine primitive N-te Ein- heitswurzel. Sind dier aufeinanderfolgenden Potenzenαbb+1, αb+2,. . .,αb+r−1 Nullstellen von g, so gilt f¨ur den zyklischen CodeCg := (g)EFq[x]/(xN −1) daß d(Cg)≥r+ 1.

Beweis. Sei c := PN−1

i=0 cixi ∈ Cg ein Codewort vom Gewicht s ≤ r und seien ct1, . . . , cts alle von 0 verschiedenen Eintr¨age von c. Da c ∈ Cg ein Vielfaches von g ist und αb, . . . , αb+r−1 Nullstellen von g sind gilt c(αb) =c(αb+1) = . . .= c(αb+r−1) = 0. D.h. es gilt

ct1αbt1 + . . . + ctsαbts = 0 ct1α(b+1)t1 + . . . + ctsα(b+1)ts = 0

... ... ...

ct1α(b+r−1)t1 + . . . + ctsα(b+r−1)ts = 0 Setzt man

H :=

αbt1 . . . αbts α(b+1)t1 . . . α(b+1)ts

... ... ...

α(b+s−1)t1 . . . α(b+s−1)ts

so gilt also insbesondere H(ct1, . . . , cts)tr = 0, d.h. c ist im Kern von H. Die Determinante vonH ist aber

det(H) =αbt1αbt2·. . .·αbtsdet

1 . . . 1

αt1 . . . αtst1)2 . . . (αts)2

... ... ...

t1)s−1 . . . (αts)s−1

bt1αbt2·. . .·αbtsY

i<j

tj−αti)

nach HMII, 4. ¨Ubungsblatt, Aufgabe 2. Da αeine primitive N-te Einheitswurzel ist, istαti 6=αtj und det(H)6= 0. Also ist Ker(H) ={0} und c= 0. ¤ Beispiel:

N = 7:x7−1 = (x+1)(x3+x+1)(x3+x2+1)∈F2[x]. Seig :=x3+x+1. Dann ist jede Nullstelleαvongein primitives Element vonF2[x]/(x3+x+1) =F8also eine primitive 7-te Einheitswurzel. Da g ∈F2[x] gilt 0 =F(g(α)) =g(F(α)) =g(α2), f¨ur den Frobenius AutomorphismusF. Der Code Cg aus Beispiel 49.4 von oben hat also Minimalabstand≥2 + 1 = 3.

Beispiel:

N = 23,x23−1 = (x+ 1)g1g2 ∈F2[x] mit

g1 =x11+x9+x7+x6+x5+x+ 1 g2 =x11+x10+x6+x5+x4+x2+ 1

(23)

Seiα eine Nullstelle vong1. Dann istα6= 1 undα23= 1, d.h.α ist eine primitive 23-te Einheitswurzel. Indem man den Frobenius Automorphismus mehrfach auf α anwendet findet man die Nullstellen

α, α2, α4, α8, α16, α329, α18, α3613, α3, α6, α12

von g1. Insbesondere hat g1 die 4 aufeinanderfolgenden Nullstellen α, α2, α3, α4, also hatCg ≤F2[x]/(x23−1) Minimalabstand ≥5. Tats¨achlich ist Cg =G23 der Golay-Code der L¨ange 23 undd(Cg) = 7.

Zyklische Codes, f¨ur die Satz 49.6 eine gute untere Absch¨atzung liefern sind die sogenannten BCH-Codes. Das Erzeugerpolynom eines BCH-Codes, ist das Polynom g kleinsten Grades, f¨ur das g(αb) = . . . = g(αb+r−1) = 0 f¨ur eine primitive N-te Einheitswurzelα:

Definition 49.7 Ein BCH-Code (Bose, Chandhuri, Hocquenghem) mit desi- gniertem Minimalabstand δ ¨uber Fq der L¨ange N ist ein zyklischer Code Cg E Fq[x]/(xN−1)f¨ur den es eine primitive N-te Einheitswurzelα und b∈Z gibt, so daß αb, αb+1, . . . , αb+δ−2 Nullstellen von g ∈Fq[x] sind und g keinen irreduziblen Faktor h hat mith(αb)6= 0, h(αb+1)6= 0, . . . und h(αb+δ−2)6= 0.

IstN =qm−1(also α ein primitives Element von Fqm), so heißt der BCH-Code primitiv.

Aus Satz 49.6 folgt direkt:

Bemerkung 49.8 Ist C ein BCH-Code mit designiertem Minimalabstand δ, so ist d(C)≥δ.

49.3 Unvollst¨ andiges Decodieren von zyklischen Codes

Sei C ein BCH-Code der L¨ange N ¨uber Fq mit designiertem Minimalabstand δ = 2t+ 1. Dann gibt es zu jedem a ∈ FNq h¨ochstens ein c∈ C mit d(a, c) ≤ t, da C t Fehler erkennen kann. Wir wollen ein Verfahren angeben, wie man zu einema∈FNq ein solches c∈C bestimmt, falls es so eincgibt. Dieses Verfahren nennt man “unvollst¨andige” Decodierung, da der Decodierer im Fall daß mehr alst Fehler aufgetreten sind, keine Antwort gibt.

Sei der Einfachheit halber C = Cg EFq[x]/(xN −1) ein zyklischer Code der L¨ange N, α ∈ Fqm eine primitive N-te Einheitswurzel (dazu muß N ein Teiler von qm−1 sein), so daß α,α23, . . ., α2t Nullstellen vong sind.

Sei

c= (c0, . . . , cN−1)≡c(x) :=c0+c1x+. . .+cN−1xN−1 ein gesendetes Codewort und

r= (r0, . . . , rN−1)≡r(x) := r0+r1x+. . .+rN−1xN−1

Referenzen

ÄHNLICHE DOKUMENTE

Laza: Lineare Algebra individuell Online-Version

(Eigenwerte, Eigenr¨ aume und lineares

Timmermann SS 13 Ubung zur Mathematik f¨ ¨ ur Physiker II..

Universit¨ at T¨ ubingen T¨ ubingen, den 04.12.2018 Mathematisches

(c) Berechne mit Hilfe der Formel von Cauchy-Binet die Summe der Quadrate aller Determinanten von n × n-Matrizen mit ±1-Eintr¨ agen. Abgabe bis Freitag,

[r]

Oliver Schn¨ urer, Universit¨at Konstanz Wintersemester 2010/2011 Matthias Makowski.. Ubungen zur Vorlesung Lineare Algebra

Falko Lorenz, Karin Halupczok SoSe 2013. Abgabetermin: