Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
839 views14 pages

Vienna LTE Simulators Link Level Simulator Documentation, v1.4r715

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 14

1

Vienna LTE Simulators


Link Level Simulator Documentation, v1.4r715
Institute of Communications and Radio-Frequency Engineering
Vienna University of Technology, Austria
Gusshausstrasse 25/389, A-1040 Vienna, Austria
Email: {jcolom, chmehl, mwrulich}@nt.tuwien.ac.at
Web: http://www.nt.tuwien.ac.at/ltesimulator

Abstract
This document contains documentation on how to use the Long Term Evolution (LTE) Link Level simulator [1] from the
Vienna LTE simulator suite as well as some insight on its structure and the assumptions that were made while developing it. This
document relates more on how to actually use the simulator. The concept and the structure of the simulator is described in more
detail in [2].

I. F OREWORD
The LTE link level simulator is published under a non-commercial academic use license. Please make sure that you understand
the terms and conditions of the license before you use any of the available software packages. Would you require a license
different to a non-commercial academic one please contact Martin Wrulich, Christian Mehlführer or Josep Colom Ikuno.
The detailed license agreement for the LTE Link Level simulator can be found in Section XV. Please read the license
agreement carefully, as parts of the code are under the GNU Lesser General Public License [3], and the MIT License [4].

II. RUNNING THE SIMULATOR FOR THE FIRST TIME


The LTE Link Level simulator simulator is provided with a test simulation scenario that can be used to verify that the
simulator runs in the expected way.
In the main directory you can execute the LTE_sim_batch_quick_test M ATLAB script. This script provides a means to
test the performance of an LTE transmission on an uncorrelated PedB channel and flat Rayleigh channel for several transmission
modes [5]. Since currently the feedback calculation for the Closed Loop Spatial Multiplexing (CLSM) mode is not implemented,
only the Single-Input Single-Output (SISO), Transmission Diversity (TxD) and Open Loop Spatial Multiplexing (OLSM) modes
are simulated.
The result of the simulation is a group of result files that is stored in the ./results folder. The
plots_quick_test_results M ATLAB script provides the means of plotting the results for this specific simulation. By
executing the script without any change, the Block Error Ratio (BLER) and throughput results for the following simulations
are shown:
• 5000 Transmission Time Interval (TTI) long, flat Rayleigh channel, no retransmissions: Figures 1(a) and 1(c).
• 5000 TTI long, flat Rayleigh channel, maximum of three retransmissions: Figures 1(b) and 1(d).
• 5000 TTI long, uncorrelated PedB channel, no retransmissions: Figures 2(a) and 2(c).
• 5000 TTI long, uncorrelated PedB channel, maximum of three retransmissions: Figures 2(b) and 2(d).
The figures obtained by running LTE_sim_batch_quick_test and the ones shown in Figures 1 and 2 should match.
The settings used in the LTE_sim_batch_quick_test M ATLAB script can be found in Table I, although a more
detailed description can be found in Section IV and the LTE_load_parameters_SUSISO_quick_test (SISO mode)
and LTE_load_parameters_SUMIMO_quick_test (MIMO modes) configurations files.

III. RUNNING YOUR OWN SIMULATIONS


While the LTE_sim_batch_quick_test is adequate to get familiar with the basic structure of the simulation script
necessary to run it, you may need more flexibility than the one offered with the quick test script.
For this, you can check the LTE_sim_batch.m script. It provides the means to run a simulation for a specific set of
Modulation and Coding Schemes (MCSs).
Below you can find a list of exemplary parameters that you may want to configure in the batch file:
• cqi_i: set of MCSs that are used for the simulation. In [6], 15 different Channel Quality Indicators (CQIs) are specified,
denominated CQIs. If you want to simulate for all possible CQIs, just set cqi_i to be [1:15]. Analogously, in the
M ATLAB notation, for a simulation for CQIs 1 and 7 that would be [1 7].
• N_subframes: the length of the simulation, or how many subframes (TTIs) are simulated.
2

BLER, CQI 7, PedB, 5000 subframes, flat rayleigh, 0 re−tx BLER, CQI 7, PedB, 5000 subframes, flat rayleigh, 3 re−tx
0 0
10 10

−1 −1
10 10
BLER

BLER
−2 −2
10 10

SISO SISO
TxD 2x1 TxD 2x1
TxD 4x2 TxD 4x2
OLSM 4x2 OLSM 4x2
−3 −3
10 10
−10 −5 0 5 10 15 20 −10 −5 0 5 10 15 20
SNR [dB] SNR [dB]

(a) BLER, flat Rayleigh channel, no HARQ (b) BLER, flat Rayleigh channel, 3 retransmissions

throughput, CQI 7, PedB, 5000 subframes, flat rayleigh, 0 re−tx throughput, CQI 7, PedB, 5000 subframes, flat rayleigh, 3 re−tx
2.5 2.5

2 2
throughput [Mbps]

throughput [Mbps]

1.5 1.5

1 1

SISO SISO
0.5 TxD 2x1 0.5 TxD 2x1
TxD 4x2 TxD 4x2
OLSM 4x2 OLSM 4x2

0 0
−10 −5 0 5 10 15 20 −10 −5 0 5 10 15 20
SNR [dB] SNR [dB]

(c) Throughput, flat Rayleigh channel, no HARQ (d) Throughput, flat Rayleigh channel, 3 retransmissions

Fig. 1. Plots resulting from running the LTE_sim_batch_quick_test.m M ATLAB script (flat rayleigh)

Parameter Value
Number of User Equipments (UEs) 1
Bandwidth 1.4 MHz
Retransmissions 0 and 3
Channel type Flat Rayleigh, PedB uncorrelated
Filtering Block Fading
Receiver type Soft Sphere Decoder
Simulation length 5000 subframes
Transmit modes SISO, TxD (2x1 and 4x2) and OLSM (4x2)
TABLE I
BASIC SETTINGS USED FOR THE LTE_ S I M _ B A T C H _ Q U I C K _ T E S T . M M ATLAB SCRIPT

• SNR_vec: a vector containing the Signal to Noise Ratios (SNRs) that will be used for each simulation run. Use an SNR
range adequate to the CQI that you are simulating. The vectors set in the script are adequate for a SISO Additive White
Gaussian Noise (AWGN) simulation. See Section VII for a more detailed description of how SNR is defined.
• LTE_load_parameters: load the parameter file that configures the simulator. A more detailed description of the
available configuration parameters can be found in Section IV. Four basic preconfigured options are given that can be
directly used by appropriately setting the LTE_params.Simulation_type variable accordingly, thus skipping the
configuration of the rest of the parameters. See Section VI if you want to use the parameter file to reproduce the results/plots
from a paper.
– SUSISO: Single-user SISO simulation
3

BLER, CQI 7, PedB, 5000 subframes, PedB, 0 re−tx BLER, CQI 7, PedB, 5000 subframes, PedB, 3 re−tx
0 0
10 10

−1 −1
10 10
BLER

BLER
−2 −2
10 10

SISO SISO
TxD 2x1 TxD 2x1
TxD 4x2 TxD 4x2
OLSM 4x2 OLSM 4x2
−3 −3
10 10
−10 −5 0 5 10 15 20 −10 −5 0 5 10 15 20
SNR [dB] SNR [dB]

(a) BLER, PedB channel, no HARQ (b) BLER, PedB channel, 3 retransmissions

throughput, CQI 7, PedB, 5000 subframes, PedB, 0 re−tx throughput, CQI 7, PedB, 5000 subframes, PedB, 3 re−tx
2.5 2.5

2 2
throughput [Mbps]

throughput [Mbps]

1.5 1.5

1 1

SISO SISO
0.5 TxD 2x1 0.5 TxD 2x1
TxD 4x2 TxD 4x2
OLSM 4x2 OLSM 4x2

0 0
−10 −5 0 5 10 15 20 −10 −5 0 5 10 15 20
SNR [dB] SNR [dB]

(c) Throughput, PedB channel, no HARQ (d) Throughput, PedB channel, 3 retransmissions

Fig. 2. Plots resulting from running the LTE_sim_batch_quick_test.m M ATLAB script (PedB)

– MUSISO: Multi-user (preconfigured to two users) SISO simulation


– SUMIMO: Single-user Multiple-Input Multiple-Output (MIMO) simulation
– MUMIMO: Multi-user (two users) MIMO simulation
• LTE_sim_main: main routine of the simulator, also called by the LTE_sim_batch_XXX files.
• Generate the output filename and save the results in a .mat file.

IV. S IMULATION PARAMETERS


Below you can find a list of the parameters that can be configured in the LTE_config file:

A. General parameters
• LTE_params.nUE: number of UEs to simulate.
• LTE_params.nBS: number of eNodeBs (cells) that will be simulated. Do not change this parameter, as support for
multiple eNodeBs is not yet implemented.
• LTE_params.uplink_delay: the delay the uplink experiences. It applies to ACKnowledgments (ACKs), CQI, Precoding
Matrix Indicator (PMI) and Rank Indicator (RI) reports. An integer number ≥ 0. Useful if you want to experiment with
scheduling algorithms or feedback strategies.
• LTE_params.show_plots: whether plots are shown during the simulation or not.
• LTE_params.trace_subcarrier_SNR: if set to true, a trace of the subcarrier SNRs is generated and stored in
the simulation_results object.
4

• LTE_params.N_seed_reset: resets the random number generator seeds to a new value after LTE_params.N_seed_reset
subframes. This is used for the case where a time-correlated channel is generated (modified Rosa Zheng model [7], [8]).
When low speed channels are evaluated, a too-long simulation would be needed in order to obtain statistically meaningful
results. Thus, to avoid such situations, the channel can be ”reset” to a new seed every N subframes.
• LTE_params.carrier_freq: carrier center frequency [Hz]
• LTE_params.Bandwidth: system bandwidth. Allowed values are 1.4 MHz, 3 MHz, 5 MHz, 10 MHz, 15 MHz, and
20 MHz. This bandwidths are equivalent to 6, 15, 25, 50, 75, and 100 Resource Blocks (RBs) respectively.
• LTE_params.HARQ_processes: number of parallel Hybrid-ARQ (HARQ) processes. The maximum value, according
to [9] is 8.
• LTE_params.max_HARQ_retransmissions: maximum number of HARQ retransmissions, not including the orig-
inal transmission. Valid values are 0, 1, 2 or 3. Higher numbers will give you an error, as the rate matching is not defined
for retransmission numbers (rv_idx) higher than 3.
• LTE_params.SubcarrierSpacing: in Hz, 15 kHz, a 7.5 kHz subcarrier spacing is also possible (just for MBSFN-
based multicast/broadcast transmissions). Tests were so far performed using a 15 kHz spacing, so the 7.5 kHz spacing is
not thoroughly tested.
• LTE_params.CyclicPrefix: cyclic prefix length [10]. Either normal or extended for MBSFN-based multi-
cast/broadcast transmissions.
• LTE_params.simulation_type: the simulator is capable of using the M ATLAB Parallel Toolbox in order to speed
up simulations by using parfor loops. If you happen to have the Distributed Computing Toolbox, you will also be
able to make use it by using this option. Set this variable to parallel or normal to parallelize the SNR loop in
LTE_sim_main or just perform a single-core simulation. Keep in mind that some modifications you do to the code may
not work in the parallel version or may directly cause it not to run.
• LTE_params.simulate_with_all_zero_sequences: true if you want that the transmitted data is an all-zero
sequence (useful for interleaver testing).
• LTE_params.introduce_frequency_offset: whether you want a frequency offset to be introduced. Frequency
offset introduction and correction are currently under development, so for now this option may not yet be fully functional.
Further carrier offset options are also present in the UE parameters configuration Section IV-C.
• LTE_params.random_noise_seeding: whether the seed for the random number generator that generates the noise
is set (allows for repeatability of the noise realizations).
• LTE_params.noise_seed: Only used if the upper variable is set to true. Integer number that sets the random
number seed of the noise random number generator.
• LTE_params.usePBCH: whether space for the physical broadcast channel is reserved inside the resource grid (no data
is transmitted on these resource elements).
• LTE_params.usePDCCH: whether space for the physical downlink control channel is reserved inside the resource grid.
• LTE_params.trafficmodel.usetraffic_model: whether users generate traffic according to prespecified traffic
models (RAN R1-070674) or a full buffer situation is assumed. Currently the traffic models are not used in the simulations
(only full buffer is possible).

B. Channel matrix source


• LTE_params.channel_matrix_source: Controls the generation of the channel matrix trace. generated to
generate it every time. trace to load it from a trace.
• LTE_params.store_channel_trace: Set to true or false. If mode is generated, the channel trace will be
saved at the end of the simulation.
• LTE_params.channel_matrix_tracefile: filename of the trace file where the generated channel matrix trace
is stored. Only applicable if trace mode is used (if the mode is set to trace, the channel matrix is already read from
a trace, so it is meaningless to save it again in another trace).

C. UE, eNodeB and UE feedback specific parameters


• LTE_params.UE_config.LLR_clipping: specifies the LLR clipping level.
• LTE_params.UE_config.turbo_iterations: Number of iterations of the turbo decoder. Set by default to 8.
• LTE_params.UE_config.N_soft: Defines the total number of soft channel bits available for HARQ processing (TS
36.306 4.2.1.3 [11]).
• LTE_params.UE_config.channel_estimation_method: Currently the following channel estimators are avail-
able: PERFECT, LS, or MMSE.
• LTE_params.UE_config.channel_interpolation_method: linear, cubic, spline, sinc_freq, sinc_time,
or T-F. For fast fading, linear, cubic, and v4 are available.
5

• LTE_params.UE_config.autocorrelation_matrix_type: type of autocorrelation matrix. Either ideal or


estimated.
• LTE_params.UE_config.user_speed: channel speed (m/s).
• LTE_params.UE_config.realization_num: number of channel realizations. Used for averaging to obtain the
channel autocorrelation matrix.
• LTE_params.UE_config.realization_num_total: first xy number of channel realizations are used just for
the estimation of the autocorrelation matrix.
• LTE_params.UE_config.CDD: Cyclic Delay diversity
– 0: zero delay CDD (3GPP TS 36.211-820 Section 6.3.4.2.1 [10], page 37)
– 1: small delay CDD (3GPP TS 36.211-820 Section 6.3.4.2.1 [10], page 37). Although in the newest standard version
this is not defined anymore
– 2: large delay CDD (3GPP TS 36.211-820 Section 6.3.4.2.2 [10], page 38)
• LTE_params.UE_config.mode: the transmission modes are defined in TS 36.213-820 Section 7.1, page 12 [6] and
are:
– 1: single antenna.
– 2: TxD.
– 3: OLSM.
– 4: CLSM.
– 5: Multiuser MIMO (not yet implemented)
• LTE_params.UE_config.nRX: number of receive antennas at the UE.
• LTE_params.UE_config.carrier_freq_offset: carrier frequency offset normalized to subcarrier spacing (not
yet implemented).
• LTE_params.UE_config.perfect_freq_sync: whether the UE is perfectly synchronized in frequency.
• LTE_params.UE_config.rfo_correct_method: receiver frequency offset correction method. Either none, subframe,
or FIR. Not yet implemented.
• LTE_params.UE_config.receiver: either SSD for a Soft Sphere Decoder, ZF for a Zero Forcing (ZF) receiver
and MMSE for a Minimum Mean Square Error (MMSE) receiver.
• LTE_params.UE_config.PMI_fb_granularity: granularity of PMI feedback in multiples of resource blocks
• LTE_params.UE_config.CQI_fb_granularity: granularity of CQI feedback in multiples of resource blocks
• LTE_params.UE_config.PMI_fb: whether PMI feedback is activated or not (true/false)
• LTE_params.UE_config.RIandPMI_fb: whether RI feedback is activated in addition to PMI feedback (true/false)
• LTE_params.UE_config.CQI_fb: whether CQI feedback is activated
• LTE_params.UE_config.predict: whether channel prediction is activated for the feedback calculation; the channel
prediction algorithm is simple linear extrapolation on every subcarrier;
• LTE_params.UE_config.SINR_averaging.averager: defines the Effective Signal to Interference and Noise
Ratio Mapping (ESM) averager used. Possible values are EESM and MIESM.
• LTE_params.UE_config.SINR_averaging.EESMbetas: defines the calibration factors required for Exponential
Effective Signal to Interference and Noise Ratio Mapping (EESM). Those values are obtained from extensive training
simulations and should not be changed.
• LTE_params.UE_config.SINR_averaging.MIESMbetas: defines the calibration factors required for Mutual
Information Effective Signal to Interference and Noise Ratio Mapping (MIESM). Those values are obtained from extensive
training simulations and should not be changed.
• LTE_params.UE_config.SINR_averaging.MCSs: defines the used MCS set. Modification of these values might
lead to unexpected behaviour, as the calibration factors (EESMbetas and MIESMbetas) are not trained for other MCSs.
• LTE_params.BS_config.nTx: number of antennas at the eNodeB.
• LTE_params.feedback.ignore_channel_estimation: whether the channel estimation mean square error is
taken into account during the feedback calculation (as additional noise) or not
• LTE_params.feedback.channel_averaging: whether channel averaging is used during feedback calculation or
not. If set to true just a single average channel value per resource block is used to compute the feedback for complexity
reduction. Especially in 4 × 4 systems this degrades the performance of the feedback method.

D. Channel model parameters


Parameters that configure how the channel is generated and the signal filtered.
• LTE_params.ChanMod_config.filtering: BlockFading (channel is constant during one subframe) or FastFading.
• LTE_params.ChanMod_config.interpolation_method: the channel interpolation method for the channels
which are generated in the simulator. Either shift_to_nearest_neighbor for nearest neighbor interpolation or
6

sinc_interpolation for sinc interpolation, which is more precise. Necessary if the channel sampling rate is not
equal to the sampling rate of the transmit signal.
• LTE_params.ChanMod_config.sin_num: specifies the number of sin realizations used for the modified rosa-zheng
model [7], [8].
• LTE_params.ChanMod_config.type: specifies the type of channel used. The available ones are:
– AWGN: Additive White Gaussian Noise channel.
– flat Rayleigh: flat Rayleight channel.
– Tap-delay based models: PedA, PedB, PedBcorr, VehA, VehB, TU, RA, and HT [12], [13].
– Externally-generated channel coefficients: winner_II. Uses the publicly-availabe Winner II implementation to
generate the channel coefficients [14]. The following parameters can be configured when using the Winner II channel
model.
∗ LTE_params.ChanMod_config.winner_settings.Scenario: 1=A1, 2=A2, 3=B1, 4=B2, 5=B3, 6=B4,
7=B5a, 8=B5c, 9=B5f, 10=C1, 11=C2, 12=C3, 13=C4, 14=D1 and 15=D2a.
∗ LTE_params.ChanMod_config.winner_settings.PropagCondition: LOS or NLOS.
∗ LTE_params.ChanMod_config.winner_settings.SampleDensity: number of time samples per half
wavelength
∗ LTE_params.ChanMod_config.winner_settings.UniformTimeSampling: use same time sampling
grid for all links (yes or no).
∗ LTE_params.ChanMod_config.winner_settings.FixedPdpUsed: nonrandom path delays and pow-
ers (yes or no).
∗ LTE_params.ChanMod_config.winner_settings.FixedAnglesUsed: nonrandom AoD/AoAs (yes
or no).
∗ LTE_params.ChanMod_config.winner_settings.PolarisedArrays: usage of dual polarised arrays
(yes or no).
∗ LTE_params.ChanMod_config.winner_settings.TimeEvolution: usage of time evolution (yes or
no).
∗ LTE_params.ChanMod_config.winner_settings.PathLossModelUsed: usage of path loss model
(yes or no).
∗ LTE_params.ChanMod_config.winner_settings.ShadowingModelUsed: usage of shadow fading
model (yes or no).
∗ LTE_params.ChanMod_config.winner_settings.PathLossModel: path loss model function name
(pathloss).
∗ LTE_params.ChanMod_config.winner_settings.PathLossOption: Available options are CR_light,
CR_heavy, RR_light, RR_heavy. CR=Corridor-Room, RR=Room-Room NLOS.
∗ LTE_params.ChanMod_config.winner_settings.RandomSeed: sets a random seed. Can be left empty.
∗ LTE_params.ChanMod_config.winner_settings.UseManualPropCondition: whether to use man-
ual propagation condition (LOS/NLOS) settings or not (yes or no). If not, the propagation condition is drawn
from probabilities.
• LTE_params.ChanMod_config.corr_coefRX: correlation between the receiver antennas. Only compatible with
block fading filtering.
• LTE_params.ChanMod_config.corr_coefTX: correlation between the transmitter antennas. Only compatible with
block fading filtering.
• LTE_params.ChanMod_config.time_correlation: sets whether the channel realizations are time-correlated or
not. correlated or independent. This parameter is also related with LTE_params.N_seed_reset.

E. Scheduler parameters
Configuration of the scheduler parameters.
• LTE_params.scheduler.type: type of scheduler. Either round robin, best cqi, or fixed.
• LTE_params.scheduler.assignment: either static, semi static or dynamic. Whether the scheduler will
statically assign or dynamically assign CQIs and other params. The best cqi scheduler is capable of assigning MCSs
dynamically. The semi static scheduler adapts automatically the precoder and layer number according to the PMI and
RI feedback (use this one in conjunction with closed loop spatial multiplexing and activated PMI and RI feedback). The
semi static scheduler assigns resource blocks in a round robin fashion.
• LTE_params.scheduler.fixed_scheduler_assignment: this option is used only for the fixed scheduler.
In that case, the parameter is a vector of length LTE_params.nUE containing the number of RBs allocated to each user.
The total number or assigned RBs must be equal or less than the number of RB available in the specified bandwidth: eg.
for 2 UEs and 1.4 MHz [4 2] would assign four RBs to the first user and two to the second.
7

• LTE_params.scheduler.cqi: the CQI the scheduler is going to use when transmitting data. When set to ’set’,
when in the static case, the CQI value to use will be read from the cqi_i variable, which is to be set from the script
file that launches the simulation (eg. LTE_sim_batch).
• LTE_params.scheduler.PMI: sets the Precoding Matrix Indicator feedback for the CLSM transmit mode.

V. R EFERENCE SIMULATION RESULTS INCLUDED


Besides the one mentioned on Section II, the simulator is provided with some reference simulation results, which can be
compared with performance curves from 3GPP RAN documents such as [15] to cross-check the results of the simulator.
The example simulation results distributed with the simulator are described below.
• plot_reference_BLER_curves_r548 shows the plots in Figure 3, showing BLER and throughput for an AWGN
simulation using the MCS defined in [6] (CQIs 1-15).
• plot_R1071967_throughput_curves_r553 shows the BLER and throughput curves obtained from performing
AWGN simulations with the MCSs specified in R1-071967, page 16 [15], as seen in Figure 4.
The MCS, including the CQI value used in the simulator, the modulation and Effective Code Rate (ECR) used in each of
the simulations are shown in Table II.
CQI Modulation ECR [15] ECRx1024
101 4QAM 1/9 114
102 4QAM 1/6 171
103 4QAM 0.21 215
104 4QAM 1/4 256
105 4QAM 1/3 314
106 4QAM 0.42 430 CQI Modulation ECR ECRx1024 [6]
107 4QAM 1/2 512 1 4QAM 0.0762 78
108 4QAM 0.58 594 2 4QAM 0.1172 120
109 4QAM 2/3 683 3 4QAM 0.1885 193
110 4QAM 0.73 748 4 4QAM 0.3008 308
111 16QAM 0.43 440 5 4QAM 0.4385 449
112 16QAM 0.46 471 6 4QAM 0.5879 602
113 16QAM 1/2 512 7 16QAM 0.3691 378
114 16QAM 0.54 553 8 16QAM 0.4785 490
115 16QAM 0.58 594 9 16QAM 0.6016 616
116 16QAM 0.61 625 10 64QAM 0.4551 466
117 16QAM 2/3 683 11 64QAM 0.5537 567
118 16QAM 0.73 748 12 64QAM 0.6504 666
119 16QAM 4/5 819 13 64QAM 0.7539 772
120 64QAM 0.58 594 14 64QAM 0.8525 873
121 64QAM 0.62 635 15 64QAM 0.9258 948
122 64QAM 2/3 683
123 64QAM 0.70 717
124 64QAM 0.74 758
125 64QAM 4/5 819
126 64QAM 0.85 870
127 64QAM 0.90 922
TABLE II
MCS S USED IN THE LTE_ S I M _ B A T C H _R1_07196 ( LEFT ) AND LTE_ S I M _ B A T C H _ Q U I C K _ T E S T ( RIGHT ) M ATLAB SCRIPTS
8

BLER, 1.4MHz, SISO AWGN, 5000 subframes throughput, 1.4MHz, SISO AWGN, 5000 subframes
0
10 6

CQI 01 5
CQI 02
CQI 03 CQI 01
-1
10 CQI 04 4 CQI 02

throughput [Mbps]
CQI 05 CQI 03
CQI 06 CQI 04
BLER

CQI 07 3 CQI 05
CQI 06
CQI 08 CQI 07
-2
CQI 09 CQI 08
10 CQI 10 2 CQI 09
CQI 11 CQI 10
CQI 12 CQI 11
1 CQI 12
CQI 13 CQI 13
CQI 14 CQI 14
-3 CQI 15 CQI 15
10 0
-15 -10 -5 0 5 10 15 20 25 -15 -10 -5 0 5 10 15 20 25
SNR [dB] SNR [dB]

(a) BLER, AWGN no HARQ (b) Throughput, AWGN, no HARQ

Fig. 3. Reference BLER and throughput plots for the 15 MCSs defined in [6]

BLER, 1.4MHz, SISO AWGN, 5000 subframes throughput, 1.4MHz, SISO AWGN, 5000 subframes
0
10 6

QPSK, R=1/9
QPSK, R=1/6
QPSK, R=0.21
5 QPSK, R=1/4
QPSK, R=1/3
QPSK, R=1/9
QPSK, R=1/6 QPSK, R=0.42
QPSK, R=0.21 QPSK, R=1/2
−1
QPSK, R=1/4 QPSK, R=0.58
10 QPSK, R=1/3 4 QPSK, R=2/3
QPSK, R=0.42
QPSK, R=1/2
QPSK, R=0.73
16QAM, R=0.43
throughput [Mbps]

QPSK, R=0.58
QPSK, R=2/3 16QAM, R=0.46
QPSK, R=0.73 16QAM, R=1/2
BLER

16QAM, R=0.43 3
16QAM, R=0.54
16QAM, R=0.46
16QAM, R=1/2
16QAM, R=0.58
16QAM, R=0.54 16QAM, R=0.61
16QAM, R=0.58 16QAM, R=2/3
10
−2 16QAM, R=0.61 2 16QAM, R=0.73
16QAM, R=2/3
16QAM, R=4/5
16QAM, R=0.73
16QAM, R=4/5 64QAM, R=0.58
64QAM, R=0.58 64QAM, R=0.62
64QAM, R=0.62 64QAM, R=2/3
64QAM, R=2/3 1 64QAM, R=0.70
64QAM, R=0.70
64QAM, R=0.74
64QAM, R=0.74
64QAM, R=4/5 64QAM, R=4/5
64QAM, R=0.85 64QAM, R=0.85
−3 64QAM, R=0.90 64QAM, R=0.90
10 0
−15 −10 −5 0 5 10 15 20 25 −15 −10 −5 0 5 10 15 20 25
SNR [dB] SNR [dB]

(a) BLER, AWGN no HARQ (b) Throughput, AWGN, no HARQ

Fig. 4. Reference BLER and throughput plots for the 27 MCSs defined in [15]

VI. R EPRODUCING THE RESULTS / PLOTS PRESENTED ON A PAPER


One of the main points of the simulator is to allow you to reproduce and review our results, as well as the algorithms that
produce them. For each of the following publications a script is prepared in the folder paper scripts that will reproduce the
results in the corresponding paper:
• M. Šimko, C. Mehlführer, M. Wrulich, and M. Rupp, “Doubly Dispersive Channel Estimation with Scalable Complexity”,
in Proc. WSA 2010, Bremen, Germany, Feb. 2010 [16]:
LTE_sim_batch_michal_wsa_2010.m’
• S. Schwarz, M. Wrulich, and M. Rupp, “Mutual information based calculation of the precoding matrix indicator for 3GPP
UMTS/LTE”, in Proc. WSA 2010, Bremen, Germany, Feb. 2010 [17]:
LTE_sim_batch_schwarz_wsa_2010.m’
• S. Schwarz, C. Mehlführer, and M. Rupp, “Calculation of the Spatial Preprocessing and Link Adaption Feedback for
3GPP UMTS/LTE”, in Proc.Wireless Advanced2010, London, Great Britain, June 2010 [18]:
LTE_sim_batch_schwarz_WiAd_2010.m’

VII. SNR DEFINITION


In a MIMO-Orthogonal Frequency Division Multiplexing (OFDM) transmission system the SNR γ is the measurement for
channel quality information and is a key factor of link error prediction. There are different measures or calculation procedures
9

for the SNR in SISO and MIMO systems. For SISO systems the SNR can be viewed as receiving SNR, that is, received
signal-to-noise ratio before the detector. Usually post-detection Signal to Interference and Noise Ratio (SINR) is used for
MIMO link prediction. It is representing the SNR after combining in the receiver and measures the likelihood that a MCS will
be decoded successfully.
The LTE Link Level simulator SNR γ is defined as follows:
T N ×1
• BS_output.y_tx contains the Tx-signal vector x = [x1 , . . . , xNT ] ∈ C T , where xk ∈ C with k ∈ [1, . . . , NT ] is
the Tx-symbol sent from the k-th Tx-antenna (NT . . . number of Tx-antennas). We get

– the total Tx-power, σx2 = trace(Rx ) = trace(E xxH ) = 1
– the Tx-power per Tx-antenna, σx2k = E{|xk |2 } = 1/NT
2
• ChanMod_output.H defines the channel matrix H, with kHkF = NT NR (NR . . . number of Rx-antennas)
• BS_output.cell_genie.v defines the noise vector v with respect to the size of the Fast Fourier Transform (FFT)
(LTE_params.Nfft) and the number of subcarriers (LTE_params.N_tot) before the detector, where vec(v) ∼
CN (0, σv2 I)
2
• BS_output.cell_genie.n defines the noise vector n after the FFT, where vec(n) ∼ CN (0, σn I)
• ChanMod_output.y_rx contains the Rx-signal vector y = Hx + v

– we get the receive SNR (before the detector),


kHxk2F NR 1
γprefft = = = 2
NR σv2 NR σv2 σv
– where the SNR after the FFT becomes,
kHxk2F NR 1
γpostfft = 2
= 2
= 2
NR σ n NR σn σn

The difference between γprefft and γpostfft is given by the relation σv2 /σn2 = Nfft /Ntot (using a FFT-size of 128 and 72
subcarrriers, we get Nfft /Ntot = 128/72 = 1.778 , 2.5 dB).
We recommend to use the SNR after FFT (γpostfft ) when doing simulations over SNR, as this allows direct comparisons
to theoretic results.

VIII. N OTE ON PARALLEL SIMULATIONS AND RANDOM NUMBER GENERATION


Note that when using parallel simulations the random number generator will return the same sequence of numbers in each of
the parallel-running M ATLAB labs. Since the parfor loop is over SNR values, this would mean that each SNR iteration is in
principle identical to the other ones just with a different noise level (this may not be the case depending on the circumstances,
though). If this is not adequate for your needs, you may need to modify the code regarding the RandStream initialization.
Below is a code that illustrates what happens when using RandStreams in parallel mode:
sim_length=15;
n_sims = 10;
output = zeros(n_sims,sim_length);
for sim_=1:n_sims
a_RandStream = RandStream(’mt19937ar’,’Seed’,0);
matlabpool open
parfor t_=1:sim_length
pause(1); %simulate doing something
output(sim_,t_) = rand(a_RandStream);
end
matlabpool close
end
output

IX. C HANGELOG
• v.1.4r715, 2010-07-12
– Fixed bug in the channel coding process. According to [9]: ”If the code to be encoded is the 0-th code block and the
number of filler bits is greater than zero, i.e. F > 0, then the encoder shall set ck = 0, k = 0, . . . , (F − 1) at its input
and shall set d0k =<NULL>, k = 0, . . . , (F − 1) and d1k =<NULL>, k = 0, . . . , (F − 1) at its output”. These bits were
erroneously set to 0 instead of <NULL>. In LTE_rx_DLSCH, the first BS_signaling.TB_segmentation.F
10

LLR values of d(0) and d(1) are replaced by -LTE_params.UE_config.LLR_clipping. Thanks to Wu Gaojin
(University of Posts and Telecommunications, China) for pointing out this bug.
– Fixed bug in the RX rate matching process that caused a crash when no filler (<NULL>) bits were present (ie.
UE_signaling.turbo_rate_matcher(stream_index).null_positions{i} was empty). Thanks to
Narciso Garcı́a Cano (Universidad Politécnica de Madrid, Spain) for helping us out with this bug.
– The Gold sequence generation was based on version 8.2.0 of the standard. Between the latest release and v8.2.0.,
pseudo random sequence generator was updated to include Nc [10]. Thanks to Mitsuo Sakamoto (Couei Corp, Japan)
for helping us out with this bug and kindly providing an updated version of the Gold Sequence generation that is
also ∼ 40x faster.
– Added comment on issues that may arise from using random number generators and parallel simulations.
– Added support of user equipment feedback (CQI, RI and PMI). The feedback values are evaluated as described
in [18] (added a script to allow reproduction of the figures in this paper). CQI feedback is based on ESM. MIESM
and EESM are supported for SINR averaging. The feedback calculation is just tested for the ZF receiver.
– The receiver for 4x1 and 4x2 TxD mode was modified. The performance is unchanged, but execution speed has been
greatly improved.
• v.1.3r620, 2010-02-18.
– Fixed bug in the turbo decoding process. The second decoder was initialized to the interleaved systematic bits instead
of zero. Due to this there is a small performance improvement in the order of 0.2 dB. Thanks to Klaus Hueske
(Technische Universität Dortmund Information Processing Lab, Germany) for helping us out with this bug.
– Fixed errors in the way the fixed scheduler object was called that made it impossible to use it. Thanks to Tommaso
Balercia (Comneon GmbH, Germany) for pointing out this bug.
– Changed structure of the simulations parameters’ loading file in order to decrease the number of configuration files.
– Added doubly dispersive channel estimation with scalable complexity [16] and related files needed to reproduce the
figures from the paper.
– Added precoding matrix indicator feedback support as described in [17] and related files needed to reproduce the
figures from the paper.
• v.1.2r553, 2009-12-25.
– Minor bugfixes and improvements.
– Fixed bug in the rate matching process that caused the <NULL> bits inserted during the sub-block interleaving process
to be treated as zeros (see [9]). Due to this fix the performance of the channel coding is slightly improved. Reference
and example simulations included with the simulator have been updated accordingly. Thanks to Ching Hsiang Wu
(Institute for Information Industry Networks and Multimedia Institute, Taipei) for pointing out this bug.
– Fixed bug that caused poor performance of the ZF receiver. This was due to a bad noise scaling being passed on
to the demapper. After the fix the ZF and Soft Sphere Decoder (SSD) receivers have the same performance for the
SISO case.
– Since according to the MathWorks,the seqgen function will be removed from future versions of the Communications
Tollbox software, calls to seqgen.pn have been substituted by calls to commsrc.pn. See Section XI for issues
this change may cause.
– Fixed bug that caused performance decrease for fast fading simulations at high user velocities. For the decoding of
the last seven OFDM symbols, the channel of the first seven OFDM symbols was used.
– Added support of the Winner II + channel model [19]. See Section XII on more information on how to enable this
functionality.
• v.1.1r450, 2009-08-25.
– Minor bugfixes and improvements.
– Added Parallel and Distributed Toolbox support (parfor).
– Added best CQI (only for SISO and fixed schedulers.
• v.1.0r400, 2009-05-15.
– First publicly available version of the LTE Link Level Simulator.

X. R EFERENCING
A version of the LTE Link Level Simulator paper is available in our publication data-base here.
If you are using the simulator for your scientific work, please use the refence below:
@InProceedings{EUSIPCO2009,
author = {Christian Mehlf\"uhrer and Martin Wrulich and Josep Colom Ikuno and Dagmar Bosanska and Markus Rupp},
title = {Simulating the Long Term Evolution Physical Layer},
booktitle = {Proc. of the 17th European Signal Processing Conference (EUSIPCO 2009)},
month = aug,
year = 2009,
11

address = {Glasgow, Scotland},


url = {http://publik.tuwien.ac.at/files/PubDat_175708.pdf},
}
C. Mehlfhrer, M. Wrulich, J. C. Ikuno, D. Bosanska and M. Rupp, "Simulating the Long Term Evolution Physical Layer,"
in Proc. of the 17th European Signal Processing Conference (EUSIPCO 2009), Aug. 2009, Glasgow, Scotland. [Online].
Available: http://publik.tuwien.ac.at/files/PubDat_175708.pdf

XI. K NOWN ISSUES


• The LTE simulators make use of the new Object-Oriented capabilities of Matlab (available since R2008a), the simulators
will not run under older Matlab releases without extensive changes.
• Please note that MEX-files generated using Microsoft Visual C++ 2008 require that Microsoft Visual Studio 2008 run-time
libraries be available on the computer they are run on. The runtime files can be downloaded here (x86) or here (x64).
• In order to be able to use the parallel version of the simulator (when setting LTE_params.simulation_type to
parallel, you need the parallel toolbox (included by default with M ATLAB r2009a and above or as an add-on with
previous versions). It will not work if you don’t have the toolbox, just crashing the moment the matlabpool function
is called.
• In M ATLAB versions prior to r2009a the code may not work, as the commsrc.pn function does not exist. You will need to
replace every call to commsrc.pn with a call to seqgen.pn in order to run the simulator. No change in the arguments
is needed. Such changes should be applied to the code in the LTE_common_gen_Synchronization_Signal and
LTE_common_gen_Reference_Signal functions.
• In the LTE_rx_turbo_decode function, only the max-log-map decoder type has been tested. The decoder_type
variable is used as input an configures the SISO decoder function, which is part of [20].
• It was pointed out that in [7], the phase φ is not different for each sinusoid. We are using a modified version [8].

XII. U SING THE W INNER P HASE II CHANNEL MODEL REFERENCE IMPLEMENTATION


Starting with v.1.2r553, it is possible to use channels generated with the publichly-available M ATLAB implementation of the
WINNER Phase II Channel Model [19]. Since the code is distributed under the GNU GPL, its files are not included in the
simulator release. In order to use to be able to use it, you will have to download it yourself. For this, go to the WINNER Phase
II Model website, download the WIM2_3D_ant_ver064_220908.zip file and unzip the .mat files in the ./Winner
Channel Model in the simulator folder.

XIII. M AILING L IST


If you want to receive information about future updates you can subscribe to our LTE simulator mailing list here. Note that
you can change the display language to english in the selection panel to the right.

XIV. T HE P EOPLE ( SO FAR ) BEHIND THE DEVELOPMENT OF THE SIMULATOR


• Dagmar Bosanska
• Josep Colom Ikuno
• Govinda Lilley
• Michal Šimko
• Christian Mehlfürer
• Stefan Pendl
• Markus Rupp
• Stefan Schwarz
• Qi Wang
• Martin Wrulich

XV. L ICENSE AGREEMENT


These terms (license for the LTE link level simulator) refer to the use of the LTE link-level simulator (the ”Original
Work), developed by the Institute of Communications and Radio Frequency Engineering, Vienna University of Technology
(the licensor).

A. Academic Usage
Academic Usage in the context of this license describes the use of the Original Work in scientific projects without any
reimbursement or financial claims that bear on results derived by the Original Work, but subject however to the restrictions
provided for in Clauses B and H hereinbelow. The main goal in the sense of Academic Usage shall be to obtain cientifically
significant results that can be used for publication.
12

B. Grant of copyright license


Licensor grants You a worldwide, royalty-free, non-exclusive, non-sublicensable license, restricted to non-commercial use,
for the duration of the copyright, to install the Original ork and any Derivative Works thereof on one personal computer. The
license allows You to:
1) Use the Original Work only for Academic Usage. Any usage of the Original Work, entirely or in part or modified,
requires the proper citation, e.g. as reference in a publication.
2) Translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works (Derivative
Works) based upon the Original Work. Distribution, either royalty-free or commercially, in parts or in modified form of
the Original Work, i.e. also of Derivative Works, is prohibited and not covered by ”Academic Usage”.
3) Display results derived from the Original Work, or in modified form, publicly, without commercial usage.

C. Grant of source code license


The term ”Source Code” means the preferred form of the Original Work for making modifications to it and all available
documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source
Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right
to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably
calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original
Work.

D. Exclusions from license grant


Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service
marks, may be used without express prior permission of the Licensor, except as expressly provided otherwise in Clause B1
hereinabove. Except as expressly stated herein, nothing in this License grants any license to Licensor’s trademarks, copyrights,
patents, trade secrets or any other intellectual property. No license is granted to the trademarks of Licensor even if such marks
are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms
different from this License any Original Work that Licensor otherwise would have a right to license.

E. Warranty of provenance and disclaimer of warranty


Licensor warrants that the copyright in and to the Original Work is owned by the Licensor or is sublicensed to You under the
terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated
in the immediately preceding sentence, the Original Work is provided under this License on an ”AS IS” BASIS and WITHOUT
WARRANTY, either express or implied, including, without limitation, the warranties of noniinfringement, merchantability or
fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU.
This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to he Original Work is granted
by this License except under this disclaimer.

F. Limitation of liability
Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the
Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result
of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage,
computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply
to the extent applicable law prohibits such limitation.

G. Termination
If, at any time, You infringe upon the grants of this License, it shall terminate immediately and You may no longer exercise
any of the rights granted to You by this License.

H. Open source and code under other license terms


The original work also contains work licensed under other licenses other than the license for the LTE link-level simulator.
The terms and conditions described in this document are only applicable to the parts of the Original Work not under other
licenses. A list of the parts of the Original Work not under the license for the LTE link-level simulator can be found in
Appendix I.
13

I. Appendix I
The following parts of the original work are not under the terms of the license for the LTE link-level simulator, and are
thus excluded from the terms and conditions stated by this license.
The usage and adaptation of these sections for use with the original work is done in compliance with the license terms
they are released under. Any translation, adaptation, alteration, transformation, modification, or further use of the hereinbelow
stated parts of the original work must be done under the terms of the applicable licenses for that specific part, which are also
included in the package.
• CRC calculations C-code: MEXed version of the code generated by pycrc [21]. Under the MIT License.
• Turbo and convolutional encoder/decoder C-code, from the Coded Modulation Library (CML) by Iterative Solutions [20].
Licensed under the GNU lesser General Public License.

Use c-source M ATLAB functions License


crc16.c
LTE_common_crc16
crc16.h
CRC generation and crc24a.c
LTE_common_crc24a MIT License [4]
checking crc24a.h
crc24b.c
LTE_common_crc24b
crc24b.h
ConvEncode.c
convolutional.h
LTE_tx_convolutional_encoder
Channel coding maxstar.h GNU Lesser GPL [3]
LTE_rx_siso_decode
siso.h
SisoDecode.c

ACKNOWLEDGMENT
The authors would like to thank the whole LTE research group for continuous support and lively discussions. This work has
been funded by mobilkom austria AG, the Christian Doppler Laboratory for Wireless Technologies for Sustainable Mobility,
as well as the Institute of Communications and Radio-frequency Engineering. The views expressed in this paper are those of
the authors and do not necessarily reflect the views within mobilkom austria AG.

R EFERENCES
[1] [Online]. Available: http://www.nt.tuwien.ac.at/ltesimulator/
[2] C. Mehlführer, M. Wrulich, J. C. Ikuno, D. Bosanska, and M. Rupp, “Simulating the long term evolution physical layer,” in Proc. of the 17th European
Signal Processing Conference (EUSIPCO 2009), Glasgow, Scotland, Aug. 2009.
[3] I. Free Software Foundation, “GNU lesser general public license, version 2.1.” [Online]. Available: http://www.gnu.org/licenses/lgpl-2.1.html
[4] M. I. of Technology, “MIT license.” [Online]. Available: http://www.opensource.org/licenses/mit-license.php
[5] Technical Specification Group Radio Access Network, “Evolved universal terrestrial radio access (E-UTRA); LTE physical layer – general description,”
3rd Generation Partnership Project (3GPP), Tech. Rep. TS 36.201 Version 8.3.0, Mar. 2009.
[6] ——, “Evolved universal terrestrial radio access (E-UTRA); physical layer procedures,” 3rd Generation Partnership Project (3GPP), Tech. Rep. TS
36.213, Mar. 2009.
[7] Y. R. Zheng and C. Xiao, “Simulation models with correct statistical properties for rayleigh fading channels,” Communications, IEEE Transactions on,
June 2003.
[8] T. Zemen and C. Mecklenbräuker, “Time-Variant Channel Estimation Using Discrete Prolate Spheroidal Sequences,” IEEE Transactions on Signal
Processing, vol. 53, no. 9, pp. 3597–3607, Sept. 2005.
[9] Technical Specification Group Radio Access Network, “Evolved universal terrestrial radio access (E-UTRA); multiplexing and channel coding,” 3rd
Generation Partnership Project (3GPP), Tech. Rep. TS 36.212, Mar. 2009.
[10] ——, “Evolved universal terrestrial radio access (E-UTRA); physical channels and modulation,” 3rd Generation Partnership Project (3GPP), Tech. Rep.
TS 36.211 Version 8.7.0, May 2009.
[11] ——, “Evolved universal terrestrial radio access (E-UTRA); user equipment (UE) radio access capabilities,” 3rd Generation Partnership Project (3GPP),
Tech. Rep. TS 36.306, 2009.
[12] ITU-R, “Guidelines for evaluation of radio transmission technologies for IMT-2000,” ITU-R, Tech. Rep. M.1225, 1997.
[13] Technical Specification Group GSM/EDGE Radio Access Network, “Radio transmission and reception, annex c.3 propagation models,” 3rd Generation
Partnership Project (3GPP), Tech. Rep. TS 05.05 V.8.20.0 (Release 1999), 2009.
[14] L. Hentilä, P. Kyösti, M. Käske, M. Narandzic, and M. Alatossava. (2007) MATLAB implementation of the WINNER Phase II channel model ver1.1.
[Online]. Available: http://www.ist-winner.org/phase 2 model.html
[15] Alcatel-Lucent, “DL E-UTRA performance checkpoint,” 3GPP TSG-RAN1, Tech. Rep. R1-071967, 2007.
[16] M. Šimko, C. Mehlführer, M. Wrulich, and M. Rupp, “Doubly Dispersive Channel Estimation with Scalable Complexity,” in Proc. WSA 2010, Bremen,
Germany, Feb. 2010, accepted.
[17] S. Schwarz, M. Wrulich, and M. Rupp, “Mutual information based calculation of the precoding matrix indicator for 3GPP UMTS/LTE,” in Proc. WSA
2010, Bremen, Germany, Feb. 2010, accepted.
[18] S. Schwarz, C. Mehlfhrer, and M. Rupp, “Calculation of the Spatial Preprocessing and Link Adaption Feedback for 3GPP UMTS/LTE,” in Proc. IEEE
Wireless Advanced 2010, London, UK, June 2010.
[19] L. Hentil, P. Kysti, M. Kske, M. Narandzic, and M. Alatossava, “MATLAB implementation of the WINNER Phase II Channel Model ver1.1,”
December 2007. [Online]. Available: https://www.ist-winner.org/phase 2 model.html
14

[20] I. Solutions, “Iterative Solutions Coded Modulation Library (ISCML).” [Online]. Available: http://www.iterativesolutions.com/
[21] T. Pircher, “pycrc CRC calculator and C source code generator.” [Online]. Available: http://www.tty1.net/pycrc/

You might also like