Difference between revisions of "Aufgaben:Exercise 1.13: Binary Erasure Channel Decoding"

From LNTwww
(Die Seite wurde neu angelegt: „{{quiz-Header|Buchseite=Kanalcodierung/Decodierung linearer Blockcodes }} [[File:|right|]] ===Fragebogen=== <quiz display=simple> {Multiple-Choice Frage…“)
 
 
(36 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Decodierung linearer Blockcodes
+
{{quiz-Header|Buchseite=Channel_Coding/Decoding_of_Linear_Block_Codes}}
  
 +
[[File:EN_KC_A_1_13.png|right|frame|Decoding at the BEC]]
  
}}
+
We assume here the model in section&nbsp; [[Channel_Coding/Decoding_of_Linear_Block_Codes#Decoding_at_the_Binary_Erasure_Channel|"Decoding at the Binary Erasure Channel"]]&nbsp; (BEC configuration highlighted in green):
  
[[File:|right|]]
+
*Each information word&nbsp; $\underline{u}$&nbsp; is encoded blockwise and yields the code word&nbsp; $\underline{x}$.&nbsp; Let the block code be linear and completely given by its parity-check matrix&nbsp; $\boldsymbol{\rm H}$.
  
 +
*During transmission&nbsp; $n_{\rm E}$&nbsp; bits of the code word are erased &nbsp; ⇒ &nbsp;[[Channel_Coding/Channel_Models_and_Decision_Structures#Binary_Erasure_Channel_.E2.80.93_BEC|"Binary Erasure Channel"]]&nbsp; $\rm (BEC)$.&nbsp; The code word&nbsp; $\underline{x}$&nbsp; thus becomes the received word&nbsp; $\underline{y}$.
  
===Fragebogen===
+
*If the number&nbsp; $n_{\rm E}$&nbsp; of erasures is less than the&nbsp; [[Channel_Coding/Objective_of_Channel_Coding#Important_definitions_for_block_coding|"minimum distance"]]&nbsp; $d_{\rm min}$&nbsp; of the code,&nbsp; it is possible to reconstruct from&nbsp; $\underline{y}$&nbsp; the code word&nbsp; $\underline{z} = \underline{x}$&nbsp; without error,&nbsp; and thus the correct information word&nbsp; $\underline{v} = \underline{u}$&nbsp; is also obtained.
  
 +
 +
For exercise description,&nbsp; let us now consider the Hamming code word&nbsp; $\underline{x} = (0, 1, 0, 1, 1, 0, 0)$&nbsp; and the received word&nbsp; $\underline{y} = (0, 1, {\rm E} , {\rm E}, 1, 0, 0).$
 +
 +
*The third and fourth bit were thus erased by the channel.&nbsp; The&nbsp; "code word finder"&nbsp; thus has the task to determine the vector&nbsp; $z_{\rm E} = (z_{3}, z_{4})$&nbsp; with&nbsp; $z_{3}, \ z_{4} \in \{0, 1\}$&nbsp; to be determined.&nbsp; This is done according to the equation
 +
 +
:$${ \boldsymbol{\rm H}}_{\rm E} \cdot \underline{z}_{\rm E}^{\rm T}= { \boldsymbol{\rm H}}_{\rm K} \cdot \underline{z}_{\rm K}^{\rm T}\hspace{0.05cm}.$$
 +
 +
*In the present example:
 +
 +
:$$\underline{z}_{\rm K} = (0, 1, 1, 0, 0)\hspace{0.05cm},\hspace{0.3cm}{ \boldsymbol{\rm H}}_{\rm K} = \begin{pmatrix} 1 &1 &1 &0 &0\\ 0 &1 &0 &1 &0\\ 1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.3cm}{ \boldsymbol{\rm H}}_{\rm E} = \begin{pmatrix} 1 &0\\ 1 &1\\ 0 &1 \end{pmatrix} \hspace{0.05cm}.$$
 +
 +
*This equation gives two equations for the bits to be determined,&nbsp; whose solution leads to the result&nbsp; $z_{3} = 0$&nbsp; and&nbsp; $z_{4} = 1$.
 +
 +
 +
 +
 +
Hints:
 +
* This exercise belongs to the chapter&nbsp; [[Channel_Coding/Decoding_of_Linear_Block_Codes|"Decoding of Linear Block Codes"]].
 +
 +
* The algorithm for mapping the received word&nbsp; $\underline{y}$&nbsp; to the correct code word&nbsp; $\underline{z} = \underline{x}$ &nbsp; is described in detail in the&nbsp; [[Channel_Coding/Decoding_of_Linear_Block_Codes#Decoding_at_the_Binary_Erasure_Channel|"theory section"]]&nbsp;.
 +
 +
* We would like to remind again that in BEC decoding we use the first decoder block&nbsp; $\underline{y} → \underline{z}$&nbsp; as&nbsp; "code word finder"&nbsp; since wrong decisions are excluded here.&nbsp; Each received word is decoded correctly,&nbsp; or it may not be decoded at all.
 +
 +
*In the BSC model,&nbsp; on the other hand,&nbsp; decoding errors cannot be avoided.&nbsp; Accordingly,&nbsp; we refer to the corresponding block there as&nbsp; "code word estimator".
 +
 +
 +
 +
 +
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Multiple-Choice Frage
+
{&nbsp; $\underline{y} = (1, {\rm E}, 0, 1, 0, 0, {\rm E})$&nbsp; was received.&nbsp; Which sequence does the code word finder decide to use?
 +
|type="()"}
 +
- $\underline{z} = (1, 0, 0, 1, 0, 0, 0),$
 +
+ $\underline{z} = (1, 1, 0, 1, 0, 0, 1),$
 +
- $\underline{z} = (1, 0, 0, 1, 0, 0, 1).$
 +
 
 +
{What are the consequences of the red entries for&nbsp; $\boldsymbol{\rm H}_{\rm K}$&nbsp; and&nbsp; $z_{\rm K}$&nbsp; (see graphic in the information section)?
 
|type="[]"}
 
|type="[]"}
- Falsch
+
+ The erasure vector is&nbsp; $\underline{z}_{\rm E} = (z_{5}, z_{6}, z_{7}).$
+ Richtig
+
+ The received word is&nbsp; $\underline{y} = (1, 1, 0, 1, {\rm E}, {\rm E}, {\rm E}).$
 +
- $\boldsymbol{\rm H}_{\rm E}$&nbsp; is a&nbsp; $2 \times 3$&nbsp; matrix.
 +
+ $\boldsymbol{\rm H}_{\rm E}$&nbsp; is a&nbsp; $3 \times 3$&nbsp; matrix.
  
 +
{Now apply&nbsp; $\underline{y} = (1, 1, 0, 1, {\rm E}, {\rm E}, {\rm E}).$&nbsp; Which code word is selected?
 +
|type="()"}
 +
- $\underline{z} = (1, 1, 0, 1, 1, 1, 0),$
 +
+ $\underline{z} = (1, 1, 0, 1, 0, 0, 1),$
 +
- $\underline{z} = (1, 1, 0, 0, 0, 1, 0).$
 +
- For the present&nbsp; $\underline{y}$ &nbsp; no unique decoding is possible.
  
{Input-Box Frage
+
{What are the consequences of the green entries for&nbsp; $\boldsymbol{\rm H}_{\rm K}$&nbsp; and&nbsp; $z_{\rm K}$&nbsp; (see graphic in the information section)?
|type="{}"}
+
|type="[]"}
$\alpha$ = { 0.3 }
+
+ The received word is&nbsp; $\underline{y} = (1, 1, 0, {\rm E}, 0, {\rm E}, {\rm E}).$
 
+
- $\boldsymbol{\rm H}_{\rm K}$&nbsp; differs from subtask&nbsp; '''(2)'''&nbsp; in the last row.
 +
+ $\boldsymbol{\rm H}_{\rm K}$&nbsp; differs from subtask&nbsp; '''(2)'''&nbsp; in the last column.
  
 +
{Now apply&nbsp; $\underline{y} = (1, 1, 0, {\rm E}, 0, {\rm E}, {\rm E}).$&nbsp; Which code word is selected?
 +
|type="()"}
 +
- $\underline{z} = (1, 1, 0, 1, 1, 1, 0),$
 +
- $\underline{z} = (1, 1, 0, 1, 0, 0, 1),$
 +
- $\underline{z} = (1, 1, 0, 0, 0, 1, 0).$
 +
+ For the present&nbsp; $\underline{y}$ &nbsp; no unique decoding is possible.
  
 +
{Which statements result for the correction capability at the BEC?&nbsp; $n_{\rm E}$&nbsp; indicates in the following the number of erasures.
 +
|type="[]"}
 +
+ For&nbsp; $n_{\rm E} < d_{\rm min}$&nbsp; unique decoding is always possible.
 +
- For&nbsp; $n_{\rm E} = d_{\rm min}$&nbsp; unique decoding is always possible.
 +
+ For&nbsp; $n_{\rm E} = d_{\rm min}$&nbsp; sometimes a unique decoding is possible.
 +
+ For&nbsp; $n_{\rm E} > d_{\rm min}$&nbsp; unique decoding is never possible.
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''1.'''
+
'''(1)'''&nbsp;  The received vector is&nbsp; $\underline{y} = (1, {\rm E}, 0, 1, 0, 0, {\rm E})$.&nbsp; Thus,&nbsp; the code symbols at positions 2 and 7 were erased.&nbsp; Based on the given parity-check matrix
'''2.'''
+
 
'''3.'''
+
:$${ \boldsymbol{\rm H}} = \begin{pmatrix} 1 &1 &1 &0 &1 &0 &0\\ 0 &1 &1 &1 &0 &1 &0\\ 1 &1 &0 &1 &0 &0 &1 \end{pmatrix}$$
'''4.'''
+
 
'''5.'''
+
of the Hamming code is obtained for vector and matrix
'''6.'''
+
 
'''7.'''
+
* with respect to all&nbsp; "correctly transmitted code symbols"&nbsp; $($index&nbsp; "$\rm K$"&nbsp; from German&nbsp; "korrekt"$)$&nbsp; which are  known to the code word finder:
{{ML-Fuß}}
+
 
 +
:$$\underline{z}_{\rm K} = (1, 0, 1, 0, 0)\hspace{0.05cm},\hspace{0.3cm}{ \boldsymbol{\rm H}}_{\rm K} = \begin{pmatrix} 1 &1 &0 &1 &0\\ 0 &1 &1 &0 &1\\ 1 &0 &1 &0 &0 \end{pmatrix} \hspace{0.05cm},$$
 +
 
 +
*with respect to the two&nbsp; "erased code symbols"&nbsp; $z_{2}$&nbsp; and&nbsp; $z_{7}$&nbsp; $($index&nbsp; $\rm E)$&nbsp; to be determined:
 +
 
 +
:$$\underline{z}_{\rm E} = (z_2, z_7)\hspace{0.05cm},\hspace{0.3cm}{ \boldsymbol{\rm H}}_{\rm E} = \begin{pmatrix} 1 &0\\ 1 &0\\ 1 &1 \end{pmatrix} \hspace{0.05cm}.$$
 +
 
 +
The equation of determination is thus:
 +
:$${ \boldsymbol{\rm H}}_{\rm E} \cdot \underline{z}_{\rm E}^{\rm T}= { \boldsymbol{\rm H}}_{\rm K} \cdot \underline{z}_{\rm K}^{\rm T}\hspace{0.3cm}
 +
\Rightarrow \hspace{0.3cm} \begin{pmatrix} 1 &0\\ 1 &0\\ 1 &1 \end{pmatrix} \cdot \begin{pmatrix} z_2 \\ z_7 \end{pmatrix} = \begin{pmatrix} 1 &1 &0 &1 &0\\ 0 &1 &1 &0 &1\\ 1 &0 &1 &0 &0 \end{pmatrix} \cdot \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix} \hspace{0.05cm}.$$
 +
 
 +
This results in three equations for the two unknowns&nbsp; $z_{2}$&nbsp; and&nbsp; $z_{7}$:
 +
 
 +
:$${\rm (a)}\ z_{2} = 1,$$
 +
:$${\rm (b)}\ z_{2} = 1,$$
 +
:$${\rm (c)}\ z_{2} + z_{7} = 0 \ \Rightarrow \ z_{7}= 1.$$
 +
 
 +
Thus,&nbsp; the code word finder returns $\underline{z} = (1, 1, 0, 1, 0, 0, 1)$ &nbsp; ⇒ &nbsp; <u>Suggested solution 2</u>.
 +
 
 +
 
 +
'''(2)'''&nbsp;  Looking at the given matrix&nbsp; $\boldsymbol{\rm H}_{\rm K}$,&nbsp; we see that it coincides with the first four columns of the parity-check matrix&nbsp; $\boldsymbol{\rm H}$.
 +
 +
*The erasures thus affect the last three bits of the received word &nbsp; ⇒ &nbsp; $\underline{z}_{\rm E} = (z_{5}, z_{6}, z_{7})$    &nbsp; ⇒ &nbsp;    $\underline{y} = (1, 1, 0, 1, {\rm E}, {\rm E}, {\rm E})$.
 +
*The erasure matrix reads:
 +
 +
:$${ \boldsymbol{\rm H}}_{\rm E} = \begin{pmatrix} 1 &0 &0\\ 0 &1 &0\\ 0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$
 +
 
 +
Correct are therefore the&nbsp; <u>statements 1, 2 and 4</u>.
 +
 
 +
 
 +
'''(3)'''&nbsp; One obtains after some matrix multiplications:
 +
:$${ \boldsymbol{\rm H}}_{\rm K} \cdot \underline{z}_{\rm K}^{\rm T} = \begin{pmatrix} 1 &1 &1 &0\\ 0 &1 &1 &1\\ 1 &1 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} 1 \\ 1 \\ 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} \hspace{0.05cm},\hspace{1cm}
 +
{ \boldsymbol{\rm H}}_{\rm E} \cdot \underline{z}_{\rm E}^{\rm T} = \begin{pmatrix} 1 &0 &0\\ 0 &1 &0\\ 0 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} z_5 \\ z_6 \\ z_7 \end{pmatrix} = \begin{pmatrix} z_5 \\ z_6 \\ z_7 \end{pmatrix} \hspace{0.05cm}.$$
 +
 +
*By equating it follows&nbsp; $z_{5} = 0, \ z_{6} = 0, \ z_{7} = 1$ &nbsp; ⇒ &nbsp; <u>Suggested solution 2</u>.
 +
 
 +
 
 +
 
 +
'''(4)'''&nbsp; The matrix comparison shows that the first three columns of&nbsp; $\boldsymbol{\rm H}$ &nbsp; and &nbsp; $\boldsymbol{\rm H}_{\rm K}$ &nbsp; are identical.
 +
* The fourth column of&nbsp; $\boldsymbol{\rm H}_{\rm K}$&nbsp; is equal to the fifth column of the parity-check matrix&nbsp; $\boldsymbol{\rm H}$.
 +
 +
*From this follows for the vector&nbsp; $z_{\rm E} = (z_{4}, z_{6}, z_{7})$&nbsp; and further for the received vector&nbsp; $\underline{y} = (1, 1, 0, {\rm E}, 0, {\rm E}, {\rm E})$ &nbsp; ⇒ &nbsp; <u>Suggested solutions 1 and 3</u>.
 +
 
 +
 
 +
'''(5)'''&nbsp;  Analogous to subtask&nbsp; '''(3)''',&nbsp; we obtain:
 +
 +
:$${ \boldsymbol{\rm H}}_{\rm K} \cdot \underline{z}_{\rm K}^{\rm T} = \begin{pmatrix} 1 &1 &1 &1\\ 0 &1 &1 &0\\ 1 &1 &0 &0 \end{pmatrix} \cdot \begin{pmatrix} 1 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} \hspace{0.05cm},\hspace{1cm}
 +
{ \boldsymbol{\rm H}}_{\rm E} \cdot \underline{z}_{\rm E}^{\rm T} = \begin{pmatrix} 0 &0 &0\\ 1 &1 &0\\ 1 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} z_4 \\ z_6 \\ z_7 \end{pmatrix} = \begin{pmatrix} 0 \\ z_4 + z_6 \\ z_4 + z_7 \end{pmatrix} \hspace{0.05cm}.$$
 +
 +
*If we now set the two column vectors equal,&nbsp;  we obtain only two equations for the three unknowns &nbsp; ⇒ &nbsp; <u>Suggested solution 4</u>.&nbsp; Or in other words: &nbsp;
 +
 
 +
*If the number of extinctions of the BEC channel is larger than the rank of the matrix $\boldsymbol{\rm H}_{\rm E}$,&nbsp; then no unique solution of the resulting system of equations results.
 +
 
 +
 
 +
 
 +
'''(6)'''&nbsp; To solve this exercise,&nbsp; we again refer to the systematic Hamming code&nbsp; $(7, 4, 3)$&nbsp; according to the given parity-check equation and code table.&nbsp; <u>Note:</u>&nbsp;
 +
[[File:P_ID2540__KC_A_1_13f.png|right|frame|Code table of the systematic&nbsp; $(7, 4, 3)$&nbsp; Hamming code<br><br><br>]]
 +
*The information bits are shown in black and the parity bits in red.&nbsp; The minimum distance of this code is&nbsp; $d_{\rm min} = 3$.
 +
 
 +
*Further we assume that always the code word&nbsp; $\underline{x} = (1, 1, 0, 1, 0, 0, 1)$&nbsp; with yellow background was sent.&nbsp; Then holds:
 +
 
 +
*If the number&nbsp; $n_{\rm E}$&nbsp; of erasures is smaller than&nbsp; $d_{\rm min} = 3$,&nbsp; decoding by the method described here is always possible &nbsp; ⇒ &nbsp; see e.g. subtask&nbsp; '''(1)'''&nbsp; with&nbsp; $n_{\rm E}= 2$.
 +
 
 +
*For&nbsp; $n_{\rm E} = d_{\rm min} = 3$&nbsp; decoding is sometimes possible,&nbsp; see subtask&nbsp; '''(3)'''.&nbsp; In the code table,&nbsp; there is only one code word that could match &nbsp; $\underline{y} = (1, 1, 0, 1, {\rm E}, {\rm E}, {\rm E})$ &nbsp; namely the code word highlighted in yellow &nbsp; $\underline{x} = (1, 1, 0, 1, 0, 0, 1)$ .
 +
 
 +
*In contrast &nbsp; $\underline{y} = (1, 1, 0, {\rm E}, 0, {\rm E}, {\rm E})$&nbsp; according to subtask&nbsp; '''(4)'''&nbsp; could not be decoded. In the code table, besides&nbsp; $(1, 1, 0, 1, 0, 0, 1)$&nbsp; with&nbsp; $(1, 1, 0, 0, 0, 1, 0)$&nbsp; one can recognize another code word&nbsp; (highlighted in green),&nbsp; which becomes the received word&nbsp; $\underline{y}$&nbsp; due to the&nbsp; $n_{\rm E} = 3$&nbsp; erasures concerning bit 4, 6 and 7.
 +
 
 +
*This case,&nbsp; when the&nbsp; $n_{\rm E} = d_{\rm min}$&nbsp; extinctions affect exactly the&nbsp; $d_{\rm min}$&nbsp; different bits of two code words, leads to a matrix&nbsp; $\mathbf{H}_{\rm E}$&nbsp; with rank smaller&nbsp; $d_{\rm min}$.
 +
 
 +
*If&nbsp; $n_{\rm E} > d_{\rm min}$, the number&nbsp; $n - n_{\rm E}$&nbsp; of bits not erased is smaller than the number&nbsp; $k$&nbsp; of information bits.&nbsp; In this case,&nbsp; of course,&nbsp; the code word cannot be decoded.
  
  
 +
That is: &nbsp; Applicable are the&nbsp; <u>statements 1, 3 and 4</u>.
 +
{{ML-Fuß}}
  
[[Category:Aufgaben zu  Kanalcodierung|^1.5 Decodierung linearer Blockcodes
 
  
  
^]]
+
[[Category:Channel Coding: Exercises|^1.5 Linear Block Code Decoding^]]

Latest revision as of 18:02, 23 January 2023

Decoding at the BEC

We assume here the model in section  "Decoding at the Binary Erasure Channel"  (BEC configuration highlighted in green):

  • Each information word  $\underline{u}$  is encoded blockwise and yields the code word  $\underline{x}$.  Let the block code be linear and completely given by its parity-check matrix  $\boldsymbol{\rm H}$.
  • During transmission  $n_{\rm E}$  bits of the code word are erased   ⇒  "Binary Erasure Channel"  $\rm (BEC)$.  The code word  $\underline{x}$  thus becomes the received word  $\underline{y}$.
  • If the number  $n_{\rm E}$  of erasures is less than the  "minimum distance"  $d_{\rm min}$  of the code,  it is possible to reconstruct from  $\underline{y}$  the code word  $\underline{z} = \underline{x}$  without error,  and thus the correct information word  $\underline{v} = \underline{u}$  is also obtained.


For exercise description,  let us now consider the Hamming code word  $\underline{x} = (0, 1, 0, 1, 1, 0, 0)$  and the received word  $\underline{y} = (0, 1, {\rm E} , {\rm E}, 1, 0, 0).$

  • The third and fourth bit were thus erased by the channel.  The  "code word finder"  thus has the task to determine the vector  $z_{\rm E} = (z_{3}, z_{4})$  with  $z_{3}, \ z_{4} \in \{0, 1\}$  to be determined.  This is done according to the equation
$${ \boldsymbol{\rm H}}_{\rm E} \cdot \underline{z}_{\rm E}^{\rm T}= { \boldsymbol{\rm H}}_{\rm K} \cdot \underline{z}_{\rm K}^{\rm T}\hspace{0.05cm}.$$
  • In the present example:
$$\underline{z}_{\rm K} = (0, 1, 1, 0, 0)\hspace{0.05cm},\hspace{0.3cm}{ \boldsymbol{\rm H}}_{\rm K} = \begin{pmatrix} 1 &1 &1 &0 &0\\ 0 &1 &0 &1 &0\\ 1 &1 &0 &0 &1 \end{pmatrix} \hspace{0.05cm}, \hspace{0.3cm}{ \boldsymbol{\rm H}}_{\rm E} = \begin{pmatrix} 1 &0\\ 1 &1\\ 0 &1 \end{pmatrix} \hspace{0.05cm}.$$
  • This equation gives two equations for the bits to be determined,  whose solution leads to the result  $z_{3} = 0$  and  $z_{4} = 1$.



Hints:

  • The algorithm for mapping the received word  $\underline{y}$  to the correct code word  $\underline{z} = \underline{x}$   is described in detail in the  "theory section" .
  • We would like to remind again that in BEC decoding we use the first decoder block  $\underline{y} → \underline{z}$  as  "code word finder"  since wrong decisions are excluded here.  Each received word is decoded correctly,  or it may not be decoded at all.
  • In the BSC model,  on the other hand,  decoding errors cannot be avoided.  Accordingly,  we refer to the corresponding block there as  "code word estimator".



Questions

1

  $\underline{y} = (1, {\rm E}, 0, 1, 0, 0, {\rm E})$  was received.  Which sequence does the code word finder decide to use?

$\underline{z} = (1, 0, 0, 1, 0, 0, 0),$
$\underline{z} = (1, 1, 0, 1, 0, 0, 1),$
$\underline{z} = (1, 0, 0, 1, 0, 0, 1).$

2

What are the consequences of the red entries for  $\boldsymbol{\rm H}_{\rm K}$  and  $z_{\rm K}$  (see graphic in the information section)?

The erasure vector is  $\underline{z}_{\rm E} = (z_{5}, z_{6}, z_{7}).$
The received word is  $\underline{y} = (1, 1, 0, 1, {\rm E}, {\rm E}, {\rm E}).$
$\boldsymbol{\rm H}_{\rm E}$  is a  $2 \times 3$  matrix.
$\boldsymbol{\rm H}_{\rm E}$  is a  $3 \times 3$  matrix.

3

Now apply  $\underline{y} = (1, 1, 0, 1, {\rm E}, {\rm E}, {\rm E}).$  Which code word is selected?

$\underline{z} = (1, 1, 0, 1, 1, 1, 0),$
$\underline{z} = (1, 1, 0, 1, 0, 0, 1),$
$\underline{z} = (1, 1, 0, 0, 0, 1, 0).$
For the present  $\underline{y}$   no unique decoding is possible.

4

What are the consequences of the green entries for  $\boldsymbol{\rm H}_{\rm K}$  and  $z_{\rm K}$  (see graphic in the information section)?

The received word is  $\underline{y} = (1, 1, 0, {\rm E}, 0, {\rm E}, {\rm E}).$
$\boldsymbol{\rm H}_{\rm K}$  differs from subtask  (2)  in the last row.
$\boldsymbol{\rm H}_{\rm K}$  differs from subtask  (2)  in the last column.

5

Now apply  $\underline{y} = (1, 1, 0, {\rm E}, 0, {\rm E}, {\rm E}).$  Which code word is selected?

$\underline{z} = (1, 1, 0, 1, 1, 1, 0),$
$\underline{z} = (1, 1, 0, 1, 0, 0, 1),$
$\underline{z} = (1, 1, 0, 0, 0, 1, 0).$
For the present  $\underline{y}$   no unique decoding is possible.

6

Which statements result for the correction capability at the BEC?  $n_{\rm E}$  indicates in the following the number of erasures.

For  $n_{\rm E} < d_{\rm min}$  unique decoding is always possible.
For  $n_{\rm E} = d_{\rm min}$  unique decoding is always possible.
For  $n_{\rm E} = d_{\rm min}$  sometimes a unique decoding is possible.
For  $n_{\rm E} > d_{\rm min}$  unique decoding is never possible.


Solution

(1)  The received vector is  $\underline{y} = (1, {\rm E}, 0, 1, 0, 0, {\rm E})$.  Thus,  the code symbols at positions 2 and 7 were erased.  Based on the given parity-check matrix

$${ \boldsymbol{\rm H}} = \begin{pmatrix} 1 &1 &1 &0 &1 &0 &0\\ 0 &1 &1 &1 &0 &1 &0\\ 1 &1 &0 &1 &0 &0 &1 \end{pmatrix}$$

of the Hamming code is obtained for vector and matrix

  • with respect to all  "correctly transmitted code symbols"  $($index  "$\rm K$"  from German  "korrekt"$)$  which are known to the code word finder:
$$\underline{z}_{\rm K} = (1, 0, 1, 0, 0)\hspace{0.05cm},\hspace{0.3cm}{ \boldsymbol{\rm H}}_{\rm K} = \begin{pmatrix} 1 &1 &0 &1 &0\\ 0 &1 &1 &0 &1\\ 1 &0 &1 &0 &0 \end{pmatrix} \hspace{0.05cm},$$
  • with respect to the two  "erased code symbols"  $z_{2}$  and  $z_{7}$  $($index  $\rm E)$  to be determined:
$$\underline{z}_{\rm E} = (z_2, z_7)\hspace{0.05cm},\hspace{0.3cm}{ \boldsymbol{\rm H}}_{\rm E} = \begin{pmatrix} 1 &0\\ 1 &0\\ 1 &1 \end{pmatrix} \hspace{0.05cm}.$$

The equation of determination is thus:

$${ \boldsymbol{\rm H}}_{\rm E} \cdot \underline{z}_{\rm E}^{\rm T}= { \boldsymbol{\rm H}}_{\rm K} \cdot \underline{z}_{\rm K}^{\rm T}\hspace{0.3cm} \Rightarrow \hspace{0.3cm} \begin{pmatrix} 1 &0\\ 1 &0\\ 1 &1 \end{pmatrix} \cdot \begin{pmatrix} z_2 \\ z_7 \end{pmatrix} = \begin{pmatrix} 1 &1 &0 &1 &0\\ 0 &1 &1 &0 &1\\ 1 &0 &1 &0 &0 \end{pmatrix} \cdot \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix} \hspace{0.05cm}.$$

This results in three equations for the two unknowns  $z_{2}$  and  $z_{7}$:

$${\rm (a)}\ z_{2} = 1,$$
$${\rm (b)}\ z_{2} = 1,$$
$${\rm (c)}\ z_{2} + z_{7} = 0 \ \Rightarrow \ z_{7}= 1.$$

Thus,  the code word finder returns $\underline{z} = (1, 1, 0, 1, 0, 0, 1)$   ⇒   Suggested solution 2.


(2)  Looking at the given matrix  $\boldsymbol{\rm H}_{\rm K}$,  we see that it coincides with the first four columns of the parity-check matrix  $\boldsymbol{\rm H}$.

  • The erasures thus affect the last three bits of the received word   ⇒   $\underline{z}_{\rm E} = (z_{5}, z_{6}, z_{7})$   ⇒   $\underline{y} = (1, 1, 0, 1, {\rm E}, {\rm E}, {\rm E})$.
  • The erasure matrix reads:
$${ \boldsymbol{\rm H}}_{\rm E} = \begin{pmatrix} 1 &0 &0\\ 0 &1 &0\\ 0 &0 &1 \end{pmatrix} \hspace{0.05cm}.$$

Correct are therefore the  statements 1, 2 and 4.


(3)  One obtains after some matrix multiplications:

$${ \boldsymbol{\rm H}}_{\rm K} \cdot \underline{z}_{\rm K}^{\rm T} = \begin{pmatrix} 1 &1 &1 &0\\ 0 &1 &1 &1\\ 1 &1 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} 1 \\ 1 \\ 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} \hspace{0.05cm},\hspace{1cm} { \boldsymbol{\rm H}}_{\rm E} \cdot \underline{z}_{\rm E}^{\rm T} = \begin{pmatrix} 1 &0 &0\\ 0 &1 &0\\ 0 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} z_5 \\ z_6 \\ z_7 \end{pmatrix} = \begin{pmatrix} z_5 \\ z_6 \\ z_7 \end{pmatrix} \hspace{0.05cm}.$$
  • By equating it follows  $z_{5} = 0, \ z_{6} = 0, \ z_{7} = 1$   ⇒   Suggested solution 2.


(4)  The matrix comparison shows that the first three columns of  $\boldsymbol{\rm H}$   and   $\boldsymbol{\rm H}_{\rm K}$   are identical.

  • The fourth column of  $\boldsymbol{\rm H}_{\rm K}$  is equal to the fifth column of the parity-check matrix  $\boldsymbol{\rm H}$.
  • From this follows for the vector  $z_{\rm E} = (z_{4}, z_{6}, z_{7})$  and further for the received vector  $\underline{y} = (1, 1, 0, {\rm E}, 0, {\rm E}, {\rm E})$   ⇒   Suggested solutions 1 and 3.


(5)  Analogous to subtask  (3),  we obtain:

$${ \boldsymbol{\rm H}}_{\rm K} \cdot \underline{z}_{\rm K}^{\rm T} = \begin{pmatrix} 1 &1 &1 &1\\ 0 &1 &1 &0\\ 1 &1 &0 &0 \end{pmatrix} \cdot \begin{pmatrix} 1 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} \hspace{0.05cm},\hspace{1cm} { \boldsymbol{\rm H}}_{\rm E} \cdot \underline{z}_{\rm E}^{\rm T} = \begin{pmatrix} 0 &0 &0\\ 1 &1 &0\\ 1 &0 &1 \end{pmatrix} \cdot \begin{pmatrix} z_4 \\ z_6 \\ z_7 \end{pmatrix} = \begin{pmatrix} 0 \\ z_4 + z_6 \\ z_4 + z_7 \end{pmatrix} \hspace{0.05cm}.$$
  • If we now set the two column vectors equal,  we obtain only two equations for the three unknowns   ⇒   Suggested solution 4.  Or in other words:  
  • If the number of extinctions of the BEC channel is larger than the rank of the matrix $\boldsymbol{\rm H}_{\rm E}$,  then no unique solution of the resulting system of equations results.


(6)  To solve this exercise,  we again refer to the systematic Hamming code  $(7, 4, 3)$  according to the given parity-check equation and code table.  Note: 

Code table of the systematic  $(7, 4, 3)$  Hamming code


  • The information bits are shown in black and the parity bits in red.  The minimum distance of this code is  $d_{\rm min} = 3$.
  • Further we assume that always the code word  $\underline{x} = (1, 1, 0, 1, 0, 0, 1)$  with yellow background was sent.  Then holds:
  • If the number  $n_{\rm E}$  of erasures is smaller than  $d_{\rm min} = 3$,  decoding by the method described here is always possible   ⇒   see e.g. subtask  (1)  with  $n_{\rm E}= 2$.
  • For  $n_{\rm E} = d_{\rm min} = 3$  decoding is sometimes possible,  see subtask  (3).  In the code table,  there is only one code word that could match   $\underline{y} = (1, 1, 0, 1, {\rm E}, {\rm E}, {\rm E})$   namely the code word highlighted in yellow   $\underline{x} = (1, 1, 0, 1, 0, 0, 1)$ .
  • In contrast   $\underline{y} = (1, 1, 0, {\rm E}, 0, {\rm E}, {\rm E})$  according to subtask  (4)  could not be decoded. In the code table, besides  $(1, 1, 0, 1, 0, 0, 1)$  with  $(1, 1, 0, 0, 0, 1, 0)$  one can recognize another code word  (highlighted in green),  which becomes the received word  $\underline{y}$  due to the  $n_{\rm E} = 3$  erasures concerning bit 4, 6 and 7.
  • This case,  when the  $n_{\rm E} = d_{\rm min}$  extinctions affect exactly the  $d_{\rm min}$  different bits of two code words, leads to a matrix  $\mathbf{H}_{\rm E}$  with rank smaller  $d_{\rm min}$.
  • If  $n_{\rm E} > d_{\rm min}$, the number  $n - n_{\rm E}$  of bits not erased is smaller than the number  $k$  of information bits.  In this case,  of course,  the code word cannot be decoded.


That is:   Applicable are the  statements 1, 3 and 4.