Kanalcodierung/Einige Grundlagen der Algebra: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
Zeile 71: Zeile 71:
 
Wir überprüfen zunächst, ob für die binäre Zahlenmenge <i>Z</i><sub>2</sub> = {0, 1} &nbsp;&#8658;&nbsp; <i>q</i> = 2 (gültig für den einfachen Binärcode) die auf der letzten Seite genannten acht Kriterien tatsächlich erfüllt werden, so dass man tatsächlich von &bdquo;GF(2)&rdquo; sprechen kann. Sie sehen nachfolgend die Additions&ndash; und Multiplikationstabelle:
 
Wir überprüfen zunächst, ob für die binäre Zahlenmenge <i>Z</i><sub>2</sub> = {0, 1} &nbsp;&#8658;&nbsp; <i>q</i> = 2 (gültig für den einfachen Binärcode) die auf der letzten Seite genannten acht Kriterien tatsächlich erfüllt werden, so dass man tatsächlich von &bdquo;GF(2)&rdquo; sprechen kann. Sie sehen nachfolgend die Additions&ndash; und Multiplikationstabelle:
  
:<math>Z_2 = {0, 1 } \hspace{0.35cm} \Rightarrow \hspace{0.35cm}
+
:<math>Z_2 = {0, 1 } \hspace{0.35cm} \Rightarrow \hspace{0.35cm}</math>
\begin{tabular}{ c | c c }
 
+ & 0 & 1 \\\hline
 
0 & 0 & 1 \\
 
1 & 1 & 0 \\
 
\end{tabular}
 
&\hspace{0.25cm}
 
\begin{tabular}{ c | c c }
 
$\cdot$
 
& 0 & 1 \\\hline
 
0 & 0 & 0 \\
 
1 & 0 & 1 \\
 
\end{tabular}
 
\hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm GF}(2)
 
\hspace{0.05cm}.</math>
 
  
 +
<html><style type="text/css">.paddingSpace td {padding:0 15px 0 15px;}</style></html>
 +
<table class="paddingSpace">
 +
<td>
 
{| class="wikitable" style="text-align: center; width: 50px; height: 50px;"
 
{| class="wikitable" style="text-align: center; width: 50px; height: 50px;"
 
|-
 
|-
Zeile 94: Zeile 83:
 
|-
 
|-
 
! 0
 
! 0
| 0 || 1  
+
| 0
 +
|| 1  
 +
|-
 +
! 1
 +
| 1
 +
|| 0
 +
|}
 +
</td>
 +
<td>
 +
{| class="wikitable" style="text-align: center; width: 50px; height: 50px;"
 +
|-
 +
! .
 +
! 0
 +
! 1
 +
|-
 +
! 0
 +
| 0
 +
|| 0
 
|-
 
|-
 
! 1
 
! 1
| 1 || 0
+
| 0
 +
|| 1
 
|}
 
|}
 +
</td>
 +
</table>
  
 
+
:<math>\hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm GF}(2)
 
+
\hspace{0.05cm}.</math>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
Man erkennt aus dieser Darstellung:
 
Man erkennt aus dieser Darstellung:
Zeile 124: Zeile 123:
 
Die Zahlenmenge <i>Z</i><sub>3</sub> = {0, 1, 2} &nbsp;&#8658;&nbsp; <i>q</i> = 3 erfüllt alle acht Kriterien und ist somit ein Galoisfeld GF(3):
 
Die Zahlenmenge <i>Z</i><sub>3</sub> = {0, 1, 2} &nbsp;&#8658;&nbsp; <i>q</i> = 3 erfüllt alle acht Kriterien und ist somit ein Galoisfeld GF(3):
  
:<math>Z_3 = \{0, 1, 2 \} \hspace{0.35cm} \Rightarrow \hspace{0.35cm}
+
:<math>Z_3 = \{0, 1, 2 \} \hspace{0.35cm} \Rightarrow \hspace{0.35cm}</math>
\begin{tabular}{c|cccccc}
+
 
+ & 0 & 1 & 2 \\\hline
+
<html><style type="text/css">.paddingSpace td {padding:0 15px 0 15px;}</style></html>
0 & 0 & 1 & 2 \\
+
<table class="paddingSpace">
1 & 1 & 2 & 0 \\
+
<td>
2 & 2 & 0 & 1 \\
+
{| class="wikitable" style="text-align: center; width: 50px; height: 50px;"
\end{tabular}
+
|-
&\hspace{0.25cm}
+
! +
\begin{tabular}{c|cccccc}
+
! 0
$\cdot$
+
! 1
& 0 & 1 & 2 \\\hline
+
! 2
0 & 0 & 0 & 0 \\
+
|-
1 & 0 & 1 & 2 \\
+
! 0
2 & 0 & 2 & 1 \\
+
| 0
\end{tabular} \hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm GF}(3)
+
| 1
 +
|| 2  
 +
|-
 +
! 1
 +
| 1
 +
| 2
 +
|| 0
 +
|-
 +
! 2
 +
| 2
 +
| 0
 +
|| 1  
 +
|}
 +
</td>
 +
<td>
 +
{| class="wikitable" style="text-align: center; width: 50px; height: 50px;"
 +
|-
 +
! .
 +
! 0
 +
! 1
 +
! 2
 +
|-
 +
! 0
 +
| 0
 +
| 0
 +
|| 0  
 +
|-
 +
! 1
 +
| 0
 +
| 1
 +
|| 2
 +
|-
 +
! 2
 +
| 0
 +
| 2
 +
|| 1  
 +
|}
 +
</td>
 +
</table>
 +
 
 +
:<math>\hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm GF}(3)
 
\hspace{0.05cm}.  </math>
 
\hspace{0.05cm}.  </math>
  
Zeile 144: Zeile 183:
 
Dagegen ist die Zahlenmenge <i>Z</i><sub>4</sub> = {0, 1, 2, 3} &nbsp;&#8658;&nbsp; <i>q</i> = 4 kein Galoisfeld. Der Grund hierfür ist, dass es hier zum Element <i>z</i><sub>2</sub> = 2 keine multiplikative Inverse gibt. Bei einem Galoisfeld müsste nämlich gelten: <nobr>2 &middot; Inv<sub>M</sub>(2)  = 1.</nobr> In nachfolgender Multiplikationstabelle gibt es aber in der dritten Zeile und in der dritten Spalte  (jeweils gültig für den Multiplikanden <i>z</i><sub>2</sub> = 2) keinen Eintrag mit &bdquo;1&rdquo;.
 
Dagegen ist die Zahlenmenge <i>Z</i><sub>4</sub> = {0, 1, 2, 3} &nbsp;&#8658;&nbsp; <i>q</i> = 4 kein Galoisfeld. Der Grund hierfür ist, dass es hier zum Element <i>z</i><sub>2</sub> = 2 keine multiplikative Inverse gibt. Bei einem Galoisfeld müsste nämlich gelten: <nobr>2 &middot; Inv<sub>M</sub>(2)  = 1.</nobr> In nachfolgender Multiplikationstabelle gibt es aber in der dritten Zeile und in der dritten Spalte  (jeweils gültig für den Multiplikanden <i>z</i><sub>2</sub> = 2) keinen Eintrag mit &bdquo;1&rdquo;.
  
:<math>Z_4 = \{0, 1, 2, 3 \} \hspace{0.35cm} \Rightarrow \hspace{0.35cm}
+
:<math>Z_4 = \{0, 1, 2, 3 \} \hspace{0.35cm} \Rightarrow \hspace{0.35cm}</math>
\begin{tabular}{c|cccccc}
+
 
+ & 0 & 1 & 2 & 3 \\\hline
+
<html><style type="text/css">.paddingSpace td {padding:0 15px 0 15px;}</style></html>
0 & 0 & 1 & 2 & 3 \\
+
<table class="paddingSpace">
1 & 1 & 2 & 3 & 0 \\
+
<td>
2 & 2 & 3 & 0 & 1 \\
+
{| class="wikitable" style="text-align: center; width: 50px; height: 50px;"
3 & 3 & 0 & 1 & 2 \\
+
|-
\end{tabular}
+
! +
&\hspace{0.25cm}
+
! 0
\begin{tabular}{c|cccccc}
+
! 1
$\cdot$
+
! 2
& 0 & 1 & 2 & 3 \\\hline
+
! 3
0 & 0 & 0 & 0 & 0 \\
+
|-
1 & 0 & 1 & 2 & 3 \\
+
! 0
2 & 0 & 2 & 0 & 2 \\
+
| 0
3 & 0 & 3 & 2 & 1 \\
+
| 1
\end{tabular} \hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm kein \hspace{0.15cm}GF}(4)
+
| 2
 +
|| 3  
 +
|-
 +
! 1
 +
| 1
 +
| 2
 +
| 3
 +
|| 0
 +
|-
 +
! 2
 +
| 2
 +
| 3
 +
| 0
 +
| 1
 +
|-
 +
! 3
 +
| 3
 +
| 0
 +
| 1
 +
| 2  
 +
|}
 +
</td>
 +
<td>
 +
{| class="wikitable" style="text-align: center; width: 50px; height: 50px;"
 +
|-
 +
! .
 +
! 0
 +
! 1
 +
! 2
 +
! 3
 +
|-
 +
! 0
 +
| 0
 +
| 0
 +
| 0
 +
|| 0  
 +
|-
 +
! 1
 +
| 0
 +
| 1
 +
| 2
 +
|| 3
 +
|-
 +
! 2
 +
| 0
 +
| 2
 +
| 0
 +
|| 2
 +
|-
 +
! 3
 +
| 0
 +
| 3
 +
| 2
 +
| 1  
 +
|}
 +
</td>
 +
</table>
 +
 
 +
:<math>\hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm kein \hspace{0.15cm}GF}(4)
 
\hspace{0.05cm}. </math>
 
\hspace{0.05cm}. </math>
 +
  
 
Das Ergebnis dieser Seite soll hier ohne weiteren Beweis verallgemeinert werden:
 
Das Ergebnis dieser Seite soll hier ohne weiteren Beweis verallgemeinert werden:

Version vom 12. Januar 2017, 20:33 Uhr

Definition eines Galoisfeldes


Bevor wir uns der Beschreibung der Reed–Solomon–Codes zuwenden können, benötigen wir einige algebraische Grundbegriffe. Beginnen wir mit den Eigenschaften eines Galoisfeldes GF(q), benannt nach dem Franzosen Évariste Galois, dessen Biografie für einen Mathematiker eher ungewöhnlich ist.

: Ein Galoisfeld GF(q) ist ein endlicher Körper mit q Elementen z0, z1, ... , zq–1, wenn alle acht nachfolgend aufgeführten Aussagen hinsichtlich der Addition („+”) und der Multiplikation („·”) zutreffen. Addition und Multiplikation sind hierbei modulo q zu verstehen.

(A)  GF(q) ist in sich abgeschlossen  ⇒  Closure:

\[\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_j \in {\rm GF}(q): \hspace{0.25cm}(z_i + z_j)\in {\rm GF}(q),\hspace{0.15cm}(z_i \cdot z_j)\in {\rm GF}(q) \hspace{0.05cm}. \]

(B)  Es gibt ein hinsichtlich der Addition neutrales Element NA, das man oft auch als das Nullelement bezeichnet  ⇒  Identity for „+”:

\[\exists \hspace{0.15cm} z_j \in {\rm GF}(q) : \hspace{0.25cm}z_i + z_j = z_i \hspace{0.25cm} \Rightarrow \hspace{0.25cm} z_j = N_{\rm A} = {\rm "0"} \hspace{0.25cm}{\rm (Nullelement)} \hspace{0.05cm}.\]

(C)  Es gibt ein hinsichtlich der Multiplikation neutrales Element NM, das oft auch als das Einselement bezeichnet wird  ⇒  Identity for „·”:

\[\exists \hspace{0.15cm} z_j \in {\rm GF}(q) : \hspace{0.25cm}z_i \cdot z_j = z_i \hspace{0.25cm} \Rightarrow \hspace{0.25cm} z_j = N_{\rm M} = {\rm "1"} \hspace{0.25cm}{\rm (Einselement)} \hspace{0.05cm}. \]

(D)  Für jedes zi existiert eine additive Inverse  ⇒  Inverse for „+”:

\[\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_A}(z_i) \in {\rm GF}(q): \hspace{0.25cm}z_i + {\rm Inv_A}(z_i) = N_{\rm A} = {\rm "0"} \]

\[ \Rightarrow \hspace{0.25cm}{\rm kurz:}\hspace{0.15cm} {\rm Inv_A}(z_i) = - z_i \hspace{0.05cm}. \]

(E)  Für jedes zi mit Ausnahme des Nullelements existiert die multiplikative Inverse ⇒ Inverse for „·”:

\[\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_i \ne N_{\rm A}, \hspace{0.15cm} \exists \hspace{0.15cm} {\rm Inv_M}(z_i) \in {\rm GF}(q): \hspace{0.25cm}z_i \cdot {\rm Inv_M}(z_i) = N_{\rm M} = {\rm "1"}\]

\[\Rightarrow \hspace{0.25cm}{\rm kurz:}\hspace{0.15cm} {\rm Inv_M}(z_i) = z_i^{-1} \hspace{0.05cm}. \]

(F)  Für Addition und Multiplikation gilt jeweils das Kommutativgesetz  ⇒  Commutative Law:

\[\forall \hspace{0.15cm} z_i \in {\rm GF}(q),\hspace{0.15cm} z_j \in {\rm GF}(q): \hspace{0.25cm}z_i + z_j = z_j + z_i ,\hspace{0.15cm}z_i \cdot z_j = z_j \cdot z_i \hspace{0.05cm}.\]

(G)  Für Addition und Multiplikation gilt jeweils das Assoziativgesetz  ⇒  Associative Law:

\[\forall \hspace{0.15cm} z_i,\hspace{0.1cm} z_j ,\hspace{0.1cm} z_k \in {\rm GF}(q): \hspace{0.25cm}(z_i + z_j) + z_k = z_i + (z_j + z_k ),\hspace{0.15cm}(z_i \cdot z_j) \cdot z_k = z_i \cdot (z_j \cdot z_k ) \hspace{0.05cm}.\]

(H)  Für die Kombination „Addition – Multiplikation” gilt das Distributivgesetz  ⇒  Distributive Law:

\[\forall \hspace{0.15cm} z_i,\hspace{0.15cm} z_j ,\hspace{0.15cm} z_k \in {\rm GF}(q): \hspace{0.25cm}(z_i + z_j) \cdot z_k = z_i \cdot z_k + z_j \cdot z_k \hspace{0.05cm}.\]


Es sei nochmals darauf hingewiesen, dass Addition („+”) und Multiplikation („·”) modulo q zu verstehen sind. Hierbei bezeichnet die Ordnung q die Anzahl der Elemente des Galoisfeldes.

Beispiele und Eigenschaften von Galoisfeldern


Wir überprüfen zunächst, ob für die binäre Zahlenmenge Z2 = {0, 1}  ⇒  q = 2 (gültig für den einfachen Binärcode) die auf der letzten Seite genannten acht Kriterien tatsächlich erfüllt werden, so dass man tatsächlich von „GF(2)” sprechen kann. Sie sehen nachfolgend die Additions– und Multiplikationstabelle:

\[Z_2 = {0, 1 } \hspace{0.35cm} \Rightarrow \hspace{0.35cm}\]

+ 0 1
0 0 1
1 1 0
. 0 1
0 0 0
1 0 1

\[\hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm GF}(2) \hspace{0.05cm}.\]

Man erkennt aus dieser Darstellung:

  • Jedes Element der Additions– und der Multiplikationstabelle von Z2 ist wieder entweder z0 = 0 oder z1 = 1  ⇒  das Kriterium (A) ist erfüllt.
  • Die Zahlenmenge Z2 enthält das Nullelement (NA = z0 = 0) und das Einselement (NM = z1 = 1)  ⇒  die Kriterien (B) und (C) sind ebenfalls erfüllt.
  • Die additiven Inversen InvA(0) = 0 und InvA(1) = (–1) mod 2 = 1 existieren und gehören zu Z2. Ebenso gibt es die multiplikative Inverse InvM(1) = 1  ⇒  die Kriterien (D) und (E) sind erfüllt.
  • Die Gültigkeit des Kommutativgesetzes (F) in der Menge Z2 erkennt man an der Symmetrie bezüglich der Tabellendiagonalen. Die Kriterien (G) und (H) werden hier ebenfalls erfüllt.

Die Zahlenmenge Z3 = {0, 1, 2}  ⇒  q = 3 erfüllt alle acht Kriterien und ist somit ein Galoisfeld GF(3):

\[Z_3 = \{0, 1, 2 \} \hspace{0.35cm} \Rightarrow \hspace{0.35cm}\]

+ 0 1 2
0 0 1 2
1 1 2 0
2 2 0 1
. 0 1 2
0 0 0 0
1 0 1 2
2 0 2 1

\[\hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm GF}(3) \hspace{0.05cm}. \]


Dagegen ist die Zahlenmenge Z4 = {0, 1, 2, 3}  ⇒  q = 4 kein Galoisfeld. Der Grund hierfür ist, dass es hier zum Element z2 = 2 keine multiplikative Inverse gibt. Bei einem Galoisfeld müsste nämlich gelten: <nobr>2 · InvM(2) = 1.</nobr> In nachfolgender Multiplikationstabelle gibt es aber in der dritten Zeile und in der dritten Spalte (jeweils gültig für den Multiplikanden z2 = 2) keinen Eintrag mit „1”.

\[Z_4 = \{0, 1, 2, 3 \} \hspace{0.35cm} \Rightarrow \hspace{0.35cm}\]

+ 0 1 2 3
0 0 1 2 3
1 1 2 3 0
2 2 3 0 1
3 3 0 1 2
. 0 1 2 3
0 0 0 0 0
1 0 1 2 3
2 0 2 0 2
3 0 3 2 1

\[\hspace{0.35cm} \Rightarrow \hspace{0.35cm}{\rm kein \hspace{0.15cm}GF}(4) \hspace{0.05cm}. \]


Das Ergebnis dieser Seite soll hier ohne weiteren Beweis verallgemeinert werden:

  • Ein Galoisfeld GF(q) kann in der hier beschriebenen Weise als Ring von Integergrößen modulo q nur dann gebildet werden, wenn q eine Primzahl ist: q = 2, q = 3, q = 5, q = 7, q = 11, ...
  • Kann man aber die Ordnung q in der Form q = Pm mit einer Primzahl P und ganzzahligem m ausdrücken, so lässt sich das Galoisfeld GF(q) über einen Erweiterungskörper finden.