ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
1
Simulating LTE Cellular Systems: an Open Source
Framework
Giuseppe Piro, Student Member, IEEE, Luigi Alfredo Grieco, Member, IEEE, Gennaro Boggia, Senior
Member, IEEE, Francesco Capozzi, Student Member, IEEE, and Pietro Camarda
Abstract—LTE represents an emerging and promising technology for providing broadband ubiquitous Internet access. For
this reason, several research groups are trying to optimize
its performance. Unfortunately, at the present, to the best of
our knowledge, no open source simulation platforms, that the
scientific community can use to evaluate the performance of the
entire LTE system, are freely available. The lack of a common
reference simulator does not help the work of researchers
and poses limitations on the comparison of results claimed
by different research groups. To bridge this gap, herein, the
open source framework LTE-Sim is presented to provide a
complete performance verification of LTE networks. LTE-Sim
has been conceived to simulate uplink and downlink scheduling strategies in multi-cell/multi-users environments taking into
account user mobility, radio resource optimization, frequency
reuse techniques, AMC module, and other aspects very relevant
for industrial and scientific communities. The effectiveness of the
proposed simulator has been tested and verified considering (i)
the software scalability test which analyzes both memory and
simulation time requirements; (ii) the performance evaluation of
a realistic LTE network providing a comparison among wellknown scheduling strategies.
Index Terms—LTE, Simulation, Performance Evaluation, Modeling.
I. L IST OF ACRONYMS
AMC
CQI
eNB
EPS
E-UTRAN
EXP
LTE
MCS
M-LWDF
MME/GW
OFDMA
OFDM
PDBC
PDCCH
PDCP
PF
RB
RLC
RRC
SC-FDMA
SINR
TTI
UE
Adaptive Modulation and Coding
Channel Quality Indicator
evolved NodeB
Evolved Packet System
Evolved UTRAN
Exponential PF
Long Term Evolution
Modulation and Coding Scheme
Modified Largest Weighted Delay First
Mobility Management Entity/Gateway
OFDM Access
Orthogonal Freq. Division Multiplexing
Physical Broadcast Channel
Physical Downlink Control Channel
Packet Data Control Protocol
Proportional Fair
Resource Block
Radio Link Control
Radio Resource Control
Single Carrier Freq. Div. Multiple Access
Signal to Interference and Noise Ratio
Transmission Time Interval
User Equipment
Copyright (c) 2010 IEEE. Personal use of this material is permitted.
However, permission to use this material for any other purposes must be
obtained from the IEEE by sending a request to pubs-permissions@ieee.org.
Authors are with the ”‘DEE - Dip. di Elettrotecnica ed Elettronica”’, Politecnico di Bari, v. Orabona, 4 - 70125, Bari, Italy. e-mail:
{g.piro,a.grieco,g.boggia,f.capozzi,camarda}@poliba.it.
II. I NTRODUCTION
T
O face the ever growing demand for packet-based mobile
broadband systems, the 3GPP [1] has introduced LTE
(Long Term Evolution) specifications [2] as the next step of the
current 3.5G cellular networks. An enhanced access network
(i.e., the E-UTRAN, Evolved-UMTS Terrestrial Radio Access
Network) and an evolved core network have been defined [3].
At the present, more than 20 cellular operators worldwide,
representing together more than 1.8 billion of the total 3.5
billion mobile subscribers in the world, have already stated a
commitment to LTE and more than 32 million LTE subscribers
are foreseen by 2013 [4].
Starting from this premise, it is clear that the optimization
of all LTE aspects is a topic worth of investigation for both
industry and academia communities. It is important to remark
that, at the present time, a complete system level simulator
is not available for these communities. In fact, the most
important vendors of mobile communication equipments have
implemented their own simulators. Moreover, other simulators
[5]-[8], developed in academia-industrial cooperations, can
be purchased using a commercial license, and their source
codes are not publicly available. In [9], a Matlab-based LTE
simulator has been proposed, implementing a standard compliant LTE downlink physical layer with Adaptive Modulation
and Coding (AMC), multiple users, MIMO transmission and
scheduler. Unfortunately, albeit it is open source and freely
available, it does not consider relevant aspects of LTE simulation, such as realistic applications, a complete LTE protocol
stack, and multi-cell environments with uplink flows. In [10],
a system level simulator for LTE networks has been proposed
as a supplement of the previous one, in order to support cell
planning, scheduling, and interference. However, it does not
support a complete LTE protocol stack, uplink flows, and
bearer management.
Since no open source simulation platforms are freely available for the community, the design of innovative optimization
strategies is today seriously impaired. Moreover, the lack of
a common reference simulator poses serious problems in the
comparison of results presented by different research groups.
To bridge this gap, herein, we present an open source
framework to simulate LTE networks, namely LTE-Sim, able to
provide a complete performance verification of LTE systems.
LTE-Sim encompasses several aspects of LTE networks,
including both the Evolved Universal Terrestrial Radio Access
(E-UTRAN) and the Evolved Packet System (EPS). In particular, it supports single and multi-cell environments, QoS man-
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
agement, multi-users environment, user mobility, handover
procedures, and frequency reuse techniques. Three kinds of
network nodes are modeled: user equipment (UE), evolved
Node B (eNB), and Mobility Management Entity/Gateway
(MME/GW). Several traffic generators at the application layer
have been implemented and the management of data radio
bearer is supported. Finally, well-known scheduling strategies
(such as Proportional Fair, Modified Largest Weighted Delay
First, and Exponential Proportional Fair [11]), AMC scheme,
Channel Quality Indicator (CQI) feedback, frequency reuse
techniques, and models for physical layer have been developed.
It is important to note that features covered by LTE-Sim
will allow both researchers and practitioners to test enhanced
techniques for improving 4G cellular networks, such as new
physical functionalities, innovative network protocols and architectures, high performance scheduling strategies and so
on. LTE-Sim is freely available under the GPLv3 license
[12]. We believe that the high modularity of LTE-Sim will
allow a convergence of efforts towards improved versions of
the software enriched with more and more features. Such
enhancements could cover: new versions of the standard, innovative resource management techniques, advanced handover
procedures, protocol architectures, and so on.
The rest of the paper is organized as follows: Section III
describes the software design, highlighting the most important
simulator components. Sections IV and V describe the flows
and the radio resource management, respectively. Section VI
provides a performance evaluation of the proposed simulator.
Finally, Section VII draws the conclusion.
III. S OFTWARE D ESIGN
In order to ensure modularity, polymorphism, flexibility, and
high performance, LTE-Sim has been written in C++, using
the object-oriented paradigm, as an event-driven simulator.
At the present, the software is composed by 90 classes,
220 files, and approximately 23,000 lines of code. Fig. 1
shows the UML (Unified Modeling Language) diagram of the
most important classes implemented, highlighting their most
important methods and variables.
There are four main components:
• the Simulator,
• the NetworkManager,
• the FlowsManager,
• the FrameManager.
For each of them, a dedicated class has been developed.
When a simulation starts, only one object for each of the
aforementioned components is created. Furthermore, to ensure
that each of these classes will have only one instance during
the simulation (with a global point of access) a singleton
design pattern has been used [13].
Most important functionalities of main components of the
LTE-Sim are reported in Tab. I.
For simplicity, from this moment on, we will use the
notation Class::Function() to indicate a Function () defined
into the Class.
A simulation scenario is composed by several objects,
modeling the main elements of an LTE system. Each of them
2
can issue, if needed, a new event using a Simulator::Schedule()
method, to enable a realistic interaction among nodes.
The Calendar sorts events in a chronological order, according to their timestamps. Events scheduling is handled
by the Simulator class. In details, at the beginning of each
simulation, the Calendar is populated by only three events: (i)
the start of the simulation, using the Simulator::Run() method;
(ii) the start of the FrameManager, using the FrameManager::StartFrame() method; (iii) the end of the simulation,
using the Simulator::Stop() method. Then, the calendar will
be populated by other events generated by LTE system elements which constitute the simulated scenario, e.g., Application::CreatePacket(), NetworkNode::SendPacketBurst(), ENodeB::ResourceAllocation().
Three kinds of LTE network nodes have been implemented:
UE, eNB, and MME/GW. They are created, destroyed, and
handled by the NetworkManager. Each LTE network node can
be a source or a destination of data flows, defined by the
classical five-tuple: source and destination IP addresses, sender
and receiver ports, and the transport protocol type.
LTE-Sim provides a support for radio resource allocation
in a time-frequency domain. According to [14], in the time
domain, radio resources are distributed every Transmission
Time Interval (TTI), each one lasting 1 ms. Furthermore each
TTI is composed by two time slot of 0.5 ms, corresponding
to 14 OFDM symbols in the default configuration with short
cyclic prefix; 10 consecutive TTIs form the LTE Frame.
In the frequency domain, instead, the whole bandwidth
is divided into 180 kHz sub-channels, corresponding to 12
consecutive and equally spaced sub-carriers. As the subchannel dimension is fixed, for different system bandwidth
configurations the number of sub-channels varies accordingly.
A time/frequency radio resource spanning over one 0.5 ms
time slot in the time domain and over one sub-channel in
the frequency domain is called Resource Block (RB) and
corresponds to the smallest radio resource that can be assigned
to a UE for data transmission.
The actual implementation of the LTE frame structure is
guaranteed by the FrameManager component. It is in charge
of the correct scheduling of frames and sub-frames (i.e., TTIs)
and of the synchronization of all the eNBs.
Physical (PHY) layer aspects are managed for both UEs and
eNBs. In particular, a PHY object storing physical parameters
and radio channel model (as proposed in [15]) is connected
to each device. Here information such as the channel quality
and the perceived interference level are saved. Further physical
information (e.g., frequency carrier, available bandwidth, list
of available RBs for both downlink and uplink, frequency
reuse parameters, and so on) are stored in a bandwidth
manager object.
Finally, four different traffic generators running at the application layer (trace-based, on-off, constant bit rate, and infinite
buffer) have been developed.
With LTE-Sim, a LTE scenario can be created as a static
function in a C++ header file. A reference to this function
should be added into the main program (see Sec. VI-A for
details about how to create a scenario).
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
3
NETWORK MANAGER
FLOWS MANAGER
FRAME MANAGER
SIMULATOR
APPLICATION
- m_userEquipmentContainer
- m_eNodeBContainer
- m_gatewayContainer
- m_cellContainer
+ CreateApplication ()
+ Start ()
+ Stop ()
+ CreatePacket ()
1
- m_queue
BEARER
- m_classifierParameters
- m_state
- direction
- QoSParameters
- m_MACQueue
+ Enqueue ()
+ Dequeue ()
1
+ Enqueue ()
+ Dequeue ()
1
1
1
1
CALENDAR
+ Dequeue ()
CELL
EVENT
NETWORK NODE
- m_timeStamp
- m_eventID
- m_obj
- m_method
- m_parameters
- m_events
- m_cellID
- m_radius
- m_position
CLASSIFIER PARAMETERS
INFINITE BUFFER
- m_elementID
- m_mobility
- m_cell
- m_classifier
- m_nodeState
- m_protocolStack
1
- m_source
- m_destination
- m_sourcePort
- m_destinationPort
- m_protocolType
- m_estateON
- m_stateDuration
- m_packetSize
- m_interval
1
N
N
1
VOIP
+ Schedule ()
+ MakeEvent ()
+ Run ()
+ Stop ()
+ RunOneEvent ()
1
1
RLC ENTITY
1
- m_currentEventID
- m_cuttentTime
- m_stopTime
- m_calendar
+ StartFrame ()
+ StartSubFrame ()
+ StopFrame ()
+ StopSubFrame ()
+ RunResourceAllocation ()
+ CreateUserEquipment ()
+ CreateENodeB ()
+ CreateGateway ()
+ CreateCell ()
+ UpdateUserPosition ()
+ HandOver Procedure ()
+ RunFrequencyReuse ()
MAC QUEUE
1
- m_TTICounter
- m_frameType
+ GetEventList ()
+ InsertEvent ()
+ GetEvent ()
+ RemoveEvent ()
+ RunEvent ()
1
+ EnqueuePacket ()
+ StartTransmission ()
+ SendPacketBurst ()
+ReceivePacketBurst ()
1
1
1
PROTOCOL STACK
QOS PARAMETERS
+ m_rrcEntity
+ m_pdcpEntity
+ m_macEntity
- m_cqi
- m_arpPreEmptionCapability
- m_arpPreEmptionVulnerability
- m_guaranteedBitRate
- m_manximumBitRate
- m_targetDelay
+ CreatePacket ()
+ Send ()
USER EQUIPMENT
ENODEB
1 1 1
- m_phy
- m_registeredUE
TRACE BASED
- m_traceFile
- m_packetSize
- m_interval
1
RRC ENTITY
PDCP ENTITY
- m_amcModule
1
MOBILITY MODEL
+ UpdatePosition ()
- m_speed
- m_speedDirection
1
1
MAC ENTITY
- m_radioBearers
+ CreatePacket ()
+ Send ()
+ GetUERecords ()
+ UpdateUERecords ()
+ DownlinkScheduler ()
+ UplinkScheduler ()
1
1
GATEWAY
- m_phy
- m_eNodeB
- CQIManager
+ UpdatePostion ()
1
1
1
RANDOM DIRECTION
AMC
PACKET
CBR
+ UpdatePostion ()
UE MAC ENTITY
- m_CQI_Table
- m_MCS_Table
- m_TBSize_Table
- m_packetID
- m_timeStamp
- m_headers
- m_rate
- m_packetSize
+ CreatePacket ()
+ Send ()
- m_uplinkScheduler
- m_downlinkScheduler
UDP HEADER
1
SCHEDULER
1
- m_sourcePort
- m_destinationPort
- m_flowsToSchedule
1
+ DoSchedule ()
1
IP HEADER
N
PDCP HEADER
PF-DL-SCHED
+ DoSchedule ()
M-LWDF-DL-SCHED
MAC HEADER
1
- m_MACsource
- m_MACdestination
- m_uplinkBandwidth
- m_downlinkBandwidth
- m_dlSubChannels
- m_ulSubChannels
+ StartTx ()
+ StartRx ()
Fig. 1.
The LTE-Sim: class diagram.
+ CreateCqiFeedbaks ()
1
CHANNEL REALIZATION
PROPAGATION MODEL
- m_ChannelRealization
1
N
- m_sourceDevice
- m_destinationDevice
- m_pathLoss
-m_shadowing
- m_multipath
- m_penetrationLoss
MACRO CELL URBAN SCENARIO
MACRO CELL RURAL SCENARIO
EXP-DL-SCHED
+ DoSchedule ()
+ CreateCqiFeedbaks ()
WIDE BAND CQI MANAGER
- m_attachedDevice
+ AddLoss ()
+ DoSchedule ()
FULL BAND CQI MANAGER
BANDWIDTH MANAGER
1
RLC HEADER
+ CreateCqiFeedbaks ()
1
FLOW TO SCHEDULE
- m_flow
- m_cqi
- allocatedData
- m_dataToTransmit
- m_reportingMode;
- m_reportingInterval
+ StartTx ()
+StartRx ()
CHANNEL
- m_sourceID
- m_destinationID
1
CQI MANAGER
- m_bandwidthManager
-m_powerTransmission
-m_noiseFigure
-m_ber
- m_channel ()
1
+ GetLength ()
1
PHY
1
- m_headerType
- m_lenght
+ UpdatePostion ()
1
N
HEADER
RANDOM WALK
+ GetCQIFromSINR ()
+ GetMCSFromCQI ()
+ GetTBSizeFromMCS()
ENB MAC ENTITY
+ AddHeader ()
+ RemoveHeader ()
+ GetSize ()
MICRO CELL SCENARIO
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
4
TABLE I
M AIN COMPONENTS OF THE LTE-S IM
Component
Simulator
FrameManager
FlowsManager
NetworkManager
Functionalities
- Creates/Handles/Ends
an event
- Defines LTE frame
structure
- Schedules frames
and sub-frames
- Handles applications
- Creates devices
- Handles UE position
- Manages the hand over
- Implements frequency
reuse techniques
Important Methods
Schedule()
RunOneEvent()
Run() / Stop()
StartFrame() and
StopFrame()
StartSubFrame() and
StopSubFrame()
CreateApplication()
CreateUserEquipment()
CreateCell()
UpdateUserPosition()
HandOverProcedure()
RunFrequecyReuse()
A. Basic Network Topology
Both single-cell and multi-cell simulations can be run (see
Figs. 2-3).
Fig. 2.
Single-cell/multi-user simulation environment.
Fig. 3.
Multi-cell/multi-users simulation environment.
The network topology is composed by a set of cells and
network nodes (including eNBs, one or more MME/GW, and
UEs), distributed among cells. All the methods for the creation
and the management of the network topology are provided by
the NetworkManager component (see Fig. 1 for details).
A LTE cell, implemented by the Cell class, is identified by
a unique identifier (ID). Its attributes are the radius and the
position defined in a Cartesian system.
For each kind of LTE network node, a dedicated class
has been developed, extending the basic NetworkNode class
(i.e., ENodeB, UserEquipment, and MME-GW classes). Each
network node is identified by an unique ID and its position in
a Cartesian system is also defined.
Method description
Creates a new event and insert it into the calendar.
Executes an event.
Starts / ends the simulation.
Handles the start and the end
of the LTE frame.
Handles the start and the end
of the LTE sub-frame.
Creates an application
Creates an UE device
Creates a LTE Cell
Updates the UE position
Handles the hand over procedure
Implements frequency reuse techniques
Support for several functionalities of both user and control
plane protocol stacks is provided by the ProtocolStack class,
developed as a container of RRC (Radio Resource Control),
PDCP (Packet Data Control Protocol), and MAC entities.
The eNB performs radio resource management for the
evolved radio access. Both downlink and uplink scheduling strategies are defined into its MAC entity. In particular, downlink and uplink schedulers are defined into the
m downlikScheduler and m uplinkScheduler variables,
respectively. In Sec. V, scheduling strategies that LTE-Sim
provides are described.
As previously mentioned, for eNB and UE devices, an
instance of a PHY object, namely m phy, has been defined.
PHY objects, moreover, are attached to a LTE channel, modeled by the Channel class. This class manages the transmission
through the physical channel of the actual packet among the
attached physical entities, implementing also a propagation
loss model. The PHY object has been developed: for providing
an interface between the LTE device and the channel; for
storing and managing information about the radio channel
(such as bandwidth, list of available sub-channels for both
downlink and uplink); and for offering an access to the radio
channel to simulate the packet transmission and reception.
Further details about the implemented channel and physical
models are provided in Sec. V.
CQI reporting is another important feature performed by the
UE . In particular, LTE-Sim supports also the CQI reporting
feature [16], i.e., the UE estimates channel quality and converts
it in a set of CQI feedbacks reported to the eNB. Our simulator
supports both periodical and aperiodical CQI reporting and
both full band and wide band reporting modes. During the
simulation, each eNB maintains the list of UEs associated to it,
storing, for each of them, the ID and the latest CQI feedbacks.
Furthermore, eNBs and UEs are aware of the LTE cell they
belong to. In fact, each UE keeps up to date the ID of the cell
it belongs to and the ID of the eNB it is registered to.
B. Users Mobility
In order to support user mobility, a system level intercell handover procedure has been implemented. Two types
of mobility models are supported: Random Direction and
Random Walk [17]. For each of them, a dedicated class has
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
been developed, extending the basic MobilityModel class, i.e.,
RandomDirection and RandomWalk classes. In MobilityModel
class, m speed and m speedDirection variables are used to
define the speed and the travel direction of the user, respectively. For each UE, an m mobility element has been created
to manage mobility. According to [15], user speed should be
chosen among the values 0, 3, 30, and 120 km/h, equivalent
to static, pedestrian, and vehicular scenarios, respectively.
When the Random Direction model is used, the UE randomly chooses the speed direction, that remains constant
during the time, and moves towards the simulation boundary
area. Once the simulation boundary area is reached, the UE
chooses a new speed direction.
When the Random Walk is used, the UE randomly chooses
the speed direction and moves accordingly for a given travel
distance that depends on the user speed. The UE changes
its speed direction after covering this distance or, as in the
previous model, once the simulation boundary area is reached.
As default, the travel distance is equal to 200, 400, 1000 m
when user speed is equal to 3, 30, and 120 km/h, respectively.
Figures 4-5 show an example of traveling pattern in a
network topology composed by 19 cells with radius equal to 1
km, using both Random Direction and Random Walk mobility
models. It is important to note that more sophisticated mobility
models can be easily defined by extending the MobilityModel
class.
5
mobility model and parameters, and verifies, through the
NetworkManager::HandOverProcedure() function, if the handover procedure is necessary. In LTE-Sim both cell re-selection
and hard handover procedures are implemented. Moreover,
handover decisions are carried out by the HandOverManager,
defined for each UE. Hard handover management consists of
the following steps:
1) for the UE that triggered the handover procedure,
the function HandOverManager::SelectTargetENodeB()
is used for selecting a new target eNB. Among all
eNBs, the one closest to the moving UE is chosen.
However, more sophisticated policies can be defined for
selecting a new eNB by extending the NetworkManager
HandOverManager and classes.
2) All the information about the UE are transferred from
the old eNB to the new one.
3) Between the UE and the new target eNB, a new radio
bearer is created.
4) The UE updates the list of available sub-channels for
downlink and uplink, according to those assigned to the
new target eNB.
During the handover, the UE switches to a detached state
for a given time interval, so that no flows directed to and
coming from the UE can be scheduled; such a time interval
is a simulator parameter and can be modified (default value is
30 ms).
IV. F LOW M ANAGEMENT AND LTE
Fig. 4. Traveling pattern of UEs with the Random Direction mobility model.
PROTOCOL STACKS
In LTE specifications, the EPS bearer has been introduced
to provide QoS differentiation. It maps a flow into a logical
channel established between the UE and the GW. Moreover,
a radio bearer is associated to each EPS bearer as a logical
channel between UE and eNB [18].
Both EPS and radio bearers can be classified as default or
dedicated. The former is created when the UE is associated to
the network and remains established during the whole lifetime
of the connection, providing basic connectivity and exchange
of control messages. The latter, instead, is established to support a new specific service, e.g., call, video call, web browsing.
Orthogonally, bearers can be also classified as guaranteed bit
rate (GBR) or non-guaranteed bit rate (non-GBR), according
to the QoS requirements of the flow they map. In particular,
the default bearer is a non-GBR; a dedicated bearer can be
GBR or non-GBR [19]. In the current version of the software,
only dedicated radio bearers have been developed.
A. QoS and Radio Bearer
Fig. 5.
Traveling pattern of UEs with the Random Walk mobility model.
The user mobility is managed by the NetworkManager that,
every TTI updates the user position according to the selected
The Bearer class models the dedicated radio bearer. When
a downlink (uplink) flow starts, it activates a dedicated radio
bearer between eNB and UE (UE and eNB) and vice versa.
Moreover, for each UE and eNB, it is possible to activate more
than one bearer.
QoSParameters object provides, for each Bearer, the definition of flow QoS requirements [20], such as the QoS Class
Identifier, the allocation and retention priority (composed by
the pre-emption flow capability and the pre-emption flow
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
C. The Protocol Stack
LTE-Sim implements several functionalities of both userplane and control-plane LTE protocol stacks [23]. To this aim,
Application Source
Transport Protocol
Application Sink
IP
Transport Protocol
RLC
IP
bearer n
PDCP
bearer 3
IP CLASSIFIER
bearer 2
Packets transported by a dedicated radio bearer are generated at the application layer by four different traffic generators:
trace-based, VoIP, CBR, and infinite-buffer. The trace-based
application sends packets based on realistic video trace files,
which are available on [21].
The VoIP application generates G.729 voice flows. In particular, the voice flow has been modeled with an ON/OFF
Markov chain, where the ON period is exponentially distributed with mean value 3 s, and the OFF period has a
truncated exponential pdf with an upper limit of 6.9 s and an
average value of 3 s [22]. During the ON period, the source
sends 20 bytes sized packets every 20 ms (i.e., the source data
rate is 8 kbps), while during the OFF period the rate is zero
because the presence of a Voice Activity Detector is assumed.
It is important to note that these parameters can be modified
defining their values into the constructor of the VoIP class or
using the methods we provided to set them.
The CBR application generates packets with a constant bit
rate. In particular, packet size and inter-arrival packet time can
be defined for this kind of traffic.
Finally, the Infinite-Buffer application models an ideal
greedy source that always has packets to send.
For each of these applications, a dedicated class has been
developed, namely InfiniteBuffer, VoIP, CBR, and TraceBased.
It is important to note that these classes are extended from
the Application class that provides methods and parameters
common to all of them, such as starting/stopping time instants.
Each application uses the Application :: Send() method
to generate a packet. Then, the application delivers it to
the network device, calling the function N etworkN ode ::
EnqueueP acket(). When a network device receives a packet
from the application, it forwards the packet through the user
plane protocol stack (see next Section for details) in order to
add protocol headers. Then, the packet is enqueued at MAC
layer and associated to a particular bearer, using the Classifier
functionalities. Now, the packet can be sent on the channel
and received from another network device, according to the
scheduling decisions. When a network device receives packets
from the channel, it forwards them to the upper layer through
the same user plane protocol stack; then, it delivers them to
the proper application sink.
bearer 1
B. The Application Layer
the ProtocolStack class has been created as a container of
RRC, PDCP, and MAC entities. An instance of this class,
namely m protocolStack, has been defined for each device.
Furthermore, as proposed in [24], a RLC entity has been
created for each dedicated radio bearer.
The RRC Entity manages downlink and uplink dedicated
radio bearers for a given device. It interacts with the classifier
in order to classify a packet into a proper radio bearer.
The PDCP Entity provides the header compression of packets coming from the upper layer that will be enqueued into a
proper MAC queue.
The RLC Entity models the unacknowledged data transmission at the RLC layer. We have chosen to implement
the unacknowledged mode for the RLC because it represents
the most used data transmission mode, especially by delaysensitive and error-tolerant application (such as VoIP and
Video streaming). The most important functionalities we have
defined for the RLC layer are the segmentation and the
concatenation of service data units.
The MAC Entity provides, for both UE and eNB devices,
an interface between the device and the PHY layer designed to
delivery packets coming from the upper layer to the PHY one
and vice versa. Moreover, into this class the AMC module is
also defined. EnbMACEntity class adds further functionalities,
such as uplink and downlink packet schedulers, to the eNB. An
example of the interaction among the entities included in the
implemented protocol stack is illustrated in Fig. 6: it shows the
packet path starting from the application layer and following
the user plane protocol stack.
user-plane protocol stack
vulnerability), the Guaranteed Bit Rate, and the Maximum Bit
Rate.
An IP-based packet classifier is used to map packets coming
from the IP layer to a given radio bearer, according to
the parameters stored in the ClassifierParameters class. The
packet classification is done using a packet filter based on
the classical five-tuple: source and destination IPs, sender and
receiver ports, and protocol type. This functionality has been
implemented in the Classifier class, defined for all the network
elements.
6
MAC
PDCP
RLC
MAC
PHY
PHY
Channel
Fig. 6.
Implemented protocol stack.
The LTE packet is modeled by the Packet class.
Three important variables are defined for the packet object: m timeStamp, m size, and m packetHeaders. The
m timeStamp variable represents the instant the packet is
generated at the application layer. This value is used to
compute one-way packet delay (it could also be used for
statistical purpose and by scheduling strategies). The m size
and m packetHeaders variables represent the packet size and
the list of protocol headers that have been added to the packet,
respectively. When the packet is created, m size is equal to
the amount of data generated by the application layer. As soon
as a new header protocol is added to the packet, m size is
updated according to its size.
In the current release of LTE-Sim, only the UDP protocol
has been developed at the transport layer. However, it is
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
possible to implement other transport protocol (i.e., TCP),
extending the TransportLayer class.
During the simulation, the application layer creates packets
which are passed to the UDP and the IP protocols. As we have
explained in Sec. IV-A, an IP-based packet classifier is used
to map IP datagrams to radio bearers.
Each bearer maintains its own FIFO (First In First Out)
transmission queue, using the MACQueue class. When an
IP packet is enqueued, a PDCP header is added. Since the
PDCP protocol provides an header compression functionality
using the robust header compression (ROHC) protocol [25],
the packet size is updated in order to compress RTP/UDP/IP
headers to 3 bytes [26].
Finally, when the packet is dequeued, CRC trailer and RLC
and MAC headers are added.
V. C HANNEL STRUCTURE AND R ESOURCE M ANAGEMENT
The LTE radio access is based on Orthogonal Frequency
Division Multiplexing (OFDM) and provides a highly flexible
bandwidth (from 1.4 to 20 Mhz). Both frequency division
duplex (FDD) and time-division duplex (TDD) multiple access
techniques are supported [14].
Radio resources are distributed among users in a timefrequency domain. The eNB schedules radio resources among
uplink/downlink flows at the beginning of each sub-frame.
LTE-Sim supports all six channel bandwidths (i.e., 1.4, 3,
5, 10, 15, and 20 MHz) available for the LTE system [27]
and the cellular frequency reuse. Finally, TDD and FDD are
handled by the FrameManager.
A. Bandwidth Manager
7
[1929-1980] MHz for the UL and [2110-2170] MHz for the
DL, in FDD mode) [27].
The NetworkManager::RunFrequencyReuse() function receives the following parameters as input: (i) the number of
cells, (ii) the cluster size, and (iii) the downlink (uplink)
bandwidth. It distributes the whole available bandwidth among
clusters in order that all cells belonging to the same cluster
have not overlapping channels. After applying the frequency
reuse technique, it returns a list of BandwidthManager objects
that should be be assigned to devices belonging to each cell.
Fig. 7 shows examples of the result of the implemented
frequency reuse technique.
It is important to note that even if currently the list of
sub-channels assigned to a cell remains constant during the
simulation, it is possible to implement more sophisticated
frequency reuse algorithms, extending the NetworkManager
class.
When the handover procedure occurs, the UE updates
the list of available sub-channels for downlink and uplink,
according to those assigned to the new target eNB.
C. Frame Structure
LTE-Sim supports two frame structure types proposed in
[14] for the E-UTRAN. The first one is defined for FDD mode
and it is called frame structure type 1. The second one is
called frame structure type 2 and is defined for TDD mode.
For the frame structure type 1, the bandwidth is divided into
two parts, allowing downlink and uplink data transmissions,
simultaneously in the time. For the frame structure type 2, the
LTE Frame is divided into two consecutive half-frames, each
one lasting 5 ms (see Fig. 8).
All devices should know the operative bandwidth and
available sub-channels for both uplink and downlink. Thus,
a dedicated class, i.e., the BandwidthManager, has been
developed to store these informations. An instance of the
BandwidthManager class is defined for each PHY object and
instances of devices belonging to the same cell store the same
information.
Fig. 8.
Frame type 2 for TDD mode
B. Frequency reuse
A fundamental implemented feature is the frequency reuse
concept [28]. As well known, the frequency reuse increases
both coverage and capacity of the cellular network and reduces
the inter-cell interference. The idea is that each cell does not
use all the available sub-channels but only a subset, in a way
that adjacent cells utilize different subsets of sub-channels. A
group of cells, using together the complete set of available subchannel, forms a cluster that is regularly replicated in order
to cover the whole service area.
The NetworkManager::RunFrequencyReuse() function has
been developed to apply frequency reuse techniques and
distribute the available bandwidth among cells. As described
in [29], the number of cells that form the cluster depends from
the E-UTRAN operative band and from the downlink (uplink)
bandwidth.
At the present, LTE-Sim supports all possible cluster configurations available for the first E-UTRAN operative band (i.e.,
Moreover, a special sub-frame in each half-frame is reserved
for other purposes and is not used for data transmission. In
a real LTE network, this sub-frame is used to send downlink
and uplink pilot symbols, separated by a Guard Period.
According to [14], Tab. II reports seven implemented
uplink-downlink configurations of type 2 (TDD) frame. We
note that sub-frames 0 and 5 are always reserved for downlink
transmission.
The frame structure and the TDD frame configuration have
been defined in the FrameManager. During the simulation,
the FrameManager schedules LTE frame and sub-frames and
decides, according to the frame structure, if a sub-frame will
be used for the uplink, for the downlink, or for both of them.
D. Radio Resource Scheduling
The most important objective of LTE scheduling is to satisfy
Quality of Service (QoS) requirements of all users by trying
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
8
(a)
Fig. 7.
(b)
(c)
Implemented frequency reuse techniques with cluster of (a) 1, (b) 3, and (c) 4 cells.
TABLE II
F RAME TYPE 2 CONFIGURATIONS
configuration
number
0
1
2
3
4
5
6
D = downlink
sub-frame number
1st half frame
2nd half frame
0
1
D
S
D
S
D
S
D
S
D
S
D
S
D
S
sub-frame;
2
3
U
U
U
U
U
D
U
U
U
U
U
D
U
U
U = uplink
4
5
6
7
U
D
S
U
D
D
S
U
D
D
S
U
U
D
D
D
D
D
D
D
D
D
D
D
U
D
S
U
sub-frame; S = Special
8
9
U
U
U
D
D
D
D
D
D
D
D
D
U
D
Sub-frame.
to reach, at the same time, an optimal trade-off between
utilization and fairness [23]. This goal is very challenging,
especially in the presence of real time multimedia applications,
which are characterized by strict constraints on packet delay
and jitter.
In the LTE system, the concept of channel-sensitive scheduling has been introduced. It exploits the independent nature
of fast fading across users. When there are many users that
measure a different channel quality, it is highly likely to find
a user with good, or relatively good, channel condition at a
given time. Based on this idea, Maximum Throughput (MT)
and Proportional Fair (PF) have become the most important
well-known scheduling strategies for LTE networks [23].
Scheduling decisions are strictly related to the channel
quality experienced by each UE, which periodically measures
such a quality using reference symbols. Then, CQI feedback
are sent to the eNB, using the uplink control messages [23].
This information is used by the scheduler to properly distribute
RBs among users. Moreover, CQI feedbacks are also exploited
by the link adaptation module to select, for each UE, the most
suitable modulation scheme and coding rate at the physical
level, trying to maximize the spectral efficiency. This approach
is known as Adaptive Modulation and Coding (AMC) and it
has been adopted by several wireless technologies, such as
EDGE [30] and WiMAX [31]. Further details on AMC will
be provided below.
To provide an important support to research activities on
scheduling, we have implemented virtual uplink and downlink
scheduler classes (called ULScheduler and DLScheduler, re-
spectively) that offer a basic implementation of some methods
common to all scheduling strategies. Moreover, to demonstrate
the flexibility of the LTE-Sim, we have implemented PF, Modified Largest Weighted Delay First (M-LWDF), and Exponential Proportional Fair (EXP) downlink schedulers [11] in PFDLScheduler, M-LWDF-DLScheduler, and EXP-DLScheduler
classes, respectively.
It is important to remark that it is very simple to add a
generic scheduling algorithm, by: (i) creating a new scheduling
class or extending an existing one; (ii) inheriting methods from
the virtual class; (iii) defining methods for the implementation
of scheduling functions.
Both downlink and uplink scheduler objects are defined in
the ENodeB class. Each scheduler runs the uplink/downlink
scheduling algorithm using the DoSchedule() method, defined into the proper scheduler class. In details, at the beginning of each sub-frame, the FrameManager handles the
uplink/downlink resource allocation algorithm for all eNBs.
In the next subsection we will overview the implementation
of all downlink schedulers provided within the current release
of LTE-Sim.
E. Downlink Schedulers
At the beginning of each sub-frame, the scheduler selects
all flows that can be scheduled. We remark that a flow can be
scheduled if and only if it has data packets to transmit at the
MAC layer and the receiver UE is not in the idle state.
Every TTI, the scheduler computes a given metric for
each flow which can be scheduled. We will refer to wi,j
as the metric assigned to the i-th flows for the j-th subchannel. Scheduling algorithms differ in the way the metric
is calculated.
Scheduler works by assigning each j-th sub-channel to the
flow with the highest wi,j . Thus, the scheduling procedure can
be summarized as follows:
1) The eNB creates a list of downlink flows having packets
to transmit (i.e., F lowsT oSchedule); that is, the list of
flows which can be scheduled in the current sub-frame.
2) In such a F lowsT oSchedule list, MAC queue length
and CQI feedbacks are stored for each flow.
3) According to the scheduling strategy, the chosen metric
is computed for each flow in the F lowsT oSchedule
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
list.
4) The eNB assigns each sub-channel to the flow that
presents the highest metric. It is important to remark that
the eNB, during the resource allocation procedure, considers the quota of data that each flow has already sent.
Therefore, as soon as a flow sends all enqueued packets,
its record is deleted from the F lowsT oSchedule list.
5) For each scheduled flow, the eNB computes the size
of transport block, i.e., the quota of data that will be
transmitted at the MAC layer during the current TTI. In
detail, the eNB uses the AMC module (defined into the
Phy object) to map the CQI feedback with the proper
modulation and coding scheme (MCS). Then, it can
obtain the Transport Block (TB) size from the selected
MCS, that is the quota of binary data at the physical
layer.
At the end of the scheduling procedure, the eNB calls
the Bearer::Dequeue() function of all scheduled flows that
provides the dequeue of packets at the MAC layer.
To obtain the metric, scheduler algorithms usually need to
know the average transmission data rate, Ri , of the i-th flow,
and the instantaneous available data rate of the receiver UE for
the j-th sub-channel. This knowledge is useful when the metric
has to take into account information about the performance
guaranteed in the past to each flow in order to perform fairness
balancing. In particular, every TTI, the estimation of Ri is
given by
Ri (k) = 0.8Ri (k − 1) + 0.2Ri (k)
(1)
where Ri (k) is the data rate achieved by the i-th flow during
the k-th TTI and Ri (k − 1) is the estimation in the previous
TTI.
In what follows, we will describe how each implemented
downlink scheduler computes the metric.
1) The PF Scheduler: It assigns radio resources taking into
account both the experienced channel quality and the past user
throughput [32]. The goal is to maximize the total network
throughput and to guarantee fairness among flows. For this
scheduler, the metric wi,j is defined as the ratio between the
instantaneous available data rate (i.e., ri,j ) and the average
past data rate. That is, with reference to the i-th flow in the
j-th sub-channel:
ri,j
(2)
wi,j =
Ri
where ri,j is computed by the AMC module considering the
CQI feedback that the UE hosting the i-th flow have sent for
the j-th sub-channel; and Ri is the estimated average data rate.
2) The M-LWDF Scheduler: It supports multiple data users
with different QoS requirements [11]. For each real-time flow,
considering a packet delay threshold τi , the probability δi is
defined as the maximum probability that the delay, DHOL,i , of
the head of line packet (i.e., the first packet to be transmitted
in the queue) exceeds the delay threshold.
To prioritize real time flows with the highest delay for their
head of line packets and the best channel condition, the metric
is defined as:
ri,j
.
(3)
wi,j = αi DHOL,i ·
Ri
9
where ri,j and Ri have the same meaning of symbols in eq.
(2) and αi is given by
log δi
.
(4)
τi
Instead, for non real time flows, the considered metric is
the one of the simple PF.
Note that, in the current implementation of the M-LWDF
allocation scheme, packets belonging to a real-time flow are
erased from the MAC queue if they are not transmitted before
the expiration of their dead-line. This operation is required to
avoid bandwidth wasting. This implementation is not available
for the PF, because it is not designed for real-time services.
3) The EXP Scheduler: It has been designed to increase
the priority of real time flows with respect to non real time
ones, where their head of line packet delay is very close to
the delay threshold [11]. For real time flows, the considered
metric is computed by using the following equations:
(
)
αi DHOL,i − χ ri,j
wi,j = exp
(5)
√
1+ χ
Ri
αi = −
where symbols have the same meaning of the ones in eqs. (2)
and (3) and
Nrt
1 ∑
αi DHOL,i
(6)
χ=
Nrt i=1
with Nrt being the number of active downlink real time flows.
Instead, for non real time flows, the considered metric is
the one of the simple PF. Also with EXP algorithm, packets
belonging to a real-time flow are erased from the MAC queue
if they are not transmitted before the expiration of their deadline.
F. Channel and Physical Layer
The simulation of a complete PHY layer is not suited
for complex network scenarios (including the entire protocol
stack), as it requires an high computational effort [33]. For
example, the simulator proposed in [9], that implements a
complete LTE PHY layer, requires more than 3 hours to
simulate few seconds of a network composed by only 2 nodes.
This effort can be greatly reduced by employing system-level
simulators in which the physical layer is described by an
analytic model.
For this reason, we chose an analytical model approach
in LTE-Sim, which has been successfully used also in other
wireless network simulators already developed for analogous
technologies and freely available for the community (such as
WiMAX in ns-3 [34], Numbat module in Omnet++ [35], and
UMTS model in ns-2 [36]).
Channel and Phy classes model channel and LTE physical
layer, respectively. For all network devices, an instance of the
Phy class, named m phy, has been defined and it is attached to
a given channel in order to accomplish several functionalities:
(i) the estimation of SINR (Signal to Interference and Noise
Ratio); (ii) the selection of a proper MCS before packets
transmission (in particular, such a function is provided by the
AMC module); (iii) the access to the channel, in order to allow
transmission and reception of packets.
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
10
PRX,i,j |dB = (PT X,j − Mi,j − Li − Ti − Si,j )|dB
of these models, a dedicated class, which inherits from the
ChannelRealization class, has been developed.
As default, the large scale shadowing fading has been
modeled trough a log-normal distribution with 0 mean and
8 dB of standard deviation. The penetration loss, instead, is
set to default value of 10 dB [15]. It is possible to modify
these values according to the simulated cell environment.
Tab. III reports path loss models used for each of the
implemented cell scenarios [37][38]. Note that d is the distance
between the eNB and the UE in kilometers.
At the present, the fast fading has been modeled for all the
implemented propagation models with the Jakes model [39]
for the Rayleigh fading, taking into account the user speed,
the sub-carrier frequency (i.e., the central frequency of the
j-th sub-channel), and a number of multiple paths uniformly
chosen in the set [6, 8, 10, 12] [40]. Fig. 9 shows an example
of multipath realizations when users speeds are equal to 0, 3,
30, and 120 km/h.
1.5
1
0.5
Multipath [dB]
1) Channel: It has been developed to handle packet transmission, taking into account the propagation loss model.
To manage separately downlink and uplink, a couple of
channels must be defined for each cell. Moreover, each
PHY object stores into variables m downlinkChannel and
m uplinkChannel a pointer to channels created for a cell
the device belongs to.
The Channel class has a private structure named m devices
which handles all the physical objects connected to it.
When a PHY instance has to send packets on a set of subchannels, it calls the Channel::StartTx method of a proper
channel object (i.e., the downlink channel for the eNB and
the uplink channel for the UE), passing a list of packet to
send and the transmission power. Channel::StartTx handles
packet transmission in two consecutive steps. It first calculates,
for each attached physical device, the propagation losses
according to the propagation loss model (see below for details)
and updates the power of the transmitted signal. Then, it
forwards packets to all physical devices attached to it and
calls the reception procedure (see below for details on such a
procedure).
2) Propagation Loss Model: Class PropagationLossModel
models the channel propagation of the E-UTRAN interface.
This class has been developed to compute the transmitted
signal propagation losses.
To support various cell scenarios (i.e., urban micro-cell,
suburban macro-cell, urban macro-cell and rural macro-cell),
a virtual class ChannelRealization has been developed to provide a basic implementation of both propagation and channel
models; it realizes the channel condition in terms of loss and
interference. As proposed in [15], a realization of the channel
condition should consider four different phenomena: (i) the
path loss, (ii) the penetration loss, (iii) the shadowing, and
(iv) the effect of fast fading due to the signal multipath.
The variable m channelRealizations, defined into the
PropagationLossModel class, stores a ChannelRealization
object for each couple of devices attached to a given
channel. During packet transmissions, knowing the source
device and the destination device, a ChannelRealization
object is selected and associated to them forming the
m channelRealizations variable. Then, the ChannelRealization::ComputePropagationLoss() is called to compute the
loss due the propagation.
To understand how the propagation loss model works, we
can analyze what happens in a downlink transmission.
Let PT X,j and PRX,i,j be the eNB transmission power and
the reception power of the i-th UE for the j-th sub-channel,
respectively. PRX,i,j is given by:
0
-0.5
-1
-2
0
Fig. 9.
0.02
0.04
0.06
0.08
0.1
time [s]
0.12
0.14
0.16
=
=
=
=
0 km/h
3 km/h
30 km/h
120 km/h
0.18
0.2
Fast Fading realization.
It is worth to note that a new channel model can be easily
added to the LTE-Sim, extending the ChannelRealization class.
3) UE Reception Procedure: When the i-th UE receives
packets, it executes the follows steps:
• the physical layer computes for each sub channel the
SINR for the received signal considering the received
power, the noise, and the interference, as it follows:
SIN Ri, j =
(7)
where Mi,j , Li , Ti , and Si,j are the losses due to multipath,
path loss, penetration, and shadowing. Note that all these
variables are expressed in dB.
To simulate cell scenarios with different propagation loss
model, we have implemented three possible channel realizations: (i) a macro-cell channel realization for urban and
suburban areas, (ii) a macro-cell channel realization for the
rural area, and (iii) a micro-cell channel realization. For each
speed
speed
speed
speed
-1.5
•
•
PRX,i,j
.
(F N0 B) + I
(8)
where F , N0 , Bj , and I are the noise figure (default
value 2.5), the noise spectral density (default value -174
dBm), the bandwidth of a resource block (i.e., 180 kHz),
and the interference, respectively.
We remark that the interference is the total power received from the eNBs sharing the same frequency resources. The propagation loss of the interfering power
are calculated by the NetworkManager through the ComputePathLossForInterference () method, that selects the
proper propagation loss model depending on the cell
scenario.
According to the CQI reporting mode, the UE creates
CQI feedbacks to send to the eNB.
The physical layer determines if packets have been received correctly. To this aim, for each sub-channel, used
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
11
TABLE III
I MPLEMENTED PATH LOSS MODELS
Path loss model
L = 128.1 + 37.6 log10 d @ 2GHz.
L = 100.54 + 34.1 log10 d @ 2GHz.
L = 24 + 45 log10 (d + 20).
Cell scenario
Macro Cell - Urban and Suburban Areas
Macro Cell - Rural Area
Micro Cell
•
to transmit that packet, the Block Error Rate (BLER)
is estimated, that is the ratio between the number of
erroneous received blocks (i.e., the transport block with
wrong CRC) and the total number of sent blocks [41].
The BLER is obtained considering both MCS used for
the transmission and SINR that the device has estimated
for the considered sub-channel. In particular, the BLER
value is drawn using stored BLER-SINR curves obtained
through a LTE link level simulator [9]. In LTE-Sim different sets of BLER-SINR curves are stored and the choice
of the proper set depends on several physical parameters.
As an example, the curves for 1.4 MHz bandwidth and a
SISO (Single Input Single Output) transmission scheme
over an AWGN channel are shown in Fig. 10. According
to the proper BLER-SINR curve (depending on the used
MCS), the simulator estimates if the packet has been
correctly received or not. In the latter case, the packet
is considered erroneous and discarded.
If the packet has been correctly received, it is forwarded
to the upper layers.
10
0
-1
10
-2
BLER
10
MCS 1
MCS 2
MCS 3
MCS 4
MCS 5
MCS 6
MCS 7
MCS 8
MCS 9
MCS 10
MCS 11
MCS 12
MCS 13
MCS 14
MCS 15
-3
10
-20
Fig. 10.
-15
-10
-5
0
5
SINR [dB]
10
15
20
25
BLER-SINR curves for 1.4 MHz.
4) Channel Quality Indicator: During the resource allocation process, the eNB can select the most suitable MCS for
each scheduled flow with trying to minimize the packet loss
due to the channel error.
The UE uses the CQIManager to create CQI feedbacks.
When the UE receives packets in the downlink, it estimates
the SINR for each downlink sub channel. Then, according to
the CQI reporting rules, it creates CQI feedbacks to send to
the eNB where it is registered.
The CQI is used by the UE to report to the eNB the
highest data rate that can be achieved over a given sub-channel
while guaranteeing a BLER at least equal to a certain BLER
target (the default value is 10%). In particular, the CQI value
is obtained as a quantized version of the estimated SINR.
The mapping procedure between SINR and CQI is performed
again through the BLER-SINR curves (Fig. 10). Using these
mapping tables, it is possible to select the best MCS (in terms
of data rate) that for the given SINR guarantees a BLER
value smaller than the target BLER. Finally, the reported CQI
corresponds to the index of the selected MCS.
As said before, LTE-Sim supports both periodical and aperiodical CQI reporting with both full band and wide band
reporting modes have been developed. When the periodical
CQI reporting is selected, the variable m reportingInterval,
defined into the CQIManager class, identifies the time interval
every time CQI feedbacks should be created and sent to the
eNB. When the aperiodical CQI reporting is selected, instead,
the UE creates and sends CQI feedbacks only when it receives
a request from the eNB.
5) Adaptive Modulation and Coding Module: The AMC
module, implemented into the AMC class, has been developed
to allow eNB to select, during the resource allocation procedure, the proper modulation and coding scheme for the flow
that has to be scheduled. To maximize the spectral efficiency,
the MCS is chosen considering the latest CQI value sent by the
UE and using the AM C :: GetM CSF romCQI() method. It
is important to note that the selection of the MCS allows us to
obtain the efficiency (expressed as the number of informative
bits per symbols) as described in [16].
6) Determination of Transport Block Size: In LTE systems,
the TB is the quota of binary data at the physical layer,
coming from the MAC layer during transmission (or passed
to the MAC layer during reception) on transport channels
[16]. In other words, TB is the number of bytes that a flow
can transmit in one or more sub-channels at the MAC layer
(including MAC overhead and CRC trailer), during one TTI.
The TB size depends on the MCS chosen by the AMC
module, the number of antenna ports, the duration of the
prefix code used at physical layer, and the number of symbols
used by the control channel. The AMCModule object uses the
table m T BSize T able to evaluate the TB size from the
selected MCS value. To this aim, it takes into account the
configuration proposed in [42]: normal prefix code, 2 antenna
ports, 3 OFDM symbols for PDCCH (Physical Downlink
Control Channel), no sync signals, and the absence of PBCH
Physical Broadcast Channel.
VI. S IMULATION AND P ERFORMANCE E VALUATION
In this section, we describe how a LTE scenario can be
defined and how to manage the output results. Then, a performance evaluation of the LTE-Sim is reported, considering both
the software scalability test and the performance evaluation of
a realistic LTE networks.
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
With LTE-Sim, a LTE scenario can be created as a static
function in a C++ header file, that should be stored into
the Simulation/Scenarios folder. A reference of this function
should be added into the main program. In this way, the user
is able to simulate a proper LTE scenario, selecting it directly
from the main program.
A basic scenario can be created using the following guidelines:
• create an instance for Simulator, NetworkManager,
FlowsManager, and FrameManager components.
• Create Cell, ENodeB, and UE objects using methods of
the NetworkManager class. For each of these objects,
several parameters can be assigned directly with the
constructor of the class.
• Create applications, defining for each of them source and
destination, QoS parameters, IP classifier parameters, the
start time, and the stop time.
• Define the duration of the simulation and, finally, call the
Simulator::Run() function.
To simplify the use of the simulator, both single-cell and
multi-cell LTE topologies are proposed as examples (both
stored into the Simulation/Scenarios folder), where the number
of UEs and the number of flows can be specified by command
line.
B. Tracing results
The current version of the simulator provides a sophisticated
tracing functionality. The trace is displayed directly during the
execution of the simulation. An example of the output trace
is reported in Fig. 11.
DST = Destination ID. It identifies the node that receives
the packet.
T = Time. It represents the instant in which the packet is
created.
D = Delay. It represents the delay of the received packet.
•
•
•
C. The scalability test
To present a scalability test of LTE-Sim, several simulations
have been executed. An LTE network composed by 19 cells
with radius equal to 1 km as been considered, varying the
number of UEs in the range [190-950]. Such users are uniformly distributed among cells. UEs travel with speed equal
to 3 km/h, using the Random Walk mobility model [17].
For each UE, a downlink VoIP flow has been considered. All
flows are active during the whole simulation. Each simulation
lasts 100 s. Simulation has been done using a Linux machine
with a 2.6 GHz CPU and 4 GBytes of RAM.
Figs. 12 and 13 show the memory and the time required to
execute the simulation, respectively.
300
PF
M-LWDF
EXP
250
Memory Usage [MBytes]
A. Building a LTE topology
12
200
150
100
50
0
Fig. 12.
10
20
30
number of UEs/cell
40
50
40
50
Memory required vs. number of UEs.
30
PF
M-LWDF
EXP
Time [minutes]
25
Fig. 11.
Example of Output trace.
With reference to the figure, the first field describes the event
which has triggered the tracing. In particular, rows starting
with TX, RX, and DROP are associated to packets that have
been sent, received, and dropped, respectively. The second
field describes the packet type to which the trace refers to.
Other fields are described in the follows:
• ID = Identifier. It identifies the packet uniquely.
• B = Bearer ID. It identifies the bearer used to map the
packet.
• SRC = Source ID. It identifies the node that sends the
packet.
20
15
10
5
0
Fig. 13.
10
20
30
number of UEs/cell
Simulation time vs. number of UEs.
The memory used to execute the simulation increase with
the number of UEs and it is independent on the scheduling
algorithm used by the eNB. Moreover, the time required to
execute the simulation increases with the number of UEs; it
depends on the scheduling algorithm used by the eNB. In
fact, the PF algorithm requires less time than other scheduling
strategies due to its very simple implementation.
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
13
An important results is that LTE-Sim requires a limited
amount of memory and simulation time, also with high load
scenarios.
PLR of video flows [%]
30
25
20
15
10
5
0
10
20
number of UEs/cell
30
(a)
40
PF - 3 km/h
M-LWDF - 3 km/h
EXP - 3 km/h
PF - 120 km/h
M-LWDF - 120 km/h
EXP - 120 km/h
PLR of voip flows [%]
35
30
25
20
15
10
5
0
10
20
number of UEs/cell
30
(b)
Fig. 14.
Average packet delays of video flows [s]
Herein, a performance evaluation of the implemented downlink scheduling algorithms (i.e., PF, M-LWDF, and EXP) is
reported. A realistic scenario is considered: there are 19 cells,
with the radius equal to 1 km, where a number of UEs (chosen
in the range [10 - 30]) are uniformly distributed into each
cell. UEs travel inside the area following the Random Walk
mobility model in an urban macro cell scenario.
The whole bandwidth is distributed among cluster of 4 cells,
to guarantee 10 MHz of bandwidth in the downlink, for each
cell.
Each user receives one H.264 video flow (encoded at 128
kbps), one VoIP flow, and one best effort flow modeled with
the infinite buffer application.
The performance of PF, M-LWDF, and EXP schedulers have
been analyzed, varying the user speed in the range [3, 120]
km/h.
Fig. 14 shows the packet loss ratio (PLR) experienced by
video and VoIP flows. As expected, the PLR increases with the
user speed because the link adaptation procedure is impaired
at the high velocity. Furthermore, we note a different behavior
between the schedulers designed for real-time services (i.e., MLWDF and EXP) and the PF scheduler. When M-LWDF and
EXP schedulers are used, the PLR increases with the number
of UEs. The reason is that in scenarios with high number of
concurrent real-time flows, the probability to discard packets
for dead-line expiration increases. When the PF scheduler
is used, instead, the PLR decreases as the number of UEs
increases. In this case the reason is that in a scenario with
high load factor, the PF scheduler can exploits the multiuser
diversity gains, reducing the loss probability at the PHY layer.
It is important to note that in this case, the PLR only counts for
the PHY losses and that it cannot grants for bounded packet
delays. This effect can be easily seen in Fig. 15 where the
average packet delays of real-time flows is reported.
The behavior of best effort flows has been also studied; Fig.
16 shows the achieved goodput. Its value has been averaged
among all cells. As expected, the goodput decreases as the user
speed increases, due to the worse channel quality measured by
the receiver UE. Also the Jain Fairness index [43] has been
computed, considering the goodput achieved by best effort
flows at the end of each simulation. In all operative conditions
the index is very close to 0.9, meaning that all considered
scheduling strategies provide comparable levels of fairness.
Finally, Fig. 17 shows the cell spectral efficiency achieved
for the considered LTE scenarios and expressed as the total
throughput achieved by all users divided by the available
bandwidth [44]. As expected, different schedulers impact
differently. When the number of users in the cell increases,
QoS-aware schedulers such as M-LWDF and EXP still try to
guarantee QoS constraints to a high number of flows, with a
consequent negative impact on the system efficiency. On the
other hand, when the number of users increases from 10 to 20,
PF - 3 km/h
M-LWDF - 3 km/h
EXP - 3 km/h
PF - 120 km/h
M-LWDF - 120 km/h
EXP - 120 km/h
35
Packet Loss Ratio of (a) video and (b) voip flows.
2
PF - 3 km/h
M-LWDF - 3 km/h
EXP - 3 km/h
PF - 120 km/h
M-LWDF - 120 km/h
EXP - 120 km/h
1.5
1
0.5
0
10
20
number of UEs/cell
30
(a)
2
Average packet delays of voip flows [s]
D. Performance Evaluation
40
PF - 3 km/h
M-LWDF - 3 km/h
EXP - 3 km/h
PF - 120 km/h
M-LWDF - 120 km/h
EXP - 120 km/h
1.5
1
0.5
0
10
20
number of UEs/cell
(b)
Fig. 15.
Average packet delays of (a) video and (b) voip flows.
30
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
14
Aggregate Goodput of BE flows [Mbps]
2
PF - 3 km/h
M-LWDF - 3 km/h
EXP - 3 km/h
PF - 120 km/h
M-LWDF - 120 km/h
EXP - 120 km/h
1.8
1.6
1.4
1.2
1
Fig. 16.
10
20
number of UEs/cell
30
Goodput achieved by best effort flows.
the PF scheduler is able to exploit the gain of the multiuser
diversity while granting a high fairness index (i.e. 0.9). When
the number of users further increases, the same fairness index
is reached by the PF scheduler at the cost of a limited drop
in the cell spectral efficiency.
0.2
0.19
Cell spectral efficiency [bit/s/Hz]
0.18
0.17
0.16
0.15
0.14
PF - 3 km/h
M-LWDF - 3 km/h
EXP - 3 km/h
PF - 120 km/h
M-LWDF - 120 km/h
EXP - 120 km/h
0.13
0.12
0.11
0.1
Fig. 17.
10
20
number of UEs/cell
30
Cell spcetral efficiency.
VII. C ONCLUSION
In this paper a new open source framework to simulate
LTE networks, namely LTE-Sim, has been proposed. Features
covered by this simulator will allow both researchers and
practitioners to test enhanced techniques for improving 4G
cellular networks, such as new physical functionalities, innovative network protocols and architectures, high performance
scheduling strategies, and so on. The open nature of this
software can allow people interested in research in this field
to contribute to the development of the framework, furnishing
a reference platform for testing and comparing new solution
for LTE systems.
Effectiveness of the developed simulator has been verified
with several simulations to study the scalability and the performance of the framework. Moreover, LTE-Sim has been applied
to compare several scheduling strategies and to evaluate their
performance. In the near feature, we plan to improve the
simulator implementing new features, such as HARQ and
more sophisticated channel and PHY models, that have not
been included in the current version of the software.
R EFERENCES
[1] 3GPP, http://www.3gpp.org.
[2] 3GPP, Tech. Specif. Group Radio Access Network Requirements for
Evolved UTRA (E-UTRA) and Evolved UTRAN (E-UTRAN), 3GPP TS
25.913.
[3] ——, Tech. Specif. Group Services and System Aspects Service Requirements for Evolution of the 3GPP System (Release 8), 3GPP TS 22.278.
[4] D. McQueen, “The momentum behind LTE adoption,” IEEE Commun.
Mag., vol. 47, no. 2, pp. 44–45, Feb. 2009.
[5] S. Ascent, “3GPP LTE toolbox and blockset,” [OnLine] Available: http:
//www.steepestascent.com/content/default.asp?page=s2 10.
[6] mimoOn, “mi!Mobile,” [OnLine] Available: http://www.mimoon.de/
pages/Products/miMobile/.
[7] Aricent, “LTE layer 1 - LTE baseband/PHY library,” [OnLine] Available:
http://www.aricent.com/Expertise/LTE.aspx.
[8] J. J. Sánchez, G. Gómez, D. Morales-Jiménez, and J. T. Entrambasaguas,
“Performance evaluation of OFDMA wireless systems using WM-SIM
platform,” in Proc. of ACM Int. Workshop on Mobility Management and
Wireless Access, MobiWac, 2006, pp. 131–134.
[9] 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 Conf., EUSIPCO, Glasgow, Scotland, 2009.
[10] J. C. Ikuno, M. Wrulich, and M. Rupp, “System level simulation of LTE
networks,” in Proc. of IEEE Veh. Technol. Conf., VTC Spring, Taipei,
Taiwan, May 2010.
[11] R. Basukala, H. M. Ramli, and K. Sandrasegaran, “Performance analysis
of EXP/PF and M-LWDF in downlink 3GPP LTE system,” in Proc.
of First Asian Himalayas Int. Conf. on Internet. AH-ICI, Kathmandu,
Nepal, Nov. 2009.
[12] G. Piro, “LTE-Sim - the LTE simulator,” [OnLine] Available: http://
telematics.poliba.it/LTE-Sim.
[13] A. Alexandrescu, Modern C++ Design: Generic Programming and
Design Patterns Applied. Addison-Wesley Professional, 2001.
[14] 3GPP, Tech. Specif. Group Radio Access Network; Physical Channel
and Modulation (Release 8), 3GPP TS 36.211.
[15] ——, Tech. Specif. Group Radio Access Network; Physical layer aspect
for evolved Universal Terrestrial Radio Access (UTRA) (Release 7),
3GPP TS 25.814.
[16] ——, Tech. Specif. Group Radio Access Network; Physical layer procedures (Release 9), 3GPP TS 36.213.
[17] T. Camp, J. Boleng, and V. Davies, “A survey of mobility models
for ad hoc network research,” Wireless Communications and Mobile
Computing, vol. 2, pp. 483–502, Aug. 2002.
[18] F. Khang, LTE for 4G Mobile Broadband, Air Interface Technologies
and Performance. Cambridge University Press, 2009.
[19] H. Ekstrom, “QoS control in the 3GPP evolved packet system,” IEEE
Commun. Mag., vol. 47, pp. 76–83, Feb. 2009.
[20] 3GPP, Tech. Specif. Group Radio Access Network; Evolved Universal
Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial
Radio Access Network (E-UTRAN); Overall description; Stage 2, 3GPP
TS 36.300.
[21] “Video trace library,” [OnLine] Available: http://trace.eas.asu.edu/.
[22] C. Chuah and R. H. Katz, “Characterizing Packet Audio Streams from
Internet Multimedia Applications,” in Proc. of Int. Commun. Conf.
(ICC), New York, NY, Apr. 2002.
[23] E. Dahlman, S. Parkvall, J. Skold, and P. Beming, 3G Evolution HSPA
and LTE for Mobile Broadband. Academic Press, 2008.
[24] 3GPP, Tech. Specif. Group Radio Access Network; Evolved Universal
Terrestrial Radio Access (E-UTRA); Radio Link Control (RLC) protocol
specification (Release 9), 3GPP TS 36.322.
[25] IETF, RObust Header Compression (ROHC): Framework and Four
Profiles: RTP, UDP, ESP, and uncompressed, IETF RFC 3095.
[26] M. Rinne, M. Kuusela, E. Tuomaala, P. Kinnunen, I. Kovacs, K. Pajukoski, and J. Ojala, “A performance summary of the evolved 3G (EUTRA) for voice over internet and best effort traffic,” IEEE Trans. Veh.
Technol., vol. 58, no. 7, pp. 3661 –3673, Sep. 2009.
[27] 3GPP, Tech. Specif. Group Radio Access Network; Evolved Universal
Terrestrial Radio Access (E-UTRA); User Equipment (UE) radio transmission and reception (Release 9), 3GPP TS 36.101.
[28] T. S. Rappaport, Wireless Communications: Principles and Practice.
Prentice Hall, 2002.
[29] S. Sesia, I. Toufik, and M. Baker, LTE The UMTS Long Term Evolution:
From Theory to Practice. John Wiley & Sons, 2009.
[30] T. Halonen, J. Romero, and J. Melero, GSM, GPRS and EDGE Performance: Evolution Towards 3G/UMTS. Wiley, 2003.
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
[31] L. Nuaymi, WiMAX: Technology for Broadband Wireless Access. Wiley,
2008.
[32] J.-G. Choi and S. Bahk, “Cell-throughput analysis of the proportional
fair scheduler in the single-cell environment,” IEEE Trans. Veh. Technol.,
vol. 56, no. 2, pp. 766 –778, Mar. 2007.
[33] M. Wrulich, W. Weiler, , and M. Rupp, “HSDPA performance in a mixed
traffic network,” in Proc. of IEEE Veh. Technol. Conf., VTC Spring,
Singapore, May 2008, pp. 2056 – 2060.
[34] M. A. Ismail, G. Piro, L. A. Grieco, and T. Turletti, “An improved IEEE
802.16 WiMAX module for the ns-3 simulator,” in Proc. of SIMUTools
2010, Mar. 2010.
[35] Omnet++, “Numbat - new ubiquitous mobility basic analysis tools:
WiMAX, DHCPv6 implementation in Omnet++,” [OnLine] Available:
http://klub.com.pl/numbat/.
[36] P. Martin and P. Ballester, “The UMTS extension for Network Simulator 2,” [OnLine] Available: http://www.info.fundp.ac.be/∼lsc/Research/
ns-2 UMTS/.
[37] 3GPP, Tech. Specif. Group Radio Access Networks; Radio Frequency
(RF) system scenarios (Release 9), 3GPP TS 25.942.
[38] ——, Tech. Specif. Group Radio Access Network; Evolved Universal
Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial
Radio Access Network (E-UTRAN); Radio Frequency (RF) system
scenarios (Release 10), 3GPP TS 36.942.
[39] W. C. Jackes, Microwave Mobile Communications New York. Wiley,
1975.
[40] C. Wei, Z. Lili, and H. Zhiyi, “Second-order statistics of improved Jakes’
models for rayleigh fading channels wireless communications,” in Proc.
of Int. Conf. on Networking and Mobile Computing, WiCom, Shanghai,
China, Sep. 2007, pp. 1108 – 1111.
[41] 3GPP, Tech. Specif. Group Radio Access Network; Evolved Universal
Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial
Radio Access Network (E-UTRAN); Terminal conformance specification,
Radio transmission and reception (FDD), 3GPP TS 34.121.
[42] ——, Tech. Specif. Group Radio Access Network; Conveying MCS and
TB size via PDCCH, 3GPP TSG-RAN WG1 R1-081483.
[43] R. Jain, The Art of Computer Systems Performance Analysis. John
Wiley & Sons, 1991.
[44] M. S. Alouini and A. J. Goldsmith, “Area spectral efficiency of cellular
mobile radio systems,” IEEE Trans. Veh. Technol., vol. 48, no. 4, pp.
1047 –1066, Jul. 1999.
Giuseppe Piro (S’10) received a first level degree
and a second level degree (both cum laude) in
telecommunications engineering from Politecnico di
Bari, Bari, Italy, in 2006 and 2008, respectively.
Since January 2009, he has been a Ph.D. student
in Electronics Engineering at the Politecnico di Bari.
In June 2009 and in November 2009 he collaborated
with Planete Project - INRIA, at SOPHIA ANTIPOLIS (France) as a research assistant. He participated
at the Google Summer of Code 2010 working on
a project on LTE networks. His current research
interests include the study of Scheduling Algorithms and Admission Control
Algorithms, in order to satisfy QoS requirements of multimedia flows, in
wireless networks (IEEE 802.11 WLAN, UMTS Long Term Evolution and
WiMAX). He is a developer of Network Simulator 3.
15
Luigi Alfredo Grieco (M’04) received the Dr.Eng.
degree (with honors) in electronic engineering from
”Politecnico di Bari,” Bari, Italy, in October 1999
and the Ph.D. degree in information engineering
from ”Università di Lecce,” Lecce, Italy, on December 2003. Since January 2005, he has been
an Assistant Professor of telecommunications with
the ”Dipartimento di Elettrotecnica ed Elettronica,
Politecnico di Bari”. From March to June 2009,
he was a Visiting Researcher with INRIA (Planete
Project, Sophia Antipolis, France), working on the
topics ”Internet Measurements” and ”Scheduling in WiMax Networks”. He
has authored more than 90 scientific papers published in international journals
and conference proceedings. His main research interests are congestion control
in packet-switching networks, quality of service and service discovery in
wireless networks, Internet multimedia applications, Internet measurements,
and real-time video processing using cellular nonlinear networks.
Gennaro Boggia (S’99M’01SM’09) received the
Dr. Eng. and Ph.D. degrees (with honors) in electronics engineering from the Politecnico di Bari,
Bari, Italy, in July 1997 and March 2001, respectively. From May 1999 to Dec. 1999, he was a Visiting Researcher with the TILab, TelecomItaliaLab
(formerly the Centro Studi e Laboratori Telecomunicazioni), Italy, where he was involved in the study of
the future releases of cellular mobile networks. Since
September 2002, he has been with the Dipartimento
di Elettrotecnica ed Elettronica, Politecnico di Bari,
where he is currently an Assistant Professor. In 2007, he was a Visiting
Researcher with FTW, Vienna, Austria, where he was involved in activities
on passive and active traffic monitoring in cellular networks. He has authored
or coauthored more than 70 papers in international journals or conference
proceedings. His research interests span the fields of wireless networking,
multimedia systems, cellular communication, quality of service in wireless
networks, queueing networking, and network performance evaluation.
Francesco Capozzi (S’10) was born in Bari, Italy,
on April 14, 1984. He received the first level Degree
in Telecommunications Engineering in September
2005 and the master Degree in Telecommunication Engineering in April 2008, both with honors,
from the Politecnico di Bari. Since September 2008,
he collaborates with Nokia Siemens Networks at
Aalborg University (Denmark) as research assistant.
Since January 2009, he is a Ph.D. student in Information Engineering jointly at Politecnico di Bari and
at Scuola Interpolitecnica di Dottorato (Bari, Milan
and Turin). His current research interests are mainly focused on the study
of new Radio Resource Management algorithms for the next generations of
cellular networks (LTE networks).
ACCEPTED - IEEE TRANS. VEH. TECHNOL., OCT. 2010
Pietro Camarda received a University Degree in
Computer Science from the University of Bari,
Italy, in 1978. Since 1986, he has been with the
department of Elettrotecnica ed Elettronica at the
Politecnico di Bari, Italy, where he is currently a
Professor of Telecommunications. He was visiting
scholar from October 1986 to December 1987 at
the Computer Science Department of the University
of California, Los Angeles, under the supervision
of Professor Mario Gerla. He has been involved
in various research areas, mainly: LAN/MAN Architectures and Protocols, Optical Networks, Network Reliability, Cellular
Radio Networks, Telecommunication Services, etc. He is the author of more
than 100 research papers on these topics. In the past few years he has
focused mainly on wireless networks (cellular networks, wireless LANs, and
ad hoc networks), developing topics that include Resource Allocation based
on Neural Networks, Header Compression Schemes for Wireless Networks,
Authentication Protocols in Wireless Networks, Bandwidth Allocation and
QoS in WLANs, MAC protocols for ad hoc networks, etc.
16