Aufgaben:Aufgabe 1.08: Identische Codes: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 5: Zeile 5:
 
[[Datei:P_ID2393__KC_A_1_8_neu.png|right|frame|Zuordnung des  $(6, 3)$–Blockcodes]]
 
[[Datei:P_ID2393__KC_A_1_8_neu.png|right|frame|Zuordnung des  $(6, 3)$–Blockcodes]]
  
Wir betrachten einen Blockcode  $\mathcal{C}$, der durch folgende Generatormatrix beschrieben wird:
+
Wir betrachten einen Blockcode  $\mathcal{C}$,  der durch folgende Generatormatrix beschrieben wird:
  
 
:$${ \boldsymbol{\rm G}} = \begin{pmatrix} 0 &0 &1 &0 &1 &1\\ 1 &0 &0 &1 &1 &0\\ 0 &1 &1 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}} = \begin{pmatrix} 0 &0 &1 &0 &1 &1\\ 1 &0 &0 &1 &1 &0\\ 0 &1 &1 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$
  
Die Zuordnung zwischen den Informationsworten  $\underline{u}$  und den Codeworten  $\underline{x}$  kann der Tabelle entnommen werden. Man erkennt, dass es sich dabei nicht um einen systematischen Code handelt.
+
Die Zuordnung zwischen den Informationsworten  $\underline{u}$  und den Codeworten  $\underline{x}$  kann der Tabelle entnommen werden.  Man erkennt,  dass es sich dabei nicht um einen systematischen Code handelt.
  
Durch Manipulation der Generatormatrix  $\boldsymbol {\rm G}$  lassen sich daraus identische Codes konstruieren. Darunter versteht man Codes mit gleichen Codeworten, jedoch unterschiedlicher Zuordnung  $\underline{u} \rightarrow \underline{x}$.  
+
Durch Manipulation der Generatormatrix  $\boldsymbol {\rm G}$  lassen sich daraus identische Codes konstruieren.  Darunter versteht man Codes mit gleichen Codeworten,  jedoch unterschiedlicher Zuordnung  $\underline{u} \rightarrow \underline{x}$.  
  
Folgende Operationen sind erlaubt, um einen identischen Code zu erhalten:
+
Folgende Operationen sind erlaubt,  um einen identischen Code zu erhalten:
  
 
*Vertauschen oder Permutieren der Zeilen,
 
*Vertauschen oder Permutieren der Zeilen,
*Multiplizieren aller Zeilen mit einem konstanten Vektor ungleich  $0$,
+
 
 +
*Multiplizieren aller Zeilen mit einem konstanten Vektor ungleich  "$\underline{0}$",
 +
 
 
*Ersetzen einer Zeile durch eine Linearkombination zwischen dieser Zeile und einer anderen.
 
*Ersetzen einer Zeile durch eine Linearkombination zwischen dieser Zeile und einer anderen.
  
  
Für den in der Teilaufgabe '''(3)''' gesuchten Code  $\mathcal{C}_{\rm sys}$  mit Generatormatrix  $\boldsymbol{\rm G}_{\rm sys}$  wird weiter gefordert, dass er systematisch ist.
+
Für den in der Teilaufgabe  '''(3)'''  gesuchten Code  $\mathcal{C}_{\rm sys}$  mit Generatormatrix  $\boldsymbol{\rm G}_{\rm sys}$  wird weiter gefordert,  dass er systematisch ist.
  
  
Zeile 26: Zeile 28:
  
  
 +
Hinweise:
  
 +
*Die Aufgabe gehört zum Kapitel  [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes|"Allgemeine Beschreibung linearer Blockcodes"]].
  
 +
*Bezug genommen wird insbesondere auf die Seite  [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Systematische_Codes|"Systematische Codes"]].
  
''Hinweise'' :  
+
*Bezug genommen wird zudem auf die so genannte  "Singleton–Schranke":&
  
*Die Aufgabe gehört zum Kapitel  [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes|Allgemeine Beschreibung linearer Blockcodes]].
+
*Diese besagt,  dass die minimale Hamming–Distanz eines  $(n, k)$–Blockcodes nach oben beschränkt ist:   $d_{\rm min} \le n - k +1.$
*Bezug genommen wird insbesondere auf die Seite  [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes#Systematische_Codes|Systematische Codes]].
 
*Bezug genommen wird zudem auf die so genannte  ''Singleton–Schranke''. Diese besagt, dass die minimale Hamming–Distanz eines  $(n, k)$–Blockcodes nach oben beschränkt ist:   $d_{\rm min} \le n - k +1.$
 
 
   
 
   
  
Zeile 69: Zeile 72:
  
  
{Welche Prüfbits hat der systematische Code  $\underline{x}_{\rm sys} = (u_{1}, u_{2}, u_{3}, p_{1}, p_{2}, p_{3})$?
+
{Welche Prüfbits hat der systematische Code  $\underline{x}_{\rm sys} = (u_{1},\ u_{2},\ u_{3},\ p_{1},\ p_{2},\ p_{3})$?
 
|type="[]"}
 
|type="[]"}
 
+$p_{1} = u_{1} \oplus u_{2},$
 
+$p_{1} = u_{1} \oplus u_{2},$
Zeile 81: Zeile 84:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''  Der vorgegebene Code $\mathcal{C}$ wird durch folgende Kenngrößen charakterisiert:
+
'''(1)'''  Der vorgegebene Code  $\mathcal{C}$  wird durch folgende Kenngrößen charakterisiert:
 
*Bitanzahl der Codeworte:  $\underline{n = 6}$,
 
*Bitanzahl der Codeworte:  $\underline{n = 6}$,
 +
 
*Bitanzahl der Informationsworte:  $\underline{k = 3}$,
 
*Bitanzahl der Informationsworte:  $\underline{k = 3}$,
 +
 
*Anzahl der Prüfbitgleichungen:  $\underline{m = n - k = 3}$,
 
*Anzahl der Prüfbitgleichungen:  $\underline{m = n - k = 3}$,
 +
 
*Coderate:  $R = k/n = 3/6  \Rightarrow  \underline{R = 0.5}$,
 
*Coderate:  $R = k/n = 3/6  \Rightarrow  \underline{R = 0.5}$,
 +
 
*Anzahl der Codeworte (Codeumfang):  $|\mathcal{C}| = 2^k  \Rightarrow  \underline{|C| = 8}$,
 
*Anzahl der Codeworte (Codeumfang):  $|\mathcal{C}| = 2^k  \Rightarrow  \underline{|C| = 8}$,
 +
 
*minimale Hamming–Distanz (siehe Tabelle):  $\underline{d}_{\rm min} \underline{= 3}$.
 
*minimale Hamming–Distanz (siehe Tabelle):  $\underline{d}_{\rm min} \underline{= 3}$.
  
  
  
'''(2)'''  Richtig ist $\underline{\rm JA}$:
+
'''(2)'''  Richtig ist  $\underline{\rm JA}$:
*Nach der Singleton–Schranke gilt $d_{\rm min} ≤ n k + 1$. Mit $n = 6$ und $k = 3$ erhält man hierfür $d_{\rm min} ≤ 4$.  
+
*Nach der Singleton–Schranke gilt  $d_{\rm min} ≤ n - k + 1$.  Mit  $n = 6$  und  $k = 3$  erhält man hierfür  $d_{\rm min} ≤ 4$.
*Es kann also durchaus ein (6, 3)–Blockcode mit größerer Minimaldistanz konstruiert werden. Wie ein solcher Code aussieht, wurde freundlicherweise nicht gefragt.
+
 +
*Es kann also durchaus ein  $(6, 3)$–Blockcode mit größerer Minimaldistanz konstruiert werden.  Wie ein solcher Code aussieht,  wurde freundlicherweise nicht gefragt.
  
  
Die Minimaldistanz aller Hamming–Codes ist $d_{\rm min} = 3$, und nur der Sonderfall mit $n = 3$ und $k = 1$ erreicht den Grenzwert. Dagegen erreichen das Maximum entsprechend der Singleton–Schranke:
+
Die Minimaldistanz aller Hamming–Codes ist  $d_{\rm min} = 3$,  und nur der Sonderfall mit  $n = 3$  und  $k = 1$  erreicht den Grenzwert. Dagegen erreichen das Maximum entsprechend der Singleton–Schranke:
  
*alle [[Kanalcodierung/Beispiele_binärer_Blockcodes#Wiederholungscodes|Wiederholungscodes]] (''Repetition Codes'', RC) wegen $k = 1$und $d_{\rm min} = n$; hierzu gehört auch der (3, 1)–Hamming–Code, der ja bekannterweise identisch ist mit RC (3, 1),
+
*alle  [[Kanalcodierung/Beispiele_binärer_Blockcodes#Wiederholungscodes|Wiederholungscodes]]  $($Repetition Codes,  $\rm RC)$  wegen  $k = 1$  und  $d_{\rm min} = n$;  hierzu gehört auch der  $\rm (3, 1)$–Hamming–Code,  der ja bekannterweise identisch ist mit dem  $\text{RC (3, 1)}$,
  
*alle [[Kanalcodierung/Beispiele_binärer_Blockcodes#Single_Parity.E2.80.93check_Codes|Single Parity–check Codes]] (SPC): $k = n 1, d_{\rm min} = 2$.
+
*alle  [[Kanalcodierung/Beispiele_binärer_Blockcodes#Single_Parity.E2.80.93check_Codes|Single Parity–check Codes]]  $\rm (SPC)$:  $k = n - 1, d_{\rm min} = 2$.
  
  
  
'''(3)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 2 und 3</u>:
+
'''(3)'''&nbsp; Richtig sind die&nbsp; <u>Lösungsvorschläge 2 und 3</u>:
*Vertauscht man Zeilen in der Generatormatrix $\boldsymbol {\rm G}$, so kommt man zu einem identischen Code $\mathcal{C}'$. Das heißt: Die Codes $\mathcal{C}$ und $\mathcal{C}'$ beinhalten die genau gleichen Codeworte.  
+
*Vertauscht man Zeilen der Generatormatrix $\boldsymbol {\rm G}$,&nbsp; so kommt man zu einem identischen Code&nbsp; $\mathcal{C}'$.&nbsp; Das heißt:&nbsp; $\mathcal{C}$&nbsp; und&nbsp; $\mathcal{C}'$&nbsp; beinhalten die genau gleichen Codeworte.
*Beispielsweise erhält man nach zyklischem Zeilentausch $2 \rightarrow 1, 3 \rightarrow 2$ und $1 \rightarrow 3$ die neue Matrix
+
 +
*Beispielsweise erhält man nach zyklischem Zeilentausch&nbsp; $2 \rightarrow 1,\ 3 \rightarrow 2$&nbsp; und&nbsp; $1 \rightarrow 3$&nbsp; die neue Matrix
  
 
:$${ \boldsymbol{\rm G}}' = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &1 &1 &1 &0\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}}' = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &1 &1 &1 &0\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  
*Die erste und die letzte Zeile der neuen Matrix entsprechen schon den Vorgaben eines systematischen Codes, nämlich, dass deren Generatormatrix ${ \boldsymbol{\rm G}_{\rm sys}}$ mit einer Diagonalmatrix beginnen muss.  
+
*Die erste und die letzte Zeile der neuen Matrix entsprechen schon den Vorgaben eines systematischen Codes,&nbsp; nämlich,&nbsp; dass deren Generatormatrix&nbsp; ${ \boldsymbol{\rm G}_{\rm sys}}$&nbsp; mit einer Diagonalmatrix beginnen muss.
*Ersetzt man die Zeile 2 durch die Modulo–2–Summe von Zeile 2 und 3, so erhält man:
+
 +
*Ersetzt man die Zeile 2 durch die Modulo–2–Summe von Zeile 2 und 3,&nbsp; so erhält man:
  
 
:$${ \boldsymbol{\rm G}}_{\rm sys} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}}_{\rm sys} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  
*Dieser systematische Code beinhaltet genau die gleichen Codeworte wie die Codes $\mathcal{C}$ und $\mathcal{C}'$.
+
*Dieser systematische Code beinhaltet genau die gleichen Codeworte wie die Codes&nbsp; $\mathcal{C}$&nbsp; und&nbsp; $\mathcal{C}'$.
 +
 
 +
 
  
 +
'''(4)'''&nbsp; Richtig sind die&nbsp; <u>Lösungsvorschläge 1 und 2</u>:
 +
*Wendet man die Gleichung&nbsp; $\underline{x}_{\rm sys} = \underline{u} \cdot \boldsymbol{\rm G}_{\rm sys}$&nbsp; auf obige Beispiele an,&nbsp; so erkennt man,&nbsp; dass die beiden ersten Aussagen richtig sind,&nbsp; nicht aber die letzte.
  
 +
*Ohne Rechnung kommt man zum gleichen Ergebnis,&nbsp; wenn man berücksichtigt,&nbsp; dass
  
'''(4)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 2</u>:
+
:*das systematische Codewort&nbsp; $\underline{x}_{\rm sys}$&nbsp; mit&nbsp; $\underline{u}$&nbsp; beginnen muss,
*Wendet man die Gleichung $\underline{x}_{\rm sys} = \underline{u} \cdot \boldsymbol{\rm G}_{\rm sys}$ auf die obigen Beispiele an, so erkennt man, dass die beiden ersten Aussagen richtig sind, nicht aber die letzte.
+
:*der Code&nbsp; $\mathcal{C}_{\rm sys}$&nbsp; die gleichen Codeworte beinhaltet wie der vorgegebene Code&nbsp; $\mathcal{C}$.
*Ohne Rechnung kommt man zum gleichen Ergebnis, wenn man berücksichtigt, dass
 
  
:*das systematische Codewort $\underline{x}_{\rm sys}$ mit $\underline{u}$ beginnen muss,
+
*Für&nbsp; $\underline{u} = (0, 1, 0)$&nbsp; lautet somit das Codewort&nbsp; $(0, 1, 0, ?, ?, ?)$.&nbsp;
:*der Code $\mathcal{C}_{\rm sys}$ die gleichen Codeworte beinhaltet wie der vorgegebene Code ''\mathcal{C}''.
 
  
*Für $\underline{u} = (0, 1, 0)$ lautet somit das Codewort $(0, 1, 0, ?, ?, ?)$. Ein Vergleich mit der Codetabelle von $\mathcal{C}$ auf der Angabenseite führt zu $\underline{x}_{\rm sys} = (0, 1, 0, 1, 0, 1)$.
+
*Ein Vergleich mit der Codetabelle von&nbsp; $\mathcal{C}$&nbsp; auf der Angabenseite führt zu&nbsp; $\underline{x}_{\rm sys} = (0, 1, 0, 1, 0, 1)$.
  
  
  
'''(5)'''&nbsp; Richtig ist nur die <u>Aussage 1</u>. Die Angaben für $p_{2}$ und $p_{3}$ sind dagegen genau vertauscht.
+
'''(5)'''&nbsp; Richtig ist nur die&nbsp; <u>Aussage 1</u>.&nbsp; Die Angaben für&nbsp; $p_{2}$&nbsp; und&nbsp; $p_{3}$&nbsp; sind dagegen genau vertauscht.
 
*Bei systematischer Codierung besteht folgender Zusammenhang zwischen Generator– und Prüfmatrix:  
 
*Bei systematischer Codierung besteht folgender Zusammenhang zwischen Generator– und Prüfmatrix:  
  
Zeile 140: Zeile 154:
 
:$${ \boldsymbol{\rm G}}_{\rm sys} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}}_{\rm sys} = \begin{pmatrix} 1 &1 &0 &1 &0 &0\\ 1 &0 &1 &0 &1 &0\\ 0 &1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}}_{\rm sys} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}}_{\rm sys} = \begin{pmatrix} 1 &1 &0 &1 &0 &0\\ 1 &0 &1 &0 &1 &0\\ 0 &1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$
  
Daraus ergeben sich Prüfgleichungen (siehe Grafik):
+
*Daraus ergeben sich Prüfgleichungen (siehe Grafik):
 
:$$u_1 \oplus u_2 \oplus p_1 \hspace{-0.15cm} \ = \ \hspace{-0.15cm}0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} p_1 = u_1 \oplus u_2 \hspace{0.05cm},$$
 
:$$u_1 \oplus u_2 \oplus p_1 \hspace{-0.15cm} \ = \ \hspace{-0.15cm}0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} p_1 = u_1 \oplus u_2 \hspace{0.05cm},$$
 
:$$ u_1 \oplus u_3 \oplus p_2 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} p_2 = u_1 \oplus u_3 \hspace{0.05cm},$$
 
:$$ u_1 \oplus u_3 \oplus p_2 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} p_2 = u_1 \oplus u_3 \hspace{0.05cm},$$

Aktuelle Version vom 10. Juli 2022, 16:41 Uhr

Zuordnung des  $(6, 3)$–Blockcodes

Wir betrachten einen Blockcode  $\mathcal{C}$,  der durch folgende Generatormatrix beschrieben wird:

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

Die Zuordnung zwischen den Informationsworten  $\underline{u}$  und den Codeworten  $\underline{x}$  kann der Tabelle entnommen werden.  Man erkennt,  dass es sich dabei nicht um einen systematischen Code handelt.

Durch Manipulation der Generatormatrix  $\boldsymbol {\rm G}$  lassen sich daraus identische Codes konstruieren.  Darunter versteht man Codes mit gleichen Codeworten,  jedoch unterschiedlicher Zuordnung  $\underline{u} \rightarrow \underline{x}$.

Folgende Operationen sind erlaubt,  um einen identischen Code zu erhalten:

  • Vertauschen oder Permutieren der Zeilen,
  • Multiplizieren aller Zeilen mit einem konstanten Vektor ungleich  "$\underline{0}$",
  • Ersetzen einer Zeile durch eine Linearkombination zwischen dieser Zeile und einer anderen.


Für den in der Teilaufgabe  (3)  gesuchten Code  $\mathcal{C}_{\rm sys}$  mit Generatormatrix  $\boldsymbol{\rm G}_{\rm sys}$  wird weiter gefordert,  dass er systematisch ist.



Hinweise:

  • Bezug genommen wird zudem auf die so genannte  "Singleton–Schranke":&
  • Diese besagt,  dass die minimale Hamming–Distanz eines  $(n, k)$–Blockcodes nach oben beschränkt ist:   $d_{\rm min} \le n - k +1.$



Fragebogen

1

Geben Sie die Kenngrößen des gegebenen Codes  $\mathcal{C}$  an.

$n \hspace{0.3cm} = \ $

$k \hspace{0.3cm} = \ $

$m \hspace{0.15cm} = \ $

$R \hspace{0.2cm} = \ $

$|\hspace{0.05cm}\mathcal{C}\hspace{0.05cm}| \hspace{-0.05cm} = \ $

$d_{\rm min} \hspace{0.01cm} = \ $

2

Gibt es einen  $(6, 3)$–Blockcode mit größerer Minimaldistanz?

Ja.
Nein.

3

Wie lautet die Generatormatrix  ${\boldsymbol{\rm G}}_{\rm sys}$  des identischen systematischen Codes?

Die 1. Zeile lautet   „$1 \ 0 \ 1 \ 1 \ 0 \ 1$”.
Die 2. Zeile lautet   „$0 \ 1 \ 0 \ 1 \ 0 \ 1$”.
Die 3. Zeile lautet   „$0 \ 0 \ 1 \ 0 \ 1 \ 1$”.

4

Welche Zuordnungen ergeben sich bei dieser Codierung?

$\underline{u} = (0, 0, 0) \ \Rightarrow \ \underline{x}_{\rm sys} = (0, 0, 0, 0, 0, 0)$.
$\underline{u} = (0, 0, 1) \ \Rightarrow \ \underline{x}_{\rm sys}= (0, 0, 1, 0, 0, 1)$.
$\underline{u} = (0, 1, 0) \ \Rightarrow \ \underline{x}_{\rm sys} = (0, 1, 0, 1, 1, 0)$.

5

Welche Prüfbits hat der systematische Code  $\underline{x}_{\rm sys} = (u_{1},\ u_{2},\ u_{3},\ p_{1},\ p_{2},\ p_{3})$?

$p_{1} = u_{1} \oplus u_{2},$
$p_{2} = u_{2} \oplus u_{3},$
$p_{3} = u_{1} \oplus u_{3}.$


Musterlösung

(1)  Der vorgegebene Code  $\mathcal{C}$  wird durch folgende Kenngrößen charakterisiert:

  • Bitanzahl der Codeworte:  $\underline{n = 6}$,
  • Bitanzahl der Informationsworte:  $\underline{k = 3}$,
  • Anzahl der Prüfbitgleichungen:  $\underline{m = n - k = 3}$,
  • Coderate:  $R = k/n = 3/6 \Rightarrow \underline{R = 0.5}$,
  • Anzahl der Codeworte (Codeumfang):  $|\mathcal{C}| = 2^k \Rightarrow \underline{|C| = 8}$,
  • minimale Hamming–Distanz (siehe Tabelle):  $\underline{d}_{\rm min} \underline{= 3}$.


(2)  Richtig ist  $\underline{\rm JA}$:

  • Nach der Singleton–Schranke gilt  $d_{\rm min} ≤ n - k + 1$.  Mit  $n = 6$  und  $k = 3$  erhält man hierfür  $d_{\rm min} ≤ 4$.
  • Es kann also durchaus ein  $(6, 3)$–Blockcode mit größerer Minimaldistanz konstruiert werden.  Wie ein solcher Code aussieht,  wurde freundlicherweise nicht gefragt.


Die Minimaldistanz aller Hamming–Codes ist  $d_{\rm min} = 3$,  und nur der Sonderfall mit  $n = 3$  und  $k = 1$  erreicht den Grenzwert. Dagegen erreichen das Maximum entsprechend der Singleton–Schranke:

  • alle  Wiederholungscodes  $($Repetition Codes,  $\rm RC)$  wegen  $k = 1$  und  $d_{\rm min} = n$;  hierzu gehört auch der  $\rm (3, 1)$–Hamming–Code,  der ja bekannterweise identisch ist mit dem  $\text{RC (3, 1)}$,


(3)  Richtig sind die  Lösungsvorschläge 2 und 3:

  • Vertauscht man Zeilen der Generatormatrix $\boldsymbol {\rm G}$,  so kommt man zu einem identischen Code  $\mathcal{C}'$.  Das heißt:  $\mathcal{C}$  und  $\mathcal{C}'$  beinhalten die genau gleichen Codeworte.
  • Beispielsweise erhält man nach zyklischem Zeilentausch  $2 \rightarrow 1,\ 3 \rightarrow 2$  und  $1 \rightarrow 3$  die neue Matrix
$${ \boldsymbol{\rm G}}' = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &1 &1 &1 &0\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • Die erste und die letzte Zeile der neuen Matrix entsprechen schon den Vorgaben eines systematischen Codes,  nämlich,  dass deren Generatormatrix  ${ \boldsymbol{\rm G}_{\rm sys}}$  mit einer Diagonalmatrix beginnen muss.
  • Ersetzt man die Zeile 2 durch die Modulo–2–Summe von Zeile 2 und 3,  so erhält man:
$${ \boldsymbol{\rm G}}_{\rm sys} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • Dieser systematische Code beinhaltet genau die gleichen Codeworte wie die Codes  $\mathcal{C}$  und  $\mathcal{C}'$.


(4)  Richtig sind die  Lösungsvorschläge 1 und 2:

  • Wendet man die Gleichung  $\underline{x}_{\rm sys} = \underline{u} \cdot \boldsymbol{\rm G}_{\rm sys}$  auf obige Beispiele an,  so erkennt man,  dass die beiden ersten Aussagen richtig sind,  nicht aber die letzte.
  • Ohne Rechnung kommt man zum gleichen Ergebnis,  wenn man berücksichtigt,  dass
  • das systematische Codewort  $\underline{x}_{\rm sys}$  mit  $\underline{u}$  beginnen muss,
  • der Code  $\mathcal{C}_{\rm sys}$  die gleichen Codeworte beinhaltet wie der vorgegebene Code  $\mathcal{C}$.
  • Für  $\underline{u} = (0, 1, 0)$  lautet somit das Codewort  $(0, 1, 0, ?, ?, ?)$. 
  • Ein Vergleich mit der Codetabelle von  $\mathcal{C}$  auf der Angabenseite führt zu  $\underline{x}_{\rm sys} = (0, 1, 0, 1, 0, 1)$.


(5)  Richtig ist nur die  Aussage 1.  Die Angaben für  $p_{2}$  und  $p_{3}$  sind dagegen genau vertauscht.

  • Bei systematischer Codierung besteht folgender Zusammenhang zwischen Generator– und Prüfmatrix:
$${ \boldsymbol{\rm G}} =\left({ \boldsymbol{\rm I}}_k \: ; \:{ \boldsymbol{\rm P}} \right) \hspace{0.3cm}\Leftrightarrow \hspace{0.3cm} { \boldsymbol{\rm H}} =\left({ \boldsymbol{\rm P}}^{\rm T}\: ; \:{ \boldsymbol{\rm I}}_m \right) \hspace{0.05cm}.$$
Schaubild der Prüfgleichungen
  • Angewendet auf das aktuelle Beispiel erhält man so:
$${ \boldsymbol{\rm G}}_{\rm sys} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1\\ 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}}_{\rm sys} = \begin{pmatrix} 1 &1 &0 &1 &0 &0\\ 1 &0 &1 &0 &1 &0\\ 0 &1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • Daraus ergeben sich Prüfgleichungen (siehe Grafik):
$$u_1 \oplus u_2 \oplus p_1 \hspace{-0.15cm} \ = \ \hspace{-0.15cm}0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} p_1 = u_1 \oplus u_2 \hspace{0.05cm},$$
$$ u_1 \oplus u_3 \oplus p_2 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} p_2 = u_1 \oplus u_3 \hspace{0.05cm},$$
$$ u_2 \oplus u_3 \oplus p_3 \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} p_3 = u_2 \oplus u_3 \hspace{0.05cm}.$$