Codierungstheorie II: Fehlerkorrigierende Codes
Codierungstheorie II: Fehlerkorrigierende Codes
Codierungstheorie II: Fehlerkorrigierende Codes
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
9 Zyklische <strong>Codes</strong><br />
Für praktische Zwecke spielen fast nur lineare <strong>Codes</strong> eine Rolle, weil die algebraische<br />
Struktur brauchbare Dekodierverfahren ermöglicht.<br />
Viele lineare <strong>Codes</strong> sind sogar zu zyklischen <strong>Codes</strong> (Definition in 9.3) äquivalent.<br />
Zum Beispiel sind (wie wir später sehen) die Hamming-<strong>Codes</strong> Ham(r, n) äquivalent<br />
zu zyklischen <strong>Codes</strong>, wenn r teilerfremd zu n − 1 ist (also bei n = 2 immer).<br />
9.1 Vorausetzungen Im folgenden sei K ein Körper, |K| = n, n = p r für eine<br />
Primzahl p und l ∈ IN. Sei C ⊆ K l ein linearer Code (Untervektorraum ̸= 0).<br />
9.2 Umformulierung im Polynomring Setze R := K[x]/(x l −1)K[x] (Faktorring<br />
des Polynomrings K[x] nach dem von x l − 1 erzeugten Ideal).<br />
Sei<br />
der kanonische (Ring-)homomorphismus.<br />
¯ : K[x] → R = K[x]/(x l − 1)K[x]<br />
Die Restriktion des kanonischen Homomorphismus auf die Menge {q ∈ K[x] | q =<br />
0 oder Grad(q) ≤ l − 1 } ist injektiv: jede Klasse ∈ R = K[x]/(x l − 1)K[x] enthält<br />
genau ein Polynom ∈ K[x] vom Grad ≤ l − 1. Es folgt:<br />
Die Abbildung ι : K l → R, (a0, ..., al−1) ↦→ a0 + a1x + ... + al−1x l−1 ist bijektiv.<br />
Insbesondere können wir K (konstante Polynome ∈ K[x]) als Unterring von R an-<br />
sehen (statt a0 ∈ K betrachte a0 ∈ R). Deshalb ist R auch ein K-Vektorraum. Eine<br />
Basis ist 1, x, ..., x l−1 . Die Abbildung ι ist ein Vektorraum-Isomorphismus (lineare<br />
Bijektion).<br />
Aufgrund der oben genannten Abildung können wir statt K l den (zu ihm isomorphen)K-<br />
Vektorraum R verwenden: wir ’identifizieren’ (a0, ..., al−1) mit a0 + a1x + ... + al−1x l−1<br />
(d.h. schreiben die Bijektion ι nicht hin).<br />
C ist dann ein Untervektorraum des K-Vektorraum R.<br />
9.3 Definition C heißt zyklischer Code, wenn für jedes Codewort gilt:<br />
(c0, ..., cl−1) ∈ C ⇒ (cl−1, c0, ..., cl−3, cl−2) ∈ C<br />
d.h. wenn man in einem Codewort alle Einträge um eine Stelle verschiebt (zyklische<br />
40