Documentation

lteEqualizeMIMO

MMSE-based joint downlink equalization and combining

Syntax

  • [out,csi] = lteEqualizeMIMO(enb,chs,in,hest,noiseest)
    example

Description

example

[out,csi] = lteEqualizeMIMO(enb,chs,in,hest,noiseest) performs joint equalization and combining of the received PDSCH symbols in in, given cell-wide settings structure, enb, PDSCH configuration structure, chs, channel estimate, hest, and noise power estimate, noiseest. MMSE equalization is performed on the product of the channel matrix and precoding matrices. Thus, it performs MMSE equalization between transmit and receive layers and returns the result, out.

Examples

collapse all

Equalize and Deprecode PDSCH Symbols

Equalize and deprecode the PDSCH symbols for RMC R.11 in a MIMO configuration. The PDSCH symbols are extracted from a transmit resource grid. An ideal (identity) channel estimate and ideal (zero) noise estimate are created. The channel and noise estimates are used to equalize and deprecode the PDSCH symbols.

Initialize cell-wide configuration structure, enb. Generate and populate transmit resouce grid for RMC R.11.

rmccfg.RC = 'R.11';
ncodewords = 2;
enb = lteRMCDL(rmccfg, ncodewords);
enb.TotSubframes = 1;
[~,txGrid] = lteRMCDLTool(enb, {[1;0] [0;1]});

Extract the PDSCH symbols from this transmit grid.

[ind,indInfo] = ltePDSCHIndices(enb, enb.PDSCH, enb.PDSCH.PRBSet);
pdschSym = txGrid(ind);

Create an ideal, or identity, channel estimate and an ideal, or zero, noise estimate.

hest = permute(repmat(eye(enb.CellRefP), [1 1 indInfo.Gd]), [3 1 2]);
nest = 0.0;

Equalize and deprecode the PDSCH symbols, using the channel and noise estimates.

[out,csi] = lteEqualizeMIMO(enb, enb.PDSCH, pdschSym, hest, nest);
deprecoded = lteDLDeprecode(enb,enb.PDSCH,out);

Input Arguments

collapse all

enb — Cell-wide settingsstructure

Cell-wide settings, specified as a structure with the following fields.

Parameter FieldRequired or OptionalValuesDescription
NDLRBRequired

Scalar integer (6,...,110). Standard bandwidth values are 6, 15, 25, 50, 75, and 100. NDLRB also accepts the standardized bandwidths in string format from the set {'1.4MHz', '3MHz', '5MHz', '10MHz', '15MHz', '20MHz'}.

Number of downlink (DL) resource blocks (RBs)

NCellIDRequired

Integer from 0 to 503

Physical layer cell identity.

CyclicPrefixOptional

'Normal' (default), 'Extended'

Cyclic prefix length

CellRefPRequired

1, 2, 4

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

NSubframeRequired

Nonnegative integer

Subframe number.

DuplexModeOptional

'FDD' (default), 'TDD'

Duplexing mode, specified as:

  • 'FDD' for Frequency Division Duplex or

  • 'TDD' for Time Division Duplex

The following parameters are dependent upon the condition that enb.DuplexMode is set to 'TDD'.

  TDDConfigOptional

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

Uplink or downlink configuration

  SSCOptional

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

Special subframe configuration (SSC)

The following parameter fields are dependent upon the condition that chs.TxScheme is set to 'SpatialMux' or 'MultiUser'.

  CFIRequired

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')

Data Types: struct

chs — PDSCH configurationstructure

PDSCH configuration, specified as a structure with the following fields.

Parameter FieldRequired or OptionalValuesDescription
NLayersRequired

1, …, 8

Number of transmission layers (downlink modulation)

RNTIRequired

Scalar integer

Radio network temporary identifier (RNTI) value (16 bits)

TxSchemeRequired

'CDD', 'SpatialMux', 'MultiUser'

Transmission scheme, specified as one of the following options.

  • 'CDD' — Large delay CDD scheme.

  • 'SpatialMux' — Closed-loop spatial multiplexing.

  • 'MultiUser' — Multiuser MIMO scheme.

The following parameters are dependent upon the condition that TxScheme is set to 'SpatialMux' or 'MultiUser'.
  PMISetRequired

Integer vector (0,...,15)

Precoder matrix indication (PMI) set. It can contain either a single value, corresponding to single PMI mode, or multiple values, corresponding to multiple or subband PMI mode. The number of values depends on CellRefP, transmission layers and TxScheme. For more information about setting PMI parameters, see ltePMIInfo.

  PRBSetRequired

Integer column vector or two-column matrix

Zero-based physical resource block (PRB) indices corresponding to the slot wise resource allocations for this PDSCH. PRBSet can be assigned as:

  • a column vector, the resource allocation is the same in both slots of the subframe,

  • a two-column matrix, this parameter specifies different PRBs for each slot in a subframe,

  • a cell array of length 10 (corresponding to a frame, if the allocated physical resource blocks vary across subframes).

PRBSet varies per subframe for the RMCs 'R.25'(TDD), 'R.26'(TDD), 'R.27'(TDD), 'R.43'(FDD), 'R.44', 'R.45', 'R.48', 'R.50', and 'R.51'.

Data Types: struct

in — Received PDSCH input symbolsnumeric matrix

Received PDSCH input symbols, specified as a numeric matrix of size M-by-NRxAnts, where M is the number of received symbols for each of NRxAnts receive antennas.

Data Types: double
Complex Number Support: Yes

hest — Channel estimate3-D numeric array

Channel estimate, specified as a 3-D numeric array of size M-by-NRxAnts-by-enb.CellRefP, where:

  • M is the number of received symbols in in,

  • NRxAnts is the number of receive antennas,

  • enb.CellRefP is the number of cell-specific reference signal antenna ports.

Data Types: double

noiseest — Noise power estimatenumeric scalar

Noise power estimate, specified as a numeric scalar. This argument is an estimate of the noise power spectral density per RE on rxgrid. Such an estimate is provided by the lteDLChannelEstimate function.

Data Types: double

Output Arguments

collapse all

out — Equalized output symbolsnumeric matrix

Equalized output symbols, returned as a numeric matrix of size M-by-NU, where

  • M is the number of received symbols for each receive antenna

  • NU is the number of transmit layers

Data Types: double
Complex Number Support: Yes

csi — Soft channel state informationnumeric matrix

Soft channel state information, returned as a numeric matrix of size M-by-NU, the same size as out. This argument contains soft channel state information and provides an estimate, via MMSE, of the received gain for each received layer.

Data Types: double

Introduced in R2014a

Was this topic helpful?