Difference between revisions of "Aufgaben:Exercise 4.7Z: Principle of Syndrome Decoding"

From LNTwww
m (Text replacement - "Category:Aufgaben zu Kanalcodierung" to "Category:Channel Coding: Exercises")
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Grundlegendes zu den Produktcodes}}
+
{{quiz-Header|Buchseite=Channel_Coding/The_Basics_of_Product_Codes}}
  
[[File:P_ID3013__KC_Z_4_7_v1.png|right|frame|Nebenklassenanführer für den betrachteten Code  $\rm HC \  (7, \ 4, \ 3)$]]
+
[[File:EN KC T 4 2 S2b v2 neu.png|right|frame|Syndrome table for code  $\mathcal{C}_1$]]  
Die Syndromdecodierung wurde bereits im Kapitel  [[Channel_Coding/Decodierung_linearer_Blockcodes| Decodierung linearer Blockcodes]]  ausführlich behandelt. Bei allen Hammingcodes, die ja bekanntlich perfekt sind, ergibt sich hiermit ein gleich gutes Decodierergebnis wie mit der (im allgemeinen) deutlich komplizierteren Maximum–Likelihood–Decodierung.
+
The syndrome decoding was already treated in detail in the chapter  [[Channel_Coding/Decoding_of_Linear_Block_Codes| "Decoding of Linear Block Codes"]].   
  
Bei der Syndromdecodierung geht man wie folgt vor:
+
With all Hamming codes,  which are as well known perfect,  this gives a decoding result as good as with the  $($generally$)$ clearly more complicated maximum likelihood decoding.
* Man bildet aus dem Empfangsvektor  $\underline{y}$  der Länge  $n$  und der Prüfmatrix  $\mathbf{H}$  das Syndrom:
+
 
 +
For syndrome decoding one proceeds as follows:
 +
* One forms the syndrome from the received vector  $\underline{y}$  of length  $n$  and the parity-check matrix  $\mathbf{H}$:
 
:$$\underline{s} = \underline{y} \cdot { \boldsymbol{\rm H}}^{\rm T} \in {\rm GF}(2^m)
 
:$$\underline{s} = \underline{y} \cdot { \boldsymbol{\rm H}}^{\rm T} \in {\rm GF}(2^m)
   \hspace{0.05cm},  \hspace{0.5cm}{\rm Anmerkung\hspace{-0.10cm}:} \hspace{0.15cm}m = n-k \hspace{0.05cm}. $$
+
   \hspace{0.05cm},  \hspace{0.5cm}{\rm Note\hspace{-0.10cm}:} \hspace{0.15cm}m = n-k \hspace{0.05cm}. $$
  
* Das Empfangswort  $\underline{y} = \underline{x} \ {\rm (Codewort)} + \underline{e} \ {\rm (Fehlervektor)}$  ist nicht notwendigermaßen ein Element von  ${\rm GF}(2^m)$, sicher aber ein Element von  ${\rm GF}(2^n)$  und es gilt wegen  $\underline{x} \cdot \mathbf{H}^{\rm T} = \underline{0}$  gleichermaßen:
+
* The received word  $\underline{y} = \underline{x} \ {\rm (code\:word)} + \underline{e} \ {\rm (error\:vector)}$  is not necessarily an element of  ${\rm GF}(2^m)$,  but certainly an element of  ${\rm GF}(2^n)$  and it holds because of   $\underline{x} \cdot \mathbf{H}^{\rm T} = \underline{0}$   equally:
 
:$$\underline{s} = \underline{e} \cdot { \boldsymbol{\rm H}}^{\rm T}\hspace{0.05cm}. $$
 
:$$\underline{s} = \underline{e} \cdot { \boldsymbol{\rm H}}^{\rm T}\hspace{0.05cm}. $$
  
* Viele Fehlermuster  $\underline{e}$  führen zum gleichen Syndrom  $\underline{s}$. Man fasst nun diejenigen Fehlermuster mit gleichem Syndrom  $\underline{s}_{\mu}$  zur Nebenklasse  ${\it \Psi}_{\mu}$  zusammen.
+
* Many error patterns  $\underline{e}$  lead to the same syndrome  $\underline{s}$. One now groups those error patterns with the same syndrome  $\underline{s}_{\mu}$  to the  "coset  ${\it \Psi}_{\mu}$".
  
* Als Nebenklassenanführer  $\underline{e}_{\mu}$  bezeichnet man denjenigen Fehlervektor, der innerhalb der Klasse  ${\it \Psi}_{\mu}$  das geringste Hamming–Gewicht aufweist und dementsprechend am wahrscheinlichsten ist.
+
* The  "coset leader"  $\underline{e}_{\mu}$  is the error vector that has the lowest Hamming weight within the class  ${\it \Psi}_{\mu}$  and is accordingly the most probable.
  
  
Die  obige Tabelle zeigt die Liste der Nebenklassenanführer  $\underline{e}_{\mu}$  für die einzelnen  $\underline{s}_{\mu}$  beim Hammingcode  $\rm HC \ (7, \ 4, \ 3)$. Diese Tabelle wird für die Teilaufgabe '''(1)''' benötigt.
+
The table above shows the list of the class leaders  $\underline{e}_{\mu}$  for each  $\underline{s}_{\mu}$  in the Hamming code  $\rm HC \ (7, 4, 3)$. This table is needed for the subtask  '''(1)'''.
  
Eine ähnliche Tabelle soll für den verkürzten Hammingcode  $\rm HC \ (6, \ 3, \ 3)$  erstellt werden. Dieser wurde bereits in der  [[Aufgaben:4.6_Produktcode%E2%80%93Generierung| Aufgabe 4.6]]  sowie der  [[Aufgaben:4.6Z_Grundlagen_der_Produktcodes| Aufgabe 4.6Z]]  benutzt und ist durch seine Generatormatrix gegeben:
+
A similar table is to be created for the truncated Hamming code  $\rm HC \ (6, 3, 3)$.  This has already been used in the  [[Aufgaben:Exercise_4.6:_Product_Code_Generation|$\text{Exercise 4.6}$]]  and the  [[Aufgaben:Exercise_4.6Z:_Basics_of_Product_Codes| $\text{Exercise 4.6Z}$]]  and is given by its generator matrix:
 
:$${ \boldsymbol{\rm G}}  
 
:$${ \boldsymbol{\rm G}}  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Line 27: Line 29:
 
\end{pmatrix} \hspace{0.05cm}.$$
 
\end{pmatrix} \hspace{0.05cm}.$$
  
Im Gegensatz zum originalen  $\rm   (7, \ 4, \ 3)$–Hammingcode ist der verkürzte  $\rm   (6, \ 3, \ 3)$–Hammingcode nicht perfekt, so dass sich nicht für alle möglichen  $\underline{s}_{\mu}$  ein Einfehler–Nebenklassenanführer  $\underline{e}_{\mu}$  finden lässt.
+
Unlike the original  $\rm (7, 4, 3)$  Hamming code,  the shortened  $\rm (6, 3, 3)$  Hamming code is not perfect, so a single-error coset leader  $\underline{s}_{\mu}$  cannot be found for all possible  $\underline{e}_{\mu}$.
 
 
  
  
Line 35: Line 36:
  
  
 +
<u>Hints:</u>
 +
* The exercise refers to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes| "Basic Product Codes"]]&nbsp; and is intended as a supplement to&nbsp; [[Aufgaben:Exercise_4.7:_Product_Code_Decoding|$\text{Exercise 4.7}$]].
 +
 +
* Similar task settings were covered in&nbsp; [[Aufgaben:Exercise_1.11:_Syndrome_Decoding| $\text{Exercise 1.11}$]]&nbsp; and&nbsp; [[Aufgaben:Exercise_1.11Z:_Syndrome_Decoding_again|$\text{Exercise 1.11Z}$]]&nbsp; from chapter&nbsp; [[Channel_Coding/Decoding_of_Linear_Block_Codes|"Decoding Linear Block Codes"]].
  
 +
* The relationship between generator matrix&nbsp; $\mathbf{G}$&nbsp; and parity-check matrix&nbsp; $\mathbf{H}$&nbsp; of systematic codes is given in chapter&nbsp; [[Channel_Coding/General_Description_of_Linear_Block_Codes|"General Description of Linear Block Codes"]].
  
''Hinweise:''
 
* Die Aufgabe bezieht sich auf das Kapitel&nbsp; [[Channel_Coding/Grundlegendes_zu_den_Produktcodes| Grundlegendes zu den Produktcodes]]&nbsp; und ist als Ergänzung zur&nbsp; [[Aufgaben:4.7_Produktcode%E2%80%93Decodierung| Aufgabe A4.7]]&nbsp; gedacht.
 
* Ähnliche Aufgabenstellungen wurden in der&nbsp; [[Aufgaben:1.11_Syndromdecodierung| Aufgabe 1.11]]&nbsp; und der&nbsp; [[Aufgaben:1.11Z_Nochmals_Syndromdecodierung| Aufgabe 1.11Z]]&nbsp; im Kapitel&nbsp; [[Channel_Coding/Decodierung_linearer_Blockcodes|Decodierung linearer Blockcodes]]&nbsp; behandelt.
 
* Der Zusammenhang zwischen Generatormatrix&nbsp; $\mathbf{G}$&nbsp; und Prüfmatrix&nbsp; $\mathbf{H}$&nbsp; von systematischen Codes ist im Kapitel&nbsp; [[Channel_Coding/Allgemeine_Beschreibung_linearer_Blockcodes| Allgemeine Beschreibung linearer Blockcodes]]&nbsp; angegeben.
 
  
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Das Empfangswort sei&nbsp; $\underline{y} = (0, \, 1, \, 1,\, 0, \, 1, \, 1, \, 0)$, das Syndrom&nbsp; $\underline{s} = (0, \, 1, \, 1)$. Für welches Codewort&nbsp; $\underline{x}$&nbsp; von&nbsp; $\mathcal{C}_1$&nbsp; entscheidet sich der Syndromdecoder?
+
{The received word be&nbsp; $\underline{y} = (0, \, 1, \, 1,\, 0, \, 1, \, 0)$,&nbsp; the syndrome&nbsp; $\underline{s} = (0, \, 1, \, 1)$.&nbsp; For which code word&nbsp; $\underline{x}$&nbsp; of&nbsp; $\mathcal{C}_1$&nbsp; does the syndrome decoder decide?
 
|type="()"}
 
|type="()"}
- Das wahrscheinlichste Codewort ist&nbsp; $\ \underline{x} = (1, \, 1, \, 1, \, 0, \, 1, \, 1, \, 0)$.
+
- The most likely code word is&nbsp; $\ \underline{x} = (1, \, 1, \, 1, \, 0, \, 1, \, 1, \, 0)$.
+ Das wahrscheinlichste Codewort ist&nbsp; $\ \underline{x} = (0, \, 1, \, 0, \, 0, \, 1, \, 1, \, 0)$.
+
+ The most likely code word is&nbsp; $\ \underline{x} = (0, \, 1, \, 0, \, 0, \, 1, \, 1, \, 0)$.
- Das wahrscheinlichste Codewort ist&nbsp; $\ \underline{x} = (0, \, 1, \, 0, \, 0, \, 1, \, 1, \, 1)$.
+
- The most likely code word is&nbsp; $\ \underline{x} = (0, \, 1, \, 0, \, 0, \, 1, \, 1, \, 1)$.
  
{Welche Aussagen gelten für die Prüfmatrix&nbsp; $\mathbf{H}$&nbsp; des verkürzten Codes&nbsp; $\mathcal{C}_2$?
+
{What statements hold for the parity-check matrix&nbsp; $\mathbf{H}$&nbsp; of the truncated code&nbsp; $\mathcal{C}_2$?
 
|type="[]"}
 
|type="[]"}
- Es handelt sich um eine&nbsp; $4 &times 6$&ndash;Matrix.
+
- This is a&nbsp; $4 &times 6$&nbsp; matrix.
+ Die erste Zeile dieser Matrix lautet: &nbsp;$\ 110100$.
+
+ The first row of this matrix is&nbsp; "$110100$".
+ Die zweite Zeile dieser Matrix lautet: &nbsp;$\ 101010$.
+
+ The second row of this matrix is&nbsp; "$101010$".
+ Die dritte Zeile dieser Matrix lautet: &nbsp;$\ 011001$.
+
+ The third row of this matrix is&nbsp; "$011001$".
  
{Welches Syndrom&nbsp; $\underline{s}$&nbsp; ergibt sich für das Fehlermuster&nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$?
+
{What syndrome&nbsp; $\underline{s}$&nbsp; results for the error pattern&nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$?
 
|type="()"}
 
|type="()"}
 
+ $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{s} = \underline{s}_0 = (0, \, 0, \, 0)$,
 
+ $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{s} = \underline{s}_0 = (0, \, 0, \, 0)$,
Line 65: Line 67:
 
- $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{s} = \underline{s}_7 = (1, \, 1, \, 1)$.
 
- $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{s} = \underline{s}_7 = (1, \, 1, \, 1)$.
  
{Welche der folgenden Aussagen stimmen bezüglich der Einfehlermuster?
+
{Which of the following statements are true regarding single-error patterns?
 
|type="[]"}
 
|type="[]"}
+ Einfehlermuster &nbsp; $\underline{e} = (1, \, 0, \, 0, \, 0, \, 0, \, 0)$ &nbsp; &#8658; &nbsp; Syndrom $\underline{s}_6 = (1, \, 1, \, 0)$,
+
+ single-error pattern &nbsp; $\underline{e} = (1, \, 0, \, 0, \, 0, \, 0, \, 0)$ &nbsp; &#8658; &nbsp; syndrome $\underline{s}_6 = (1, \, 1, \, 0)$,
+ Einfehlermuster &nbsp; $\underline{e} = (0, \, 1, \, 0, \, 0, \, 0, \, 0)$ &nbsp; &#8658; &nbsp; Syndrom $\underline{s}_5 = (1, \, 0, \, 1)$,
+
+ single-error pattern &nbsp; $\underline{e} = (0, \, 1, \, 0, \, 0, \, 0, \, 0)$ &nbsp; &#8658; &nbsp; syndrome $\underline{s}_5 = (1, \, 0, \, 1)$,
+ Einfehlermuster &nbsp; $\underline{e} = (0, \, 0, \, 1, \, 0, \, 0, \, 0)$ &nbsp; &#8658; &nbsp; Syndrom $\underline{s}_3 = (0, \, 1, \, 1)$,
+
+ single-error pattern &nbsp; $\underline{e} = (0, \, 0, \, 1, \, 0, \, 0, \, 0)$ &nbsp; &#8658; &nbsp; syndrome $\underline{s}_3 = (0, \, 1, \, 1)$,
+ Einfehlermuster &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 1, \, 0, \, 0)$ &nbsp; &#8658; &nbsp; Syndrom $\underline{s}_4 = (1, \, 0, \, 0)$,
+
+ single-error pattern &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 1, \, 0, \, 0)$ &nbsp; &#8658; &nbsp; syndrome $\underline{s}_4 = (1, \, 0, \, 0)$,
+ Einfehlermuster &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 1, \, 0)$ &nbsp; &#8658; &nbsp; Syndrom $\underline{s}_2 = (0, \, 1, \, 0)$,
+
+ single-error pattern &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 1, \, 0)$ &nbsp; &#8658; &nbsp; syndrome $\underline{s}_2 = (0, \, 1, \, 0)$,
+ Einfehlermuster &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 1)$ &nbsp; &#8658; &nbsp; Syndrom $\underline{s}_1 = (0, \, 0, \, 1)$,
+
+ single-error pattern &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 1)$ &nbsp; &#8658; &nbsp; syndrome $\underline{s}_1 = (0, \, 0, \, 1)$,
  
{Welche der folgenden Fehlermuster führen zum Syndrom&nbsp; $\underline{s}_7 = (1, \, 1, \, 1)$?
+
{Which of the following error patterns lead to the syndrome&nbsp; $\underline{s}_7 = (1, \, 1, \, 1)$?
 
|type="[]"}
 
|type="[]"}
 
- $\underline{e} = (1, \, 1, \, 0, \, 0, \, 0, \, 0)$,
 
- $\underline{e} = (1, \, 1, \, 0, \, 0, \, 0, \, 0)$,
Line 82: Line 84:
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Richtig ist der <u>Lösungsvorschlag 2</u>:
+
'''(1)'''&nbsp; Correct is the&nbsp; <u>proposed solution 2</u>:
*Aus der [[Aufgaben:4.7Z_Syndromdecodierung_%E2%80%93_Prinzip| Syndromtabelle]] auf der Angabenseite &ndash; gültig für den $\rm (7, \ 4, \ 3)$&ndash;Hammingcode &ndash; kann man ablesen, dass das Syndrom $\underline{s} = \underline{s}_3 = (0, \, 1, \, 1)$ mit dem Fehlermuster $\underline{e} = (0, \, 0, \, 1, \, 0, \, 0, \, 0, \, 0)$ korrespondiert. Damit ist das Codewort
+
*From the&nbsp; [[Aufgaben:Exercise_4.7Z: _Principle_of_Syndrome_Decoding| "syndrome table"]]&nbsp; on the information page &ndash; valid for the&nbsp; $\rm (7, 4, 3)$&nbsp; Hamming code &ndash; it can be read that the syndrome &nbsp; $\underline{s} = \underline{s}_3 = (0, \, 1, \, 1)$&nbsp; corresponds to the error pattern &nbsp; $\underline{e} = (0, \, 0, \, 1, \, 0, \, 0, \, 0, \, 0)$. Thus the code word
:$$\underline{x} = \underline{y} \hspace{0.15cm}+ \hspace{0.15cm}  \underline{y} = (0, 1, 1, 0, 1, 1, 0) \hspace{0.15cm}+ \hspace{0.15cm}(0, 0, 1, 0, 0, 0, 0)
+
:$$\underline{x} = \underline{y} \hspace{0.15cm}+ \hspace{0.15cm}  \underline{y} = (0, 1, 1, 0, 1, 1, 0) \hspace{0.15cm}+ \hspace{0.15cm}(0, 0, 1, 0, 0, 0, 0)
 
\hspace{0.15cm}= \hspace{0.15cm}(0, 1, 0, 0, 1, 1, 0)$$
 
\hspace{0.15cm}= \hspace{0.15cm}(0, 1, 0, 0, 1, 1, 0)$$
  
am wahrscheinlichsten und der Syndromdecoder gibt dieses als Ergebnis aus.
+
is most likely and the syndrome decoder will output this as the result.
 +
 
 +
 
  
 +
'''(2)'''&nbsp; Correct are the&nbsp; <u>solutions 2, 3, and 4</u>:
 +
*The parity-check matrix&nbsp; $\mathbf{H}$&nbsp; of the truncated&nbsp; $\rm (6,  3)$&nbsp; Hamming code&nbsp; $C_2$&nbsp; has&nbsp; $m = n - k = 3$&nbsp; rows and&nbsp; $n$&nbsp; columns.&nbsp;
  
'''(2)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 2, 3 und 4</u>:
+
*Consequently,&nbsp; it is a&nbsp; $3 &times 6$&nbsp; matrix &nbsp; &#8658; &nbsp; statement 1 is false.
*Die Prüfmatrix $\mathbf{H}$ des verkürzten $\rm (6, \ 3)$&ndash;Hammingcodes $C_2$ hat $m = n - k = 3$ Zeilen und $n$ Spalten. Es handelt sich demzufolge um eine $3 &times 6$&ndash;Matrix &nbsp; &#8658; &nbsp; die Aussage 1 ist falsch.
 
  
*Da es sich auch bei $\mathcal{C}_2$ um einen systematischen Code handelt, kann die Generatormatrix $\mathbf{G}$ in folgender Form dargestellt werden:
+
*Since&nbsp; $\mathcal{C}_2$&nbsp; is also a systematic code,&nbsp; the generator matrix&nbsp; $\mathbf{G}$&nbsp; can be represented&nbsp; in the following form:
 
:$${ \boldsymbol{\rm G}}  
 
:$${ \boldsymbol{\rm G}}  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Line 112: Line 117:
 
\hspace{0.05cm}.$$
 
\hspace{0.05cm}.$$
  
*Somit kann für die Prüfmatrix geschrieben werden:
+
*So it can be written for the parity-check matrix:
 
:$${ \boldsymbol{\rm H}}  
 
:$${ \boldsymbol{\rm H}}  
 
=  \left ( { \boldsymbol{\rm P}}^{\rm T} ;  \hspace{0.15cm} { \boldsymbol{\rm I}}_3  \right )  
 
=  \left ( { \boldsymbol{\rm P}}^{\rm T} ;  \hspace{0.15cm} { \boldsymbol{\rm I}}_3  \right )  
Line 122: Line 127:
 
\hspace{0.05cm}.$$
 
\hspace{0.05cm}.$$
  
*Hierbei bezeichnet $\mathbf{I}_3$ eine $3 &times 3$&ndash;Diagonalmatrix, die typisch ist für den systematischen Code.
+
*Here&nbsp; $\mathbf{I}_3$&nbsp; denotes a&nbsp; $3 &times 3$&nbsp; diagonal matrix typical of the systematic code.
  
*Die Lösungsvorschläge 2, 3 und 4 sind somit richtig:
+
*<u>Proposed solutions 2, 3, and 4</u>&nbsp; are therefore correct:
:* Zeile 1: &nbsp; $\ 110100$,
+
:* Row 1: &nbsp; $110100$,
:* Zeile 2: &nbsp; $\ 101010$,
+
:* Row 2: &nbsp; $101010$,
:* Zeile 3: &nbsp; $\ 011001$.
+
:* Row 3: &nbsp; $011001$.
  
  
'''(3)'''&nbsp; Richtig ist der <u>Lösungsvorschlag 1</u>:
+
'''(3)'''&nbsp; Correct is the&nbsp; <u>proposed solution 1</u>:
*Nach den Aussagen im Kapitel [[Channel_Coding/Decodierung_linearer_Blockcodes| Decodierung linearer Blockcodes]] kann für das Syndrom auch $\underline{s} = \underline{e} \cdot \mathbf{H}^{\rm T}$ geschrieben werden.  
+
*According to the statements in the chapter&nbsp; [[Channel_Coding/Decoding_of_Linear_Block_Codes| "Decoding of Linear Block Codes"]] &nbsp; &rArr; &nbsp;  $\underline{s} = \underline{e} \cdot \mathbf{H}^{\rm T}$&nbsp; can be written.
*Damit erhält man für den fehlerfreien Fall &nbsp; &#8658; &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$:
+
 +
*Thus,&nbsp; for the error-free case &nbsp; &#8658; &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$:
 
:$$\underline{s}= \left ( 0, \hspace{0.03cm} 0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0 \right ) \cdot
 
:$$\underline{s}= \left ( 0, \hspace{0.03cm} 0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0 \right ) \cdot
 
   \begin{pmatrix}
 
   \begin{pmatrix}
Line 146: Line 152:
  
  
'''(4)'''&nbsp; <u>Alle Aussagen</u> stimmen, wie aus der Musterlösung zur letzten Teilaufgabe zu ersehen ist:  
+
'''(4)'''&nbsp; <u>All statements</u>&nbsp; are true,&nbsp; as can be seen from the sample solution to the last subtask:  
*Die Zeilen der transponierten Prüfmatrix ergeben von oben nach unten gelesen, die jeweiligen Syndrome für die Fehlermuster $\underline{e} = (1, \, 0, \, 0, \, 0, \, 0, \, 0), \hspace{0.05cm} \text{ ... } \hspace{0.05cm} , \ \underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 1)$.
+
*The rows of the transposed parity-check matrix,&nbsp; read from top to bottom,&nbsp; give the respective syndromes for the error patterns $\underline{e} = (1, \, 0, \, 0, \, 0, \, 0, \, 0), \hspace{0.05cm} \text{ ... } \hspace{0.05cm} , \ \underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 1)$.
  
  
  
'''(5)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 2, 3 und 4</u>:
+
'''(5)'''&nbsp; Correct are the&nbsp; <u>solutions 2, 3, and 4</u>:
*Die erste Aussage ist falsch, da die beiden ersten Zeilen der transponierten Prüfmatrix $\mathbf{H}^{\rm T}$ aufsummiert $(1, \, 1, \, 0) + (1, \, 0, \, 1) = (0, \, 1, \, 1) = \underline{s_3} &ne; \underline{s}_7$ ergibt.  
+
*The first statement is false because the sum of the first two rows of the transposed parity-check matrix  results in &nbsp;  $\mathbf{H}^{\rm T}$ summed $(1, \, 1, \, 0) + (1, \, 0, \, 1) = (0, \, 1, \, 1) = \underline{s_3} &ne; \underline{s}_7$.
*Die Aussagen 2, 3 und 4 sind dagegen richtig:
+
*The statements 2, 3 and 4&nbsp;are correct:
:* Erste und letzte Zeile: $\ (1, \, 1, \, 0) + (0, \, 0, \, 1) = (1, \, 1, \, 1) = \underline{s}_7$,
+
:* First and last row: $\ (1, \, 1, \, 0) + (0, \, 0, \, 1) = (1, \, 1, \, 1) = \underline{s}_7$,
:* zweite und fünfte Zeile: $\ (1, \, 0, \, 1) + (0, \, 1, \, 0) = (1, \, 1, \, 1) = \underline{s}_7$,
+
:* second and fifth row: $\ (1, \, 0, \, 1) + (0, \, 1, \, 0) = (1, \, 1, \, 1) = \underline{s}_7$,
:* Die Summe über alle Zeilen ergibt ebenfalls $\underline{s}_7$, da es in jeder Matrixspalte genau drei Einsen gibt.
+
:* The sum over all rows also gives&nbsp;  $\underline{s}_7$,&nbsp;  since there are exactly three&nbsp; "ones"&nbsp;  in each matrix column.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
  
[[Category:Channel Coding: Exercises|^4.2 Grundlegendes zu den Produktcodes^]]
+
[[Category:Channel Coding: Exercises|^4.2 About the Product Codes^]]

Latest revision as of 16:53, 22 December 2022

Syndrome table for code  $\mathcal{C}_1$

The syndrome decoding was already treated in detail in the chapter  "Decoding of Linear Block Codes"

With all Hamming codes,  which are as well known perfect,  this gives a decoding result as good as with the  $($generally$)$ clearly more complicated maximum likelihood decoding.

For syndrome decoding one proceeds as follows:

  • One forms the syndrome from the received vector  $\underline{y}$  of length  $n$  and the parity-check matrix  $\mathbf{H}$:
$$\underline{s} = \underline{y} \cdot { \boldsymbol{\rm H}}^{\rm T} \in {\rm GF}(2^m) \hspace{0.05cm}, \hspace{0.5cm}{\rm Note\hspace{-0.10cm}:} \hspace{0.15cm}m = n-k \hspace{0.05cm}. $$
  • The received word  $\underline{y} = \underline{x} \ {\rm (code\:word)} + \underline{e} \ {\rm (error\:vector)}$  is not necessarily an element of  ${\rm GF}(2^m)$,  but certainly an element of  ${\rm GF}(2^n)$  and it holds because of   $\underline{x} \cdot \mathbf{H}^{\rm T} = \underline{0}$   equally:
$$\underline{s} = \underline{e} \cdot { \boldsymbol{\rm H}}^{\rm T}\hspace{0.05cm}. $$
  • Many error patterns  $\underline{e}$  lead to the same syndrome  $\underline{s}$. One now groups those error patterns with the same syndrome  $\underline{s}_{\mu}$  to the  "coset  ${\it \Psi}_{\mu}$".
  • The  "coset leader"  $\underline{e}_{\mu}$  is the error vector that has the lowest Hamming weight within the class  ${\it \Psi}_{\mu}$  and is accordingly the most probable.


The table above shows the list of the class leaders  $\underline{e}_{\mu}$  for each  $\underline{s}_{\mu}$  in the Hamming code  $\rm HC \ (7, 4, 3)$. This table is needed for the subtask  (1).

A similar table is to be created for the truncated Hamming code  $\rm HC \ (6, 3, 3)$.  This has already been used in the  $\text{Exercise 4.6}$  and the  $\text{Exercise 4.6Z}$  and is given by its generator matrix:

$${ \boldsymbol{\rm G}} = \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}.$$

Unlike the original  $\rm (7, 4, 3)$  Hamming code,  the shortened  $\rm (6, 3, 3)$  Hamming code is not perfect, so a single-error coset leader  $\underline{s}_{\mu}$  cannot be found for all possible  $\underline{e}_{\mu}$.




Hints:



Questions

1

The received word be  $\underline{y} = (0, \, 1, \, 1,\, 0, \, 1, \, 0)$,  the syndrome  $\underline{s} = (0, \, 1, \, 1)$.  For which code word  $\underline{x}$  of  $\mathcal{C}_1$  does the syndrome decoder decide?

The most likely code word is  $\ \underline{x} = (1, \, 1, \, 1, \, 0, \, 1, \, 1, \, 0)$.
The most likely code word is  $\ \underline{x} = (0, \, 1, \, 0, \, 0, \, 1, \, 1, \, 0)$.
The most likely code word is  $\ \underline{x} = (0, \, 1, \, 0, \, 0, \, 1, \, 1, \, 1)$.

2

What statements hold for the parity-check matrix  $\mathbf{H}$  of the truncated code  $\mathcal{C}_2$?

This is a  $4 × 6$  matrix.
The first row of this matrix is  "$110100$".
The second row of this matrix is  "$101010$".
The third row of this matrix is  "$011001$".

3

What syndrome  $\underline{s}$  results for the error pattern  $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$?

$\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{s} = \underline{s}_0 = (0, \, 0, \, 0)$,
$\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{s} = \underline{s}_1 = (0, \, 0, \, 1)$,
$\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{s} = \underline{s}_7 = (1, \, 1, \, 1)$.

4

Which of the following statements are true regarding single-error patterns?

single-error pattern   $\underline{e} = (1, \, 0, \, 0, \, 0, \, 0, \, 0)$   ⇒   syndrome $\underline{s}_6 = (1, \, 1, \, 0)$,
single-error pattern   $\underline{e} = (0, \, 1, \, 0, \, 0, \, 0, \, 0)$   ⇒   syndrome $\underline{s}_5 = (1, \, 0, \, 1)$,
single-error pattern   $\underline{e} = (0, \, 0, \, 1, \, 0, \, 0, \, 0)$   ⇒   syndrome $\underline{s}_3 = (0, \, 1, \, 1)$,
single-error pattern   $\underline{e} = (0, \, 0, \, 0, \, 1, \, 0, \, 0)$   ⇒   syndrome $\underline{s}_4 = (1, \, 0, \, 0)$,
single-error pattern   $\underline{e} = (0, \, 0, \, 0, \, 0, \, 1, \, 0)$   ⇒   syndrome $\underline{s}_2 = (0, \, 1, \, 0)$,
single-error pattern   $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 1)$   ⇒   syndrome $\underline{s}_1 = (0, \, 0, \, 1)$,

5

Which of the following error patterns lead to the syndrome  $\underline{s}_7 = (1, \, 1, \, 1)$?

$\underline{e} = (1, \, 1, \, 0, \, 0, \, 0, \, 0)$,
$\underline{e} = (1, \, 0, \, 0, \, 0, \, 0, \, 1)$,
$\underline{e} = (0, \, 1, \, 0, \, 0, \, 1, \, 0)$,
$\underline{e} = (1, \, 1, \, 1, \, 1, \, 1, \, 1)$.


Solution

(1)  Correct is the  proposed solution 2:

  • From the  "syndrome table"  on the information page – valid for the  $\rm (7, 4, 3)$  Hamming code – it can be read that the syndrome   $\underline{s} = \underline{s}_3 = (0, \, 1, \, 1)$  corresponds to the error pattern   $\underline{e} = (0, \, 0, \, 1, \, 0, \, 0, \, 0, \, 0)$. Thus the code word
$$\underline{x} = \underline{y} \hspace{0.15cm}+ \hspace{0.15cm} \underline{y} = (0, 1, 1, 0, 1, 1, 0) \hspace{0.15cm}+ \hspace{0.15cm}(0, 0, 1, 0, 0, 0, 0) \hspace{0.15cm}= \hspace{0.15cm}(0, 1, 0, 0, 1, 1, 0)$$

is most likely and the syndrome decoder will output this as the result.


(2)  Correct are the  solutions 2, 3, and 4:

  • The parity-check matrix  $\mathbf{H}$  of the truncated  $\rm (6, 3)$  Hamming code  $C_2$  has  $m = n - k = 3$  rows and  $n$  columns. 
  • Consequently,  it is a  $3 × 6$  matrix   ⇒   statement 1 is false.
  • Since  $\mathcal{C}_2$  is also a systematic code,  the generator matrix  $\mathbf{G}$  can be represented  in the following form:
$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &0 &0 &1 &1 &0 \\ 0 &1 &0 &1 &0 &1 \\ 0 &0 &1 &0 &1 &1 \end{pmatrix} = \left ( { \boldsymbol{\rm I}}_3 ; \hspace{0.15cm} { \boldsymbol{\rm P}} \right ) \hspace{0.5cm}{\rm mit }\hspace{0.5cm} { \boldsymbol{\rm P}} = \begin{pmatrix} 1 &1 &0 \\ 1 &0 &1 \\ 0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • So it can be written for the parity-check matrix:
$${ \boldsymbol{\rm H}} = \left ( { \boldsymbol{\rm P}}^{\rm T} ; \hspace{0.15cm} { \boldsymbol{\rm I}}_3 \right ) = \begin{pmatrix} 1 &1 &0 &1 &0 &0\\ 1 &0 &1 &0 &1 &0\\ 0 &1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • Here  $\mathbf{I}_3$  denotes a  $3 × 3$  diagonal matrix typical of the systematic code.
  • Proposed solutions 2, 3, and 4  are therefore correct:
  • Row 1:   $110100$,
  • Row 2:   $101010$,
  • Row 3:   $011001$.


(3)  Correct is the  proposed solution 1:

  • Thus,  for the error-free case   ⇒   $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$:
$$\underline{s}= \left ( 0, \hspace{0.03cm} 0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0 \right ) \cdot \begin{pmatrix} 1 &1 &0 \\ 1 &0 &1 \\ 0 &1 &1 \\ 1 &0 &0 \\ 0 &1 &0 \\ 0 &0 &1 \end{pmatrix}= \left ( 0, \hspace{0.03cm} 0, \hspace{0.03cm}0 \right ) = \underline{s}_0.$$


(4)  All statements  are true,  as can be seen from the sample solution to the last subtask:

  • The rows of the transposed parity-check matrix,  read from top to bottom,  give the respective syndromes for the error patterns $\underline{e} = (1, \, 0, \, 0, \, 0, \, 0, \, 0), \hspace{0.05cm} \text{ ... } \hspace{0.05cm} , \ \underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 1)$.


(5)  Correct are the  solutions 2, 3, and 4:

  • The first statement is false because the sum of the first two rows of the transposed parity-check matrix results in   $\mathbf{H}^{\rm T}$ summed $(1, \, 1, \, 0) + (1, \, 0, \, 1) = (0, \, 1, \, 1) = \underline{s_3} ≠ \underline{s}_7$.
  • The statements 2, 3 and 4 are correct:
  • First and last row: $\ (1, \, 1, \, 0) + (0, \, 0, \, 1) = (1, \, 1, \, 1) = \underline{s}_7$,
  • second and fifth row: $\ (1, \, 0, \, 1) + (0, \, 1, \, 0) = (1, \, 1, \, 1) = \underline{s}_7$,
  • The sum over all rows also gives  $\underline{s}_7$,  since there are exactly three  "ones"  in each matrix column.