lteEqualizeMIMO
MMSEbased joint downlink equalization and combining
Description
[
performs
joint equalization and combining of the received PDSCH symbols in out
,csi
]
= lteEqualizeMIMO(enb
,chs
,in
,hest
,noiseest
)in
,
given cellwide 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
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 cellwide configuration structure, enb
. Generate and populate transmit resource 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
enb
— Cellwide settings
structure
Cellwide settings, specified as a structure with the following fields.
Parameter Field  Required or Optional  Values  Description 

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 
 Cyclic prefix length 
CellRefP  Required  1, 2, 4  Number of cellspecific reference signal (CRS) antenna ports 
NSubframe  Required  0 (default), nonnegative scalar integer  Subframe number 
DuplexMode  Optional 
 Duplexing mode, specified as either:

The following parameters
are dependent upon the condition that  
TDDConfig  Optional  0, 1 (default), 2, 3, 4, 5, 6  Uplink–downlink configuration 
SSC  Optional  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  
CFI  Required  1, 2, or 3  Control format indicator ( 
Data Types: struct
chs
— PDSCH configuration
structure
PDSCH configuration, specified as a structure with the following fields.
Parameter Field  Required or Optional  Values  Description  

NLayers  Required  Integer from 1 to 8  Number of transmission layers (downlink modulation)  
RNTI  Required  0 (default), scalar integer  Radio network temporary identifier (RNTI) value (16 bits)  
TxScheme  Required 
 Transmission scheme, specified as one of the following options.
 
The following parameters are dependent
upon the condition that TxScheme is set to 'SpatialMux' or 'MultiUser' .  
PMISet  Required  Integer vector with element values from 0 to 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  
PRBSet  Required  Integer column vector or twocolumn matrix  Zerobased physical resource block (PRB) indices corresponding
to the slot wise resource allocations for this PDSCH.
PRBSet varies per subframe for the RMCs 
Data Types: struct
in
— Received PDSCH input symbols
numeric matrix
Received PDSCH input symbols, specified as a numeric matrix
of size MbyNRxAnts
, where M is
the number of received symbols for each of NRxAnts
receive
antennas.
Data Types: double
Complex Number Support: Yes
hest
— Channel estimate
3D numeric array
Channel estimate, specified as a 3D numeric array of size MbyNRxAnts
byenb.CellRefP
,
where:
M is the number of received symbols in
in
,NRxAnts
is the number of receive antennas,enb.CellRefP
is the number of cellspecific reference signal antenna ports.
Data Types: double
noiseest
— Noise power estimate
numeric 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
out
— Equalized output symbols
numeric matrix
Equalized output symbols, returned as a numeric matrix of size MbyNU, 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 information
numeric matrix
Soft channel state information, returned as a numeric matrix
of size MbyNU
, 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
Version History
Introduced in R2014a
See Also
lteDLChannelEstimate
 ltePDSCHDecode
 lteDLPrecode
 lteEqualizeMMSE
 lteEqualizeZF
 lteEqualizeULMIMO
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)