Question about Viterbi decoding

Answered Question about Viterbi decoding

  • Tuesday, 29 May 2012 1:37 AM
     
     

    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.

All Replies

  • Thursday, 31 May 2012 5:57 AM
    Answerer
     
     Answered
    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.
  • Friday, 1 June 2012 3:25 AM
     
     
    OK, thanks.