Difference between revisions of "Aufgaben:Exercise 3.11: Viterbi Path Finding"

From LNTwww
 
(25 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_ID2694__KC_A_3_11.png|right|frame|Ausgewertetes Trellisdiagramm]]
+
[[File:P_ID2694__KC_A_3_11.png|right|frame|Evaluated trellis diagram]]
Ein Ergebnis von [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe A3.10]] war nebenstehende Trellis–Auswertung hinsichtlich der Metriken ${\it \Lambda}(S_{\mu})$. Zu allen Decodierschritten $i$ wurden die (im Allgemeinen) $2^m = 4$ Metriken bestimmt, wobei für jeden Knoten der größere von zwei Vergleichswerten ausgewählt wurde. Der Zweig mit dem niedrigeren Wert wurde verworfen. Man erkennt diese Zweige an punktierten Linien.
+
One result of  [[Aufgaben:Exercise_3.10:_Metric_Calculation| $\text{Exercise 3.10}$]]  was adjacent trellis evaluation in terms of metrics  ${\it \Lambda}_i(S_{\mu})$. 
 +
*At all decoding steps  $i$  the  $($in general$)$  $2^m = 4$  metrics were determined,  selecting for each node the larger of two comparison values. 
  
Ansonsten gelten die gleichen Voraussetzungen wie für die [[Aufgabe A3.10]]. Zum Beispiel kennzeichnet auch in nebenstehender Grafik ein roter Pfeil das Informationsbit $u_i = 0$ und ein blauer Pfeil steht für $u_i = 1$.
+
*The branch with the lower value was discarded. One can recognize discarded branches in the graph by dotted lines.
  
In der vorliegenden Aufgabe betrachten wir den zweiten und wichtigen Teil des Viterbi–Algorithmuses, nämlich die Suche nach den überlebenden Pfaden ${\it \Phi}(S_{\mu})$. Diese befinden sich zum Zeitpunkt $i$ und Zustand $S_{\mu}$. Die Suche organisiert man am besten in Rückwärtsrichtung (also in der Grafik von unten nach oben).
 
  
Zum Endzeitpunkt (im Beispiel $i = 7$) gibt es aufgrund der Terminierung nur einen überlebenden Pfad ${\it \Phi}_7(S_0)$. Aus diesem lässt sich extrahieren:
+
Otherwise,  the same conditions apply as for  [[Aufgaben:Exercise_3.10:_Metric_Calculation| $\text{Exercise 3.10}$]].  For example,  also in the adjacent graph,  a red arrow indicates the information bit  $u_i = 0$  and a blue arrow stands for  $u_i = 1$.
* die vom Decodierer ausgewählte Codesequenz $\underline{z}$  ⇒   größtmögliche Wahrscheinlichkeit ${\rm Pr}(\underline{z} = \underline{x})$,
 
* die dazugehörige Informationssequenz $\upsilon$ mit der größtmöglichen Wahrscheinlichkeit ${\rm Pr}(\underline{\upsilon} = \underline{u})$.
 
  
 +
In the present exercise we consider the second and important part of the Viterbi algorithm,  namely the search for the  "surviving paths"  ${\it \Phi}_i(S_{\mu})$.  These are at time  $i$  in state  $S_{\mu}$  with $\mu \in \{1,\ 2,\ 3,\ 4 \}$.  The search is best organized in the backward direction  $($i.e.,  from bottom to top in the graph$)$.
  
Eine Entscheidung zu einem früheren Zeitpunkt, zum Beispiel bei $i = 5$, erfüllt nicht immer das Maximum–Likelihood–Kriterium. Hier gibt es vier überlebende Pfade ${\it \Phi}_5(S_0), \ ... \ , \ {\it \Phi}_5(S_3)$, die zur Zeit $i = 5$ in den Zuständen $S_0, \ ... \ , \ S_3$ enden. Einer dieser vier Pfade ist mit Sicherheit Teil des Maximum–Likelihood–Pfades, der für $i → ∞$ (bei Terminierung deutlich früher, hier bei $i = 7$) der bestmögliche Pfad ist. Soll aber schon zum Zeitpunkt $i = 5$ ein Zwangsentscheid getroffen werden, so entscheidet man sich meist für den Pfad ${\it \Phi}_5(S_{\mu})$ mit der größten Metrik ${\it \Lambda}_5(S_{\mu})$.
+
At the end time  $($in the example  $i = 7)$  there is only one surviving path  ${\it \Phi}_7(S_0)$ due to termination.  From this it is possible to extract:
 +
* the sequence  $\underline{z}$   selected by the decoder  $($short:  "decoder sequence"$)$    ⇒   highest possible probability  ${\rm Pr}(\underline{z} = \underline{x})$,
  
''Hinweis:''
+
* the associated information sequence  $\underline{v}$  with the greatest possible probability  ${\rm Pr}(\underline{v} = \underline{u})$.
* Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Decodierung_von_Faltungscodes| Decodierung von Faltungscodes]].
 
  
  
 +
A decision at an earlier time,  for example at  $i = 5$,  does not always satisfy the maximum likelihood criterion.  Here there are four surviving paths  ${\it \Phi}_5(S_0), \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ {\it \Phi}_5(S_3)$, which at time  $i = 5$  are in states  $S_0, \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ S_3$.
 +
*One of these four paths is certainly part of the maximum likelihood path,  which is the best possible path for  $i → ∞$  $($at termination significantly earlier,  here at  $i = 7)$.
  
===Fragebogen===
+
*But if a constraint decision is to be made already at time  $i = 5$,  one usually chooses the path  ${\it \Phi}_5(S_{\mu})$  with the largest metric at that time  ${\it \Lambda}_5(S_{\mu})$.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
<u>Hints:</u>
 +
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/Decoding_of_Convolutional_Codes| "Decoding of Convolutional Codes"]].
 +
 
 +
*Reference is made in particular to the section&nbsp; [[Channel_Coding/Decoding_of_Convolutional_Codes#Evaluating_the_trellis_in_the_error-free_case_.E2.80.93_Path_search|"Evaluating the trellis in the error-free case &ndash; Path finding"]].
 +
 +
 
 +
 
 +
 
 +
 
 +
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Multiple-Choice
+
{For which estimated sequence&nbsp; $\underline{z}$&nbsp; $($for the encoded sequence&nbsp; $\underline{z})$&nbsp; does the decision fall at time&nbsp; $i = 7$?
 +
|type="()"}
 +
- $\underline{z} = (11, \, 10, \, 00, \, 01, \, 01, \, 11, \, 00)$,
 +
+ $\underline{z} = (00, \, 11, \, 10, \, 00, \, 01, \, 01, \, 11)$,
 +
- $\underline{z} = (00, \, 11, \, 01, \, 01, \, 00, \, 10, \, 11)$.
 +
 
 +
{How many transmission errors have occurred&nbsp;  $($at least$)$?
 +
|type="{}"}
 +
$N_{\rm bit\:error} \ = \ ${ 3 3% }
 +
 
 +
{Which information sequence&nbsp; $\underline{v}$&nbsp; does the Viterbi decoder choose?
 +
|type="()"}
 +
+ $\underline{v} = (0, \, 1, \, 0, \, 1, \, 1, \, 0, \, 0)$,
 +
- $\underline{v} = (1, \, 0, \, 1, \, 1, \, 0, \, 0, \, 0)$,
 +
- $\underline{v} = (0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0)$.
 +
 
 +
{Would a final&nbsp; $($and correct$)$&nbsp; decision have been possible already at&nbsp; $i = 6$?
 +
|type="()"}
 +
- Yes.
 +
+ No.
 +
 
 +
{What surviving paths exist at time&nbsp; $i = 5$?
 
|type="[]"}
 
|type="[]"}
+ correct
+
+ $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_3 &#8594; S_2 &#8594; S_0$,
- false
+
+ $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_3 &#8594; S_2 &#8594; S_1$,
 +
+ $S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3 &#8594; S_2$,
 +
+ $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3$.
 +
 
 +
{Which path would you choose at time&nbsp; $i = 5$?
 +
|type="()"}
 +
- $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_3 &#8594; S_2 &#8594; S_0$,
 +
- $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_3 &#8594; S_2 &#8594; S_1$,
 +
+ $S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3 &#8594; S_2$,
 +
- $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3$.
  
{Input-Box Frage
+
{But which of the paths would probably be the right one?
|type="{}"}
+
|type="()"}
$xyz \ = \ ${ 5.4 3% } $ab$
+
- $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_3 &#8594; S_2 &#8594; S_0$,
 +
- $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_3 &#8594; S_2 &#8594; S_1$,
 +
- $S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3 &#8594; S_2$,
 +
+ $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3$.
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp;  
+
'''(1)'''&nbsp; Correct is the&nbsp; <u>proposed solution 2</u>:
'''(2)'''&nbsp;  
+
*Unambiguously find the surviving path by searching backwards,&nbsp; i.e.,&nbsp; from node&nbsp; ${\it \Lambda}_7(S_0)$&nbsp; to node&nbsp; ${\it \Lambda}_0(S_0)$.
'''(3)'''&nbsp;  
+
'''(4)'''&nbsp;  
+
*Using the 2-bit sequences&nbsp; $(00, \, 01, \, 10$ or $11)$&nbsp; given at the transitions,&nbsp; we obtain in the forward direction the result according to&nbsp; <u>proposition 2</u>:
'''(5)'''&nbsp;  
+
:$$\underline{z} = \big (00\hspace{0.05cm}, 11\hspace{0.05cm}, 10\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big ) \hspace{0.05cm}.$$
 +
 
 +
*One  not reach the final node&nbsp; ${\it \Lambda}_7(S_0)$&nbsp; along other paths.
 +
 
 +
 
 +
 
 +
'''(2)'''&nbsp; By comparing the decoder sequence&nbsp; $\underline{z}$&nbsp; selected in subtask&nbsp; '''(1)'''&nbsp; with the received sequence
 +
:$$\underline{y} = \big (01\hspace{0.05cm}, 11\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big ),$$
 +
 
 +
one detects&nbsp; <u>three bit errors</u>&nbsp; at positions&nbsp; '''2''',&nbsp; '''5''',&nbsp; and&nbsp; '''8'''.
 +
 +
*If a encoded sequence&nbsp; $\underline{x} &ne; \underline{z}$&nbsp; was sent,&nbsp; there can of course be more.
 +
 +
*Because of the final value&nbsp; ${\it \Lambda}_7(S_0) = 8$&nbsp; or&nbsp; ${\it \Gamma}_7(S_0) = 3$&nbsp; &ndash; see [[Aufgaben:Exercise_3.10:_Metric_Calculation|$\text{Exercise 3.10}$]]&nbsp; &ndash; but one can assume that a correct decision &nbsp; &#8658; &nbsp; $\underline{z} = \underline{x}$&nbsp; has been made.
 +
 
 +
 
 +
[[File:P_ID2697__KC_A_3_11_ML_neu.png|right|frame|Viterbi path finding]]
 +
'''(3)'''&nbsp; Correct is the&nbsp; <u>proposed solution 1</u>:
 +
*From the colors of the surviving path&nbsp; &ndash; red represents&nbsp; $u_i = 0$&nbsp; and blue represents&nbsp; $u_i = 1$&nbsp; &ndash;&nbsp; one can see the correctness of&nbsp; <u>solution proposal 1</u>:&nbsp; red &ndash; blue &ndash; red &ndash; blue &ndash; blue &ndash; red &ndash; red.
 +
 +
*It should be noted that the actual information sequence&nbsp; $\underline{u}$&nbsp; is only of length&nbsp; $L = 5$.&nbsp; Only by termination one arrives at the total length&nbsp; $L' = L + m = 7$.
 +
 
 +
 
 +
'''(4)'''&nbsp; At time&nbsp; $i = 6$&nbsp; there are still two surviving paths.&nbsp;
 +
*A decision could be forcibly made based on the larger metric.&nbsp;
 +
 
 +
*However,&nbsp; because of&nbsp; ${\it \Lambda}_6(S_0) = {\it \Lambda}_6(S_2) = 6$&nbsp; this is not possible in our example &nbsp;&#8658;&nbsp; <u>No</u>.
 +
 
 +
 
 +
'''(5)'''&nbsp; The graph shows that&nbsp; <u>all proposed solutions</u>&nbsp; are correct.&nbsp; The paths are labeled&nbsp; ${\it \Phi}_5(S_0)$, ...  , ${\it \Phi}_5(S_3)$.
 +
 
 +
 
 +
'''(6)'''&nbsp; The constraint decision at&nbsp; time $i = 5$&nbsp; would select the path with the largest metric&nbsp; ${\it \Lambda}_5(S_{\mu})$, <br>i.e.,&nbsp; the path&nbsp; ${\it \Phi}_5(S_2)$&nbsp; corresponding to&nbsp; <u>proposition 3</u>.
 +
 
 +
 
 +
'''(7)'''&nbsp; Based on our solution to subtask&nbsp; '''(1)''',&nbsp; the path&nbsp; ${\it \Phi}_5(S_3)$&nbsp; according to&nbsp; <u>proposition 4</u>&nbsp; would have been the better choice.&nbsp; This is part of the path to&nbsp; ${\it \Phi}_7(S_0)$.
 +
 +
*At time&nbsp; $i = 5$,&nbsp; however,&nbsp; there is still nothing in favor of this choice.
 +
 +
*The&nbsp; (ultimately correct)&nbsp; path is only highlighted by the two termination bits.
 
{{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 16:06, 19 November 2022

Evaluated trellis diagram

One result of  $\text{Exercise 3.10}$  was adjacent trellis evaluation in terms of metrics  ${\it \Lambda}_i(S_{\mu})$. 

  • At all decoding steps  $i$  the  $($in general$)$  $2^m = 4$  metrics were determined,  selecting for each node the larger of two comparison values. 
  • The branch with the lower value was discarded. One can recognize discarded branches in the graph by dotted lines.


Otherwise,  the same conditions apply as for  $\text{Exercise 3.10}$.  For example,  also in the adjacent graph,  a red arrow indicates the information bit  $u_i = 0$  and a blue arrow stands for  $u_i = 1$.

In the present exercise we consider the second and important part of the Viterbi algorithm,  namely the search for the  "surviving paths"  ${\it \Phi}_i(S_{\mu})$.  These are at time  $i$  in state  $S_{\mu}$  with $\mu \in \{1,\ 2,\ 3,\ 4 \}$.  The search is best organized in the backward direction  $($i.e.,  from bottom to top in the graph$)$.

At the end time  $($in the example  $i = 7)$  there is only one surviving path  ${\it \Phi}_7(S_0)$ due to termination.  From this it is possible to extract:

  • the sequence  $\underline{z}$   selected by the decoder  $($short:  "decoder sequence"$)$  ⇒   highest possible probability  ${\rm Pr}(\underline{z} = \underline{x})$,
  • the associated information sequence  $\underline{v}$  with the greatest possible probability  ${\rm Pr}(\underline{v} = \underline{u})$.


A decision at an earlier time,  for example at  $i = 5$,  does not always satisfy the maximum likelihood criterion.  Here there are four surviving paths  ${\it \Phi}_5(S_0), \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ {\it \Phi}_5(S_3)$, which at time  $i = 5$  are in states  $S_0, \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ S_3$.

  • One of these four paths is certainly part of the maximum likelihood path,  which is the best possible path for  $i → ∞$  $($at termination significantly earlier,  here at  $i = 7)$.
  • But if a constraint decision is to be made already at time  $i = 5$,  one usually chooses the path  ${\it \Phi}_5(S_{\mu})$  with the largest metric at that time  ${\it \Lambda}_5(S_{\mu})$.



Hints:



Questions

1

For which estimated sequence  $\underline{z}$  $($for the encoded sequence  $\underline{z})$  does the decision fall at time  $i = 7$?

$\underline{z} = (11, \, 10, \, 00, \, 01, \, 01, \, 11, \, 00)$,
$\underline{z} = (00, \, 11, \, 10, \, 00, \, 01, \, 01, \, 11)$,
$\underline{z} = (00, \, 11, \, 01, \, 01, \, 00, \, 10, \, 11)$.

2

How many transmission errors have occurred  $($at least$)$?

$N_{\rm bit\:error} \ = \ $

3

Which information sequence  $\underline{v}$  does the Viterbi decoder choose?

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

4

Would a final  $($and correct$)$  decision have been possible already at  $i = 6$?

Yes.
No.

5

What surviving paths exist at time  $i = 5$?

$S_0 → S_0 → S_1 → S_3 → S_2 → S_0$,
$S_0 → S_0 → S_1 → S_3 → S_2 → S_1$,
$S_0 → S_1 → S_2 → S_1 → S_3 → S_2$,
$S_0 → S_0 → S_1 → S_2 → S_1 → S_3$.

6

Which path would you choose at time  $i = 5$?

$S_0 → S_0 → S_1 → S_3 → S_2 → S_0$,
$S_0 → S_0 → S_1 → S_3 → S_2 → S_1$,
$S_0 → S_1 → S_2 → S_1 → S_3 → S_2$,
$S_0 → S_0 → S_1 → S_2 → S_1 → S_3$.

7

But which of the paths would probably be the right one?

$S_0 → S_0 → S_1 → S_3 → S_2 → S_0$,
$S_0 → S_0 → S_1 → S_3 → S_2 → S_1$,
$S_0 → S_1 → S_2 → S_1 → S_3 → S_2$,
$S_0 → S_0 → S_1 → S_2 → S_1 → S_3$.


Solution

(1)  Correct is the  proposed solution 2:

  • Unambiguously find the surviving path by searching backwards,  i.e.,  from node  ${\it \Lambda}_7(S_0)$  to node  ${\it \Lambda}_0(S_0)$.
  • Using the 2-bit sequences  $(00, \, 01, \, 10$ or $11)$  given at the transitions,  we obtain in the forward direction the result according to  proposition 2:
$$\underline{z} = \big (00\hspace{0.05cm}, 11\hspace{0.05cm}, 10\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big ) \hspace{0.05cm}.$$
  • One not reach the final node  ${\it \Lambda}_7(S_0)$  along other paths.


(2)  By comparing the decoder sequence  $\underline{z}$  selected in subtask  (1)  with the received sequence

$$\underline{y} = \big (01\hspace{0.05cm}, 11\hspace{0.05cm}, 00\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 01\hspace{0.05cm}, 11\hspace{0.03cm} \big ),$$

one detects  three bit errors  at positions  25,  and  8.

  • If a encoded sequence  $\underline{x} ≠ \underline{z}$  was sent,  there can of course be more.
  • Because of the final value  ${\it \Lambda}_7(S_0) = 8$  or  ${\it \Gamma}_7(S_0) = 3$  – see $\text{Exercise 3.10}$  – but one can assume that a correct decision   ⇒   $\underline{z} = \underline{x}$  has been made.


Viterbi path finding

(3)  Correct is the  proposed solution 1:

  • From the colors of the surviving path  – red represents  $u_i = 0$  and blue represents  $u_i = 1$  –  one can see the correctness of  solution proposal 1:  red – blue – red – blue – blue – red – red.
  • It should be noted that the actual information sequence  $\underline{u}$  is only of length  $L = 5$.  Only by termination one arrives at the total length  $L' = L + m = 7$.


(4)  At time  $i = 6$  there are still two surviving paths. 

  • A decision could be forcibly made based on the larger metric. 
  • However,  because of  ${\it \Lambda}_6(S_0) = {\it \Lambda}_6(S_2) = 6$  this is not possible in our example  ⇒  No.


(5)  The graph shows that  all proposed solutions  are correct.  The paths are labeled  ${\it \Phi}_5(S_0)$, ... , ${\it \Phi}_5(S_3)$.


(6)  The constraint decision at  time $i = 5$  would select the path with the largest metric  ${\it \Lambda}_5(S_{\mu})$,
i.e.,  the path  ${\it \Phi}_5(S_2)$  corresponding to  proposition 3.


(7)  Based on our solution to subtask  (1),  the path  ${\it \Phi}_5(S_3)$  according to  proposition 4  would have been the better choice.  This is part of the path to  ${\it \Phi}_7(S_0)$.

  • At time  $i = 5$,  however,  there is still nothing in favor of this choice.
  • The  (ultimately correct)  path is only highlighted by the two termination bits.