# Documentation

### This is machine translation

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

# lteUCI3Decode

PUCCH format 3 transmission UCI decoding

## Syntax

``ucibits = lteUCI3Decode(cw,n)``

## Description

example

````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.```

## Examples

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 = 4x1 logical array 1 0 0 1 ```

## 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 5.2.3.1. 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`

## References

[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: http://www.3gpp.org.