Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

Difference between revisions of "Aufgaben:Exercise 3.09: Basics of the Viterbi Algorithm"

From LNTwww
 
(28 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Decodierung von Faltungscodes}}
+
{{quiz-Header|Buchseite=Channel_Coding/Decoding_of_Convolutional_Codes}}
  
[[File:P_ID2659__KC_A_3_8.png|right|frame|Zu analysierendes Trellis]]
+
[[File:P_ID2659__KC_A_3_8.png|right|frame|Trellis to be analyzed]]
Die Grafik zeigt ein Trellisdiagramm und definiert gleichzeitig die Fehlergrößen Γi(S0) und Γi(S1) zu den Zeitpunkten i=0 bis i=5. Aus diesem Trellis können zum Beispiel abgelesen werden:
+
The graph shows a trellis diagram and simultaneously defines the cumulative error values  ("metrics")   Γi(S0)  and  Γi(S1)  at times  i=0  to  i=5.  
* die Coderate R,
 
* das Gedächtnis m,
 
* die freie Distanz dF,
 
* die Informationssequenzlänge L,
 
* die Sequenzlänge L inklusive der Terminierung.
 
  
 +
From this trellis can be read,  for example:
 +
* the code rate  R,
  
In der Aufgabe ist weiter zu klären:
+
* the memory  $m$,
* die Bedeutung des Endwertes ${\it \Gamma}_5(S_0)$,
 
* Auswirkungen von einem bzw. zwei Übertragungsfehlern.
 
  
 +
* the free distance  dF,
  
''Hinweis:''
+
* the information sequence length  L,
* Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Decodierung_von_Faltungscodes| Decodierung von Faltungscodes]].
 
  
 +
* the sequence length  L  including the termination.
  
  
===Fragebogen===
+
In the exercise it is further necessary to clarify:
 +
* the meaning of the final error value  Γ5(S0),
 +
 
 +
* effects of one and two transmission errors,  respectively.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
<u>Hint:</u>&nbsp; This exercise belongs to the chapter&nbsp; [[Channel_Coding/Decoding_of_Convolutional_Codes| "Decoding of Convolutional Codes"]].
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Multiple-Choice
+
{Which of the following statements are confirmed by the trellis?
 
|type="[]"}
 
|type="[]"}
+ correct
+
+ It is a rate-1/2 convolutional code.
- false
+
- The memory of the code is&nbsp; m=2.
 +
+ The convolutional code is terminated.
 +
- The length of the information sequence is&nbsp; L=5.
  
{Input-Box Frage
+
{Specify the free distance&nbsp; dF&nbsp; of the convolutional code.
 
|type="{}"}
 
|type="{}"}
$xyz \ = \ ${ 5.4 3% } $ab$
+
$d_{\rm F} \ = \ ${ 3 3% }  
 +
 
 +
{What statements does the final value&nbsp; Γ5(S0)=0&nbsp; of the metric allow?
 +
|type="[]"}
 +
- No transmission error has occurred.
 +
- The decoding result &nbsp; v_ &nbsp; is certainly correct&nbsp; (equal&nbsp; u_).
 +
+ The decoding result minimizes the probability &nbsp; {\rm Pr}(\underline{v} &ne; \underline{u}).
 +
 
 +
{Which statements are true&nbsp; <u>in the case of a single</u>&nbsp; transmission error?
 +
|type="[]"}
 +
+ The final metric is&nbsp; Γ5(S0)=1.
 +
+ The decoding result&nbsp; v_&nbsp; is certainly correct&nbsp; (equal&nbsp; u_).
 +
+ The decoding result minimizes the probability &nbsp; {\rm Pr}(\underline{v} &ne; \underline{u}).
 +
 
 +
{Which statements are true&nbsp; <u>in the case of two</u>&nbsp; transmission errors?
 +
|type="[]"}
 +
- The final metric is&nbsp; Γ5(S0)=2.
 +
- The decoding result&nbsp; v_&nbsp; is certainly correct&nbsp; (equal&nbsp; u_).
 +
- The decoding result&nbsp; v_&nbsp; is certainly false&nbsp; $($unequal&nbsp; $\underline{u})$.
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp;  
+
'''(1)'''&nbsp; Correct are the&nbsp; <u>solutions 1 and 3</u>:
'''(2)'''&nbsp;  
+
*There are &nbsp; 2km=2 &nbsp; states here.&nbsp; It follows that&nbsp; k=1&nbsp; and&nbsp; m=1.
'''(3)'''&nbsp;  
+
'''(4)'''&nbsp;  
+
*Per coding step,&nbsp; n=2&nbsp; code bits are output &nbsp; &#8658; &nbsp; R=1/2.
'''(5)'''&nbsp;  
+
 +
*The information sequence length is&nbsp; L=4.
 +
 +
*Only by one&nbsp; (since&nbsp; m=1)&nbsp; additional termination bit one arrives at the total length&nbsp; L=5.
 +
 
 +
 
 +
 
 +
'''(2)'''&nbsp; The free distance&nbsp; dF&nbsp; is defined as the number of code bits in which two sequences&nbsp; x_&nbsp; and&nbsp; x_&nbsp; differ.&nbsp;
 +
*We choose the zero sequence as the reference sequence:
 +
:x_=0_=(00,00,00,00,...),
 +
 
 +
:expressed with the sequence of states: &nbsp; S_0 &#8594; S_0 &#8594; S_0 &#8594; S_0 &#8594; \ \text{...} \
 +
*One of the sequences&nbsp; \underline{x} &ne; \underline{0},&nbsp; which differs from &nbsp; 0_ &nbsp; only in the minimum number of code bits,&nbsp; follows the path&nbsp; S_0 &#8594; S_1 &#8594; S_0 &#8594; S_0 &#8594; \text{...} \:
 +
:$$\underline{x} = \big (11\hspace{0.05cm}, 01\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, ... \hspace{0.1cm} \big )
 +
\hspace{0.3cm}\Rightarrow \hspace{0.3cm} d_{\rm F}\hspace{0.1cm}\underline{ = 3}
 +
\hspace{0.05cm}.$$
 +
 
 +
 
 +
[[File:P_ID2660__KC_A_3_9c.png|right|frame|Trellis without error&nbsp; (above)&nbsp; and with three transmission errors&nbsp; (below)]]
 +
[[File:P_ID2661__KC_A_3_9e.png|right|frame|Trellis with two transmission errors]]
 +
 
 +
'''(3)'''&nbsp; Only&nbsp; <u>proposition 3</u>&nbsp; is correct here,&nbsp; because the event&nbsp; "No transmission error"&nbsp; is much more likely than three errors at exactly specified positions.&nbsp; Consider the graph:
 +
*If the zero sequence is sent and this is also received,&nbsp; the Viterbi decoding can be illustrated by the upper trellis.
 +
 +
*The final value of the metric is&nbsp; Γ5(S0)=0,&nbsp; and the Viterbi decoder decides correctly with certainty: &nbsp;  \underline{z} = \underline{x} &nbsp;&#8658;&nbsp; \underline{v} = \underline{u}.
 +
 
 +
*For the lower trellis,&nbsp; we also assume&nbsp; \underline{u} = (0, \, 0, \, 0, \, 0 \, 0) &nbsp; &#8658; &nbsp; \underline{x} = (00, \, 00, \, 00, \, 00, \, 00).
 +
 
 +
*However,&nbsp; y_=(00,00,00,11,01)&nbsp; is received now.&nbsp;
 +
 
 +
*Nevertheless,&nbsp; Γ5(S0)=0&nbsp; holds.&nbsp; The example proves that the first two statements are false.
 +
 
 +
 
 +
'''(4)'''&nbsp; Correct are <u>all answers</u>:&nbsp; If it is known for sure that only one transmission error occurred,&nbsp; for a convolutional code with free distance&nbsp; dF=3&nbsp; the Viterbi algorithm works perfectly,&nbsp; no matter at which position the error occurred.
 +
 
 +
 
 +
'''(5)'''&nbsp;<u> None of the proposed solutions</u> is correct, as can be seen from the second graphic.
 +
 
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
  
[[Category:Aufgaben zu  Kanalcodierung|^3.4 Decodierung von Faltungscodes^]]
+
[[Category:Channel Coding: Exercises|^3.4 Decoding of Convolutional Codes^]]

Latest revision as of 15:08, 18 November 2022

Trellis to be analyzed

The graph shows a trellis diagram and simultaneously defines the cumulative error values  ("metrics")   Γi(S0)  and  Γi(S1)  at times  i=0  to  i=5.

From this trellis can be read,  for example:

  • the code rate  R,
  • the memory  m,
  • the free distance  dF,
  • the information sequence length  L,
  • the sequence length  L  including the termination.


In the exercise it is further necessary to clarify:

  • the meaning of the final error value  Γ5(S0),
  • effects of one and two transmission errors,  respectively.



Hint:  This exercise belongs to the chapter  "Decoding of Convolutional Codes".





Questions

1

Which of the following statements are confirmed by the trellis?

It is a rate-1/2 convolutional code.
The memory of the code is  m=2.
The convolutional code is terminated.
The length of the information sequence is  L=5.

2

Specify the free distance  dF  of the convolutional code.

dF = 

3

What statements does the final value  Γ5(S0)=0  of the metric allow?

No transmission error has occurred.
The decoding result   v_   is certainly correct  (equal  u_).
The decoding result minimizes the probability   Pr(v_u_).

4

Which statements are true  in the case of a single  transmission error?

The final metric is  Γ5(S0)=1.
The decoding result  v_  is certainly correct  (equal  u_).
The decoding result minimizes the probability   Pr(v_u_).

5

Which statements are true  in the case of two  transmission errors?

The final metric is  Γ5(S0)=2.
The decoding result  v_  is certainly correct  (equal  u_).
The decoding result  v_  is certainly false  (unequal  u_).


Solution

(1)  Correct are the  solutions 1 and 3:

  • There are   2km=2   states here.  It follows that  k=1  and  m=1.
  • Per coding step,  n=2  code bits are output   ⇒   R=1/2.
  • The information sequence length is  L=4.
  • Only by one  (since  m=1)  additional termination bit one arrives at the total length  L=5.


(2)  The free distance  dF  is defined as the number of code bits in which two sequences  x_  and  x_  differ. 

  • We choose the zero sequence as the reference sequence:
x_=0_=(00,00,00,00,...),
expressed with the sequence of states:   S0S0S0S0 ... 
  • One of the sequences  x_0_,  which differs from   0_   only in the minimum number of code bits,  follows the path  S0S1S0S0... :
x_=(11,01,00,00,...)dF=3_.


Trellis without error  (above)  and with three transmission errors  (below)
Trellis with two transmission errors

(3)  Only  proposition 3  is correct here,  because the event  "No transmission error"  is much more likely than three errors at exactly specified positions.  Consider the graph:

  • If the zero sequence is sent and this is also received,  the Viterbi decoding can be illustrated by the upper trellis.
  • The final value of the metric is  Γ5(S0)=0,  and the Viterbi decoder decides correctly with certainty:   z_=x_v_=u_.
  • For the lower trellis,  we also assume  u_=(0,0,0,00)x_=(00,00,00,00,00).
  • However,  y_=(00,00,00,11,01)  is received now. 
  • Nevertheless,  Γ5(S0)=0  holds.  The example proves that the first two statements are false.


(4)  Correct are all answers:  If it is known for sure that only one transmission error occurred,  for a convolutional code with free distance  dF=3  the Viterbi algorithm works perfectly,  no matter at which position the error occurred.


(5)  None of the proposed solutions is correct, as can be seen from the second graphic.