Briefly explain the operation of the Viterbi algorithm for convolutional codes. What are the advantages and disadvantages of this method compared to the sequential decoding algorithm?
Consider a convolutional encoder defined by the following generator polynomials g(D) = D + D^2, g(D) = 1 + D, g(D) = 1 + D + D^2.
(i) Draw the encoder, the state transition diagram, and the trellis diagram to a branch depth of 6. Determine the output sequence for the input sequence 010110 and show this on the trellis diagram. Determine how many errors this code will correct. Apply the Viterbi decoding method to the codeword sequence 110001011. Write down the path metrics for each state. Explain which paths would be selected to be survivors.
(ii)
(iii)
(iv)