# ltePUCCH3

Physical uplink control channel format 3

## Syntax

``sym = ltePUCCH3(ue,chs,bits)``
``````[sym,info] = ltePUCCH3(ue,chs,bits)``````

## Description

example

````sym = ltePUCCH3(ue,chs,bits)` returns a matrix containing Physical Uplink Control Channel (PUCCH) format 3 symbols given a structure of UE-specific settings, a structure with channel transmission configuration settings, and a vector of coded hybrid ARQ (HARQ) values, `bits`.```

example

``````[sym,info] = ltePUCCH3(ue,chs,bits)``` also returns a PUCCH information structure array, `info`.```

## Examples

collapse all

Generate PUCCH format 3 modulated symbols.

Initialize `ue` and `chs` configuration structures. Generate and view PUCCH Format 3 symbols.

```ue.NCellID = 0; ue.NSubframe = 0; ue.RNTI = 1; ue.CyclicPrefixUL = 'Normal'; ue.Shortened = 0; chs.ResourceIdx = 0; sym = ltePUCCH3(ue,chs,ones(48,1)); sym(1:5)```
```ans = 5×1 complex 1.6330 - 1.2247i -0.7071 + 0.7071i -0.5577 + 0.1494i 0.4082 - 0.0000i -0.5577 - 0.9659i ```

Generate the physical uplink control channel (PUCCH) format 3 symbols for two transmit antenna paths and display the information structure.

Initialize parameters for a UE-specific configuration structure and a channel configuration structure. Generate PUCCH1 symbols and information outputs.

```ue.NCellID = 1; ue.RNTI = 1; ue.NSubframe = 0; ue.CyclicPrefixUL = 'Normal'; ue.Shortened = 0; chs.ResourceIdx = [0 3]; [pucch3Sym,info] = ltePUCCH3(ue,chs,[]);```

Because there are two antennas, the symbols are output as a two-column vector, and the `info` output structure contains two elements.

`pucch3Sym(1:6,:)`
```ans = 6×2 complex 0.0000 + 2.4495i 0.0000 + 2.4495i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i 0.0000 - 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i ```
`size(info)`
```ans = 1×2 1 2 ```

View the contents of the second `info` structure element.

`info(2)`
```ans = struct with fields: NCellCyclicShift: [64 192 46 212 191 71 91 84 25 105] OrthSeqIdx: [3 4] Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i ... ] OrthSeq: [5x2 double] NSymbSlot: [5 5] ```

## Input Arguments

collapse all

UE-specific configuration settings, specified as a structure that can contain these 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`

Channel transmission configuration, specified as a structure containing these fields.

PUCCH Resource Indices, specified as an integer or vector of integers with values from 0 to 549. There is one index for each transmission antenna. These indices determine the cyclic shift and orthogonal cover used for transmission. (${n}_{PUCCH}^{\left(3\right)}$).

Data Types: `struct`

Coded HARQ-ACK bits, specified as a nonnegative integer column vector of length 48. TS 36.211 [1], Table 5.4-1 specifies the vector length for PUCCH format 3 is Mbit = 48. `bits` is expected to be the block of bits b(0)...b(Mbit–1)specified in TS 36.211 [1], Section 5.4.2A. `bits` is also expected to be generated by performing uplink control information (UCI) channel coding as described TS 36.212 [2], Section 5.2.3.1. For PUCCH format 3, UCI includes encoding of concatenated HARQ-ACK bits and any appended periodic CSI bits plus Scheduling Request (SR) bit when present.

Data Types: `double`

## Output Arguments

collapse all

PUCCH format 3 symbols, returned as matrix. The symbols for each antenna are in the columns of `sym`, with the number of columns determined by the number of PUCCH resource indices specified in `chs``.``ResourceIdx`.

Example: [ 0.7071 + 0.7071i,...]

Data Types: `double`
Complex Number Support: Yes

PUCCH format 3 information, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.

Cell-specific cyclic shift for each OFDM symbol, returned as a vector. (${n}_{cs}^{cell}$)

Orthogonal sequence index for each slot, returned as a two-element vector. (noc)

Modulated data symbols for each OFDM symbol, returned as a vector. (d)

Example: [0.7071 + 0.7071i,...]

Orthogonal sequence of each slot, returned as a numeric matrix. Each column in the matrix contains the orthogonal sequence (wnoc) for each slot.

Note

When `ue``.``Shortened` = 1, transmissions are shortened, and the second column of `info``.``OrthSeq` has a zero in the last row because the spreading factor for the second slot is 4 instead of 5.

Example: [1.000 + 1.000i,...]

The number of OFDM symbols in each slot, returned as a vector of integers. ($\left[{N}_{\text{SF},0}^{\text{PUCCH}}\text{\hspace{0.17em}}{N}_{\text{SF},1}^{\text{PUCCH}}\right]$)

Data Types: `struct`

## References

[1] 3GPP TS 36.211. “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Channels and Modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

[2] 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.

## Version History

Introduced in R2014a