Documentation

lteDLChannelEstimate

Downlink channel estimation

Syntax

  • [hest,noisest] = lteDLChannelEstimate(enb,rxgrid)
  • [hest,noisest] = lteDLChannelEstimate(enb,cec,rxgrid)
    example
  • [hest,noisest] = lteDLChannelEstimate(enb,pdsch,cec,rxgrid)
  • [hest,noisest] = lteDLChannelEstimate(enb,epdcch,cec,rxgrid)

Description

[hest,noisest] = lteDLChannelEstimate(enb,rxgrid) returns the estimated channel response between each transmit and receive antenna,hest, and an estimate of the noise power spectral density on the reference signal subcarriers, noisest, given the cell-wide settings structure, enb, and the resource grid, rxgrid. For more information, see Channel Estimation Processing.

example

[hest,noisest] = lteDLChannelEstimate(enb,cec,rxgrid) specifies channel estimation method and parameters in the channel estimator configuration structure cec.

[hest,noisest] = lteDLChannelEstimate(enb,pdsch,cec,rxgrid) specifies the Physical Downlink Shared Channel (PDSCH) transmission configuration, pdsch.

[hest,noisest] = lteDLChannelEstimate(enb,epdcch,cec,rxgrid) specifies the Enhanced Physical Downlink Control Channel (EPDCCH) transmission configuration, epdcch.

Examples

collapse all

Estimate Downlink Channel Characteristics

Perform channel estimation on an RMC R.12 (4-antenna transmit diversity) waveform.

Initialize a cell-wide configuration strurcture for transmission of RMC R.12.

rc = 'R.12';
enb = lteRMCDL(rc);

Initialize channel estimator configuration (cec). The averaging window size is configured in terms of resource elements (REs), time and frequency. Here cubic interpolation will be used with an averaging window of 1-by-1 REs. No noise estimate is required and there is no need for averaging because no noise is added for this example. Therefore, it is acceptable to set the frequency window and time window size to '1'.

cec.FreqWindow = 1;
cec.TimeWindow = 1;
cec.InterpType = 'cubic';
cec.PilotAverage = 'UserDefined';
cec.InterpWinSize = 3;
cec.InterpWindow = 'Causal';

Use lteRMCDLTool and the cell-wide configuration structure to generate a transmit waveform.

txWaveform = lteRMCDLTool(enb,[1;0;0;1]);

Model the propagation channel by combining all transmit antennas onto one receive antenna.

Perform OFDM demodulation.

With the cell parameters defined, channel estimation configured and a received waveform demodulated the channel characteristics for the received resource grid is estimated. Display the size of the channel estimate. hest is an M-by-N-by-NRxAnts-by-CellRefP array.

rxWaveform = sum(txWaveform,2);

rxGrid = lteOFDMDemodulate(enb,rxWaveform);

hest = lteDLChannelEstimate(enb,cec,rxGrid);
size(hest)
ans =

    72   140     1     4

Input Arguments

collapse all

enb — eNodeB cell-wide settingsstructure

eNodeB cell-wide settings, specified as a structure that can contain these parameter 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)

CellRefPRequired

1, 2, 4

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

NCellIDRequired

Integer from 0 to 503

Physical layer cell identity.

NSubframeRequired

Nonnegative integer

Subframe number.

CyclicPrefixOptional

'Normal' (default), 'Extended'

Cyclic prefix length

DuplexModeOptional

'FDD' (default), 'TDD'

Duplexing mode, specified as:

  • 'FDD' for Frequency Division Duplex or

  • 'TDD' for Time Division Duplex

The following parameters are applicable when 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 parameters are applicable when cec.Reference is set to 'CSIRS'. See footnote 1.

  CSIRefPRequired

1 (default), 2, 4, 8

Array of number of CSI-RS antenna ports

  CSIRSConfigRequired

scalar integer

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

  CSIRSPeriodOptional

'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 configuration.

  1. CSI-RS-based channel estimation is strictly only valid within the standard for the 'Port7-14' transmission scheme. For more information, see TS 36.211 [3], Section 6.10.5.3.

rxgrid — Resource element array3-D numeric matrix

Resource element array, specified as a 3-D numeric matrix of size M-by-N-by-NRxAnts. The second dimension of rxgrid can contain any whole number of subframes worth of OFDM symbols. For a normal cyclic prefix, each subframe contains 14 OFDM symbols; therefore, N is a multiple of 14.

    Note:   To adhere to the estimation method defined in TS 36.104 [1] and TS 36.141 [2], rxgrid must contain 10 subframes.

Data Types: double
Complex Number Support: Yes

cec — Channel estimator configurationstructure

Channel estimator configuration, specified as a structure that can contain the following parameter fields.

Parameter FieldRequired or OptionalValuesDescription
PilotAverageRequired

'UserDefined'(default), 'TestEVM'

See footnote 1.

Type of pilot averaging

FreqWindowRequired

Nonnegative scalar integer

Size of window in resource elements used to average over frequency during channel estimation

See hest for additional information.

TimeWindowRequired

Nonnegative scalar integer

Size of window in resource elements used to average over time during channel estimation

See hest for additional information.

InterpTypeRequired

'nearest', 'linear', 'natural', 'cubic', 'v4', 'None'

See footnote 2.

Type of 2-D interpolation used during interpolation. For details, see griddata. Supported choices are shown in the following table.

StringDescription
'nearest'Nearest neighbor interpolation
'linear'Linear interpolation
'natural'Natural neighbor interpolation
'cubic'Cubic interpolation
'v4'MATLAB® 4 griddata method
'None'Disables interpolation

The following parameters are applicable when InterpType is not set to 'None'.

  InterpWindowRequired

'Causal', 'Non-causal', 'Centred', 'Centered'

Interpolation window type used during channel estimation. Options 'Centred' and 'Centered' are equivalent.

  InterpWinSizeRequired

Positive scalar number. If InterpWindow is set to 'Causal' or 'Non-causal', all numbers ≥1. If InterpWindow is set to 'Centred' or 'Centered', only odd integers ≥1.

Window size across which to interpolate. The interpolation window size is specified in number of subframes.

The following parameters are applicable when EPDCCH channel estimation is requested or pdsch.TxScheme is set to 'Port5', 'Port7-8', 'Port8', or 'Port7-14'.

  ReferenceOptional

'DMRS' (default), 'CSIRS', 'CellRS', 'EPDCCHDMRS'

Specifies point of reference (signals to internally generate) for channel estimation

  1. The 'UserDefined' pilot averaging uses a rectangular kernel of size cec.FreqWindow-by-cec.TimeWindow and performs a 2-D filtering operation upon the pilots. Pilots near the edge of the resource grid are averaged less as they have no neighbors outside of the grid. For cec.FreqWindow = 12 × X (that is, any multiple of 12) and cec.TimeWindow = 1, the estimator enters a special case where an averaging window of (12 × X)-in-frequency is used to average the pilot estimates. For this special case, the averaging is always applied across (12 × X) subcarriers, even at the upper and lower band edges; therefore the first (6 × X) symbols at the upper and lower band edge have the same channel estimate. This operation ensures that averaging is always done on 12 (or a multiple of 12) symbols. This provides the appropriate despreading operation required for the case multi-antenna transmission where the DRS signals associated with each antenna occupy the same time/frequency locations but use different orthogonal cover codes to allow them to be differentiated at the receiver. The 'TestEVM' pilot averaging ignores other structure fields in cec, and follows the method described in TS 36.104/141, Annex E/F for the purposes of transmitter EVM testing.

  2. For cec.InterpType = 'None', no interpolation is performed between pilot symbols and no virtual pilots are created. hest will contain channel estimates in the locations of transmitted reference symbols for each received antenna and all other elements of hest are zero. The averaging of pilot symbols estimates described by cec.TimeWindow and cec.FreqWindow are still performed.

pdsch — PDSCH-specific channel transmission configurationstructure

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

Parameter FieldRequired or OptionalValuesDescription
TxSchemeRequired

Default TxScheme is RMC-dependent. Valid values include: 'SpatialMux', 'Port0', 'TxDiversity', 'CDD', 'MultiUser', 'Port5', 'Port7-8', 'Port8', 'Port7-14'

Transmission scheme, specified as one of the following options.

  • 'SpatialMux' — Closed-loop spatial multiplexing.

  • 'Port0' — Single-antenna port, port 0.

  • 'TxDiversity' — Transmit diversity scheme.

  • 'CDD' — Large delay cyclic delay diversity scheme.

  • 'MultiUser' — Multiuser MIMO scheme.

  • 'Port5' — Single-antenna port, port 5.

  • 'Port7-8' — Single-antenna port, port 7 (NLayers = 1). Dual layer transmission, ports 7 and 8 (NLayers = 2).

  • 'Port8' — Single-antenna port, port 8.

  • 'Port7-14' — Up to eight-layer transmission, ports 7–14.

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

RNTIRequired

Scalar integer

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

The following parameters are applicable when pdsch.TxScheme is set to 'Port5', 'Port7-8', 'Port8', or 'Port7-14'.

  NLayersRequired1,2,3,4Number of transmission layers

epdcch — EPDCCH-specific channel transmission configurationstructure

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

Parameter FieldRequired or OptionalValuesDescription
EPDCCHTypeRequired'Localized', 'Distributed'

EPDCCH transmission type.

EPDCCHPRBSetRequired

Vector of zero-based indices for the PRB pairs corresponding to the EPDCCH PRB set. The number of PRB pair indices must be a power of 2.

If no transmission is required, leave this parameter empty.

EPDCCH PRB pair indices

EPDCCHNIDRequired

Nonnegative integer

EPDCCH nID parameter for scrambling sequence initialization

For EPDCCH channel estimation, cec.Reference must be set to 'EPDCCHDMRS'. Channel estimation is only performed in the PRB pairs indicated by EPDCCHPRBSet, but is performed for all EPDCCH candidate locations within those PRB pairs. In other PRBs the channel estimate is interpolated according to cec.InterpType. As indicated in TS 36.211 [3], Table 6.8A.5-1:

  • For EPDCCHType = 'Localized', channel estimation is performed in the set of antenna ports p=107...110, p=107,109 or p=107,108 depending on the cell configuration.

  • For EPDCCHType = 'Distributed', channel estimation is performed in the pair of EPDCCH antenna ports used for EPDCCH transmission (p=107,109 for normal cyclic prefix and p=107,108 for extended cyclic prefix).

  • In other EPDCCH antenna ports, the channel estimate is zero.

For 'UserDefined' pilot averaging, if cec.TimeWindow=2 and cec.FreqWindow=1, the "despreading" pilot averaging behaviour described for the PDSCH is used because the EPDCCH DMRS and PDSCH DMRS resource element arrangement and use of cover codes is the same.

Output Arguments

collapse all

hest — Estimated channel between transmit and receive antennas4-D numeric array

Estimated channel between transmit and receive antennas, returned as a 4-D numeric array. The reference signals used for channel estimation depends on the settings for pdsch.TxScheme and cec.Reference. Options include cell-specific reference signals (default), PDSCH DM-RS, CSI-RS, or EPDCCH DM-RS.

The fourth dimension of the output channel estimate array varies based on the reference signal option chosen.

Reference signal used for channel estimationOutput array dimensions

(See footnote 1)

RS-specific dimensionTransmission scheme

Cell-specific reference signal

M-by-N-by-NRxAnts-by-CellRefP

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

'SpatialMux', 'Port0', 'TxDiversity', 'CDD', 'MultiUser', 'Port5', 'Port7-8', 'Port8', 'Port7-14'

PDSCH DM-RS

M-by-N-by-NRxAnts-by-NLayers

NLayers is the number of transmission layers.

'Port5', 'Port7-8', 'Port8', and 'Port7-14'

CSI-RS

M-by-N-by-NRxAnts-by-CSIRefP

CSIRefP is the number of CSI-RS antenna ports.

'Port5', 'Port7-8', 'Port8', and 'Port7-14'

EPDCCH DM-RS

M-by-N-by-NRxAnts-by-4

Estimate across all four possible EPDCCH ports (p=107...110), which ensures consistency with the indexing used by lteEPDCCHDMRSIndices and lteEPDCCHIndices

  1. Output array dimensions

    • M is the number of subcarriers.

    • N is the number of OFDM symbols.

    • NRxAnts is the number of receive antennas.

When TxScheme is set to 'Port7-8' or 'Port7-14' and cec.PilotAverage is set to 'UserDefined', if cec.TimeWindow is 2 or 4 and cec.FreqWindow is 1, the estimator enters a special case where an averaging window of two or four pilots in time is used to average the pilot estimates. For this configuration, averaging is always applied across two or four pilots, regardless of their separation in OFDM symbols. Applying the averaging across two or four pilots provides the appropriate "despreading" operation required for the case of UE-RS ports or CSI-RS ports which occupy the same time/frequency locations but use different orthogonal covers to allow them to be differentiated at the receiver.

  • For the CSI-RS with any number of configured enb.CSIRefP ports, the pilot REs occur in one pair per subframe. The CSI-RS pilot RE pairs require averaging with cec.TimeWindow = 2, and result in a single estimate per subframe.

  • For the UE-RS with pdsch.NLayers from 1 through 4 layers, the pilot REs occur in pairs, repeated in each slot. The UE-RS pilot RE pairs require averaging with cec.TimeWindow = 2, and result in two estimates per subframe, one for each slot.

  • When configured to use from 5 through 8 layers, the pairs are distinct between the slots of the subframe and the required averaging is cec.TimeWindow = 4, resulting in one estimate per subframe. In these cases, rxgrid must contain only one subframe because only a single subframe can be estimated.

Data Types: double
Complex Number Support: Yes

noisest — Power spectral density estimate on reference signal subcarriersnumeric scalar

Power spectral density estimate on reference signal subcarriers, returned as a real-valued numeric scalar. An estimate of the power spectral density of the noise present on the estimated channel response coefficients is computed using the reference signals.

Data Types: double

More About

collapse all

Algorithms

Channel Estimation Processing

Steps associated with the channel estimation processing include:

  1. Extract the reference signals, or pilot symbols, for a transmit-receive antenna pair from the received grid. Use the reference signals to calculate the least-squares estimates of the channel response at the pilot symbol positions within a received grid.

    • The least-squares estimates of the reference signals are obtained by dividing the received pilot symbols by their expected value. Any system noise affects the least-squares estimates. Remove or reduce the noise to achieve a reasonable estimation of the channel at pilot symbol locations. For more information, see Noise Reduction and Interpolation.

  2. Average the least-squares estimates to reduce any unwanted noise from the pilot symbols.

  3. Using the cleaned pilot symbol estimates, interpolate to obtain an estimate of the channel for the entire number of subframes passed into the function.

Noise Reduction and Interpolation

To minimize the effects of noise on the pilot symbol estimates, the least-squares estimates are averaged using an averaging window. This simple method produces a substantial reduction in the level of noise found on the pilot symbols. The two pilot symbol averaging methods, which also define the interpolation method performed to obtain the channel estimate, are 'TestEVM' and 'UserDefined'.

  • 'TestEVM' — follows the method described in TS 36.141 [2], Annex F.3.4. Time averaging is performed across each pilot symbol carrying subcarrier, resulting in a column vector containing the time averaged estimates of the channel. Frequency averaging is then performed using a moving window, maximum size 19. Linear interpolation is used to estimate the values between the pilot symbols. The estimated vector is then replicated and used as the entire channel estimate.

      Note:   For 'TestEVM', there are no user-defined parameters. Estimation behaves as described in TS 36.141 [2].

    The algorithm differs from the implementation described in TS 36.141 [2] due to the number of subframes across which time-averaging is performed. In TS 36.141 [2], the method requires 10 subframes to be used. The function lteDLChannelEstimate performs time averaging across the total number of subframes contained in rxgrid.

  • 'UserDefined' — uses an averaging window defined by you. The averaging window size is in resource elements. Any pilot symbols located within the window are used to average the value of the pilot symbol found at the center of the window. The averaged pilot symbol estimates are then used to perform a 2-D interpolation across a window of subframes. The location of pilot symbols within the subframe is not ideally suited to interpolation. To account for this, virtual pilots are created and placed outside the area of the current subframe. This approach allows complete and accurate interpolation to be performed. The subframe window can be specified to be causal, non-causal, or centered, depending on the data available.

References

[1] 3GPP TS 36.104. "Base Station (BS) radio transmission and reception." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

[2] 3GPP TS 36.141. "Base Station (BS) conformance testing." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

[3] 3GPP TS 36.211. "Physical Channels and Modulation." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

Introduced in R2013b

Was this topic helpful?