Convolutional code via gr-trellis

Hi, thanks again Achilleas for suggestions and help,

so far I’ve tried this for the convolutional 1,2 code.

this is the file for setting up the finite state machine

2 4 4

0 2
0 2
1 3
1 3

0 3
3 0
2 1
1 2

does it make sense?

and this is the code for connecting the encoder into the flow grpah

    file_chunker=gr.packed_to_unpacked_bb(1,gr.GR_LSB_FIRST)

f=trellis.fsm("/root/MAIN/soft/gnuradio/gr-mystuff/finite_state_machine")
repacker=gr.packed_to_unpacked_bb(2,gr.GR_LSB_FIRST)
convolutional_encoder = trellis.encoder_bb(f,0)

self.connect(file_source_bytewise,file_chunker,convolutional_encoder,repacker,symbol_mapper)

this bringrs out a spectrum picture which is significantly different
than the one without the encoder… much more “squared”
am I going the right way?

what about the viterbi decoder?
I’ve got wrong data size errors when connecting
a bit by bit stream obtained from demodulated symbols to
trellis.metrics, this way in the Rx chain:

symbols_to_bytes=gr.constellation_decoder_cb(constellation,constellation_bytes)
print constellation_bytes

    repacker_rx_1=gr.packed_to_unpacked_bb(1,gr.GR_LSB_FIRST)

    K=1
    metrics =

trellis.metrics_c(f.O(),3,constellation,trellis.TRELLIS_EUCLIDEAN)
viterbi_decoder = trellis.viterbi_b(f,K,0,-1)

self.connect(gain,series_to_parallel_2,direct_fft,parallel_to_series_2,symbols_to_bytes,repacker_rx_1,metrics,viterbi_decoder,file_repacker,file_sink)

many thanks

vincenzo