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-rem.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
* Nicola Baldo <nbaldo@cttc.es>
20
*/
21
22
23
#include "ns3/core-module.h"
24
#include "ns3/network-module.h"
25
#include "ns3/mobility-module.h"
26
#include "ns3/lte-module.h"
27
#include "ns3/config-store.h"
28
#include "ns3/spectrum-module.h"
29
#include <ns3/buildings-helper.h>
30
//#include "ns3/gtk-config-store.h"
31
32
using namespace
ns3;
33
34
int
main
(
int
argc,
char
*argv[])
35
{
36
CommandLine
cmd;
37
cmd.
Parse
(argc, argv);
38
39
// to save a template default attribute file run it like this:
40
// ./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
41
//
42
// to load a previously created default attribute file
43
// ./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
44
45
ConfigStore
inputConfig;
46
inputConfig.
ConfigureDefaults
();
47
48
// Parse again so you can override default values from the command line
49
cmd.
Parse
(argc, argv);
50
51
Ptr<LteHelper>
lteHelper = CreateObject<LteHelper> ();
52
53
// Uncomment to enable logging
54
//lteHelper->EnableLogComponents ();
55
56
// Create Nodes: eNodeB and UE
57
NodeContainer
enbNodes;
58
NodeContainer
ueNodes;
59
enbNodes.
Create
(1);
60
ueNodes.
Create
(1);
61
62
// Install Mobility Model
63
MobilityHelper
mobility;
64
mobility.
SetMobilityModel
(
"ns3::BuildingsMobilityModel"
);
65
mobility.
Install
(enbNodes);
66
mobility.
SetMobilityModel
(
"ns3::BuildingsMobilityModel"
);
67
mobility.
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 an EPS bearer
82
enum
EpsBearer::Qci
q =
EpsBearer::GBR_CONV_VOICE
;
83
EpsBearer
bearer (q);
84
lteHelper->
ActivateDataRadioBearer
(ueDevs, bearer);
85
86
87
// Configure Radio Environment Map (REM) output
88
// for LTE-only simulations always use /ChannelList/0 which is the downlink channel
89
Ptr<RadioEnvironmentMapHelper>
remHelper = CreateObject<RadioEnvironmentMapHelper> ();
90
remHelper->
SetAttribute
(
"ChannelPath"
,
StringValue
(
"/ChannelList/0"
));
91
remHelper->
SetAttribute
(
"OutputFile"
,
StringValue
(
"rem.out"
));
92
remHelper->
SetAttribute
(
"XMin"
,
DoubleValue
(-400.0));
93
remHelper->
SetAttribute
(
"XMax"
,
DoubleValue
(400.0));
94
remHelper->
SetAttribute
(
"YMin"
,
DoubleValue
(-300.0));
95
remHelper->
SetAttribute
(
"YMax"
,
DoubleValue
(300.0));
96
remHelper->
SetAttribute
(
"Z"
,
DoubleValue
(0.0));
97
remHelper->
Install
();
98
99
// here's a minimal gnuplot script that will plot the above:
100
//
101
// set view map;
102
// set term x11;
103
// set xlabel "X"
104
// set ylabel "Y"
105
// set cblabel "SINR (dB)"
106
// plot "rem.out" using ($1):($2):(10*log10($4)) with image
107
108
109
BuildingsHelper::MakeMobilityModelConsistent
();
110
111
112
Simulator::Run
();
113
114
//GtkConfigStore config;
115
//config.ConfigureAttributes ();
116
117
Simulator::Destroy
();
118
return
0;
119
}
src
lte
examples
lena-rem.cc
Generated on Tue May 14 2013 11:08:24 for ns-3 by
1.8.1.2