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

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 5: Zeile 5:
 
[[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)]]
 
[[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&nbsp; $\underline{x}$&nbsp; sind gleich dem jeweiligen Informationswort&nbsp; $\underline{u}$&nbsp; (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&nbsp; $m = n- k$&nbsp; Prüfbit (rote Schrift).
+
 +
*Danach folgen&nbsp; $m = n- k$&nbsp; Prüfbit&nbsp; (rote Schrift).
  
  
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. 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},$$
  
Zeile 17: Zeile 18:
 
Im weiteren Verlauf der Aufgabe wird dieser (gelb hinterlegte) Code&nbsp; $\mathcal{C}_{1}$&nbsp; 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&nbsp; $n = 8$&nbsp; und&nbsp; $k = 4$&nbsp; an, der in der Literatur meist als „Erweiterter Hamming–Code” bezeichnet wird. Wir nennen diesen (grün hinterlegten) 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 Fragen zu dieser Aufgabe beziehen sich auf
 
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|"Coderate"]],
*die&nbsp; [[Kanalcodierung/Zielsetzung_der_Kanalcodierung#Einige_wichtige_Definitionen_zur_Blockcodierung|minimale Distanz]]&nbsp; zwischen zwei Codeworten,
 
*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&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.
  
  
  
  
 +
Hinweise:
  
''Hinweise'':
+
*Die Aufgabe gehört zum Kapitel&nbsp; [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes|"Allgemeine Beschreibung linearer Blockcodes"]].
  
*Die Aufgabe gehört zum Kapitel&nbsp; [[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&nbsp; $\mathcal{C}_{1}$&nbsp; und&nbsp; $\mathcal{C}_{2}$&nbsp; jeweils&nbsp; [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Systematische_Codes|systematische Codes]]&nbsp; sind.  
+
*Die folgende&nbsp; [[Aufgaben:Aufgabe_1.09Z:_Erweiterung_und/oder_Punktierung|Aufgabe 1.9Z]]&nbsp; 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.
 
   
 
   
  
Zeile 61: Zeile 62:
 
${\rm Zeilenzahl} \ = \ $    { 4 }
 
${\rm Zeilenzahl} \ = \ $    { 4 }
  
{Leiten Sie aus der Codetabelle die Gleichung für das Codebit&nbsp; $x_ {8} (= p_{4})$&nbsp; 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="()"}
  
Zeile 68: 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&nbsp; ${ \boldsymbol{\rm H}}_{2}$? ''Hinweis:'' &nbsp;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 82: Zeile 83:
 
- $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&nbsp; ${ \boldsymbol{\rm G}}_{2}$&nbsp; 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}$&nbsp; hat gleiches Format wie die Matrix&nbsp; ${ \boldsymbol{\rm G}}_{1}$  des&nbsp; $\text{(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}$&nbsp;  beginnt wie ${ \boldsymbol{\rm G}}_{1}$&nbsp;  mit einer Diagonalmatrix&nbsp; ${ \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}$&nbsp;  hat im betrachteten Beispiel das gleiche Format wie&nbsp; ${ \boldsymbol{\rm H}}_{2}$ .
 
+ ${ \boldsymbol{\rm G}}_{2}$&nbsp;  hat im betrachteten Beispiel das gleiche Format wie&nbsp; ${ \boldsymbol{\rm H}}_{2}$ .
  
Zeile 97: 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\text{:}$
+
'''(1)'''&nbsp; Die entsprechende Gleichung für die Coderate lautet in beiden Fällen&nbsp; $R = k/n\text{:}$
*$\mathcal{C}_{1} \text{:} \ 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} \text{:} \ 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.
  
'''(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.  
+
* $\mathcal{C}_{2}$&nbsp; bezeichnet man deshalb in der Literatur auch als einen&nbsp; $(8, 4, 4)$–Blockcode.
  
*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)'''&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.
  
'''(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.
+
*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).
*Beim (7, 4, 3)–Hamming–Code ist ${ \boldsymbol{\rm H}}$ eine 3 × 7–Matrix.
 
*Für den erweiterten Hamming–Code &nbsp; ⇒ &nbsp; 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, dass allein <u>Antwort 3</u> richtig ist.  
+
'''(4)'''&nbsp; Aus der Codetabelle auf der Angabenseite erkennt man,&nbsp; dass allein&nbsp; <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.
+
*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.
  
  
  
'''(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.  
+
'''(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, dass nur eine der vorgegebenen Zeilen falsch ist, ist ${ \boldsymbol{\rm H}}_{2}$ allerdings eindeutig bestimmt:
+
*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 134: Zeile 139:
  
  
 
+
'''(6)'''&nbsp;  Richtig ist die&nbsp; <u>Antwort 2</u>:  
'''(6)'''&nbsp;  Richtig ist die <u>Antwort 2</u>:  
+
*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.
*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 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 3 steht für die Prüfgleichung&nbsp; $x_{3}⊕x_{5} = 0$,&nbsp; was auch nicht den Gegebenheiten entspricht.
  
  
Zeile 149: Zeile 155:
  
  
 
+
'''(7)'''&nbsp;  Nach dieser Matrixmanipulation liegt&nbsp; ${ \boldsymbol{\rm H}}_{2}$&nbsp; in der für systematische Codes typischen Form vor:
'''(7)'''&nbsp;  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}.$$
 
:$${ \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 157: 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, 15: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.