vincenzo,

Regarding the inter/deinterleaver addition you have to:

instantiate an interleaver object of size K

where K is the length of the data you want to interleave.

There are different ways to do this. The simplest is a random

interleaver:

int_object=trellis.interleaver(K,666) # last parameter is a seed

then you have to instantiate the interleaver and deinterleaver

blocks and put them before and after the CC encoder, Viterbi decoder,

respectively, eg:

inter =

trellis.permutation(int_object.K(),int_object.INTER(),1,gr.sizeof_char)

deinter =

trellis.permutation(int_object.K(),int_object.DEINTER(),1,gr.sizeof_char)

the last argument is the input/output signature size.

the second to last argument says how many of these i/o items you want

to consider as a block that will be permuted according to the

permutation described in the inter_object.

Achilleas