Wednesday, June 27, 2012

Viterbi Soft decoding Vs hard decoding

Last week I worked in a project to compare the performance of the Viterbi hard decoder against the Viterbi soft decoder. It not only showed that the Viterbi soft decoder has an important coding gain against the hard decoder. It also helped me explore a little bit this whole area of coding, convolusional and cyclic algorithms, and random processes. The program was written in C and the graphs were generated with gnuplot. Here's the comparison graph between the control reference and the two algorithms.



As you can see, the error rate is greatly reduced by using this likelihood decoding algorithm.  You can also observe how the control graph is so closely related to the theoretical error rate for observation sets greater than 1M samples. The fact that communications theory was developed long ago and just starting to be used nowadays so broadly probably means that there is a great potential to find other theories whose application may improve today's communications systems.