Difference between revisions of "Aufgaben:Exercise 1.10: Some Generator Matrices"

From LNTwww
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Allgemeine Beschreibung linearer Blockcodes
+
{{quiz-Header|Buchseite=Channel_Coding/General_Description_of_Linear_Block_Codes
 
}}
 
}}
  
[[File:P_ID2404__KC_A_1_10.png|right|frame|Betrachtete Generatormatrizen]]
+
[[File:P_ID2404__KC_A_1_10.png|right|frame|Considered generator matrices]]
  
Wir betrachten nun verschiedene Binärcodes einheitlicher Länge  $n$. Alle Codes der Form
+
We now consider various binary codes of uniform length  $n$. All codes of the form
 
:$$\underline{x} \hspace{-0.15cm}\ = \ \hspace{-0.15cm} ( x_1, x_2, \ \text{...} \  \hspace{0.05cm}, x_n) \hspace{0.5cm}\text{mit}
 
:$$\underline{x} \hspace{-0.15cm}\ = \ \hspace{-0.15cm} ( x_1, x_2, \ \text{...} \  \hspace{0.05cm}, x_n) \hspace{0.5cm}\text{mit}
 
\hspace{0.5cm} x_i \hspace{-0.15cm}\ \in \ \hspace{-0.15cm} \{ 0, 1 \},\hspace{0.2cm} i = 1, \hspace{0.05cm} \text{...} \ \hspace{0.05cm}, n$$
 
\hspace{0.5cm} x_i \hspace{-0.15cm}\ \in \ \hspace{-0.15cm} \{ 0, 1 \},\hspace{0.2cm} i = 1, \hspace{0.05cm} \text{...} \ \hspace{0.05cm}, n$$
  
lassen sich in einem  $n$–dimensionalen Vektorraum darstellen und interpretieren   ⇒   ${\rm GF}(2^n)$.
+
can be represented and interpreted in an $n$-dimensional vector space.   ⇒   ${\rm GF}(2^n)$.
  
Durch eine  $k×n$–Generatormatrix  $\mathbf{G}$  (also eine Matrix mit  $k$  Zeilen und  $n$  Spalten) ergibt sich ein  $(n, \, k)$–Code, allerdings nur dann, wenn der Rang (englisch:   ''Rank'') der Matrix  $\mathbf{G}$  ebenfalls gleich  $k$  ist. Weiter gilt:
+
A  $k×n$ generator matrix  $\mathbf{G}$  (i.e. a matrix with  $k$  rows and  $n$  columns) yields a  $(n, \, k)$ code, but only if the rank of the matrix  $\mathbf{G}$  is also equal  $k$ . Further holds:
  
*Jeder Code  $\mathcal{C}$  spannt einen  $k$–dimensionalen linearen Untervektorraum des Galoisfelds  ${\rm GF}(2^n)$  auf.
+
*Each code  $\mathcal{C}$  spans a  $k$-dimensional linear subspace of the Galois field  ${\rm GF}(2^n)$ .
  
*Als Basisvektoren dieses Untervektorraums können  $k$  unabhängige Codeworte von  $\mathcal{C}$  verwendet werden. Eine weitere Einschränkung gibt es für die Basisvektoren nicht.
+
*As basis vectors of this subspace,  $k$  independent codewords of  $\mathcal{C}$  can be used. There is no further restriction for the basis vectors.
  
*Die Prüfmatrix  $\mathbf{H}$  spannt ebenfalls einen Untervektorraum von  ${\rm GF}(2^n)$  auf. Dieser hat aber die Dimension  $m = n - k$  und ist orthogonal zum Untervektorraum, der auf  $\mathbf{G}$  basiert.
+
*The parity-check matrix  $\mathbf{H}$  also spans a subspace of  ${\rm GF}(2^n)$  . But this has dimension  $m = n - k$  and is orthogonal to the subspace based on  $\mathbf{G}$ .
  
*Bei einem linearen Code gilt  $\underline{x} = \underline{u} · \boldsymbol{ {\rm G}}$, wobei  $\underline{u} = (u_{1}, \, u_{2}, \, \text{...} \, , \, u_{k})$  das Informationswort angibt. Ein systematischer Code liegt vor, wenn  $x_{1} = u_{1}, \, \text{...} \, , \, x_{k} = u_{k}$  gilt.
+
*For a linear code,  $\underline{x} = \underline{u} - \boldsymbol{ {\rm G}}$, where  $\underline{u} = (u_{1}, \, u_{2}, \, \text{...} \, , \, u_{k})$  indicates the information word. A systematic code exists if  $x_{1} = u_{1}, \, \text{...} \, , \, x_{k} = u_{k}$  holds.
  
*Bei einem systematischen Code besteht ein einfacher Zusammenhang zwischen  $\mathbf{G}$  und  $\mathbf{H}$. Nähere Angaben hierzu finden Sie im  [[Channel_Coding/Allgemeine_Beschreibung_linearer_Blockcodes#Systematische_Codes|Theorieteil]].
 
  
 +
*In a systematic code, there is a simple relationship between  $\mathbf{G}$  and  $\mathbf{H}$. For more details, see the  [[Channel_Coding/General_Description_of_Linear_Block_Codes#Systematic_Codes|theory section]].
  
  
Line 27: Line 27:
  
  
''Hinweise'' :
 
  
*Die Aufgabe gehört zum Kapitel  [[Channel_Coding/Allgemeine_Beschreibung_linearer_Blockcodes|Allgemeine Beschreibung linearer Blockcodes]].
+
Hints :
* Für die gesamte Aufgabe gilt  $n = 6$.  
+
 
*In der Teilaufgabe '''(4)''' soll geklärt werden, welche der Matrizen  $\boldsymbol{ {\rm G}}_{\rm A}, \ \boldsymbol{ {\rm G}}_{\rm B}$ bzw. $ \boldsymbol{ {\rm G}}_{\rm C}$  zu einem $(6, \, 3)$–Blockcode mit den nachfolgend aufgeführten Codeworten führen:
+
*This exercise belongs to the chapter  [[Channel_Coding/General_Description_of_Linear_Block_Codes|General Description of Linear Block Codes]].
 +
*For the whole exercise holds  $n = 6$.  
 +
*In the subtask '''(4)''' it is to be clarified which of the matrices  $\boldsymbol{ {\rm G}}_{\rm A}, \ \boldsymbol{ {\rm G}}_{\rm B}$ resp. $ \boldsymbol{ {\rm G}}_{\rm C}$  result in a $(6, \, 3)$ block code with the code words listed below:
  
 
:$$  (  0, 0, 0, 0, 0, 0), \hspace{0.1cm}(0, 0, 1, 0, 1, 1), \hspace{0.1cm}(0, 1, 0, 1, 0, 1), \hspace{0.1cm}(0, 1, 1, 1, 1, 0), \hspace{0.1cm} (  1, 0, 0, 1, 1, 0), \hspace{0.1cm}(1, 0, 1, 1, 0, 1), \hspace{0.1cm}(1, 1, 0, 0, 1, 1), \hspace{0.1cm}(1, 1, 1, 0, 0, 0)\hspace{0.05cm}.$$
 
:$$  (  0, 0, 0, 0, 0, 0), \hspace{0.1cm}(0, 0, 1, 0, 1, 1), \hspace{0.1cm}(0, 1, 0, 1, 0, 1), \hspace{0.1cm}(0, 1, 1, 1, 1, 0), \hspace{0.1cm} (  1, 0, 0, 1, 1, 0), \hspace{0.1cm}(1, 0, 1, 1, 0, 1), \hspace{0.1cm}(1, 1, 0, 0, 1, 1), \hspace{0.1cm}(1, 1, 1, 0, 0, 0)\hspace{0.05cm}.$$
Line 37: Line 38:
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Bekannt sind nur die zwei Codeworte&nbsp; $(0, 1, 0, 1, 0, 1)$&nbsp; und&nbsp; $(1, 0, 0, 1, 1, 0)$&nbsp; eines linearen Codes. Welche Aussagen sind zutreffend?
+
{Known are only the two code words&nbsp; $(0, 1, 0, 1, 0, 1)$&nbsp; and&nbsp; $(1, 0, 0, 1, 1, 0)$&nbsp; of a linear code. Which statements are true?
 
|type="[]"}
 
|type="[]"}
- Es könnte sich um einen&nbsp; $(5, \, 2)$–Code handeln.
+
- It could be a&nbsp; $(5, \, 2)$ code.
+ Es könnte sich um einen&nbsp; $(6, \, 2)$–Code handeln.
+
+ It could be a&nbsp; $(6, \, 2)$ code.
+ Es könnte sich um einen&nbsp; $(6, \, 3)$–Code handeln.
+
+ It could be a&nbsp; $(6, \, 3)$ code.
  
  
{Wie lauten die vier Codeworte des linearen&nbsp; $(6, \, 2)$–Codes explizit?
+
{What are the four code words of the linear&nbsp; $(6, \, 2)$ code explicitly?
 
|type="[]"}  
 
|type="[]"}  
 
- $(0 0 1 0 1 1), \ (0 1 0 1 0 1), \ (1 0 0 1 1 0), \ (1 1 0 0 1 1).$
 
- $(0 0 1 0 1 1), \ (0 1 0 1 0 1), \ (1 0 0 1 1 0), \ (1 1 0 0 1 1).$
Line 53: Line 54:
  
  
{Welche Aussagen gelten für diesen&nbsp; $(6, \, 2)$–Code $C$?
+
{Which statements are true for this&nbsp; $(6, \, 2)$ code $C$?
 
|type="[]"}
 
|type="[]"}
+ Für alle Codeworte&nbsp; $(i = 1,\hspace{0.05cm} \text{ ...} \ , 4)$&nbsp; gilt&nbsp; $\underline{x}_{i} \in {\rm GF}(2^6)$.
+
+ For all codewords&nbsp; $(i = 1,\hspace{0.05cm} \text{ ...} \ , 4)$&nbsp; $\underline{x}_{i} \in {\rm GF}(2^6)$.
+ $C$&nbsp; ist ein zweidimensionaler linearer Untervektorraum von&nbsp; ${\rm GF}(2^6)$.
+
+ $C$&nbsp; is a two-dimensional linear subvector space of&nbsp; ${\rm GF}(2^6)$.
+ $\mathbf{G}$&nbsp; gibt Basisvektoren dieses Untervektorraumes&nbsp; ${\rm GF} (2^2)$&nbsp; an.
+
+ $\mathbf{G}$&nbsp; gives basis vectors of this subvector space&nbsp; ${\rm GF}(2^2)$&nbsp;.
- $\mathbf{G}$&nbsp; und&nbsp; $\mathbf{H}$&nbsp; sind jeweils&nbsp; $2×6$–Matrizen.
+
- $\mathbf{G}$&nbsp; and&nbsp; $\mathbf{H}$&nbsp; are each&nbsp; $2×6$ matrices.
  
  
{Welche der in der Grafik angegebenen Generatormatrizen führen zu einem&nbsp; $(6, \, 3)$–Code?
+
{Which of the generator matrices given in the graphic result in a&nbsp; $(6, \, 3)$ code?
 
|type="[]"}
 
|type="[]"}
+ Die Generatormatrix&nbsp; $\boldsymbol{ {\rm G}}_{\rm A}$,
+
+ the generator matrix&nbsp; $\boldsymbol{ {\rm G}}_{\rm A}$,
+ die Generatormatrix&nbsp; $\boldsymbol{ {\rm G}}_{\rm B}$,
+
+ the generator matrix&nbsp; $\boldsymbol{ {\rm G}}_{\rm B}$,
- die Generatormatrix&nbsp; $\boldsymbol{ {\rm G}}_{\rm C}$.
+
- the generator matrix&nbsp; $\boldsymbol{ {\rm G}}_{\rm C}$.
  
  
Line 73: Line 74:
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Richtig sind die  <u>Lösungsvorschläge 2 und 3</u>:
+
'''(1)'''&nbsp; Correct are the <u>suggested solutions 2 and 3</u>:
*Die Codewortlänge ist $n = $6 &nbsp;⇒ &nbsp;der $(5, \, 2)$–Code kommt nicht in Frage.  
+
*The codeword length is $n = $6 &nbsp;⇒ &nbsp;the $(5, \, 2)$ code is not eligible.  
*Bei einem $(6, \, 2)$–Code gibt es $2^2 = 4$ verschiedene Codeworte und beim $(6, \, 3)$–Code entsprechend $2^3 = 8$.  
+
*For a $(6, \, 2)$ code, there are $2^2 = 4$ distinct codewords, and for the $(6, \, 3)$ code, there are correspondingly $2^3 = 8$.  
*Durch die Angabe von nur zwei Codeworten lässt sich weder der $(6, \, 2)$–Code noch der $(6, \, 3)$–Code ausschließen.
+
*By specifying only two codewords, neither the $(6, \, 2)$ code nor the $(6, \, 3)$ code can be excluded.
  
  
  
'''(2)'''&nbsp;  Richtig ist der  <u>Lösungsvorschlag 2</u>:
+
'''(2)'''&nbsp;  Correct is the <u>solution suggestion 2</u>:
*Da es sich um einen linearen Code handelt, muss die Modulo–$2$–Summe ebenfalls ein gültiges Codewort sein:
+
*Since this is a linear code, the modulo $2$ sum must also be a valid codeword:
 
:$$(0, 1, 0, 1, 0, 1) \oplus (1, 0, 0, 1, 1, 0) = (1, 1, 0, 0, 1, 1)\hspace{0.05cm}.$$
 
:$$(0, 1, 0, 1, 0, 1) \oplus (1, 0, 0, 1, 1, 0) = (1, 1, 0, 0, 1, 1)\hspace{0.05cm}.$$
*Ebenso das Nullwort:
+
*Likewise the all zero word:
 
:$$(0, 1, 0, 1, 0, 1) \oplus (0, 1, 0, 1, 0, 1) = (0, 0, 0, 0, 0, 0)\hspace{0.05cm}.$$
 
:$$(0, 1, 0, 1, 0, 1) \oplus (0, 1, 0, 1, 0, 1) = (0, 0, 0, 0, 0, 0)\hspace{0.05cm}.$$
  
  
  
'''(3)'''&nbsp; Richtig sind hier die <u>Aussagen 1 bis 3</u>:  
+
'''(3)'''&nbsp; Correct here are the <u>statements 1 to 3</u>:  
*Basisvektoren der Generatormatrix $\mathbf{G}$ sind zum Beispiel die zwei gegebenen Codeworte, woraus sich auch die Prüfmatrix $\mathbf{H}$ bestimmen lässt:
+
*Basis vectors of the generator matrix $\mathbf{G}$ are, for example, the two given codewords, from which the parity-check matrix $\mathbf{H}$ can also be determined:
 
:$${ \boldsymbol{\rm G}}_{(6,\hspace{0.05cm} 2)} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}}_{(6,\hspace{0.05cm} 2)} = \begin{pmatrix} 0 &0 &1 &0 &0 &0\\ 1 &1 &0 &1 &0 &0\\ 1 &0 &0 &0 &1 &0\\ 0 &1 &0 &0 &0 &1 \end{pmatrix}\hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}}_{(6,\hspace{0.05cm} 2)} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}}_{(6,\hspace{0.05cm} 2)} = \begin{pmatrix} 0 &0 &1 &0 &0 &0\\ 1 &1 &0 &1 &0 &0\\ 1 &0 &0 &0 &1 &0\\ 0 &1 &0 &0 &0 &1 \end{pmatrix}\hspace{0.05cm}.$$
*Allgemein wird durch die $k$ Basisvektoren der Generatormatrix $\mathbf{G}$ ein $k$–dimensionaler Untervektorraum aufgespannt und durch die $m×n$–Matrix $\mathbf{H}$ (mit $m = n - k$) ein hierzu orthogonaler Untervektorraum der Dimension $m$.
+
*In general, the $k$ basis vectors of the generator matrix $\mathbf{G}$ form a $k$-dimensional subspace and the $m×n$ matrix $\mathbf{H}$ (with $m = n - k$) forms an orthogonal subspace of dimension $m$.
  
  
<u>Anmerkung:</u> Der hier angegebene Code
+
<u>Note:</u> The code given here
 
:$$\mathcal{C}_{(6,\hspace{0.05cm} 2)} = \{ (0, 0, 0, 0, 0, 0), \hspace{0.1cm}(0, 1, 0, 1, 0, 1), (1, 0, 0, 1, 1, 0), \hspace{0.1cm}(1, 1, 0, 0, 1, 1) \}$$
 
:$$\mathcal{C}_{(6,\hspace{0.05cm} 2)} = \{ (0, 0, 0, 0, 0, 0), \hspace{0.1cm}(0, 1, 0, 1, 0, 1), (1, 0, 0, 1, 1, 0), \hspace{0.1cm}(1, 1, 0, 0, 1, 1) \}$$
  
ist nicht sonderlich effektiv, da $p_{1} = x_{3}$ stets $0$ ist. Durch Punktierung dieses redundanten Bits kommt man zum Code
+
is not very effective, since $p_{1} = x_{3}$ is always $0$. By puncturing this redundant bit you get the code
 
:$$\mathcal{C}_{(5,\hspace{0.05cm} 2)} = \{ (0, 0, 0, 0, 0), \hspace{0.1cm}(0, 1, 1, 0, 1), (1, 0, 1, 1, 0), \hspace{0.1cm}(1, 1, 0, 1, 1) \}$$
 
:$$\mathcal{C}_{(5,\hspace{0.05cm} 2)} = \{ (0, 0, 0, 0, 0), \hspace{0.1cm}(0, 1, 1, 0, 1), (1, 0, 1, 1, 0), \hspace{0.1cm}(1, 1, 0, 1, 1) \}$$
  
mit gleicher Minimaldistanz $d_{\rm min} = 3$, aber größerer Coderate $R = 2/5$ gegenüber $R = 1/3$.
+
with the same minimum distance $d_{\rm min} = 3$, but larger code rate $R = 2/5$ compared to $R = 1/3$.
  
  
  
'''(4)'''&nbsp;  Richtig sind die <u>Lösungsvorschläge 1 und 2</u>:
+
'''(4)'''&nbsp;  Correct are the <u>suggested solutions 1 and 2</u>:
*Die drei Zeilen $g_1, \ g_2$ und $g_3$ der Matrix $\mathbf{G}_{\rm A}$ sind als Basisvektoren geeignet, da sie linear unabhängig sind, das heißt, es gilt
+
*The three rows $g_1, \ g_2$ and $g_3$ of the matrix $\mathbf{G}_{\rm A}$ are suitable as basis vectors, since they are linearly independent, that is, it holds
 
:$$\underline{g}_1 \oplus \underline{g}_2 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_3\hspace{0.05cm},\hspace{0.5cm}
 
:$$\underline{g}_1 \oplus \underline{g}_2 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_3\hspace{0.05cm},\hspace{0.5cm}
 
\underline{g}_1 \oplus \underline{g}_3 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_2\hspace{0.05cm},\hspace{0.5cm}
 
\underline{g}_1 \oplus \underline{g}_3 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_2\hspace{0.05cm},\hspace{0.5cm}
 
\underline{g}_2 \oplus \underline{g}_3 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_1\hspace{0.05cm}.$$
 
\underline{g}_2 \oplus \underline{g}_3 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_1\hspace{0.05cm}.$$
  
*Gleiches gilt für Matrix $\mathbf{G}_{\rm B}$. Die Basisvektoren sind hier so gewählt, dass der Code auch systematisch ist.
+
*The same is true for matrix $\mathbf{G}_{\rm B}$. The basis vectors are chosen here so that the code is also systematic.
  
*Für die letzte Generatormatrix gilt: $\underline{g}_{1}⊕\underline{g}_{2} = \underline{g}_{3}$ &nbsp; ⇒ &nbsp; der Rang der Matrix (2) ist kleiner als deren Ordnung (3).  
+
*For the last generator matrix holds: $\underline{g}_{1}⊕\underline{g}_{2} = \underline{g}_{3}$ &nbsp; ⇒ &nbsp; the rank of matrix (2) is smaller than its order (3).  
*Hier führt nicht nur $\underline{u} = (0, 0, 0)$ zum Codewort $(0, 0, 0, 0, 0, 0)$, sondern auch $\underline{u} = (1, 1, 1)$.
+
*Here not only $\underline{u} = (0, 0, 0)$ leads to the codeword $(0, 0, 0, 0, 0)$, but also $\underline{u} = (1, 1, 1)$.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Revision as of 00:39, 8 July 2022

Considered generator matrices

We now consider various binary codes of uniform length  $n$. All codes of the form

$$\underline{x} \hspace{-0.15cm}\ = \ \hspace{-0.15cm} ( x_1, x_2, \ \text{...} \ \hspace{0.05cm}, x_n) \hspace{0.5cm}\text{mit} \hspace{0.5cm} x_i \hspace{-0.15cm}\ \in \ \hspace{-0.15cm} \{ 0, 1 \},\hspace{0.2cm} i = 1, \hspace{0.05cm} \text{...} \ \hspace{0.05cm}, n$$

can be represented and interpreted in an $n$-dimensional vector space.   ⇒   ${\rm GF}(2^n)$.

A  $k×n$ generator matrix  $\mathbf{G}$  (i.e. a matrix with  $k$  rows and  $n$  columns) yields a  $(n, \, k)$ code, but only if the rank of the matrix  $\mathbf{G}$  is also equal  $k$ . Further holds:

  • Each code  $\mathcal{C}$  spans a  $k$-dimensional linear subspace of the Galois field  ${\rm GF}(2^n)$ .
  • As basis vectors of this subspace,  $k$  independent codewords of  $\mathcal{C}$  can be used. There is no further restriction for the basis vectors.
  • The parity-check matrix  $\mathbf{H}$  also spans a subspace of  ${\rm GF}(2^n)$  . But this has dimension  $m = n - k$  and is orthogonal to the subspace based on  $\mathbf{G}$ .
  • For a linear code,  $\underline{x} = \underline{u} - \boldsymbol{ {\rm G}}$, where  $\underline{u} = (u_{1}, \, u_{2}, \, \text{...} \, , \, u_{k})$  indicates the information word. A systematic code exists if  $x_{1} = u_{1}, \, \text{...} \, , \, x_{k} = u_{k}$  holds.


  • In a systematic code, there is a simple relationship between  $\mathbf{G}$  and  $\mathbf{H}$. For more details, see the  theory section.




Hints :

  • This exercise belongs to the chapter  General Description of Linear Block Codes.
  • For the whole exercise holds  $n = 6$.
  • In the subtask (4) it is to be clarified which of the matrices  $\boldsymbol{ {\rm G}}_{\rm A}, \ \boldsymbol{ {\rm G}}_{\rm B}$ resp. $ \boldsymbol{ {\rm G}}_{\rm C}$  result in a $(6, \, 3)$ block code with the code words listed below:
$$ ( 0, 0, 0, 0, 0, 0), \hspace{0.1cm}(0, 0, 1, 0, 1, 1), \hspace{0.1cm}(0, 1, 0, 1, 0, 1), \hspace{0.1cm}(0, 1, 1, 1, 1, 0), \hspace{0.1cm} ( 1, 0, 0, 1, 1, 0), \hspace{0.1cm}(1, 0, 1, 1, 0, 1), \hspace{0.1cm}(1, 1, 0, 0, 1, 1), \hspace{0.1cm}(1, 1, 1, 0, 0, 0)\hspace{0.05cm}.$$


Questions

1

Known are only the two code words  $(0, 1, 0, 1, 0, 1)$  and  $(1, 0, 0, 1, 1, 0)$  of a linear code. Which statements are true?

It could be a  $(5, \, 2)$ code.
It could be a  $(6, \, 2)$ code.
It could be a  $(6, \, 3)$ code.

2

What are the four code words of the linear  $(6, \, 2)$ code explicitly?

$(0 0 1 0 1 1), \ (0 1 0 1 0 1), \ (1 0 0 1 1 0), \ (1 1 0 0 1 1).$
$(0 0 0 0 0 0), \ (0 1 0 1 0 1), \ (1 0 0 1 1 0), \ (1 1 0 0 1 1).$
$(0 0 0 0 0 0), \ (0 1 0 1 0 1), \ (1 0 0 1 1 0), \ (1 1 1 0 0 0).$

3

Which statements are true for this  $(6, \, 2)$ code $C$?

For all codewords  $(i = 1,\hspace{0.05cm} \text{ ...} \ , 4)$  $\underline{x}_{i} \in {\rm GF}(2^6)$.
$C$  is a two-dimensional linear subvector space of  ${\rm GF}(2^6)$.
$\mathbf{G}$  gives basis vectors of this subvector space  ${\rm GF}(2^2)$ .
$\mathbf{G}$  and  $\mathbf{H}$  are each  $2×6$ matrices.

4

Which of the generator matrices given in the graphic result in a  $(6, \, 3)$ code?

the generator matrix  $\boldsymbol{ {\rm G}}_{\rm A}$,
the generator matrix  $\boldsymbol{ {\rm G}}_{\rm B}$,
the generator matrix  $\boldsymbol{ {\rm G}}_{\rm C}$.


Solution

(1)  Correct are the suggested solutions 2 and 3:

  • The codeword length is $n = $6  ⇒  the $(5, \, 2)$ code is not eligible.
  • For a $(6, \, 2)$ code, there are $2^2 = 4$ distinct codewords, and for the $(6, \, 3)$ code, there are correspondingly $2^3 = 8$.
  • By specifying only two codewords, neither the $(6, \, 2)$ code nor the $(6, \, 3)$ code can be excluded.


(2)  Correct is the solution suggestion 2:

  • Since this is a linear code, the modulo $2$ sum must also be a valid codeword:
$$(0, 1, 0, 1, 0, 1) \oplus (1, 0, 0, 1, 1, 0) = (1, 1, 0, 0, 1, 1)\hspace{0.05cm}.$$
  • Likewise the all zero word:
$$(0, 1, 0, 1, 0, 1) \oplus (0, 1, 0, 1, 0, 1) = (0, 0, 0, 0, 0, 0)\hspace{0.05cm}.$$


(3)  Correct here are the statements 1 to 3:

  • Basis vectors of the generator matrix $\mathbf{G}$ are, for example, the two given codewords, from which the parity-check matrix $\mathbf{H}$ can also be determined:
$${ \boldsymbol{\rm G}}_{(6,\hspace{0.05cm} 2)} = \begin{pmatrix} 1 &0 &0 &1 &1 &0\\ 0 &1 &0 &1 &0 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}}_{(6,\hspace{0.05cm} 2)} = \begin{pmatrix} 0 &0 &1 &0 &0 &0\\ 1 &1 &0 &1 &0 &0\\ 1 &0 &0 &0 &1 &0\\ 0 &1 &0 &0 &0 &1 \end{pmatrix}\hspace{0.05cm}.$$
  • In general, the $k$ basis vectors of the generator matrix $\mathbf{G}$ form a $k$-dimensional subspace and the $m×n$ matrix $\mathbf{H}$ (with $m = n - k$) forms an orthogonal subspace of dimension $m$.


Note: The code given here

$$\mathcal{C}_{(6,\hspace{0.05cm} 2)} = \{ (0, 0, 0, 0, 0, 0), \hspace{0.1cm}(0, 1, 0, 1, 0, 1), (1, 0, 0, 1, 1, 0), \hspace{0.1cm}(1, 1, 0, 0, 1, 1) \}$$

is not very effective, since $p_{1} = x_{3}$ is always $0$. By puncturing this redundant bit you get the code

$$\mathcal{C}_{(5,\hspace{0.05cm} 2)} = \{ (0, 0, 0, 0, 0), \hspace{0.1cm}(0, 1, 1, 0, 1), (1, 0, 1, 1, 0), \hspace{0.1cm}(1, 1, 0, 1, 1) \}$$

with the same minimum distance $d_{\rm min} = 3$, but larger code rate $R = 2/5$ compared to $R = 1/3$.


(4)  Correct are the suggested solutions 1 and 2:

  • The three rows $g_1, \ g_2$ and $g_3$ of the matrix $\mathbf{G}_{\rm A}$ are suitable as basis vectors, since they are linearly independent, that is, it holds
$$\underline{g}_1 \oplus \underline{g}_2 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_3\hspace{0.05cm},\hspace{0.5cm} \underline{g}_1 \oplus \underline{g}_3 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_2\hspace{0.05cm},\hspace{0.5cm} \underline{g}_2 \oplus \underline{g}_3 \hspace{-0.15cm} \ \ne \ \hspace{-0.15cm} \underline{g}_1\hspace{0.05cm}.$$
  • The same is true for matrix $\mathbf{G}_{\rm B}$. The basis vectors are chosen here so that the code is also systematic.
  • For the last generator matrix holds: $\underline{g}_{1}⊕\underline{g}_{2} = \underline{g}_{3}$   ⇒   the rank of matrix (2) is smaller than its order (3).
  • Here not only $\underline{u} = (0, 0, 0)$ leads to the codeword $(0, 0, 0, 0, 0)$, but also $\underline{u} = (1, 1, 1)$.