Main Content

lteUCIDecode

PUCCH format 2, 2a, and 2b transmission UCI decoding

Description

ucibits = lteUCIDecode(cw,n) returns a vector of decoded UCI bits, ucibits, resulting from decoding the soft bit column vector, cw, where the output vector, ucibits, is expected to contain n bits. ucibits is a column vector of CQI/PMI or RI bits (UCI), representing the CQI/PMI or RI information fields described in TS 36.212, Section 5.2.3.3 [1]. n must be between 1 and 13. The decoder uses a maximum likelihood approach assuming that cw has been demodulated using ltePUCCH2Decode whose input had already been equalized to best restore the originally transmitted complex values. If multiple decoded UCI bit vectors have a likelihood equal to the maximum, UCIBITS will be a matrix where each column represents one of the equally likely bit vectors

example

Examples

collapse all

Decode UCI bits representing RI=3 using N=2 bits. According to TS 36.212, Table 5.2.2.6-6 this maps to the set of input bits [1;0].

cw = lteUCIEncode([1;0])
cw = 20x1 int8 column vector

   1
   1
   1
   1
   1
   1
   1
   1
   1
   1
      ⋮

softBits = double(cw)/sqrt(2);
decodedUciBits = lteUCIDecode(softBits, 2)
decodedUciBits = 2x1 logical array

   1
   0

The decoded UCI bits match the input bits.

Input Arguments

collapse all

Codeword of soft bits, specified as a numeric column vector.

Data Types: logical | double

Number of bits, specified as a scalar integer from 1 to 11.

Data Types: double

Output Arguments

collapse all

Decoded UCI bits, returned as a logical column vector. UCI bits are CQI/PMI or RI information.

Data Types: logical

References

[1] 3GPP TS 36.212. “Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2014a