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.
vjx j + ... + vj+b−1x j+b−1 vom Grad ≤ l − 1, wobei vj ̸= 0 ̸= vj+b−1 ist. Dies sind<br />
genau die Polynome von der Form x j · w, wobei Gradw = b − 1 ist und w0 ̸= 0.<br />
Ergebnis: Die Anzahl der Bündel der Länge b mit v0 = ... = vj−1 = 0 und vj ̸= 0 ist<br />
gleich (n − 1) 2 n b−2 .<br />
Ein Bündel wie oben beschrieben ist genau dann Element von C, wenn g ein Teiler<br />
von v ist. Dies trifft (wegen g teilerfremd x) genau dann zu, wenn g Teiler von w<br />
ist, man also w = g · q für ein q ∈ K[x] schreiben kann.<br />
Falls b = l − k + 1 = Gradg + 1 ist, gibt es genau n − 1 Möglichkeiten (wegen<br />
Gradw = b − 1).<br />
Falls b > l − k + 1, hat man (n − 1) 2 · n b−1−(l−k)−1 Möglichkeiten.<br />
Technisch gesehen ist βb/αb das Verhältnis der Anzahlen der nicht zu erkennenden<br />
Bündel der Länge b zur Anzahl aller Bündel der Länge b. Dies Verhältnis ist n −(l−k)<br />
(falls b > n − k + 1) und hängt weder von b noch dem benutzten zyklischen Code<br />
ab!<br />
9.20 Beispiel Wir betrachten einen Hamming-Code Ham(r, n) mit n = 2 (binär)<br />
und r = 10. Da n − 1 teilerfremd r ist, ist dieser Code zu einem zyklischen Code<br />
äquivalent und man hat l = n r −1 = 2 10 −1 = 1023 sowie k = dimC = l −r = 1013.<br />
In einem zyklischen Code mit diesen Daten werden Bündel der Länge ≤ r = 10<br />
erkannt (d.h. solche Bündel kommen in C nicht vor).<br />
9.21 Anwendung: CRC-<strong>Codes</strong> (cyclic redundancy check code) Bei Computer-<br />
netzwerken sind nur fehlererkennende Verfahren üblich: wenn das empfangene Wort<br />
kein Codewort ist, wird die Übertragung wiederholt. Man verwendet K = GF2 und<br />
die Hauptideale (=<strong>Codes</strong>) gR ⊆ R (mit R = K[x]/(x l − 1)K[x]) zu den Polynomen<br />
g = x 12 + x 11 + x 3 + x 2 + x + 1 = (x + 1)(x 11 + x 2 + 1); (Bezeichnung: CRC-12);<br />
g = x 16 + x 15 + x 2 + 1 = (x + 1)(x 15 + x + 1) (Bezeichnung: CRC-16);<br />
g = x 16 + x 12 + x 5 + 1 = (x + 1)(x 15 + x 14 + x 13 + x 12 + x 4 + x 3 + x 2 + x + 1)<br />
(Bezeichnung: CRC-CCITT).<br />
CRC-5-USB: x 5 + x 2 + 1 verwendet man bei USB-Übertragung.<br />
Technisch ist das Verfahren leicht zu realisieren; man braucht nur Polynomdivision<br />
mit Rest.<br />
50