This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

VCP2 Questions

Hi,

I am having trouble using VCP2. I have an example project (based on TCI6482TCP2VCP2BER by Sebastien Tomas) and it works. But state metrics are re-initialized before decoding each frame. I need to use the state metrics continually, because the data stream I get is encoded without resetting the metrics (as if it is a big message). So, when I am using the example project for decoding this data, first bytes of some messages are decoded wrong.

I have some questions regarding the example project.

1) What is the traceback length in this example? What parameter is it?
2) What is frame length? (length of the frame to be decoded?)
3) Are these lengths in bytes or bits?
4) How to prevent re-initializing the state metrics? Which parameters, registers, definitions should I alter? (I guess, what I want to use is convergent traceback mode).

I am using C6474. The document SPRUG20B is not so helpful to me, probably because I am a total newbie.

Thank you.

  • I have read the VCP2 section in CSL document. It seems that the only parameters I must / can set are VCP2_BaseParams. Setting tbConvrgMode 0 or 1 does not work for me.

    Three additional questions:

    5) VCP2_Params::poly0 and poly1 are calculated as 154 and 344 (octal). But the data is encoded using 171 and 133. How come the decoder works? Should I / how can I change these polynomials?

    6) What are stateNum and traceBackIndex for?

    7) I am getting more exhausted and desperate. How can I get over this problem?

  • I had some play with VCP, not VCP2. I remember, I had to configure not only base parameters, but more of them. There is an example in http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/439/p/176860/649538.aspx.

  • Hi,

    What is the traceback length in this example? What parameter is it?

    The traceback unit performs the Viterbi backward recursion and generates hard decisions or soft decisions. Please refer to the user guide .Section 2.2.3

    The state metrics are computed over F + C symbols, the traceback is initialized to the proper state and executed over F+ C symbols.

     

    What is frame length? (length of the frame to be decoded?)

    Yes, this is the length of the frame in bits, that is to be decoded. The maximum value for the FL input parameter is Fmax for tailed mode or (r+c)max for
    mixed or convergent modes


    Are these lengths in bytes or bits?

    Bits


    4) How to prevent re-initializing the state metrics? Which parameters, registers, definitions should I alter? (I guess, what I want to use is convergent traceback mode).

    If you refer to the user guide, you will come across 2 parameters imins (Minimum initial state metric)  and imaxs (Maximum initial state metric), and they are internally set to 0 and 0x400 respectively.

    imaxi = stateNum in the example -  State index set to the maximum initial state metric.

    IMAXI bits determine which state should be initialized with the maximum state metrics value (IMAXS) bits in VCPIC4; all the other states are initialized with the
    value in the IMINS bits.

    What are stateNum and traceBackIndex for?

    traceBackIndex - Traceback state index. The index of the starting state for the traceback unit. If enabled, it starts at the traceBackIndex, if not set,  it begins at the index which has the  max state metric

    stateNum – is the maximum initial state metric value.  State index set to the maximum initial state metric

    Regards,

    Kishore.