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

From LNTwww
Noah (talk | contribs)
No edit summary
Noah (talk | contribs)
No edit summary
Line 1: Line 1:
{{quiz-Header|Buchseite=Channel_Coding/The_Basics_of_Product_Codes}}
{{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:P_ID3013__KC_Z_4_7_v1.png|right|frame|Coset leader for the code under consideration  $\rm HC \ (7, \ 4, \ 3)$]]
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"]] . 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.


Bei der Syndromdecodierung geht man wie folgt vor:
For syndrome decoding one proceeds as follows:
* Man bildet aus dem Empfangsvektor  $\underline{y}$  der Länge  $n$  und der Prüfmatrix  $\mathbf{H}$  das Syndrom:
* 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 Anmerkung\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 (codeword)} + \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 minor 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| "Exercise 4.6"]]  and the  [[Aufgaben:Exercise_4.6Z:_Basics_of_Product_Codes| "Exercise 4.6Z"]]  and is given by its generator matrix:
:$${ \boldsymbol{\rm G}}  
:$${ \boldsymbol{\rm G}}  
=  \begin{pmatrix}
=  \begin{pmatrix}
Line 27: Line 27:
\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-w
error coset leader  $\underline{s}_{\mu}$  cannot be found for all possible  $\underline{e}_{\mu}$ .




Line 37: Line 38:




''Hinweise:''
* Die Aufgabe bezieht sich auf das Kapitel  [[Channel_Coding/Grundlegendes_zu_den_Produktcodes| Grundlegendes zu den Produktcodes]]  und ist als Ergänzung zur  [[Aufgaben:4.7_Produktcode%E2%80%93Decodierung| Aufgabe A4.7]]  gedacht.
* Ähnliche Aufgabenstellungen wurden in der  [[Aufgaben:1.11_Syndromdecodierung| Aufgabe 1.11]]  und der  [[Aufgaben:1.11Z_Nochmals_Syndromdecodierung| Aufgabe 1.11Z]]  im Kapitel  [[Channel_Coding/Decodierung_linearer_Blockcodes|Decodierung linearer Blockcodes]]  behandelt.
* Der Zusammenhang zwischen Generatormatrix  $\mathbf{G}$  und Prüfmatrix  $\mathbf{H}$  von systematischen Codes ist im Kapitel  [[Channel_Coding/Allgemeine_Beschreibung_linearer_Blockcodes| Allgemeine Beschreibung linearer Blockcodes]]  angegeben.


Hints:
* The exercise refers to the chapter  [[Channel_Coding/The_Basics_of_Product_Codes| "Basic Product Codes"]]  and is intended as a supplement to  [[Aufgaben:Exercise_4.7:_Product_Code_Decoding| "Exercise 4.7"]] .
* Similar exercises were covered in the  [[Aufgaben:Exercise_1.11:_Syndrome_Decoding| "Exercise 1.11"]]  and the  [[Aufgaben:Exercise_1.11Z:_Syndrome_Decoding_again| "Exercise 1.11Z"]]  chapter  [[Channel_Coding/Decoding_of_Linear_Block_Codes|"Decoding Linear Block Codes"]] .
* The relationship between generator matrix  $\mathbf{G}$  and parity-check matrix  $\mathbf{H}$  of systematic codes is given in chapter  [[Channel_Coding/General_Description_of_Linear_Block_Codes|"General Description of Linear Block Codes"]] .




===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)$, the syndrome&nbsp; $\underline{s} = (0, \, 1, \, 1)$. 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 codeword 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 codeword 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 codeword 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$&ndash;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 <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 [[Aufgaben:Exercise_4.7Z: _Principle_of_Syndrome_Decoding| "Syndrome table"]] on the information page &ndash; valid for the $\rm (7, \ 4, \ 3)$&ndash;Hamming code &ndash; 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)
:$$\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.
most likely and the syndrome decoder will output this as the result.
 
 


'''(2)'''&nbsp; Correct are <u>solutions 2, 3, and 4</u>:
*The parity-check matrix $\mathbf{H}$ of the truncated $\rm (6, \ 3)$&ndash;Hamming code $C_2$ has $m = n - k = 3$ rows and $n$ columns. Consequently, it is a $3 &times 6$&ndash;matrix &nbsp; &#8658; &nbsp; statement 1 is false.


'''(2)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 2, 3 und 4</u>:
*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 $\mathcal{C}_2$ is also a systematic code, the generator matrix $\mathbf{G}$ can be represented in the following form:
:$${ \boldsymbol{\rm G}}  
:$${ \boldsymbol{\rm G}}  
=  \begin{pmatrix}
=  \begin{pmatrix}
Line 112: Line 116:
\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 126:
\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 $\mathbf{I}_3$ denotes a $3 &times 3$ diagonal matrix typical of the systematic code.


*Die Lösungsvorschläge 2, 3 und 4 sind somit richtig:
*Proposed solutions 2, 3, and 4 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 <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 [[Channel_Coding/Decoding_of_Linear_Block_Codes| "Decoding of Linear Block Codes"]], $\underline{s} = \underline{e} \cdot \mathbf{H}^{\rm T}$ can be written.  
*Damit erhält man für den fehlerfreien Fall &nbsp; &#8658; &nbsp; $\underline{e} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$:
*Thus, 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 150:




'''(4)'''&nbsp; <u>Alle Aussagen</u> stimmen, wie aus der Musterlösung zur letzten Teilaufgabe zu ersehen ist:  
'''(4)'''&nbsp; <u>All statements</u> are true, 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, 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)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 2, 3 und 4</u>:
'''(5)'''&nbsp; Correct are <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 first two rows of the transposed parity-check matrix  $\mathbf{H}^{\rm T}$ summed $(1, \, 1, \, 0) + (1, \, 0, \, 1) = (0, \, 1, \, 1) = \underline{s_3} &ne; \underline{s}_7$ results in.
*Die Aussagen 2, 3 und 4 sind dagegen richtig:
*Statements 2, 3 and 4, on the other hand, 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 $\underline{s}_7$, since there are exactly three ones in each matrix column.
{{ML-Fuß}}
{{ML-Fuß}}



Revision as of 23:51, 8 November 2022

Coset leader for the code under consideration  $\rm HC \ (7, \ 4, \ 3)$

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 Anmerkung\hspace{-0.10cm}:} \hspace{0.15cm}m = n-k \hspace{0.05cm}. $$
  • The received word  $\underline{y} = \underline{x} \ {\rm (codeword)} + \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 minor 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  "Exercise 4.6"  and the  "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-w 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 codeword is  $\ \underline{x} = (1, \, 1, \, 1, \, 0, \, 1, \, 1, \, 0)$.
The most likely codeword is  $\ \underline{x} = (0, \, 1, \, 0, \, 0, \, 1, \, 1, \, 0)$.
The most likely codeword 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 &times 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 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)$$

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


(2)  Correct are 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 &times 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 &times 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 proposed solution 1:

  • According to the statements in the chapter "Decoding of Linear Block Codes", $\underline{s} = \underline{e} \cdot \mathbf{H}^{\rm T}$ can be written.
  • 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 solutions 2, 3, and 4:

  • The first statement is false because the first two rows of the transposed parity-check matrix $\mathbf{H}^{\rm T}$ summed $(1, \, 1, \, 0) + (1, \, 0, \, 1) = (0, \, 1, \, 1) = \underline{s_3} ≠ \underline{s}_7$ results in.
  • Statements 2, 3 and 4, on the other hand, 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.