Forum: GNU Radio Re: convolutional code + viterbi working

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Achilleas A. (Guest)
on 2007-02-23 06:46
(Received via mailing list)

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

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 =

deinter =

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.

Vincenzo P. (Guest)
on 2007-02-23 21:17
(Received via mailing list)
Hi Achilleas,

yes.. I had got a bit confused about how to use these blocks...

is this correct instead?


        file_chunker=gr.packed_to_unpacked_bb(1,gr.GR_LSB_FIRST) #second
argument is endianness

        convolutional_encoder = trellis.encoder_bb(f,0)



today I've been showing the code to prof. Luise, and he was suggesting
that it is a bit too difficult to achieve the convolutional encoder
needed in DVB-T by specifying a finite state machine, as it would have
too many states and transitions to figure out..

is it possible to specify the encoder using the associated polynomial?

and this is how I connected the viterbi decoder:

 metrics =
        viterbi_decoder = trellis.viterbi_b(f,K,0,-1)



this stuff seems to work as it is just giving me back the original file
as it happened with the qpsk+ofdm-only script.

best regards
and really realy thanks

This topic is locked and can not be replied to.