This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


PUCCH format 3 transmission UCI decoding


  • ucibits = lteUCI3Decode(cw,n)



ucibits = lteUCI3Decode(cw,n) returns a column 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 empty if no HARQ-ACK bits are detected.

The decoder uses a maximum likelihood (ML) approach, assuming that cw has been demodulated using ltePUCCH3Decode, whose input had already been equalized to best restore the originally transmitted complex values. Specifically, this function assumes that cw is properly scaled to reflect a QPSK constellation (± sqrt(2)/2 amplitude for real and imaginary parts). If multiple decoded UCI bit vectors have a likelihood equal to the maximum, ucibits is a matrix where each column represents one of the equally likely bit vectors. If a minimum likelihood threshold is not met, ucibits is empty.


collapse all

This example shows how to encode and decode an ACK using PUCCH format 3 transmission UCI decoding.

Create a Tx ACK vector. Encode the vector using PUCCH format 3. Convert the logical bits into soft data.

txAck = [1;0;0;1];

cw = lteUCI3Encode(txAck);

cw = (double(cw)-0.5)*sqrt(2.0);

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 =

  4×1 logical array


Input Arguments

collapse all

Soft bits to decode, specified as a numeric column vector.

Data Types: int8 | double

Number of bits to return, specified as a positive scalar integer from 1 through 22.

Data Types: double

Output Arguments

collapse all

Concatenated HARQ-ACK bits, periodic CSI bits, and Scheduling Request (SR) bit, returned as a logical column vector. ucibits represents the [a0, a1, ... aN-1] bit sequence as described in TS 36.212 [1], Section The number of bits returned, N, is defined by the input argument n.

ucibits is empty if no UCI bits are detected.

Data Types: logical


[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?