lteULPerfectChannelEstimate
Uplink perfect channel estimation
Syntax
Description
performs perfect channel estimation for a system configuration given
user-equipment-specific (UE-specific) settings hest = lteULPerfectChannelEstimate(ue,channel)ue and
propagation channel configuration channel. The perfect
channel estimates are produced only for fading channel models created using the
lteFadingChannel function.
This function provides a perfect multiple-input-multiple-output (MIMO) channel estimate after single-carrier frequency-division multiple access (SC-FDMA) modulation. To obtain this estimate, the function sets the channel with the specified configuration and sends a set of known symbols through that channel for each transmit antenna in turn.
Examples
Perform uplink perfect channel estimation for a chosen propagation channel configuration.
Initialize UE-specific settings, specifying fields appropriate for an LTE uplink configuration.
ue.NULRB = 6;
ue.CyclicPrefixUL = 'Normal';
ue.NTxAnts = 2;
ue.TotSubframes = 1;Specify propagation channel conditions.
channel.Seed = 1; channel.DelayProfile = 'EPA'; channel.NRxAnts = 4; channel.DopplerFreq = 5.0; channel.MIMOCorrelation = 'Low'; channel.InitPhase = 'Random'; channel.InitTime = 0.0; channel.ModelType = 'GMEDS'; channel.NTerms = 16; channel.NormalizeTxAnts = 'On'; channel.NormalizePathGains = 'On';
Perform uplink perfect channel estimation and display the dimension of the channel estimate array.
hest = lteULPerfectChannelEstimate(ue,channel); disp(size(hest));
72 14 4 2
Perform uplink perfect channel estimation on a time offset waveform passed through a fading channel.
Configuration Initialization
Initialize UE-specific settings by specifying fields appropriate for an LTE uplink configuration.
ue = lteRMCUL('A1-1','FDD',1); ue.NULRB = 10; ue.CyclicPrefixUL = 'Normal'; ue.NTxAnts = 4; ue.TotSubframes = 1;
Specify the propagation channel configuration.
channel.Seed = 1; channel.DelayProfile = 'EVA'; channel.NRxAnts = 2; channel.DopplerFreq = 5.0; channel.MIMOCorrelation = 'UplinkMedium'; channel.InitPhase = 'Random'; channel.InitTime = 0.0; channel.ModelType = 'GMEDS'; channel.NTerms = 16; channel.NormalizeTxAnts = 'On'; channel.NormalizePathGains = 'On';
Waveform Processing
Create a waveform and add samples for channel delay.
[txWaveform,txgrid,rmcCfg] = lteRMCULTool(ue,[1;0;0;1]); txWaveform = [txWaveform; zeros(25,4)]; channel.SamplingRate = rmcCfg.SamplingRate;
Pass the waveform through a fading channel, generating time-domain receiver samples.
rxWaveform = lteFadingChannel(channel,txWaveform);
Determine Timing Offset
Use the lteULFrameOffset function to estimate time offset.
offset = lteULFrameOffset(ue,ue.PUSCH,rxWaveform); disp(offset);
8
Modify the received waveform to account for the timing offset.
rxWaveform = rxWaveform(1+offset:end,:);
Demodulation and Uplink Perfect Channel Estimation
Generate frequency-domain receiver data by demodulating the received time-domain waveform.
grid = lteSCFDMADemodulate(ue,rxWaveform);
Perform uplink perfect channel estimation with the specified time offset.
hest = lteULPerfectChannelEstimate(ue,channel,offset); disp(size(hest));
120 14 2 4
Visualize Effect of Fading Channel
Plot resource element grids to show the impact of the fading channel on the transmitted signal and recovery of the signal using the perfect channel estimate.
The output channel estimate is a 4-D array. The input specified ten resource blocks leading to 120 subcarriers per symbol. Normal cyclic prefix results in 14 symbols per subframe. The third and fourth dimensions represent the two receive and four transmit antennas specified in the input configuration structures.
Comparing the transmitted grid to the recovered grid shows how equalization of the received grid with the perfect channel estimate recovers the transmission.
recoveredgrid = grid./hest; subplot(2,2,1) surf(abs(txgrid(:,:,1,1))) title('Transmitted Grid') subplot(2,2,2) surf(abs(grid(:,:,1,1))) title('Received Grid') subplot(2,2,3) surf(abs(hest(:,:,1,1))) title('Perfect Channel Estimate') subplot(2,2,4) surf(abs(recoveredgrid(:,:,1,1))) title('Recovered Grid')

Perform uplink perfect channel estimation for a chosen propagation channel configuration.
Initialize UE-specific settings, specifying fields appropriate for an NB-IoT uplink configuration.
ue.NBULSubcarrierSpacing = '15kHz';
ue.TotSlots = 10;Specify propagation channel conditions.
channel.Seed = 5; channel.DelayProfile = 'EPA'; channel.NRxAnts = 2; channel.DopplerFreq = 5.0; channel.MIMOCorrelation = 'Low'; channel.InitPhase = 'Random'; channel.InitTime = 0.0; channel.ModelType = 'GMEDS'; channel.NTerms = 16; channel.NormalizeTxAnts = 'On'; channel.NormalizePathGains = 'On';
Specify NPUSCH configuration information.
chs.NBULSubcarrierSet = 0;
chs.Modulation = 'QPSK';
chs.NULSlots = 2;
chs.NRU = 2;
chs.NRep = 1;
chs.SlotIdx = 0;Perform uplink perfect channel estimation and display the dimension of the channel estimate array.
hest = lteULPerfectChannelEstimate(ue,chs,channel); disp(size(hest));
12 70 2
Input Arguments
UE-specific settings, specified as a structure. The fields you specify in
ue determine whether the function performs channel
estimation for an LTE or NB-IoT configuration. To indicate an LTE
configuration, specify the NULRB field. To indicate an
NB-IoT configuration, specify the NBULSubcarrierSpacing
field. The NTxAnts field is required for both LTE and
NB-IoT configurations. The other fields in ue are
optional. The CyclicPrefixUL and
TotSubframes fields are applicable only for an LTE
configuration. The TotSlots field is applicable only
for an NB-IoT configuration.
Number of uplink resource blocks, , specified as an integer in the interval [6, 110]. To perform channel estimation for an LTE configuration, you must specify this field.
Data Types: double
Cyclic prefix length, specified as 'Normal'
or 'Extended'. This field is optional.
Dependencies
This field applies only when you choose an LTE
configuration by specifying the NULRB
field.
Data Types: char
Number of transmit antennas,
NTX, specified as
1, 2, or
4.
Data Types: double
Total number of subframes to generate, specified as a nonnegative integer.
Data Types: double
NB-IoT uplink subcarrier spacing, specified as
'3.75kHz' or '15kHz'.
To set a subcarrier spacing of 3.75 kHz, specify
NBULSubcarrierSpacing as
'3.75kHz'. To set a subcarrier spacing of
15 kHz, specify NBULSubcarrierSpacing as
'15kHz'.
To perform channel estimation for an NB-IoT configuration, you must specify this field. To indicate an LTE configuration, omit this field.
Data Types: char
Total number of slots to generate, specified as a nonnegative integer.
Data Types: double
Data Types: struct
Propagation channel configuration, specified as a structure. This argument
must contain all the fields required to parameterize the fading channel
model, that is, to call the lteFadingChannel
function.
Note
Before execution of the channel,
lteULPerfectChannelEstimate sets the
SamplingRate field internally to the sampling
rate of the time domain waveform passed to the
lteFadingChannel function for filtering.
Therefore, this channel input does not require the
SamplingRate field. If one is included, it is
not used.
Number of receive antennas, NRX, specified as a positive integer.
Data Types: double
Correlation between UE and Evolved Node B (eNodeB) antennas, specified as one of these values:
'Low'– No correlation between antennas'Medium'– Correlation level is applicable to tests defined in TS 36.101 [1]'UplinkMedium'– Correlation level is applicable to tests defined in TS 36.104 [2]'High'– Strong correlation between antennas'Custom'– Apply user-definedTxCorrelationMatrixandRxCorrelationMatrix
Data Types: char | string
Transmit antenna number normalization, specified as
'On' or 'Off'. If you
specify NormalizeTxAnts as
'On',
lteULPerfectChannelEstimate normalizes
the model output by 1/√NTX. Normalization by the number of transmit
antennas ensures that the output power per receive antenna is
unaffected by the number of transmit antennas. If you specify
NormalizeTxAnts as
'Off',
lteULPerfectChannelEstimate does not
perform normalization. This field is optional.
Data Types: char | string
Delay profile model, specified as 'EPA',
'EVA', 'ETU',
'Custom', or 'Off'.
For more information, see Propagation Channel Models.
Setting DelayProfile to
'Off' switches off fading completely and
implements a static MIMO channel model. In this case, the
antenna geometry corresponds to the
MIMOCorrelation and
NRxAnts fields, and the number of
transmit antennas. The temporal part of the model for each link
between transmit and receive antennas consists of a single path
with zero delay and constant unit gain.
Data Types: char | string
Maximum Doppler frequency, in Hz, specified as a nonnegative scalar.
Dependencies
This field applies only when you specify the
DelayProfile field as a value other
than 'Off'.
Data Types: double
Sampling rate of input signal, specified as a nonnegative scalar.
Dependencies
This field applies only when you specify the
DelayProfile field as a value other
than 'Off'.
Data Types: double
Fading process time offset, in seconds, specified as a nonnegative scalar.
Dependencies
This field applies only when you specify the
DelayProfile field as a value other
than 'Off'.
Data Types: double
Number of oscillators used in fading path modeling, specified as a power of two. This field is optional
Dependencies
This field applies only when you specify the
DelayProfile field as a value other
than 'Off'.
Data Types: double
Rayleigh fading model type, specified as
'GMEDS' or 'Dent'. To
model Rayleigh fading using the generalized method of exact
Doppler spread (GMEDS) described in [4], specify
ModelType as
'GMEDS'. To model Rayleigh fading using the
modified Jakes fading model described in [3], specify
ModelType as 'Dent'.
This field is optional.
Note
Specifying ModelType as
'Dent' is not recommended.
Dependencies
This field applies only when you specify the
DelayProfile field as a value other
than 'Off'.
Data Types: char | string
Model output normalization indicator, specified as
'On' or 'Off'. To
normalize the model output such that the average power is unity,
specify NormalizePathGains as
'On'. To return the average output power
as the sum of the powers of the taps of the delay profile,
specify NormalizePathGains as
'Off'. This field is optional.
Dependencies
This field applies only when you specify the
DelayProfile field as a value other
than 'Off'.
Data Types: char | string
Phase initialization for the sinusoidal components of the model, specified as one of these values:
'Random'– Randomly initialize the phases according to the value you specify in theSeedfieldA real-valued scalar – Specify the single initial value of the phases of all components, in radians
An N-by-L-by-NTX-by-NRX array – Explicitly initialize the phase, in radians, of each component. In this case, N is the number of phase initialization values per path and L is the number of paths
Note
When you specify
ModelTypeas'GMEDS', N = 2×NTerms.When you specify
ModelTypeas'Dent', N =NTerms.
Data Types: double | char | string
Random number generator seed, specified as a real-valued
scalar. To use a random seed, specify Seed
as 0.
Note
Seed values in the interval [0, 231 – 1 – (K(K – 1)/2)], where K = NTX × NRX and is the product of the number of transmit and receive antennas, are recommended. Seed values outside of this interval are not guaranteed to give distinct results.
Dependencies
This field applies only when you specify the
DelayProfile field as a value other
than 'Off' and the
InitPhase field as
'Random'.
Data Types: double
Average gains of the discrete paths, in dB, specified as a real-valued vector.
Dependencies
This field applies only when you specify the
DelayProfile field as
'Custom'.
Data Types: double
Delays of the discrete paths, in seconds, specified as a real-valued vector.
Dependencies
This field applies only when you specify the
DelayProfile field as
'Custom'.
Data Types: double
Correlation between each of the transmit antennas, specified as an NTX-by-NTX complex-valued matrix.
Dependencies
This field applies only when you specify the
MIMOCorrelation field as
'Custom'.
Data Types: double
Complex Number Support: Yes
Correlation between each of the receive antennas, specified as an NRX-by-NRX complex-valued matrix.
Dependencies
This field applies only when you specify the
MIMOCorrelation field as
'Custom'.
Data Types: double
Complex Number Support: Yes
Data Types: struct
Timing offset, in samples, specified as a nonnegative integer. The timing
offset is specified from the start of the output of the channel to the
estimated SC-FDMA demodulation starting point. Specify the timing offset,
when known, to obtain the perfect channel estimate as seen by a synchronized
receiver. Use the lteULFrameOffset function to
derive the value for offset.
Data Types: double
NPUSCH information, specified as a structure. For an NB-IoT configuration,
you can set additional uplink-specific parameters by specifying the
NB-IoT-specific fields in chs. Except for the
NBULSubcarrierSet field, the fields in
chs are applicable either when
ue.NBULSubcarrierSpacing is
'3.75kHz' or when
ue.NBULSubcarrierSpacing is
'15kHz' and
length(NBULSubcarrierSet) is
1.
NB-IoT uplink subcarrier indices, specified as a vector of
nonnegative integers in the interval [0, 11] or a nonnegative
integer in the interval [0, 47]. The indices are in zero-based
form. To use lteULPerfectChannelEstimate for a single-tone
NB-IoT configuration, you must specify
NBULSubcarrierSet as a scalar. If you
do not specify NBULSubcarrierSet,
lteULPerfectChannelEstimate returns an estimate for a
multi-tone NB-IoT configuration by default.If you specify
ue.NBULSubcarrierSpacing as
'15kHz', this field is required.
Data Types: double
Modulation type, specified as 'BPSK' or
'QPSK'. For binary phase shift keying
(BPSK), specify Modulation as
'BPSK'. For quadrature phase shift keying
(QPSK), specify Modulation as
'QPSK'.
Data Types: char
Number of slots per resource unit (RU), specified as a
positive integer. To use
lteULPerfectChannelEstimate for a
single-tone NB-IoT configuration, you must specify this
field.
Data Types: double
Number of RUs, specified as a positive integer. To use
lteULPerfectChannelEstimate for a
single-tone NB-IoT configuration, you must specify this
field.
Data Types: double
Number of repetitions for a codeword, specified as a
nonnegative integer. To use
lteULPerfectChannelEstimate for a
single-tone NB-IoT configuration, you must specify this
field.
Data Types: double
Relative slot index in an NPUSCH bundle, specified as a nonnegative integer. This field determines the zero-based relative slot index in a bundle of time slots for transmission of a transport block or control information bit. This field is optional.
Data Types: double
Output Arguments
Perfect channel estimate, returned as an NSC-by-NSYM-by-NRX-by-NTX complex-valued array, where NSC is the number of subcarriers and NSYM is the number of SC-FDMA symbols.
Data Types: double
Complex Number Support: Yes
References
[1] 3GPP TS 36.101. “User Equipment (UE) Radio Transmission and Reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA).
[2] 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).
[3] Dent, P., Bottomley, G. E., and Croft, T. “Jakes Fading Model Revisited.” Electronics Letters. Vol. 29, Number 13, 1993, pp. 1162–1163.
[4] Pätzold, M., Wang, C., and Hogstad, B. O. “Two New Sum-of-Sinusoids-Based Methods for the Efficient Generation of Multiple Uncorrelated Rayleigh Fading Waveforms.” IEEE Transactions on Wireless Communications. Vol. 8, Number 6, 2009, pp. 3122–3131.
Version History
Introduced in R2014a
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.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)