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

From LNTwww
m (Text replacement - "Category:Aufgaben zu Kanalcodierung" to "Category:Channel Coding: Exercises")
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Grundlegendes zu den Produktcodes}}
+
{{quiz-Header|Buchseite=Channel_Coding/The_Basics_of_Product_Codes}}
  
[[File:P_ID3003__KC_A_4_6_v2.png|right|frame|Verwendete Komponentencodes]]
+
[[File:P_ID3003__KC_A_4_6_v2.png|right|frame|Used component codes]]
Es soll ein  $\rm Produktcode \ (42, \ 12)$  generiert werden, der auf folgenden Komponentencodes aufbaut:
+
A  $\rm product code \ (42, \ 12)$  shall be generated, based on the following component codes:
* dem Hammingcode  $\rm HC \ (7, \ 4, \ 3)$   ⇒   $\mathcal{C}_1$,
+
* the Hamming code  $\rm HC \ (7, \ 4, \ 3)$  ⇒   $\mathcal{C}_1$,
* dem verkürzten Hammingcode $\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.
  
Die entsprechenden Codetabellen sind rechts angegeben, wobei jeweils drei Zeilen unvollständig sind. Diese sollen von Ihnen ergänzt werden.
+
The codeword 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|"Aufgabe 4.6Z"]]  following generator matrices are assumed here:
 
 
Das zu einem Informationsblock  $\underline{u}$  gehörige Codewort ergibt sich allgemein entsprechend der Gleichung  $\underline{x} = \underline{u} \cdot \mathbf{G}$. Wie auch in der  [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|Aufgabe 4.6Z]]  wird hier von folgenden Generatormatrizen ausgegangen:
 
 
:$${ \boldsymbol{\rm G}}_1  
 
:$${ \boldsymbol{\rm G}}_1  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Line 24: Line 23:
 
\end{pmatrix} \hspace{0.05cm}.$$
 
\end{pmatrix} \hspace{0.05cm}.$$
  
In der gesamten Aufgabe gelte für den Informationsblock:
+
Throughout the exercise, apply to the information block:
 
:$${ \boldsymbol{\rm U}}  
 
:$${ \boldsymbol{\rm U}}  
 
=  \begin{pmatrix}
 
=  \begin{pmatrix}
Line 32: Line 31:
 
\end{pmatrix} \hspace{0.05cm}.$$
 
\end{pmatrix} \hspace{0.05cm}.$$
  
Gesucht sind entsprechend der Nomenklatur auf der Seite  [[Channel_Coding/Grundlegendes_zu_den_Produktcodes#Grundstruktur_eines_Produktcodes|Grundstruktur eines Produktcodes]]:
+
Searched for according to the nomenclature on page  [[Channel_Coding/The_Basics_of_Product_Codes#Basic_structure_of_a_product_code|"Basic structure of a product code"]]:
* die Parity–Matrix  $\mathbf{P}^{(1)}$  bezüglich des horizontalen Codes  $\mathcal{C}_1$,
+
* the parity matrix  $\mathbf{P}^{(1)}$  with respect to the horizontal code  $\mathcal{C}_1$,
* die Parity–Matrix  $\mathbf{P}^{(2)}$  bezüglich des vertikalen Codes  $\mathcal{C}_2$,
+
* the parity matrix  $\mathbf{P}^{(2)}$  with respect to the vertical code  $\mathcal{C}_2$,
* die Checks–on–Checks–Matrix  $\mathbf{P}^{(12)}$.  
+
* the checks–on–checks matrix  $\mathbf{P}^{(12)}$.  
  
  
Line 44: Line 43:
  
  
''Hinweise:''
+
Hints:  
* Die Aufgabe gehört zum Kapitel  [[Channel_Coding/Grundlegendes_zu_den_Produktcodes| Grundlegendes zu den Produktcode]].
+
*This exercise belongs to the chapter  [[Channel_Coding/The_Basics_of_Product_Codes|"Basic structure of a product code"]].
*Bezug genommen wird insbesondere auf die Seite  [[Channel_Coding/Grundlegendes_zu_den_Produktcodes#Grundstruktur_eines_Produktcodes|Grundstruktur eines Produktcodes]].
+
*Reference is made in particular to the page  [[Channel_Coding/The_Basics_of_Product_Codes#Basic_structure_of_a_product_code|"Basic structure of a product code"]].
*Die beiden Komponentencodes werden auch in der  [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|Aufgabe 4.6Z]]  behandelt.
+
*The two component codes are also covered in the  [[Aufgaben:Aufgabe_4.6Z:_Grundlagen_der_Produktcodes|Aufgabe 4.6Z]] .
  
  
Line 53: Line 52:
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Welche Ergebnisse liefert die Zeilencodierung mit dem&nbsp; $(7, \ 4, \ 3)$&ndash;Code&nbsp; $\mathcal{C}_1$?
+
{What are the results of row coding with the&nbsp; $(7, \ 4, \ 3)$ code&nbsp; $\mathcal{C}_1$?
 
|type="[]"}
 
|type="[]"}
+ 1. Zeile: &nbsp; $\underline{u} = (0, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 1)$.
+
+ 1. row: &nbsp; $\underline{u} = (0, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 1, \, 1, \, 0, \, 1, \, 0, \, 1)$.
- 2. Zeile: &nbsp; $\underline{u} = (0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 1, \, 1, \, 1, \, 1)$.
+
- 2. row: &nbsp; $\underline{u} = (0, \, 0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 1, \, 1, \, 1, \, 1)$.
+ 3. Zeile: &nbsp; $\underline{u} = (1, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 0, \, 0, \, 0, \, 0)$.
+
+ 3. row: &nbsp; $\underline{u} = (1, \, 1, \, 1, \, 0) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 1, \, 0, \, 0, \, 0, \, 0)$.
  
{Welche Ergebnisse liefert die Spaltencodierung mit dem&nbsp; $(6, \ 3, \ 3)$&ndash;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. Zeile: &nbsp; $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.
+
+ 1. row: &nbsp; $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.
+ 2. Zeile: &nbsp; $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 0, \, 1, \, 1, \, 0, \, 1)$.
+
+ 2. row: &nbsp; $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 0, \, 1, \, 1, \, 0, \, 1)$.
- 3. Zeile: &nbsp; $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 0, \, 0, \, 1, \, 1)$.
+
- 3. row: &nbsp; $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 0, \, 0, \, 1, \, 1)$.
+ 4. Zeile: &nbsp; $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 0, \, 0, \,0, \, 0)$.
+
+ 4. row: &nbsp; $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 0, \, 0, \,0, \, 0)$.
  
{Welche Aussagen gelten für die Checks&ndash;on&ndash;Checks&ndash;Matrix?
+
{What statements apply to the checks&ndash;on&ndash;checks matrix?
 
|type="[]"}
 
|type="[]"}
+ Die erste Zeile lautet&nbsp; $(1, \, 0, \, 1)$&nbsp; und die erste Spalte&nbsp; $(1, \, 1, \, 0)$.
+
+ The first row is&nbsp; $(1, \, 0, \, 1)$&nbsp; and the first column&nbsp; $(1, \, 1, \, 0)$.
+ Die zweite Zeile lautet&nbsp; $(1, \, 0, \, 1)$&nbsp; und die zweite Spalte&nbsp; $(0, \, 0, \, 0)$.
+
+ The second row is&nbsp; $(1, \, 0, \, 1)$&nbsp; and the second column&nbsp; $(0, \, 0, \, 0)$.
- Die dritte Zeile lautet&nbsp; $(0, \, 0, \, 0)$&nbsp; und die dritte Spalte&nbsp; $(0, \, 0, \, 0)$.
+
- The third row is&nbsp; $(0, \, 0, \, 0)$&nbsp; and the third column&nbsp; $(0, \, 0, \, 0)$.
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 3</u>:
+
'''(1)'''&nbsp; Correct are the <u>proposed solutions 1 and 3</u>:
  
Allgemein gilt $\underline{x} = \underline{u} \cdot \mathbf{G}$. Daraus folgt für
+
In general $\underline{x} = \underline{u} \cdot \mathbf{G}$. From this follows for
* den ersten Zeilenvektor:
+
* the first row vector:
 
:$$\begin{pmatrix}
 
:$$\begin{pmatrix}
 
0 &1 &1 &0   
 
0 &1 &1 &0   
Line 94: Line 93:
 
\end{pmatrix} \hspace{0.05cm},$$
 
\end{pmatrix} \hspace{0.05cm},$$
  
* den zweiten Zeilenvektor:
+
* the second row vector:
 
:$$\begin{pmatrix}
 
:$$\begin{pmatrix}
 
0 &0 &0 &0   
 
0 &0 &0 &0   
Line 108: Line 107:
 
\end{pmatrix} \hspace{0.05cm},$$
 
\end{pmatrix} \hspace{0.05cm},$$
  
* den dritten Zeilenvektor
+
* the third row vector:
 
:$$\begin{pmatrix}
 
:$$\begin{pmatrix}
 
1 &1 &1 &0   
 
1 &1 &1 &0   
Line 123: Line 122:
  
  
'''(2)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1, 2 und 4</u>:
+
'''(2)'''&nbsp; Correct are the <u>proposed solutions 1, 2 and 4</u>:
 
:$$\begin{pmatrix}
 
:$$\begin{pmatrix}
 
0 &0 &1   
 
0 &0 &1   
Line 147: Line 146:
 
\end{pmatrix} \hspace{0.05cm}.$$
 
\end{pmatrix} \hspace{0.05cm}.$$
  
Zu dieser Teilaufgabe ist weiter anzumerken:
+
To this subtask is to be noted further:
* Die angegebene erste Spalte ist schon allein deshalb richtig, weil sie mit einer Zeile (der dritten) der Generatormatrix $\mathbf{G}_2$ übereinstimmt.
+
* The given first column is correct if only because it coincides with a row (the third) of the generator matrix $\mathbf{G}_2$.
* Die dritte Spalte des 2D&ndash;Codewortes müsste mit der zweiten Spalte identisch sein, da vom gleichen Codewort $(1, \, 0, \, 1)$ ausgegangen wird.
+
* The third column of the 2D codeword should be identical to the second column, since the same codeword $(1, \, 0, \, 1)$ is assumed.
* Der angegebene Vektor $(1, \, 1, \, 0, \, 0, \, 1, \, 1)$ kann aber schon allein deshalb nicht richtig sein, da $\mathcal{C}_2$ ebenso wie $\mathcal{C}_1$ ein systematischer Code ist.
+
* 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$.
* Auch der verkürzte $(6, \ 3, \ 3)$&ndash;Hammingcode $C_2$ ist linear, so dass die Zuordnung $\underline{u} = (0, \, 0, \, 0) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 0, \, 0, \, 0, \, 0)$ auch ohne Rechnung angebbar ist.
+
* 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.
 
 
  
[[File:P_ID3005__KC_A_4_6c_v1.png|right|frame|Vollständige Codetabellen]]
 
'''(3)'''&nbsp; Rechts angegeben sind die vollständigen Codetabellen
 
  
* des Hammingcodes $(7, \ 4, \ 3)$, und
+
[[File:P_ID3005__KC_A_4_6c_v1.png|right|frame|Complete code tables]]
* des verkürzten Hammingcodes $(6, \ 3, \ 3)$.
+
'''(3)'''&nbsp; The complete code tables
  
 +
* of the Hamming code $(7, \ 4, \ 3)$, and
 +
* of the shortened Hamming code $(6, \ 3, \ 3)$ are given on the right.
  
Man erkennt daraus (ohne dass das für diese Aufgabe von Interesse ist), dass die hier betrachteten Codes jeweils die Hamming&ndash;Distanz $d_{\rm min} = 3$ aufweisen.
+
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$.
  
[[File:P_ID3012__KC_A_4_6d_v3.png|left|frame|Gesuchter Produktcode]]
+
[[File:P_ID3012__KC_A_4_6d_v3.png|left|frame|Wanted product code]]
<br><br>Die linke Grafik zeigt das Ergebnis der gesamten Codierung. Unten rechts erkennt man die Checks&ndash;on&ndash;Checks&ndash;Matrix der 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 $3 &times 3$.
 
<br clear=all>
 
<br clear=all>
Bezüglich der Teilaufgabe (3) sind die <u>Lösungsvorschläge 1 und 2</u> richtig:
+
Concerning the subtask (3) the <u>suggested solutions 1 and 2</u> are correct:
* Es ist Zufall, dass hier in der Checks&ndash;on&ndash;Checks&ndash;Matrix zwei Zeilen und zwei Spalten identisch sind.
+
*It is a coincidence that here in the checks&ndash;on&ndash;checks matrix two rows and two columns are identical.
*Es ist egal, ob man die Zeilen 4 bis 6 der Gesamtmatrix über den Code $\mathcal{C}_1$ gewinnt oder die Spalten 5 bis 7 über den Code $\mathcal{C}_2$.
+
*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$.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Revision as of 15:50, 31 October 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$.

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

The codeword belonging to an information block  $\underline{u}$  generally results according to the equation  $\underline{x} = \underline{u} \cdot \mathbf{G}$. As in the  "Aufgabe 4.6Z"  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 on page  "Basic structure of a product code":

  • the parity matrix  $\mathbf{P}^{(1)}$  with respect to the horizontal code  $\mathcal{C}_1$,
  • the parity 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. row:   $\underline{u} = (0, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (0, \, 0, \, 1, \, 0, \, 1, \, 1)$.
2. row:   $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 0, \, 1, \, 1, \, 0, \, 1)$.
3. row:   $\underline{u} = (1, \, 0, \, 1) \ \Rightarrow \ \underline{x} = (1, \, 1, \, 0, \, 0, \, 1, \, 1)$.
4. row:   $\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  $(1, \, 1, \, 0)$.
The second row is  $(1, \, 0, \, 1)$  and the second column  $(0, \, 0, \, 0)$.
The third row is  $(0, \, 0, \, 0)$  and the third column  $(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:

  • The given first column is correct if only because it coincides with a row (the third) of the generator matrix $\mathbf{G}_2$.
  • The third column of the 2D codeword should be identical to the second column, since the same codeword $(1, \, 0, \, 1)$ 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$.
  • 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)  The complete code tables

  • of the Hamming code $(7, \ 4, \ 3)$, and
  • of the shortened 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$.

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$.