Einführung in die Kodierungstheorie

Ähnliche Dokumente
Modul Diskrete Mathematik WiSe 2011/12

Erzeugendensystem und Basis

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Verschlüsselungs- und Codierungstheorie PD Dr. Thomas Timmermann Westfälische Wilhelms-Universität Münster Sommersemester 2017

Die Hamming-Distanz definiert eine Metrik.

6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke. 6. Woche: Lineare Codes, Syndrom, Gilbert-Varshamov Schranke 107/ 238

4.0.2 Beispiel (Einfacher Wiederholungscode). Im einfachsten Fall wird die Nachricht einfach wiederholt. D.h. man verwendet die Generatorabbildung

Einführung in die Kodierungstheorie

4.3 Bilinearformen. 312 LinAlg II Version Juni 2006 c Rudolf Scharlau

1 Euklidische und unitäre Vektorräume

Die Größe A(n, d) und optimale Codes

Prüfung Lineare Algebra , B := ( ), C := 1 1 0

Grundbegrie der Codierungstheorie

3. Übungsblatt zur Lineare Algebra I für Physiker

9 Metrische und normierte Räume

Bild, Faser, Kern. Stefan Ruzika. 23. Mai Mathematisches Institut Universität Koblenz-Landau Campus Koblenz

Euklidische und unitäre Vektorräume

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 10. Aufgabe ETH Zürich D-MATH. Herbstsemester Dr. V. Gradinaru D.

2. Dezember Lineare Algebra II. Christian Ebert & Fritz Hamm. Skalarprodukt, Norm, Metrik. Matrizen. Lineare Abbildungen

Vektorräume. 1. v + w = w + v (Kommutativität der Vektoraddition)

(1) In dieser Aufgabe kreuzen Sie bitte nur die Antworten an, die Sie für richtig halten. Eine Begründung wird nicht verlangt.

Prüfung EM1 28. Jänner 2008 A :=

4 Vektorräume. 4.1 Definition. 4 Vektorräume Pink: Lineare Algebra 2014/15 Seite 48. Sei K ein Körper.

Kapitel 3 Lineare Algebra

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

Mathematische Strukturen

Lineare Algebra II 8. Übungsblatt

Aufgaben und Lösungen zur Klausur Lineare Algebra im Frühjahr 2009

4.2 Quotientenvektorräume

Homogene und inhomogene Koordinaten und das Hyperboloid

Vektorräume. Kapitel Definition und Beispiele

Lineare Algebra I Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß

Klausur zur Mathematik I (Modul: Lineare Algebra I)

Lineare Algebra und Numerische Mathematik für D-BAUG

Lineare Algebra I 5. Tutorium Die Restklassenringe /n

Lineare Algebra und Numerische Mathematik für D-BAUG

9 Vektorräume mit Skalarprodukt

Algebraische Codierungstheorie

Projektive Räume und Unterräume

Kapitel 1: Codierungstheorie. 1.2 Quellcodierung 1.3 Fehlererkennende Codes 1.4 Fehlerkorrigierende Codes

Leitfaden 20. t = dim V dimu.

Kapitel VI. Euklidische Geometrie

2.4 Lineare Abbildungen und Matrizen

7. Woche Extra-Material: - Beispiele von Codes. 7. Woche: Beispiele von Codes 144/ 238

Summen und direkte Summen

Lineare Algebra I. - 9.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Korrektur: 2. Klausurtermin:

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

2 Euklidische Vektorräume

Modulteilprüfung Geometrie (BaM-GS, L3M-RF)

Mathematik für Informatiker 1 Wintersemester 2013/14 Übungsblatt 12

1 Linearkombinationen

2.3 Basis und Dimension

Prof. Dr. Jürgen Dassow Otto-von-Guericke-Universität Magdeburg. Codierungstheorie und Kryptographie

Technische Informatik - Eine Einführung

Übersicht Kapitel 9. Vektorräume

1 Lineare Abbildungen

Zahlen und metrische Räume

Lineare Algebra I (WS 13/14)

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

Vorlesung Theoretische Grundlagen

3 Lineare Algebra (Teil 1): Lineare Unabhängigkeit

Seminar Einführung in die Kunst mathematischer Ungleichungen

Mathematik I. Vorlesung 12. Lineare Abbildungen

5. Woche Perfekte und Optimale Codes, Schranken. 5. Woche: Perfekte und Optimale Codes, Schranken 88/ 142

Lineare Algebra II Lösungen der Aufgaben 42 und 43

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Definition Sei V ein Vektorraum, und seien v 1,..., v n V. Dann heißt eine Linearkombination. n λ i = 1. mit. v = v i λ i.

2 Die Dimension eines Vektorraums

Definitionen. b) Was bedeutet V ist die direkte Summe von U und W? V ist direkte Summe aus U und W, falls V = U + W und U W = {0}.

Mathematik für Physiker, Informatiker und Ingenieure

Lineare Algebra I (WS 13/14)

Musterlösung. 1 Relationen. 2 Abbildungen. TUM Ferienkurs Lineare Algebra 1 WiSe 08/09 Dipl.-Math. Konrad Waldherr

Der n-dimensionale Raum

Affine Hülle. x x 1 ist lineare Kombination der Vektoren x 2 x 1,x 3 x 1,...,x k x 1. Tatsächlich, in diesem Fall ist λ 1 = 1 λ 2 λ 3...

L5 Matrizen I: Allgemeine Theorie

Lineare Algebra 1. Roger Burkhardt

Kapitel II. Vektorräume. Inhalt: 7. Vektorräume 8. Basis und Dimension 9. Direkte Summen und Faktorräume

Vorlesung Theoretische Grundlagen Fehlerkorrigierende Codes Jörn Müller-Quade 29. Januar 2013

a) Ein Gruppenhomomorphismus von G nach H ist eine Abbildung Φ : G H, sodass für alle g 1, g 2 G die Gleichung Φ(g 1 g 2 ) = Φ(g 1 ) Φ(g 2 )

Affine Geometrie (Einfachere, konstruktive Version)

und Unterdeterminante

und Unterdeterminante

10 Unitäre Vektorräume

Prüfung Lineare Algebra 2

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

3.3 Skalarprodukte 3.3. SKALARPRODUKTE 153

5 Analytische Geometrie

Musterlösung zur Nachklausur Lineare Algebra I

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth

3.1 Sukzessive Minima und reduzierte Basen: Resultate

3 Längenendliche Verbände. Dimension

Wiederholung: lineare Abbildungen

4.4 Hermitesche Formen

Verständnisfragen: Lineare Algebra und Analytische Geometrie I und II

Theoretische Grundlagen der Informatik WS 09/10

Die Topologie von R, C und R n

Lineare Algebra I Zusammenfassung

4.2 Die adjungierte Abbildung

Aufgabensammlung aus Mathematik 2 UMIT, SS 2010, Version vom 7. Mai 2010

4 Lineare Abbildungen und Matrizen

Transkript:

Anton Malevich Einführung in die Kodierungstheorie Skript zu einer im Februar 2013 gehaltenen Kurzvorlesung Fakultät für Mechanik und Mathematik Belorussische Staatliche Universität Institut für Algebra und Geometrie Otto-von-Guericke-Universität Magdeburg

1 Grundlagen der Kodierungstheorie Ein Sender möchte einem Empfänger über einen Kanal gewisse Daten übermitteln. Dabei werden die Nachrichten durch Interferenzen zufällig gestört, d.h. es passieren Fehler. Wie kann der Qualitätsverlust effizient (z.b. kostengünstig) minimiert werden? Beispiel: TV, radio, Musik-CD, Datenübertragung von Raumsonden (space probes), ISBN (Bücher-Code), etc. Erinnerung: Zu jeder Primzahl p gibt es einen Körper F p mit genau p Elementen (Operationen mod p; F p = Z/pZ). Wir beschränken uns der Einfachheit halber in folgenden auf den Fall p = 2, der zu sogenannten binären Codes führt. Der Körper F 2 = {0, 1} ist durch die Verknüpfungstafeln gegeben + 0 1 0 0 1 1 1 0 0 1 0 0 0 1 0 1 Wir fixieren ein n N und schreiben V = F2 n für den n-dimensionalen Standardvektorraum über F 2. (Die Elemente sind Zeilenvektoren.) Nachricht: stets ein binäres n-tupel, also ein Element von V. Fehlervektor: Wird eine Nachricht x V über den Kanal versandt, so erhält der Empfänger die gestörte Nachricht y = x + e, wobei e V ein zufälliger Fehlervektor ist. Solch ein y soll dann möglichst als x dekodiert werden. Dafür benutzen wir als Nachrichten nur Elemente c eines sorgfältig gewählten Unterraumes C von V. Solch ein C heißt dann linearer Code. 1.1 Definition (Hamming-Abstand). Der (Hamming-)Abstand von v, w V mit v = (v 1,..., v n ), w = (w 1,..., w n ) ist die Anzahl der Stellen, an denen sich v und w unterscheiden: d H (v, w) = # {i {1, 2,..., n} v i = w i }. 1.2 Definition. Ist allgemein X eine beliebige Menge und d : X X R 0, (x, y) d(x, y) eine Abbildung mit den Eigenschaften (M1) d(x, y) = 0 genau dann, wenn x = y (M2) d(x, y) = d(y, x) (Symmetrie) (M3) d(x, z) d(x, y) + d(y, z) (Dreiecksungleichung)

1 Grundlagen der Kodierungstheorie 3 für alle x, y, z X, so heißt d eine Abstandsfunktion oder Metrik auf X und (X, d) ein metrischer Raum. 1.3 Beispiel. 1) X = R mit dem gewöhnlichen Abstand d(x, y) = x y. 2) X = R n mit dem euklidischen Abstand d ( (x 1,..., x n ), (y 1,..., y n ) ) = (x 1 y 1 ) 2 +... + (x n y n ) 2. 3) Französische Eisenbahnmetrik: X = R 2, O = (0, 0). Der Abstand wird berechnet je nachdem, ob eine direkte Strecke zwischen x und y existiert. d ( x, y ) (x1 y 1 ) 2 + (x 2 y 2 ) 2, falls x y = x x 21 + x2 2 y + 21 + y2 2, falls O y 1.4 Satz. Der Hamming-Abstand d = d H ist eine Metrik auf V. Beweis. Wir überprüfen die Eigenschaften aus der Definition 1.2. Es seien u, v, w V mit u = (u 1,..., u n ), v = (v 1,..., v n ), w = (w 1,..., w n ). (M1) d(v, w) = 0 genau dann, wenn v i = w i für alle i gilt, d.h. v = w. (M2) d(v, w) = # {i v i = w i } = # {i w i = v i } = d(w, v). (M3) Für jedes i gilt u i = w i v i = u i oder v i = w i Dies ergibt d(u, w) = # {i u i = w i } = # {i u i = v i } + # {i v i = w i } = d(u, v) + d(v, w). 1.5 Definition (abgeschlossene Hamming-Kugel). Für v V und r R 0 heißt S r = {w V d(v, w) r} die abgeschlossene Hamming-Kugel von Radius r um v. 1.6 Definition (Code, Minimaldistanz). Ein Code der Länge n über F 2 ist eine nicht leere Teilmenge C V = F2 n. Elemente eines Codes werden oft Codewörter genannt. Die Minimaldistanz eines Codes C ist die Invariante { 0, falls C = 1, d(c) = min {d(v, w) v, w C}, sonst. Ist d(c) 2t + 1 für ein t N, so heißt C ein t-fehlerkorrigirender Code.

1 Grundlagen der Kodierungstheorie 4 1.7 Lemma. Sei C V ein t-fehlerkorrigierender Code. Dann gelten: (a) Für jedes v V gibt es höchstens ein c C mit d(v, c) t. (b) Die Hammingkugeln S t (c) von Radius t um Codewörter c C sind paarweise disjunkt. Beweis. (a) Es sei v V und seien c, c C mit d(v, c), d(v, c) t. Es folgt dann d(c, c) d(c, v) + d(v, c 2t. Aus d(c) 2t + 1 ergibt sich nun c = c. (b) Es seien c, c C mit S t (c) S t ( c) =. Für v S t (c) S t ( c) gilt dann d(v, c), d(v, c) t. Aus (a) folgt nun c = c. Interpretation: Angenommen, bei der Übertragung eines Codeworts c eines t- fehlerkorrigierenden Codes C V treten höchstens Fehler in bis zu t Koordinatenstellen auf. Die veränderte Nachricht y V kann dann wie folgt korrekt dekodiert werden: wähle das eindeutige Codewort c C mit d(y, c) t. Was will man haben? C V soll möglichst groß sein (hohe Informationsrate, C max). d(c) soll möglichst groß sein (hohe Fehlerkorrekturmöglichkeit, d(c) max). der Dekodieralgorithmus soll möglichst effizient sein. 1.8 Beispiel. (i) Wiederholungscode: C = {(0, 0,..., 0), (1, 1,..., 1)} V, d(c) = n -fehlerkorrigierend, aber sehr geringe Informationsrate. n 1 2 (ii) C = {(0, 0, 0, 0, 0), (0, 1, 1, 0, 1), (1, 0, 1, 1, 0), (1, 1, 0, 1, 1)} F 5 2, d(c) = 3 1-fehlerkorrigierend, aber sehr geringe Informationsrate. Bemerkung: Im F 4 2 gibt es keinen Code C mit C = 4 und d(c) 3. 1.9 Definition (linearer Code, Gewicht, Minimalgewicht). Ein linearer Code der Länge n über F 2 ist ein Unterraum C von V = F2 n (wir schreiben C V). Das Gewicht eines Vektors v = (v 1,..., v n ) V ist die Anzahl der Koordinatenstellen ungleich Null: wt(v) = d(v, 0) = # {i {1, 2,..., n} v i = 0}. Das Minimalgewicht eines Codes C V ist das kleinste Gewicht unter allen Codewörter ungleich Null: { 0, falls C = {0}, wt(c) = min {wt(c) c C mit c = 0}, sonst.

2 Standardskalarprodukt und Orthogonalräume 5 1.10 Lemma. Es sein C V ein linearer Code. Dann gilt d(c) = wt(c), d.h. Minimaldistanz = Minimalgewicht. Beweis. Da C ein Unterraum ist, haben wir 0 C und somit d(c) wt(c). Ist C = {0}, so sind d(c) = 0 = wt(c). Sei nun C = {0}. Wähle v = w C mit d(c) = d(v, w). Wir behaupten, dass wt(v w) = d(v, w) ist ( ). Daraus folgt wegen 0 = v w C dann d(c) = d(v, w) = wt(v w) wt(c), und somit d(c) = wt(c). Zu ( ): sind v = (v 1,..., v n ) und w = (w 1,..., w n ), so gilt d(v, w) = # {i v i = w i } = # {i v i w i = 0} = d(v w, 0) = wt(v w). 1.11 Definition (Erzeugendenmatrix). Es sei C V ein linearer Code und k = dim C. Eine Erzeugendenmatrix G für C ist eine k n Matrix über F 2, deren Zeilen eine Basis für C liefern. 1.12 Bemerkung. Die Hamming-Distanz und die abgeliteten Invarianten (Minimaldistanz, Gewicht, Minimalgewicht) werden von Koordinatenvertauschungen (d.h. Umsortierungen der Standardbasis (e 1,..., e n ) von V) nicht berührt. Es sei C V ein linearer Code und dim C = k. Erlaubt man sich gegebenenfalls Koordinatenvertauschungen vorzunehmen, so besitzt C eine Erzeugendenmatrix der Form G = (E k A), wobei E k die k k Einheitsmatrix, und A eine k (n k)-matrix ist. Hat C eine Erzeugendenmatrix G von der obigen Form, so kann man die ersten k Koordinaten eines Codeworts als Informationsanteil und die übrigen (n k) Koordinaten als Prüfstellen betrachten: Klar ist jedes c C eindeutig durch seine ersten k Koordinaten bestimmt. 2 Standardskalarprodukt und Orthogonalräume Wir betrachten in diesem Abschnitt dem n-dimensionalen Standardvektorraum V = K n über einem Körper K. 2.1 Definition (Standardskalarprodukt). Die Verknüpfung.,. : V V K mit heißt Standardskalarprodukt auf V. (x 1,..., x n ), (y 1,..., y n ) = 2.2 Lemma. Für alle v, v, w V und a 1, a 2 K gilt n x i y i i=1

3 Dualer Code und Kontrollmatrix 6 (a) v, w = w, v (symmetrisch), (b) a 1 v + a 2 v, w = a 1 v, w + a 2 v, w (linear). 2.3 Definition (Orthogonalraum). Es sei U V. Dann heißt U = {w V u, w = 0 für alle u U} der zu U orthogonale Raum in V. 2.4 Bemerkung. Es sei U ein Unterraum von V. (a) U ist auch ein Unterraum von V. (b) Ist U = u 1,..., u k (Erzeugnis, lineare Hülle), so gilt U = {w V u i, w = 0 für alle i {1,..., k}}. (c) (Dimensionsformel für Orthogonalräume) Es gilt dim U + dim U = dim V. Achtung! In allgemein gilt nicht U U = {0} und somit auch nicht U U = V. Für V = R n ist das jedoch richtig, da v, v = 0 für v = 0 ist. 2.5 Folgerung. Für jeden Unterraum U von V gilt ( U ) = U. Beweis. Es sei u U. Dann ist u, w = 0 für alle w U, also ist ( U ), d.h. U ( U ). Mit Bemerkung 2.4 gilt nun dim U = dim V dim U = dim ( U ). 3 Dualer Code und Kontrollmatrix Es sei nun wieder V = F n 2 und betrachte lineare Codes C V. 3.1 Definition (dualer Code). Der Orthogonalraum C V heißt der zu C duale Code. 3.2 Satz. C und C sind dual in dem Sinne, dass es ( C ) = C gilt Beweis. Siehe Folgerung 2.5. 3.3 Definition (Kontrollmatrix). Es sei C V ein linearer Code und k = dim C. Eine Kontrollmatrix H für C ist eine (n k) n Matrix über F 2, deren Zeilen eine Basis für C liefern (d.h. eine Erzeugendenmatrix für C ).

3 Dualer Code und Kontrollmatrix 7 3.4 Lemma. Es sei C V ein linearer Code mit k = dim C und Erzeugendenmatrix G der Form G = (E k A), wobei E k die k k Einheitsmatrix, und A eine k (n k) Matrix ist. Dann kann man für die Kontrollmatrix von C die Matrix H = ( A T E n k ) wählen. Beweis. Es sei (e 1,..., e n ) die Standardbasis von V. Seien (u 1,..., u k ) die Zeilen von G, also Basis von C, wobei u i = e i + n a ij e j für 1 i k, a ij K. j=k+1 Zu zeigen ist, dass mit Basis (w 1,..., w n k ) eine Basis von C ist, wobei w r = n a s,k+r e s + e k+r für 1 r n k. j=k+1 Für 1 i k, 1 r n k gilt n n u i, w r = e i + a ij e j, a s,k+r e s + e k+r = a i,k+r + a i,k+r = 0, j=k+1 j=k+1 also sind w 1,..., w n k U nach Bemerkung 2.4 (b). Die Vektoren w 1,..., w n k sind wegen ihrer Form auch linear unabhängig. Aus der Dimensionsformel aus Bemerkung 2.4 (c) folgt nun, dass (w 1,..., w n k ) eine Basis von C ist. 3.5 Definition (Syndrom). Das Syndrom eines Vektors v V bezüglich eines Vektorsystems (w 1,..., w m ) in V ist der Vektor ( v, w1, v, w 2,..., v, w m ) F m 2. Ist C V ein linearer Code der Dimension k und H eine Kontrollmatrix von C, so bezeichnet s H (v) = ( v, w 1,..., v, w n k ) = v H T F n k 2 das Syndrom von v bezüglich der Basisvektoren (w 1,..., w n k ) von C, die den Zeilen von H entsprechen. 3.6 Lemma. Es sei C V ein linearer Code mit einer Kontrollmatrix H. Für alle v V gilt s H (v) = 0 v C. Beweis. Es seien w 1,..., w n k die Basisvektoren von C, die den Zeilen von H entsprechen. Es gilt s H (v) = v H T = ( v, w 1,..., v, w n k ) = 0 v, w i = 0 für alle i {1,..., n k} 2.4 (a) v ( C ) = C.

3 Dualer Code und Kontrollmatrix 8 3.7 Beispiel (Hamming-Code der Länge 7). Die projektive Ebene über F 2 ist: (010) (111) (110) (011) (100) (101) (001) Die 7 Punkte entsprechen den Vektoren in F 3 2 \ {(0, 0, 0)} (und damit den 1- dimensionalen Unterräumen des F 3 2 ). Die Geraden sind die Teilmengen {v 1, v 2, v 3 } von F 3 2 \ {(0, 0, 0)} mit v 1 + v 2 + v 3 = 0 (und entsprechen den 2- dimensionalen Unterräumen des F 3 2. Ein Hamming-Code der Länge 7 hat die Kontrollmatrix H, deren Spalten den Punkten der projektiven Ebene über F 2 entsprechen, zum Beispiel H = 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 (Eine andere Reihenfolge der Spalten führt zu Codes mit ähnlichen Eigenschaften, z.b. gleicher Dimension und gleicher Minimaldistanz.) Gemäß Lemma 3.4 erhält man die Erzeugendenmatrix G = 1 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 Offenbar haben C und C die Länge 7. dim C = 4 und dim C = 3. Die Minimaldistanzen sind d(c) = wt(c) = 3 und d(c ) = wt(c ) = 4. (Wegen Lemma 1.10 ist d(c) = wt(c).). Beweis. Übungsaufgabe! Da d(c) = 3 ist, ist C 1-fehlerkorrigierend. Obwohl d(c ) = 4 > d(c) ist, ist C auch nur 1-fehlerkorrigierend. Wegen dim(c) = 4 > dim(c ) = 3 ist C besser für die Praxis geeignet (höhere Informationsrate).

4 Nebenklassen. Syndrom-Dekodierung 9 Für die Dekodierung sind die Syndrome von Vektoren v F 7 2 bezüglich H hilfreich. Man erhält die folgende Tabelle: s H (v) v (0, 0, 0) v C (1, 1, 1) v = (1, 0, 0, 0, 0, 0, 0) + c mit c C (1, 1, 0) v = (0, 1, 0, 0, 0, 0, 0) + c mit c C (1, 0, 1) (0, 1, 1)... (1, 0, 0) (0, 1, 0) (0, 0, 1) v = (0, 0, 0, 0, 0, 0, 1) + c mit c C Die möglichen Syndrome sind die 2 3 Vektoren von F 3 2. Zu jedem Syndrom haben wir genau 2 4 Vektoren aus V, die diesen Syndrom haben. Diese bilden die sogenannten Nebenklassen von C in V, oder affine Unterräume parallel zu C in V. 4 Nebenklassen. Syndrom-Dekodierung 4.1 Definition. Es sei V ein Vektorraum über einem Körper K und U ein Unterraum von V. Für v V heißt v + U = {v + u u U} die Nebenklasse von U in V bezüglich v. (Die Elemente einer Nebenklasse werden oft Vertreter genannt.) Die Menge aller Nebenklassen von U in V wird mit V/U = {v + U v V} bezeichnet. 4.2 Beispiel. Es sei V = R 2 und U = (1, 2) = { (x, y) R 2 y = 2x }. Die Menge V/U aller Nebenklassen von U in V besteht alles allen Geraden, die parallel zu U sind (y = 2x + b, b R). U v + U v 0 4.3 Satz. Es sei V ein Vektorraum über einem Körper K, U V. Dann wird durch v U w v w U (v, w V) eine Äquivalenzrelation auf V definiert.

4 Nebenklassen. Syndrom-Dekodierung 10 Die U -Äquivalenzklassen sind genau die Nebenklassen von U in V und somit gilt V/ U = V/U. (V/ U bezeichnet die Menge der Äquivalenzklassen bezüglich der Relation U.) 4.4 Folgerung. V/U liefert eine Partition von V, d.h. eine Zerlegung in paarweise disjunkte Teilmengen: Jedes v V liegt in genau einer Nebenklasse von U in V, nähmlich v + U. 4.5 Folgerung. Sind v + U, w + U V/U, so gilt: v + U = w + U v + U w + U = v w U. Beweis von Satz 4.3. Wir zeigen zunächst, dass U eine Äquivalenzrelation auf V ist. Es seien v, v 1, v 2, v 3 V. Dann gelten (i) v v = 0 U, also v U v [reflexiv]. (ii) v 1 U v 2 v 1 v 2 U (v 1 v 2 ) = v 2 v 1 U v 2 U v 1 [symmetrisch]. (iii) v 1 U v 2 und v 2 U v 3 v 1 v 2, v 2 v 3 U v 1 v 3 = (v 1 v 2 ) + (v 2 v 3 ) U v 1 U v 3 [transitiv]. Für die Äquivalenzklasse von v V gilt: [v] U = {w V w U v} = {w V u U : w v = u} = {w V u U : w = v + u} = v + U. 4.6 Bemerkung. V/U hat eine Vektorraumstruktur und wird der Faktorraum von V nach U genannt. Es gilt dim V/U = dim V dim U. Es sei im folgenden V = F n 2 und C V ein linearer Code mit dim C = k. Hauptbeispiel 3.7: Hamming-Code der Länge 7. In diesem Beispiel ist dim C = 4 und dim C = 3, und C ist 1-fehlerkorrigierend. 4.7 Lemma. Es sei H eine Kontrollmatrix für C. Dann gilt für die Syndrome von v, w V bezüglich H Beweis. Es seien v, w V. Es gilt s H (v) = s H (w) v + C = w + C s H (v) = s H (w) v H T = w H T (v w) H T = 0 3.6 v w C 4.5 v + C = w + C.

4 Nebenklassen. Syndrom-Dekodierung 11 4.8 Definition (Nebenklassenanführer). Ein Anführer einer Nebenklasse y + C V/U ist ein Vertreter e y + C, der unter allen Vektoren dieser Nebenklasse minimales Gewicht hat: wt(e) = min {wt(v) v y + C}. 4.9 Satz (Eindeutigkeit der Nebenklassenanführer). Es sei C V ein linearer t- fehlerkorrigierender Code. Dann gilt: (a) Jeder Vektor v V mit Gewicht wt(v) t ist ein Anführer seiner Nebenklasse v + C. (b) Sind v, ṽ C Anführer derselben Nebenklasse v + C = ṽ + C und ist wt(v) = wt(ṽ) t, so gilt v = ṽ. (In Worten: Vektoren von Gewicht t sind eindeutigen Anführer ihrer Nebenklassen.) Beweis. Es sei v V mit wt(v) t. Ist C = {0}, so ist v + C = {v} und offenbar ist v der eindeutige Anführer von v + C. Es sei nun C = {0} und ṽ v + C mit ṽ = v. Zu zeigen: wt(ṽ) > t. Wegen v + C = ṽ + C und ṽ = v ist v ṽ C \ {0}. Aus Definitionen 1.6 und 1.9 und Lemma 1.10 folgt wt(v ṽ) wt(c) d(c) 2t + 1. Mit der Dreiecksungleichung für den Hamming-Abstand ergibt dies also ist wt(ṽ) t + 1 > t. 2t + 1 wt(v ṽ) = d(v, ṽ) d(v, 0) + d(0, ṽ) = wt(v) + wt(ṽ) t + wt( w), 4.10 Algorithmus (Syndrom-Dekodierung). Es sei C V ein t-fehlerkorrigierender Code der Länge n = dim V und der Dimension k = dim C. Es sei ferner H eine Kontrollmatrix für C. Zu jeder Nebenklasse v + C V/C wähle man einen Anführer (nach Satz 4.9 teilweise eindeutig bestimmt) e v + C und schreibe mit seinem Syndrom s H (e) in einer Liste. Merke: Insgesamt gibt es V = 2 n Vektoren in V, die sich nach Folgerung 4.4 auf die V/C = 2 n k verschiedenen Nebenklassen aufteilen. Die zu erstellende Liste hat somit 2 n k Einträge e, s H (e). Die Dekodierung erfolgt nun anhand der Liste: Es wird der Vektor y V empfangen. Angenommen, es sind höchstens t Fehler passiert. Dann ist y = c + e, wobei c C das zu ermittelnde Codewort und e V der unbekannte Fehlervektor mit wt(e) t ist.

4 Nebenklassen. Syndrom-Dekodierung 12 Berechne das Syndrom s H (y) = y H T. Wegen y = c + e gilt y + C = e + C und nach Lemma 4.7: s H (y) = s H (e). Stelle anhand der Anführer-Syndrom-Liste den Nebenklassenanführer von y + C = e + C fest. Wegen wt(e) t ist dies nach Satz 4.9 gerade der gesuchte Fehlervektor e! Dekodiere y zu y e = c C. Dieses Verfahren läßt sich in Praxis auch effizient durchführen. 4.11 Beispiel. In Beispiel 3.7 haben wir bereits eine Anführer-Syndrom-Liste für den Hamming-Code der Länge 7 aufgestellt. Angenommen, es ist c = (1, 0, 0, 1, 1, 0, 0) übertragen worden, und dabei ist ein Fehler in der letzten Ziffer entstanden, sodass der empfangene Vektor lautet. Dann ist y = (1, 0, 0, 1, 1, 0, 1) s H (y) = (0, 0, 1), und der Anführer der Nebenklasse mit diesem Syndrom ist tatsächlich e = (0, 0, 0, 0, 0, 0, 1). y wird daher richtig zu c = y e dekodiert.

Index Code, 3 t-fehlerkorrigierender, 3 4 Codewort, 3 dualer, 6 linearer, 4 Erzeugendenmatrix, 5 Fehlervektor, 2 Gewicht, 4 Minimalgewicht, 4 Hamming-Abstand, 2 Hamming-Code, 8 Hamming-Kugel, 3 Kontrollmatrix, 6 Metrik, 2 3 Minimaldistanz, 3 4 Nachricht, 2 Nebenklasse, 9 Nebenklassenanführer, 11 Orthogonalraum, 6 Standardskalarprodukt, 5 Syndrom, 7 Syndrom-Dekodierung, 11 12 13