Exercise 1.11: Syndrome Decoding

From LNTwww
Revision as of 13:23, 28 September 2022 by Guenter (talk | contribs)

[[File:EN_KC_A_1_11.png|right|frame|Syndrome and coset leaders
$($incomplete list$)  of  $\rm HC \ (7, \, 4, \, 3)$ ]] To decode a  $(7, \, 4, \, 3)$  Hamming code,  which is defined by its parity-check matrix :'"`UNIQ-MathJax27-QINU`"' "syndrome decoding"  is also suitable.  Since all Hamming codes are perfect,  the result is as good as with the  $($in the general case$)$  more complicated maximum likelihood decoding. For  [[Channel_Coding/Decoding_of_Linear_Block_Codes#Principle_of_syndrome_decoding|"syndrome decoding"]]  one proceeds as follows: *From the received vector  $\underline{y}$   one forms the syndrome  $($it holds  $m = n - k)$: :'"`UNIQ-MathJax28-QINU`"' *In  [[Channel_Coding/Channel_Models_and_Decision_Structures#Binary_Symmetric_Channel_.E2.80.93_BSC|"BSC channel"]]  the received word   $\underline{y} = \underline{x} \, ({\rm codeword}) + \underline{e} \, ({\rm error\:vector})$   is also an element of  ${\rm GF}(2^n)$,  and it holds because of   $ \underline{x} · \boldsymbol {{\rm H} }^{\rm T} =

\underline{0}$:
:'"`UNIQ-MathJax29-QINU`"'

*Many error patterns  $\underline{e}$  lead to the same syndrome  $\underline{s}$.  One now groups those error patterns with the same syndrome  $\underline{s}_{\mu}$  to the coset  ${\it \Psi}_{\mu}$.

*The coset leader  $\underline{e}_{\mu}$  is the fault vector that has the lowest Hamming weight within the class  ${\it \Psi}_{\mu}$  and is accordingly the most probable.  If there are several of these,  one chooses one of them arbitrarily.


The above graph shows the incomplete list of coset leaders  $\underline{e}_{\mu}$  for each  $\underline{s}_{\mu}$. 
The most likely error vectors
*$\underline{e}_{3}$  with syndrome  $\underline{s}_{3} = (0, 1, 1)$,
*$\underline{e}_{5}$  with syndrome  $\underline{s}_{5} = (1, 0, 1)$,
*$\underline{e}_{6}$  with syndrome  $\underline{s}_{6} = (1, 1, 0)$,
*$\underline{e}_{7}$  with syndrome  $\underline{s}_{7} = (1, 1, 1)$


are to be determined in the subtasks  '''(4)'''  and  '''(5)'''.






Hints:
* This exercise belongs to the chapter  [[Channel_Coding/Decoding_of_Linear_Block_Codes|"Decoding of Linear Block Codes"]].
 
* Underlying is a Hamming code with parameters  $n = 7$,  $k = 4$   ⇒   $m = 3$.  All code words have the following format:
:'"`UNIQ-MathJax30-QINU`"'
*The parity-check equations are illustrated on the information sheet for  [[Aufgaben:Exercise_1.11Z:_Syndrome_Decoding_again|"Exercise 1.11Z"]]  which considers the same constellation as in the present exercise.
 
*In the last subtask  '''(6)''',  use the BSC parameter  $ \varepsilon = 0.1$.
 




==='"`UNIQ--h-0--QINU`"'Questions===
'"`UNIQ--quiz-00000002-QINU`"'

==='"`UNIQ--h-1--QINU`"'Solution===
'"`UNIQ--html-00000003-QINU`"'
'''(1)'''  There are a total of  $2^7 = 128$  different code words  $\underline{x}$  and according to the BSC model also  $2^7$  different received words  $y$  and as many error vectors  $\underline{e}$.

*With  $m = 3$  parity bits,  there are  $2^3 = 8$  distinct values for the syndrome,  

:'"`UNIQ-MathJax31-QINU`"'

:and just as many  "cosets".  

*Since in the Hamming code,  which is perfect,  all error vectors belong to one of the eight cosets  ${\it \Psi}_{\mu}$  and,  moreover,  the number of all vectors in all cosets is the same  ("Why should it be different?" Is that enough proof for you?),  we get:

:'"`UNIQ-MathJax32-QINU`"'

*The cosets  ${\it \Psi}_{0}$  include for example - see sample solution to  [[Aufgaben:Exercise_1.11Z:_Syndrome_Decoding_again|"Exercise 1.11Z"]] - the vectors

:'"`UNIQ-MathJax33-QINU`"'
:'"`UNIQ-MathJax34-QINU`"'



'''(2)'''  According to the comments of the last partial result,  the following applies equally:  $N_{7} \ \underline{= 16}$.



'''(3)'''  Correct is  <u>answer 3</u>: 
*The coset leader  $\underline{e}_{\mu}$  is the error vector  $\underline{e}$  with the lowest [[Channel_Coding/Objective_of_Channel_Coding#Important_definitions_for_block_coding|"Hamming weight"]]  $w_{\rm H}(\underline{e})$  that leads to the syndrome  $\underline{s}_{\mu}$.
 
*The (7, 4, 3) Hamming code considered here is perfect.  That is,  all eight coset leaders therefore contain.
:*either no  "one"  $(\underline{e}_{0}$   ⇒   no correction is required$)$,  or
:*exactly a single  "one"  $(\underline{e}_{1}, \hspace{0.05cm} \text{...} \hspace{0.05cm} , \underline{e}_{7}$   ⇒   an information or parity bit must be corrected$)$.



'''(4)'''   It holds  $\underline{s} = \underline{e} · \boldsymbol{\rm H}^{\rm T}$:
:'"`UNIQ-MathJax35-QINU`"'

 

 [[File:P_ID2398__KC_A_1_11d.png|right|frame|All coset leaders of the  $(7, \, 4, \, 3)$  Hamming code '''Korrektur''' ]] 
'''(5)'''  A comparison with the solution to the last subtask shows that  $(0, 1, 0, 0, 0, 0, 0) \cdot \boldsymbol{\rm H}^{\rm T}$  as a syndrome gives the second row of the transposed matrix:

:'"`UNIQ-MathJax36-QINU`"'

:'"`UNIQ-MathJax37-QINU`"'

:'"`UNIQ-MathJax38-QINU`"'

:'"`UNIQ-MathJax39-QINU`"'

:'"`UNIQ-MathJax40-QINU`"'

:'"`UNIQ-MathJax41-QINU`"'

The adjacent graph summarizes again the results of the subtasks  '''(4)'''  and  '''(5)'''.



'''(6)'''   For the  $(7, \, 4, \, 3)$  Hamming code under consideration,  the correct information word is decided if at most one bit within the code word is corrupted during transmission.  It follows:

:'"`UNIQ-MathJax42-QINU`"'

*Uncoded transmission of a block with  $n = k = 4$  bits would result in the same BSC channel:

:'"`UNIQ-MathJax43-QINU`"'

*The comparison is not entirely fair,  however,  since with  $n = 4$  a smaller falsification probability  $\varepsilon$  would have to be applied than with  $n = 7$  $($smaller symbol rate   ⇒   smaller bandwidth   ⇒   smaller noise power$)$.