Ltealinkdoc
Ltealinkdoc
Abstract
This document contains documentation on how to use the Long Term Evolution Advanced (LTE-A) 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 simulator is an extension of the previously published Vienna LTE Link Level Simulator. This document gives an introduction
on how to use the simulator. The concept and the structure of the simulator is described in more detail in [2].
I. F OREWORD
The LTE-A 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 Stefan Schwarz, Michal Simko or Josep Colom Ikuno.
The detailed license agreement for the LTE-A Link Level simulator can be found in Section XVIII. 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].
2
C ONTENTS
I Foreword 1
V Simulation parameters 6
V-A General parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
V-B Channel matrix source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
V-C User Equipment (UE), eNodeB and UE feedback specific parameters . . . . . . . . . . . . . . . . . . . 7
V-D Channel model parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
V-E Scheduler parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
V-F Variable uplink delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
VIII Extensions of the Vienna LTE-A Link Level Simulator compared to the Vienna LTE Link Level Simulator 12
IX SNR definition 13
XI Changelog 14
XII Referencing 16
XV Questions 17
XVII The People (so far) behind the development of the simulator 17
XIX Acknowledgment 19
References 19
List of Figures 20
List of Tables 20
3
A. LTE
In the ./examples directory you can execute the LTE_sim_batch_quick_test M ATLAB script. This script provides
a means to test the performance of a single user Long Term Evolution (LTE) transmission on an uncorrelated VehA channel for
several transmission modes [5] and antenna configurations (number of transmit antennas Nt times number of receive antennas
Nr ). All simulated transmission modes (Single-Input Single-Output (SISO), Transmit Diversity (TxD), Open Loop Spatial
Multiplexing (OLSM) and Closed Loop Spatial Multiplexing (CLSM)) utilize UE feedback to adapt important transmission
parameters (code rate, modulation alphabet, Multiple-Input Multiple-Output (MIMO) preprocessing) to the channel quality
(see [6] for details). The script produces plots of the cell throughput obtained with the different transmission modes. To verify
their correctness, these plots can be compared to the figures provided in the subdirectory ./LTE quick test results
of the directory ./examples or to the curves shown in Figure 2. The result of the simulation is a group of result files that is
stored in the ./results folder. Details to the simulation setup can be found in [7].
10 10
SISO SISO
9 TxD 2x2 9 OLSM 4x2
OLSM 2x2 CLSM 4x2
8 CLSM 2x2 8
7 7
throughput [Mb/s]
throughput [Mb/s]
6 6
5 5
4 4
3 3
2 2
1 1
0 0
−10 0 10 20 30 40 −10 0 10 20 30 40
SNR [dB] SNR [dB]
20 20
SISO SISO
18 OLSM 4x4 18 TxD 2x2
CLSM 4x4 OLSM 2x2
16 16 CLSM 2x2
OLSM 4x2
14 14 CLSM 4x2
OLSM 4x4
throughput [Mb/s]
throughput [Mb/s]
12 12 CLSM 4x4
10 10
8 8
6 6
4 4
2 2
0 0
−10 0 10 20 30 40 −10 0 10 20 30 40
SNR [dB] SNR [dB]
The most important settings used in the LTE_sim_batch_quick_test M ATLAB script can be found in Table I.
4
Parameter Value
Number of UEs 1
Bandwidth 1.4 MHz
HARQ Retransmissions 0
Uplink delay none
Channel type Ped-A uncorrelated
Filtering Block Fading
Receiver type Zero Forcing
Simulation length 1000 subframes
Transmit modes SISO, TxD 2×2, OLSM 2×2, 4×2, 4×4, and CLSM 2×2, 4×2, 4×4
B. LTE-A
To test the LTE-A capabilities of the simulator, the two M ATLAB scripts LTEA_sim_batch_quick_test_SUMIMO and
LTEA_sim_batch_quick_test_MUMIMO are provided. The SUMIMO test script compares the single user throughput
performance of different LTE-A antenna configurations (eight transmit antennas), when utilizing the standard defined precoder
codebook [8]. Again the transmission parameters are adapted in accordance with the channel quality experienced and fed back
by the UE (assuming instantaneous feedback), see [9] for details. In Figure 3, the SUMIMO throughput for three different
antenna configurations is shown. Running the script file LTEA_sim_batch_quick_test_SUMIMO should produce similar
results. The simulation settings utilized in these simulations are given in the second column of table Table II.
35
8x1
8x4
30 8x8
25
Throughput [Mbit/s]
20
15
10
0
−10 −5 0 5 10 15 20 25 30 35
SNR [dB]
In addition to standard defined precoding, LTE-A also supports non-standard defined precoding. As an example, Zero
Forcing (ZF) beamforming for single receive antenna UEs is implemented in the LTE-A simulator. This precoding method
spatially orthogonalizes the transmission to different UEs, by appropriately forming antenna beams. The precoders are either
computed from perfect channel knowledge, or utilizing Channel Vector Quantization (CVQ), from quantized (imperfect)
channel knowledge. For details on the utilized feedback and precoding methods, see [10]. Figure 4 shows the obtained
cell throughput versus SNR for the two considered feedback methods, assuming a frequency flat Rayleigh fading channel
model. Note that no precoder interpolation is currently implemented. Therefore the precoding method will not perform well
5
in frequency selective channels, because only one channel value per Resource Block (RB) is fed back. Running the script
LTEA_sim_batch_quick_test_MUMIMO in the ./examples directory allows to reproduce these results. The most
important simulator settings for these simulations are summarized in the last column of table Table II.
20
Perfect channel knowledge
18 RCVQ based on LTE−A codebook
16
14
Throughput [Mbit/s]
12
10
0
0 5 10 15 20 25 30
SNR [dB]
4) MUMIMO: Multi-user (four users) MIMO simulation. In this simulation, the columns of the standard defined precoding
matrices are shared by different users in a round robin fashion (no sophisticated scheduler is currently implemented).
The number of transmit and receive antennas equals 4.
5) LTE-A MUMIMO: Non-standard defined precoding (ZF beamforming) based MUMIMO with 5 single antenna users
and four transmit antennas.
6) LTE-A SUMIMO: SUMIMO based on the LTE-A specified single user codebook (enables up to eight layers for a
single user).
7) IA: Interference Alignment simulation based on the closed-form IA expression for a 2 × 2 3 user system. Note that
some parameters are confined for IA, e.g. a feedback delay is not allowed and only frequency flat simulations are
possible (due to speed problems). Details about this setup can be found in ”Interference Alignment in UMTS Long
Term Evolution,” J. Reitterer et.al.
8) DAS: This setting allows to simulate a distributed antenna system. Note that it overrules several parameters, because
it uses a pathloss and shadow fading model. Details about this setup can be found in ”Multiuser MIMO in Distributed
Antenna Systems with Limited Feedback,” S. Schwarz et.al.
• LTE_sim_main: main routine of the simulator.
• Generate the output filename and save the results in a .mat file.
V. S IMULATION PARAMETERS
Below you can find a list of the parameters that can be configured in LTE_load_parameters and
LTE_load_advanced_parameters (or in files called therein)
A. General parameters
• LTE_params.nUE: number of UEs to simulate.
• LTE_params.nBS: number of eNodeBs (cells) that will be simulated.
• 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. It is also possible to define independent uplink delays for
different feedback values. See Section V-F for a more detailed description of this feature.
• 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.
• 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 [12], [13]). 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 RBs respectively. Carrier aggregation (to enable
bandwidths > 20 MHz) is currently not supported by the LTE-A simulator.
• LTE_params.HARQ_processes: number of parallel Hybrid-ARQ (HARQ) processes. The maximum value, according
to [14] is 8.
• LTE_params.max_HARQ_retransmissions: maximum number of HARQ retransmissions, not including the original
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 [15]. 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 of 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 and debugging).
7
E. Scheduler parameters
Configuration of the scheduler parameters.
• LTE_params.scheduler.type: type of scheduler. Already numerous schedulers are supported (see [21] and [22])
the most important being:
– round robin: round robin scheduler without support of UE feedback.
– fixed: round robin scheduler but with support of UE feedback (MCS and MIMO preprocessing are adapted).
– best cqi: scheduling decisions are taken according to the reported channel quality, such as to maximize the system
throughput.
– proportional fair: proportional fair scheduler.
Other supported schedulers are (note: these are not thoroughly tested for all configurations):
– max throughput: max. throughput scheduler based on a linear program
– max min: max. min. scheduler
– var fair: throughput suboptimal scheduler with variable, adjustable fairness
(it utilizes the parameter LTE_params.scheduler.fairness)
– variable fair: throughput optimal scheduler with variable, adjustable fairness
– alpha fair: scheduler with fairness indirectly set by the parameter LTE_params.scheduler.alpha
All those schedulers assume full buffer simulations. The only scheduler that supports the traffic models is the
RoundRobin_Traffic scheduler.
• 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.
10
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.
• 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). This is only used with the round robin and fixed
scheduler in static mode.
• LTE_params.scheduler.PMI: sets the Precoding Matrix Indicator, if no feedback is employed.
IMPORTANT: while the configuration may allow for flexibility, setting different delays for the CQI, RI and/or PMI
can lead to unexpected results. e.g., if the CQI dimensions do not match those resulting from a given rank value or if the
retrieved PMI (after delay) would not be in the range of the retrieved RI due to them referring to actually different TTIs, the
simulator (very probably the scheduler) will in the best case crash, and in the worst case not crash and maybe yield erratic
results, leaving you wondering why the results look strange.
The simulator also allows the possibility to specify a configurable update rate for Channel State Information (CSI) feedback.
The feedback to which this now applies comprises the following outputs.ueOutput variables: RI, PMI, PMI_WB, CQI, and
CQI_bar. However, the variable choice can be changed with the CSI_feedback_variables of the outputs.ueOutput
class. In the case you would decide to add additional feedback to the simulator and would require this feature, the considered
CSI variable set can be easily modifiable.
This feature is configured by the optional LTE_params.CSI_feedback_interval parameter. If not defined, it is
equivalent to setting it to one. For LTE_params.CSI_feedback_interval=1, the values output by the uplink channel
correspond to the delayed feedback. for higher values (N ), N values are sent and the feedback is updated again after N TTIs.
i.e., in the normal case, the received feedback would correspond to the following TTIs:
1, 2, 3, 4, 5, 6, 7, 8, 9, . . . ,
if LTE_params.CSI_feedback_interval=3 is specified, the feedback received by the scheduler will correspond to the
following TTIs:
1, 1, 1, 4, 4, 4, 7, 7, 7, . . . .
It is important to not that this overwriting of the actual feedback with an old one is performed after valid feedback is received,
i.e., after a number of TTIs equal to the maximum uplink delay has passed.
• plot_reference_BLER_curves_r655 produces the plots in Figure 5, showing Block Error Ratio (BLER) and
throughput for an Additive White Gaussian Noise (AWGN) simulation using the MCS defined in [11] (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 [23], as seen in Figure 6.
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 III.
CQI Modulation ECR [23] 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
CQI Modulation ECR ECRx1024 [11]
106 4QAM 0.42 430
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
5 4QAM 0.4385 449
111 16QAM 0.43 440
6 4QAM 0.5879 602
112 16QAM 0.46 471
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 III: MCSs used in the LTE_sim_batch_R1_07196 (left) and LTE_sim_batch_quick_test (right) M AT-
LAB scripts
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]
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]
VIII. E XTENSIONS OF THE V IENNA LTE-A L INK L EVEL S IMULATOR COMPARED TO THE V IENNA LTE L INK L EVEL
S IMULATOR
The Vienna LTE-A Link Level Simulator is a direct extension of the Vienna LTE Link Level simulator. It contains all the
features and transmit modes implemented in the LTE simulator. The LTE simulator supports standard compliant transmission
from up to four transmit antennas in one of the following transmit modes:
• Single antenna port scheme (mode 1): transmission from a single antenna port only.
• Transmit diversity scheme (mode 2): transmission from two antenna ports utilizing the Alamouti transmit diversity scheme.
• Open loop transmit diversity scheme/large delay CDD scheme (mode 3): transmission from 2 or 4 antenna ports, utilizing
large delay Cyclic Delay Diversity (CDD).
• Closed loop spatial multiplexing (mode 4): transmission from 2 or 4 antenna ports, utilizing UE feedback for choosing the
appropriate precoding matrix. Corresponds to the single and dual layer transmission schemes defined in the LTE spec.
These four transmission modes all rely on the LTE reference signal structure, consisting of Cell Specific (CS) Reference Signals
(RS).
In addition to these transmission modes, the LTE-A simulator supports the following modes:
• MUMIMO based on the LTE codebook (mode 5): this mode allows to share spatial transmission layers between users. It
is also based on CS-RS. Just a dummy mode is implemented here, assuming:
– A round robin scheduler (fixed MUMIMO) that equally distributes time, frequency and space resources to users.
– Only “benchmark” receivers are implemented, assuming full channel knowledge. Here each user decodes all spatial
layers and throws away the ones that are not intended for him.
• Transmission modes based on UE specific RS and CSI RS
– Non-standard defined precoding (mode 8): ZF beamforming is implemented as an example, utilizing the ZF_MUMIMO
scheduler.
– Up to eight layer transmission (mode 9): this mode is the LTE-A counterpart of the LTE modes 4 and 5. It allows fast
switching between SUMIMO and MUMIMO with up to eight transmit antennas. For MUMIMO the same dummy
scheme as for mode 5 is implemented (employing the fixed MUMIMO scheduler), and the SUMIMO scheme is
based on the UE feedback algorithms presented in [9].
13
More advanced features of LTE-A like e.g. carrier aggregation and basestation cooperation are not implemented in the first
release, but the structure of the simulator allows to include such features as well (by implementing appropriate schedulers,...).
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.
XI. C HANGELOG
Changelog of the Vienna LTE-A Link Level simulator:
• v.1.3r1924,2013-03-08
– Added LTE-A fast fading compatibility: The fast fading channel estimators LS, MMSE, MMSE_full ,
Smoothness_match, Smoothness_deviate and Smoothness_approx using the LTE-A reference symbol
structure have been added as well as a ZF receiver for fast fading.
– Added a new proportional fair scheduler (prop fair gran) that allows to vary the scheduling granularity. All
other schedulers operate on a RB basis, while this scheduler can be set to assign resources in multiples of RBs
only. To do this, open the scheduler object (prop_fair_gran_scheduler.m in +schedulers folder) and
adjust the object-property gran. The fairness parameter α of the scheduler can also be adjusted using the variable
LTE_params.scheduler.alpha in LTE_load_parameter.m.
– Extended the feedback granularity options for CQI and PMI from either wideband or per RB, to any value in multiples
of RBs. This is only supported for the standard compliant PMI, CQI feedback and not for specialized feedback, e.g.,
for non-codebook based MU-MIMO.
– Fixed crash when using the EPedA channel model due to a missing correlation matrix generation for that channel.
– Added feature to enable for a configurable update rate for CSI feedback. The feedback to which this now applies
comprises the following outputs.ueOutput variables: RI, PMI, PMI_WB, CQI, and CQI_bar. However, the
variable choice can be changed with the CSI_feedback_variables of the outputs.ueOutput class. See
Section V-F for a more detailed description of this feature.
– It is now possible to independently define the uplink delay of any variable contained in the outputs.ueOutput
object. An example use case would be to define a different feedback value to the PMI and RI feedback, while the
rest employ the common value defined in LTE_params.uplink_delay. See Section V-F for a more detailed
description of this feature.
– Reorganized channel matrix generation-related functions to its own folder.
– Updated the AWGN BLER scripts. They are now merged into a single LTE_sim_batch_BLER_curves.m script
in the examples folder.
– Updated LTE_sim_batch_quick_test (see Section II-A). Simulation results for SISO, TxD (2×2), OLSM
(2×2, 4×2, 4×4), and CLSM (2×2, 4×2, 4×4) configurations are now provided. As opposed to before, where this
test simulation was based on a fix CQI, this example now features Adaptive Modulation and Coding (AMC) and
MIMO feedback over the whole SNR range.
– Small performance improvements.
– Added MIMO support to the round robin scheduler.
– Optimized the MIESM SINR averaging and the code to generate the CLSM precoders (i.e., noticeably faster
simulations).
– Merged the LTE_sim_single and LTE_sim_par implementations into a single implementation supporting both
normal and parallel simulations and a simpler input-output variable flow.
– Fixed rank indicator feedback calculation bug that limited the OLSM transmission with four transmit antennas to rank
3.
• v.1.2r1546, 2012-10-16 (marked before as LTE-A_v1.0_r200.zip)
– Added support of distributed antennas. Note that DASs are only used in combination with a pathloss and shadow-fading
model, because otherwise there would not be a difference between centralized and distributed antennas.
– Improved support of interference alignment (IA) with a new structural element in the simulator, the base station
coordinator (BS coordinator). With this element it should be possible to incorporate also other coordination schemes
(simply follow the example of IA).
– Added least squares (LS) and linear minimum mean squared error (LMMSE) channel estimators for LTE-A.
– Fixed normalization error in the sinc interpolator. A sqrt was missing in the constructor. Thanks to Han Zhou
(Shanghai Advanced Research Institute (SARI), China), for pointing out this bug.
– Added new AWGN BLER curves for both 1.4 MHz and 5 MHz. See the examples/AWGN_BLER_curves folder.
• v.1.1r100, 2011-09-27 (marked before as LTE-A_v1.0_r100.zip)
– First release of the Vienna LTE-A Link Level simulator.
The Vienna LTE-A Link Level simulator is an extension of the Vienna LTE Link Level simulator. It is built around Version
1.7 of the LTE simulator. For convenience, the changelog of the Vienna LTE Link Level simulator until this version is also
included:
• v.1.7r1089, 2011-10-04
– MEX files are now compiled with Microsoft Visual C++ 2010, so the appropriate runtime files are needed. Refer to
Section XIII for more information on how to get them.
15
– Fixed typos in the LTE_sim_batch_BLER_curves file that reproduces the AWGN BLER curves.
– BICM capacity curves are now loaded by default not from a file, but from a hardcoded source. Loading from a file is
still supported, though.
– Fixed error in the rate matching that caused an incorrect number of bits than otherwise expected by the layers for
cases of bandwidth higher than 1.4 MHz and certain resource block allocations.
– Changed the layout of the load_parameters file. It was getting so long it was no longer readable. Moved the
individual configuration parameters for each simulation type to separate object files in the simulation_config
package.
– Fixed discrepancy initialization in the gold code generation MEX file. Thanks to Srikanth Isanaka for pointing out
this bug and Mitsuo Sakamoto for generously providing an updated version of the gold code generation code.
• v.1.6r917, 2011-01-19
– Fixed error in LTE_sim_results_plots when there is no frequency offset estimation.
– Fixed signaling bug for TB sizes smaller than 40 bits. Thanks to Wang Dongming (Southeast University, China) for
pointing out this bug.
– Fixed bug in the new implementation of the rate matching. The LLR repetition was not taken into account, therefore
affecting performance.
• v.1.5r811, 2010-11-05
– Added experimental multi-base station simulation support. Still in very early development stages.
– Reimplementation in M ATLAB of most of the rate-matching procedures. The code is optimized enough so that MEX
functions are now much less needed. This should improve code readability and maintainability.
– Added “Companies (no matter profit-oriented or not) are not allowed for free usage and have to contact the licensor
before usage.” to the license agreement (Section A).
– Fixed bug in the fixed scheduler. The PBCHsyms variable was being used, thus causing the simulation to crash when
the scheduler function was called.
– The CQI used for each Transport Block (TB) transmission in now stored in the results trace (used_CQI variable in
ueSpecificTraces, in turn stored in simulation_results).
– Added trace to track the codeblock BLER. The ACK value is the decimal representation of the codeblock ACK vector
for each codeword.
• v.1.4r715, 2010-07-12
– Fixed bug in the channel coding process. According to [14]: ”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
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 [15]. 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 [6]
(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 [24] and related files needed to reproduce the
figures from the paper.
16
– Added precoding matrix indicator feedback support as described in [25] 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 [14]). 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
Toolbox software, calls to seqgen.pn have been substituted by calls to commsrc.pn. See Section XIII 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 [26]. See Section XIV 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.
XII. 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 reference below:
@ARTICLE{JASP2011,
author = {C.˜Mehlf\"uhrer and J.˜Colom Ikuno and M.˜Simko and S.˜Schwarz and M.˜Wrulich and M.˜Rupp},
title = {The Vienna {LTE} Simulators - Enabling Reproducibility in Wireless Communications Research},
journal = {{EURASIP} Journal on Advances in Signal Processing},
year = {2011},
volume = {Vol. 2011},
pages = {1-13}
}
XV. Q UESTIONS
For questions please check our forum, where you will be able to post your questions/comments/bug reports. It makes it
easer for you to see what other people asked and also makes it easier for us to answer you (when we have time).
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. Academic Usage of the Original work will only be granted after this license
agreement is:
1) printed on letterhead of university department or research institute,
2) signed by the department head, including date and stamp of the department,
3) then scanned and, including the above, and emailed to: Univ.Prof. Markus Rupp (mrupp@nt.tuwien.ac.at).
Companies (no matter profit-oriented or not) are not allowed for free usage and have to contact the licensor before usage.
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.
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 [28]. Under the MIT License.
• Turbo and convolutional encoder/decoder C-code, from the Coded Modulation Library (CML) by Iterative Solutions [27].
Licensed under the GNU lesser General Public License.
19
XIX. ACKNOWLEDGMENT
The authors would like to thank the whole LTE research group for continuous support and lively discussions. This work has
been funded by A1 Telekom Austria AG, the Christian Doppler Laboratory for Wireless Technologies for Sustainable Mobility,
as well as the Institute of Telecommunications Vienna University of Technology. 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] 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.
[7] C. Mehlfuhrer, J. Colom Ikuno, M. Simko, S. Schwarz, M. Wrulich, and M. Rupp, “The vienna lte simulators - enabling reproducibility in
wireless communications research,” EURASIP Journal on Advances in Signal Processing, vol. 2011, no. 1, p. 29, 2011. [Online]. Available:
http://asp.eurasipjournals.com/content/2011/1/29
[8] 3GPP, “Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Channels and Modulation
(Release 10),” December 2010, [Online]. Available: http://www.3gpp.org/ftp/Specs/html-info/36211.htm.
[9] S. Schwarz and M. Rupp, “Throughput maximizing feedback for MIMO OFDM based wireless communication systems,” in Signal Processing Advances
in Wireless Communications SPAWC 2011, San Francisco, CA, June 2011.
[10] G. Dietl, O. Labreche, and W. Utschick, “Channel vector quantization for multiuser MIMO systems aiming at maximum sum rate,” in IEEE Global
Telecommunications Conference 2009, Dec. 2009, pp. 1 –5.
[11] Technical Specification Group Radio Access Network, “Evolved universal terrestrial radio access (E-UTRA); physical layer procedures,” 3rd Generation
Partnership Project (3GPP), Tech. Rep. TS 36.213, Mar. 2009.
[12] Y. R. Zheng and C. Xiao, “Simulation models with correct statistical properties for rayleigh fading channels,” Communications, IEEE Transactions on,
June 2003.
[13] 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.
[14] 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.
[15] ——, “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.
[16] ——, “Evolved universal terrestrial radio access (E-UTRA); user equipment (UE) radio access capabilities,” 3rd Generation Partnership Project (3GPP),
Tech. Rep. TS 36.306, 2009.
[17] 3GPP, “Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Physical layer procedures (Release
10),” December 2010, [Online]. Available: http://www.3gpp.org/ftp/Specs/html-info/36213.htm.
[18] ITU-R, “Guidelines for evaluation of radio transmission technologies for IMT-2000,” ITU-R, Tech. Rep. M.1225, 1997.
[19] 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.
[20] 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
[21] S. Schwarz, C. Mehlführer, and M. Rupp, “Low complexity approximate maximum throughput scheduling for LTE,” in 44th Annual Asilomar Conference
on Signals, Systems, and Computers, Pacific Grove, California, Nov. 2010.
[22] ——, “Throughput maximizing multiuser scheduling with adjustable fairness,” in International Conference on Communications ICC 2011, Kyoto, Japan,
June 2011.
[23] Alcatel-Lucent, “DL E-UTRA performance checkpoint,” 3GPP TSG-RAN1, Tech. Rep. R1-071967, 2007.
[24] 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.
[25] 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.
[26] L. Hentilä, P. Kyösti, M. Käske, 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
[27] I. Solutions, “Iterative Solutions Coded Modulation Library (ISCML).” [Online]. Available: http://www.iterativesolutions.com/
[28] T. Pircher, “pycrc CRC calculator and C source code generator.” [Online]. Available: http://www.tty1.net/pycrc/
20
L IST OF F IGURES
1 Plots resulting from running the LTE_sim_batch_quick_test.m, M ATLAB script. 1.4 MHz, PedA channel,
zero-delay feedback, single user. 2 × 2 (left) and 4 × 2 (right) antenna configuration. . . . . . . . . . . . . . . . 3
2 Plots resulting from running the LTE_sim_batch_quick_test.m M ATLAB script. 1.4 MHz, PedA channel,
zero-delay feedback, single user. 4 × 4 (left) antenna configuration and aggregate plot containing all of the simulated
antenna configurations (right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Plots resulting from running the LTEA_sim_batch_quick_test_SUMIMO.m M ATLAB script . . . . . . . . 4
4 Plots resulting from running the LTEA_sim_batch_quick_test_MUMIMO.m M ATLAB script . . . . . . . . 5
5 Reference BLER and throughput plots for the 15 MCSs defined in [11] . . . . . . . . . . . . . . . . . . . . . . 11
6 Reference BLER and throughput plots for the 27 MCSs defined in [23] . . . . . . . . . . . . . . . . . . . . . . 12
L IST OF TABLES
I Basic settings used for the LTE_sim_batch_quick_test.m M ATLAB script . . . . . . . . . . . . . . . . . 4
II Basic settings used for the LTEA_sim_batch_quick_test_SUMIMO.m and
LTEA_sim_batch_quick_test_MUMIMO.m M ATLAB scripts . . . . . . . . . . . . . . . . . . . . . . . . . 4
III MCSs used in the LTE_sim_batch_R1_07196 (left) and LTE_sim_batch_quick_test (right) M AT-
LAB scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11