Algorithm for Viterbi Decoding
7 views (last 30 days)
Show older comments
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
0 Comments
Answers (1)
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
0 Comments
See Also
Categories
Find more on Error Detection and Correction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!