# ltePUCCH1

Physical uplink control channel format 1

## Syntax

• ``sym = ltePUCCH1(ue,chs,ack)``
example
• ``````[sym,info] = ltePUCCH1(ue,chs,ack)``````
example

## Description

example

````sym = ltePUCCH1(ue,chs,ack)` returns a matrix containing physical uplink control channel (PUCCH) format 1 symbols given a structure of UE-specific settings, a structure of channel transmission configuration settings, and hybrid ARQ (HARQ) indicator values. If the configured PUCCH resource indices match indices configured for a scheduling request (SR), as specified in TS 36.213 [1], Section 10.1.5, you can also use this function to generate an SR.```

example

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

## Examples

collapse all

### Generate PUCCH Format 1 Symbols

Generate the PUCCH format 1 symbols for UE-specific settings.

```ue.NCellID = 1; ue.NSubframe = 0; chs.ResourceIdx = 0; pucch1Sym = ltePUCCH1(ue,chs,[]); ```
```Warning: Using default value for parameter field CyclicPrefixUL (Normal) Warning: Using default value for parameter field Hopping (Off) Warning: Using default value for parameter field DeltaShift (1) Warning: Using default value for parameter field CyclicShifts (0) Warning: Using default value for parameter field Shortened (0) ```

To suppress `'Using default value...'` warnings for LTE parameters, execute `lteWarning('off','DefaultValue')` in your MATLAB® command window prior to running code or initialize the parameters in your code workspace.

### Generate PUCCH Format 1 Symbols for Two Antennas

Generate the physical uplink control channel (PUCCH) format 1 symbols for two transmit antenna paths.

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

```ue.NCellID = 1; ue.NSubframe = 0; ue.CyclicPrefixUL = 'Normal'; ue.Hopping = 'Off'; chs.ResourceIdx = [0 3]; chs.DeltaShift = 1; chs.CyclicShifts = 0; chs.Shortened = 0; [pucch1Sym,info] = ltePUCCH1(ue,chs,[]); ```

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

```pucch1Sym(1:10,:) size(info) ```
```ans = 0.5000 + 0.5000i -0.5000 + 0.5000i -0.6830 + 0.1830i 0.6830 - 0.1830i 0.6830 + 0.1830i 0.1830 - 0.6830i -0.5000 + 0.5000i -0.5000 + 0.5000i -0.1830 - 0.6830i 0.6830 - 0.1830i -0.6830 - 0.1830i 0.6830 + 0.1830i 0.5000 + 0.5000i 0.5000 - 0.5000i 0.6830 - 0.1830i 0.6830 - 0.1830i -0.1830 + 0.6830i -0.6830 - 0.1830i 0.5000 + 0.5000i -0.5000 - 0.5000i ans = 1 2 ```

View the contents of the `info` structure elements.

```info(2) ```
```ans = Alpha: [1x8 double] SeqGroup: [1 1] SeqIdx: [0 0] NResourceIdx: [3 11] NCellCyclicShift: [64 193 89 191 71 101 234 105] OrthSeqIdx: [0 0] Symbols: [1x8 double] OrthSeq: [4x2 double] ScrambSeq: [0.0000 + 1.0000i 0.0000 + 1.0000i] ```

## Input Arguments

collapse all

### `ue` — UE-specific settingsstructure

UE-specific configuration settings, specified as a structure containing these fields.

Parameter FieldRequired or OptionalValuesDescription
`NCellID`Required

Integer from 0 to 503

Physical layer cell identity.

`NSubframe`Required

Nonnegative integer

Subframe number.

`CyclicPrefixUL`Optional

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

Cyclic prefix length

`Hopping`Optional

`'Off'` (default), `'Group'`

Frequency hopping method.

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

### `chs` — Channel transmission configurationstructure

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

Parameter FieldRequired or OptionalValuesDescription
`ResourceIdx`Optional

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

PUCCH resource indices, specified as an integer or a vector of integers. Values range from 0 to 2047. These indices determine the physical resource blocks, cyclic shift and orthogonal cover used for transmission. (${n}_{PUCCH}^{\left(1\right)}$). Define one index for each transmission antenna.

`DeltaShift`Optional

1 (default), 2, 3

Delta shift, specified as 1, 2, or 3. (Δshift)

`DeltaOffset`Optional

0 (default), 1, 2

(Δoffset). Warning: The use of this parameter field is not advised. It applies only to 3GPP releases preceding v8.5.0. This parameter will be removed in a future release.

`CyclicShifts`Optional

0 (default), integer from 0 to 7

Number of cyclic shifts used for format 1 in resource blocks (RBs) with a mixture of format 1 and format 2 PUCCH, specified as an integer from 0 to 7. (${N}_{cs}^{\left(1\right)}$)

### `ack` — Hybrid ARQ indicator valuesnonnegative integer vector containing 0, 1 or 2 elements

Hybrid ARQ indicator values, specified as a nonnegative integer vector. This vector is expected to be the block of bits b(0),...,b(Mbit–1) specified in TS 36.211 [2], Section 5.4.1. An Mbit value of 0, 1, or 2 corresponds to PUCCH format 1, 1a, or 1b, respectively, as described in TS 36.211 [2], Table 5.4-1.

Example: [ ] indicates that no HARQ are transmitted in the subframe.

## Output Arguments

collapse all

### `sym` — PUCCH format 1 symbolsnumeric column vector

PUCCH format 1 symbols, returned as a numeric column vector. 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,...]

### `info` — PUCCH format 1 resource informationstructure array

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

### `Alpha` — Reference signal cyclic shift for each OFDM symboltwo-column vector

Reference signal cyclic shift for each OFDM symbol, returned as a two-column vector. (α)

### `SeqGroup` — PUCCH base sequence group number for each slottwo-column vector

PUCCH base sequence group number for each slot, returned as a two-column vector. (u)

### `SeqIdx` — PUCCH base sequence group number indices two-column vector

PUCCH base sequence group number indices for each slot, returned as a two-column vector. (v)

### `NResourceIdx` — PUCCH resource indices for each slottwo-column vector

PUCCH resource indices for each slot, returned as a two-column vector. (n')

### `NCellCyclicShift` — Cell-specific cyclic shift for each OFDM symbolvector

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

### `OrthSeqIdx` — Orthogonal sequence index for each slotvector

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

### `Symbols` — Modulated data symbols for each OFDM symbolvector

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

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

### `OrthSeq` — Orthogonal sequence of each slotnumeric matrix

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` is 1, the transmission is shortened and the second column of `info``.``OrthSeq` has a 0 in the last row. This 0 value occurs because, in this case, the spreading factor for the second slot is 3 rather than 4.

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

### `ScrambSeq` — Scrambling valuetwo-element vector

Scrambling value for each slot (S), returned as two-element vector.

## References

[1] 3GPP TS 36.213. "Physical layer procedures." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

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