Difference between revisions of "Aufgaben:Exercise 4.6: Product Code Generation"

From LNTwww
 
Line 46: Line 46:
  
  
 
+
<u>Hints:</u>
 
 
 
 
Hints:  
 
 
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes|"Basics of Product Code"]].
 
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes|"Basics of Product Code"]].
  
Line 84: Line 81:
 
===Solution===
 
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Correct are the <u>proposed solutions 1 and 3</u>:
+
'''(1)'''&nbsp; Correct are the&nbsp; <u>proposed solutions 1 and 3</u>:&nbsp; In general:&nbsp;
 
+
:$$\underline{x} = \underline{u} \cdot \mathbf{G}.$$
In general $\underline{x} = \underline{u} \cdot \mathbf{G}$. From this follows for
+
From this follows for
* the first row vector:
+
:* the first row vector:
 
:$$\begin{pmatrix}
 
:$$\begin{pmatrix}
 
0 &1 &1 &0   
 
0 &1 &1 &0   
Line 101: Line 98:
 
\end{pmatrix} \hspace{0.05cm},$$
 
\end{pmatrix} \hspace{0.05cm},$$
  
* the second row vector:
+
:* the second row vector:
 
:$$\begin{pmatrix}
 
:$$\begin{pmatrix}
 
0 &0 &0 &0   
 
0 &0 &0 &0   
Line 115: Line 112:
 
\end{pmatrix} \hspace{0.05cm},$$
 
\end{pmatrix} \hspace{0.05cm},$$
  
* the third row vector:
+
:* the third row vector:
 
:$$\begin{pmatrix}
 
:$$\begin{pmatrix}
 
1 &1 &1 &0   
 
1 &1 &1 &0   
Line 130: Line 127:
  
  
'''(2)'''&nbsp; Correct are the <u>proposed solutions 1, 2 and 4</u>:
+
'''(2)'''&nbsp; Correct are the&nbsp; <u>proposed solutions 1, 2 and 4</u>:
 
:$$\begin{pmatrix}
 
:$$\begin{pmatrix}
 
0 &0 &1   
 
0 &0 &1   
Line 155: Line 152:
  
 
To this subtask is to be noted further:
 
To this subtask is to be noted further:
* The given first column is correct if only because it coincides with a row (the third) of the generator matrix $\mathbf{G}_2$.
+
# The given first column is correct if only because it coincides with a row&nbsp; $($the third$)$&nbsp; of the generator matrix $\mathbf{G}_2$.
* The third column of the 2D code word should be identical to the second column, since the same code word $(1, \, 0, \, 1)$ is assumed.
+
# The third column of the two-dimensional code word should be identical to the second column,&nbsp; since the same code word&nbsp; $(1, \, 0, \, 1)$&nbsp; is assumed.
* However, the given vector $(1, \, 1, \, 0, \, 0, \, 1, \, 1)$ cannot be correct if only because $\mathcal{C}_2$ is a systematic code just like $\mathcal{C}_1$.
+
# However,&nbsp; the given vector&nbsp; $(1, \, 1, \, 0, \, 0, \, 1, \, 1)$&nbsp; cannot be correct if only because&nbsp; $\mathcal{C}_2$&nbsp; is a systematic code just like&nbsp; $\mathcal{C}_1$.
* Also the truncated $(6, \ 3, \ 3)$&ndash;Hamming code $C_2$ is linear, so that the assignment $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \ \underline{x} = (0, \, 0, \, 0, \, 0)$ can be stated without calculation.
+
# Also the truncated&nbsp; $(6, \ 3, \ 3)$&nbsp; Hamming code $C_2$&nbsp; is linear,&nbsp; so that the assignment&nbsp; $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \ \underline{x} = (0, \, 0, \, 0, \, 0)$&nbsp; can be stated without calculation.
  
  
 
  [[File:EN_KC_A_4_6_c.png|right|frame|Complete code tables]]  
 
  [[File:EN_KC_A_4_6_c.png|right|frame|Complete code tables]]  
'''(3)'''&nbsp; The complete code tables  
+
'''(3)'''&nbsp; Given on the right are the complete code tables  
  
* of the Hamming code $(7, \ 4, \ 3)$, and  
+
* of the Hamming code $(7, \ 4, \ 3)$,&nbsp; and
* of the truncated Hamming code $(6, \ 3, \ 3)$ are given on the right.
+
 +
* of the truncated Hamming code $(6, \ 3, \ 3)$.  
  
One can see from this (without it being of interest for this exercise) that the codes considered here each have Hamming distance $d_{\rm min} = 3$.
+
 
 +
One can see from this&nbsp; $($without it being of interest for this exercise$)$&nbsp; that the codes considered here each have Hamming distance&nbsp; $d_{\rm min} = 3$.
  
 
[[File:P_ID3012__KC_A_4_6d_v3.png|left|frame|Wanted product code]]
 
[[File:P_ID3012__KC_A_4_6d_v3.png|left|frame|Wanted product code]]
<br><br>The left graph shows the result of the whole coding. At the bottom right you can see the checks&ndash;on&ndash;checks matrix of dimension $3 &times 3$.
+
<br><br>
 +
*The left graph shows the result of the whole coding.  
 +
 
 +
*At the bottom right you can see the checks&ndash;on&ndash;checks matrix of dimension&nbsp; $3 &times 3$.
 
<br clear=all>
 
<br clear=all>
Concerning the subtask (3) the <u>suggested solutions 1 and 2</u> are correct:
+
Concerning the subtask&nbsp; '''(3)'''&nbsp; the&nbsp; <u>suggested solutions 1 and 2</u>&nbsp; are correct:
 
*It is a coincidence that here in the checks&ndash;on&ndash;checks matrix two rows and two columns are identical.
 
*It is a coincidence that here in the checks&ndash;on&ndash;checks matrix two rows and two columns are identical.
*It doesn't matter whether rows 4 to 6 of the total matrix are obtained using the code $\mathcal{C}_1$ or columns 5 to 7 are obtained using the code $\mathcal{C}_2$.
+
 
 +
*It doesn't matter whether rows 4 to 6 of the total matrix are obtained using the code&nbsp; $\mathcal{C}_1$&nbsp; or columns 5 to 7 are obtained using the code&nbsp; $\mathcal{C}_2$.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Latest revision as of 17:09, 6 December 2022

Used component codes

A  $\rm product\:code \ (42, \ 12)$  shall be generated,  based on the following component codes:

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


Corresponding code tables are given on the right,  with three rows incomplete in each case.  These are to be completed by you.

The code word belonging to an information block  $\underline{u}$  generally results according to the equation 

$$\underline{x} = \underline{u} \cdot \mathbf{G}.$$

As in  $\text{Exercise 4.6Z}$,  the following generator matrices are assumed here:

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

Throughout the exercise,  apply to the information block:

$${ \boldsymbol{\rm U}} = \begin{pmatrix} 0 &1 &1 &0 \\ 0 &0 &0 &0 \\ 1 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$

Searched for according to the nomenclature in section  "Basic structure of a product code":

  • the parity-check matrix   $\mathbf{P}^{(1)}$   with respect to the horizontal code  $\mathcal{C}_1$,
  • the parity-check matrix  $\mathbf{P}^{(2)}$  with respect to the vertical code  $\mathcal{C}_2$,
  • the checks–on–checks matrix  $\mathbf{P}^{(12)}$.



Hints:



Questions

1

What are the results of row coding with the  $(7, \ 4, \ 3)$ code  $\mathcal{C}_1$?

1. row:   $\underline{u} = (0, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 1)$.
2. row:   $\underline{u} = (0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 1, \, 1, \, 1, \, 1)$.
3. row:   $\underline{u} = (1, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 0, \, 0, \, 0, \, 0)$.

2

What are the results of column coding with the  $(6, \ 3, \ 3)$ code  $\mathcal{C}_2$?

1. column:   $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.
2. column:   $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 0, \, 1, \, 1, \, 0, \, 1)$.
3. column:   $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 0, \, 0, \, 1, \, 1)$.
4. column:   $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 0, \, 0, \,0, \, 0)$.

3

What statements apply to the checks–on–checks matrix?

The first row is  $(1, \, 0, \, 1)$  and the first column is  $(1, \, 1, \, 0)$.
The second row is  $(1, \, 0, \, 1)$  and the second column is  $(0, \, 0, \, 0)$.
The third row is  $(0, \, 0, \, 0)$  and the third column is  $(0, \, 0, \, 0)$.


Solution

(1)  Correct are the  proposed solutions 1 and 3:  In general: 

$$\underline{x} = \underline{u} \cdot \mathbf{G}.$$

From this follows for

  • the first row vector:
$$\begin{pmatrix} 0 &1 &1 &0 \end{pmatrix} \cdot \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} =\begin{pmatrix} 0 &1 &1 &0 &1 &0 &1 \end{pmatrix} \hspace{0.05cm},$$
  • the second row vector:
$$\begin{pmatrix} 0 &0 &0 &0 \end{pmatrix} \cdot \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} =\begin{pmatrix} 0 &0 &0 &0 &0 &0 &0 \end{pmatrix} \hspace{0.05cm},$$
  • the third row vector:
$$\begin{pmatrix} 1 &1 &1 &0 \end{pmatrix} \cdot \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} =\begin{pmatrix} 1 &1 &1 &0 &0 &0 &0 \end{pmatrix} \hspace{0.05cm}.$$


(2)  Correct are the  proposed solutions 1, 2 and 4:

$$\begin{pmatrix} 0 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} 1 &0 &0 &1 &1 &0 \\ 0 &1 &0 &1 &0 &1 \\ 0 &0 &1 &0 &1 &1 \end{pmatrix} =\begin{pmatrix} 0 &0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
$$\begin{pmatrix} 1 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} 1 &0 &0 &1 &1 &0 \\ 0 &1 &0 &1 &0 &1 \\ 0 &0 &1 &0 &1 &1 \end{pmatrix} =\begin{pmatrix} 1 &0 &1 &1 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$

To this subtask is to be noted further:

  1. The given first column is correct if only because it coincides with a row  $($the third$)$  of the generator matrix $\mathbf{G}_2$.
  2. The third column of the two-dimensional code word should be identical to the second column,  since the same code word  $(1, \, 0, \, 1)$  is assumed.
  3. However,  the given vector  $(1, \, 1, \, 0, \, 0, \, 1, \, 1)$  cannot be correct if only because  $\mathcal{C}_2$  is a systematic code just like  $\mathcal{C}_1$.
  4. Also the truncated  $(6, \ 3, \ 3)$  Hamming code $C_2$  is linear,  so that the assignment  $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \ \underline{x} = (0, \, 0, \, 0, \, 0)$  can be stated without calculation.


Complete code tables

(3)  Given on the right are the complete code tables

  • of the Hamming code $(7, \ 4, \ 3)$,  and
  • of the truncated Hamming code $(6, \ 3, \ 3)$.


One can see from this  $($without it being of interest for this exercise$)$  that the codes considered here each have Hamming distance  $d_{\rm min} = 3$.

Wanted product code



  • The left graph shows the result of the whole coding.
  • At the bottom right you can see the checks–on–checks matrix of dimension  $3 × 3$.


Concerning the subtask  (3)  the  suggested solutions 1 and 2  are correct:

  • It is a coincidence that here in the checks–on–checks matrix two rows and two columns are identical.
  • It doesn't matter whether rows 4 to 6 of the total matrix are obtained using the code  $\mathcal{C}_1$  or columns 5 to 7 are obtained using the code  $\mathcal{C}_2$.