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

From LNTwww
Line 45: Line 45:
 
*Bezug genommen wird insbesondere auf die Seite [[Kanalcodierung/Grundlegendes_zu_den_Produktcodes#Grundstruktur_eines_Produktcodes|Grundstruktur eines Produktcodes]].
 
*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.
 
*Die beiden Komponentencodes werden auch in der [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|Aufgabe 4.6Z]] behandelt.
 +
 +
  
  
Line 50: Line 52:
 
===Fragebogen===
 
===Fragebogen===
 
<quiz display=simple>
 
<quiz display=simple>
{Welche Ergebnisse liefert die Zeilencodierung mit dem (7, 4, 3)&ndash;Code $C_1$?
+
{Welche Ergebnisse liefert die Zeilencodierung mit dem $(7, \ 4, \ 3)$&ndash;Code $\mathcal{C}_1$?
 
|type="[]"}
 
|type="[]"}
 
+ Erste Zeile: $\underline{u} = (0, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 1)$.
 
+ Erste Zeile: $\underline{u} = (0, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 1)$.
Line 56: Line 58:
 
+ Dritte Zeile: $\underline{u} = (1, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 0, \, 0, \, 0, \, 0)$.
 
+ Dritte Zeile: $\underline{u} = (1, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 0, \, 0, \, 0, \, 0)$.
  
{Welche Ergebnisse liefert die Spaltencodierung mit dem (6, 3, 3)&ndash;Code $C_2$?
+
{Welche Ergebnisse liefert die Spaltencodierung mit dem $(6, \ 3, \ 3)$&ndash;Code $\mathcal{C}_2$?
 
|type="[]"}
 
|type="[]"}
 
+ Erste Spalte: $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.
 
+ Erste Spalte: $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.

Revision as of 10:55, 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 $\mathcal{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 $\mathcal{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$.