<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Reed-Muller-Code</id>
	<title>Reed-Muller-Code - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Reed-Muller-Code"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Reed-Muller-Code&amp;action=history"/>
	<updated>2026-05-21T21:41:48Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Reed-Muller-Code&amp;diff=585205&amp;oldid=prev</id>
		<title>imported&gt;Xenein: /* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Reed-Muller-Code&amp;diff=585205&amp;oldid=prev"/>
		<updated>2024-11-28T17:13:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Die &amp;#039;&amp;#039;&amp;#039;Reed-Muller-Codes&amp;#039;&amp;#039;&amp;#039; sind eine Familie von [[Linearer Code|linearen]], [[Fehlerkorrekturverfahren|fehlerkorrigierenden]] Codes, die im Bereich der [[Kanalcodierung]] zur gesicherten Datenübertragung und Datenspeicherung Verwendung finden. Diese Klasse von Codes wurden von [[Irving S. Reed]] und David E. Muller entwickelt.&lt;br /&gt;
&lt;br /&gt;
== Praxis ==&lt;br /&gt;
&lt;br /&gt;
Der binäre Reed-Muller-Code wurde von der [[NASA]] in den [[Mariner]] Expeditionen (1969 bis 1976) zum [[Mars (Planet)|Mars]] benutzt, um die vom Mars gemachten Fotos an die [[Erde]] zu senden. Im Speziellen wurde bei Mariner 9 ein RM-Code (1, 5) ohne Kontrollmatrix als [[Hadamard-Code]] (32, 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 &amp;lt;math&amp;gt;2^6=64&amp;lt;/math&amp;gt; Codewörtern wurden Grauwerte eines Bildpunktes kodiert. Mehr dazu im nachfolgenden Beispiel 3 zur NASA Raumsonde Mariner 9.&lt;br /&gt;
&lt;br /&gt;
== Konstruktion ==&lt;br /&gt;
Im Folgenden wird beschrieben, wie man eine Erzeugermatrix eines Reed-Muller-Codes der Länge &amp;lt;math&amp;gt;n=2^d&amp;lt;/math&amp;gt; konstruiert&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; X = \mathbb{F}_2^d = \{ x_1, \ldots, x_{2^d} \} &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{F}_n&amp;lt;/math&amp;gt; ist eine [[Teilmenge]] der [[Natürliche Zahl|nichtnegativen ganzen Zahlen]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathbb{F}_n = \{a \in \mathbb{N}_0\;|\; a &amp;lt; n\}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Wir definieren im n-dimensionalen Raum &amp;lt;math&amp;gt;\mathbb{F}_2^n&amp;lt;/math&amp;gt; die Indikatorvektoren &amp;lt;!-- Was ist das? --&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathbb{I}_A \in \mathbb{F}_2^n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
auf Untermengen &amp;lt;math&amp;gt;A \subset X&amp;lt;/math&amp;gt; durch:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\left( \mathbb{I}_A \right)_i = \begin{cases} 1 &amp;amp; \mbox{ wenn } x_i \in A \\ 0 &amp;amp; \mbox{ sonst} \\ \end{cases} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und – ebenfalls in &amp;lt;math&amp;gt;\mathbb{F}_2^n&amp;lt;/math&amp;gt; – die binäre Operation:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; w \wedge z = (w_1 \times z_1, \ldots , w_n \times z_n ) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
die als &amp;#039;&amp;#039;Keil-Produkt&amp;#039;&amp;#039; bezeichnet wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathbb{F}_2^d&amp;lt;/math&amp;gt; ist ein &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt;-dimensionaler [[Vektorraum]] über &amp;lt;math&amp;gt;\mathbb{F}_2&amp;lt;/math&amp;gt;, deshalb ist es möglich zu schreiben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;(\mathbb{F}_2)^d = \{ (y_1, \ldots , y_d)\;|\;y_i \in \mathbb{F}_2 \} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir definieren im &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;-dimensionalen Raum &amp;lt;math&amp;gt;\mathbb{F}_2^n&amp;lt;/math&amp;gt; die folgenden Vektoren der Länge &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;v_0 = (1,1,\ldots,1)&amp;lt;/math&amp;gt; und&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; v_i = \mathbb{I}_{ H_i } &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
wobei &amp;lt;math&amp;gt;H_i&amp;lt;/math&amp;gt; [[Hyperebene]]n in &amp;lt;math&amp;gt;(\mathbb{F}_2)^d&amp;lt;/math&amp;gt; (mit Dimension &amp;lt;math&amp;gt;d-1&amp;lt;/math&amp;gt;) sind:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;H_i = \{ y \in ( \mathbb{F}_2 ) ^d \mid y_i = 0 \} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der &amp;#039;&amp;#039;&amp;#039;Reed-Muller RM(d, r)-Code&amp;#039;&amp;#039;&amp;#039; der Ordnung &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; und der Länge &amp;lt;math&amp;gt;n=2^d&amp;lt;/math&amp;gt; ist derjenige Code, der durch &amp;lt;math&amp;gt;v_0&amp;lt;/math&amp;gt; und dem Keil-Produkt von bis zu &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; der &amp;lt;math&amp;gt;v_i&amp;lt;/math&amp;gt; erzeugt wird (wobei nach Vereinbarung ein Keil-Produkt von weniger als einem Vektor gleich der Identität für diesen Operator ist).&lt;br /&gt;
== Eigenschaften ==&lt;br /&gt;
Es gelten die folgenden Eigenschaften&lt;br /&gt;
&lt;br /&gt;
# Die Menge aller möglichen Keil-Produkte von bis zu &amp;#039;&amp;#039;d&amp;#039;&amp;#039; der &amp;lt;math&amp;gt;v_i&amp;lt;/math&amp;gt; bilden eine [[Basis (Vektorraum)|Basis]] von &amp;lt;math&amp;gt;\mathbb{F}_2^n&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Der RM(d, r)-Code hat den Rang: &amp;lt;math&amp;gt; \sum_{s=0}^r {d \choose s} &amp;lt;/math&amp;gt;&lt;br /&gt;
# Es gilt &amp;lt;math&amp;gt;RM(d, r) = RM(d-1, r)|RM(d-1, r-1) &amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;|&amp;lt;/math&amp;gt; das [[Bar-Product (Codierungstheorie)|Bar-Product]] zweier Codes bezeichnet&lt;br /&gt;
# RM(d, r) hat die minimale [[Hamming-Distanz]]  &amp;lt;math&amp;gt;2^{d-r}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Beispiel 1 ==&lt;br /&gt;
&lt;br /&gt;
Sei &amp;lt;math&amp;gt;d=3&amp;lt;/math&amp;gt;. Dann &amp;lt;math&amp;gt;n=8&amp;lt;/math&amp;gt;, und&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; X = \mathbb{F}_2^3 = \{ (0,0,0), (0,0,1), \ldots, (1,1,1) \}. &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{matrix}&lt;br /&gt;
v_0 &amp;amp; = &amp;amp; (1,1,1,1,1,1,1,1) \\&lt;br /&gt;
v_1 &amp;amp; = &amp;amp; (1,0,1,0,1,0,1,0) \\&lt;br /&gt;
v_2 &amp;amp; = &amp;amp; (1,1,0,0,1,1,0,0) \\&lt;br /&gt;
v_3 &amp;amp; = &amp;amp; (1,1,1,1,0,0,0,0) \\&lt;br /&gt;
\end{matrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der RM(3,1)-Code wird erzeugt durch die Menge&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt; \{ v_0, v_1, v_2, v_3 \} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder genauer durch die Zeilen der Matrix&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 \\&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel 2 ==&lt;br /&gt;
&lt;br /&gt;
Der RM(3,2)-Code wird erzeugt durch die [[Menge (Mathematik)|Menge]]&lt;br /&gt;
:&amp;lt;math&amp;gt; \{ v_0, v_1, v_2, v_3, v_1 \wedge v_2, v_1 \wedge v_3, v_2 \wedge v_3 \} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder genauer durch die Zeilen der [[Matrix (Mathematik)|Matrix]]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 \\&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel 3: NASA Raumsonde Mariner 9 ==&lt;br /&gt;
&lt;br /&gt;
Bei der NASA [[Raumsonde]] [[Mariner#Mariner 8 und 9|Mariner 9]] aus dem Jahre 1971 wurde ein Reed-Muller-Code (1, 5) mit fehlender Kontrollmatrix genutzt, der einen Spezialfall allgemeiner Reed-Muller Codes darstellt. Dieser Code war schlussendlich ein [[Hadamard-Code]] mit den Parametern (32, 6, 16). Mit diesem RM-Code (32, 6, 16) wurden 32 Bit lange Codewörter übertragen, die &amp;lt;math&amp;gt;2^6=64&amp;lt;/math&amp;gt; Werte kodierten, wobei die Codewörter untereinander einen Hamming-Abstand von 16 aufwiesen. Diese Parameter wurden aufgrund der Kanalcharakteristik, der Bildauflösung und der Aufnahme- und Übertragungszeiten gewählt, die eine Wortlänge von reichlich 30 Bit sinnvoll machten.&lt;br /&gt;
&lt;br /&gt;
Aufgrund der großen Entfernung zwischen Mars und Erde, und den damals im Vergleich zu heute unfortschrittlichen Übertragungsgeräten, lag die angenommene Bit-Fehlerwahrscheinlichkeit bei 5 %. Daraus ergibt sich aufgrund der Kodierung von einem [[Grauwert]] in 6 Bit ohne zusätzliche Fehlerkorrekturmechanismen eine Grauwert-Fehlerwahrscheinlichkeit von 26 %. Das heißt, ca. ein Viertel eines übertragenen Bildes kommt fehlerhaft beim Empfänger an. Durch den Einsatz des RM-Code (32, 6, 16) konnte bei gleicher Bit-Fehlerwahrscheinlichkeit von 5 % die Grauwert-Fehlerwahrscheinlichkeit auf 0,01 % reduziert werden.&lt;br /&gt;
&lt;br /&gt;
=== Konstruktion ===&lt;br /&gt;
&lt;br /&gt;
[[Datei:Hadamard-Code.svg|mini|Matrix des Hadamard-Code (32, 6, 16) für den Reed-Muller-Code (1,5) der NASA Raumsonde Mariner 9 (1971/1972). Die Farbe Schwarz kodiert die Binärziffer 1, und die Farbe Weiß kodiert die Binärziffer 0.]]&lt;br /&gt;
&lt;br /&gt;
Der verwendete RM-Code (32, 6, 16) basiert auf einer [[Hadamard-Matrix]] &amp;lt;math&amp;gt;H_{32}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Konstruktion von &amp;lt;math&amp;gt;H_{32}&amp;lt;/math&amp;gt; erfolgt rekursiv aus der Hadamard-Matrix&lt;br /&gt;
:&amp;lt;math&amp;gt;H_1 = \begin{pmatrix} 1 \end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
und der Erzeugungsregel&lt;br /&gt;
:&amp;lt;math&amp;gt;H_{2n} = \begin{pmatrix} H_n &amp;amp; H_n \\ H_n &amp;amp; -H_n \end{pmatrix}&amp;lt;/math&amp;gt;&lt;br /&gt;
Diese Konstruktion nach [[James Joseph Sylvester|Sylvester]] erzeugt die sogenannten [[Walsh Matrix|Walsh Matrizen]]&lt;br /&gt;
:&amp;lt;math&amp;gt;H_1 = \begin{pmatrix} 1 \end{pmatrix}, H_2 = \begin{pmatrix} 1 &amp;amp; 1 \\ 1 &amp;amp; -1 \end{pmatrix}, H_4 = \begin{pmatrix} 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 \\ 1 &amp;amp; -1 &amp;amp; 1 &amp;amp; -1 \\ 1 &amp;amp; 1 &amp;amp; -1 &amp;amp; -1 \\ 1 &amp;amp; -1 &amp;amp; -1 &amp;amp; 1 \end{pmatrix}, \ldots &amp;lt;/math&amp;gt;&lt;br /&gt;
die normalisierte Hadamard-Matrizen vom Grad &amp;lt;math&amp;gt;2^k&amp;lt;/math&amp;gt; darstellen.&lt;br /&gt;
&lt;br /&gt;
Wenn man nun die Hadamard-Matrix &amp;lt;math&amp;gt;H_{32}&amp;lt;/math&amp;gt; als Bitmuster interpretiert (bei dem eine 1 für die Binärziffer 1, und eine &amp;lt;math&amp;gt;-1&amp;lt;/math&amp;gt; für die Binärziffer 0 steht), dann erhält man 32 Codewörter mit 32 Bit Länge. Jedes dieser Codewörter weist zu jedem anderen Codewort einen Hamming-Abstand von 16 oder 32 auf. Durch Kombination der Hadamard-Matrix &amp;lt;math&amp;gt;H_{32}&amp;lt;/math&amp;gt; mit der dazu inversen Hadamard-Matrix &amp;lt;math&amp;gt;-H_{32}&amp;lt;/math&amp;gt; erhält man 64 Codewörter mit 32 Bit Länge, bei denen jedes Codewort zu jedem anderen Codewort einen Hamming-Abstand von 16 aufweist. Diese Kombination von &amp;lt;math&amp;gt;H_{32}&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;-H_{32}&amp;lt;/math&amp;gt; definiert dabei einen Hadamard-Code, mit dem sich &amp;lt;math&amp;gt;2^6=64&amp;lt;/math&amp;gt; Werte kodieren lassen, indem ein Wert &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; der &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;-ten Zeile des Codes entspricht. Die nebenstehende Abbildung zeigt den vollständigen Hadamard-Code für RMC (32, 6, 16), wobei die Farbe Schwarz für die Binärziffer 1 und die Farbe Weiß für die Binärziffer 0 steht.&lt;br /&gt;
&lt;br /&gt;
== Alternative Charakterisierung ==&lt;br /&gt;
Die Klasse der Reed-Muller-Codes kann man auch mit einer Menge von Abbildungen identifizieren. Betrachte hierzu die Menge&lt;br /&gt;
:&amp;lt;math&amp;gt; V = \{ f \text{ Abbildung} \mid f\colon \mathbb{F}_2^m \rightarrow \mathbb{F}_2 \} &amp;lt;/math&amp;gt;.&lt;br /&gt;
Eine Abbildung &amp;lt;math&amp;gt;f \in V&amp;lt;/math&amp;gt; wird durch ihre &amp;lt;math&amp;gt;{2^m}&amp;lt;/math&amp;gt; Bilder eindeutig bestimmt, sofern deren Reihenfolge bekannt ist. Daher kann man &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; auch durch den zugehörigen Bildvektor &amp;lt;math&amp;gt;(f(0),f(1),\dots,f(2^m-1)) \in \mathbb{F}_2^{2^m}&amp;lt;/math&amp;gt; darstellen, wobei die Argumente &amp;lt;math&amp;gt;0,1,\dots,2^m-1&amp;lt;/math&amp;gt; die &amp;lt;math&amp;gt;2&amp;lt;/math&amp;gt;-adische Entwicklung der Elemente aus dem Definitionsbereich &amp;lt;math&amp;gt;\mathbb{F}_2^m&amp;lt;/math&amp;gt; sind.&lt;br /&gt;
Auf &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; kann man eine komponentenweise Addition und Multiplikation gemäß den Rechenoperationen in &amp;lt;math&amp;gt;\mathbb{F}_2&amp;lt;/math&amp;gt; definieren. Genau genommen gibt es einen Ringisomorphismus zwischen der Menge der Abbildungen &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; und der Menge der Bildvektoren &amp;lt;math&amp;gt;\mathbb{F}_2^{2^m}&amp;lt;/math&amp;gt;, weshalb man eine Abbildung auch mit seinem Bildvektor identifizieren kann: &amp;lt;math&amp;gt; f = (f(0),f(1),\dots,f(2^m-1)) &amp;lt;/math&amp;gt;. In &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; liegen spezielle Abbildungen, die sogenannten [[Koordinatenfunktion|Koordinatenfunktionen]] &amp;lt;math&amp;gt;Z_i,\;i \in \{1 \dots 2^m\}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Diese sind wie folgt definiert:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;Z_i(v) := v_i&amp;lt;/math&amp;gt; für &amp;lt;math&amp;gt;v=(v_1,\dots,v_m) \in \mathbb{F}_2^m&amp;lt;/math&amp;gt;.&lt;br /&gt;
In der oben eingeführten Vektordarstellung lassen sich die Koordinatenfunktionen auch schreiben als&lt;br /&gt;
:&amp;lt;math&amp;gt;Z_i = (\underbrace{0,\dots,0}_{2^{i-1}\text{-mal}},\underbrace{1,\dots,1}_{2^{i-1}\text{-mal}},\underbrace{0,\dots,0}_{2^{i-1}\text{-mal}},\dots) \in \mathbb{F}_2^{2^m}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Nun gilt:&lt;br /&gt;
# Das System der Monome &amp;lt;math&amp;gt;Z_{i_1} \cdot \dots \cdot Z_{i_k}&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;1 \le i_1 &amp;lt; \dots &amp;lt; i_k \leq m, k=0,\dots,m&amp;lt;/math&amp;gt;) ist eine Basis von &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Die Teilmenge &amp;lt;math&amp;gt; \{ f\colon \mathbb{F}_2^m \rightarrow \mathbb{F}_2 \text{ Abbildung} \mid \operatorname{grad}(f) \leq r \} \subseteq V &amp;lt;/math&amp;gt; entspricht dem Reed-Muller-Code RM(r, m). Hierbei ist &amp;lt;math&amp;gt; \operatorname{grad}(f) &amp;lt;/math&amp;gt; der höchste Monomgrad der Koordinatenfunktionen, als deren Summe &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; gemäß 1. geschrieben werden kann.&lt;br /&gt;
&lt;br /&gt;
== Dekodierung ==&lt;br /&gt;
Die Idee ist wie folgt: Jedes Codewort des Reed-Muller-Codes RM(r,m) kann gemäß der obigen alternativen Charakterisierung als Funktion &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; aus &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; aufgefasst werden – mit Basisdarstellung in entgegengesetzten Koordinatenfunktionen, d.&amp;amp;nbsp;h. mit eindeutig bestimmten Koeffizienten &amp;lt;math&amp;gt;m_I \text{ mit } I \subseteq M&amp;lt;/math&amp;gt; wobei &amp;lt;math&amp;gt;M = \{ 1,\dots,m \}&amp;lt;/math&amp;gt; die Menge der Koordinatenfunktionen-Indizes ist. Die Funktion &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; wird als Bildvektor &amp;lt;math&amp;gt;(f(0),f(1),\dots,f(2^m-1))&amp;lt;/math&amp;gt; durch den gestörten Kanal geschickt. Der Empfänger dekodiert das mit Fehler &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; behaftete Codewort &amp;lt;math&amp;gt;g=f+e&amp;lt;/math&amp;gt;, indem er sukzessive die Koeffizienten &amp;lt;math&amp;gt;m_I&amp;lt;/math&amp;gt; rekonstruiert. Dabei beginnt er mit den Koeffizienten, die zum [[Monom]] höchsten Grades &amp;lt;math&amp;gt;r&amp;lt;/math&amp;gt; gehören.&lt;br /&gt;
Hierzu berechnet er das Skalarprodukt von &amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; mit den s.g. charakteristischen Funktionen des Monoms. Dies sind alle Abbildungen vom Grad &amp;lt;math&amp;gt;m-r&amp;lt;/math&amp;gt;, wobei die erzeugenden Koordinatenfunktionen auch entgegengesetzt vorkommen können. Der Wert, der mehrheitlich durch die Skalarprodukte berechnet wird, ist der ursprüngliche Monomkoeffizient. Das Verfahren wird mit den Monomen vom Grad &amp;lt;math&amp;gt;r-1,r-2,\dots,0&amp;lt;/math&amp;gt; wiederholt und man erhält hierdurch schließlich &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; – vorausgesetzt der Fehler &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt; ist nicht zu groß.&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
Codierungs- und Decodierungsprozess mittels Reed-Muller-Codes im Überblick:&lt;br /&gt;
# Nachricht &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; wird in Codewort &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; übersetzt.&lt;br /&gt;
# Codewort &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; kann mit Abbildung &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; identifiziert werden.&lt;br /&gt;
# Abbildung &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; kann auch als Bildvektor &amp;lt;math&amp;gt;(f(0),f(1),\dots,f(2^m-1))&amp;lt;/math&amp;gt; dargestellt werden.&lt;br /&gt;
# Übermittle anstelle der Monomkoeffizienten von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; den zugehörigen Bildvektor. Dies liefert Redundanz, die die gewünschte Fehlerkorrektur ermöglicht.&lt;br /&gt;
# Sende den Bildvektor durch den gestörten Kanal. Es ergibt sich &amp;lt;math&amp;gt;g=f+e&amp;lt;/math&amp;gt; mit Fehlervektor &amp;lt;math&amp;gt;e&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Empfange den Bildvektor &amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; und gewinne durch [[Skalarmultiplikation]]en mit den Koordinatenfunktionen &amp;lt;math&amp;gt;Z_i&amp;lt;/math&amp;gt; die ursprünglichen Monomkoeffizienten.&lt;br /&gt;
# Durch die Monomkoeffizienten berechnet man die/das ursprüngliche Abbildung/Codewort &amp;lt;math&amp;gt;f=c&amp;lt;/math&amp;gt; und damit &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://elib.tu-darmstadt.de/diss/000183/stolte.pdf Rekursive Codes mit der Plotkin-Konstruktion] (PDF; 1,7&amp;amp;nbsp;MB) Dissertation zur Konstruktion und Decodierung von Reed-Muller Codes und deren Untercodes (Achtung: Angabe über den RM-Code (32, 6, 16) der Mariner 9 Mission sind nicht korrekt, da nur eine Mächtigkeit des Codes von &amp;lt;math&amp;gt;2^5=32&amp;lt;/math&amp;gt; Werten angegeben und erläutert wird.)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Kodierungstheorie]]&lt;br /&gt;
[[Kategorie:Binärcode]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Xenein</name></author>
	</entry>
</feed>