Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

lteULPMISelect

PUSCH precoder matrix indication calculation

Syntax

  • pmi = lteULPMISelect(ue,chs,hest,noiseest)
    example
  • pmi = lteULPMISelect(ue,chs,hest,noiseest,refgrid)
  • pmi = lteULPMISelect(ue,chs,hest,noiseest,refgrid,cec)

Description

example

pmi = lteULPMISelect(ue,chs,hest,noiseest) performs PUSCH precoder matrix indication (PMI) calculation for given UE-specific settings, ue, channel configuration structure, chs, channel estimate resource array, hest, and receiver noise variance, noiseest. The output, pmi, is a scalar containing the PMI selected for closed-loop transmission.

hest is a 4-D array of size M-by-N-by-NRxAnts-by-NTxAnts, where M is the number of subcarriers, N is the number of SC-FDMA symbols, NRxAnts is the number of receive antennas, and NTxAnts is the number of transmit antennas.

noiseest is a scalar, an estimate of the received noise power spectral density.

pmi = lteULPMISelect(ue,chs,hest,noiseest,refgrid) provides an additional input refgrid, a 3-D M-by-N-by-NTxAnts array containing known transmitted data symbols in their correct locations. All other locations i.e. DRS Symbols and unknown data symbol locations should be represented by a NaN. This is the same array as the additional refgrid input described for the lteULChannelEstimate function. For PMI selection the symbols in refgrid are ignored, but the non-NaN RE locations are used as RE locations at which to sample the channel estimate and perform PMI estimation. This approach can be used to provide a refgrid containing for example the SRS RE locations created on all NTxAnts, allowing for full-rank channel estimation for the purposes of PMI selection when the PUSCH is transmitted with less than full rank.

pmi = lteULPMISelect(ue,chs,hest,noiseest,refgrid,cec) accepts channel estimator configuration structure cec containing the field Reference.

Reference = 'None' will generate no internal reference signals, and the PMI estimation can be performed on arbitrary known REs as given by the refgrid argument. This approach can be used to provide a refgrid containing for example the SRS signals created on all NTxAnts, allowing for full-rank PMI estimation for the purposes of PMI selection when the PUSCH is transmitted with less than full rank. Reference = 'Antennas' or Reference = 'Layers' will use the PUSCH DMRS RE indices as reference locations for PMI estimation; additional references can still be provided in refgrid.

Examples

collapse all

This example creates an empty resource grid for RMC A3-2 and amend it for MIMO configuration.

Initialize ue specific parameter structure and create an empty resource grid for RMC A3-2 and amend it for MIMO configuration.

ue = lteRMCUL('A3-2');
ue.NTxAnts = 4;
ue.PUSCH.NLayers = 2;
rgrid = lteULResourceGrid(ue);
rgrid(ltePUSCHDRSIndices(ue,ue.PUSCH)) = ltePUSCHDRS(ue,ue.PUSCH);

Generate modulated waveform.

txWaveform = lteSCFDMAModulate(ue,rgrid);

Configure a fading channel.

chcfg.Seed = 100;
chcfg.DelayProfile = 'EPA';
chcfg.NRxAnts = 2;
chcfg.InitTime = 100;
chcfg.InitPhase = 'Random';
chcfg.ModelType = 'GMEDS';
chcfg.NTerms = 16;
chcfg.NormalizeTxAnts = 'On';
chcfg.NormalizePathGains = 'On';
chcfg.DopplerFreq = 50.0;
chcfg.MIMOCorrelation = 'Low';
chcfg.SamplingRate = 15360000;

Filter the transmit waveform through a fading channel and perform SC-FDMA demodulation.

rxWaveform = lteFadingChannel(chcfg,txWaveform);
rxSubframe = lteSCFDMADemodulate(ue,rxWaveform);

Estimate the corresponding channel and the noise power spectral density on the reference signal subcarriers.

cec = struct('FreqWindow',12,'TimeWindow',1,'InterpType','cubic');
cec.PilotAverage = 'UserDefined';
cec.Reference = 'Antennas';

[hest,noiseEst] = lteULChannelEstimate(ue,ue.PUSCH,cec,rxSubframe);

Use this estimate to calculate the precoder matrix indication (PMI).

pmi = lteULPMISelect(ue,ue.PUSCH,hest,noiseEst)
pmi =

     4

Input Arguments

collapse all

UE-specific settings, specified as a scalar structure with the following fields.

Number of uplink (UL) resource blocks (RBs), specified as a scalar integer.

Data Types: double

Cyclic prefix length, specified as 'Normal' or 'Extended'.

Data Types: char

Number of transmission antennas, specified as 1, 2, or 4.

Data Types: double

Data Types: struct

Channel configuration structure, specified as a scalar structure with the following fields.

Physical Resource Block indices, specified as a numeric column matrix. PRBSet can be a 1- or 2-column matrix, containing the 0-based Physical Resource Block indices (PRBs) corresponding to the resource allocations for this PUSCH.

Data Types: double

Number of transmission layers, specified as 1, 2, 3, or 4.

Data Types: double

Data Types: struct

Channel estimate, specified as a 4-D numeric array of size M-by-N-by-NRxAnts-by-NTxAnts. M is the number of subcarriers, N is the number of SC-FDMA symbols, NRxAnts is the number of receive antennas and NTxAnts is the number of transmit antennas.

Data Types: double
Complex Number Support: Yes

Receiver noise variance, specified as a numeric scalar. It is an estimate of the received noise power spectral density.

Data Types: double

Transmitted data symbols, specified as a 3-D numeric array. refgrid is an M-by-N-by-NTxAnts array containing known symbols in their correct locations.

Data Types: double
Complex Number Support: Yes

Channel estimator configuration, specified as a scalar structure with the following fields.

Point of reference (indices to internally generate) for PMI estimation. Reference = 'None' generates no internal reference signals, and the PMI estimation can be performed on arbitrary known REs as given by the refgrid argument. Reference = 'Antennas' or Reference = 'Layers' uses the PUSCH DMRS RE indices as reference locations for PMI estimation; additional references can still be provided in refgrid.

Data Types: char

Data Types: struct

Output Arguments

collapse all

Precoder matrix indication selected for closed-loop transmission, returned as a numeric scalar between 0 and 23.

Introduced in R2014a

Was this topic helpful?