Documentation

# lteUCIDecode

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

## Syntax

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

## Description

example

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

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

 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.