Algebraische Codierungstheorie

Ähnliche Dokumente
Einführung in die Codierungstheorie

Einführung in die Kodierungstheorie

6 Fehlerkorrigierende Codes

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

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

Fehlererkennung und Fehlerkorrektur in Codes

Ι. Einführung in die Codierungstheorie

2.1 Codes: einige Grundbegriffe

Theoretische Grundlagen der Informatik WS 09/10

Die Mathematik in der CD

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

Mathematik II für Studierende der Informatik Kapitel. Kodierungstheorie

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19

Codierungstheorie Teil 1: Fehlererkennung und -behebung

Gegeben sei eine Menge V sowie die Verknüpfung der Addition und die skalare Multiplikation der Elemente von V mit reellen Zahlen.

Technische Universität München Zentrum Mathematik. Übungsblatt 7

Lineare Algebra I (WS 13/14)

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

(Allgemeine) Vektorräume (Teschl/Teschl 9)

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

Rechnernetze Übung 5. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai Wo sind wir?

3 Der Hamming-Code. Hamming-Codes

Euklidische und unitäre Vektorräume

37 Gauß-Algorithmus und lineare Gleichungssysteme

Grundlagen exakter Methoden zur Verschlüsselung von Codewörtern mittels linearer Codes*

11. BASIS, UNTERRAUM, und DIMENSION

Zusammenfassung zu Codierungstheorie

Kapitel VI. Euklidische Geometrie

(Prüfungs-)Aufgaben zur Codierungstheorie

Zahlen und metrische Räume

Affine Geometrie (Einfachere, konstruktive Version)

Lineare Abhängigkeit

9 Vektorräume mit Skalarprodukt

3.6 Eigenwerte und Eigenvektoren

3.4 Der Gaußsche Algorithmus

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

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

1 Euklidische und unitäre Vektorräume

4. Vektorräume und Gleichungssysteme

Outline. 1 Vektoren im Raum. 2 Komponenten und Koordinaten. 3 Skalarprodukt. 4 Vektorprodukt. 5 Analytische Geometrie. 6 Lineare Räume, Gruppentheorie

Fehlerkorrigierende Codes

Einführung in die Mathematik für Informatiker

Information und Codierung

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

Übungen zur Vorlesung Grundlagen der Rechnernetze. Zusätzliche Übungen

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

Definitionen. Merkblatt lineare Algebra. affiner Teilraum Menge, die durch Addition eines Vektors v 0 zu allen Vektoren eines Vektorraumes V entsteht

Die Lineare Algebra-Methode. Mahir Kilic

4 Das Vollständigkeitsaxiom und irrationale Zahlen

Fehler-korrigierende Codes

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.

Übungen zur Linearen Algebra 1

1 Der Simplex Algorithmus I

x, y 2 f(x)g(x) dµ(x). Es ist leicht nachzuprüfen, dass die x 2 setzen. Dann liefert (5.1) n=1 x ny n bzw. f, g = Ω

00. Einiges zum Vektorraum R n

Übungen zur Linearen Algebra 1

Aufgaben zu Kapitel 15

4 Lineare Algebra (Teil 2): Quadratische Matrizen

Codes und Codegitter. Katharina Distler. 27. April 2015

Lineare Algebra I Zusammenfassung

Vollständigkeit; Überabzählbarkeit und dichte Mengen) Als typisches Beispiel für die reellen Zahlen dient die kontinuierlich ablaufende Zeit.

9.2 Invertierbare Matrizen

Übung 14: Block-Codierung

Lineare Gleichungssysteme - Grundlagen

Mathematik I. Vorlesung 7. Folgen in einem angeordneten Körper

Lineare Algebra und analytische Geometrie I

Lineare Hülle. span(a) := λ i v i : so dass k N, λ i R und v i A.

Kapitel 15. Aufgaben. Verständnisfragen

Harm Pralle. Codierungstheorie WS 2005/06. Institut Computational Mathematics Technische Universität Braunschweig

Zahlen und metrische Räume

Das Kryptosystem von McEliece. auf der Basis von linearen Codes

Lineare Codes Linearcodes

Vektorräume und Rang einer Matrix

Elemente der Algebra und Zahlentheorie Musterlösung, Serie 3, Wintersemester vom 15. Januar 2006

2 Die Dimension eines Vektorraums

Orthonormalisierung. ein euklidischer bzw. unitärer Vektorraum. Wir setzen

4 Affine Koordinatensysteme

Codierungstheorie, Vorlesungsskript

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Lösungen Serie 6 (Vektorräume, Skalarprodukt)

Kapitel 2: Mathematische Grundlagen

Allgemeines Gleichungssystem mit zwei Gleichungen und zwei Variablen. Der erste Index bezeichnet die Nummer der Zeile, der zweite die der Spalte.

KLAUSUR ZUR LINEAREN ALGEBRA I 22. Februar 2008

Lineare Abhängigkeit und Unabhängigkeit. 1-E Ma 1 Lubov Vassilevskaya

Klausurenkurs zum Staatsexamen (SS 2015): Lineare Algebra und analytische Geometrie 5

Single Parity check Codes (1)

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.

Lineare Gleichungssysteme

Länge eines Vektors und Abstand von zwei Punkten 2. 4 = 6. Skalarprodukt und Winkel zwischen Vektoren

Matrizen, Determinanten, lineare Gleichungssysteme

Übungen zu Einführung in die Lineare Algebra und Geometrie

:= 1. Der affine Unterraum Γ heißt Punkt, Gerade, Ebene oder Hyperebene, wenn dim K dim K

Lineare Gleichungssysteme

Mathematik I. Vorlesung 19. Metrische Räume

Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls

Kapitel 12. Lineare Abbildungen und Matrizen

Lineare Gleichungssysteme (Teschl/Teschl 11.1)

Lineare Gleichungssysteme

Lineare Algebra und analytische Geometrie II

Beispiellösungen zur Klausur Lineare Algebra bei Prof. Habegger

Transkript:

Algebraische Codierungstheorie Grundeigenschaften der Codes und ihre wichtigsten Parameterschranken Iryna Feurstein

Inhaltsverzeichnis 1 Gegenstand und Aufgabe der Codierungstheorie 1 2 Blockcode 1 2.1 Definition....................................... 1 3 Linearer Code 2 3.1 Definitionen: Anweisungsfunktion, Codierung, linearer Code, Codewörter, Dimension eines Codes................................. 2 3.2 Beispiele: Wiederholungscode, gerader Paritätscode, ISBN-Code......... 2 3.3 Erzeugermatrix und Kontrollmatrix......................... 3 3.3.1 Definition................................... 3 3.3.2 Beispiel 3.2.5. [4]............................... 3 3.3.3 Beispiele für Kontrollmatrizen des Wiederholungscodes und des geraden Paritätscodes................................. 4 3.4 Hammingabstand und Hamminggewicht...................... 4 3.4.1 Definitionen.................................. 4 3.4.2 Hammingabstandsfunktion ist eine Metrik. Beweis............. 4 3.4.3 Definiton eines t-fehlerkorrigierenden und eines s-fehlererkennenden Codes. B t (c) Kugel (Hyperwürfel) mit Radius t um c............ 5 3.4.4 Satz [4].................................... 5 3.4.5 Satz [4].................................... 5 4 Parameterschranken 6 4.1 Definitionen: Informationsrate, Korrekturrate. Das Problem der Effizienz und der Korrekturfähigkeit................................. 6 4.2 Hamming-Schranke (Kugelpackungsschranke)................... 6 4.2.1 Formulierung und Beweis........................... 6 4.2.2 Perfekte Codes: Definition, Beispiele.................... 7 4.3 Singleton-Schranke.................................. 7 4.3.1 Formulierung und Beweis........................... 7 4.3.2 MDS-Code: Definition, Beispiele....................... 8 4.4 Plotkin-Schranke................................... 8 4.4.1 Formulierung und Beweis........................... 8 II

4.5 Gilbert-Varshamov-Schranke............................. 8 4.5.1 Formulierung und Beweis........................... 8 4.6 Grafische Darstellung der Parameterschranken................... 9 III

Abbildungsverzeichnis 1 Codierung [8]..................................... 1 2 Blockcode [aus Wikipedia].............................. 2 3 Parameterschranken [6]................................ 9 IV

1 Gegenstand und Aufgabe der Codierungstheorie In meinem Vortrag geht es um eines heutzutage der wichtigsten Anwendungsgebiete der endlichen Körpern die Codierungstheorie. Am Anfang möchte ich bemerken, dass es hier nicht um die Verschlüsselung der Daten, d.h. um die Bewahrung der Informationen vor dem unberechtigten Zugriff der Dritten, sondern um die Codierung zum Zweck der Datenübertragung geht. Die Aufgabe der Codierungstheorie liegt darin die Daten während der Übertragung vor zufälligen Störungen zu schützen. Auf der Abbildung 1 sehen Sie ein Schema zur Veranschaulichung der Datenübertragung und Codierung. Abbildung 1: Codierung [8] Es wird zwischen fehlererkennenden und fehlerkorrigierenden Codes unterschieden. Die fehlererkennenden Codes sind immer dann sinnvoll, wenn eine erneute Zusendung der Daten möglich ist. D.h., wenn der Empfänger die Nachricht bei der Decodierung als fehlerhaft erkannt hat, wird er den Sender auffordern die Nachricht nochmal zu wiederholen. Eine Rücksprache mit dem Sender ist aber nicht immer möglich, wie z.b. bei der Satellitenübertragung. Hier werden die fehlerkorrigierenden Codes eingesetzt. 2 Blockcode 2.1 Definition Auf dieser Stelle möchte ich die Blockcodes definieren, die dadurch gekennzeichnet sind, das die benutzten Codewörter alle dieselbe Anzahl an Symbolen aus einem Alphabet haben. Formal heißt der Code C A n Blockcode, wobei A das jeweilige Alphabet bezeichnet und n die Länge eines Codewortes w C ist. Blockcodes, die aus m Informationssymbolen am Blockanfang 1

und k Prüfsymbolen am Blockende bestehen werden Systematische Blockcodes genannt (siehe Abbildung 2). Abbildung 2: Blockcode [aus Wikipedia] Obwohl Blockcodes häufig nicht optimal im Sinne einer minimalen mittleren Codewortlänge sind, schränkt man sich oft auf Blockcodes ein, da die Erforschung von Codes mit beliebiger Länge weitaus schwieriger ist. 3 Linearer Code 3.1 Definitionen: Anweisungsfunktion, Codierung, linearer Code, Codewörter, Dimension eines Codes Eine weitere Spezialisierung stellen die linearen Codes dar. Bei den linearen Codes ist das Alphabet eine nicht leere endliche Menge A. Insbesondere interessiert uns die Menge A = F q, wobei q eine Primzahlpotenz und F q ein endlicher Körper ist. Betrachten wir jetzt den Vektorraum F n q über dem Körper F q. Wir nehmen eine Nachricht, die wir senden möchten, und weisen jedem Wort dieser Nachricht mit Hilfe einer bestimmten Anweisungsfunktion, die wir jetzt nicht näher betrachten werden, ein Element aus F k q zu. Wir erhalten eine Nachricht deren Wörter alle Elemente des Vektorraums F k q sind, d.h. die Länge k haben. Eine Codierung ist eine injektive Abbildung E : F k q F n q. Das Bild von E wird ein Code der Länge n genannt und die Elemente im Bild von E heißen Codewörter. Dabei ist Bild(E) ein Unterraum von F n q der Dimension k, k n. Ein linearer Code C kann auch als ein Unterraum des Vektorraums F n q definiert werden. Der Code C besteht aus q k verschiedenen Codewörtern und hat die Dimension k. Die linearen Codes haben die größte praktische Bedeutung und sind zugleich die einfachsten in der Codierungstheorie. 3.2 Beispiele: Wiederholungscode, gerader Paritätscode, ISBN-Code Als Beispiele seien folgende Codes genannt: 1. Der Wiederholungscode funktioniert (wie uns der Name verrät) durch die Wiederholung einer zu codierenden Nachricht a F k q n-mal. Die dazugehörende Codierungsabbildung ist: a aaa... aa (für ein Wiederholungscode der Länge n und Dimension 1). 2

2. Der gerade Paritätscode über F 2 kann durch folgende Abbildung konstruiert werden: (a 1,..., a n 1 ) ( a 1,..., a n 1, ) n 1 i=1 a i. Der gerader Paritätscode ist ein linearer Code der Länge n und und der Dimension n 1. Die Paritätscodes werden z.b. bei der Datenübertragung vom Rechner an einen Drucker oder ein Modem eingesetzt. 3. Der ISBN-Code (International Standard Book Number) ist ein Code der Länge 10 und der Dimension 9 über F 11 = {0,..., 9, X}. Dabei steht X für die Zahl 10. Die zugrunde liegende Abbildung ist (a 1,..., a 9 ) ( a 1,..., a 9, 9 i=1 (11 i)a i ). Dabei sind die ersten 9 Ziffern a 1,..., a 9 Elemente in F 11 / {X}. 3.3 Erzeugermatrix und Kontrollmatrix 3.3.1 Definition Ein linearer Code der Länge n und der Dimension k wird ein [n, k]-code genannt. Sei C ein lineare [n, k]-code. Da C ein Untervektorraum von F n q ist, existiert eine Basis g 1,..., g k von C. Fasst man diese Basis in einer Matrix G = (g 1,..., g k ) T zusammen, erhält man eine Erzeugermatrix. Der Code C kann dann auch als die Menge C = { } ag a F k q beschrieben werden. Des Weiteren besitzt der Code eine Kontrollmatrix H. Für sie gilt Hc T = 0 genau dann, wenn c ein Codewort ist. D.h. C ist die Menge { c F n q Hc T = 0 }. Der Rang von G ist k, der von H ist n k. Wenn H von der Form (A I n k ) ist, d.h. ( ) a11 a H = 1k 1 0, a n k,1 a n k,k 0 1 wo I n k die (n k) (n k) Einheitsmatrix ist, dann ist der Code C ein systematischer Code. Die systematische Form von G ist entsprechend G = ( I k A T ). Denn die Matrizen H und G erfüllen die Gleichung GH T = 0. Somit können wir immer die Kontrollmatrix errechnen, wenn wir die Erzeugermatrix kennen und umgekehrt. 3.3.2 Beispiel 3.2.5. [4] Um diesen Sachverhalt zu veranschaulichen betrachten wir das folgende Beispiel. Sei C ein binärer linearer Code mit der Kontrollmatrix 1 0 1 1 1 0 0 H = 1 1 1 0 0 1 0 0 1 1 1 0 0 1 Wie wir sehen ist H in systematischer Form mit n = 7 und k = 4. Wir haben also einen binären [7,4] linearen Code. Ein Vektor c F 7 2 ist genau dann ein Codewort wenn Hc T = 0 gilt. D.h. der Vektor c muss in der Lösungsmenge des fogenden linearen Gleichungssystems liegen: c 1 + c 3 + c 4 + c 5 = 0 c 1 + c 2 + c 3 + c 6 = 0 c 2 + c 3 + c 4 + c 7 = 0 Dieses System kann folgendermaßen umgeschrieben werden: c 5 = c 1 + c 3 + c 4 c 6 = c 1 + c 2 + c 3 c 7 = c 2 + c 3 + c 4 3

Diese Gleichungen geben uns ein effizientes Verfahren an eine Nachricht zu kodieren. Dazu benutzen wir folgende Abbildung (c 1, c 2, c 3, c 4 ) (c 1, c 2, c 3, c 4, c 1 + c 3 + c 4, c 1 + c 2 + c 3, c 2 + c 3 + c 4 ). Mit Hilfe dieser Abbildung können wir sehr leicht die Erzeugermatrix konstruieren. G = 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 1 0 1 3.3.3 Beispiele für Kontrollmatrizen des Wiederholungscodes und des geraden Paritätscodes Ein linearer Wiederholungscode mit k = 1 und n = 5 hat z.b. als Kontrollmatrix die Matrix 1 1 0 0 0 1 0 1 0 0 H = 1 0 0 1 0 1 0 0 0 1 Der gerade Paritätscode mit Parametern k = 3 und n = 4 hat die Kontrollmatrix. H = (1111) 3.4 Hammingabstand und Hamminggewicht 3.4.1 Definitionen Ein weiterer wichtiger Parameter der linearen Codes ist der Hammingabstand. Der Hammingabstand d(x, y) zwischen zwei Vektoren x und y in F n q ist gleich der Anzahl der Koordinaten in denen die Vektoren sich unterscheiden. Das Hamminggewicht wt(x) eines Vektors x ist gleich der Anzahl der Koordinaten des Vektors die ungleich Null sind. Man kann das Hamminggewicht eines Vektors auch als Hammingabstand vom Nullvektor interpretieren. Es gilt nämlich d(x, 0) = wt(x) und d(x, y) = wt(x y). 3.4.2 Hammingabstandsfunktion ist eine Metrik. Beweis. Wie man leicht sehen kann ist die Hammingabstandsfunktion eine Metrik, denn es gilt für alle Vektoren: (i) d(u, v) 0; (ii) d(u, v) = 0 u = v; (iii) d(u, v) = d(v, u); (v) d(u, w) d(u, v) + d(v, w). Beweis: (i) trivial; 4

(ii) Wenn u sich von v in 0 Stellen unterscheidet, dann sind die Vektoren gleich. (iii) u unterscheidet sich von v in den gleichen Stellen wie v von u. (v) Ich verzichte auf den Beweis der Dreiecksungleichung denn er ist relativ leicht, wegen der Fallunterscheidung aber sehr lang, und ich möchte unsere Zeit für schwierigere Beweise aufheben. 3.4.3 Definiton eines t-fehlerkorrigierenden und eines s-fehlererkennenden Codes. B t (c) Kugel (Hyperwürfel) mit Radius t um c. Sei C ein linearer Code. Der minimale Hammingabstand d c von C ist definiert als: d c = min {d(x, y) x, y C, x y} = min {wt(x) x C, x 0}. Ein Code C wird t-fehlerkorrigierend genannt, wenn jedem Vektor x F n q höchstens ein Codewort zugeordnet werden kann mit der Eigenschaft d(x, y) t. Umgekehrt bedeutet dies für ein bestimmtes Codeworte c, dass alle Wörter x mit einer Hammingdistanz zu c von höchstens t nach c dekodiert werden. Als Menge wird dies so geschrieben: B t (c) = {x A n d(x, c) t}. Diese Menge wird als Kugel (manchmal auch Hyperwürfel) mit Radius t um c bezeichnet. Ein Code C wird s-fehlererkennend genannt, wenn, immer wenn höchstens s Koordinaten des Codewortes während der Übertragung geändert werden, das erhaltene Wort nicht mehr in C liegt. 3.4.4 Satz [4] Sei C ein linearer Code. 1. C kann genau dann t Fehler korrigieren, wenn d c 2t + 1. 2. C kann genau dann s Fehler erkennen, wenn d c s + 1. Beweis: 1. Sei C ein Codewort das übertragen wird und sei r der erhaltene Vektor, bei dem höchstens t Fehler auftreten. Dann ist d(c, r) t. Sei c C ein anderes Codewort. Dann ist d(c, r) t + 1, denn wäre das nicht der Fall, so würde d(c, c ) d(c, r) + d(r, c ) 2t gelten, was ein Widerspruch zu dc 2t + 1 ist. 2. Wenn d c s wäre, so würde es zwei Codeworte c und c mit d(c, c ) s geben. Wenn dann bei der Übertragung von c, s Fehler auftreten, so kann dieser Vektor für c genommen werden. Damit wäre C nicht s-fehlererkennend. 3.4.5 Satz [4] Ein linearer Code C über F q mit einer Kontrollmatrix H hat den minimalen Hammingabstand d c s + 1 genau dann, wenn jede s Spalten der Kontrollmatrix H linear unabhängig sind. 5

Beweis: Hätten wir s linear abhängige Spalten, so würde es ein c C geben mit c 0 und Hc T = 0. Dann ist wt(c) s, denn, haben wir s linear abhängige und n s linear unabhängige Spalten, so muss c mindestens n s Nulleinträge haben und kann somit höchstens s Einträge ungleich 0 besitzen. Wenn aber umgekehrt s Spalten von H linear unabhängig sind, so kann es kein Codewort c C mit wt(c) s geben. Also ist d c s + 1. Dabei ist d c = s + 1, wenn es s Spalten von H gibt, die linear unabhängig sind und s + 1 linear abhängige Spalten sind. 4 Parameterschranken 4.1 Definitionen: Informationsrate, Korrekturrate. Das Problem der Effizienz und der Korrekturfähigkeit. Bevor ich zu dem zweiten Teil meines Vortrags "Die Schranken an Parametern von Codes" übergehe, möchte ich ein Problem der Codierungstheorie erläutern aus welchem die erwähnten Schranken resultieren. Wichtige Parameter eines Blockcodes sind die Informationsrate (eine Kenngröße für die in einer festen Datenmenge enthaltenen Informationsmenge) sowie die Korrekturrate (Hammingabstand eine Kenngröße für die Fehlerresistenz bei einer festen Datenmenge). Es ist im Allgemeinen nicht möglich, diese Eigenschaften gleichzeitig zu optimieren. Deshalb muss in der Praxis stets neu entschieden werden, welcher Blockcode den besten Kompromiss für eine bestimmte Anwendung bietet. Die Spannung zwischen Effizienz (große Informationsrate) und Korrekturfähigkeit lässt sich auch durch den Versuch erkennen, bei einer bestimmten Codewortlänge und einer bestimmten Korrekturrate (dargestellt durch den Hammingabstand d) die gesamte Anzahl der Codewörter zu maximieren. Man interessiert sich also für max { C : C ist ein (n, k, d, q) Code}. Dabei ist n die Codewortlänge, k die Dimension des Codes, d der minimale Hammingabstand und q die Mächtigkeit des Alphabets. Hierzu werden wir folgende Schranken betrachten: Hamming- Schranke, Singleton-Schranke, Plotkin-Schranke, Gilbert-Varshamov-Schranke. 4.2 Hamming-Schranke (Kugelpackungsschranke) 4.2.1 Formulierung und Beweis Wie schon erwähnt wurde, hat ein Code C über F n q der Dimension k q k Codewörter. Der Satz über die Hamming-Schranke besagt, dass g k q n tk=0 ( n k) (q 1) k, dabei ist t = d 1 (die eckigen Klammern bedeuten hier die Größte-Ganze-Funktion). 2 6

Beweis: ist Betrachten wir die Kugel mit Radius t um ein Codewort c. Die Anzahl der Elemente ( ) t n B t (c) = (q 1) i. i=0 i Denn für i Fehlerstellen gibt es i aus n mögliche Positionen für die Fehler. Dabei stehen pro Fehlerstelle q 1 falsche Symbole zur Verfügung. Es gibt insgesamt q k = C Kugeln. Diese sind disjunkte Teilmengen des F n q. Daraus ergibt sich die Ungleichung ( ) t n F n q = q n q k (q 1) i. i=0 i Aufgelöst nach q k ergibt sich q k q n tk=0 ( n k) (q 1) k. 4.2.2 Perfekte Codes: Definition, Beispiele Codes für welche bei der Hamming-Schranke die Gleichheit gilt werden perfekte Codes genannt. Ein perfekter Code, oder auch dicht gepackter Code, bezeichnet in der Codierungstheorie einen Blockcode C bei dem jedes Wort x F n q nur zu genau einem Codewort c C eine minimale Hammingdistanz hat. Bei einem perfekten Code sind alle Wörter x F n q in einer der Kugel enthalten (anders ausgedrückt: die Kugeln überdecken den Raum). Beispiele für perfekte Codes: Ein trivialer Code. Ein Code heißt trivial, falls er entweder nur ein einziges Codewort enthält, oder falls er sämtliche q n möglichen Wörter der gegebenen Blocklänge enthält. Ein binärer Wiederholungscode mit ungerader Codewortlänge. 4.3 Singleton-Schranke 4.3.1 Formulierung und Beweis Der nächste unser Satz betrifft die Singleton-Schranke. Sei C ein [n, k, d]-code über F q. Es gilt: q k q n d+1. Diese Ungleichung ist äquivalent zu d n k + 1. Beweis: Streichen wir in den Codewörtern jeweils die d 1 der n Stellen, so haben die übrigen Codewörter zueinander immer noch mindestens den Hammingabstand 1 (bei d Streichungen wäre dies nicht mehr gewährleistet). Damit sind immer noch alle Codeworte unterschiedlich, also die Mächtigkeit des auf diese Weise erzeugten Codes C ist gleich q k. Deswegen muss auch die Anzahl der durch die Länge n (d 1) erzeugbaren Wörter q n d+1 q k sein. Stellt man diese Gleichung um, ergibt sich daraus die Singleton-Schranke n d + 1 k d n k + 1. 7

4.3.2 MDS-Code: Definition, Beispiele Codes die die Singleton-Schranke mit Gleichheit erfüllen nennt man auch MDS-Codes. Aus englischem Maximum Distance Separable Code. Die deutsche Bezeichnung ist separabler Maximum-Distanz-Code. Dieser Code ist dadurch charakterisiert, dass beliebige k Stellen die Codewörter eindeutig voneinander unterscheidbar machen. Für binäre Codes existieren lediglich die folgenden trivialen MDS-Codes: Wiederholungscode, 1-Bit-Parity-Check-Code (gerader Paritätscode der Länge 2), Code ohne Redundanz. 4.4 Plotkin-Schranke 4.4.1 Formulierung und Beweis Die nächste wichtige Schranke ist die Plotkin-Schranke. Die Plotkin-Schranke ist ähnlich wie die Hamming-Schranke eine obere Grenze für den Wert der Hammingdistanz bei bestimmten Werten von n und k. Dabei neigt die Plotkin-Schranke eine engere Schranke für die Codes mit niedriger Informationsrate zu sein, während die Hamming-Schranke die Codes mit hoher Informationsrate mehr beschränkt. Der Satz über die Plotkin-Schranke besagt, dass der minimale Hammingabstand höchsten gleich dem durchschnittlichen Hamminggewicht aller Codewörter ungleich 0 ist. Sei C ein linearer Code über F q. Sei D ein Unterraum von C, der aus solchen Codewörtern besteht bei welchen die i-te Koordinate gleich Null ist. Dann ist C/D ein eindimensionaler Quotientenraum und die Mächtigkeit von D ist gleich q. Aus C / D = C/D folgt D = q k 1. Es gibt also q k 1 Codewörter, bei denen die i-te Komponente gleich Null ist. Ebenso gibt es für jedes a F q, q k 1 Elemente in C, bei denen die i-te Komponente gleich a ist. Da die Codewörter die Länge n haben, ist das Gesamtgewicht aller Codewörter n q k 1 (q 1). Die Anzahl der Codewörter ungleich 0 ist q k 1. Es gilt also d c n (q 1) qk 1 q k 1 4.5 Gilbert-Varshamov-Schranke 4.5.1 Formulierung und Beweis Die letzte Schranke die ich behandeln werde ist die Gilbert-Varshamov-Schranke. Der Satz über die Gilbert-Varshamov-Schranke besagt, dass es immer einen linearen [n, k, d]-code über F q gibt, sofern gilt. q n k > d c 2 i=0 ( ) n 1 (q 1) i i Beweis: Ein linearer Code der Länge n hat die Mindestdistanz d, wenn beliebige d 1 Spalten der Prüfmatrix H linear unabhängig sind und d Spalten existieren, die linear abhängig sind. Konstruiert man sich eine Prüfmatrix H (n k Zeilen und n Spalten) derart, dass keine d 1 Spalten linear abhängig sind, so kann man dies folgendermaßen tun: Die erste Spalte braucht nur ungleich der Nullspalte zu sein. Die zweite Spalte darf kein Vielfaches der ersten Spalte sein. Die dritte Spalte darf keine Linearkombination der ersten beiden Spalten sein. Derart 8

seien n 1 Spalten konstruiert und zu zeigen ist, dass noch eine n-te Spalte konstruierbar ist. Damit von den n Spalten jeweils d c 1 Spalten linear unabhängig sind, darf die n-te Spalte keine Linearkombination von d 2 oder weniger Spalten aus den ersten n 1 Spalten sein. Die Anzahl der Linearkombinationen von genau i Spalten aus n 1 Spalten beträgt ( ) n 1 (q 1) i ) (q 1) i Linearkombinationen von d 2 oder weniger und somit gibt es l = i=1 d c 2 ( n 1 i Spalten aus n 1 Spalten. Für die n-te Spalte gibt es q n k Möglichkeiten von denen diese l Möglichkeiten sowie die Nullspalte ausgeschlossen sind, d.h. es muss q n k > l + 1 sein (damit ein [n, k, d]-code existiert). i 4.6 Grafische Darstellung der Parameterschranken In der Abbildung 3 sieht man alle bisher behandelten Codes grafisch dargestellt. Abbildung 3: Parameterschranken [6] Literatur [1] Bossert, M.: Kanalcodierung. Teugner, 1998 [2] Friedrichs, Bernd: Kanalcodierung: Grundlagen und Anwendungen in modernen Kommunikationssystemen, Springer Verlag, 1996 [3] MacWilliams, F.J.; Sloane, N.J.A.: The Theory of Error-Correcting Codes, North-Holland Publishing Company, 1977 [4] Mullen, Gary L.; Mummert, Carl: Finite Fields and Applications, American Mathematical Society, 2007 9

[5] Peterson, W. Wesly: Prüfbare und korrigierbare Codes, Oldenbourg Verlag, 1967. [6] Rudra, Atri; Russel, Nathan: Plotkin Bound, University at Buffalo, http://www.cse.buffalo.edu/atri/courses/coding-theory/lectures/lect16.pdf, 2007 [Stand: 3.08.2012] [7] Sweeney, Peter: Error control coding: from theory to practice, Wiley, 2002. [8] Unger, Luise: Fehlererkennende Codes, FernUniversität Hagen, 2004 10