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

From LNTwww
 
(2 intermediate revisions by the same user 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_ID3003__KC_A_4_6_v2.png|right|frame|Used component codes]]
+
[[File:EN_KC_A_4_6.png|right|frame|Used component codes]]
A  $\rm product\:code \ (42, \ 12)$  shall be generated, based on the following 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 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$.
  
The 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 the  [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|"Exercise 4.6Z"]]  following generator matrices are assumed here:
+
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  [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|$\text{Exercise 4.6Z}$]],  the following generator matrices are assumed here:
 
:$${ \boldsymbol{\rm G}}_1  
 
:$${ \boldsymbol{\rm G}}_1  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Line 23: Line 27:
 
\end{pmatrix} \hspace{0.05cm}.$$
 
\end{pmatrix} \hspace{0.05cm}.$$
  
Throughout the exercise, apply to the information block:
+
Throughout the exercise,  apply to the information block:
 
:$${ \boldsymbol{\rm U}}  
 
:$${ \boldsymbol{\rm U}}  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Line 32: Line 36:
  
 
Searched for according to the nomenclature in section  [[Channel_Coding/The_Basics_of_Product_Codes#Basic_structure_of_a_product_code|"Basic structure of a product code"]]:
 
Searched for according to the nomenclature in section  [[Channel_Coding/The_Basics_of_Product_Codes#Basic_structure_of_a_product_code|"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}^{(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 parity-check matrix  $\mathbf{P}^{(2)}$  with respect to the vertical code  $\mathcal{C}_2$,
 +
 
* the checks–on–checks matrix  $\mathbf{P}^{(12)}$.  
 
* the checks–on–checks matrix  $\mathbf{P}^{(12)}$.  
  
Line 40: Line 46:
  
  
 +
<u>Hints:</u>
 +
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes|"Basics of Product Code"]].
  
 +
*Reference is also  made to the section&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes#Basic_structure_of_a_product_code|"Basic structure of a product code"]].
  
 
+
*The two component codes are also covered in the&nbsp; [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|$\text{Exercise 4.6Z}$]]&nbsp;.
Hints:
 
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes|"Basic structure of a product code"]].
 
*Reference is made in particular to the section&nbsp; [[Channel_Coding/The_Basics_of_Product_Codes#Basic_structure_of_a_product_code|"Basic structure of a product code"]].
 
*The two component codes are also covered in the&nbsp; [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|"Exercise 4.6Z"]]&nbsp;.
 
  
  
Line 62: Line 67:
 
{What are the results of column coding with the&nbsp; $(6, \ 3, \ 3)$ code&nbsp; $\mathcal{C}_2$?
 
{What are the results of column coding with the&nbsp; $(6, \ 3, \ 3)$ code&nbsp; $\mathcal{C}_2$?
 
|type="[]"}
 
|type="[]"}
+ 1. row: &nbsp; $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.
+
+ 1. column: &nbsp; $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.
+ 2. row: &nbsp; $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 0, \, 1, \, 1, \, 0, \, 1)$.
+
+ 2. column: &nbsp; $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 0, \, 1, \, 1, \, 0, \, 1)$.
- 3. row: &nbsp; $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 0, \, 0, \, 1, \, 1)$.
+
- 3. column: &nbsp; $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 0, \, 0, \, 1, \, 1)$.
+ 4. row: &nbsp; $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 0, \, 0, \,0, \, 0)$.
+
+ 4. column: &nbsp; $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 0, \, 0, \,0, \, 0)$.
  
 
{What statements apply to the checks&ndash;on&ndash;checks matrix?
 
{What statements apply to the checks&ndash;on&ndash;checks matrix?
 
|type="[]"}
 
|type="[]"}
+ The first row is&nbsp; $(1, \, 0, \, 1)$&nbsp; and the first column&nbsp; $(1, \, 1, \, 0)$.
+
+ The first row is&nbsp; $(1, \, 0, \, 1)$&nbsp; and the first column is&nbsp; $(1, \, 1, \, 0)$.
+ The second row is&nbsp; $(1, \, 0, \, 1)$&nbsp; and the second column&nbsp; $(0, \, 0, \, 0)$.
+
+ The second row is&nbsp; $(1, \, 0, \, 1)$&nbsp; and the second column is&nbsp; $(0, \, 0, \, 0)$.
- The third row is&nbsp; $(0, \, 0, \, 0)$&nbsp; and the third column&nbsp; $(0, \, 0, \, 0)$.
+
- The third row is&nbsp; $(0, \, 0, \, 0)$&nbsp; and the third column is&nbsp; $(0, \, 0, \, 0)$.
 
</quiz>
 
</quiz>
  
 
===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 93: 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 107: 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 122: 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 147: 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]]
 +
'''(3)'''&nbsp; Given on the right are the complete code tables
  
[[File:P_ID3005__KC_A_4_6c_v1.png|right|frame|Complete code tables]]
+
* of the Hamming code $(7, \ 4, \ 3)$,&nbsp; and
'''(3)'''&nbsp; The complete code tables
+
 +
* of the truncated Hamming code $(6, \ 3, \ 3)$.
  
* of the Hamming code $(7, \ 4, \ 3)$, and
 
* of the truncated Hamming code $(6, \ 3, \ 3)$ are given on the right.
 
  
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 18: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$.