Narzędzie demonstracyjne pracy dekodera Viterbiego

Viterbi decoder demonstration tool

Autor: Agnieszka Kotowicz

Opiekun pracy: dr inż. Piotr Wasilewski

Rodzaj pracy: praca dyplomowa IFE - BSc

Data obrony: 000-00-00

Streszczenie

Ten dokument powstał w ramach pracy inżynierskiej dotyczącej kodowania splotowego, a w szczególności skupiającej się na algorytmie Viterbi’ego jako wydajnej metody dekodowania. Głównym celem pracy było wykonanie łatwego i wygodnego w użyciu narzędzia demonstrującego użytkownikowi wszystkie etapy kodowania i dekodowania.
Algorytm Viterbiego został zaimplementowany zamiast metody sekwencyjnego dekodowania, jako że jest on optymalny dla kodów splotowych. Wybór środowiska programowania padł na język C++/CLI, który zapewnia wiele wbudowanych właściwości przydatnych podczas pracy nad aplikacją.
Po zakodowaniu pewnej wiadomości z określonego przedziału długości, aplikacja prezentuje kroki procedury dekodującej oraz przedstawia obliczone wartości metryk każdego punktu w strukturze zwanej w dziedzinie kodów splotowych trel lisem (kratą). Narzędzie będzie wykorzystywane na laboratoriach dotyczących kodowania, dlatego zawiera ono wiele edukacyjnych elementów.

Abstract

This paper is part of the project for Bachelor thesis which covers the topic of convolutional codes and focuses on Viterbi algorithms as efficient decoding method. The main goal of thesis was to establish the demonstration tool that would lead the user through all stages of encoding and decoding process and would be user-friendly and satisfying in use.
Viterbi algorithm was selected over sequential decoding as it is optimal for convolutional codes. The chosen programming environment was C++/CLI language as it provided me with built-in properties that were very supportive during work on the project.
After the encoding the desired message from defined range of lengths, the developed application shows the steps of decoding procedure along with calculation metrics at each node of the trellis. The tool is supposed to have educational features as it will be used during laboratory sessions about convolutional coding.