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

Exercise 3.09Z: Viterbi Algorithm again

From LNTwww

Trellis for a rate-1/2 code and 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  G(D)=(1, 1+D),
  • length of the information sequence:  L=4,
  • sequence length including termination:  L=L+m=5.


On the basis of this representation,  the Viterbi decoding is to be understood step-by-step,  starting from the following received sequence:  

y_=(11,01,01,11,01).

Into the trellis are drawn:

  • The initial value  Γ0(S0)  for the Viterbi algorithm,  which is always chosen to  0.
  • The two error values for the first decoding step  (i=1)  are obtained with  y_1=(11)  as follows:
Γ1(S0) = Γ0(S0)+dH((00),(11))=2,
Γ1(S1) = Γ0(S0)+dH((11),(11))=0.
  • The error values for step  i=2   ⇒   y_2=(01)  are obtained by the following comparisons:
Γ2(S0) = min[Γ1(S0)+dH((00),(01)),Γ1(S1)+dH((01),(01))]
Γ2(S0) = min[2+1,0+0]=0,
Γ2(S1) = min[Γ1(S0)+dH((11),(01)),Γ1(S1)+dH((10),(01))]
Γ2(S1) = min[2+1,0+2]=2.


In the same way you are

  • to compute the error values at time points  i=3, i=4  and  i=5  (termination),  and
  • to eliminate the less favorable paths to a node  Γi(Sμ)  in each case;  in the graph this is indicated by dotted lines for  i=2 .


⇒   Then the continuous path from  Γ0(S0)  to  Γ5(S0)  is to be found,  where the backward direction is recommended. 

⇒   If one follows the found path in forward direction,  one recognizes:

  • the most likely decoded sequence  z_  (ideally equal  x_)  by the labels,
  • the most probable information sequence  v_  (ideally equal  u_)  at the colors.




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



Questions

1

Calculate the minimum error values for time  i=3.

Γ3(S0) = 

Γ3(S1) = 

2

Calculate the minimum error values for time  i=4.

Γ4(S0) = 

Γ4(S1) = 

3

Calculate the final error value for time  i=5.

Γ5(S0) = 

4

What are the final results of the Viterbi algorithm:

z_=(11,01,00,11,01).
z_=(11,01,11,01,00).
v_=(1,0,0,1,0).
v_=(1,0,1,0,0).

5

What decision would have been made without scheduling?

The same,
another.


Solution

Trellis with branch metrics
Path finding

(1)  Starting from  Γ2(S0)=0,  Γ2(S1)=2  we get  y_3=(01):

Γ3(S0) = min[0+dH((00),(01)),2+dH((01),(01))]=min[0+1,2+0]=1_,
Γ3(S1) = min[0+dH((11),(01)),2+dH((10),(01))]min[0+1,2+2]=1_.

⇒   Eliminated are the two (dotted)  subpaths that start from state  S1  at time  i=2  (i.e.,  at the third decoding step).


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

Γ4(S0) = min[1+dH((00),(11)),1+dH((01),(11))]=min[1+2,1+1]=2_,
Γ4(S1) = min[1+dH((11),(11)),1+dH((10),(11))]=min[1+0,1+1]=1_

⇒   Elimination in the fourth decoding step of the two subpaths  "S0S0"  and  "S1S1".


(3)  For  i=5   ⇒   the  "termination"  is obtained with  y_5=(01):

Γ5(S0) = min[2+dH((00),(01)),1+dH((01),(01))]min[2+1,1+0]=1_.

⇒   To be eliminated is the subpath  "S0S0".


(4)  The backward search of the continuous path  from Γ5(S0)  to  Γ0(S0)  yields

S0S1S0S0S1S0.

In the forward direction,  this yields the path  "S0S1S0S0S1S0" and thus the

  • the most likely code sequence  z_=(11,01,00,11,01),
  • the most likely information  sequence v_=(1,0,0,1,0).


Thus,  the  proposed solutions 1 and 3  are correct:

  • Comparison with the received vector  y_=(11,01,01,11,01)  shows that the sixth bit was falsified during transmission.


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

  • from  "S0S1S0S1S0(shown in yellow),
  • from  "S0S1S0S0S1(the ultimately correct path).


The constraint decision at time  i=4  would have led here to the second path and thus to the result  v_=(1,0,0,1)  because of  Γ4(S1)<Γ4(S0).

  • 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.