Difference between revisions of "Aufgaben:Exercise 3.09Z: Viterbi Algorithm again"

From LNTwww
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Decodierung von Faltungscodes}}
+
{{quiz-Header|Buchseite=Channel_Coding/Decoding_of_Convolutional_Codes}}
  
[[File:P_ID2656__KC_Z_3_8_neu.png|right|frame|Trellis für einen Rate–1/2–Code, Gedächtnis  $m = 1$]]
+
[[File:P_ID2656__KC_Z_3_8_neu.png|right|frame|Trellis for a rate 1/2 code, memory  $m = 1$]]
Die Grafik zeigt das Trellis des Faltungscodes gemäß  [[Aufgaben:Aufgabe_3.6:_Zustandsübergangsdiagramm| Aufgabe 3.6]], gekennzeichnet durch folgende Größen:
+
The diagram shows the trellis of the convolutional code according to  [[Aufgaben:Exercise_3.6:_State_Transition_Diagram| "Exercise 3.6"]], characterized by the following quantities:
* Rate 1/2   ⇒   $k = 1, \ n = 2$,
+
* Rate 1/2  ⇒   $k = 1, \ n = 2$,
* Gedächtnis  $m = 1$,
+
* memory  $m = 1$,
* Übertragungsfunktionsmatrix  $\mathbf{G}(D) = (1, \ 1 + D)$,
+
* transfer function matrix  $\mathbf{G}(D) = (1, \ 1 + D)$,
* Länge der Informationssequenz:  $L = 4$,
+
* length of information sequence:  $L = 4$,
* Sequenzlänge inklusive Terminierung:  $L\hspace{0.05cm}' = L + m = 5$.
+
* sequence length including termination:  $L\hspace{0.05cm}' = L + m = 5$.
  
  
Anhand dieser Darstellung soll die Viterbi–Decodierung schrittweise nachvollzogen werde, wobei von der folgenden Empfangssequenz auszugehen ist:   $\underline{y} = (11, \, 01, \, 01, \, 11, \, 01)$.
+
On the basis of this representation, the Viterbi decoding is to be understood step by step, starting from the following reception sequence:   $\underline{y} = (11, \, 01, \, 01, \, 11, \, 01)$.
  
In das Trellis eingezeichnet sind:
+
Drawn into the trellis are:
* Der Initialwert  ${\it \Gamma}_0(S_0)$  für den Viterbi–Algorithmus, der stets zu  $0$  gewählt wird.
+
* The initial value  ${\it \Gamma}_0(S_0)$  for the Viterbi–algorithm, which is always chosen to  $0$ .
* Die beiden Fehlergrößen für den ersten Decodierschritt  $(i = 1)$  erhält man mit  $\underline{y}_1 = (11)$  wie folgt:
+
* The two branch metrics for the first decoding step  $(i = 1)$  are obtained with  $\underline{y}_1 = (11)$  as follows:
 
:$${\it \Gamma}_1(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\it \Gamma}_0(S_0) + d_{\rm H} \big ((00)\hspace{0.05cm},\hspace{0.05cm} (11) \big )  = 2  \hspace{0.05cm},$$
 
:$${\it \Gamma}_1(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\it \Gamma}_0(S_0) + d_{\rm H} \big ((00)\hspace{0.05cm},\hspace{0.05cm} (11) \big )  = 2  \hspace{0.05cm},$$
 
:$${\it \Gamma}_1(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\it \Gamma}_0(S_0) + d_{\rm H} \big ((11)\hspace{0.05cm},\hspace{0.05cm} (11) \big )  = 0  \hspace{0.05cm}.$$
 
:$${\it \Gamma}_1(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\it \Gamma}_0(S_0) + d_{\rm H} \big ((11)\hspace{0.05cm},\hspace{0.05cm} (11) \big )  = 0  \hspace{0.05cm}.$$
  
* Die Fehlergrößen zum Schritt  $i = 2$   ⇒   $\underline{y}_2 = (01)$  ergeben sich durch folgende Vergleiche:
+
* The branch metrics to step  $i = 2$   ⇒   $\underline{y}_2 = (01)$  are obtained by the following comparisons:
 
:$${\it \Gamma}_2(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [{\it \Gamma}_{1}(S_0) + d_{\rm H} \big ((00)\hspace{0.05cm},\hspace{0.05cm} (01) \big )\hspace{0.05cm}, \hspace{0.2cm}{\it \Gamma}_{1}(S_1) + d_{\rm H} \big ((01)\hspace{0.05cm},\hspace{0.05cm} (01) \big ) \right ] $$
 
:$${\it \Gamma}_2(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [{\it \Gamma}_{1}(S_0) + d_{\rm H} \big ((00)\hspace{0.05cm},\hspace{0.05cm} (01) \big )\hspace{0.05cm}, \hspace{0.2cm}{\it \Gamma}_{1}(S_1) + d_{\rm H} \big ((01)\hspace{0.05cm},\hspace{0.05cm} (01) \big ) \right ] $$
 
:$$\Rightarrow\hspace{0.3cm} {\it \Gamma}_2(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm min} \big [ 2+1\hspace{0.05cm},\hspace{0.05cm} 0+0 \big ] = 0\hspace{0.05cm},$$
 
:$$\Rightarrow\hspace{0.3cm} {\it \Gamma}_2(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm min} \big [ 2+1\hspace{0.05cm},\hspace{0.05cm} 0+0 \big ] = 0\hspace{0.05cm},$$
Line 25: Line 25:
  
  
In gleicher Weise sollen Sie
+
In the same way you are to
* die Fehlergrößen zu den Zeitpunkten  $i = 3, \ i = 4$  und  $i = 5$  (Terminierung) berechnen, und
+
* compute the branch metrics at time points  $i = 3, \ i = 4$  and  $i = 5$  (termination), and
* die jeweils ungünstigeren Wege zu einem Knoten  ${\it \Gamma}_i(S_{\mu})$  eliminieren. In der Grafik ist dies für  $i = 2$  durch punktierte Linien angedeutet.
+
* eliminate the less favorable paths to a node  ${\it \Gamma}_i(S_{\mu})$  in each case. In the graph this is indicated by dotted lines for  $i = 2$ .
  
  
Anschließend ist der durchgehende Pfad von  ${\it \Gamma}_0(S_0)$  bis  ${\it \Gamma}_5(S_0)$  zu finden, wobei die Rückwärtsrichtung zu empfehlen ist.  
+
Then the continuous path from  ${\it \Gamma}_0(S_0)$  to  ${\it \Gamma}_5(S_0)$  is to be found, where the backward direction is recommended.  
  
Verfolgt man den gefundenen Pfad in Vorwärtsrichtung, so erkennt man
+
If one follows the found path in forward direction, one recognizes.
* die wahrscheinlichste Codesequenz  $\underline{z}$  $($im Idealfall gleich  $\underline{x})$  an den Beschriftungen,
+
* the most likely code sequence  $\underline{z}$  $($ideally equal  $\underline{x})$  by the labels,
* die wahscheinlichste Informationssequenz  $\underline{v}$  $($im Idealfall gleich  $\underline{u})$  an den Farben.  
+
* the most probable information sequence  $\underline{v}$  $($ideally equal  $\underline{u})$  at the colors.  
  
  
Line 43: Line 43:
  
  
''Hinweis:''
+
Hints:
* Die Aufgabe gehört zum Kapitel  [[Channel_Coding/Decodierung_von_Faltungscodes| Decodierung von Faltungscodes]].
+
* This exercise belongs to the chapter  [[Channel_Coding/Decoding_of_Convolutional_Codes| "Decoding of Convolutional Codes"]].
 
   
 
   
  
Line 50: Line 50:
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Berechnen Sie die minimalen Fehlergrößen für den Zeitpunkt&nbsp; $i = 3$.
+
{Calculate the minimum branch metrics for time&nbsp; $i = 3$.
 
|type="{}"}
 
|type="{}"}
 
${\it \Gamma}_3(S_0) \ = \ ${ 1 }
 
${\it \Gamma}_3(S_0) \ = \ ${ 1 }
 
${\it \Gamma}_3(S_1) \ = \ ${ 1 }
 
${\it \Gamma}_3(S_1) \ = \ ${ 1 }
  
{Berechnen Sie die minimalen Fehlergrößen für den Zeitpunkt&nbsp; $i = 4$.
+
{Calculate the minimum branch metrics for time&nbsp; $i = 4$.
 
|type="{}"}
 
|type="{}"}
 
${\it \Gamma}_4(S_0) \ = \ ${ 2 }
 
${\it \Gamma}_4(S_0) \ = \ ${ 2 }
 
${\it \Gamma}_4(S_1) \ = \ ${ 1 }
 
${\it \Gamma}_4(S_1) \ = \ ${ 1 }
  
{Berechnen Sie die minimale Fehlergröße für den Zeitpunkt&nbsp; $i = 5$&nbsp; (Ende).
+
{Calculate the minimum branch metrics for time&nbsp; $i = 5$ (end).
 
|type="{}"}
 
|type="{}"}
 
${\it \Gamma}_5(S_0) \ = \ ${ 1 }  
 
${\it \Gamma}_5(S_0) \ = \ ${ 1 }  
  
{Welche endgültigen Ergebnisse liefert der Viterbi&ndash;Algorithmus:
+
{What are the final results of the Viterbi algorithm:
 
|type="[]"}
 
|type="[]"}
 
+ $\underline{z} = (11, \, 01, \, 00, \, 11, \, 01)$.
 
+ $\underline{z} = (11, \, 01, \, 00, \, 11, \, 01)$.
Line 73: Line 73:
 
- $\underline{v} = (1, \, 0, \, 1, \, 0, \, 0)$.
 
- $\underline{v} = (1, \, 0, \, 1, \, 0, \, 0)$.
  
{Welche Entscheidung wäre ohne Terminierung getroffen worden?
+
{What decision would have been made without scheduling?
 
|type="()"}
 
|type="()"}
+ Die gleiche,
+
+ The same,
- eine andere.
+
- another.
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; [[File:P_ID2657__KC_Z_3_8a_v1.png|right|frame|Trellis mit Fehlergrößen]] Ausgehend von&nbsp; ${\it \Gamma}_2(S_0) = 0, \ {\it \Gamma}_2(S_1) = 2$ erhält man mit $\underline{y}_3 = (01)$:
+
'''(1)'''&nbsp; [[File:P_ID2657__KC_Z_3_8a_v1.png|right|frame|Trellis with branch metrics]] Starting from&nbsp; ${\it \Gamma}_2(S_0) = 0, \ {\it \Gamma}_2(S_1) = 2$ we get $\underline{y}_3 = (01)$:
 
:$${\it \Gamma}_3(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm min} \left [0 + d_{\rm H} \big ((00), (01) \big ), \hspace{0.05cm}2 + d_{\rm H} \big ((01), (01) \big ) \right ] = {\rm min} \left [ 0+1\hspace{0.05cm},\hspace{0.05cm} 2+0 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm},$$
 
:$${\it \Gamma}_3(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm min} \left [0 + d_{\rm H} \big ((00), (01) \big ), \hspace{0.05cm}2 + d_{\rm H} \big ((01), (01) \big ) \right ] = {\rm min} \left [ 0+1\hspace{0.05cm},\hspace{0.05cm} 2+0 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm},$$
 
:$${\it \Gamma}_3(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [0 + d_{\rm H} \big ((11), (01) \big ), \hspace{0.05cm}2 + d_{\rm H} \big ((10), (01) \big ) \right ] {\rm min} \left [ 0+1\hspace{0.05cm},\hspace{0.05cm} 2+2 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}.$$
 
:$${\it \Gamma}_3(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [0 + d_{\rm H} \big ((11), (01) \big ), \hspace{0.05cm}2 + d_{\rm H} \big ((10), (01) \big ) \right ] {\rm min} \left [ 0+1\hspace{0.05cm},\hspace{0.05cm} 2+2 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}.$$
  
Eliminiert werden also die beiden Teilpfade, die zum Zeitpunkt $i = 2$ (also beim dritten Decodierschritt) vom Zustand $S_1$ ausgehen &nbsp; &#8658; &nbsp; Punktierung in der Grafik.
+
Thus, eliminated are the two subpaths that start from state $S_1$ at time $i = 2$ (i.e., at the third decoding step) &nbsp; &#8658; &nbsp; Dotted in the graph.
  
  
'''(2)'''&nbsp; Analog zur Teilaufgabe (1) erhält man mit&nbsp; $y_4 = (11)$:
+
'''(2)'''&nbsp; Analogous to subtask (1), we obtain with&nbsp; $y_4 = (11)$:
 
:$${\it \Gamma}_4(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [1 + d_{\rm H} \big ((00), (11) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((01), (11) \big ) \right ] = {\rm min} \left [ 1+2\hspace{0.05cm},\hspace{0.05cm} 1+1 \right ] \hspace{0.15cm}\underline{= 2}\hspace{0.05cm},$$
 
:$${\it \Gamma}_4(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [1 + d_{\rm H} \big ((00), (11) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((01), (11) \big ) \right ] = {\rm min} \left [ 1+2\hspace{0.05cm},\hspace{0.05cm} 1+1 \right ] \hspace{0.15cm}\underline{= 2}\hspace{0.05cm},$$
 
:$${\it \Gamma}_4(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [1 + d_{\rm H} \big ((11), (11) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((10), (11) \big ) \right ] ={\rm min} \left [ 1+0\hspace{0.05cm},\hspace{0.05cm} 1+1 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}$$
 
:$${\it \Gamma}_4(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [1 + d_{\rm H} \big ((11), (11) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((10), (11) \big ) \right ] ={\rm min} \left [ 1+0\hspace{0.05cm},\hspace{0.05cm} 1+1 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}$$
  
&#8658; &nbsp; Eliminierung  im vierten Decodierschritt der beiden Teilpfade $S_0 &#8594; S_0$ und $S_1 &#8594; S_1$.
+
&#8658; &nbsp; Elimination in the fourth decoding step of the two subpaths $S_0 &#8594; S_0$ and $S_1 &#8594; S_1$.
  
  
[[File:P_ID2658__KC_Z_3_8d.png|right|frame|Pfadsuche]]  
+
[[File:P_ID2658__KC_Z_3_8d.png|right|frame|Path search]]  
'''(3)'''&nbsp; Für $i = 5$ &nbsp; &#8658; &nbsp; "Terminierung" erhält man mit&nbsp; $\underline{y}_5 = (01)$:
+
'''(3)'''&nbsp; Für $i = 5$ &nbsp; &#8658; &nbsp; "Termination" is obtained with&nbsp; $\underline{y}_5 = (01)$:
 
:$${\it \Gamma}_5(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [2 + d_{\rm H} \big ((00), (01) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((01), (01) \big ) \right ]  {\rm min} \left [ 2+1\hspace{0.05cm},\hspace{0.05cm} 1+0 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}.$$
 
:$${\it \Gamma}_5(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [2 + d_{\rm H} \big ((00), (01) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((01), (01) \big ) \right ]  {\rm min} \left [ 2+1\hspace{0.05cm},\hspace{0.05cm} 1+0 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}.$$
  
Zu eliminieren ist hier der Teilpfad $S_0 &#8594; S_0$.
+
To be eliminated here is the subpath $S_0 &#8594; S_0$.
  
  
'''(4)'''&nbsp; Die Rückwärtssuche des durchgehenden Pfades von ${\it \Gamma}_5(S_0)$ nach ${\it \Gamma}_0(S_0)$ liefert
+
'''(4)'''&nbsp; The backward search of the continuous path from ${\it \Gamma}_5(S_0)$ to ${\it \Gamma}_0(S_0)$ yields
 
:$$S_0 &#8592; S_1 &#8592; S_0 &#8592; S_0 &#8592; S_1 &#8592; S_0.$$  
 
:$$S_0 &#8592; S_1 &#8592; S_0 &#8592; S_0 &#8592; S_1 &#8592; S_0.$$  
  
In Vorwärtsrichtung ergibt dies den Pfad $S_0 &#8594; S_1 &#8594; S_0 &#8594; S_0 &#8594; S_1 &#8594; S_0$ und die damit die
+
In the forward direction, this yields the path $S_0 &#8594; S_1 &#8594; S_0 &#8594; S_0 &#8594; S_1 &#8594; S_0$ and thus the
* die wahrscheinlichste Codesequenz $\underline{z} = (11, \, 01, \, 00, \, 11, \, 01)$,
+
* the most likely code sequence $\underline{z} = (11, \, 01, \, 00, \, 11, \, 01)$,
* die wahrscheinlichste Informationssequenz $\underline{v} = (1, \, 0, \, 0, \, 1, \, 0)$.
+
* the most likely information sequence $\underline{v} = (1, \, 0, \, 0, \, 1, \, 0)$.
  
  
Richtig sind also die <u>Lösungsvorschläge 1 und 3</u>:  
+
Thus, the <u>proposed solutions 1 and 3</u> are correct:  
*Ein Vergleich mit dem vorgegebenen Empfangsvektor $\underline{y} = (11, \, 01, \, 01, \, 11, \, 01)$ zeigt, dass bei der Übertragung das sechste Bit verfälscht wurde.
+
*A comparison with the given received vector $\underline{y} = (11, \, 01, \, 01, \, 11, \, 01)$ shows that the sixth bit was corrupted during transmission.
  
  
'''(5)'''&nbsp; Ohne Terminierung &#8658; endgültige Entscheidung bei $i = 4$ hätte es zwei durchgehende Pfade gegeben:
+
'''(5)'''&nbsp; Without termination &#8658; final decision at $i = 4$, there would have been two continuous paths:
* von $S_0 &#8594; S_1 &#8594; S_0 &#8594; S_1 &#8594; S_0$ (gelb eingezeichnet),
+
* from $S_0 &#8594; S_1 &#8594; S_0 &#8594; S_1 &#8594; S_0$ (shown in yellow),
* von $S_0 &#8594; S_1 &#8594; S_0 &#8594; S_0 &#8594; S_1$ (den letztendlich richtigen Pfad).
+
* from $S_0 &#8594; S_1 &#8594; S_0 &#8594; S_0 &#8594; S_1$ (the ultimately correct path).
  
  
Die Zwangsentscheidung zum Zeitpunkt $i = 4$ hätte hier wegen ${\it \Gamma}_4(S_1) < {\it \Gamma}_4(S_0)$ zum zweiten Pfad und damit zum Ergebnis $\underline{v} = (1, \, 0, \, 0, \, 1)$ geführt.  
+
The constraint decision at time $i = 4$ would have led here to the second path and thus to the result $\underline{v} = (1, \, 0, \, 0, \, 1)$ because of ${\it \Gamma}_4(S_1) < {\it \Gamma}_4(S_0)$.  
*Im betrachteten Beispiel also zur <u>gleichen Entscheidung</u> wie in der Teilaufgabe (4) mit Terminierungsbit.  
+
*In the considered example, therefore, to the <u>same decision</u> as in subtask (4) with termination bit.  
*Es gibt aber viele Konstellationen, bei denen erst das Terminierungsbit die richtige und sichere Entscheidung ermöglicht.
+
*However, there are many constellations where only the termination bit enables the correct and safe decision.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Revision as of 20:04, 18 October 2022

Trellis for a rate 1/2 code, memory  $m = 1$

The diagram shows the trellis of the convolutional code according to  "Exercise 3.6", characterized by the following quantities:

  • Rate 1/2  ⇒   $k = 1, \ n = 2$,
  • memory  $m = 1$,
  • transfer function matrix  $\mathbf{G}(D) = (1, \ 1 + D)$,
  • length of information sequence:  $L = 4$,
  • sequence length including termination:  $L\hspace{0.05cm}' = L + m = 5$.


On the basis of this representation, the Viterbi decoding is to be understood step by step, starting from the following reception sequence:   $\underline{y} = (11, \, 01, \, 01, \, 11, \, 01)$.

Drawn into the trellis are:

  • The initial value  ${\it \Gamma}_0(S_0)$  for the Viterbi–algorithm, which is always chosen to  $0$ .
  • The two branch metrics for the first decoding step  $(i = 1)$  are obtained with  $\underline{y}_1 = (11)$  as follows:
$${\it \Gamma}_1(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\it \Gamma}_0(S_0) + d_{\rm H} \big ((00)\hspace{0.05cm},\hspace{0.05cm} (11) \big ) = 2 \hspace{0.05cm},$$
$${\it \Gamma}_1(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\it \Gamma}_0(S_0) + d_{\rm H} \big ((11)\hspace{0.05cm},\hspace{0.05cm} (11) \big ) = 0 \hspace{0.05cm}.$$
  • The branch metrics to step  $i = 2$   ⇒   $\underline{y}_2 = (01)$  are obtained by the following comparisons:
$${\it \Gamma}_2(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [{\it \Gamma}_{1}(S_0) + d_{\rm H} \big ((00)\hspace{0.05cm},\hspace{0.05cm} (01) \big )\hspace{0.05cm}, \hspace{0.2cm}{\it \Gamma}_{1}(S_1) + d_{\rm H} \big ((01)\hspace{0.05cm},\hspace{0.05cm} (01) \big ) \right ] $$
$$\Rightarrow\hspace{0.3cm} {\it \Gamma}_2(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm min} \big [ 2+1\hspace{0.05cm},\hspace{0.05cm} 0+0 \big ] = 0\hspace{0.05cm},$$
$${\it \Gamma}_2(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [{\it \Gamma}_{1}(S_0) + d_{\rm H} \big ((11)\hspace{0.05cm},\hspace{0.05cm} (01) \big )\hspace{0.05cm}, \hspace{0.2cm}{\it \Gamma}_{1}(S_1) + d_{\rm H} \big ((10)\hspace{0.05cm},\hspace{0.05cm} (01) \big ) \right ]$$
$$\Rightarrow\hspace{0.3cm} {\it \Gamma}_2(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm min} \big [ 2+1\hspace{0.05cm},\hspace{0.05cm} 0+2 \big ] = 2\hspace{0.05cm}.$$


In the same way you are to

  • compute the branch metrics at time points  $i = 3, \ i = 4$  and  $i = 5$  (termination), and
  • eliminate the less favorable paths to a node  ${\it \Gamma}_i(S_{\mu})$  in each case. In the graph this is indicated by dotted lines for  $i = 2$ .


Then the continuous path from  ${\it \Gamma}_0(S_0)$  to  ${\it \Gamma}_5(S_0)$  is to be found, where the backward direction is recommended.

If one follows the found path in forward direction, one recognizes.

  • the most likely code sequence  $\underline{z}$  $($ideally equal  $\underline{x})$  by the labels,
  • the most probable information sequence  $\underline{v}$  $($ideally equal  $\underline{u})$  at the colors.





Hints:



Questions

1

Calculate the minimum branch metrics for time  $i = 3$.

${\it \Gamma}_3(S_0) \ = \ $

${\it \Gamma}_3(S_1) \ = \ $

2

Calculate the minimum branch metrics for time  $i = 4$.

${\it \Gamma}_4(S_0) \ = \ $

${\it \Gamma}_4(S_1) \ = \ $

3

Calculate the minimum branch metrics for time  $i = 5$ (end).

${\it \Gamma}_5(S_0) \ = \ $

4

What are the final results of the Viterbi algorithm:

$\underline{z} = (11, \, 01, \, 00, \, 11, \, 01)$.
$\underline{z} = (11, \, 01, \, 11, \, 01, \, 00)$.
$\underline{v} = (1, \, 0, \, 0, \, 1, \, 0)$.
$\underline{v} = (1, \, 0, \, 1, \, 0, \, 0)$.

5

What decision would have been made without scheduling?

The same,
another.


Solution

(1) 
Trellis with branch metrics
Starting from  ${\it \Gamma}_2(S_0) = 0, \ {\it \Gamma}_2(S_1) = 2$ we get $\underline{y}_3 = (01)$:
$${\it \Gamma}_3(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\rm min} \left [0 + d_{\rm H} \big ((00), (01) \big ), \hspace{0.05cm}2 + d_{\rm H} \big ((01), (01) \big ) \right ] = {\rm min} \left [ 0+1\hspace{0.05cm},\hspace{0.05cm} 2+0 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm},$$
$${\it \Gamma}_3(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [0 + d_{\rm H} \big ((11), (01) \big ), \hspace{0.05cm}2 + d_{\rm H} \big ((10), (01) \big ) \right ] {\rm min} \left [ 0+1\hspace{0.05cm},\hspace{0.05cm} 2+2 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}.$$

Thus, eliminated are the two subpaths that start from state $S_1$ at time $i = 2$ (i.e., at the third decoding step)   ⇒   Dotted in the graph.


(2)  Analogous to subtask (1), we obtain with  $y_4 = (11)$:

$${\it \Gamma}_4(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [1 + d_{\rm H} \big ((00), (11) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((01), (11) \big ) \right ] = {\rm min} \left [ 1+2\hspace{0.05cm},\hspace{0.05cm} 1+1 \right ] \hspace{0.15cm}\underline{= 2}\hspace{0.05cm},$$
$${\it \Gamma}_4(S_1) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [1 + d_{\rm H} \big ((11), (11) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((10), (11) \big ) \right ] ={\rm min} \left [ 1+0\hspace{0.05cm},\hspace{0.05cm} 1+1 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}$$

⇒   Elimination in the fourth decoding step of the two subpaths $S_0 → S_0$ and $S_1 → S_1$.


Path search

(3)  Für $i = 5$   ⇒   "Termination" is obtained with  $\underline{y}_5 = (01)$:

$${\it \Gamma}_5(S_0) \hspace{-0.15cm} \ = \ \hspace{-0.15cm}{\rm min} \left [2 + d_{\rm H} \big ((00), (01) \big ), \hspace{0.05cm}1 + d_{\rm H} \big ((01), (01) \big ) \right ] {\rm min} \left [ 2+1\hspace{0.05cm},\hspace{0.05cm} 1+0 \right ] \hspace{0.15cm}\underline{= 1}\hspace{0.05cm}.$$

To be eliminated here is the subpath $S_0 → S_0$.


(4)  The backward search of the continuous path from ${\it \Gamma}_5(S_0)$ to ${\it \Gamma}_0(S_0)$ yields

$$S_0 ← S_1 ← S_0 ← S_0 ← S_1 ← S_0.$$

In the forward direction, this yields the path $S_0 → S_1 → S_0 → S_0 → S_1 → S_0$ and thus the

  • the most likely code sequence $\underline{z} = (11, \, 01, \, 00, \, 11, \, 01)$,
  • the most likely information sequence $\underline{v} = (1, \, 0, \, 0, \, 1, \, 0)$.


Thus, the proposed solutions 1 and 3 are correct:

  • A comparison with the given received vector $\underline{y} = (11, \, 01, \, 01, \, 11, \, 01)$ shows that the sixth bit was corrupted during transmission.


(5)  Without termination ⇒ final decision at $i = 4$, there would have been two continuous paths:

  • from $S_0 → S_1 → S_0 → S_1 → S_0$ (shown in yellow),
  • from $S_0 → S_1 → S_0 → S_0 → S_1$ (the ultimately correct path).


The constraint decision at time $i = 4$ would have led here to the second path and thus to the result $\underline{v} = (1, \, 0, \, 0, \, 1)$ because of ${\it \Gamma}_4(S_1) < {\it \Gamma}_4(S_0)$.

  • In the considered example, therefore, to the same decision as in subtask (4) with termination bit.
  • However, there are many constellations where only the termination bit enables the correct and safe decision.