Documentation

lteDLChannelEstimate

Downlink channel estimation

Syntax

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

Description

[hest,noisest] = lteDLChannelEstimate(enb,rxgrid) returns hest, the estimated channel between each transmit and receive antenna and noisest, an estimate of the noise power spectral density on the reference signal subcarriers. See Algorithms.

example

[hest, noisest] = lteDLChannelEstimate(enb,cec,rxgrid) returns the estimated channel using the method and parameters defined by the configuration structure cec.

[hest, noisest] = lteDLChannelEstimate(enb,chs,cec,rxgrid) returns the estimated channel given the cell-wide settings structure, enb, PDSCH transmission configuration, chs, and channel estimator configuration, cec.

Examples

collapse all

Estimate Downlink Channel Characteristics

This example sets up and transmits RMC R.12 (4-antenna transmit diversity), models the propagation channel by combining all transmit antennas onto one receive antenna, OFDM demodulates and performs channel estimatation.

Initialize cell parameters for transmission of RMC R.12.

Initialize channel estimator configuration (cec). The averaging window size is configured in terms of resource elements (REs), in time and frequency. Here cubic interpolation will be used with an averaging window of 1-by-1 REs. Since we are not adding noise and don't require a noise estimate, there is no need for averaging, so we set the frequency window and time window size to '1'.

Generate a transmit waveform with lteRMCDLTool function

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

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

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. Displaying the channel estimate size, we see 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 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 will also accept 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

Nonnegative scalar integer (0,…,503)

Physical layer cell identity

NSubframeRequired

Nonnegative scalar 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 dependent upon the condition that 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 dependent upon the condition that cec.Reference is set to 'CSIRS'.

  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.

If cec.Reference is set to 'CSIRS', the cell-wide settings structure, enb, can contain the additional fields CSIRefP, CSIRSConfig, and CSIRSPeriod.

CSI-RS-based channel estimation, activated when cec.Reference is set to 'CSIRS', is strictly only valid within the standard for the 'Port7-14' transmission scheme. The optional CSIRSPeriod parameter controls the downlink subframes in which CSI-RS is present. It is ither always 'On' or 'Off', or defined by the scalar subframe configuration index, Icsi-rs (0...154), or the explicit subframe periodicity and offset pair, [Tcsi-rs Dcsi-rs]. For more information, see TS 36.211, Section 6.10.5.3 [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

TimeWindowRequired

Nonnegative scalar integer

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

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 only required if 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 dependent upon the condition that chs.TxScheme is set to 'Port5', 'Port7-8', 'Port8', or 'Port7-14'.

  ReferenceOptional

'DMRS' (default), 'CSIRS'

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 (i.e. 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; 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.

chs — PDSCH-specific channel transmission configurationstructure

PDSCH-specific channel transmission configuration, specified as a structure that can contain the following 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 CDD 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 8-layer transmission, ports 7–14.

PRBSetRequired

1- or 2-column integer 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 dependent upon the condition that chs.TxScheme is set to 'Port5', 'Port7-8', 'Port8', or 'Port7-14'.

NLayersRequired1,2,3,4Number of transmission layers

When TxScheme is set to 'Port5', 'Port7-8', 'Port8', or 'Port7-14' and cec.Reference is set to 'DMRS', the channel estimation is performed using UE-specific reference signals and the size of the returned channel estimate is M-by-N-by-NRxAnts-by-NLayers. Alternatively, when cec.Reference is set to 'CSIRS', the channel estimation is performed using the CSI reference signals (CSI) and the size of the returned channel estimate is M-by-N-by-NRxAnts-by-CSIRefP. For other transmission schemes, the channel estimation is performed using cell-specific reference signals. The size of the returned channel estimate is M-by-N-by-NRxAnts-by-CellRefP.

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. The averaging is always applied across two or four pilots, regardless of their separation in OFDM symbols. This operation ensures that averaging is always done on two or four pilots.It also provides the appropriate "despreading" operation required for the case of UE-RS ports / 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 and any number of configured CSI-RS ports, given by enb.CSIRefP, the pilot REs occur in pairs, one pair per subframe, that require averaging with cec.TimeWindow = 2 and results in a single estimate per subframe. For the UE-RS with from 1 through 4 layers (given by chs.NLayers), the pilot REs occur in pairs, repeated in each slot, that require averaging with cec.TimeWindow = 2 and results in two estimates per subframe, one for each slot. For 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.

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 of size M-by-N-by-NRxAnts-by-CellRefP. Optionally, for UE-specific beamforming transmission schemes, the array is of size M-by-N-by-NRxAnts-by-NLayers. Where M is the number of subcarriers, N is the number of OFDM symbols, NRxAnts is the number of receive antennas, CellRefP is the number of cell-specific reference signal antenna ports, and NLayers is the number of transmission layers.

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, specified as a real-valued numeric scalar.

Data Types: double

More About

expand all

Algorithms

The channel estimation algorithm functions as described in the following steps:

  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.

  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.

Least-Squares Estimation

The least-squares estimates of the reference signals are obtained by dividing the received pilot symbols by their expected value. The least-squares estimates are affected by any system noise. This noise needs to be removed or reduced to achieve a reasonable estimation of the channel at pilot symbol locations.

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, Annex F.3.4 [2]. 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 out with 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?