Aufgaben:Aufgabe 1.08: Identische Codes: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
Zeile 84: Zeile 84:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''  Der vorgegebene Code C wird durch folgende Kenngrößen charakterisiert:
+
'''(1)'''  Der vorgegebene Code  C  wird durch folgende Kenngrößen charakterisiert:
 
*Bitanzahl der Codeworte:  n=6_,
 
*Bitanzahl der Codeworte:  n=6_,
 +
 
*Bitanzahl der Informationsworte:  k=3_,
 
*Bitanzahl der Informationsworte:  k=3_,
 +
 
*Anzahl der Prüfbitgleichungen:  m=nk=3_,
 
*Anzahl der Prüfbitgleichungen:  m=nk=3_,
 +
 
*Coderate:  R=k/n=3/6R=0.5_,
 
*Coderate:  R=k/n=3/6R=0.5_,
 +
 
*Anzahl der Codeworte (Codeumfang):  |C|=2k|C|=8_,
 
*Anzahl der Codeworte (Codeumfang):  |C|=2k|C|=8_,
 +
 
*minimale Hamming–Distanz (siehe Tabelle):  d_min=3_.
 
*minimale Hamming–Distanz (siehe Tabelle):  d_min=3_.
  
  
  
'''(2)'''  Richtig ist JA_:
+
'''(2)'''  Richtig ist  JA_:
*Nach der Singleton–Schranke gilt $d_{\rm min} ≤ n k + 1.Mitn = 6undk = 3erhältmanhierfürd_{\rm min} ≤ 4$.  
+
*Nach der Singleton–Schranke gilt  $d_{\rm min} ≤ n - k + 1$.  Mit  n=6  und  k=3  erhält man hierfür  dmin4.
*Es kann also durchaus ein (6, 3)–Blockcode mit größerer Minimaldistanz konstruiert werden. Wie ein solcher Code aussieht, wurde freundlicherweise nicht gefragt.
+
 +
*Es kann also durchaus ein  $(6, 3)$–Blockcode mit größerer Minimaldistanz konstruiert werden.  Wie ein solcher Code aussieht,  wurde freundlicherweise nicht gefragt.
  
  
Die Minimaldistanz aller Hamming–Codes ist dmin=3, und nur der Sonderfall mit n=3 und k=1 erreicht den Grenzwert. Dagegen erreichen das Maximum entsprechend der Singleton–Schranke:
+
Die Minimaldistanz aller Hamming–Codes ist  dmin=3,  und nur der Sonderfall mit  n=3  und  k=1  erreicht den Grenzwert. Dagegen erreichen das Maximum entsprechend der Singleton–Schranke:
  
*alle [[Kanalcodierung/Beispiele_binärer_Blockcodes#Wiederholungscodes|Wiederholungscodes]] (''Repetition Codes'', RC) wegen k=1und dmin=n; hierzu gehört auch der (3, 1)–Hamming–Code, der ja bekannterweise identisch ist mit RC (3, 1),
+
*alle  [[Kanalcodierung/Beispiele_binärer_Blockcodes#Wiederholungscodes|Wiederholungscodes]]  $($Repetition Codes,  $\rm RC)$  wegen  k=1  und  dmin=n;  hierzu gehört auch der  $\rm (3, 1)$–Hamming–Code,  der ja bekannterweise identisch ist mit dem  $\text{RC (3, 1)}$,
  
*alle [[Kanalcodierung/Beispiele_binärer_Blockcodes#Single_Parity.E2.80.93check_Codes|Single Parity–check Codes]] (SPC): $k = n 1, d_{\rm min} = 2$.
+
*alle  [[Kanalcodierung/Beispiele_binärer_Blockcodes#Single_Parity.E2.80.93check_Codes|Single Parity–check Codes]]  $\rm (SPC)$:  $k = n - 1, d_{\rm min} = 2$.
  
  
  
'''(3)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 2 und 3</u>:
+
'''(3)'''&nbsp; Richtig sind die&nbsp; <u>Lösungsvorschläge 2 und 3</u>:
*Vertauscht man Zeilen in der Generatormatrix G, so kommt man zu einem identischen Code C. Das heißt: Die Codes C und C beinhalten die genau gleichen Codeworte.  
+
*Vertauscht man Zeilen der Generatormatrix G,&nbsp; so kommt man zu einem identischen Code&nbsp; C.&nbsp; Das heißt:&nbsp; C&nbsp; und&nbsp; C&nbsp; beinhalten die genau gleichen Codeworte.
*Beispielsweise erhält man nach zyklischem Zeilentausch 21,32 und 13 die neue Matrix
+
 +
*Beispielsweise erhält man nach zyklischem Zeilentausch&nbsp; $2 \rightarrow 1,\ 3 \rightarrow 2$&nbsp; und&nbsp; 13&nbsp; die neue Matrix
  
 
:G=(100110011110001011).
 
:G=(100110011110001011).
  
*Die erste und die letzte Zeile der neuen Matrix entsprechen schon den Vorgaben eines systematischen Codes, nämlich, dass deren Generatormatrix Gsys mit einer Diagonalmatrix beginnen muss.  
+
*Die erste und die letzte Zeile der neuen Matrix entsprechen schon den Vorgaben eines systematischen Codes,&nbsp; nämlich,&nbsp; dass deren Generatormatrix&nbsp; Gsys&nbsp; mit einer Diagonalmatrix beginnen muss.
*Ersetzt man die Zeile 2 durch die Modulo–2–Summe von Zeile 2 und 3, so erhält man:
+
 +
*Ersetzt man die Zeile 2 durch die Modulo–2–Summe von Zeile 2 und 3,&nbsp; so erhält man:
  
 
:Gsys=(100110010101001011).
 
:Gsys=(100110010101001011).
  
*Dieser systematische Code beinhaltet genau die gleichen Codeworte wie die Codes C und C.
+
*Dieser systematische Code beinhaltet genau die gleichen Codeworte wie die Codes&nbsp; C&nbsp; und&nbsp; C.
 +
 
 +
 
  
 +
'''(4)'''&nbsp; Richtig sind die&nbsp; <u>Lösungsvorschläge 1 und 2</u>:
 +
*Wendet man die Gleichung&nbsp; x_sys=u_Gsys&nbsp; auf obige Beispiele an,&nbsp; so erkennt man,&nbsp; dass die beiden ersten Aussagen richtig sind,&nbsp; nicht aber die letzte.
  
 +
*Ohne Rechnung kommt man zum gleichen Ergebnis,&nbsp; wenn man berücksichtigt,&nbsp; dass
  
'''(4)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 2</u>:
+
:*das systematische Codewort&nbsp; $\underline{x}_{\rm sys}&nbsp; mit&nbsp;\underline{u}$&nbsp; beginnen muss,
*Wendet man die Gleichung $\underline{x}_{\rm sys} = \underline{u} \cdot \boldsymbol{\rm G}_{\rm sys}$ auf die obigen Beispiele an, so erkennt man, dass die beiden ersten Aussagen richtig sind, nicht aber die letzte.
+
:*der Code&nbsp; $\mathcal{C}_{\rm sys}$&nbsp; die gleichen Codeworte beinhaltet wie der vorgegebene Code&nbsp; C.
*Ohne Rechnung kommt man zum gleichen Ergebnis, wenn man berücksichtigt, dass
 
  
:*das systematische Codewort $\underline{x}_{\rm sys}$ mit $\underline{u}$ beginnen muss,
+
*Für&nbsp; $\underline{u} = (0, 1, 0)$&nbsp; lautet somit das Codewort&nbsp; $(0, 1, 0, ?, ?, ?)$.&nbsp;
:*der Code $\mathcal{C}_{\rm sys}$ die gleichen Codeworte beinhaltet wie der vorgegebene Code ''\mathcal{C}''.
 
  
*Für u_=(0,1,0) lautet somit das Codewort (0,1,0,?,?,?). Ein Vergleich mit der Codetabelle von C auf der Angabenseite führt zu x_sys=(0,1,0,1,0,1).
+
*Ein Vergleich mit der Codetabelle von&nbsp; C&nbsp; auf der Angabenseite führt zu&nbsp; x_sys=(0,1,0,1,0,1).
  
  
  
'''(5)'''&nbsp; Richtig ist nur die <u>Aussage 1</u>. Die Angaben für p2 und p3 sind dagegen genau vertauscht.
+
'''(5)'''&nbsp; Richtig ist nur die&nbsp; <u>Aussage 1</u>.&nbsp; Die Angaben für&nbsp; p2&nbsp; und&nbsp; p3&nbsp; sind dagegen genau vertauscht.
 
*Bei systematischer Codierung besteht folgender Zusammenhang zwischen Generator– und Prüfmatrix:  
 
*Bei systematischer Codierung besteht folgender Zusammenhang zwischen Generator– und Prüfmatrix:  
  
Zeile 143: Zeile 154:
 
:Gsys=(100110010101001011)Hsys=(110100101010011001).
 
:Gsys=(100110010101001011)Hsys=(110100101010011001).
  
Daraus ergeben sich Prüfgleichungen (siehe Grafik):
+
*Daraus ergeben sich Prüfgleichungen (siehe Grafik):
 
:u1u2p1 = 0p1=u1u2,
 
:u1u2p1 = 0p1=u1u2,
 
:u1u3p2 = 0p2=u1u3,
 
:u1u3p2 = 0p2=u1u3,

Aktuelle Version vom 10. Juli 2022, 16:41 Uhr

Zuordnung des  (6,3)–Blockcodes

Wir betrachten einen Blockcode  C,  der durch folgende Generatormatrix beschrieben wird:

G=(001011100110011110).

Die Zuordnung zwischen den Informationsworten  u_  und den Codeworten  x_  kann der Tabelle entnommen werden.  Man erkennt,  dass es sich dabei nicht um einen systematischen Code handelt.

Durch Manipulation der Generatormatrix  G  lassen sich daraus identische Codes konstruieren.  Darunter versteht man Codes mit gleichen Codeworten,  jedoch unterschiedlicher Zuordnung  u_x_.

Folgende Operationen sind erlaubt,  um einen identischen Code zu erhalten:

  • Vertauschen oder Permutieren der Zeilen,
  • Multiplizieren aller Zeilen mit einem konstanten Vektor ungleich  "0_",
  • Ersetzen einer Zeile durch eine Linearkombination zwischen dieser Zeile und einer anderen.


Für den in der Teilaufgabe  (3)  gesuchten Code  Csys  mit Generatormatrix  Gsys  wird weiter gefordert,  dass er systematisch ist.



Hinweise:

  • Bezug genommen wird zudem auf die so genannte  "Singleton–Schranke":&
  • Diese besagt,  dass die minimale Hamming–Distanz eines  (n,k)–Blockcodes nach oben beschränkt ist:   dminnk+1.



Fragebogen

1

Geben Sie die Kenngrößen des gegebenen Codes  C  an.

n= 

k= 

m= 

R= 

|C|= 

dmin= 

2

Gibt es einen  (6,3)–Blockcode mit größerer Minimaldistanz?

Ja.
Nein.

3

Wie lautet die Generatormatrix  Gsys  des identischen systematischen Codes?

Die 1. Zeile lautet   „1 0 1 1 0 1”.
Die 2. Zeile lautet   „0 1 0 1 0 1”.
Die 3. Zeile lautet   „0 0 1 0 1 1”.

4

Welche Zuordnungen ergeben sich bei dieser Codierung?

u_=(0,0,0)  x_sys=(0,0,0,0,0,0).
u_=(0,0,1)  x_sys=(0,0,1,0,0,1).
u_=(0,1,0)  x_sys=(0,1,0,1,1,0).

5

Welche Prüfbits hat der systematische Code  x_sys=(u1, u2, u3, p1, p2, p3)?

p1=u1u2,
p2=u2u3,
p3=u1u3.


Musterlösung

(1)  Der vorgegebene Code  C  wird durch folgende Kenngrößen charakterisiert:

  • Bitanzahl der Codeworte:  n=6_,
  • Bitanzahl der Informationsworte:  k=3_,
  • Anzahl der Prüfbitgleichungen:  m=nk=3_,
  • Coderate:  R=k/n=3/6R=0.5_,
  • Anzahl der Codeworte (Codeumfang):  |C|=2k|C|=8_,
  • minimale Hamming–Distanz (siehe Tabelle):  d_min=3_.


(2)  Richtig ist  JA_:

  • Nach der Singleton–Schranke gilt  dminnk+1.  Mit  n=6  und  k=3  erhält man hierfür  dmin4.
  • Es kann also durchaus ein  (6,3)–Blockcode mit größerer Minimaldistanz konstruiert werden.  Wie ein solcher Code aussieht,  wurde freundlicherweise nicht gefragt.


Die Minimaldistanz aller Hamming–Codes ist  dmin=3,  und nur der Sonderfall mit  n=3  und  k=1  erreicht den Grenzwert. Dagegen erreichen das Maximum entsprechend der Singleton–Schranke:

  • alle  Wiederholungscodes  (Repetition Codes,  RC)  wegen  k=1  und  dmin=n;  hierzu gehört auch der  (3,1)–Hamming–Code,  der ja bekannterweise identisch ist mit dem  RC (3, 1),


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

  • Vertauscht man Zeilen der Generatormatrix G,  so kommt man zu einem identischen Code  C.  Das heißt:  C  und  C  beinhalten die genau gleichen Codeworte.
  • Beispielsweise erhält man nach zyklischem Zeilentausch  21, 32  und  13  die neue Matrix
G=(100110011110001011).
  • Die erste und die letzte Zeile der neuen Matrix entsprechen schon den Vorgaben eines systematischen Codes,  nämlich,  dass deren Generatormatrix  Gsys  mit einer Diagonalmatrix beginnen muss.
  • Ersetzt man die Zeile 2 durch die Modulo–2–Summe von Zeile 2 und 3,  so erhält man:
Gsys=(100110010101001011).
  • Dieser systematische Code beinhaltet genau die gleichen Codeworte wie die Codes  C  und  C.


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

  • Wendet man die Gleichung  x_sys=u_Gsys  auf obige Beispiele an,  so erkennt man,  dass die beiden ersten Aussagen richtig sind,  nicht aber die letzte.
  • Ohne Rechnung kommt man zum gleichen Ergebnis,  wenn man berücksichtigt,  dass
  • das systematische Codewort  x_sys  mit  u_  beginnen muss,
  • der Code  Csys  die gleichen Codeworte beinhaltet wie der vorgegebene Code  C.
  • Für  u_=(0,1,0)  lautet somit das Codewort  (0,1,0,?,?,?)
  • Ein Vergleich mit der Codetabelle von  C  auf der Angabenseite führt zu  x_sys=(0,1,0,1,0,1).


(5)  Richtig ist nur die  Aussage 1.  Die Angaben für  p2  und  p3  sind dagegen genau vertauscht.

  • Bei systematischer Codierung besteht folgender Zusammenhang zwischen Generator– und Prüfmatrix:
G=(Ik;P)H=(PT;Im).
Schaubild der Prüfgleichungen
  • Angewendet auf das aktuelle Beispiel erhält man so:
Gsys=(100110010101001011)Hsys=(110100101010011001).
  • Daraus ergeben sich Prüfgleichungen (siehe Grafik):
u1u2p1 = 0p1=u1u2,
u1u3p2 = 0p2=u1u3,
u2u3p3 = 0p3=u2u3.