I have checked in several enhancements to gr-trellis
and supporting examples in gnuradio-examples/python/channel-coding:
-Added fsm constructor for generating FSM directly from the
generator matrix of binary convolutional codes (no feedback yet).
-Added functionality to fsm class to compute the best way to
go from any state to any other state (useful for termination)
-Added soft-in-soft-out (SISO) block for turbo processing
-Added a generic interleaver class
-Added turbo decoding examples
A note on speed:
A complete system with Tx/Ch/Rx for a 1/2 CC
executed on a Pentium-4 at 2Ghz shows
a speed of about
683 Kbps for 4-state CC
455 Kbps for 8-state CC
390 Kbps for 16-state CC
133 Kbps for 128-state CC.
Assuming that most of the processing is done in the Viterbi, these
are good lower bounds on the Viterbi performance.