A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
lena-simple.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011-2018 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Manuel Requena <manuel.requena@cttc.es>
7
*/
8
9
#include "ns3/config-store.h"
10
#include "ns3/core-module.h"
11
#include "ns3/lte-module.h"
12
#include "ns3/mobility-module.h"
13
#include "ns3/network-module.h"
14
#include <ns3/buildings-helper.h>
15
// #include "ns3/gtk-config-store.h"
16
17
using namespace
ns3
;
18
19
int
20
main(
int
argc,
char
* argv[])
21
{
22
Time
simTime =
MilliSeconds
(1050);
23
bool
useCa =
false
;
24
25
CommandLine
cmd
(__FILE__);
26
cmd
.AddValue(
"simTime"
,
"Total duration of the simulation"
, simTime);
27
cmd
.AddValue(
"useCa"
,
"Whether to use carrier aggregation."
, useCa);
28
cmd
.Parse(argc, argv);
29
30
// to save a template default attribute file run it like this:
31
// ./ns3 run src/lte/examples/lena-first-sim --command-template="%s
32
// --ns3::ConfigStore::Filename=input-defaults.txt --ns3::ConfigStore::Mode=Save
33
// --ns3::ConfigStore::FileFormat=RawText"
34
//
35
// to load a previously created default attribute file
36
// ./ns3 run src/lte/examples/lena-first-sim --command-template="%s
37
// --ns3::ConfigStore::Filename=input-defaults.txt --ns3::ConfigStore::Mode=Load
38
// --ns3::ConfigStore::FileFormat=RawText"
39
40
ConfigStore
inputConfig;
41
inputConfig.
ConfigureDefaults
();
42
43
// Parse again so you can override default values from the command line
44
cmd
.Parse(argc, argv);
45
46
if
(useCa)
47
{
48
Config::SetDefault
(
"ns3::LteHelper::UseCa"
,
BooleanValue
(useCa));
49
Config::SetDefault
(
"ns3::LteHelper::NumberOfComponentCarriers"
,
UintegerValue
(2));
50
Config::SetDefault
(
"ns3::LteHelper::EnbComponentCarrierManager"
,
51
StringValue
(
"ns3::RrComponentCarrierManager"
));
52
}
53
54
Ptr<LteHelper>
lteHelper =
CreateObject<LteHelper>
();
55
56
// Uncomment to enable logging
57
// lteHelper->EnableLogComponents ();
58
59
// Create Nodes: eNodeB and UE
60
NodeContainer
enbNodes;
61
NodeContainer
ueNodes;
62
enbNodes.
Create
(1);
63
ueNodes.
Create
(1);
64
65
// Install Mobility Model
66
MobilityHelper
mobility
;
67
mobility
.SetMobilityModel(
"ns3::ConstantPositionMobilityModel"
);
68
mobility
.Install(enbNodes);
69
BuildingsHelper::Install
(enbNodes);
70
mobility
.SetMobilityModel(
"ns3::ConstantPositionMobilityModel"
);
71
mobility
.Install(ueNodes);
72
BuildingsHelper::Install
(ueNodes);
73
74
// Create Devices and install them in the Nodes (eNB and UE)
75
NetDeviceContainer
enbDevs;
76
NetDeviceContainer
ueDevs;
77
// Default scheduler is PF, uncomment to use RR
78
// lteHelper->SetSchedulerType ("ns3::RrFfMacScheduler");
79
80
enbDevs = lteHelper->InstallEnbDevice(enbNodes);
81
ueDevs = lteHelper->InstallUeDevice(ueNodes);
82
83
// Attach a UE to a eNB
84
lteHelper->Attach(ueDevs, enbDevs.
Get
(0));
85
86
// Activate a data radio bearer
87
EpsBearer::Qci
q =
EpsBearer::GBR_CONV_VOICE
;
88
EpsBearer
bearer(q);
89
lteHelper->ActivateDataRadioBearer(ueDevs, bearer);
90
lteHelper->EnableTraces();
91
92
Simulator::Stop
(simTime);
93
Simulator::Run
();
94
95
// GtkConfigStore config;
96
// config.ConfigureAttributes ();
97
98
Simulator::Destroy
();
99
return
0;
100
}
ns3::BooleanValue
Definition
boolean.h:26
ns3::BuildingsHelper::Install
static void Install(Ptr< Node > node)
Install the MobilityBuildingInfo to a node.
Definition
buildings-helper.cc:34
ns3::CommandLine
Parse command-line arguments.
Definition
command-line.h:221
ns3::ConfigStore
Definition
config-store.h:50
ns3::ConfigStore::ConfigureDefaults
void ConfigureDefaults()
Configure the default values.
Definition
config-store.cc:183
ns3::EpsBearer
This class contains the specification of EPS Bearers.
Definition
eps-bearer.h:80
ns3::EpsBearer::Qci
Qci
QoS Class Indicator.
Definition
eps-bearer.h:95
ns3::EpsBearer::GBR_CONV_VOICE
@ GBR_CONV_VOICE
GBR Conversational Voice.
Definition
eps-bearer.h:96
ns3::MobilityHelper
Helper class used to assign positions and mobility models to nodes.
Definition
mobility-helper.h:33
ns3::NetDeviceContainer
holds a vector of ns3::NetDevice pointers
Definition
net-device-container.h:32
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:56
ns3::NodeContainer
keep track of a set of node pointers.
Definition
node-container.h:29
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:73
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
ns3::Simulator::Destroy
static void Destroy()
Execute the events scheduled with ScheduleDestroy().
Definition
simulator.cc:131
ns3::Simulator::Run
static void Run()
Run the simulation.
Definition
simulator.cc:167
ns3::Simulator::Stop
static void Stop()
Tell the Simulator the calling event should be the last one executed.
Definition
simulator.cc:175
ns3::StringValue
Hold variables of type string.
Definition
string.h:45
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition
nstime.h:94
ns3::UintegerValue
Hold an unsigned integer type.
Definition
uinteger.h:34
ns3::Config::SetDefault
void SetDefault(std::string name, const AttributeValue &value)
Definition
config.cc:883
ns3::CreateObject
Ptr< T > CreateObject(Args &&... args)
Create an object by type, with varying number of constructor parameters.
Definition
object.h:619
ns3::MilliSeconds
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit.
Definition
nstime.h:1320
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
second.cmd
cmd
Definition
second.py:29
third.mobility
mobility
Definition
third.py:92
src
lte
examples
lena-simple.cc
Generated on Fri Nov 8 2024 13:59:02 for ns-3 by
1.11.0