Tim,

I think there are two parts in your question:
1) how to detect an incoming packet and do something with it.
2) how to operate the viterbi algorithm block in a packet to packet
basis without generating the flow graph again.

I only know how to answer the latter question:

The viterbi algorithm (see all examples in gnuradio-examples/python/channel-coding/)
processes the incoming stream in PACKETS by design.
When you instantiate the block, ie using

va = trellis.viterbi_s(f,K,s0,sK)

then "K" is the block size to be processed (measured in trellis steps),
with initial state fixed at "s0" and final state fixed at "sK"
(or put -1 in the corresponding positions if you dont want to fix them).

Thus is we send a stream of n x K symbols then the va block will run the algorithm n times with the set initial/final states. If you send a continuous stream of data to the input of the VA it will break it into blocks of K symbols and process each block separately.

Hope this helped clarify the use of the viterbi block.
Achilleas


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to