Difference between revisions of "Aufgaben:Exercise 1.07Z: Classification of Block Codes"

From LNTwww
 
(4 intermediate revisions by one other user not shown)
Line 3: Line 3:
 
}}
 
}}
  
[[File:P_ID2391__KC_Z_1_7_neu.png|right|frame|Block codes of length  $n = 4$ '''Korrektur''' code ]]
+
[[File:P_ID2391__KC_Z_1_7_neu.png|right|frame|Block codes of length  $n = 4$ ]]
  
 
We consider block codes of length  $n = 4$:
 
We consider block codes of length  $n = 4$:
Line 28: Line 28:
 
The individual codes are explicitly indicated in the graphic.  The questions for these tasks are about the terms
 
The individual codes are explicitly indicated in the graphic.  The questions for these tasks are about the terms
  
*[[Channel_Coding/General_Description_of_Linear_Block_Codes#Linear_codes_and_cyclic_codes|linear codes]],
+
*[[Channel_Coding/General_Description_of_Linear_Block_Codes#Linear_codes_and_cyclic_codes|"linear codes"]],
  
*[[Channel_Coding/General_Description_of_Linear_Block_Codes#Systematic_Codes|systematic codes]],
+
*[[Channel_Coding/General_Description_of_Linear_Block_Codes#Systematic_Codes|"systematic codes"]],
  
*[[Channel_Coding/General_Description_of_Linear_Block_Codes#Representation_of_SPC_and_RC_as_dual_codes|dual codes]].
+
*[[Channel_Coding/General_Description_of_Linear_Block_Codes#Representation_of_SPC_and_RC_as_dual_codes|"dual codes"]].
  
  
Line 41: Line 41:
 
*This exercise belongs to the chapter  [[Channel_Coding/General_Description_of_Linear_Block_Codes|"General description of linear block codes"]].
 
*This exercise belongs to the chapter  [[Channel_Coding/General_Description_of_Linear_Block_Codes|"General description of linear block codes"]].
  
*Reference is also made to the pages  [[Channel_Coding/Examples_of_Binary_Block_Codes#Single_Parity-check_Codes|"single parity–check codes"]]  and [[Channel_Coding/Examples_of_Binary_Block_Codes#Repetition_Codes|"repetition codes"]].
+
*Reference is also made to the sections  [[Channel_Coding/Examples_of_Binary_Block_Codes#Single_Parity-check_Codes|"Single parity–check codes"]]  and [[Channel_Coding/Examples_of_Binary_Block_Codes#Repetition_Codes|"Repetition codes"]].
  
  
Line 81: Line 81:
 
===Solution===
 
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; <u>Statements 1 and 2</u> are correct:
+
'''(1)'''&nbsp; <u>Statements 1 and 2</u>&nbsp; are correct:
* That is why there are $\rm 4 \ over \ 2 = 6$ codewords.  
+
* That is why there are&nbsp; "$\rm 4 \ over \ 2 = 6$"&nbsp; code words.  
* Statement 3 is false. For example, if the first bit is $0$, there is one codeword starting $00$ and two codewords starting $01$.
+
* Statement 3 is false.&nbsp; For example,&nbsp; if the first bit is&nbsp; "$0$",&nbsp; there is one code word starting&nbsp; "$00$"&nbsp; and two code words starting&nbsp; "$01$".
  
  
  
'''(2)'''&nbsp; <u>Statements 1 to 4</u> are correct:
+
'''(2)'''&nbsp; <u>Statements 1 to 4</u>&nbsp; are correct:
* All codes that can be described by a generator matrix $\boldsymbol {\rm G}$ and/or a parity-check matrix $\boldsymbol {\rm H}$ are linear.  
+
* All codes that can be described by a generator matrix&nbsp; $\boldsymbol {\rm G}$&nbsp; and/or a parity-check matrix&nbsp; $\boldsymbol {\rm H}$&nbsp; are linear.  
*In contrast, "Code 5" does not satisfy any of the conditions required for linear codes. For example
+
*In contrast,&nbsp; "code 5" does not satisfy any of the conditions required for linear codes.&nbsp; For example
  
:*is missing the all zero word,
+
:*is missing the all-zero word,
:*the code cardinality $|\mathcal{C}|$ is not a power of two,
+
:*the code size&nbsp; $|\mathcal{C}|$&nbsp; is not a power of two,
:*gives $(0, 1, 0, 1) \oplus (1, 0, 1, 0) = (1, 1, 1, 1)$ no valid codeword.
+
:*gives&nbsp; $(0, 1, 0, 1) \oplus (1, 0, 1, 0) = (1, 1, 1, 1)$&nbsp; no valid code word.
  
  
  
'''(3)'''&nbsp; <u>Statements 1 to 3</u> are correct:
+
'''(3)'''&nbsp; <u>Statements 1 to 3</u>&nbsp; are correct:
*In a systematic code, the first $k$ bits of each codeword $\underline{x}$ must always be equal to the information word $\underline{u}$.  
+
*In a systematic code,&nbsp; the first&nbsp; $k$&nbsp; bits of each code word&nbsp; $\underline{x}$&nbsp; must always be equal to the information word&nbsp; $\underline{u}$.  
*This is achieved if the beginning of the generator matrix $\boldsymbol {\rm G}$ is a unit matrix $\boldsymbol{\rm I}_{k}$.  
+
*This is achieved if the beginning of the generator matrix&nbsp; $\boldsymbol {\rm G}$&nbsp; is an identity matrix&nbsp; $\boldsymbol{\rm I}_{k}$.  
*This is true for "Code 1" (with dimension $k = 3$), "Code 2" (with $k = 1$) and "code 3" (with $k = 2$).
+
*This is true for&nbsp; "code 1"&nbsp; $($with dimension&nbsp; $k = 3)$,&nbsp; "code 2" $($with&nbsp; $k = 1)$&nbsp; and&nbsp; "code 3"&nbsp; $($with $k = 2)$.
*The generator matrix of "Code 2", however, is not explicitly stated. It is:
+
*The generator matrix of&nbsp; "code 2",&nbsp; however,&nbsp; is not explicitly stated.&nbsp; It is:
 
:$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  
  
  
'''(4)'''&nbsp; <u>Statement 1</u> is correct:
+
'''(4)'''&nbsp; <u>Statement 1</u>&nbsp; is correct:
*Dual codes are those where the parity-check matrix $\boldsymbol {\rm H}$ of one code is equal to the generator matrix $\boldsymbol {\rm G}$ of the other code.  
+
*Dual codes are those where the parity-check matrix&nbsp; $\boldsymbol {\rm H}$&nbsp; of one code is equal to the generator matrix&nbsp; $\boldsymbol {\rm G}$&nbsp; of the other code.  
*For example, this is true for "Code 1" and "Code 2."  
+
*For example,&nbsp; this is true for "code 1" and "code 2."  
*For the SPC (4, 3) holds:
+
*For the&nbsp; $\text{SPC (4, 3)}$&nbsp; holds:
  
 
:$${ \boldsymbol{\rm H}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.3cm} { \boldsymbol{\rm G}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &0 &1\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
 
:$${ \boldsymbol{\rm H}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.3cm} { \boldsymbol{\rm G}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &0 &1\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
  
:and for the repetition code RC (4, 1):
+
:and for the repetition code&nbsp; $\text{RC (4, 1)}$:
  
 
:$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.3cm} { \boldsymbol{\rm H}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &0 &1\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.3cm} { \boldsymbol{\rm H}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &0 &1\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  
*Statement 2 is certainly wrong, already for dimensional reasons: The generator matrix $\boldsymbol {\rm G}$ of "Code 3" is a $2×4$ matrix and the parity-check matrix $\boldsymbol {\rm H}$ of "Code 2" is a $3×4$ matrix.
+
*Statement 2 is certainly wrong,&nbsp; already for dimensional reasons:&nbsp; The&nbsp; $\boldsymbol {\rm G}$&nbsp; matrix  of&nbsp; "code 3"&nbsp; is a&nbsp; $2×4$&nbsp; matrix and the&nbsp; $\boldsymbol {\rm H}$&nbsp; matrix of&nbsp; "code 2"&nbsp; is a $3×4$&nbsp; matrix.
  
*"Code 3" and "Code 4" also do not satisfy the conditions of dual codes. The parity-check equations of
+
*"Code 3"&nbsp; and&nbsp; "code 4"&nbsp; also do not satisfy the conditions of dual codes.&nbsp; The parity-check equations of
  
 
:$${\rm Code}\hspace{0.15cm}3 = \{ (0, 0, 0, 0) \hspace{0.05cm},\hspace{0.1cm} (0, 1, 1, 0) \hspace{0.05cm},\hspace{0.1cm}(1, 0, 0, 1) \hspace{0.05cm},\hspace{0.1cm}(1, 1, 1, 1) \}$$
 
:$${\rm Code}\hspace{0.15cm}3 = \{ (0, 0, 0, 0) \hspace{0.05cm},\hspace{0.1cm} (0, 1, 1, 0) \hspace{0.05cm},\hspace{0.1cm}(1, 0, 0, 1) \hspace{0.05cm},\hspace{0.1cm}(1, 1, 1, 1) \}$$
Line 127: Line 127:
 
:$$x_1 \oplus x_4 = 0\hspace{0.05cm},\hspace{0.2cm}x_2 \oplus x_3 = 0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$
 
:$$x_1 \oplus x_4 = 0\hspace{0.05cm},\hspace{0.2cm}x_2 \oplus x_3 = 0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$
  
:In contrast, the generator matrix of "Code 4" is given as follows:
+
:In contrast,&nbsp; the generator matrix of&nbsp; "code 4"&nbsp; is given as follows:
  
 
:$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &0 &0\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
 
:$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &0 &0\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$

Latest revision as of 16:59, 23 January 2023

Block codes of length  $n = 4$

We consider block codes of length  $n = 4$:

$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &0 &1\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
  • the  repetition code  $\text{RC (4, 1)}$   ⇒   "code 2"   with the parity-check matrix
$${ \boldsymbol{\rm H}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &0 &1\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
  • the  $\text{(4, 2)}$  block code   ⇒   "code 3"   with the generator matrix
$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
  • the  $\text{(4, 2)}$  block code   ⇒   "code 4"   with the generator matrix
$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &0 &0\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
  • another "code 5"   with code size  $|\hspace{0.05cm}C\hspace{0.05cm}| = 6$.


The individual codes are explicitly indicated in the graphic.  The questions for these tasks are about the terms



Hints :



Questions

1

How can  "code 5"  be described?

There are exactly two zeros in each code word.
There are exactly two ones in each code word.
After each  "$0$",  the symbols  "$0$"  and  "$1$"  are equally likely.

2

Which of the following block codes are linear?

code 1,
code 2,
code 3,
code 4,
code 5.

3

Which of the following block codes are systematic?

code 1,
code 2,
code 3,
code 4,
code 5.

4

Which code pairs are dual to each other?

code 1 and code 2,
code 2 and code 3,
code 3 and code 4.


Solution

(1)  Statements 1 and 2  are correct:

  • That is why there are  "$\rm 4 \ over \ 2 = 6$"  code words.
  • Statement 3 is false.  For example,  if the first bit is  "$0$",  there is one code word starting  "$00$"  and two code words starting  "$01$".


(2)  Statements 1 to 4  are correct:

  • All codes that can be described by a generator matrix  $\boldsymbol {\rm G}$  and/or a parity-check matrix  $\boldsymbol {\rm H}$  are linear.
  • In contrast,  "code 5" does not satisfy any of the conditions required for linear codes.  For example
  • is missing the all-zero word,
  • the code size  $|\mathcal{C}|$  is not a power of two,
  • gives  $(0, 1, 0, 1) \oplus (1, 0, 1, 0) = (1, 1, 1, 1)$  no valid code word.


(3)  Statements 1 to 3  are correct:

  • In a systematic code,  the first  $k$  bits of each code word  $\underline{x}$  must always be equal to the information word  $\underline{u}$.
  • This is achieved if the beginning of the generator matrix  $\boldsymbol {\rm G}$  is an identity matrix  $\boldsymbol{\rm I}_{k}$.
  • This is true for  "code 1"  $($with dimension  $k = 3)$,  "code 2" $($with  $k = 1)$  and  "code 3"  $($with $k = 2)$.
  • The generator matrix of  "code 2",  however,  is not explicitly stated.  It is:
$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$


(4)  Statement 1  is correct:

  • Dual codes are those where the parity-check matrix  $\boldsymbol {\rm H}$  of one code is equal to the generator matrix  $\boldsymbol {\rm G}$  of the other code.
  • For example,  this is true for "code 1" and "code 2."
  • For the  $\text{SPC (4, 3)}$  holds:
$${ \boldsymbol{\rm H}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.3cm} { \boldsymbol{\rm G}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &0 &1\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm},$$
and for the repetition code  $\text{RC (4, 1)}$:
$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.3cm} { \boldsymbol{\rm H}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &0 &1\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • Statement 2 is certainly wrong,  already for dimensional reasons:  The  $\boldsymbol {\rm G}$  matrix of  "code 3"  is a  $2×4$  matrix and the  $\boldsymbol {\rm H}$  matrix of  "code 2"  is a $3×4$  matrix.
  • "Code 3"  and  "code 4"  also do not satisfy the conditions of dual codes.  The parity-check equations of
$${\rm Code}\hspace{0.15cm}3 = \{ (0, 0, 0, 0) \hspace{0.05cm},\hspace{0.1cm} (0, 1, 1, 0) \hspace{0.05cm},\hspace{0.1cm}(1, 0, 0, 1) \hspace{0.05cm},\hspace{0.1cm}(1, 1, 1, 1) \}$$
are as follows:
$$x_1 \oplus x_4 = 0\hspace{0.05cm},\hspace{0.2cm}x_2 \oplus x_3 = 0 \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}} = \begin{pmatrix} 1 &0 &0 &1\\ 0 &1 &1 &0 \end{pmatrix} \hspace{0.05cm}.$$
In contrast,  the generator matrix of  "code 4"  is given as follows:
$${ \boldsymbol{\rm G}} = \begin{pmatrix} 1 &1 &0 &0\\ 0 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$