Difference between revisions of "Aufgaben:Exercise 4.7: Product Code Decoding"

From LNTwww
 
(12 intermediate revisions by 3 users not shown)
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_ID3006__KC_A_4_7_v2.png|right|frame|Syndrome tables of the considered component codes  $\mathcal{C}_1$  and  $\mathcal{C}_2$]]  
+
[[File:EN_KC_T_4_2_S2b_v2.png|right|frame|Syndrome tables of the considered component codes  $\mathcal{C}_1$  and  $\mathcal{C}_2$]]  
We consider, as in the  [[Aufgaben:Aufgabe_4.6:_Produktcode–Generierung|"Exercise 4.6"]]  a product code based on.
+
We consider as in the  [[Aufgaben:Exercise_4.6:_Product_Code_Generation|$\text{Exercise 4.6}$]]  a product code based on
 
* the Hamming code  $\rm HC \ (7, \ 4, \ 3)$   ⇒   $\mathcal{C}_1$,
 
* the Hamming code  $\rm HC \ (7, \ 4, \ 3)$   ⇒   $\mathcal{C}_1$,
 +
 
* the truncated Hamming code  $\rm HC \ (6, \ 3, \ 3)$   ⇒   $\mathcal{C}_2$.
 
* the truncated Hamming code  $\rm HC \ (6, \ 3, \ 3)$   ⇒   $\mathcal{C}_2$.
  
Line 21: Line 22:
 
\end{pmatrix} \hspace{0.05cm}.$$
 
\end{pmatrix} \hspace{0.05cm}.$$
  
For the sake of completeness, the generator matrices are also given, but they are not needed to solve the exercise:
+
For the sake of completeness,  the generator matrices are also given,  but they are not needed to solve the exercise:
 
:$${ \boldsymbol{\rm G}}_1  
 
:$${ \boldsymbol{\rm G}}_1  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Line 36: Line 37:
 
\end{pmatrix} \hspace{0.05cm}.$$
 
\end{pmatrix} \hspace{0.05cm}.$$
  
The&nbsp; <i>Hard Decision Decoding</i>&nbsp; of this code is preferably done iteratively, by alternately syndromdecoding all rows and then all columns. See:&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes#Iterative_syndrome_decoding_of_product_codes| "Iterative Syndrome Decoding of Product Codes"]].
+
The&nbsp; "Hard Decision Decoding"&nbsp; of this code is preferably done iteratively,&nbsp; by alternately&nbsp; "syndrome decoding"&nbsp; all rows and then all columns.&nbsp; See section&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes#Iterative_syndrome_decoding_of_product_codes| "Iterative Syndrome Decoding of Product Codes"]].
  
Syndrome decoding of (one-dimensional) block codes has already been covered in the chapter&nbsp; [[Channel_Coding/Decoding_of_Linear_Block_Codes| "Decoding of Linear Block Codes"]]&nbsp;. Here is a brief summary and an adaptation to the two-dimensional case:
+
Syndrome decoding of&nbsp; (one-dimensional)&nbsp; block codes has already been covered in the chapter&nbsp; [[Channel_Coding/Decoding_of_Linear_Block_Codes| "Decoding of Linear Block Codes"]].&nbsp; Here is a brief summary and an adaptation to the two-dimensional case:
* From the received word&nbsp; $\underline{y}$&nbsp; (a row or a column of the given received matrix), the syndrome corresponding to&nbsp; $\underline{s} = \underline{y} \cdot \mathbf{H}_1^{\rm T}$&nbsp; respectively&nbsp; $\underline{s} = \underline{y} \cdot \mathbf{H}_2^{\rm T}$&nbsp; formed.
+
# From the received word&nbsp; $\underline{y}$&nbsp; $($a row or a column of the given received matrix$)$,&nbsp; <br>the syndrome corresponding to &nbsp; $\underline{s} = \underline{y} \cdot \mathbf{H}_1^{\rm T}$ &nbsp; resp. &nbsp; $\underline{s} = \underline{y} \cdot \mathbf{H}_2^{\rm T}$ &nbsp; is formed.
*With the result&nbsp; $\underline{s} = \underline{s}_{\mu}$&nbsp; one can read in above tables the so called side class adder&nbsp; $\underline{e}_{\mu}$&nbsp;.  
+
#With the result &nbsp; $\underline{s} = \underline{s}_{\mu}$ &nbsp; one can read in above tables the so called&nbsp; "coset leader"&nbsp; $\underline{e}_{\mu}$&nbsp;.  
*The corrected codeword is then&nbsp; $\underline{y} + \underline{e}_{\mu}$.
+
#The corrected code word is then&nbsp; $\underline{y} + \underline{e}_{\mu}$.
  
[[File:P_ID3007__KC_A_4_7zusatz_v1.png|right|frame|Predefined encoder and receiver matrices]]
+
[[File:EN_KC_A_4_7_Zusatz_v2.png|right|frame|Predefined encoder and receiver matrices]]
<br><br><br>The accompanying diagram shows three different encoder&ndash; and receiver matrices to be analyzed in the subtasks '''(1)''', '''(2)''', and '''(3)''':
 
*We name them constellation&nbsp; $\mathbf{A}$,&nbsp; $\mathbf{B}$&nbsp; and&nbsp; $\mathbf{C}$.
 
*Marked in yellow are the differences in the reception matrix of constellation&nbsp; $\mathbf{B}$&nbsp; versus&nbsp; $\mathbf{A}$.
 
*In both cases, the code matrix consists only of zeros.
 
*The code matrix of&nbsp; $\rm C$&nbsp; was determined in the&nbsp; [[Aufgaben:Aufgabe_4.6:_Produktcode–Generierung|Aufgabe 4.6]]&nbsp;.
 
  
  
 +
The accompanying diagram shows three different encoded and received matrices to be analyzed in the subtasks&nbsp; '''(1)''',&nbsp; '''(2)''',&nbsp; and&nbsp; '''(3)''':
 +
*We name them constellation&nbsp; $\mathbf{A}$,&nbsp; $\mathbf{B}$&nbsp; and&nbsp; $\mathbf{C}$.
 +
 +
*Marked in yellow are the differences in the received matrices of constellation&nbsp; $\mathbf{B}$&nbsp; versus&nbsp; $\mathbf{A}$.&nbsp; In both cases,&nbsp; the encoded matrix consists only of&nbsp; "zeros".
  
 +
*The encoded matrix of&nbsp; $\rm C$&nbsp; was determined in&nbsp; [[Aufgaben:Exercise_4.6:_Product_Code_Generation|$\text{Exercise 4.6}$]]&nbsp;.
  
  
  
  
Hints:
+
 
 +
<u>Hints:</u>
 
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes| "Basics of Product Codes"]].
 
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes| "Basics of Product Codes"]].
*Reference is made in particular to the page&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes#Iterative_syndrome_decoding_of_product_codes| "Iterative syndrome decoding of product codes"]].
+
 
 +
*Reference is made in particular to the section&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes#Iterative_syndrome_decoding_of_product_codes| "Iterative syndrome decoding of product codes"]].
  
  
Line 68: Line 71:
 
{Is the two-dimensional received matrix &nbsp;$\mathbf{A}$&nbsp; decodable?
 
{Is the two-dimensional received matrix &nbsp;$\mathbf{A}$&nbsp; decodable?
 
|type="()"}
 
|type="()"}
- Yes, after the first decoding in horizontal direction.
+
- Yes,&nbsp; after the first decoding in horizontal direction.
- Yes, after the first decoding in vertical direction.
+
- Yes,&nbsp; after the first decoding in vertical direction.
+ Yes, after the second decoding in horizontal direction.
+
+ Yes,&nbsp; after the second decoding in horizontal direction.
- Yes, after the second decoding in vertical direction.
+
- Yes,&nbsp; after the second decoding in vertical direction.
 
- No.
 
- No.
  
 
{Is the two-dimensional received matrix &nbsp;$\mathbf{B}$&nbsp; decodable?
 
{Is the two-dimensional received matrix &nbsp;$\mathbf{B}$&nbsp; decodable?
 
|type="()"}
 
|type="()"}
- Yes, after the first decoding in horizontal direction.
+
- Yes,&nbsp; after the first decoding in horizontal direction.
- Yes, after the first decoding in vertical direction.
+
- Yes,&nbsp; after the first decoding in vertical direction.
+ Yes, after the second decoding in horizontal direction.
+
- Yes,&nbsp; after the second decoding in horizontal direction.
- Yes, after the second decoding in vertical direction.
+
- Yes,&nbsp; after the second decoding in vertical direction.
- No.
+
+ No.
  
{Is the two-dimensional received matrix &nbsp;$\mathbf{C}$&nbsp; decodable? Try to find the solution via an equivalence to the exercise '''(1)''' or '''(2)'''.
+
{Is the two-dimensional received matrix &nbsp;$\mathbf{C}$&nbsp; decodable?&nbsp; <br>Try to find the solution via an equivalence to subtask&nbsp; '''(1)'''&nbsp; resp.&nbsp; '''(2)'''.
 
|type="()"}
 
|type="()"}
- Yes, after the first decoding in horizontal direction.
+
- Yes,&nbsp; after the first decoding in horizontal direction.
- Yes, after the first decoding in vertical direction.
+
- Yes,&nbsp; after the first decoding in vertical direction.
+ Yes, after the second decoding in horizontal direction.
+
+ Yes,&nbsp; after the second decoding in horizontal direction.
- Yes, after the second decoding in vertical direction.
+
- Yes,&nbsp; after the second decoding in vertical direction.
 
- No.
 
- No.
 
</quiz>
 
</quiz>
Line 93: Line 96:
 
===Solution===
 
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; The decoding process of the receive matrix $\mathbf{A}$ is illustrated by the following diagram.
+
'''(1)'''&nbsp; The decoding process of the received matrix&nbsp; $\mathbf{A}$&nbsp; is illustrated by the following diagram.
  
[[File:P_ID3008__KC_A_4_7a_v1.png|center|frame|Syndrome decoding of the two-dimensional received matrix $\mathbf{A}$.]]
+
[[File:EN_KC_A_4_7a_v2.png|right|frame|Syndrome decoding of the two-dimensional received matrix $\mathbf{A}$ ]]
 +
 
 +
* The single errors in rows&nbsp; 1, 3, 5 and 6&nbsp; are detected by&nbsp; $(7, \ 4, \ 3)$&nbsp; Hamming code and can be corrected <br>&nbsp;&#8658;&nbsp; green markings in the graphic&nbsp; "1st iteration horizontal".
  
* The single errors in rows 1, 3, 5 and 6 are detected by $(7, \ 4, \ 3)$&ndash;Hamming code and can be corrected <br>&nbsp;&#8658;&nbsp; green markings in the graphic "1st iteration horizontal".
 
 
* For the second row results the syndrome
 
* For the second row results the syndrome
 
:$$\underline{s} = \underline{y}_2 \hspace{-0.03cm}\cdot \hspace{-0.03cm}{ \boldsymbol{\rm H}}_1^{\rm T} = \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0, \hspace{0.03cm}1, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0 \right ) \cdot \hspace{-0.05cm}
 
:$$\underline{s} = \underline{y}_2 \hspace{-0.03cm}\cdot \hspace{-0.03cm}{ \boldsymbol{\rm H}}_1^{\rm T} = \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0, \hspace{0.03cm}1, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0 \right ) \cdot \hspace{-0.05cm}
Line 108: Line 112:
 
0 &1 &0 \\
 
0 &1 &0 \\
 
0 &0 &1
 
0 &0 &1
\end{pmatrix} \hspace{-0.05cm}=
+
\end{pmatrix} \hspace{-0.05cm}=$$
 +
:$$\Rightarrow \hspace{0.3cm} \underline{s} =
 
\left ( 1, \hspace{0.03cm} 1, \hspace{0.03cm}0 \right )
 
\left ( 1, \hspace{0.03cm} 1, \hspace{0.03cm}0 \right )
 
+ \left ( 1, \hspace{0.03cm} 1, \hspace{0.03cm}1 \right )=
 
+ \left ( 1, \hspace{0.03cm} 1, \hspace{0.03cm}1 \right )=
Line 114: Line 119:
 
= \underline{s}_1 \hspace{0.03cm}.$$
 
= \underline{s}_1 \hspace{0.03cm}.$$
  
* According to the upper syndrome table on the information page, the last bit is thus incorrectly "corrected". Incorrect corrections are entered in red in the upper graphic.
+
* According to the upper syndrome table on the information page,&nbsp; the last bit is incorrectly&nbsp; "corrected".&nbsp; Incorrect corrections are entered in red in the upper graphic.
 +
 
 
* Correspondingly applies to the fourth row:
 
* Correspondingly applies to the fourth row:
 
:$$\underline{s} = \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}1, \hspace{0.03cm}0 \right ) \cdot { \boldsymbol{\rm H}}_1^{\rm T} =
 
:$$\underline{s} = \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}1, \hspace{0.03cm}0 \right ) \cdot { \boldsymbol{\rm H}}_1^{\rm T} =
Line 120: Line 126:
 
+ \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0 \right )=
 
+ \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0 \right )=
 
\left ( 1, \hspace{0.03cm} 0, \hspace{0.03cm}0 \right )= \underline{s}_4 \hspace{0.05cm}.$$
 
\left ( 1, \hspace{0.03cm} 0, \hspace{0.03cm}0 \right )= \underline{s}_4 \hspace{0.05cm}.$$
* This causes a miscorrection of bit 5.
+
* This causes a miscorrection of bit&nbsp; '''5'''.
  
 
:* Vertical decoding of columns 1, 3, 4, 5, 6, and 7 is straightforward because there is at most one error per column, which can be corrected by the truncated Hamming code $\rm (6, \ 3, \ 3)$.
 
:* Vertical decoding of columns 1, 3, 4, 5, 6, and 7 is straightforward because there is at most one error per column, which can be corrected by the truncated Hamming code $\rm (6, \ 3, \ 3)$.
Line 142: Line 148:
  
  
'''(2)'''&nbsp; The following graphic shows the decoding process according to the specifications given by $\mathbf{B}$.
+
'''(2)'''&nbsp; The following graphic shows the decoding process according to the specifications given by&nbsp; $\mathbf{B}$.&nbsp;
 
+
[[File:EN_KC_A_4_7b_v2.png|right|frame|For syndrome decoding of the two-dimensional received matrix&nbsp; $\mathbf{B}$.]]
[[File:P_ID3009__KC_A_4_7b_v2.png|center|frame|For syndrome decoding of the two-dimensional receive matrix $\mathbf{B}$.]]
 
  
Despite only minor modifications compared to $\mathbf{A}$, there are now serious differences:
+
Despite only minor modifications compared to&nbsp; $\mathbf{A}$,&nbsp; there are now serious differences:
* Due to the first horizontal decoding, the "corrected" rows 2 and 4 now read equally: $(0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1)$, i.e., the last bit of these rows is miscorrected in each case.
 
* Vertical decoding results in identical columns 2, 4, and 6, namely $(0, \, 1, \, 0, \, 1, \, 0, \, 1)$. After that, there are three ones (or none) in each row and in each column.
 
* This constellation remains for arbitrary further (horizontal or vertical) decodings, because for $d_{\rm min} = 3$ always the syndrome $\underline{s}_0 = (0, \, 0, \, 0)$ results.
 
  
 +
* Due to the first horizontal decoding,&nbsp; the&nbsp; "corrected"&nbsp; rows 2 and 4 now read equally:&nbsp; $(0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1)$, i.e.,&nbsp; the last bit of these rows is miscorrected in each case.
  
The correct solution is <u>proposal 5</u>.
+
* Vertical decoding results in identical columns 2, 4, and 6:&nbsp;  $(0, \, 1, \, 0, \, 1, \, 0, \, 1)$.&nbsp; After that,&nbsp; there are three&nbsp; "ones"&nbsp; $($or none$)$&nbsp; in each row and in each column.
  
 +
* This constellation remains for arbitrary further (horizontal or vertical) decodings, because for $d_{\rm min} = 3$ always the syndrome $\underline{s}_0 = (0, \, 0, \, 0)$ results.
  
  
'''(3)'''&nbsp; Comparing the encoder&ndash; and receiver matrices (differences are marked in blue), one can create the error matrix by modulo 2 additions according to the following graph.
+
The correct solution is&nbsp; <u>proposal 5</u>.
 +
<br clear=all>
 +
[[File:EN_KC_A_4_7c_v3.png|right|frame|Matrix representation of encoder, receiver and error pattern]]
 +
'''(3)'''&nbsp; Comparing the encoded and received matrices&nbsp; $($differences are marked in blue$)$,&nbsp; one can create the error matrices by modulo-2 additions according to the following graph.
  
[[File:P_ID3010__KC_A_4_7c_v2.png|center|frame|Matrix representation of encoder, receiver and error pattern]]
 
  
The error matrix is equal to the receive matrix of $\mathbf{A}$ &nbsp;&#8658;&nbsp; again, <u>proposed solution 3</u> is correct.
+
The error matrix is equal to the received matrix of $\mathbf{A}$ &nbsp;&#8658;&nbsp; again, <u>proposed solution 3</u> is correct.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
 
[[Category:Channel Coding: Exercises|^4.2 About the Product Codes^]]
 
[[Category:Channel Coding: Exercises|^4.2 About the Product Codes^]]

Latest revision as of 17:29, 13 March 2023

Syndrome tables of the considered component codes  $\mathcal{C}_1$  and  $\mathcal{C}_2$

We consider as in the  $\text{Exercise 4.6}$  a product code based on

  • the Hamming code  $\rm HC \ (7, \ 4, \ 3)$   ⇒   $\mathcal{C}_1$,
  • the truncated Hamming code  $\rm HC \ (6, \ 3, \ 3)$   ⇒   $\mathcal{C}_2$.


The parity-check matrices of these component codes are:

$${ \boldsymbol{\rm H}}_1 = \begin{pmatrix} 1 &1 &0 &1 &1 &0 &0 \\ 0 &1 &1 &1 &0 &1 &0 \\ 1 &0 &1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm},\hspace{0.8cm} { \boldsymbol{\rm H}}_2 = \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}.$$

For the sake of completeness,  the generator matrices are also given,  but they are not needed to solve the exercise:

$${ \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}.$$

The  "Hard Decision Decoding"  of this code is preferably done iteratively,  by alternately  "syndrome decoding"  all rows and then all columns.  See section  "Iterative Syndrome Decoding of Product Codes".

Syndrome decoding of  (one-dimensional)  block codes has already been covered in the chapter  "Decoding of Linear Block Codes".  Here is a brief summary and an adaptation to the two-dimensional case:

  1. From the received word  $\underline{y}$  $($a row or a column of the given received matrix$)$, 
    the syndrome corresponding to   $\underline{s} = \underline{y} \cdot \mathbf{H}_1^{\rm T}$   resp.   $\underline{s} = \underline{y} \cdot \mathbf{H}_2^{\rm T}$   is formed.
  2. With the result   $\underline{s} = \underline{s}_{\mu}$   one can read in above tables the so called  "coset leader"  $\underline{e}_{\mu}$ .
  3. The corrected code word is then  $\underline{y} + \underline{e}_{\mu}$.
Predefined encoder and receiver matrices


The accompanying diagram shows three different encoded and received matrices to be analyzed in the subtasks  (1)(2),  and  (3):

  • We name them constellation  $\mathbf{A}$,  $\mathbf{B}$  and  $\mathbf{C}$.
  • Marked in yellow are the differences in the received matrices of constellation  $\mathbf{B}$  versus  $\mathbf{A}$.  In both cases,  the encoded matrix consists only of  "zeros".



Hints:



Questions

1

Is the two-dimensional received matrix  $\mathbf{A}$  decodable?

Yes,  after the first decoding in horizontal direction.
Yes,  after the first decoding in vertical direction.
Yes,  after the second decoding in horizontal direction.
Yes,  after the second decoding in vertical direction.
No.

2

Is the two-dimensional received matrix  $\mathbf{B}$  decodable?

Yes,  after the first decoding in horizontal direction.
Yes,  after the first decoding in vertical direction.
Yes,  after the second decoding in horizontal direction.
Yes,  after the second decoding in vertical direction.
No.

3

Is the two-dimensional received matrix  $\mathbf{C}$  decodable? 
Try to find the solution via an equivalence to subtask  (1)  resp.  (2).

Yes,  after the first decoding in horizontal direction.
Yes,  after the first decoding in vertical direction.
Yes,  after the second decoding in horizontal direction.
Yes,  after the second decoding in vertical direction.
No.


Solution

(1)  The decoding process of the received matrix  $\mathbf{A}$  is illustrated by the following diagram.

Syndrome decoding of the two-dimensional received matrix $\mathbf{A}$
  • The single errors in rows  1, 3, 5 and 6  are detected by  $(7, \ 4, \ 3)$  Hamming code and can be corrected
     ⇒  green markings in the graphic  "1st iteration horizontal".
  • For the second row results the syndrome
$$\underline{s} = \underline{y}_2 \hspace{-0.03cm}\cdot \hspace{-0.03cm}{ \boldsymbol{\rm H}}_1^{\rm T} = \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0, \hspace{0.03cm}1, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0 \right ) \cdot \hspace{-0.05cm} \begin{pmatrix} 1 &0 &1 \\ 1 &1 &0 \\ 0 &1 &1 \\ 1 &1 &1 \\ 1 &0 &0 \\ 0 &1 &0 \\ 0 &0 &1 \end{pmatrix} \hspace{-0.05cm}=$$
$$\Rightarrow \hspace{0.3cm} \underline{s} = \left ( 1, \hspace{0.03cm} 1, \hspace{0.03cm}0 \right ) + \left ( 1, \hspace{0.03cm} 1, \hspace{0.03cm}1 \right )= \left ( 0, \hspace{0.03cm} 0, \hspace{0.03cm}1 \right ) = \underline{s}_1 \hspace{0.03cm}.$$
  • According to the upper syndrome table on the information page,  the last bit is incorrectly  "corrected".  Incorrect corrections are entered in red in the upper graphic.
  • Correspondingly applies to the fourth row:
$$\underline{s} = \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}0, \hspace{0.03cm}1, \hspace{0.03cm}0 \right ) \cdot { \boldsymbol{\rm H}}_1^{\rm T} = \left ( 1, \hspace{0.03cm} 1, \hspace{0.03cm}0 \right ) + \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0 \right )= \left ( 1, \hspace{0.03cm} 0, \hspace{0.03cm}0 \right )= \underline{s}_4 \hspace{0.05cm}.$$
  • This causes a miscorrection of bit  5.
  • Vertical decoding of columns 1, 3, 4, 5, 6, and 7 is straightforward because there is at most one error per column, which can be corrected by the truncated Hamming code $\rm (6, \ 3, \ 3)$.
  • In column 2, however, there is a miscorrection of the last bit according to the lower syndrome table. With the transpose of the $\rm (6, \ 3, \ 3)$ parity-check matrix $\mathbf{H}_2$ results namely:
$$\underline{s}= \underline{y}_{2{\rm S}}\cdot { \boldsymbol{\rm H}}_2^{\rm T} = \left ( 0, \hspace{0.03cm} 1, \hspace{0.03cm}0, \hspace{0.03cm}1, \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 ( 1, \hspace{0.03cm} 0, \hspace{0.03cm}1 \right ) + \left ( 1, \hspace{0.03cm} 0, \hspace{0.03cm}0 \right )= \left ( 0, \hspace{0.03cm} 0, \hspace{0.03cm}1 \right ) = \underline{s}_1.$$
  • The second horizontal decoding is problem-free, since now at most one error occurs in each row  ⇒  Solution suggestion 3.


(2)  The following graphic shows the decoding process according to the specifications given by  $\mathbf{B}$. 

For syndrome decoding of the two-dimensional received matrix  $\mathbf{B}$.

Despite only minor modifications compared to  $\mathbf{A}$,  there are now serious differences:

  • Due to the first horizontal decoding,  the  "corrected"  rows 2 and 4 now read equally:  $(0, \, 1, \, 0, \, 1, \, 0, \, 0, \, 1)$, i.e.,  the last bit of these rows is miscorrected in each case.
  • Vertical decoding results in identical columns 2, 4, and 6:  $(0, \, 1, \, 0, \, 1, \, 0, \, 1)$.  After that,  there are three  "ones"  $($or none$)$  in each row and in each column.
  • This constellation remains for arbitrary further (horizontal or vertical) decodings, because for $d_{\rm min} = 3$ always the syndrome $\underline{s}_0 = (0, \, 0, \, 0)$ results.


The correct solution is  proposal 5.

Matrix representation of encoder, receiver and error pattern

(3)  Comparing the encoded and received matrices  $($differences are marked in blue$)$,  one can create the error matrices by modulo-2 additions according to the following graph.


The error matrix is equal to the received matrix of $\mathbf{A}$  ⇒  again, proposed solution 3 is correct.