Difference between revisions of "Aufgaben:Exercise 4.6: Product Code Generation"
m (Guenter verschob die Seite 4.6 Produktcode–Generierung nach Aufgabe 4.6: Produktcode–Generierung) |
|||
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) $\ | + | * dem $\rm Hammingcode\ (7, \ 4, \ 3)$ ⇒ $\mathcal{C}_1$, |
− | * dem verkürzten | + | * 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: | + | 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 | |
= \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| | + | 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 $ | + | * 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 $ | + | * 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)}$. | ||
− | '' | + | |
+ | |||
+ | |||
+ | ''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
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:
- 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$.