Loading...
 
Janus general discussion forum

Janus general discussion forum


Viterbi decoder traceback length

posts: 4
The Viterbi decoder in janus_demod.m currently uses a traceback length of 8. The constraint length of the convolutional error-correcting code is 9.
But a common rule of thumb for the Viterbi algorithm is that the traceback length should be five times the constraint length, i.e., approximately 45.

Is it worth considering to increase the traceback length to be closer to the rule of thumb value?
Have anybody investigated the performance vs complexity tradeoff with respect to this parameter?

Since this parameter is an implementation issue on the receive side, changing it would not affect the JANUS transmission format.

- Roald Otnes
posts: 13
Hello Roald,

Thanks a lot for your contribution.
The initial guidelines used for the JANUS implementation were motivated by low complexity and some of that code has remained untouched.
Since, as you pointed out, experimenting with the traceback length can be done on the receiver without interfering with the transmission, I would say it would be great to see what can we get by increasing it, and at what cost.
We will for sure have a go at it as soon as we can.
Also we could allways discuss other possible future improvements like puncturing and tail-biting even if they have impact on the output stream.

Kind regards

Joao Alves

> The Viterbi decoder in janus_demod.m currently uses a traceback length of 8. The constraint length of the convolutional error-correcting code is 9.
> But a common rule of thumb for the Viterbi algorithm is that the traceback length should be five times the constraint length, i.e., approximately 45.
>
> Is it worth considering to increase the traceback length to be closer to the rule of thumb value?
> Have anybody investigated the performance vs complexity tradeoff with respect to this parameter?
>
> Since this parameter is an implementation issue on the receive side, changing it would not affect the JANUS transmission format.
>
> - Roald Otnes
posts: 46
We've tried increasing the traceback length, and it seems that around 48 gives the best performance. Providing your decoder does not have a severe memory constraint, this is probably a much better choice than the default that was used previously.