Difference between revisions of "Aufgaben:Exercise 1.08Z: Equivalent Codes"

From LNTwww
 
(3 intermediate revisions by one other user not shown)
Line 3: Line 3:
 
}}
 
}}
  
[[File:P_ID2394__KC_Z_1_8.png|right|frame|Four  $(6, 3)$ block codes]]
+
[[File:P_ID2394__KC_Z_1_8.png|right|frame|Four  $(6, 3)$  block codes]]
  
In the graph, the mappings  $\underline{u} \rightarrow \underline{x}$  for different codes are given, each characterized below by the generator matrix  $\boldsymbol{\rm G}$  and the parity-check matrix  $\boldsymbol{\rm H}$  respectively:
+
In the graph,  the mappings  $\underline{u} \rightarrow \underline{x}$  for different codes are given,  each characterized below by the generator matrix  $\boldsymbol{\rm G}$  and the parity-check matrix  $\boldsymbol{\rm H}$,  respectively:
  
 
*${\boldsymbol{\rm Code \ A}}$:
 
*${\boldsymbol{\rm Code \ A}}$:
Line 28: Line 28:
  
  
 +
Hints :
  
 +
*This exercise belongs to the chapter  [[Channel_Coding/General_Description_of_Linear_Block_Codes|"General Description of Linear Block Codes"]].
  
Hints :
+
*Reference is made in particular to the sections  [[Channel_Coding/General_Description_of_Linear_Block_Codes#Systematic_Codes|"Systematic Codes"]]   and   [[Channel_Coding/General_Description_of_Linear_Block_Codes#Identical_Codes|"Identical Codes"]].
  
*This exercise belongs to the chapter  [[Channel_Coding/General_Description_of_Linear_Block_Codes|General Description of Linear Block Codes]].
+
*Note that the specification of a parity-check matrix  $\boldsymbol{\rm H}$  is not unique.  If one changes the order of the parity-check equations, this corresponds to a swapping of rows.
*Reference is made in particular to the pages  [[Channel_Coding/General_Description_of_Linear_Block_Codes#Systematic_Codes|Systematic Codes]]  and  [[Channel_Coding/General_Description_of_Linear_Block_Codes#Identical_Codes|Identical Codes]].
 
*Note that the specification of a parity-check matrix  $\boldsymbol{\rm H}$  is not unique.  
 
*If one changes the order of the parity-check equations, this corresponds to a swapping of rows.
 
  
  
Line 52: Line 51:
 
|type="[]"}
 
|type="[]"}
 
 
+ Code  $\rm A$  and code  $\rm B$,
+
+ Code  $\rm A$  and  code  $\rm B$,
- Code  $\rm B$  and code  $\rm C$,
+
- Code  $\rm B$  and  code  $\rm C$,
- Code  $\rm C$  and code  $\rm D$.
+
- Code  $\rm C$  and  code  $\rm D$.
  
  
 
{Which of the given code pairs are equivalent but not identical?
 
{Which of the given code pairs are equivalent but not identical?
 
|type="[]"}
 
|type="[]"}
- Code  $\rm A$  and code  $\rm B$,
+
- Code  $\rm A$  and  code  $\rm B$,
+ Code  $\rm B$  and code  $\rm C$,
+
+ Code  $\rm B$  and  code  $\rm C$,
- Code  $\rm C$  and code  $\rm D$.
+
- Code  $\rm C$  and  code  $\rm D$.
  
{How do the generator matrices  $G_{\rm B}$  and  $G_{\rm C}$ differ?
+
{How do the generator matrices  $G_{\rm B}$  and  $G_{\rm C}$  differ?
 
|type="[]"}
 
|type="[]"}
 
- By different linear combinations of different rows.
 
- By different linear combinations of different rows.
 
- By cyclic shifting of rows by  $1$  down.
 
- By cyclic shifting of rows by  $1$  down.
+ By cyclic shifting of columns by  $1$  to the right.?
+
+ By cyclic shifting of columns by  $1$  to the right?
  
  
Line 85: Line 84:
 
===Solution===
 
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Correct are the <u>answers 1, 3 and 4</u>:
+
'''(1)'''&nbsp; Correct are the&nbsp; <u>answers 1, 3 and 4</u>:
*For a systematic (6, 3) block code, the following must hold:
+
*For a systematic&nbsp; $(6, 3)$&nbsp; block code,&nbsp; the following must hold:
  
 
:$$\underline{x} = ( x_1, x_2, x_3, x_4, x_5, x_6) = ( u_1, u_2, u_3, p_1, p_2, p_{3}) \hspace{0.05cm}.$$
 
:$$\underline{x} = ( x_1, x_2, x_3, x_4, x_5, x_6) = ( u_1, u_2, u_3, p_1, p_2, p_{3}) \hspace{0.05cm}.$$
  
This condition is satisfied by code A, code C, and code D, but not by code B.
+
*This condition is satisfied by code&nbsp; $\rm A$, code&nbsp; $\rm C$, and code&nbsp; $\rm D$, but not by code&nbsp; $\rm B$.
  
  
  
'''(2)'''&nbsp; Correct is only <u>answer 1</u>:
+
'''(2)'''&nbsp; Correct is only&nbsp; <u>answer 1</u>:
*Only code A and code B are identical codes. They contain exactly the same code words and differ only by other assignments $\underline{u} \rightarrow \underline{x}$.  
+
*Only code&nbsp; $\rm A$&nbsp; and code&nbsp; $\rm B$&nbsp; are identical codes.&nbsp; They contain exactly the same code words and differ only by other assignments&nbsp; $\underline{u} \rightarrow \underline{x}$.
*As indicated in the sample solution to [[Aufgaben:Exercise_1.08:_Identical_Codes|Exercise 1.8 (3)]], one gets from the generator matrix ${ \boldsymbol{\rm G}}_{\rm B}$ to the generator matrix ${ \boldsymbol{\rm G}}_{\rm A}$   
+
:*by swapping/permuting rows alone, or  
+
*As indicated in the solution to&nbsp; [[Aufgaben:Exercise_1.08:_Identical_Codes|"Exercise 1.8 (3)"]],&nbsp; one gets from the generator matrix&nbsp; ${ \boldsymbol{\rm G}}_{\rm B}$&nbsp; to the generator matrix&nbsp; ${ \boldsymbol{\rm G}}_{\rm A}$   
 +
:*by swapping/permuting rows alone,&nbsp; or  
 
:*by replacing a row with the linear combination between that row and another.
 
:*by replacing a row with the linear combination between that row and another.
  
  
  
'''(3)'''&nbsp; Thus, the correct answer is <u>answer 2</u> alone:
+
'''(3)'''&nbsp; Thus,&nbsp; the correct answer is&nbsp; <u>answer 2</u>&nbsp; alone:
*Code A and code B are more than equivalent, namely identical.  
+
*Code&nbsp; $\rm A$&nbsp; and code&nbsp; $\rm B$&nbsp; are more than equivalent,&nbsp; namely identical.
*Code C and D also differ, for example, by the minimum Hamming distance $d_{\rm min} = 3$ and $d_{\rm min} = 2$, respectively, and are thus also not equivalent.
+
*Code B and code C, on the other hand, show the same properties, for example $d_{\rm min} = 3$ holds for both. However, they contain different codewords.
+
*Code&nbsp; $\rm C$&nbsp; and code&nbsp; $\rm D$&nbsp; also differ,&nbsp; for example,&nbsp; by the minimum Hamming distance&nbsp; $d_{\rm min} = 3$&nbsp; and&nbsp; $d_{\rm min} = 2$,&nbsp; respectively,&nbsp; and are thus also not equivalent.
 +
 
 +
*Code&nbsp; $\rm B$&nbsp; and code&nbsp; $\rm C$&nbsp; show the same properties,&nbsp; for example&nbsp; $d_{\rm min} = 3$&nbsp; holds for both.&nbsp; However,&nbsp; they contain different code words.
  
  
  
  
'''(4)'''&nbsp; Correct is <u>answer 3</u>:
+
'''(4)'''&nbsp; Correct is&nbsp; <u>answer 3</u>:
  
*The last column of ${ \boldsymbol{\rm G}}_{\rm B}$ gives the first column of ${ \boldsymbol{\rm G}}_{\rm C}$.
+
*The last column of&nbsp; ${ \boldsymbol{\rm G}}_{\rm B}$&nbsp; gives the first column of&nbsp; ${ \boldsymbol{\rm G}}_{\rm C}$.
*The first column of ${ \boldsymbol{\rm G}}_{\rm B}$ gives the second column of ${ \boldsymbol{\rm G}}_{\rm C}$.
+
*The first column of&nbsp; ${ \boldsymbol{\rm G}}_{\rm B}$&nbsp; gives the second column of&nbsp; ${ \boldsymbol{\rm G}}_{\rm C}$.
*The second column of ${ \boldsymbol{\rm G}}_{\rm B}$ gives the third column of ${ \boldsymbol{\rm G}}_{\rm C}$, etc.
+
*The second column of&nbsp; ${ \boldsymbol{\rm G}}_{\rm B}$&nbsp; gives the third column of&nbsp; ${ \boldsymbol{\rm G}}_{\rm C}$, etc.
  
  
  
 
'''(5)'''&nbsp; All statements are true</u>:
 
'''(5)'''&nbsp; All statements are true</u>:
*The condition ${ \boldsymbol{\rm H}} \cdot { \boldsymbol{\rm G}}^{\rm T} = \boldsymbol{0}$ holds for all linear codes.
+
*The condition&nbsp; ${ \boldsymbol{\rm H}} \cdot { \boldsymbol{\rm G}}^{\rm T} = \boldsymbol{0}$&nbsp; holds for all linear codes.
  
 
{{ML-Fuß}}
 
{{ML-Fuß}}

Latest revision as of 18:00, 23 January 2023

Four  $(6, 3)$  block codes

In the graph,  the mappings  $\underline{u} \rightarrow \underline{x}$  for different codes are given,  each characterized below by the generator matrix  $\boldsymbol{\rm G}$  and the parity-check matrix  $\boldsymbol{\rm H}$,  respectively:

  • ${\boldsymbol{\rm Code \ A}}$:
$${ \boldsymbol{\rm G}}_{\rm A} = \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},\hspace{0.5cm}{ \boldsymbol{\rm H}}_{\rm A} = \begin{pmatrix} 1 &1 &0 &1 &0 &0\\ 1 &0 &1 &0 &1 &0\\ 0 &1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • ${\boldsymbol{\rm Code \ B}}$:
$${ \boldsymbol{\rm G}}_{\rm B} = \begin{pmatrix} 0 &0 &1 &0 &1 &1\\ 1 &0 &0 &1 &1 &0\\ 0 &1 &1 &1 &1 &0 \end{pmatrix} \hspace{0.05cm},\hspace{0.5cm} { \boldsymbol{\rm H}}_{\rm B} = \begin{pmatrix} 1 &0 &1 &0 &1 &0\\ 1 &1 &0 &1 &0 &0\\ 0 &1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • ${\boldsymbol{\rm Code \ C}}$:
$${ \boldsymbol{\rm G}}_{\rm C} = \begin{pmatrix} 1 &0 &0 &1 &0 &1\\ 0 &1 &0 &0 &1 &1\\ 0 &0 &1 &1 &1 &1 \end{pmatrix} \hspace{0.05cm},\hspace{0.5cm}{ \boldsymbol{\rm H}}_{\rm C} = \begin{pmatrix} 1 &0 &1 &1 &0 &0\\ 0 &1 &1 &0 &1 &0\\ 1 &1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm},$$
  • ${\boldsymbol{\rm Code \ D}}$:
$${ \boldsymbol{\rm G}}_{\rm D} = \begin{pmatrix} 1 &0 &0 &1 &0 &1\\ 0 &1 &0 &1 &0 &0\\ 0 &0 &1 &0 &1 &0 \end{pmatrix} \hspace{0.05cm},\hspace{0.5cm}{ \boldsymbol{\rm H}}_{\rm D} = \begin{pmatrix} 1 &1 &0 &1 &0 &0\\ 0 &0 &1 &0 &1 &0\\ 1 &0 &0 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$

This task is to investigate which of these codes or code pairs are

  • are systematic,
  • are identical  (that is:   Different codes have same code words),
  • are equivalent  (that is:   Different codes have same code parameters).



Hints :

  • Note that the specification of a parity-check matrix  $\boldsymbol{\rm H}$  is not unique.  If one changes the order of the parity-check equations, this corresponds to a swapping of rows.


Questions

1

Which of the codes listed below are systematic?

Code  $\rm A$,
Code  $\rm B$,
Code  $\rm C$,
Code  $\rm D$.

2

Which of the given code pairs are identical?

Code  $\rm A$  and  code  $\rm B$,
Code  $\rm B$  and  code  $\rm C$,
Code  $\rm C$  and  code  $\rm D$.

3

Which of the given code pairs are equivalent but not identical?

Code  $\rm A$  and  code  $\rm B$,
Code  $\rm B$  and  code  $\rm C$,
Code  $\rm C$  and  code  $\rm D$.

4

How do the generator matrices  $G_{\rm B}$  and  $G_{\rm C}$  differ?

By different linear combinations of different rows.
By cyclic shifting of rows by  $1$  down.
By cyclic shifting of columns by  $1$  to the right?

5

For which codes applies  ${ \boldsymbol{\rm H}} \cdot { \boldsymbol{\rm G}}^{\rm T} = \boldsymbol{0}$?

Code  $\rm A$,
Code  $\rm B$,
Code  $\rm C$,
Code  $\rm D$.


Solution

(1)  Correct are the  answers 1, 3 and 4:

  • For a systematic  $(6, 3)$  block code,  the following must hold:
$$\underline{x} = ( x_1, x_2, x_3, x_4, x_5, x_6) = ( u_1, u_2, u_3, p_1, p_2, p_{3}) \hspace{0.05cm}.$$
  • This condition is satisfied by code  $\rm A$, code  $\rm C$, and code  $\rm D$, but not by code  $\rm B$.


(2)  Correct is only  answer 1:

  • Only code  $\rm A$  and code  $\rm B$  are identical codes.  They contain exactly the same code words and differ only by other assignments  $\underline{u} \rightarrow \underline{x}$.
  • As indicated in the solution to  "Exercise 1.8 (3)",  one gets from the generator matrix  ${ \boldsymbol{\rm G}}_{\rm B}$  to the generator matrix  ${ \boldsymbol{\rm G}}_{\rm A}$
  • by swapping/permuting rows alone,  or
  • by replacing a row with the linear combination between that row and another.


(3)  Thus,  the correct answer is  answer 2  alone:

  • Code  $\rm A$  and code  $\rm B$  are more than equivalent,  namely identical.
  • Code  $\rm C$  and code  $\rm D$  also differ,  for example,  by the minimum Hamming distance  $d_{\rm min} = 3$  and  $d_{\rm min} = 2$,  respectively,  and are thus also not equivalent.
  • Code  $\rm B$  and code  $\rm C$  show the same properties,  for example  $d_{\rm min} = 3$  holds for both.  However,  they contain different code words.



(4)  Correct is  answer 3:

  • The last column of  ${ \boldsymbol{\rm G}}_{\rm B}$  gives the first column of  ${ \boldsymbol{\rm G}}_{\rm C}$.
  • The first column of  ${ \boldsymbol{\rm G}}_{\rm B}$  gives the second column of  ${ \boldsymbol{\rm G}}_{\rm C}$.
  • The second column of  ${ \boldsymbol{\rm G}}_{\rm B}$  gives the third column of  ${ \boldsymbol{\rm G}}_{\rm C}$, etc.


(5)  All statements are true:

  • The condition  ${ \boldsymbol{\rm H}} \cdot { \boldsymbol{\rm G}}^{\rm T} = \boldsymbol{0}$  holds for all linear codes.