LTE DLSCH Decode - HARQ issue

2 views (last 30 days)
Hello,
I am trying to implement an eNB and UE on MATLAB. On the receiver side, I have multiple sizes of the transport block size [152 408 408 408 408 0 408 408 408 408]. I have a question regarding the DLSCH decode and the HARQ process.
while using the following function:
[decbits{enb.NSubframe+1}, blkcrc(enb.NSubframe+1), stateOut] = lteDLSCHDecode(enb, pdsch, TrBlkSizes(mod(enb.NSubframe,10)+1), dlschBits, stateOut);
what is the difference of having or not a stateOut as the input argument ?
Because I have multiple transport block lengths, I am getting a CBS Buffer size error while stateOut is inputed as input argument.
Any suggestions or explanations to solve my issue ?
Thanks in advance.

Accepted Answer

Arthi Sathyamurthi
Arthi Sathyamurthi on 26 Mar 2021
Let us assume STATEIN to be the input argument and STATEOUT as output from the lteDLSCHDecode function for clarity. The STATEIN is the initial HARQ process decoding state. The output STATEOUT from the lteDLSCHDecode function is reapplied for every retransmission loop as STATEIN. This acts as a soft buffer which performs soft combining with the received codeword soft bits prior to the decoding of bits. Considering the usage of STATEIN is optional, usage of this arguments reduces the retransmissions. In case the STATEIN is not reapplied every time and argument is opted out the STATEIN is considered as an empty array and soft combing doesn’t happen.
STATEOUT basically has three fields: CBSBuffers, CBSCRC and BLKCRC. CBSBuffers is a cell array of vectors representing the LLR soft buffer states for the set of code blocks associated with a single transport block.
Thus, in your case, for every iteration with different transport block size, the STATEOUT has different size of CBSBuffers. This is the reason why you get CBS Buffer Size error. So, when you don’t consider the STATEIN for every iteration, the STATEIN gets defined empty for every retransmission and for every different transport block size. Thus, it does not do soft combing which increases the number of retransmissions considering the level of noise given as input.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!