# ltePDSCHIndices

Physical downlink shared channel (PDSCH) resource element indices

## Syntax

``````[ind,info] = ltePDSCHIndices(enb,chs,prbset)``````
``````[ind,info] = ltePDSCHIndices(enb,chs,prbset,opts)``````

## Description

``````[ind,info] = ltePDSCHIndices(enb,chs,prbset)``` returns a matrix, `ind`, containing physical downlink shared channel (PDSCH) resource element (RE) indices and a structure, `info`, containing information related to the PDSCH indices. By default, the output indices are a one-based linear indexed 3D array representing the subframe resource element grid for all antenna ports. You can use `ind` to index elements of the subframe resource grid directly for all antenna ports. This function is initialized with cell-wide settings, `enb`, channel transmission configuration, `chs`, and physical resource block indices, `prbset`.`prbset` contains the physical resource block (PRB) indices corresponding to the resource allocation for this PDSCH transmission. You can specify `prbset` as either a column vector or a two-column matrix. If you specify a column vector, the resource allocation is the same in both slots of the subframe. If the PRBs in the first and second slots of the subframe differ, you can use the two-column matrix to specify PRBs. The PRB indices are zero-based. Each column of the returned N-by-P matrix, `ind`, contains the per-antenna indices for the N resource elements in each of the P resource array planes. For the `'Port0'`, `'TxDiversity'`, `'CDD'`, `'SpatialMux'`, and `'MultiUser'` transmission schemes, P = `enb.CellRefP`. For the other transmission schemes, P = `chs.NTxAnts`. If `chs.NTxAnts = 0` or is absent, `ind` is an N-by-NU matrix containing the per-layer indices for the N resource elements in each of NU resource array planes. The planes are associated with the layers, where NU = `chs.NLayers`.The `info` structure contains parameter fields `G` and `Gd`. `info.G` provides the appropriate size of the DL-SCH coder output, which is required as the parameter `outlen` provided to the `lteDLSCH` function. `info.Gd` is the number of coded and rate-matched DL-SCH data symbols per layer, equal to the number of rows in the PDSCH indices. To provide accurate information in `info`, the `Modulation`, `TxScheme`, and `Nlayers` fields are required in `chs`. NoteThe `Modulation` and `Nlayers` fields are required only if the `info` output is assigned when you call the function. ```

example

``````[ind,info] = ltePDSCHIndices(enb,chs,prbset,opts)``` formats the returned indices using options specified by `opts`. ```

## Examples

collapse all

This example generates the 0-based PDSCH resource element (RE) indices mapping in linear index form for the 4-antenna case.

Create the cell-wide settings structure, `enb`.

```enb = lteRMCDL('R.14'); enb.NDLRB = 6; enb.CFI = 1; enb.PDSCH.PRBSet = (1:enb.NDLRB-1).';```

Generate PDSCH RE indices, specifying the 0-based and linear options.

```ind = ltePDSCHIndices(enb,enb.PDSCH, ... enb.PDSCH.PRBSet,{'0based','ind'}); ind(1:10,:)```
```ans = 10x4 uint32 matrix 156 1164 2172 3180 157 1165 2173 3181 158 1166 2174 3182 159 1167 2175 3183 160 1168 2176 3184 161 1169 2177 3185 162 1170 2178 3186 163 1171 2179 3187 164 1172 2180 3188 165 1173 2181 3189 ```

The result, `ind`, is a matrix of 0-based mapping indices in linear index form. Since this is example is for the 4-antenna case, `ind`, has 4 columns.

## Input Arguments

collapse all

eNodeB cell-wide settings, specified as a structure containing these parameter fields.

Parameter FieldRequired or OptionalValuesDescription
`NDLRB`Required

Scalar integer from 6 to 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

`NSubframe`Required

0 (default), nonnegative scalar integer

Subframe number

`CFI`Required

1, 2, or 3
Scalar or if the CFI varies per subframe, a vector of length 10 (corresponding to a frame).

Control format indicator (`CFI`) value. In TDD mode, `CFI` varies per subframe for the RMCs (`'R.0', 'R.5', 'R.6', 'R.6-27RB', 'R.12-9RB'`)

`DuplexMode`Optional

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

Duplexing mode, specified as one of the following:

• `'FDD'` — Frequency division duplex (default)

• `'TDD'` — Time division duplex

The following apply when `DuplexMode` is set to `'TDD'`.

`TDDConfig`Optional

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

`SSC`Optional

0 (default), 1, 2, 3, 4, 5, 6, 7, 8, 9

Special subframe configuration (SSC)

The following table shows `enb` structure fields only required when the transmission scheme `chs.TxScheme` is set to `'Port7-14'`.

Parameter FieldRequired or OptionalValuesDescription
`NFrame`Optional

0 (default), nonnegative scalar integer

Frame number

`CSIRSPeriod`Optional

`'Off'` (default), `'On'`, `Icsi-rs` (0,...,154), ```[Tcsi-rs Dcsi-rs]```. You can also specify values in a cell array of configurations for each resource.

CSI-RS subframe configurations for one or more CSI-RS resources. Multiple CSI-RS resources can be configured from a single common subframe configuration or from a cell array of configurations for each resource.

The following CSI-RS resource parameters apply only when `CSIRSPeriod` sets one or more CSI-RS subframe configurations to any value other than `'Off'`. Each parameter length must be equal to the number of CSI-RS resources required.

`CSIRSConfig`Required

Nonnegative scalar integer

Array CSI-RS configuration indices. See TS 36.211, Table 6.10.5.2-1.

`CSIRefP`Required

1 (default), 2, 4, 8

Array of number of CSI-RS antenna ports

`ZeroPowerCSIRSPeriod`Optional

`'Off'` (default), `'On'`, `Icsi-rs` (0,...,154), ```[Tcsi-rs Dcsi-rs]```. You can also specify values in a cell array of configurations for each resource.

Zero power CSI-RS subframe configurations for one or more zero power CSI-RS resource configuration index lists. Multiple zero power CSI-RS resource lists can be configured from a single common subframe configuration or from a cell array of configurations for each resource list.

The following zero power CSI-RS resource parameter is only required if one or more of the above zero power subframe configurations is set to any value other than `'Off'`.

`ZeroPowerCSIRSConfig`Required

16-bit bitmap character vector or string scalar (truncated if not 16 bits or `'0'` MSB extended), or a numeric list of CSI-RS configuration indices. You can also specify values in a cell array of configurations for each resource.

Zero power CSI-RS resource configuration index lists (TS 36.211 Section 6.10.5.2). Specify each list as a 16-bit bitmap character vector or string scalar (if less than 16 bits, then `'0'` MSB extended), or as a numeric list of CSI-RS configuration indices from TS 36.211 Table 6.10.5.2-1 in the `'4'` CSI reference signal column. Multiple lists can be defined using a cell array of individual lists.

See [1].

Data Types: `struct`

PDSCH-specific channel transmission configuration, specified as a structure that can contain the following parameter fields.

Parameter FieldRequired or OptionalValuesDescription
`TxScheme`Optional

`'Port0'` (default), `'TxDiversity'`, `'CDD'`, `'SpatialMux'`, `'MultiUser'`, `'Port5'`, `'Port7-8'`, `'Port8'`, `'Port7-14'`.

PDSCH transmission scheme, specified as one of the following options.

Transmission schemeDescription
`'Port0'`Single antenna port, port 0
`'TxDiversity'`Transmit diversity
`'CDD'`Large delay cyclic delay diversity scheme
`'SpatialMux'`Closed loop spatial multiplexing
`'MultiUser'`Multi-user MIMO
`'Port5'`Single-antenna port, port 5
`'Port7-8'`Single-antenna port, port 7, when `NLayers` = 1. Dual layer transmission, ports 7 and 8, when `NLayers` = 2.
`'Port8'`Single-antenna port, port 8
`'Port7-14'`Up to eight layer transmission, ports 7–14

The following parameters apply when `TxScheme` is set to `'Port5'`, `'Port7-8'`, `'Port8'`, or `'Port7-14'`.
`NTxAnts`Optional

Nonnegative integer, 0 (default)

Number of transmission antenna ports. This argument is only present for UE-specific demodulation reference symbols.

To provide accurate information in `info`, you are required to define `TxScheme` and the following additional parameters. These fields are only required when `info` is output.
`Modulation`Optional

`'QPSK'` (default), `'16QAM'`, `'64QAM'`, `'256QAM'`, `'1024QAM'`

Codeword modulation format, specified as a character vector or string scalar for one codeword, or as cell array or string array for two codewords.

`NLayers`Optional

1 (default), 2, 3, 4, 5, 6, 7, 8

Number of transmission layers.

The number of layers is dependent on `TxScheme`.

Data Types: `struct`

Physical resource block indices, specified as a column vector or a two-column numeric matrix. This argument contains the Physical Resource Block (PRB) indices corresponding to the resource allocation for this PDSCH transmission. If you specify a column vector, the resource allocation is the same in both slots of the subframe. If the PRBs in the first and second slots of the subframe differ, you can use the two-column matrix to specify PRBs. The PRB indices are zero-based.

Data Types: `double`

Output format options for resource element indices, specified as a character vector, cell array of character vectors, or string array. For convenience, you can specify several options as a single character vector or string scalar by a space-separated list of values placed inside the quotes. Values for `opts` when specified as a character vector include (use double quotes for string) :

Category Options Description

Indexing style

`'ind'` (default)

The returned indices are in linear index style.

`'sub'`

The returned indices are in `[subcarrier,symbol,port]` subscript row style.

Index base

`'1based'` (default)

The returned indices are one-based.

`'0based'`

The returned indices are zero-based.

Example: `'ind 1based'`, `"ind 1based"`, `{'ind','1based'}`, or `["ind","1based"]` specify the same formatting options.

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

## Output Arguments

collapse all

Physical downlink shared channel (PDSCH) resource element (RE) indices, specified as a matrix. Each column of the N-by-P matrix, `ind`, contains the per-antenna indices for the N resource elements in each of the P resource array planes. For the `'Port0'`, `'TxDiversity'`, `'CDD'`, `'SpatialMux'`, and `'MultiUser'` transmission schemes, P = `enb.CellRefP`. For the other transmissions schemes, P = `chs.NTxAnts`. If `chs.NTxAnts = 0` or is absent, the `ind` matrix is of size N-by-NU. In this case, `ind`contains the per-layer indices for the N resource elements in each of NU resource array planes associated with the layers, where NU = `chs.NLayers`. You can return the indices in alternative indexing formats using the argument `opts`.

Note

The active or zero-power CSI-RS resource elements are excluded from the output indices only for the Release 10/11, `'Port7-14'` transmission scheme. For all other schemes, the CSI-RS resource element indices are not avoided, which results in a Release 8/9 compatible PDSCH. Any active or zero-power CSI-RS would overwrite the associated PDSCH REs later in the subframe construction.

Information related to PDSCH indices, returned as a structure. To provide accurate information in `info`, the channel transmission configuration structure, `chs`, must contain the fields `TxScheme`, `Modulation`, and `NLayers`. The structure `info` has the following fields.

Parameter FieldDescriptionValuesData Type
`G`

Number of coded and rate-matched DL-SCH data bits for each codeword.

one or two element vector

`uint32`

`Gd`

Number of coded and rate-matched DL-SCH data symbols per layer.

Integer equal to the number of rows in the PDSCH indices

`uint32`

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