A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
lena-simple.cc
Go to the documentation of this file.
1
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Manuel Requena <manuel.requena@cttc.es>
19
*/
20
21
22
#include "ns3/core-module.h"
23
#include "ns3/network-module.h"
24
#include "ns3/mobility-module.h"
25
#include "ns3/lte-module.h"
26
#include "ns3/config-store.h"
27
#include <ns3/buildings-helper.h>
28
//#include "ns3/gtk-config-store.h"
29
30
using namespace
ns3;
31
32
int
main
(
int
argc,
char
*argv[])
33
{
34
CommandLine
cmd;
35
cmd.
Parse
(argc, argv);
36
37
// to save a template default attribute file run it like this:
38
// ./waf --command-template="%s --ns3::ConfigStore::Filename=input-defaults.txt --ns3::ConfigStore::Mode=Save --ns3::ConfigStore::FileFormat=RawText" --run src/lte/examples/lena-first-sim
39
//
40
// to load a previously created default attribute file
41
// ./waf --command-template="%s --ns3::ConfigStore::Filename=input-defaults.txt --ns3::ConfigStore::Mode=Load --ns3::ConfigStore::FileFormat=RawText" --run src/lte/examples/lena-first-sim
42
43
ConfigStore
inputConfig;
44
inputConfig.
ConfigureDefaults
();
45
46
// Parse again so you can override default values from the command line
47
cmd.
Parse
(argc, argv);
48
49
Ptr<LteHelper>
lteHelper = CreateObject<LteHelper> ();
50
51
// Uncomment to enable logging
52
// lteHelper->EnableLogComponents ();
53
54
// Create Nodes: eNodeB and UE
55
NodeContainer
enbNodes;
56
NodeContainer
ueNodes;
57
enbNodes.
Create
(1);
58
ueNodes.
Create
(1);
59
60
// Install Mobility Model
61
MobilityHelper
mobility;
62
mobility.
SetMobilityModel
(
"ns3::ConstantPositionMobilityModel"
);
63
mobility.
Install
(enbNodes);
64
BuildingsHelper::Install
(enbNodes);
65
mobility.
SetMobilityModel
(
"ns3::ConstantPositionMobilityModel"
);
66
mobility.
Install
(ueNodes);
67
BuildingsHelper::Install
(ueNodes);
68
69
// Create Devices and install them in the Nodes (eNB and UE)
70
NetDeviceContainer
enbDevs;
71
NetDeviceContainer
ueDevs;
72
// Default scheduler is PF, uncomment to use RR
73
//lteHelper->SetSchedulerType ("ns3::RrFfMacScheduler");
74
75
enbDevs = lteHelper->
InstallEnbDevice
(enbNodes);
76
ueDevs = lteHelper->
InstallUeDevice
(ueNodes);
77
78
// Attach a UE to a eNB
79
lteHelper->
Attach
(ueDevs, enbDevs.
Get
(0));
80
81
// Activate a data radio bearer
82
enum
EpsBearer::Qci
q =
EpsBearer::GBR_CONV_VOICE
;
83
EpsBearer
bearer (q);
84
lteHelper->
ActivateDataRadioBearer
(ueDevs, bearer);
85
lteHelper->
EnableTraces
();
86
87
Simulator::Stop
(Seconds (1.05));
88
89
Simulator::Run
();
90
91
// GtkConfigStore config;
92
// config.ConfigureAttributes ();
93
94
Simulator::Destroy
();
95
return
0;
96
}
ns3::ConfigStore
Definition:
config-store.h:34
ns3::Ptr
smart pointer class similar to boost::intrusive_ptr
Definition:
ptr.h:59
ns3::LteHelper::InstallEnbDevice
NetDeviceContainer InstallEnbDevice(NodeContainer c)
Definition:
lte-helper.cc:301
ns3::NetDeviceContainer::Get
Ptr< NetDevice > Get(uint32_t i) const
Get the Ptr<NetDevice> stored in this container at a given index.
Definition:
net-device-container.cc:62
ns3::Simulator::Run
static void Run(void)
Definition:
simulator.cc:157
ns3::LteHelper::ActivateDataRadioBearer
void ActivateDataRadioBearer(NetDeviceContainer ueDevices, EpsBearer bearer)
Definition:
lte-helper.cc:793
ns3::EpsBearer
Definition:
eps-bearer.h:71
ns3::MobilityHelper::Install
void Install(Ptr< Node > node) const
"Layout" a single node according to the current position allocator type.
Definition:
mobility-helper.cc:130
ns3::LteHelper::EnableTraces
void EnableTraces(void)
Definition:
lte-helper.cc:840
ns3::LteHelper::Attach
void Attach(NetDeviceContainer ueDevices, Ptr< NetDevice > enbDevice)
Definition:
lte-helper.cc:582
ns3::NetDeviceContainer
holds a vector of ns3::NetDevice pointers
Definition:
net-device-container.h:41
ns3::CommandLine
Parse command-line arguments.
Definition:
command-line.h:152
ns3::Simulator::Destroy
static void Destroy(void)
Definition:
simulator.cc:121
ns3::ConfigStore::ConfigureDefaults
void ConfigureDefaults(void)
Definition:
config-store.cc:142
ns3::NodeContainer
keep track of a set of node pointers.
Definition:
node-container.h:38
ns3::MobilityHelper::SetMobilityModel
void SetMobilityModel(std::string type, std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue(), std::string n8="", const AttributeValue &v8=EmptyAttributeValue(), std::string n9="", const AttributeValue &v9=EmptyAttributeValue())
Definition:
mobility-helper.cc:79
ns3::LteHelper::InstallUeDevice
NetDeviceContainer InstallUeDevice(NodeContainer c)
Definition:
lte-helper.cc:316
ns3::MobilityHelper
Helper class used to assign positions and mobility models to nodes.
Definition:
mobility-helper.h:42
main
int main(int argc, char *argv[])
Definition:
energy-model-example.cc:113
ns3::Simulator::Stop
static void Stop(void)
Definition:
simulator.cc:165
ns3::CommandLine::Parse
void Parse(int argc, char *argv[])
Definition:
command-line.cc:104
ns3::NodeContainer::Create
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
Definition:
node-container.cc:93
ns3::EpsBearer::GBR_CONV_VOICE
Definition:
eps-bearer.h:79
ns3::EpsBearer::Qci
Qci
Definition:
eps-bearer.h:77
ns3::BuildingsHelper::Install
static void Install(Ptr< Node > node)
Definition:
buildings-helper.cc:48
src
lte
examples
lena-simple.cc
Generated on Sat Nov 16 2013 16:17:43 for ns-3 by
1.8.5