lteULChannelEstimate
PUSCH uplink channel estimation
Syntax
Description
[
returns
an estimate for the channel by averaging the least squares estimates
of the reference symbols across time and copying these estimates across
the allocated resource elements within the time frequency grid. It
returns the estimated channel between each transmit and receive antenna
and an estimate of the noise power spectral density. See Algorithms.hest
, noiseest
]
= lteULChannelEstimate(ue
,chs
,rxgrid
)
[
returns
the estimated channel using the method and parameters defined by the
channel estimation configuration structure and the additional information
about the transmitted symbols found in hest
, noiseest
]
= lteULChannelEstimate(ue
,chs
,cec
,rxgrid
,refgrid
)refgrid
.
When cec.InterpType
is set to 'None'
,
values in refgrid
are treated as reference symbols
and the resulting hest
contains non-zero values
in their locations.
[
returns
the estimated channel using the estimation method as described in
TS 36.101 [1], Annex F4. The method
described utilizes extra channel information obtained through information
of the transmitted symbols found in hest
, noiseest
]
= lteULChannelEstimate(ue
,chs
,rxgrid
,refgrid
)refgrid
.
This additional information allows for an improved estimate of the
channel and is required for accurate EVM measurements. rxgrid
and refgrid
must
only contain a whole subframe worth of SC-FDMA symbols.
Examples
Estimate Channel Characteristics for PUSCH
Use lteULChannelEstimate
to estimate the channel characteristics for a received resource grid.
Initialize a UE configuration structure to RMC A3-2
. Initialize the channel estimation configuration structure. Generate a transmission waveform. For the purpose of this example, we bypass the channel stage of the system model and copy txWaveform
to rxWaveform
.
ue = lteRMCUL('A3-2'); ue.TotSubframes = 1; cec = struct('FreqWindow',7,'TimeWindow',1,'InterpType','cubic'); txWaveform = lteRMCULTool(ue,[1;0;0;1]); rxWaveform = txWaveform;
Demodulate the SC-FDMA waveform and perform channel estimation operation on rxGrid
.
rxGrid = lteSCFDMADemodulate(ue,rxWaveform); hest = lteULChannelEstimate(ue,ue.PUSCH,cec,rxGrid);
Input Arguments
ue
— UE-specific configuration
structure
UE-specific configuration, specified as a structure. ue
can
contain the following fields.
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
NULRB | Required | 6, 15, 25, 50, 75, 100 | Number of uplink resource blocks. () |
NCellID | Required | Nonnegative scalar integer | Physical layer cell identity |
NSubframe | Required | 0 (default), nonnegative scalar integer | Subframe number |
CyclicPrefixUL | Optional |
| Cyclic prefix length for uplink. |
NTxAnts | Optional | 1 (default), 2, 4 | Number of transmission antennas. |
Hopping | Optional |
| Frequency hopping method. |
SeqGroup | Optional | 0 (default), integer from 0 to 29 |
PUSCH sequence group assignment (ΔSS). Only used if |
CyclicShift | Optional | 0 (default), integer from 0 to 7 | Number of cyclic shifts used for PUSCH DM-RS (yields ). |
NPUSCHID | Optional | 0 (default), nonnegative scalar integer from 0 to 509 | PUSCH virtual cell identity. If this field is not present, See footnote. |
NDMRSID | Optional | 0 (default), nonnegative scalar integer from 0 to 509 | DM-RS identity for cyclic shift hopping ().
If this field is not present, See footnote. |
|
Data Types: struct
chs
— PUSCH channel settings
structure
PUSCH channel settings, specified as a structure that can contain
the following fields. The parameter field PMI
is
only required if ue
.
NTxAnts
is
set to 2 or 4.
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
PRBSet | Required | Integer column vector or two-column matrix | Physical resource block set, specified as a 1-column or 2-column matrix. This parameter field contains the zero-based physical resource block (PRB) indices corresponding to the slot-wise resource allocations for this PUSCH. If |
NLayers | Optional | 1 (default), 2, 3, 4 | Number of transmission layers |
DynCyclicShift | Optional | 0 (default), integer from 0 to 7 | Cyclic shift for DM-RS (yields ). |
OrthoCover | Optional |
| Applies ( |
The following field is required
only when ue .NTxAnts is set
to 2 or 4. | |||
PMI | Optional | nonnegative scalar integer (0,...,23) 0 (default) | Scalar precoder matrix indication (PMI) to be used during precoding of the DRS reference symbols |
Data Types: struct
rxgrid
— Received resource element grid
3-D array
Received resource element grid, specified as an NSC-by-NSym-by-NR array of complex symbols.
NSC is the number of subcarriers
NSym = NSF × NSymPerSF
NSF is the total number of subframes. If NSF is greater than one, the correct region is extracted from the returned
hest
array. The location of the estimated subframe withinhest
is specified using the parameter fieldcec.Window
.NSymPerSF is the number of SC-FDMA symbols per subframe.
For normal cyclic prefix, each subframe contains 14 SC-FDMA symbols.
For extended cyclic prefix, each subframe contains 12 SC-FDMA symbols.
NR is the number of receive antennas
Data Types: double
Complex Number Support: Yes
cec
— Channel estimator configuration
structure
Channel estimator configuration, specified as a structure with these fields.
Parameter Field | Required or Optional | Values | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
FreqWindow | Required | Nonnegative scalar integer | Size of window in resource elements used to average over frequency during channel estimation The window size must be either an odd number or a multiple of 12. | ||||||||||||||
TimeWindow | Required | Nonnegative scalar integer | Size of window in resource elements used to average over time during channel estimation The window size must be an odd number. | ||||||||||||||
InterpType | Required |
See footnote. | Type of 2-D interpolation used during interpolation. For details,
see
| ||||||||||||||
PilotAverage | Optional |
See footnote. | Type of pilot averaging | ||||||||||||||
Reference | Optional |
See footnote. | Specifies point of reference (signals to internally generate) for channel estimation | ||||||||||||||
The following field is required only when
| |||||||||||||||||
Window | Optional |
| If more than one subframe is input this parameter is required
to indicate the position of the subframe from rxgrid and refgrid containing
the desired channel estimate. Only channel estimates for this subframe
will be returned. For the | ||||||||||||||
|
Data Types: struct
refgrid
— Reference array of known transmitted data symbols in their correct locations
3-D numeric array
Reference array of known transmitted data symbols in their correct locations, specified as an
NSC-by-NSym-by-NT
array of complex symbols. All other locations, such as DM-RS Symbols and unknown data
symbol locations, must be represented by a NaN
. The first two
dimensions of rxgrid
and refgrid
must be the same.
NSC is the number of subcarriers.
NSym = NSF × NSymPerSF
NSF is the total number of subframes. If NSF is greater than one, the correct region is extracted from the returned
hest
array. The location of the estimated subframe withinhest
is specified using the parameter fieldcec.Window
.NSymPerSF is the number of SC-FDMA symbols per subframe.
For normal cyclic prefix, each subframe contains 14 SC-FDMA symbols.
For extended cyclic prefix, each subframe contains 12 SC-FDMA symbols.
NT is the number of transmit antennas,
ue
.
NTxAnts
For
cec
.InterpType
= 'None'
,
values in refgrid
are treated as reference symbols and the
resulting hest
contains non-zero values in their locations. A
typical use for refgrid
is to provide values of the SRS transmitted
at some point during the time span of rxgrid
. The SRS values can be
used to enhance the channel estimation.
Data Types: double
Complex Number Support: Yes
Output Arguments
hest
— Channel estimate between each transmit and receive antenna
4-D array
Channel estimate between each transmit and receive antenna, returned as an NSC-by-NSym-by-NR-by-NT array of complex symbols.
NSC is the number of subcarriers.
NSym is the number of SC-FDMA symbols.
NR is the number of receive antennas.
NT is the number of transmit antennas,
ue
.
NTxAnts
.
Optionally, the channel estimator can be configured to use the DM-RS layers as the reference signal. In this case, the 4-D array is an NSC-by-NSym-by-NR-by-NLayers array of complex symbols, where NLayers is the number of transmission layers.
noiseest
— Noise estimate
numeric scalar
Noise estimate, returned as a numeric scalar. This output is the power spectral density of the noise present on the estimated channel response coefficients.
Algorithms
The channel estimation algorithm is described in the following steps.
Extract the demodulation reference signals, or pilot symbols, for a transmit-receive antenna pair from the allocated physical resource blocks within the received subframe.
Average the least-squares estimates to reduce any unwanted noise from the pilot symbols.
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. This simple method produces a substantial reduction in the level of noise found on the pilot symbols. The pilot symbol averaging method uses an averaging window defined by the user. The averaging window size is measured 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.
Then, the averaged pilot symbol estimates are used to perform a 2-D interpolation across allocated physical resource blocks. The location of pilot symbols within the subframe is not ideally suited to interpolation. To account for this positioning, virtual pilots are created and placed out with the area of the current subframe. This placement allows complete and accurate interpolation to be performed.
Note
The PUSCH channel estimator is only able to deal with contiguous allocation of resource blocks in time and frequency.
References
[1] 3GPP TS 36.101. “Evolved Universal Terrestrial Radio Access (E-UTRA); User Equipment (UE) Radio Transmission and Reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.
Version History
Introduced in R2013b
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)