Difference between revisions of "Aufgaben:Exercise 4.6: Product Code Generation"

From LNTwww
Line 2: Line 2:
  
 
[[File:P_ID3003__KC_A_4_6_v2.png|right|frame|Verwendete Komponentencodes]]
 
[[File:P_ID3003__KC_A_4_6_v2.png|right|frame|Verwendete Komponentencodes]]
Es soll ein Produktcode (42, 12) generiert werden, der auf folgenden Komponentencodes aufbaut:
+
Es soll ein $\rm Produktcode \ (42, \ 12)$ generiert werden, der auf folgenden Komponentencodes aufbaut:
* dem Hammingcode (7, 4, 3) $\Rightarrow C_1$,
+
* dem $\rm Hammingcode(7, \ 4, \ 3)$   ⇒   $\mathcal{C}_1$,
* dem verkürzten Hamming–Code (6, 3, 3) $\Rightarrow C_2$.
+
* dem verkürzten $\rm Hammingcode\  (6, \ 3, \ 3)$   ⇒   $\mathcal{C}_2$.
  
  
 
Die entsprechenden Codetabellen sind rechts angegeben, wobei jeweils drei Zeilen unvollständig sind. Diese sollen von Ihnen ergänzt werden.
 
Die entsprechenden Codetabellen sind rechts angegeben, wobei jeweils drei Zeilen unvollständig sind. Diese sollen von Ihnen ergänzt werden.
  
Das zu einem Informationsblock $\underline{u}$ gehörige Codewort ergibt sich allgemein entsprechend der Gleichung $\underline{x} = \underline{u} \cdot \mathbf{G}$. Wie auch in der [[Aufgaben:4.6Z_Grundlagen_der_Produktcodes|Aufgabe Z4.6]] wird hier von folgenden Generatormatrizen ausgegangen:
+
Das zu einem Informationsblock $\underline{u}$ gehörige Codewort ergibt sich allgemein entsprechend der Gleichung $\underline{x} = \underline{u} \cdot \mathbf{G}$. Wie auch in der [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|Aufgabe 4.6Z]] wird hier von folgenden Generatormatrizen ausgegangen:
 
:$${ \boldsymbol{\rm G}}_1  
 
:$${ \boldsymbol{\rm G}}_1  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Line 16: Line 16:
 
0 &0 &1 &0 &0 &1 &1 \\
 
0 &0 &1 &0 &0 &1 &1 \\
 
0 &0 &0 &1 &1 &1 &1  
 
0 &0 &0 &1 &1 &1 &1  
\end{pmatrix} \hspace{0.05cm},$$
+
\end{pmatrix} \hspace{0.05cm},\hspace{0.8cm}
:$${ \boldsymbol{\rm G}}_2  
+
{ \boldsymbol{\rm G}}_2  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
 
1 &0 &0 &1 &1 &0  \\
 
1 &0 &0 &1 &1 &0  \\
Line 32: Line 32:
 
\end{pmatrix} \hspace{0.05cm}.$$
 
\end{pmatrix} \hspace{0.05cm}.$$
  
Gesucht sind entsprechend der Nomenklatur auf der [[Kanalcodierung/Grundlegendes_zu_den_Produktcodes#Grundstruktur_eines_Produktcodes|ersten Theorieseite]]:
+
Gesucht sind entsprechend der Nomenklatur auf der Seite [[Kanalcodierung/Grundlegendes_zu_den_Produktcodes#Grundstruktur_eines_Produktcodes|Grundstruktur eines Produktcodes]]:
* die Parity–Matrix $\mathbf{P}^{(1)}$ bezüglich des horizontalen Codes $C_1$,
+
* die Parity–Matrix $\mathbf{P}^{(1)}$ bezüglich des horizontalen Codes $\mathcal{C}_1$,
* die Parity–Matrix $\mathbf{P}^{(2)}$ bezüglich des vertikalen Codes $C_2$,
+
* die Parity–Matrix $\mathbf{P}^{(2)}$ bezüglich des vertikalen Codes $\mathcal{C}_2$,
 
* die Checks–on–Checks–Matrix $\mathbf{P}^{(12)}$.  
 
* die Checks–on–Checks–Matrix $\mathbf{P}^{(12)}$.  
  
  
''Hinweis:  
+
 
 +
 
 +
 
 +
''Hinweise:''
 
* Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Grundlegendes_zu_den_Produktcodes| Grundlegendes zu den Produktcode]].
 
* Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Grundlegendes_zu_den_Produktcodes| Grundlegendes zu den Produktcode]].
 +
*Bezug genommen wird insbesondere auf die Seite [[Kanalcodierung/Grundlegendes_zu_den_Produktcodes#Grundstruktur_eines_Produktcodes|Grundstruktur eines Produktcodes]].
 +
*Die beiden Komponentencodes werden auch in der [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|Aufgabe 4.6Z]] behandelt.
  
  

Revision as of 10:49, 30 January 2018

Verwendete Komponentencodes

Es soll ein $\rm Produktcode \ (42, \ 12)$ generiert werden, der auf folgenden Komponentencodes aufbaut:

  • dem $\rm Hammingcode\ (7, \ 4, \ 3)$   ⇒   $\mathcal{C}_1$,
  • dem verkürzten $\rm Hammingcode\ (6, \ 3, \ 3)$   ⇒   $\mathcal{C}_2$.


Die entsprechenden Codetabellen sind rechts angegeben, wobei jeweils drei Zeilen unvollständig sind. Diese sollen von Ihnen ergänzt werden.

Das zu einem Informationsblock $\underline{u}$ gehörige Codewort ergibt sich allgemein entsprechend der Gleichung $\underline{x} = \underline{u} \cdot \mathbf{G}$. Wie auch in der Aufgabe 4.6Z wird hier von folgenden Generatormatrizen ausgegangen:

$${ \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},\hspace{0.8cm} { \boldsymbol{\rm G}}_2 = \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}.$$

In der gesamten Aufgabe gelte für den Informationsblock:

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

Gesucht sind entsprechend der Nomenklatur auf der Seite Grundstruktur eines Produktcodes:

  • die Parity–Matrix $\mathbf{P}^{(1)}$ bezüglich des horizontalen Codes $\mathcal{C}_1$,
  • die Parity–Matrix $\mathbf{P}^{(2)}$ bezüglich des vertikalen Codes $\mathcal{C}_2$,
  • die Checks–on–Checks–Matrix $\mathbf{P}^{(12)}$.



Hinweise:


Fragebogen

1

Welche Ergebnisse liefert die Zeilencodierung mit dem (7, 4, 3)–Code $C_1$?

Erste Zeile: $\underline{u} = (0, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 1)$.
Zweite Zeile: $\underline{u} = (0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 1, \, 1, \, 1, \, 1)$.
Dritte Zeile: $\underline{u} = (1, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 0, \, 0, \, 0, \, 0)$.

2

Welche Ergebnisse liefert die Spaltencodierung mit dem (6, 3, 3)–Code $C_2$?

Erste Spalte: $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.
Zweite Spalte: $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 0, \, 1, \, 1, \, 0, \, 1)$.
Dritte Spalte: $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 0, \, 0, \, 1, \, 1)$.
Vierte Spalte: $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 0, \, 0, \,0, \, 0)$.

3

Welche Aussagen gelten für die Checks–on–Checks–Matrix?

Die erste Zeile lautet $(1, \, 0, \, 1)$ und die erste Spalte $(1, \, 1, \, 0)$.
Die zweite Zeile lautet $(1, \, 0, \, 1)$ und die zweite Spalte $(0, \, 0, \, 0)$.
Die dritte Zeile lautet $(0, \, 0, \, 0)$ und die dritte Spalte $(0, \, 0, \, 0)$.


Musterlösung

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

Allgemein gilt $\underline{x} = \underline{u} \cdot \mathbf{G}$. Daraus folgt für

  • den ersten Zeilenvektor:
$$\begin{pmatrix} 0 &1 &1 &0 \end{pmatrix} \cdot \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} =\begin{pmatrix} 0 &1 &1 &0 &1 &0 &1 \end{pmatrix} \hspace{0.05cm},$$
  • den zweiten Zeilenvektor:
$$\begin{pmatrix} 0 &0 &0 &0 \end{pmatrix} \cdot \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} =\begin{pmatrix} 0 &0 &0 &0 &0 &0 &0 \end{pmatrix} \hspace{0.05cm},$$
  • den dritten Zeilenvektor
$$\begin{pmatrix} 1 &1 &1 &0 \end{pmatrix} \cdot \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} =\begin{pmatrix} 1 &1 &1 &0 &0 &0 &0 \end{pmatrix} \hspace{0.05cm}.$$


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

$$\begin{pmatrix} 0 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} 1 &0 &0 &1 &1 &0 \\ 0 &1 &0 &1 &0 &1 \\ 0 &0 &1 &0 &1 &1 \end{pmatrix} =\begin{pmatrix} 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
$$\begin{pmatrix} 1 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} 1 &0 &0 &1 &1 &0 \\ 0 &1 &0 &1 &0 &1 \\ 0 &0 &1 &0 &1 &1 \end{pmatrix} =\begin{pmatrix} 1 &0 &1 &1 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$

Zu dieser Teilaufgabe ist weiter anzumerken:

  • Die angegebene erste Spalte ist schon allein deshalb richtig, weil sie mit einer Zeile (der dritten) der Generatormatrix $\mathbf{G}_2$ übereinstimmt.
  • Die dritte Spalte des 2D–Codewortes müsste mit der zweiten Spalte identisch sein, da jeweils vom gleichen Codewort $(1, \, 0, \, 1)$ ausgegangen wird.
  • Der angegebene Vektor $(1, \, 1, \, 0, \, 0, \, 1, \, 1)$ kann aber schon allein deshalb nicht richtig sein, da $C_2$ ebenso wie $C_1$ ein systematischer Code ist.
  • Auch der verkürzte (6, 3, 3)–Hammingcode $C_2$ ist linear, so dass auch ohne Rechnung die Zuordnung $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$ angebbar ist.


(3) 
Vollständige Codetabellen
Rechts sind die vollständigen Codetabellen des
  • Hammingcodes (7, 4, 3),
  • verkürzten Hammingcodes (6, 3, 3)


angegeben. Man erkennt daraus (ohne dass das für diese Aufgabe von Interesse ist), dass die hier betrachteten Codes jeweils die Hamming–Distanz $d_{\rm min} = 3$ aufweisen.

Die folgende kleine Grafik zeigt das Ergebnis der gesamten Codierung. Unten rechts ist die Checks–on–Checks–Matrix der Dimension $3 × 3$ zu erkennen.

Gesuchter Produktcode

Bezüglich der Teilaufgabe (3) sind nur die Lösungsvorschläge 1 und 2 richtig, wobei es Zufall ist, dass hier in der Checks–on–Checks–Matrix zwei Zeilen und zwei Spalten identisch sind.

Weiter ist anzumerken: Es ist egal, ob man die Zeilen 4 bis 6 der Gesamtmatrix über den Code $C_1$ gewinnt oder die Spalten 5 bis 7 über den Code $C_2$.