- Gruppencode
-
In der Kodierungstheorie (Informatik) versteht man unter einem Gruppencode eine spezielle Codierung die man zur Fehlererkennung und Fehlerkorrektur verwenden kann. Für die Codierung wird eine Gruppe (algebraische Struktur) verwendet.
Inhaltsverzeichnis
Codierung
Ein Gruppencode ist ein Blockcode, das heißt alle Codewörter haben die gleiche Länge (Im weiteren bezeichnen wir die Länge der Codewörter mit n).
Zu Kodierung verwendet man als Alphabet eine beliebige abelsche Gruppe , meist , die zyklische Gruppe der Ordnung zwei, da man deren beiden Elemente mit den Bits 0 und 1 identifizieren kann.
Die quellkodierten Wörter sind die Elemente der Gruppe . (Alle Wörter mit Symbolen aus A der Länge k)
Um die Gruppe zu Codieren wählt man einem injektiven Homomorphismus . Das Bild von f ist eine Untergruppe von .
C ist der Gruppencode. f die zugehörige Kodierungsfunktion.
Im Gegensatz zu „willkürlichen“ Codierungen muss f nicht für jedes Codewort extra angegeben (gespeichert) werden sondern es reicht f für ein erzeugendes System der Gruppe zu definieren. Die Codierung der restlichen Elemente kann dann mittels deren Darstellung als Summe von erzeugenden Elementen berechnet werden.
Beispiele
Beispiel 1
Gruppe
Quellcodierung:
erzeugendes System: e1 = (1,0,0), e2 = (0,1,0), e3 = (0,0,1)
Codierung: f(e1) = (1,1,0,0,0), f(e2) = (0,0,1,1,0), f(e3) = (1,0,1,0,1)
Sei nun c = (1,0,1) ein Wort in Quellcodierung. Um die Codierung f(c) zu berechnen geht man wie folgt vor:
Man stellt c als Summe von erzeugenden Elementen dar: c = (1,0,1) = e1 + e3
und berechnet dann die Summe der Codierungen der selbigen f(c) = f(e1) + f(e3) = (1,1,0,0,0) + (1,0,1,0,1) = (0,1,1,0,1)
Beispiel 2
Gruppe , die Kleinsche Vierergruppe
+ 0 1 x x+1 0 0 1 x x+1 1 1 0 x+1 x x x x+1 0 1 x+1 x+1 x 1 0 Quellcodierung:
erzeugendes System: e1 = (1,0), e2 = (x,0), e3 = (0,1), e4 = (0,x)
Codierung: f(e1) = (1,0,0), f(e2) = (1,1,0), f(e3) = (x,1,1) , f(e4) = (0,0,x)
Sei nun c = (1,x + 1) ein Wort in Quellcodierung. c = e1 + e3 + e4,f(c) = f(e1) + f(e3) + f(e4) = (1,0,0) + (x,1,1) + (0,0,x) = (x + 1,1,x + 1),
Eigenschaften
Gruppencodes erfüllen folgende Eigenschaften:
- Die Codewörter bilden eine Gruppe
- Bei einem binären Gruppencode ist die Distanzverteilung jeweils gleich für alle Codewörter und auch gleich der Gewichtsverteilung.
- Jeder Gruppencode enthält den "Nullvektor" als gültiges Codewort.
- Das Gewicht eines Gruppencodes ist definiert als das kleinste Codewortgewicht (Hamming-Gewicht) außer dem des Nullvektors.
- Bei binären Gruppencodes gilt, dass der Hamming-Abstand dem Gewicht des Codes entspricht.
Siehe auch
- Ein linearer Code ist eine Codierung, bei der statt einer Gruppe ein endlicher Körper verwendet wird.
Wikimedia Foundation.