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.

Identification of Harq data given as input to BCP.

Hi All,

      I am running BCP example project. In TI,s example code they are passing PUSCH data with control info(CQI+Hq) to BCP where Hq data is read from a separate file as input to BCP. I am not able to understand why Harq data is read separately in different buffer? How  can I give harq data ,if I want to run my own test case?  And how is that Harq data found from input data?

Thanks & Regards

Naveen Kumar

  • Hi Naveen,

    The HARQ buffer stores partially decoded soft-decicions for re-combining later untill the block is decoded successfully. Each time the block is sent for decoding, it is combined with stored soft-decisions from the previous attempt and the new output is stored again. This process is repeated untill the desired decoding quality is achieved. As such, HARQ data has to be stored in a seperate buffer.

    BCP Rate Dematcher can perform this storage and re-combining automatically through the HARQ-DIO interface built into the Rate Dematcher sub-module. The application needs to provide addresses of HARQ-IN and HARQ-OUT buffers in the RD sub-module header (section 4.8.3.7 RD_LTE_HDR_CFG6 and 4.8.3.8 RD_LTE_HDR_CFG7). You also need to enable the ENABLEHARQINPUT and ENABLEHARQOUTPUT Flags** in RD header CFG word 1. BCP manages the HARQ buffer automatically and stores and re-combines the complete transport block. For a TB of size X, the size of the HARQ buffer should be at least 3*X BYTES as it stores soft decisions for all three streams: SYS, P1 and P2.

    Usually, the same buffer is used for both HARQ-IN and HARQ-OUT as HARQ output from decoding attempt N forms HARQ input for decoding attempt N+1. But the application is free to use different buffers as per needs. The example project uses two different addresses for HARQ-IN and HARQ-OUT in order to supply valid HARQ data for decoding (since the contents of the HARQ buffer are usually zero during the first decoding attempt), which is read from a text file. 

    **IMPORTANT: Please note that the bit positions of ENABLEHARQINPUT and ENABLEHARQOUTPUT are incorrect in the BCP user guide for LTE packet header configuration. The user guide defines these fields as bits 13 & 14 of CFG WORD 1 while the correct positions are bits 17 and 18 respectively of CFG WORD 0. The PDK however is correct and uses these fields from the right location. These will be fixed in the next version of the BCP user guide.

    Regards
    -Nitin