nrUCIDecode may have bad performance in 1 or 2 bit case

In nrUCIDecode, we see function use below code block:
if A==1
N = Qm;
else
N = 3*Qm;
end
% Rate recovery
typeIn = class(uciLLRs);
E = length(uciLLRs);
rec = zeros(N,1,typeIn);
if E>=N
% Pick the first N values, no averaging
rec = uciLLRs(1:N,1);
else
rec(1:E) = uciLLRs;
end
where A is the UCI bit number, so let's use 1 bit UCI and QPSK modulation as exampe: in such case, N = Qm = 2, and rec = uciLLRs(1:N,1); --> it means function will only use first two bit for further process even when total LLR softbit number is quite large(e.g. 160 bits), which will lead to performance degradation.

Answers (0)

Categories

Products

Release

R2022b

Asked:

on 8 Aug 2023

Community Treasure Hunt

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

Start Hunting!