# ltePUCCH3Decode

Physical uplink control channel format 3 decoding

## Syntax

``out = ltePUCCH3Decode(ue,chs,sym)``

## Description

example

````out = ltePUCCH3Decode(ue,chs,sym)` decodes the PUCCH format 3 given UE-specific settings, `ue`, and channel transmission configuration, `chs`. `out` is a soft bit vector of coded UCI consisting of 48 bits, formed by decoding the complex symbol matrix, `sym`. The symbol decoding steps are SC-FDMA deprecoding, demodulation with the PUCCH Format 3 reference sequence, QPSK demodulation, and descrambling. The symbols for each antenna are in the columns of `sym`, and the number of columns should match the number of PUCCH Resource Indices specified in the structure `chs`.```

## Examples

collapse all

Decode a PUCCH format 3 signal contained in an equalized resource array for the specified UE and PUCCH configuration structures.

```ue.NULRB = 6; ue.NCellID = 0; ue.RNTI = 1; ue.CyclicPrefixUL = 'Normal'; ue.NTxAnts = 1; ue.Shortened = 0; ue.NSubframe = 0; pucch3.ResourceIdx = 0;```

To model the transmitter, create an uplink resource grid and populate it with PUCCH format 3 symbols.

```reGrid = lteULResourceGrid(ue); pucch3Indices = ltePUCCH3Indices(ue,pucch3); tx = [1; 0; 0; 1; 1; 1]; encoded = lteUCI3Encode(tx); reGrid(pucch3Indices) = ltePUCCH3(ue,pucch3,encoded);```

To model the receiver, decode the PUCCH format 3 symbols contained in an equalized resource array. Decode and display the UCI. Verify received `decoded` bits match `tx` bits.

```eqGrid = reGrid; rx = ltePUCCH3Decode(ue,pucch3,eqGrid(pucch3Indices)); decoded = lteUCI3Decode(rx,length(tx))```
```decoded = 6x1 logical array 1 0 0 1 1 1 ```

## Input Arguments

collapse all

UE-specific configuration settings, specified as a structure that can contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
`NCellID`Required

Integer from 0 to 503

Physical layer cell identity

`RNTI`Required

0 (default), scalar integer

Radio network temporary identifier (RNTI) value (16 bits)

`NSubframe`Required

0 (default), nonnegative scalar integer

Subframe number

`CyclicPrefixUL`Optional

`'Normal'` (default), `'Extended'`

Cyclic prefix length

`Shortened`Optional

0 (default), 1

Option to shorten the subframe by omitting the last symbol, specified as 0 or 1. If `1`, the last symbol of the subframe is not used. For subframes with possible SRS transmission, set `Shortened` to 1 to maintain a standard compliant configuration.

Data Types: `struct`

PUCCH channel settings, specified as a structure that can contain the following fields.

Parameter FieldRequired or OptionalValuesDescription
`ResourceIdx`Optional

0 (default), integer from 0 to 549, or vector of integers.

PUCCH resource indices which determine the physical resource blocks, cyclic shift, and orthogonal cover used for transmission (${n}_{PUCCH}^{\left(3\right)}$). Define one index for each transmission antenna.

Data Types: `struct`

PUCCH format 3 symbols, specified as a complex-valued matrix. The symbols for each antenna are in the columns of `sym`, and the number of columns should match the number of PUCCH resource indices specified in the structure `chs`.

Data Types: `double`
Complex Number Support: Yes

## Output Arguments

collapse all

Soft bit vector consisting of 48 bits, returned as a 48-by-1 real-valued column vector. The number of PUCCH Resource Indices specified in the structure `chs` determines the number of columns in `out`.

Data Types: `double`