Aufgaben:Aufgabe 1.09: Erweiterter Hamming–Code: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
 
}}
 
}}
  
[[Datei:P_ID2396__KC_A_1_9.png|right|frame|(7, 4) Hamming–Code <br>und (8, 4) Erweiterung]]
+
[[Datei:P_ID2396__KC_A_1_9.png|right|frame|$\text{(7, 4)}$&ndash;Hamming–Code (gelb hinterlegt) <br>und&nbsp; $\text{(8, 4)}$&ndash;Erweiterung (grün)]]
  
Es sollen zwei Codes miteinander verglichen werden, deren Codetabellen rechts angegeben sind.  
+
Es sollen zwei Codes miteinander verglichen werden,&nbsp; deren Codetabellen rechts angegeben sind.  
*Die ersten vier Bit eines jeden Codewortes $\underline{x}$ sind gleich dem jeweiligen Informationswort $\underline{u}$ (schwarze Schrift).  
+
*Die ersten vier Bit eines jeden Codewortes&nbsp; $\underline{x}$&nbsp; sind gleich dem jeweiligen Informationswort&nbsp; $\underline{u}$&nbsp; (schwarze Schrift).
*Danach folgen $m = n- k$ Prüfbit (rote Schrift).
+
 +
*Danach folgen&nbsp; $m = n- k$&nbsp; Prüfbit&nbsp; (rote Schrift).
  
  
Der systematische (7, 4)–Hamming–Code wurde bereits in [[Aufgaben:1.6_Zum_(7,_4)–Hamming–Code|Aufgabe 1.6]] sowie [[Aufgaben:1.07_H_und_G_des_(7,_4)–Hamming–Codes|Aufgabe 1.7]] behandelt. Prüfmatrix und Generatormatrix dieses Codes sind wie folgt gegeben:
+
Der systematische&nbsp; $\text{(7, 4)}$–Hamming–Code wurde bereits in&nbsp; [[Aufgaben:1.6_Zum_(7,_4)–Hamming–Code|"Aufgabe 1.6"]]&nbsp; sowie&nbsp; [[Aufgaben:Aufgabe_1.07:_Prüf-_und_Generatormatrix_des_HC_(7,_4,_3)|"Aufgabe 1.7"]]&nbsp; behandelt.&nbsp; Prüfmatrix und Generatormatrix dieses Codes sind wie folgt gegeben:
 
:$${ \boldsymbol{\rm H}}_1 = \begin{pmatrix} 1 &1 &0 &1 &1 &0 &0\\ 0 &1 &1 &1 &0 &1 &0\\ 1 &0 &1 &1 &0 &0 &1 \end{pmatrix}\hspace{0.05cm},$$
 
:$${ \boldsymbol{\rm H}}_1 = \begin{pmatrix} 1 &1 &0 &1 &1 &0 &0\\ 0 &1 &1 &1 &0 &1 &0\\ 1 &0 &1 &1 &0 &0 &1 \end{pmatrix}\hspace{0.05cm},$$
  
 
:$${ \boldsymbol{\rm G}}_1 = \begin{pmatrix} 1 &0 &0 &0 &1 &0 &1\\ 0 &1 &0 &0 &1 &1 &0\\ 0 &0 &1 &0 &0 &1 &1\\ 0 &0 &0 &1 &1 &1 &1 \end{pmatrix}\hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}}_1 = \begin{pmatrix} 1 &0 &0 &0 &1 &0 &1\\ 0 &1 &0 &0 &1 &1 &0\\ 0 &0 &1 &0 &0 &1 &1\\ 0 &0 &0 &1 &1 &1 &1 \end{pmatrix}\hspace{0.05cm}.$$
  
Im weiteren Verlauf der Aufgabe wird dieser (gelb hinterlegte) Code $\mathcal{C}_{1}$ genannt.
+
Im weiteren Verlauf der Aufgabe wird dieser (gelb hinterlegte) Code&nbsp; $\mathcal{C}_{1}$&nbsp; genannt.
  
 +
Die rechte Spalte in obiger Tabelle gibt einen Blockcode mit den Parametern&nbsp; $n = 8$&nbsp; und&nbsp; $k = 4$&nbsp; an,&nbsp; der in der Literatur meist als&nbsp; „Erweiterter Hamming–Code”&nbsp; bezeichnet wird.&nbsp; Wir nennen diesen&nbsp; (grün hinterlegten)&nbsp; Code im Folgenden &nbsp; $\mathcal{C}_{2}$ &nbsp; und bezeichnen dessen Prüfmatrix mit&nbsp; ${ \boldsymbol{\rm H}}_{2}$&nbsp; und die dazugehörige Generatormatrix mit&nbsp; ${ \boldsymbol{\rm G}}_{2}$ .
  
Die rechte Spalte in obiger Tabelle gibt einen Blockcode mit den Parametern $n = 8$ und $k = 4$ an, der in der Literatur meist als „erweiteter Hamming–Code” bezeichnet wird. Wir nennen diesen (grün hinterlegten) Code im Folgenden $\mathcal{C}_{2}$ und bezeichnen dessen Prüfmatrix mit ${ \boldsymbol{\rm H}}_{2}$ und die dazugehörige Generatormatrix mit ${ \boldsymbol{\rm G}}_{2}$ .
+
Die Fragen zu dieser Aufgabe beziehen sich auf
 +
*die&nbsp; [[Kanalcodierung/Zielsetzung_der_Kanalcodierung#Einige_wichtige_Definitionen_zur_Blockcodierung|"Coderate"]],
 +
 
 +
*die&nbsp; [[Kanalcodierung/Zielsetzung_der_Kanalcodierung#Einige_wichtige_Definitionen_zur_Blockcodierung|"minimale Distanz"]]&nbsp; zwischen zwei Codewörter,
 +
 
 +
*die&nbsp; [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Codefestlegung_durch_die_Pr.C3.BCfmatrix|"Prüfmatrix"]]&nbsp; und die&nbsp; [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Codefestlegung_durch_die_Generatormatrix|"Generatormatrix"]]&nbsp; des erweiterten&nbsp; $\text{(8, 4)}$–Hamming–Codes.
  
Die Fragen zu dieser Aufgabe beziehen sich auf
 
*die [[Kanalcodierung/Zielsetzung_der_Kanalcodierung#Einige_wichtige_Definitionen_zur_Blockcodierung|Coderate]],
 
*die [[Kanalcodierung/Zielsetzung_der_Kanalcodierung#Einige_wichtige_Definitionen_zur_Blockcodierung|minimale Distanz]] zwischen zwei Codeworten,
 
*die [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Codefestlegung_durch_die_Pr.C3.BCfmatrix|Prüfmatrix]] und die [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Codefestlegung_durch_die_Generatormatrix|Generatormatrix]] des erweiterten (8, 4)–Hamming–Codes.
 
  
  
  
 +
Hinweise:
  
''Hinweise'' :
+
*Die Aufgabe gehört zum Kapitel&nbsp; [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes|"Allgemeine Beschreibung linearer Blockcodes"]].
  
*Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes|Allgemeine Beschreibung linearer Blockcodes]].
+
*Beachten Sie bei der Lösung,&nbsp; dass&nbsp; $\mathcal{C}_{1}$&nbsp; und&nbsp; $\mathcal{C}_{2}$&nbsp; jeweils&nbsp; [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Systematische_Codes|"systematische Codes"]]&nbsp; sind.
*Beachten Sie bei der Lösung, dass $\mathcal{C}_{1}$ und $\mathcal{C}_{2}$ jeweils [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Systematische_Codes|systematische Codes]] sind.  
+
*Die folgende [[Aufgaben:1.09Z_Erweiterung_–_Punktierung|Aufgabe 1.09Z]] behandelt die Erweiterung von Codes in etwas allgemeinerer Form.
+
*Die folgende&nbsp; [[Aufgaben:Aufgabe_1.09Z:_Erweiterung_und/oder_Punktierung|"Aufgabe 1.9Z"]]&nbsp; behandelt die Erweiterung von Codes in etwas allgemeinerer Form.
*Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
+
  
  
Zeile 41: Zeile 45:
 
<quiz display=simple>
 
<quiz display=simple>
  
{Geben Sie die Coderaten von $\mathcal{C}_{1}$ und $\mathcal{C}_{2}$ an.
+
{Geben Sie die Coderaten von&nbsp; $\mathcal{C}_{1}$&nbsp; und&nbsp; $\mathcal{C}_{2}$&nbsp; an.
 
|type="{}"}
 
|type="{}"}
 
$\mathcal{C}_{1}\text{:}\hspace{0.4cm}R \ = \ $ { 0.571 3% }
 
$\mathcal{C}_{1}\text{:}\hspace{0.4cm}R \ = \ $ { 0.571 3% }
Zeile 47: Zeile 51:
  
  
{Geben Sie die minimalen Distanzen von $\mathcal{C}_{1}$ und $\mathcal{C}_{2}$ an.
+
{Geben Sie die minimalen Distanzen von&nbsp; $\mathcal{C}_{1}$&nbsp; und&nbsp; $\mathcal{C}_{2}$&nbsp; an.
 
|type="{}"}
 
|type="{}"}
 
$\mathcal{C}_{1}\text{:}\hspace{0.4cm}d_{\rm min} \ = \ $ { 3 }
 
$\mathcal{C}_{1}\text{:}\hspace{0.4cm}d_{\rm min} \ = \ $ { 3 }
Zeile 53: Zeile 57:
  
  
{Welches Format besitzt die Prüfmatrix $\boldsymbol{\rm H}_{2}$ von $\mathcal{C}_{2}$?
+
{Welches Format besitzt die Prüfmatrix&nbsp; $\boldsymbol{\rm H}_{2}$&nbsp; von&nbsp; $\mathcal{C}_{2}$?
 
|type="{}"}
 
|type="{}"}
 
${\rm Spaltenzahl} \ = \ $ { 8 }
 
${\rm Spaltenzahl} \ = \ $ { 8 }
 
${\rm Zeilenzahl} \ = \ $    { 4 }
 
${\rm Zeilenzahl} \ = \ $    { 4 }
  
{Leiten Sie aus der Codetabelle die Gleichung für das Codebit $x_ {8} (= p_{4})$ ab. Welche Angabe ist richtig?
+
{Leiten Sie aus der Codetabelle die Gleichung für das Codebit&nbsp; $x_ {8} (= p_{4})$&nbsp; ab.&nbsp; Welche Angabe ist richtig?
|type="[]"}
+
|type="()"}
  
 
- $x_{8} = 0.$
 
- $x_{8} = 0.$
Zeile 65: Zeile 69:
 
+ $x_{8} = x_{1}⊕x_{2}⊕x_{3}⊕x_{4}⊕x_{5}⊕x_{6}⊕x_{7}.$
 
+ $x_{8} = x_{1}⊕x_{2}⊕x_{3}⊕x_{4}⊕x_{5}⊕x_{6}⊕x_{7}.$
  
{Welche Aussagen gelten für ${ \boldsymbol{\rm H}}_{2}$? ''Hinweis:'' Richtig sind 3 von 4 Antworten.
+
{Welche Aussagen gelten für&nbsp; ${ \boldsymbol{\rm H}}_{2}$? Hinweis: &nbsp;Richtig sind drei von vier Antworten.
 
|type="[]"}
 
|type="[]"}
  
Zeile 73: Zeile 77:
 
+ Die Zeile 4 lautet:  &nbsp;  $1 1 1 1 1 1 1 1$.
 
+ Die Zeile 4 lautet:  &nbsp;  $1 1 1 1 1 1 1 1$.
  
{Welche Umformung ist für die letzte Zeile von ${ \boldsymbol{\rm H}}_{2}$ zulässig?
+
{Welche Umformung ist für die letzte Zeile von&nbsp; ${ \boldsymbol{\rm H}}_{2}$&nbsp; zulässig?
|type="[]"}
+
|type="()"}
 
- $1 1 1 1 1 1 1 1  →  0 0 0 0 0 0 0 0,$
 
- $1 1 1 1 1 1 1 1  →  0 0 0 0 0 0 0 0,$
 
+ $1 1 1 1 1 1 1 1  →  1 1 1 0 0 0 0 1,$
 
+ $1 1 1 1 1 1 1 1  →  1 1 1 0 0 0 0 1,$
 
- $1 1 1 1 1 1 1 1  →  0 0 1 0 1 0 0 0.$
 
- $1 1 1 1 1 1 1 1  →  0 0 1 0 1 0 0 0.$
  
{Geben Sie die zugehörige Generatormatrix ${ \boldsymbol{\rm G}}_{2}$ an. Welche Aussagen treffen zu?
+
{Geben Sie die zugehörige Generatormatrix&nbsp; ${ \boldsymbol{\rm G}}_{2}$&nbsp; an.&nbsp; Welche Aussagen treffen zu?
 
|type="[]"}
 
|type="[]"}
- ${ \boldsymbol{\rm G}}_{2}$ hat gleiches Format wie die Matrix ${ \boldsymbol{\rm G}}_{1}$  des (7, 4)–Codes.
+
- ${ \boldsymbol{\rm G}}_{2}$&nbsp; hat gleiches Format wie die Matrix&nbsp; ${ \boldsymbol{\rm G}}_{1}$&nbsp; des&nbsp; $\text{(7, 4)}$–Codes.
+ ${ \boldsymbol{\rm G}}_{2}$  beginnt wie ${ \boldsymbol{\rm G}}_{1}$  mit einer Diagonalmatrix ${ \boldsymbol{\rm I}}_{4}$ .
+
+ ${ \boldsymbol{\rm G}}_{2}$&nbsp; beginnt wie&nbsp; ${ \boldsymbol{\rm G}}_{1}$&nbsp; mit einer Diagonalmatrix&nbsp; ${ \boldsymbol{\rm I}}_{4}$ .
+ ${ \boldsymbol{\rm G}}_{2}$  hat im betrachteten Beispiel das gleiche Format wie ${ \boldsymbol{\rm H}}_{2}$ .
+
+ ${ \boldsymbol{\rm G}}_{2}$&nbsp; hat im betrachteten Beispiel das gleiche Format wie&nbsp; ${ \boldsymbol{\rm H}}_{2}$ .
  
  
Zeile 94: Zeile 98:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Die entsprechende Gleichung für die Coderate lautet in beiden Fällen $R = k/n:$
+
'''(1)'''&nbsp; Die entsprechende Gleichung für die Coderate lautet in beiden Fällen&nbsp; $R = k/n\text{:}$
*$\mathcal{C}_{1} : n = 7, k = 4\  ⇒ \ R = 4/7 \underline {= 0.571},$
+
*$\mathcal{C}_{1} \text{:} \ \ n = 7, k = 4\  ⇒ \ R = 4/7 \ \underline {= 0.571},$
*$\mathcal{C}_{2} : n = 8, k = 4 \ ⇒ \ R = 4/8 \underline { =0.5}.$
+
 
 +
*$\mathcal{C}_{2} \text{:} \ \ n = 8, k = 4 \ ⇒ \ R = 4/8 \ \underline { =0.5}.$
 +
 
 +
 
 +
 
 +
'''(2)'''&nbsp; Die minimale Distanz des&nbsp; $(7, 4, 3)$–Hamming–Codes&nbsp; $\mathcal{C}_{1}$&nbsp; beträgt&nbsp; $d_{\rm min} \ \underline{= 3}$,&nbsp; was allein schon aus der Namensgebung ablesbar ist.
 +
 
 +
*Aus der Tabelle auf der Angabenseite ist ersichtlich,&nbsp; dass für den erweiterten Hamming–Code&nbsp; $d_{\rm min}\ \underline{= 4}$&nbsp; gilt.
 +
 
 +
* $\mathcal{C}_{2}$&nbsp; bezeichnet man deshalb in der Literatur auch als einen&nbsp; $(8, 4, 4)$–Blockcode.
 +
 
  
  
'''(2)'''&nbsp; Die minimale Distanz des (7, 4, 3)–Hamming–Codes $\mathcal{C}_{1}$ beträgt $d_{\rm min} \underline{= 3}$, was allein schon aus der Namensgebung ablesbar ist.  
+
'''(3)'''&nbsp; Die Prüfmatrix&nbsp; ${ \boldsymbol{\rm H}}$&nbsp; besteht im Allgemeinen aus&nbsp; $n$&nbsp; Spalten und&nbsp; $m = n - k$&nbsp; Zeilen,&nbsp; wobei&nbsp; $m$&nbsp; die Anzahl der Prüfgleichungen angibt.
 +
 +
*Beim&nbsp; $(7, 4, 3)$–Hamming–Code ist&nbsp; ${ \boldsymbol{\rm H}}$&nbsp; eine&nbsp; $3 × 7$–Matrix.  
  
Aus der Tabelle auf der Angabenseite ist ersichtlich, dass für den erweiterten Hamming–Code $d_{\rm min} \underline{= 4}$ gilt. $\mathcal{C}_{2}$ bezeichnet man deshalb in der Literatur auch als einen (8, 4, 4)–Blockcode.
+
*Für den erweiterten Hamming–Code &nbsp; ⇒ &nbsp; Code &nbsp; $\mathcal{C}_{2}$&nbsp; gilt demgegenüber&nbsp; $\underline{n = 8}$&nbsp; (Spaltenzahl)&nbsp; und&nbsp; $\underline{m = 4}$&nbsp; (Zeilenzahl).
  
  
'''(3)'''&nbsp; Die Prüfmatrix ${ \boldsymbol{\rm H}}$ besteht im Allgemeinen aus $n$ Spalten und $m = n – k$ Zeilen, wobei $m$ die Anzahl der Prüfgleichungen angibt.
 
*Beim (7, 4, 3)–Hamming–Code ist ${ \boldsymbol{\rm H}}$ eine 3 × 7–Matrix.
 
*Für den erweiterten Hamming–Code ⇒ Code $\mathcal{C}_{2}$ gilt demgegenüber $\underline{n = 8}$ (Spaltenzahl) und $\underline{m = 4}$ (Zeilenzahl).
 
  
 +
'''(4)'''&nbsp; Aus der Codetabelle auf der Angabenseite erkennt man,&nbsp; dass allein&nbsp; <u>Antwort 3</u> richtig ist.
 +
*Das Prüfbit&nbsp; $p_{4}$&nbsp; ist so zu bestimmen,&nbsp; dass die Modulo–2–Summe über alle Bits des Codewortes den Wert&nbsp; $0$&nbsp; ergibt.
  
'''(4)'''&nbsp; Aus der Codetabelle auf der Angabenseite erkennt man, dass allein <u>Antwort 3</u> richtig ist.
 
*Das Prüfbit $p_{4}$ ist so zu bestimmen, dass die Modulo–2–Summe über alle Bits des Codewortes den Wert $0$ ergibt.
 
  
  
'''(5)'''&nbsp; Anzumerken ist zunächst, dass die Angabe der Prüfmatrix nie eindeutig ist, schon allein deshalb, weil die Reihenfolge der Prüfgleichungen vertauschbar ist. Unter Berücksichtigung des Hinweises, dass nur eine der vorgegebenen Zeilen falsch ist, ist ${ \boldsymbol{\rm H}}_{2}$ allerdings eindeutig bestimmt:
+
'''(5)'''&nbsp; Anzumerken ist zunächst,&nbsp; dass die Angabe der Prüfmatrix nie eindeutig ist,&nbsp; schon allein deshalb,&nbsp; weil die Reihenfolge der Prüfgleichungen vertauschbar ist.  
 +
*Unter Berücksichtigung des Hinweises,&nbsp; dass nur eine der vorgegebenen Zeilen falsch ist,&nbsp; ist&nbsp; ${ \boldsymbol{\rm H}}_{2}$&nbsp; allerdings eindeutig bestimmt:
  
 
:$${ \boldsymbol{\rm H}}_2 = \begin{pmatrix} 1 &1 &0 &1 &1 &0 &0 &0\\ 0 &1 &1 &1 &0 &1 &0 &0\\ 1 &0 &1 &1 &0 &0 &1 &0\\ 1 &1 &1 &1 &1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm H}}_2 = \begin{pmatrix} 1 &1 &0 &1 &1 &0 &0 &0\\ 0 &1 &1 &1 &0 &1 &0 &0\\ 1 &0 &1 &1 &0 &0 &1 &0\\ 1 &1 &1 &1 &1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  
Richtig sind also die <u>Aussagen 1, 2 und 4</u>. Die Zeilen dieser Prüfmatrix stehen in dieser Reihenfolge für die vier Prüfgleichungen:
+
*Richtig sind also die&nbsp; <u>Aussagen 1, 2 und 4</u>.&nbsp; Die Zeilen dieser Prüfmatrix stehen in dieser Reihenfolge für die vier Prüfgleichungen:
  
 
:$$ x_1\oplus  x_2 \oplus x_4 \oplus x_5 = 0 \hspace{0.05cm},$$
 
:$$ x_1\oplus  x_2 \oplus x_4 \oplus x_5 = 0 \hspace{0.05cm},$$
Zeile 125: Zeile 139:
  
  
'''(6)'''&nbsp;  Richtig ist die <u>Antwort 2</u>:  
+
'''(6)'''&nbsp;  Richtig ist die&nbsp; <u>Antwort 2</u>:  
*Zu diesem Ergebnis kommt man, wenn man die letzte Zeile durch die Modulo–2–Summe über alle vier Zeilen ersetzt, was erlaubt ist.  
+
*Zu diesem Ergebnis kommt man,&nbsp; wenn man die letzte Zeile durch die Modulo–2–Summe über alle vier Zeilen ersetzt,&nbsp; was erlaubt ist.
*Der Vorschlag 1 stellt keine Prüfgleichung dar.  
+
*Der Vorschlag 3 steht für die Prüfgleichung $x_{3}⊕x_{5} = 0$, was auch nicht den Gegebenheiten entspricht.
+
*Der Vorschlag 1 stellt keine Prüfgleichung dar.
 +
 +
*Der Vorschlag 3 steht für die Prüfgleichung&nbsp; $x_{3}⊕x_{5} = 0$,&nbsp; was auch nicht den Gegebenheiten entspricht.
  
  
Zeile 139: Zeile 155:
  
  
'''(7)'''&nbsp;  Nach dieser Matrixmanipulation liegt ${ \boldsymbol{\rm H}}_{2}$ in der für systematische Codes typischen Form vor:
+
'''(7)'''&nbsp;  Nach dieser Matrixmanipulation liegt&nbsp; ${ \boldsymbol{\rm H}}_{2}$&nbsp; in der für systematische Codes typischen Form vor:
  
 
:$${ \boldsymbol{\rm H}}_2 =\left({ \boldsymbol{\rm P}}^{\rm T} \: ; \: { \boldsymbol{\rm I}}_m \right)\hspace{0.3cm} \Rightarrow\hspace{0.3cm} m = 4 {\rm :}\hspace{0.3cm}{ \boldsymbol{\rm H}}_2 =\left({ \boldsymbol{\rm P}}^{\rm T} \: ; \: { \boldsymbol{\rm I}}_4 \right) \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm H}}_2 =\left({ \boldsymbol{\rm P}}^{\rm T} \: ; \: { \boldsymbol{\rm I}}_m \right)\hspace{0.3cm} \Rightarrow\hspace{0.3cm} m = 4 {\rm :}\hspace{0.3cm}{ \boldsymbol{\rm H}}_2 =\left({ \boldsymbol{\rm P}}^{\rm T} \: ; \: { \boldsymbol{\rm I}}_4 \right) \hspace{0.05cm}.$$
Zeile 146: Zeile 162:
 
:$${ \boldsymbol{\rm G_{2}}} =\left({ \boldsymbol{\rm I}}_4 \: ; \: { \boldsymbol{\rm P}}\right) = \begin{pmatrix} 1 &0 &0 &0 &1 &0 &1 &1\\ 0 &1 &0 &0 &1 &1 &0 &1\\ 0 &0 &1 &0 &0 &1 &1 &1\\ 0 &0 &0 &1 &1 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G_{2}}} =\left({ \boldsymbol{\rm I}}_4 \: ; \: { \boldsymbol{\rm P}}\right) = \begin{pmatrix} 1 &0 &0 &0 &1 &0 &1 &1\\ 0 &1 &0 &0 &1 &1 &0 &1\\ 0 &0 &1 &0 &0 &1 &1 &1\\ 0 &0 &0 &1 &1 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$
  
Richtig sind also die <u>Aussagen 2 und 3</u>:
+
Richtig sind also die&nbsp; <u>Aussagen 2 und 3</u>:
* ${ \boldsymbol{\rm G}}_{2}$ beginnt wie ${ \boldsymbol{\rm G}}_{1}$  (siehe Angabenblatt) mit einer Diagonalmatrix ${ \boldsymbol{\rm I}}_{4}$ , hat aber im Gegensatz zu ${ \boldsymbol{\rm G}}_{1}$ nun 8 Spalten.  
+
* ${ \boldsymbol{\rm G}}_{2}$&nbsp; beginnt wie&nbsp; ${ \boldsymbol{\rm G}}_{1}$&nbsp; (siehe Angabenblatt)&nbsp; mit einer Diagonalmatrix&nbsp; ${ \boldsymbol{\rm I}}_{4}$,&nbsp; hat aber im Gegensatz zu&nbsp; ${ \boldsymbol{\rm G}}_{1}$&nbsp; nun acht Spalten.
*Im vorliegenden Fall $n = 8, k = 4 \ ⇒ \ m = 4$ sind sowohl ${ \boldsymbol{\rm G}}_{2}$ als auch ${ \boldsymbol{\rm H}}_{2}$ jeweils 4×8–Matrizen.
+
 +
*Im vorliegenden Fall&nbsp; $n = 8, \ k = 4 \ ⇒ \ m = 4$&nbsp; sind sowohl&nbsp; ${ \boldsymbol{\rm G}}_{2}$&nbsp; als auch&nbsp; ${ \boldsymbol{\rm H}}_{2}$&nbsp; jeweils&nbsp; $4×8$–Matrizen.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Aktuelle Version vom 11. Juli 2022, 14:39 Uhr

$\text{(7, 4)}$–Hamming–Code (gelb hinterlegt)
und  $\text{(8, 4)}$–Erweiterung (grün)

Es sollen zwei Codes miteinander verglichen werden,  deren Codetabellen rechts angegeben sind.

  • Die ersten vier Bit eines jeden Codewortes  $\underline{x}$  sind gleich dem jeweiligen Informationswort  $\underline{u}$  (schwarze Schrift).
  • Danach folgen  $m = n- k$  Prüfbit  (rote Schrift).


Der systematische  $\text{(7, 4)}$–Hamming–Code wurde bereits in  "Aufgabe 1.6"  sowie  "Aufgabe 1.7"  behandelt.  Prüfmatrix und Generatormatrix dieses Codes sind wie folgt gegeben:

$${ \boldsymbol{\rm H}}_1 = \begin{pmatrix} 1 &1 &0 &1 &1 &0 &0\\ 0 &1 &1 &1 &0 &1 &0\\ 1 &0 &1 &1 &0 &0 &1 \end{pmatrix}\hspace{0.05cm},$$
$${ \boldsymbol{\rm G}}_1 = \begin{pmatrix} 1 &0 &0 &0 &1 &0 &1\\ 0 &1 &0 &0 &1 &1 &0\\ 0 &0 &1 &0 &0 &1 &1\\ 0 &0 &0 &1 &1 &1 &1 \end{pmatrix}\hspace{0.05cm}.$$

Im weiteren Verlauf der Aufgabe wird dieser (gelb hinterlegte) Code  $\mathcal{C}_{1}$  genannt.

Die rechte Spalte in obiger Tabelle gibt einen Blockcode mit den Parametern  $n = 8$  und  $k = 4$  an,  der in der Literatur meist als  „Erweiterter Hamming–Code”  bezeichnet wird.  Wir nennen diesen  (grün hinterlegten)  Code im Folgenden   $\mathcal{C}_{2}$   und bezeichnen dessen Prüfmatrix mit  ${ \boldsymbol{\rm H}}_{2}$  und die dazugehörige Generatormatrix mit  ${ \boldsymbol{\rm G}}_{2}$ .

Die Fragen zu dieser Aufgabe beziehen sich auf



Hinweise:

  • Beachten Sie bei der Lösung,  dass  $\mathcal{C}_{1}$  und  $\mathcal{C}_{2}$  jeweils  "systematische Codes"  sind.
  • Die folgende  "Aufgabe 1.9Z"  behandelt die Erweiterung von Codes in etwas allgemeinerer Form.



Fragebogen

1

Geben Sie die Coderaten von  $\mathcal{C}_{1}$  und  $\mathcal{C}_{2}$  an.

$\mathcal{C}_{1}\text{:}\hspace{0.4cm}R \ = \ $

$\mathcal{C}_{2}\text{:}\hspace{0.4cm}R \ = \ $

2

Geben Sie die minimalen Distanzen von  $\mathcal{C}_{1}$  und  $\mathcal{C}_{2}$  an.

$\mathcal{C}_{1}\text{:}\hspace{0.4cm}d_{\rm min} \ = \ $

$\mathcal{C}_{2}\text{:}\hspace{0.4cm}d_{\rm min} \ = \ $

3

Welches Format besitzt die Prüfmatrix  $\boldsymbol{\rm H}_{2}$  von  $\mathcal{C}_{2}$?

${\rm Spaltenzahl} \ = \ $

${\rm Zeilenzahl} \ = \ $

4

Leiten Sie aus der Codetabelle die Gleichung für das Codebit  $x_ {8} (= p_{4})$  ab.  Welche Angabe ist richtig?

$x_{8} = 0.$
$x_{8} = x_{1}⊕x_{2}⊕x_{4}⊕x_{5}.$
$x_{8} = x_{1}⊕x_{2}⊕x_{3}⊕x_{4}⊕x_{5}⊕x_{6}⊕x_{7}.$

5

Welche Aussagen gelten für  ${ \boldsymbol{\rm H}}_{2}$? Hinweis:  Richtig sind drei von vier Antworten.

Die Zeile 1 lautet:   $1 1 0 1 1 0 0 0$.
Die Zeile 2 lautet:   $0 1 1 1 0 1 0 0$.
Die Zeile 3 lautet:   $0 0 0 0 1 1 1 1$.
Die Zeile 4 lautet:   $1 1 1 1 1 1 1 1$.

6

Welche Umformung ist für die letzte Zeile von  ${ \boldsymbol{\rm H}}_{2}$  zulässig?

$1 1 1 1 1 1 1 1 → 0 0 0 0 0 0 0 0,$
$1 1 1 1 1 1 1 1 → 1 1 1 0 0 0 0 1,$
$1 1 1 1 1 1 1 1 → 0 0 1 0 1 0 0 0.$

7

Geben Sie die zugehörige Generatormatrix  ${ \boldsymbol{\rm G}}_{2}$  an.  Welche Aussagen treffen zu?

${ \boldsymbol{\rm G}}_{2}$  hat gleiches Format wie die Matrix  ${ \boldsymbol{\rm G}}_{1}$  des  $\text{(7, 4)}$–Codes.
${ \boldsymbol{\rm G}}_{2}$  beginnt wie  ${ \boldsymbol{\rm G}}_{1}$  mit einer Diagonalmatrix  ${ \boldsymbol{\rm I}}_{4}$ .
${ \boldsymbol{\rm G}}_{2}$  hat im betrachteten Beispiel das gleiche Format wie  ${ \boldsymbol{\rm H}}_{2}$ .


Musterlösung

(1)  Die entsprechende Gleichung für die Coderate lautet in beiden Fällen  $R = k/n\text{:}$

  • $\mathcal{C}_{1} \text{:} \ \ n = 7, k = 4\ ⇒ \ R = 4/7 \ \underline {= 0.571},$
  • $\mathcal{C}_{2} \text{:} \ \ n = 8, k = 4 \ ⇒ \ R = 4/8 \ \underline { =0.5}.$


(2)  Die minimale Distanz des  $(7, 4, 3)$–Hamming–Codes  $\mathcal{C}_{1}$  beträgt  $d_{\rm min} \ \underline{= 3}$,  was allein schon aus der Namensgebung ablesbar ist.

  • Aus der Tabelle auf der Angabenseite ist ersichtlich,  dass für den erweiterten Hamming–Code  $d_{\rm min}\ \underline{= 4}$  gilt.
  • $\mathcal{C}_{2}$  bezeichnet man deshalb in der Literatur auch als einen  $(8, 4, 4)$–Blockcode.


(3)  Die Prüfmatrix  ${ \boldsymbol{\rm H}}$  besteht im Allgemeinen aus  $n$  Spalten und  $m = n - k$  Zeilen,  wobei  $m$  die Anzahl der Prüfgleichungen angibt.

  • Beim  $(7, 4, 3)$–Hamming–Code ist  ${ \boldsymbol{\rm H}}$  eine  $3 × 7$–Matrix.
  • Für den erweiterten Hamming–Code   ⇒   Code   $\mathcal{C}_{2}$  gilt demgegenüber  $\underline{n = 8}$  (Spaltenzahl)  und  $\underline{m = 4}$  (Zeilenzahl).


(4)  Aus der Codetabelle auf der Angabenseite erkennt man,  dass allein  Antwort 3 richtig ist.

  • Das Prüfbit  $p_{4}$  ist so zu bestimmen,  dass die Modulo–2–Summe über alle Bits des Codewortes den Wert  $0$  ergibt.


(5)  Anzumerken ist zunächst,  dass die Angabe der Prüfmatrix nie eindeutig ist,  schon allein deshalb,  weil die Reihenfolge der Prüfgleichungen vertauschbar ist.

  • Unter Berücksichtigung des Hinweises,  dass nur eine der vorgegebenen Zeilen falsch ist,  ist  ${ \boldsymbol{\rm H}}_{2}$  allerdings eindeutig bestimmt:
$${ \boldsymbol{\rm H}}_2 = \begin{pmatrix} 1 &1 &0 &1 &1 &0 &0 &0\\ 0 &1 &1 &1 &0 &1 &0 &0\\ 1 &0 &1 &1 &0 &0 &1 &0\\ 1 &1 &1 &1 &1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • Richtig sind also die  Aussagen 1, 2 und 4.  Die Zeilen dieser Prüfmatrix stehen in dieser Reihenfolge für die vier Prüfgleichungen:
$$ x_1\oplus x_2 \oplus x_4 \oplus x_5 = 0 \hspace{0.05cm},$$
$$x_2 \oplus x_3 \oplus x_4 \oplus x_6 = 0 \hspace{0.05cm},$$
$$ x_1 \oplus x_3 \oplus x_4 \oplus x_7 = 0 \hspace{0.05cm},$$
$$ x_1 \oplus x_2 \oplus x_3 \oplus x_4 \oplus x_5 \oplus x_6 \oplus x_7 \oplus x_8 = 0 \hspace{0.05cm}.$$


(6)  Richtig ist die  Antwort 2:

  • Zu diesem Ergebnis kommt man,  wenn man die letzte Zeile durch die Modulo–2–Summe über alle vier Zeilen ersetzt,  was erlaubt ist.
  • Der Vorschlag 1 stellt keine Prüfgleichung dar.
  • Der Vorschlag 3 steht für die Prüfgleichung  $x_{3}⊕x_{5} = 0$,  was auch nicht den Gegebenheiten entspricht.


Entsprechend dem richtigen Lösungsvorschlag 2 wird dagegen die Prüfgleichung

$$x_1 \oplus x_2 \oplus x_3 \oplus x_4 \oplus x_5 \oplus x_6 \oplus x_7 \oplus x_8 = 0$$

durch folgende neue Prüfgleichung ersetzt:

$$x_1 \oplus x_2 \oplus x_3 \oplus x_8 = 0 \hspace{0.05cm}.$$

Die modifizierte Prüfmatrix lautet nun:

$${ \boldsymbol{\rm H}}_2 = \begin{pmatrix} 1 &1 &0 &1 &1 &0 &0 &0\\ 0 &1 &1 &1 &0 &1 &0 &0\\ 1 &0 &1 &1 &0 &0 &1 &0\\ 1 &1 &1 &0 &0 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$


(7)  Nach dieser Matrixmanipulation liegt  ${ \boldsymbol{\rm H}}_{2}$  in der für systematische Codes typischen Form vor:

$${ \boldsymbol{\rm H}}_2 =\left({ \boldsymbol{\rm P}}^{\rm T} \: ; \: { \boldsymbol{\rm I}}_m \right)\hspace{0.3cm} \Rightarrow\hspace{0.3cm} m = 4 {\rm :}\hspace{0.3cm}{ \boldsymbol{\rm H}}_2 =\left({ \boldsymbol{\rm P}}^{\rm T} \: ; \: { \boldsymbol{\rm I}}_4 \right) \hspace{0.05cm}.$$

Damit lautet die Generatormatrix:

$${ \boldsymbol{\rm G_{2}}} =\left({ \boldsymbol{\rm I}}_4 \: ; \: { \boldsymbol{\rm P}}\right) = \begin{pmatrix} 1 &0 &0 &0 &1 &0 &1 &1\\ 0 &1 &0 &0 &1 &1 &0 &1\\ 0 &0 &1 &0 &0 &1 &1 &1\\ 0 &0 &0 &1 &1 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$

Richtig sind also die  Aussagen 2 und 3:

  • ${ \boldsymbol{\rm G}}_{2}$  beginnt wie  ${ \boldsymbol{\rm G}}_{1}$  (siehe Angabenblatt)  mit einer Diagonalmatrix  ${ \boldsymbol{\rm I}}_{4}$,  hat aber im Gegensatz zu  ${ \boldsymbol{\rm G}}_{1}$  nun acht Spalten.
  • Im vorliegenden Fall  $n = 8, \ k = 4 \ ⇒ \ m = 4$  sind sowohl  ${ \boldsymbol{\rm G}}_{2}$  als auch  ${ \boldsymbol{\rm H}}_{2}$  jeweils  $4×8$–Matrizen.