# ltePDCCHIndices

PDCCH resource element indices

## Syntax

``ind = ltePDCCHIndices(enb)``
``ind = ltePDCCHIndices(enb,opts)``
``ind = ltePDCCHIndices(enb,exreg,opts)``

## Description

example

````ind = ltePDCCHIndices(enb)` returns a `NRE`-by-`CellRefP` matrix of one-based linear indexing RE indices given the structure `enb`. It returns the subframe resource element (RE) indices for the physical downlink control channels (PDCCH). The `NRE` indices returned cover all PDCCH resources in the control region not already assigned to PCFICH or PHICH (see `ltePDCCHInfo`). They are ordered as the complete block of padded, interleaved, and shifted PDCCH modulation symbols that ready to be mapped, as described in TS 36.211 [1], Section 6.8.5. ```
````ind = ltePDCCHIndices(enb,opts)` formats the returned indices using options specified by `opts`.```

example

````ind = ltePDCCHIndices(enb,exreg,opts)` returns a matrix of indices, where the vector `exreg` explicitly defines resources not to be assigned to PDCCH. The `exreg` must contain valid resource element group (REG) indices but can be either zero-based or one-based throughout, and indices which do not fall within the control region are ignored. ```

## Examples

collapse all

Retrieve PDCCH resource element (RE) indices.

Create an RMC R.0 configuration structure and find its PDCCH RE indices. Display the size of the indices.

```enb = lteRMCDL('R.0'); ind = ltePDCCHIndices(enb); size(ind)```
```ans = 1×2 452 1 ```

Explicitly exclude resources when retrieving PDCCH indices.

Create a cell-wide configuration structure initialized for RMC R.0. Generate RE indices for the PDCCH providing an empty matrix for the argument `exreg` so that no resources are excluded.

```enb = lteRMCDL('R.0'); ind = ltePDCCHIndices(enb,[],'re'); numPDCCHwithNoExclusion = size(ind)```
```numPDCCHwithNoExclusion = 1×2 480 1 ```

All RE indices are returned in the required mapping order.

Explicitly exclude the PCFICH and PHICH indices.

```enb = lteRMCDL('R.0'); exreg = [ltePCFICHIndices(enb,'reg'); ltePHICHIndices(enb,'reg')]; ind = ltePDCCHIndices(enb,exreg,'re'); numPDCCHwithExclusion = size(ind)```
```numPDCCHwithExclusion = 1×2 452 1 ```

This call returns the same result as the default syntax call, `ltePDCCHIndices(enb)`.

## Input Arguments

collapse all

`enb` is a structure having the following fields.

Parameter FieldRequired or OptionalValuesDescription
`NDLRB`Required

Integer within the range (6,...,110)

Number of downlink resource blocks. (${N}_{\text{RB}}^{\text{DL}}$)

`NCellID`Required

Integer from 0 to 503

Physical layer cell identity

`CyclicPrefix`Optional

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

Cyclic prefix length

`CellRefP`Required

1, 2, 4

Number of cell-specific reference signal (CRS) antenna ports

`CFI`Required

1, 2, or 3

Control format indicator value

`Ng`Required

`'Sixth'`, `'Half'`, `'One'`, `'Two'`

HICH group multiplier

`PHICHDuration`Optional

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

PHICH duration

`DuplexMode`Optional

`'FDD'` (default), `'TDD'`

Duplexing mode, specified as:

• `'FDD'` for Frequency Division Duplex or

• `'TDD'` for Time Division Duplex

The following field is required when `DuplexMode` is set to `'TDD'`.
`TDDConfig`Optional

0, 1 (default), 2, 3, 4, 5, 6

`NSubframe`Required

Integer greater than 0

Subframe number

Data Types: `struct`

Output format, base, and unit of generated indices, specified as one of these forms.

• ```'format base unit'```

• ```"format base unit"```

• `{'format','base','unit'}`

• `["format","base","unit"]`

Where `format`, `base`, and `unit` are defined in this table.

 Option Values Description `format` `'ind'` (default), `'sub'` Output format of generated indicesTo return the indices as a column vector, specify this option as `'ind'`.To return the indices as an NRE-by-3 matrix, where NRE is the number of REs, specify this option as `'sub'`. Each row of the matrix contains the subcarrier, symbol, and antenna port as its first, second, and third element, respectively. `base` `'1based'` (default), `'0based'` Index baseTo generate indices whose first value is `1`, specify this option as `'1based'`. To generate indices whose first value is `0`, specify this option as `'0based'`. `unit` `'re'` (default), `'reg'` Unit of returned indicesTo indicate that the returned values correspond to individual resource elements (REs), specify this option as `'re'`. To indicate that the returned values correspond to resource element groups (REGs), specify this option as `'reg'`.

Example: `'ind 0based reg'`, ```"ind 0based reg"```, `{'ind','0based','reg'}`, and `["ind","0based","reg"]` specify the same output options.

Data Types: `char` | `string` | `cell`

Resources excluded from PDCCH, specified as a vector. This vector explicitly defines those resources not to be assigned to PDCCH. `exreg` must contain valid resource element group (REG) indices but can be either zero-based or one-based throughout. Indices which do not fall within the control region are ignored.

Data Types: `double`

## Output Arguments

collapse all

PDCCH RE indices, returned as an `NRE`-by-`CellRefP` numeric matrix by default. The matrix contains one-based linear indexing RE indices. Each column of `ind` identifies the same set of `NRE` subframe resource elements but with indices offset to select them in a different antenna “page” of the 3-D resource array.

The default matrix of indices in a one-based linear indexing style which can directly index elements of an M-by-N-by-`CellRefP` array, where M is the number of symbols, and N is the number of subcarriers representing the subframe grid across `CellRefP` antenna ports.

Data Types: `double`

## References

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