One of my MS courses involved simulating a finite-traceback Viterbi encoder/decoder and its performance with a noisy channel.
Writeup
Main Simulation Code
calc_transfer_bound.m
combined_plot.m
gen_IWV.m