Hi Achilleas,

I was interested in various length packets.  I am taking a fixed
length packet ( say 200 symbols ) and then bitstuffing it, resulting
in a packet >= 200 symbols.  I then receive this with the viterbi
algorithm and then finally unbitstuff.   So in this, case K = 200 +
number of stuffed bits.  I guess I could run N viterbi algorithms in
parallel for the N possible different number of stuffed bits.   I
guess I could also have the block that bitstuffs the data pad out to a
fixed block size.


Thanks again for you suggestions and help.

Tim



On 2/21/07, Achilleas Anastasopoulos <[EMAIL PROTECTED]> wrote:
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