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

From LNTwww
m (Text replacement - "”" to """)
 
(6 intermediate revisions by 2 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 3.10]]  war nebenstehende Trellis–Auswertung hinsichtlich der Metriken  ${\it \Lambda}_i(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 verworfene Zweige in der Grafik 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  [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe 3.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}_i(S_{\mu})$. Diese befinden sich zum Zeitpunkt  $i$  im Zustand  $S_{\mu}$  mit $\mu \in 1, 2, 3, 4$. 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  $\underline{v}$  mit der größtmöglichen Wahrscheinlichkeit  ${\rm Pr}(\underline{v} = \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), \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ {\it \Phi}_5(S_3)$, die zur Zeit  $i = 5$ in den Zuständen  $S_0, \hspace{0.05cm}\text{ ...} \hspace{0.1cm} , \ S_3$  enden.
+
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:
*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.
+
* the sequence  $\underline{z}$   selected by the decoder  $($short:  "decoder sequence"$)$    ⇒   highest possible probability  ${\rm Pr}(\underline{z} = \underline{x})$,
*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 zu diesem Zeitpunkt größten Metrik  ${\it \Lambda}_5(S_{\mu})$.
 
  
 +
* 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})$.
  
''Hinweise:''
+
 
* Die Aufgabe gehört zum Kapitel  [[Channel_Coding/Decodierung_von_Faltungscodes| Decodierung von Faltungscodes]].
+
 
*Bezug genommen wird insbesondere auf die Seite  [[Channel_Coding/Decodierung_von_Faltungscodes#Auswerten_des_Trellis_im_fehlerfreien_Fall_.E2.80.93_Pfadsuche|Auswerten des Trellis im fehlerfreien Fall –Pfadsuche]].
+
 
 +
 
 +
<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"]].
 
   
 
   
  
Line 29: Line 36:
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Für welche Codesequenz&nbsp; $\underline{z}$&nbsp; fällt die Entscheidung zum Zeitpunkt&nbsp; $i = 7$?
+
{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="()"}
 
|type="()"}
 
- $\underline{z} = (11, \, 10, \, 00, \, 01, \, 01, \, 11, \, 00)$,
 
- $\underline{z} = (11, \, 10, \, 00, \, 01, \, 01, \, 11, \, 00)$,
Line 37: Line 44:
 
- $\underline{z} = (00, \, 11, \, 01, \, 01, \, 00, \, 10, \, 11)$.
 
- $\underline{z} = (00, \, 11, \, 01, \, 01, \, 00, \, 10, \, 11)$.
  
{Wieviele Übertragungsfehler sind (mindestens) aufgetreten?
+
{How many transmission errors have occurred&nbsp;  $($at least$)$?
 
|type="{}"}
 
|type="{}"}
$N_{\rm Bitfehler} \ = \ ${ 3 3% }  
+
$N_{\rm bit\:error} \ = \ ${ 3 3% }  
  
{Für welche Informationssequenz&nbsp; $\underline{v}$&nbsp; entscheidet sich der Viterbi&ndash;Decoder?
+
{Which information sequence&nbsp; $\underline{v}$&nbsp; does the Viterbi decoder choose?
 
|type="()"}
 
|type="()"}
 
+ $\underline{v} = (0, \, 1, \, 0, \, 1, \, 1, \, 0, \, 0)$,
 
+ $\underline{v} = (0, \, 1, \, 0, \, 1, \, 1, \, 0, \, 0)$,
Line 47: Line 54:
 
- $\underline{v} = (0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0)$.
 
- $\underline{v} = (0, \, 0, \, 0, \, 0, \, 0, \, 0, \, 0)$.
  
{Wäre bereits bei&nbsp; $i = 6$&nbsp; eine endgültige (und riohtige) Entscheidung möglich gewesen?
+
{Would a final&nbsp; $($and correct$)$&nbsp; decision have been possible already at&nbsp; $i = 6$?
 
|type="()"}
 
|type="()"}
- Ja.
+
- Yes.
+ Nein.
+
+ No.
  
{Welche überlebenden Pfade gibt es zum Zeitpunkt&nbsp; $i = 5$?
+
{What surviving paths exist at time&nbsp; $i = 5$?
 
|type="[]"}
 
|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_0$,
Line 59: Line 66:
 
+ $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3$.
 
+ $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3$.
  
{Für welchen Pfad würde man sich zum Zeitpunkt&nbsp; $i = 5$&nbsp; entscheiden?
+
{Which path would you choose at time&nbsp; $i = 5$?
 
|type="()"}
 
|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_0$,
Line 66: Line 73:
 
- $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3$.
 
- $S_0 &#8594; S_0 &#8594; S_1 &#8594; S_2 &#8594; S_1 &#8594; S_3$.
  
{Welcher der Pfade wäre aber wahrscheinlich der richtige?
+
{But which of the paths would probably be the right one?
 
|type="()"}
 
|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_0$,
Line 74: Line 81:
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Richtig ist der <u>Lösungsvorschlag 2</u>:
+
'''(1)'''&nbsp; Correct is the&nbsp; <u>proposed solution 2</u>:
*Eindeutig findet man den überlebenden Pfad durch Rückwärtssuche, also vom Knoten ${\it \Lambda}_7(S_0)$ zum Knoten ${\it \Lambda}_0(S_0)$.  
+
*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)$.
*Anhand der an den Übergängen angegebenen Codesequenzen $(00, \, 01, \, 10$ oder $11)$ erhält man in Vorwärtsrichtung das Ergebnis gemäß <u>Vorschlag 2</u> &nbsp; &#8658; &nbsp; ${\it \Phi}_7(S_0)$:
+
 +
*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>:
 
:$$\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}.$$
 
:$$\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}.$$
  
*Entlang der anderen Pfade gelangt man nicht bis zum Endknoten ${\it \Lambda}_7(S_0)$.
+
*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 ),$$
  
'''(2)'''&nbsp; Durch Vergleich der in der Teilaufgabe (1) ausgewählten Codesequenz $\underline{z}$ mit der Empfangssequenz
+
one detects&nbsp; <u>three bit errors</u>&nbsp; at positions&nbsp; '''2''',&nbsp; '''5''',&nbsp; and&nbsp; '''8'''.
:$$\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 )$$
+
 +
*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.
  
erkennt man <u>drei Bitfehler</u> an den Positionen 2, 5 und 8.
 
*Wurde eine Codesequenz $\underline{x} &ne; \underline{z}$ gesendet, so können es natürlich mehr sein.
 
*Aufgrund des Endwertes ${\it \Lambda}_7(S_0) = 8$ bzw. ${\it \Gamma}_7(S_0) = 3$ &ndash; siehe [[Aufgaben:3.10_Fehlergr%C3%B6%C3%9Fenberechnung| Aufgabe 3.10]] &ndash; kann man aber davon ausgehen, dass eine richtige Entscheidung &nbsp; &#8658; &nbsp; $\underline{z} = \underline{x}$ getroffen wurde.
 
  
 +
[[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$.
  
[[File:P_ID2697__KC_A_3_11_ML_neu.png|right|frame|Zur Viterbi&ndash;Pfadsuche]]
 
'''(3)'''&nbsp; Richtig ist der <u>Lösungsvorschlag 1</u>:
 
*Anhand der Farben des überlebenden Pfades &ndash; rot steht für $u_i = 0$ und blau für $u_i = 1$ &ndash; erkennt man die Richtigkeit von <u>Lösungsvorschlag 1</u>: rot &ndash; blau &ndash; rot &ndash; blau &ndash; blau &ndash; rot &ndash; rot.
 
*Es ist anzumerken, dass die eigentliche Informationssequenz $\underline{u}$ nur die Länge $L = 5$ aufweist.
 
*Erst durch die Terminierung kommt man zur Gesamtlänge $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;
  
'''(4)'''&nbsp; Zur Zeit $i = 6$ gibt es noch zwei überlebende Pfade. Eine Entscheidung könnte man zwangsweise anhand der größeren Metrik treffen. Wegen ${\it \Lambda}_6(S_0) = {\it \Lambda}_6(S_2) = 6$ ist dies aber in unserem Beispiel nicht möglich &nbsp;&#8658;&nbsp; <u>Nein</u>.
+
*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; Die Grafik zeigt, dass <u>alle Lösungsvorschläge</u> richtig sind. Die Pfade sind mit ${\it \Phi}_5(S_0)$, ...  , ${\it \Phi}_5(S_3)$ bezeichnet.
+
'''(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; Die Zwangsentscheidung zum Zeitpunkt $i = 5$ würde den Pfad mit der größten Metrik ${\it \Lambda}_5(S_{\mu})$ auswählen, also den Pfad ${\it \Phi}_5(S_2)$ entsprechend <u>Lösungsvorschlag 3</u>.
+
'''(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; Aufgrund unserer Lösung zur Teilaufgabe (1) wäre der Pfad ${\it \Phi}_5(S_3)$ gemäß <u>Lösungsvorschlag 4</u> die bessere Wahl gewesen.  
+
'''(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)$.
*Dieser ist Teil des Pfades ${\it \Phi}_7(S_0)$.  
+
*Zum Zeitpunkt $i = 5$ spricht aber noch nichts für diese Wahl.  
+
*At time&nbsp; $i = 5$,&nbsp; however,&nbsp; there is still nothing in favor of this choice.
*Der (letztlich richtige) Pfad wird erst durch die beiden Terminierungsbit herausgehoben.
+
 +
*The&nbsp; (ultimately correct)&nbsp; path is only highlighted by the two termination bits.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
  
[[Category:Channel Coding: Exercises|^3.4 Decodierung von Faltungscodes^]]
+
[[Category:Channel Coding: Exercises|^3.4 Decoding of Convolutional Codes^]]

Latest revision as of 17: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.