article

Die Reed-Muller Codes sind eine Familie von linearen fehlerkorrigierenden Codes, die in der Kommunikationstechnik Verwendung finden.

Praxis


Der binäre Reed-Muller-Code wurde von der NASA in den Mariner Expeditionen (1969 bis 1976) zum Mars benutzt, um die vom Mars gemachten Fotos an die Erde zu senden. Im Speziellen wurde ein RM-Code mit den Parametern 6, 16 verwendet, das bedeutet, dass sechs Informationsbits in 32 Bit langen Wörtern kodiert waren und das Minimalgewicht der Wörter mindestens 16 betrug, was eine Fehlerkorrektur von 7 Bits ermöglichte. Mit den 2^6=64 Codeworten wurden die Helligkeiten eines Bildpunktes kodiert.

Konstruktion


Im Folgenden wird beschrieben, wie man eine Erzeugermatrix eines Reed-Muller-Codes der Länge n = 2d konstruiert.

X = \mathbb{F}_2^d = \{ x_1, \ldots, x_{2^d} \}

Wir definieren im n-dimensionalen Raum \mathbb{F}_2^n die Indikatorvektoren :

\mathbb{I}_A \in \mathbb{F}_2^n

auf Untermengen A \subset X durch:

\left( \mathbb{I}_A \right)_i = \begin{cases} 1 & \mbox{ wenn } x_i \in A \\ 0 & \mbox{ sonst} \\ \end{cases}

und - ebenfalls in \mathbb{F}_2^n - die binäre Operation:

w \wedge z = (w_1 \times z_1, \ldots , w_n \times z_n )

die als Keil-Produkt bezeichnet wird.

\mathbb{F}_2^d ist ein d-dimensionaler Vektorraum über \mathbb{F}_2, deshalb ist es möglich zu schreiben:

(\mathbb{F}_2)^d = \{ (y_1, \ldots , y_d) | y_i \in \mathbb{F}_2 \}

Wir definieren im n-dimensionalen Raum \mathbb{F}_2^n die folgenden Vektoren der Länge n: v_0 = (1,1,1,1,1,1,1,1) und

v_i = \mathbb{I}_{ H_i }

wobei Hi Hyperebenen in (\mathbb{F}_2)^d (mit Dimension 2d-1) sind:

H_i = \{ y \in ( \mathbb{F}_2 ) ^d \mid y_i = 0 \}

Der Reed-Muller RM(d, r)-Code der Ordnung r und der Länge n=2d ist derjenige Code, der durch v0 und dem Keil-Produkt von bis zu r der v_i erzeugt wird (wobei nach Vereinbarung ein Keil-Produkt von weniger als einem Vektor gleich der Identität für diesen Operator ist).

Beispiel 1


Sei d=3. Dann n=8, und

X = \mathbb{F}_2^3 = \{ (0,0,0), (0,0,1), \ldots, (1,1,1) \}.

und

\begin{matrix} v_0 & = & (1,1,1,1,1,1,1,1) \\ v_1 & = & (1,0,1,0,1,0,1,0) \\ v_2 & = & (1,1,0,0,1,1,0,0) \\ v_3 & = & (1,1,1,1,0,0,0,0) \\ \end{matrix}

Der RM(3,1)-Code wird erzeugt durch die Menge

\{ v_0, v_1, v_2, v_3 \}

oder genauer durch die Zeilen der Matrix

\begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\ 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ \end{pmatrix}

Beispiel 2


Der RM(3,2)-Code wird erzeugt durch die Menge

\{ v_0, v_1, v_2, v_3, v_1 \wedge v_2, v_1 \wedge v_3, v_2 \wedge v_3 \}

oder genauer durch die Zeilen der Matrix

\begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\ 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\ 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ \end{pmatrix}

Eigenschaften


Es gelten die folgenden Eigenschaften

  1. Die Menge aller möglichen Keil-Produkte von bis zu d der v_i bilden eine Basis von \mathbb{F}_2^n.
  2. Der RM(d, r)-Code hat den Rang: \sum_{s=0}^r {d \choose s}
  3. RM(d, r) = RM(d-1,r) | RM(d-1,r-1) wobei '|' das Balkenprodukt zweier Codes bezeichnet
  4. RM(d, r) hat die minimale Hamming-Distanz 2d-r.

Kodierungstheorie | Diskrete Mathematik

Code de Reed-Müller | Reed-Muller-code | Reed-Muller code

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Reed-Muller-Code".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld