# ltePMISelect

PDSCH precoder matrix indicator calculation

## Syntax

``````[pmiset,info,sinrs,subbandsinrs] = ltePMISelect(enb,chs,hest,noiseest)``````

## Description

example

``````[pmiset,info,sinrs,subbandsinrs] = ltePMISelect(enb,chs,hest,noiseest)``` performs PDSCH precoder matrix indication (PMI) set calculation for the given cell-wide settings, `enb`, channel configuration structure, `chs`, channel estimate resource array, `hest`, and receiver noise variance, `noiseest`. For more information, see PMI Selection.```

## Examples

collapse all

This example shows PMI selection and configuration of a downlink transmission with the selected PMI set.

Populate an empty resource grid for RMC R.13 with cell specific reference signal symbols. OFDM modulate the grid to create `txWaveform`. Initialize channel configuration structure. Pass `txWaveform` through channel and demodulate `rxWaveform` to recover `rxSubframe`

```enb = lteRMCDL('R.13'); enb.PDSCH.PMIMode = 'Subband'; reGrid = lteResourceGrid(enb); reGrid(lteCellRSIndices(enb)) = lteCellRS(enb); [txWaveform,info] = lteOFDMModulate(enb,reGrid); chcfg.SamplingRate = info.SamplingRate; chcfg.DelayProfile = 'EPA'; chcfg.NRxAnts = 4; chcfg.DopplerFreq = 5; chcfg.MIMOCorrelation = 'Low'; chcfg.InitTime = 0; chcfg.Seed = 1; rxWaveform = lteFadingChannel(chcfg,txWaveform); rxSubframe = lteOFDMDemodulate(enb,rxWaveform);```

Initialize channel estimation structure. Perform channel estimation. Use estimates of the channel and noise power spectral density for PMI selection. This PMI set is then used to configure a downlink transmission.

```cec.FreqWindow = 1; cec.TimeWindow = 31; cec.InterpType = 'cubic'; cec.PilotAverage = 'UserDefined'; cec.InterpWinSize = 1; cec.InterpWindow = 'Centered'; [hest, noiseEst] = lteDLChannelEstimate(enb,cec,rxSubframe); pmi = ltePMISelect(enb,enb.PDSCH,hest,noiseEst)```
```pmi = 9×1 1 1 6 2 12 12 12 12 12 ```
```enb.PDSCH.PMISet = pmi; txWaveform = lteRMCDLTool(enb,[1;0;0;1]);```

## Input Arguments

collapse all

Cell-wide settings, specified as a structure containing the following 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

`CellRefP`Optional

`1` (default), `2`, `4`

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

`CyclicPrefix`Optional

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

Cyclic prefix length

`DuplexMode`Optional

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

Duplexing mode, specified as either:

• `'FDD'` for Frequency Division Duplex

• `'TDD'` for Time Division Duplex

The following parameters 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 parameters apply when `DuplexMode` is set to `'TDD'` or `chs``.``TxScheme` is set to `'Port7-14'`

`NSubframe`Required

0 (default), nonnegative scalar integer

Subframe number

The following parameters apply when `chs.TxScheme` is set to `'Port7-14'` transmission scheme.

`CSIRefP`Required

1, 2, 4

Array of number of CSI-RS antenna ports

`CSIRSConfig`Required

Scalar integer

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

`CSIRSPeriod`Optional

`'On'` (default), `'Off'`, `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.

`Nframe`Optional

0 (default), nonnegative scalar integer

Frame number

Data Types: `struct`

Channel transmission configuration, specified as a structure containing the following fields:

Parameter FieldRequired or OptionalValuesDescription
`NLayers`Required

Integer from 1 to 8

Number of transmission layers.

`PMIMode`Optional

`'Wideband'` (default), `'Subband'`

PMI reporting mode. `PMIMode`=`'Wideband'` corresponds to PUSCH reporting Mode 1-2 or PUCCH reporting Mode 1-1 (PUCCH Report Type 2) and `PMIMode`=`'Subband'` corresponds to PUSCH reporting Mode 3-1.

`TxScheme`Optional

`'Port0'`, `'TxDiversity'`, `'CDD'`, `'SpatialMux'` (default), `'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

`CodebookSubset`Optional

Character vector, string scalar, or integer vector, all ones (default)

Codebook subset restriction, specified as a character vector or string scalar bitmap. The default values are all ones, permitting all PMI values. This parameter is configured by higher layers and indicates the values of PMI that can be reported. The bitmap, defined in TS 36.213, Section 7.2, is arranged a_A-1,a_A-2,...a_0. For example, the element CodebookSubset(1) corresponds to a_A-1 and the element CodebookSubset(end) corresponds to a_0. The length of the bitmap is given by the `info.CodebookSubsetSize` field returned by `ltePMIInfo`. You can also specify the bitmap in a hexadecimal form by adding the prefix `'0x'`. Alternatively, you can specify a numeric array identical to the `pmiset` output, indicating to restrict the selection to only those `pmiset` values. Specifying the parameter in this way enables you to obtain SINR estimates against an existing reported PMI for RI and CQI selection. If this parameter field is defined but is empty, no codebook subset restriction is applied. `(codebookSubsetRestriction)`

The following parameter applies for `'Port7-14'` transmission scheme with `CSIRefP` equal to 4, or for `'Port7-8'` or `'Port8'` transmission scheme with `CellRefP` equal to 4.

`AltCodebook4Tx `Optional

`'Off'` (default), `'On'`

If set to `'On'`, enables the alternative codebook for CSI reporting with four antennas defined in TS 36.213, Tables 7.2.4-0A to 7.2.4-0D. The default is `'Off'`. (alternativeCodeBookEnabledFor4TX-r12)

Data Types: `struct`

Channel estimate, specified as a multidimensional array of size K-by-L-by-NRxAnts-by-P where:

• K is the number of subcarriers.

• L is the number of OFDM symbols.

• NRxAnts is the number of received antennas.

• P is the number of planes.

Data Types: `double`
Complex Number Support: Yes

Receiver noise variance, specified as a numeric scalar. This input argument specifies an estimate of the received noise power spectral density.

Data Types: `double`

## Output Arguments

collapse all

Precoder matrix indications (PMI) set selected, returned as a column vector or an integer.

• For the `'Port7-14'` transmission scheme with eight CSI-RS ports, or for CSI reporting with the alternative codebook for four antennas, `pmiset` has `info``.``NSubbands + 1` rows. The first row indicates wideband codebook index i1. The subsequent `info``.``NSubbands` rows indicate the subband codebook indices i2 or if `info``.``NSubbands = 1`, the wideband codebook index i2.

• For other numbers of CSI-RS ports in the `'Port7-14'` transmission scheme, and for other transmission schemes, `pmiset` has `info``.``NSubbands` rows. Each row gives the subband codebook index for that subband.

• For wideband reporting (`info``.``NSubbands = 1`), `pmiset` is a scalar specifying the selected wideband codebook index.

Note

`pmiset` is empty if the noise estimate, `noiseest`, is zero or NaN, or if the channel estimate, `hest`, contains any NaNs in the locations of the reference signal REs used for PMI estimation.

Information related to PMI reporting, returned as a scalar structure. `info` contains the following fields:

Parameter FieldDescriptionValues
`k`

Subband size, in resource blocks (equal to `NRB` for wideband PMI reporting or transmission schemes without PMI reporting).

numeric scalar
`NSubbands`

Number of subbands for PMI reporting (equal to 1 for wideband PMI reporting) or transmission schemes without PMI reporting.

numeric scalar
`MaxPMI`

Maximum permitted PMI value for the given configuration. Valid PMI values range from 0 to `MaxPMI`. For CSI reporting, when `CSIRefP = 8`, or for CSI reporting with the alternative codebook for four antennas,`MaxPMI` is a 2–element vector, indicating the maximum permissible values of i1 and i2, the first and second codebook indices. For transmission schemes without PMI reporting, ```MaxPMI = 0```.

nonnegative numeric scalar
`CodeBookSubsetSize`

Size of the codebook subset restriction bitmap. For transmission schemes without PMI reporting, `CodebookSubsetSize=0`.

scalar

Signal to interference plus noise ratios, returned as a multidimensional array of size K-by-L-by-N1-by-N2, where:

• K is the number of subcarriers

• L is the number of OFDM symbols

• Definition of N1 and N2 depends on the CSI-RS ports:

• For the `'Port7-14'` transmission scheme with eight CSI-RS ports, or for CSI reporting with the alternative codebook for four antennas, N1 and N2 are the number of possible first and second codebook indices:

• N1 is `info``.MaxPMI(1) + 1`

• N2 is `info``.MaxPMI(2) + 1`

• For other numbers of CSI-RS ports in the `'Port7-14'` transmission scheme, and for other transmission schemes:

• N1 is 1

• N2 is `info``.MaxPMI + 1`

The array contains non-`NaN` values in the time and frequency locations (first two dimensions) of the reference signal REs. This array is used for PMI estimation for all possible codebook indices (last two dimensions). These values are the calculated sinrs in the reference signal RE locations for each codebook index combination. You can obtain the values using a linear MMSE SINR metric. All locations not corresponding to a reference signal RE are set to `NaN`.

Subband signal-to-interference plus noise ratios (`sinrs`), returned as an `info``.NSubbands`-by-N1-by-N2-by-`chs``.NLayers` array. This array indicates the average linear SINR in the subband specified for each possible PMI value (N1 and N2 dimensions) and each layer. The `sinrs` output is formed by summing a 5–dimensional K-by-L-by-N1-by-N2-by-`chs``.NLayers` estimate of the `sinrs` across all the layers. `subbandsinrs` is formed by averaging that same five-dimensional estimate across each subband that is in the appropriate region of the K dimension and across the L dimension. Dimensionality described in `sinrs` applies here.

collapse all

### PMI Selection

PDSCH precoder matrix indication (PMI) selection calculates a PMI set, `pmiset`. Functions, such as `lteRMCDLTool` or `ltePDSCH`, can use the returned `pmiset` to configure the PMI for downlink transmissions they generate. PMI selection is performed using the PMI definitions specified in TS 36.213, Section 7.2.4.

• The CSI reporting codebook is used for:

• `'Port7-14'` transmission scheme with eight CSI-RS ports

• CSI reporting with the alternative codebook for four antennas (alternativeCodeBookEnabledFor4TX -r12  = true).

• The codebook for closed-loop spatial multiplexing, defined in TS 36.211 Tables 6.3.4.2.3-1 and 6.3.4.2.3-2, is used for other cases.

The PMI feedback type associated with the PMI selection process can be wideband or subband:

• `PMIMode = 'Wideband'` corresponds to PUSCH reporting Mode 1-2 or PUCCH reporting Mode 1-1 (PUCCH Report Type 2).

• `PMIMode = 'Subband'` corresponds to PUSCH reporting Mode 3-1.

PMI selection is based on the rank indicated by `chs.NLayers`, except for `'TxDiversity'` transmission scheme, where the rank is 1. In PUCCH reporting Mode 1-1, you can achieve codebook subsampling for submode 2, as specified in TS 36.213, Table 7.2.2-1D, with an appropriate `chs``.CodebookSubset`.

## 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.213. “Evolved Universal Terrestrial Radio Access (E-UTRA); Physical layer procedures.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

## Version History

Introduced in R2014a