1.1 Definitionen
Wir betrachten
also die Anzahl der Stellen, an denen
so dass sich
Wir definieren den Minimalabstand von
Üblicherweise wollen wir, dass
Eine Rate
Ziel. Wir wollen
einen Code
: der Code soll also einen konstanten Anteil fehlerhafter Bits tolerieren (d.h. erkennen) können;-
: die Anzahl der gesendeten Bits ( ) sind proportional zur Anzahl der Nutzbits ( ); -
soll effizient berechenbar sein, also zum Beispiel in Zeit . -
Wir wollen die Umkehrfunktion
effizient berechnen können. Und noch mehr: für ein Wort wollen wir effizient entscheiden können, ob liegt, ob also ein Codewort ist und wenn ja, welchem Urwort es entspricht, also . -
Noch mehr: falls es ein Codewort
gibt mit (es kann höchstens ein solches geben), dann wollen wir und das mit effizient finden können. Wir wollen den Fehler also nicht nur erkennen, sondern auch korrigieren können.
Codes als Teilmenge
Fürs erste interessieren uns nur die kombinatorischen Eigenschaften (1) und (2)
der obigen Liste,
also Rate und Abstand eines Codes. In diesem Falle ist es
einfacher, die Menge der Codewörter
Die Abstand von
Wie definieren wir die Rate? Den Wert
Codes über einem größeren Alphabet
Obwohl auf einem Computer oder bei den meisten Netzwerkprotokollen schlussendlich doch alles binär codiert wird, ist es nützlich, Codes über einem größeren Alphabet zu studieren. Also
Hamming-Abstand und Minimalabstand können wie zuvor definiert werden.
Allerdings kann man die Rate nun nicht mehr als
Für
also der (logarithmische) Anteil des Wertebereichs, der von