Difference between revisions of "Aufgaben:Exercise 4.6: Product Code Generation"
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)–Code $ | + | {Welche Ergebnisse liefert die Zeilencodierung mit dem $(7, \ 4, \ 3)$–Code $\mathcal{C}_1$? |
|type="[]"} | |type="[]"} | ||
+ Erste Zeile: u_=(0,1,1,0) ⇒ x_=(0,1,1,0,1,0,1). | + Erste Zeile: u_=(0,1,1,0) ⇒ x_=(0,1,1,0,1,0,1). | ||
Line 56: | Line 58: | ||
+ Dritte Zeile: u_=(1,1,1,0) ⇒ x_=(1,1,1,0,0,0,0). | + Dritte Zeile: u_=(1,1,1,0) ⇒ x_=(1,1,1,0,0,0,0). | ||
− | {Welche Ergebnisse liefert die Spaltencodierung mit dem (6, 3, 3)–Code $ | + | {Welche Ergebnisse liefert die Spaltencodierung mit dem $(6, \ 3, \ 3)$–Code $\mathcal{C}_2$? |
|type="[]"} | |type="[]"} | ||
+ Erste Spalte: u_=(0,0,1) ⇒ x_=(0,0,1,0,1,1). | + Erste Spalte: u_=(0,0,1) ⇒ x_=(0,0,1,0,1,1). |
Revision as of 11:55, 30 January 2018
Es soll ein Produktcode (42, 12) generiert werden, der auf folgenden Komponentencodes aufbaut:
- dem Hammingcode (7, 4, 3) ⇒ C1,
- dem verkürzten Hammingcode (6, 3, 3) ⇒ C2.
Die entsprechenden Codetabellen sind rechts angegeben, wobei jeweils drei Zeilen unvollständig sind. Diese sollen von Ihnen ergänzt werden.
Das zu einem Informationsblock u_ gehörige Codewort ergibt sich allgemein entsprechend der Gleichung x_=u_⋅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:
- Die Aufgabe gehört zum Kapitel Grundlegendes zu den Produktcode.
- Bezug genommen wird insbesondere auf die Seite Grundstruktur eines Produktcodes.
- Die beiden Komponentencodes werden auch in der Aufgabe 4.6Z behandelt.
Fragebogen
Musterlösung
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.
- 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.
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.