Algorithm for Viterbi Decoding

7 views (last 30 days)
Anthony
Anthony on 7 Jan 2021
Hello,
I am currently trying to implement my own version of Viterbi decoding on Matlab (without using the Comm Toolbox functions) since I need to then translate this code in C++.
I have written two algorithms and they both work for codes that are affected by few errors or no errors at all. However, they do not perform as well as the Matlab's algorithm. So does anyone have knowledge on the algorithm that Matlab uses for their Viterbi decoding? It would be greatly appreciated if you could enlighten me on this part (especially on the terminated mode).
What I do on my main algorithm is:
Compute hamming distances between incoming code and the outputs of "theoretical" state transitions. Then from the final output, I traceback X outputs (here 35 as I have a Constraint length of 6) to decide in which state we are currently on. I can share the code if need be.
Best,
Anthony

Answers (1)

Shiva Kalyan Diwakaruni
Shiva Kalyan Diwakaruni on 12 Jan 2021
Hi,
You can refer below link provided .
and check for the references.
1] Clark, George C., and J. Bibb Cain. Error-Correction Coding for Digital Communications. Applications of Communications Theory. New York: Plenum Press, 1981.
[2] Gitlin, Richard D., Jeremiah F. Hayes, and Stephen B. Weinstein. Data Communications Principles. Applications of Communications Theory. New York: Plenum Press, 1992.
[3] Heller, J., and I. Jacobs. “Viterbi Decoding for Satellite and Space Communication.” IEEE Transactions on Communication Technology 19, no. 5 (October 1971): 835–48. https://doi.org/10.1109/TCOM.1971.1090711.
[4] Yasuda, Y., K. Kashiki, and Y. Hirata. “High-Rate Punctured Convolutional Codes for Soft Decision Viterbi Decoding.” IEEE Transactions on Communications 32, no. 3 (March 1984): 315–19. https://doi.org/10.1109/TCOM.1984.1096047.
[5] Haccoun, D., and G. Begin. “High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding.” IEEE Transactions on Communications 37, no. 11 (November 1989): 1113–25. https://doi.org/10.1109/26.46505.
[6] Begin, G., D. Haccoun, and C. Paquin. “Further Results on High-Rate Punctured Convolutional Codes for Viterbi and Sequential Decoding.” IEEE Transactions on Communications 38, no. 11 (November 1990): 1922–28. https://doi.org/10.1109/26.61470.
[7] Moision, B. "A Truncation Depth Rule of Thumb for Convolutional Codes." In Information Theory and Applications Workshop (January 27 2008-February 1 2008, San Diego, California), 555-557. New York: IEEE, 2008.
hope it helps,
thanks

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!