Skip to search form Skip to main content You are currently offline. Some features of the site may not work correctly. DOI: In this paper, we present a novel module developed for the simulation of the LTE technology with the ns-3 simulator. Subsequently, we describe in detail the architecture of the module and its components. Finally, we discuss an example simulation scenario.
|Published (Last):||27 May 2012|
|PDF File Size:||19.13 Mb|
|ePub File Size:||10.82 Mb|
|Price:||Free* [*Free Regsitration Required]|
We assume the reader is already familiar with how to use the ns-3 simulator to run generic simulation programs. If this is not the case, we strongly recommend the reader to consult [ns3tutorial].
The process of performing such simulations typically involves the following steps:. Create an LteHelper object:.
This will instantiate some common objects e. The above will place all nodes at the coordinates 0,0,0. Please refer to the documentation of the ns-3 mobility model for how to set your own position or configure node movement. Attach the UEs to an eNB. This is needed otherwise the simulation will last forever, because among others the start-of-subframe event is scheduled repeatedly, and the ns-3 simulator scheduler will hence never run out of events.
For how to compile and run simulation programs, please refer to [ns3tutorial]. All the relevant LTE model parameters are managed through the ns-3 attribute system. In the following, we just briefly summarize how to do it using input files together with the ns-3 ConfigStore.
First of all, you need to put the following in your simulation program, right after main starts:. Now create a text file named for example input-defaults. User can use following codes to define scheduler type:. Users can define those parameters in following way:. The default FD scheduler is PFsch.
In current implementation, k is set to three based on paper [FABokhari]. Another parameter in TBFQ is packet arrival rate. This parameter is calculated within scheduler and equals to the past average throughput which is used in PF scheduler. Still, there are many attributes which are not explicitly mentioned in the design or user documentation, but which are clearly documented using the ns-3 attribute system.
You can enable it in the following way:. MAC KPIs are basically a trace of the resource allocation reported by the scheduler upon the start of every subframe. This script already includes the typical taps configurations for three 3GPP scenarios i. The list of the configurable parameters is provided in the following:. The file generated contains ASCII-formatted real values organized in a matrix fashion: every row corresponds to a different RB, and every column correspond to a different temporal fading trace sample.
Hence, other external tools can be used to generate custom fading traces, such as for example other simulators or experimental devices. When using a fading trace, it is of paramount importance to specify correctly the trace parameters in the simulation, so that the fading model can load and use it correctly.
The parameters to be configured are:. It is important to highlight that the sampling interval of the fading trace has to be 1 ms or greater, and in the latter case it has to be an integer multiple of 1 ms in order to be correctly processed by the fading module. The default configuration of the matlab script provides a trace 10 seconds long, made of 10, samples i.
These are also the default values of the parameters above used in the simulator; therefore their settage can be avoided in case the fading trace respects them.
In order to activate the fading module which is not active by default the following code should be included in the simulation program:. It has to be noted that, TraceFilename does not have a default value, therefore is has to be always set explicitly. The simulator provide natively three fading traces generated according to the configurations defined in in Annex B. An excerpt from these traces is represented in the following figures.
Excerpt of the fading trace included in the simulator for a pedestrian scenario speed of 3 kmph. Excerpt of the fading trace included in the simulator for a vehicular scenario speed of 60 kmph. Excerpt of the fading trace included in the simulator for an urban scenario speed of 3 kmph.
We now explain by examples how to use the buildings model in particular, the MobilityBuildingInfo and the BuildingPropagationModel classes in an ns-3 simulation program to setup an LTE simulation scenario that includes buildings and indoor nodes. It is to be noted that using other means to configure the frequency used by the propagation model i.
This will instantiate a residential building with base of 10 x 20 meters and height of 10 meters whose external walls are of concrete with windows; the building has three floors and has an internal 3 x 2 grid of rooms of equal size.
The Physical error model consists of the data error model and the downlink control error model, both of them active by default. It is possible to deactivate them with the ns3 attribute system, in detail:. Is this subsection we illustrate how to configure the MIMO parameters. LTE defines 7 types of transmission modes:. According to model implemented, the simulator includes the first three transmission modes types.
In order to change the default Transmission Mode to be used, the attribute DefaultTransmissionMode of the LteEnbRrc can be used, as shown in the following:. For changing the transmission mode of a certain user during the simulation a specific interface has been implemented in both standard schedulers:. This method can be used both for developing transmission mode decision engine i. In the latter case, the switching can be done as shown in the following:.
Finally, the model implemented can be reconfigured according to different MIMO models by updating the gain values the only constraints is that the gain has to be constant during simulation run-time and common for the layers.
For this purpose, it is convenient to use the CosineAntennaModel provided by the ns-3 antenna module. The configuration of the eNB is to be done via the LteHelper instance right before the creation of the EnbNetDevice , as shown in the following:. The orientation is measured in degrees from the X axis, e. The beamwidth is the -3 dB beamwidth, e. To create a multi-sector site, you need to create different ns-3 nodes placed at the same position, and to configure separate EnbNetDevice with different antenna orientations to be installed on each node.
It is possible to specify if REM should be generated for data or control channel. To do this, you just need to add the following code to your simulation program towards the end, right before the call to Simulator::Run :.
By configuring the attributes of the RadioEnvironmentMapHelper object as shown above, you can tune the parameters of the REM to be generated. As an example, here is the REM that can be obtained with the example program lena-dual-stripe, which shows a three-sector LTE macrocell in a co-channel deployment with some residential femtocells randomly deployed in two blocks of apartments.
Note that the lena-dual-stripe example program also generate gnuplot-compatible output files containing information about the positions of the UE and eNB nodes as well as of the buildings, respectively in the files ues. These can be easily included when using gnuplot. For example, assuming that your gnuplot script e.
The simulator provides two possible schemes for what concerns the selection of the MCSs and correspondingly the generation of the CQIs. This model can be activated with the ns3 attribute system, as presented in the following:.
We now explain how to write a simulation program that allows to simulate the EPC in addition to the LTE radio access network. First of all, in addition to LteHelper that we already introduced in Basic simulation program , you need to use an additional EpcHelper class, which will take care of creating the EPC entities and network topology.
To use it, you need first to insert this code in your simulation program:. The EPC helper will automatically take care of the necessary setup, such as S1 link creation and S1 bearer setup. All this will be done without the intervention of the user. Here is a very simple example about how to connect a single remote host IPv4 type to the PGW via a point-to-point link:. You can of course configure other LTE aspects such as pathloss and fading models.
Right after you created the UEs, you should also configure them for IP networking. This is done as follows. We assume you have a container for UE and eNodeB nodes like this:. The activation of bearers is done in a slightly different way with respect to what done for an LTE-only simulation.
Here is an example for how to setup a dedicated bearer for an application at the UE communicating on port Finally, you can install applications on the LTE UE nodes that communicate with remote applications over the internet. This is done following the usual ns-3 procedures. Following our simple example with a single remoteHost, here is how to setup downlink communication, with an UdpClient application on the remote host, and a PacketSink on the LTE UE using the same variable names of the previous code snippets.
This is achieved by just replacing the creation of LteHelper and EpcHelper with the following code:. We will now show how this is done in an example where we execute the example program lena-simple-epc-emu using two virtual ethernet interfaces.
Then we setup two virtual ethernet interfaces, and start wireshark to look at the traffic going through:. The default setting of the example program is 1 eNB and 1UE. You can change this via command line parameters, e. To run with the realtime clock: it turns out that the default debug build is too slow for realtime.
Softening the real time constraints with the BestEffort mode is not a good idea: something can go wrong e. So you need a decent hardware and the optimized build with statically linked modules:. The approach described in this section can be used with any type of net device. For instance, [Baldo] describes how it was used to run an emulated LTE-EPC network over a real multi-layer packet-optical transport network. We now explain how to write a simulation program that allows the simulator user to create any kind of backhaul network in the simulation program.
It just creates the network elements of the core network:. Now, you should create the backhaul network. We assume you have a container for eNB nodes like this:. This is just an example how to create a custom backhaul network. As you can see, apart from how you create the backhaul network, i.
Now, you should continue configuring your simulation program as it is explained in Evolved Packet Core EPC subsection. There are 2 possible ways of network attachment.
An LTE module for the ns-3 network simulator