PUCCH format 2, 2a, and 2b transmission UCI encoding
a column vector of coded UCI bits,
cw = lteUCIEncode(
from processing of control information,
a column vector of CQI/PMI or RI bits (UCI), representing the CQI/PMI
or RI information fields described in TS 36.212, Section 18.104.22.168 .
be a vector containing up to 13 bits. For PUCCH formats 2a and 2b
with extended cyclic prefix, this vector should also contain the appended
1 or 2 HARQ-ACK bits for joint encoding.
The UCI processing is defined in TS 36.212, Section 5.2.3 , and consists of a (20,A)
block code, where A is the number of bits in
The coded bit vector,
cw, is 20 bits long.
Encode UCI bits representing RI=3 using two bits. According to TS 36.212, Table 22.214.171.124-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 ⋮
ucibits— Control information bits
Control information bits, specified as a logical vector of length 1 to 13. This vector contains the CQI/PMI or RI logical bits (UCI), representing the CQI/PMI or RI information fields. It should be up to 13 bits in length. For PUCCH formats 2a and 2b with extended cyclic prefix, this vector should also contain the appended 1 or 2 HARQ-ACK bits for joint encoding.
cw— Coded UCI bits
Coded UCI bits, returned as a 20-by-1 integer column vector. The coded bit vector is 20 bits long.
 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.