none
Question about Viterbi decoding

    Question

  • Hi, everyone. I have a question about Viterbi decodig and expect you can answer for me.

    I see that demodulating and Viterbi decoding are implemented with two different threads, and the data for decoding is pushed into viterbi buffer(vb in FIFO) while the decoding process reads data from viterbi buffer to output the decoded bits. But I'm puzzled how these two threads synchronize. Since Viterbi decoding thread has been set to run after header demodulation, each time 48 bits (for 6M rate) is pushed into viterbi buffer and Viterbi decoding thread will immediately use them for decoding. But It seems that we cannot ensure they are synchronized.

    Waiting for your answer. Thanks.

    Tuesday, May 29, 2012 1:37 AM

Answers

  • You can check the definition of struct VB_DCBLOCK. One burst of Viterbi input data is stored in 'data' array, and it is synchronized by the volatile field 'isValid' in the same VB_DCBLOCK.
    Thursday, May 31, 2012 5:57 AM
    Answerer

All replies