PUCCH format 3 transmission UCI encoding


  • cw = lteUCI3Encode(ucibits)



cw = lteUCI3Encode(ucibits) returns a column vector of coded UCI bits, cw, resulting from processing of control information, ucibits for PUCCH format 3. The ucibits is a vector of concatenated HARQ-ACK bits and any appended periodic CSI bits and/or scheduling request (SR) bits.

The UCI processing is defined in TS 36.212 [1], Section, and consists of a (32,O) block code, where O is the number of bits in ucibits. The coded bit vector, cw, is 48 bits long.


collapse all

Encode HARQ-ACK Feedback for PUCCH Format 3

Encode and decode HARQ-ACK feedback for PUCCH format 3.

Create a Tx ACK vector. Encode the vector using PUCCH format 3. Turn logical bits into 'LLR' data.

txAck = [1;0;0;1];
cw = lteUCI3Encode(txAck);
cw(cw == 0) = -1;

Decode the received data using the PUCCH format 3 UCI decoder. Verify that the Rx ACK vector matches the Tx ACK vector.

rxAck = lteUCI3Decode(cw,length(txAck))
rxAck =


Input Arguments

collapse all

ucibits — Concatenated HARQ-ACK bits, periodic CSI bits, and Scheduling Request (SR) bitlogical vector of length 1–22

Concatenated HARQ-ACK bits, periodic CSI bits, and Scheduling Request (SR) bit, specified as a logical vector containing from 1 to 22 bits. ucibits represents the [a0, a1, ... aN-1] bit sequence as described in TS 36.212 [1], Section

Data Types: logical | double

Output Arguments

collapse all

cw — Coded UCI bits48-by-1 integer column vector

Coded UCI bits, returned as a 48-by-1 integer column vector. This coded bit vector is 48 bits long.

Data Types: int8


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

Introduced in R2014a

Was this topic helpful?