Channel Estimation Processing
Steps associated with the channel estimation processing include:
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.
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.
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 InterpWindow
field
defines the causal nature of the available data. Valid settings for InterpWindow
are 'Causal'
, 'Non-causal'
,
or 'Centered'
.
Use the InterpWindow
setting:
'Causal'
when using past data.
'Non-causal'
when using future
data. It is the opposite of 'Causal'
. Relying only
on future data is commonly referred to as an anti-causal method of
interpolation.
'Centered'
or 'Centred'
when
using a combination of past, present, and future data.