[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] convolutional code + viterbi working
From: |
Vincenzo Pellegrini |
Subject: |
Re: [Discuss-gnuradio] convolutional code + viterbi working |
Date: |
Fri, 23 Feb 2007 20:17:26 +0100 |
Hi Achilleas,
yes.. I had got a bit confused about how to use these blocks...
is this correct instead?
Nfft=2048
file_source_bytewise=gr.file_source(gr.sizeof_char,
"/mnt/root/gnuradio_datastreams/1.MPG")
file_chunker=gr.packed_to_unpacked_bb(1,gr.GR_LSB_FIRST) #second
argument is endianness
f=trellis.fsm("/root/MAIN/soft/gnuradio/gr-mystuff/finite_state_machine")
convolutional_encoder = trellis.encoder_bb(f,0)
self.connect(file_source_bytewise,file_chunker,convolutional_encoder,symbol_mapper)
self.connect(symbol_mapper,series_to_parallel,inverse_fft,parallel_to_series,gain,self.u)
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 =
trellis.metrics_c(f.O(),1,constellation,trellis.TRELLIS_EUCLIDEAN)
viterbi_decoder = trellis.viterbi_b(f,K,0,-1)
file_repacker=gr.unpacked_to_packed_bb(1,gr.GR_LSB_FIRST)
file_sink=gr.file_sink(gr.sizeof_char,
"/mnt/root/gnuradio_datastreams/2")
self.connect(gain,series_to_parallel_2,direct_fft,parallel_to_series_2,metrics,viterbi_decoder,file_repacker,file_sink)
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
vincenzo