Dear All, Now I face a problem about the traceback depth of viterbi decoder. For an example, the convolutional code with coding rate 5/8(the mother rate is 1/3, puncture vector is [1 0 1 1 0 0 1 0 1 0 0 1 1 0 1]), constraint length K=7. I use the Bernoulli Binary Generator as the signal source to generate a column vector with the size 125*1(frame_based), after the 5/8 encoder, the output vector is 200*1(frame based). Then I use matrix interleaver(a component in simulink), first it is a 100*3 matrix interleaver, the following matrix interleaver is 10*10. After the data pass through the matrix deinterleaver(first is 10*10 matrix deinterleaver, the second is 100*3 matrix deinterleaver), the data will go into the viterbi decoder(actually in the front of the viterbi decoder, there is a component to insert bits versus the puncture using the same puncture vector), the traceback depth of the viterbi decoder is 34 with the trellis structure [133 145 175](actually I don't know why it chooses the number 34 as the traceback depth). If I simulate this system, the result is good, the bit error rate is 0 (the signal from Bernoulli Binary Generator versus the signal from the viterbi decoder). But when I change the puncture vector as [1 0 0 1 0 1 0 0 1], the coding rate is also changed into 3/4, the output of Bernoulli Binary Generator becomes 150*1 vector too. The signal from the Bernoulli Binary Generator through the 3/4 encoder is also 200*1 vector. Then the data will go through the matrix interleaver and matrix deinterleaver. Here the first matrix interleaver is 200*3, the second one is 20*10, then the first matrix deinterleaver is 20*3, the second is 200*3. the signal from the matrix deinterleaver will pass the viterbi decoder with the same traceback depth 34. But the problem is coming, the bit error rate is around 50%, it is the random error rate. I don't know why. Is the problem from the viterbi decoder or other part? But I think the problem is from the viterbi decoder, because when I delete the encoder and viterbi decoder, just leave the matrix interleaver and deinterleaver, the bit error rate is 0. Do I need to change the traceback depth or other parameters? I am very good at using simulink. Please help me! Thank you very much!
the traceback depth of viterbi decoder in simulink
Started by ●August 24, 2007