Exercise 4.6: Product Code Generation

From LNTwww
Revision as of 14:54, 9 December 2017 by Hussain (talk | contribs)

Verwendete Komponentencodes

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

  • dem Hammingcode (7, 4, 3) C1,
  • dem verkürzten Hamming–Code (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 Z4.6 wird hier von folgenden Generatormatrizen ausgegangen:

G1=(1000101010011000100110001111),
G2=(100110010101001011).

In der gesamten Aufgabe gelte für den Informationsblock:

U=(011000001110).

Gesucht sind entsprechend der Nomenklatur auf der Ersten Theorieseite:

  • die Parity–Matrix P(1) bezüglich des horizontalen Codes C1,
  • die Parity–Matrix P(2) bezüglich des vertikalen Codes C2,
  • die Checks–on–Checks–Matrix P(12).


Hinweis:


Fragebogen

1

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

Erste Zeile: u_=(0,1,1,0)  x_=(0,1,1,0,1,0,1).
Zweite Zeile: u_=(0,0,0,0)  x_=(1,1,1,1,1,1,1).
Dritte Zeile: u_=(1,1,1,0)  x_=(1,1,1,0,0,0,0).

2

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

Erste Spalte: u_=(0,0,1)  x_=(0,0,1,0,1,1).
Zweite Spalte: u_=(1,0,1)  x_=(1,0,1,1,0,1).
Dritte Spalte: u_=(1,0,1)  x_=(1,1,0,0,1,1).
Vierte Spalte: u_=(0,0,0)  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 x_=u_G. Daraus folgt für

  • den ersten Zeilenvektor:
(0110)(1000101010011000100110001111)=(0110101),
  • den zweiten Zeilenvektor:
(0000)(1000101010011000100110001111)=(0000000),
  • den dritten Zeilenvektor
(1110)(1000101010011000100110001111)=(1110000).


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

(001)(100110010101001011)=(001011),
(101)(100110010101001011)=(101101).

Zu dieser Teilaufgabe ist weiter anzumerken:

  • Die angegebene erste Spalte ist schon allein deshalb richtig, weil sie mit einer Zeile (der dritten) der Generatormatrix G2 ü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 C2 ebenso wie C1 ein systematischer Code ist.
  • Auch der verkürzte (6, 3, 3)–Hammingcode C2 ist linear, so dass auch ohne Rechnung die Zuordnung u_=(0,0,0)  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 dmin=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 C1 gewinnt oder die Spalten 5 bis 7 über den Code C2.