A Discrete-Event Network Simulator
API
radio-environment-map-helper.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2012 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: Nicola Baldo <nbaldo@cttc.es>
19  */
20 
21 
22 #ifndef RADIO_ENVIRONMENT_MAP_HELPER_H
23 #define RADIO_ENVIRONMENT_MAP_HELPER_H
24 
25 
26 #include <ns3/object.h>
27 #include <fstream>
28 
29 
30 namespace ns3 {
31 
32 class RemSpectrumPhy;
33 class Node;
34 class NetDevice;
35 class SpectrumChannel;
36 //class BuildingsMobilityModel;
37 class MobilityModel;
38 
47 {
48 public:
49 
51  virtual ~RadioEnvironmentMapHelper ();
52 
53  // inherited from Object
54  virtual void DoDispose (void);
59  static TypeId GetTypeId (void);
60 
64  uint16_t GetBandwidth () const;
65 
70  void SetBandwidth (uint16_t bw);
71 
76  void Install ();
77 
78 private:
79 
92  void DelayedInstall ();
93 
103  void RunOneIteration (double xMin, double xMax, double yMin, double yMax);
104 
106  void PrintAndReset ();
107 
109  void Finalize ();
110 
112  struct RemPoint
113  {
118  };
119 
121  std::list<RemPoint> m_rem;
122 
123  double m_xMin;
124  double m_xMax;
125  uint16_t m_xRes;
126  double m_xStep;
127 
128  double m_yMin;
129  double m_yMax;
130  uint16_t m_yRes;
131  double m_yStep;
132 
134 
135  uint16_t m_earfcn;
136  uint16_t m_bandwidth;
137 
138  double m_z;
139 
145  std::string m_channelPath;
146 
147  std::string m_outputFile;
148 
150 
158 
159  double m_noisePower;
160 
161  std::ofstream m_outFile;
162 
164  int32_t m_rbId;
165 
166 }; // end of `class RadioEnvironmentMapHelper`
167 
168 
169 } // end of `namespace ns3`
170 
171 #endif /* RADIO_ENVIRONMENT_MAP_HELPER_H */
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::RadioEnvironmentMapHelper::PrintAndReset
void PrintAndReset()
Go through every listener, write the computed SINR, and then reset it.
Definition: radio-environment-map-helper.cc:330
ns3::RadioEnvironmentMapHelper::GetBandwidth
uint16_t GetBandwidth() const
Definition: radio-environment-map-helper.cc:163
ns3::RadioEnvironmentMapHelper::DoDispose
virtual void DoDispose(void)
Destructor implementation.
Definition: radio-environment-map-helper.cc:63
ns3::RadioEnvironmentMapHelper::m_stopWhenDone
bool m_stopWhenDone
The StopWhenDone attribute.
Definition: radio-environment-map-helper.h:149
ns3::RadioEnvironmentMapHelper::m_xMin
double m_xMin
The XMin attribute.
Definition: radio-environment-map-helper.h:123
ns3::RadioEnvironmentMapHelper::m_bandwidth
uint16_t m_bandwidth
The Bandwidth attribute.
Definition: radio-environment-map-helper.h:136
ns3::RadioEnvironmentMapHelper::m_yMax
double m_yMax
The YMax attribute.
Definition: radio-environment-map-helper.h:129
ns3::RadioEnvironmentMapHelper::RemPoint::bmm
Ptr< MobilityModel > bmm
Position of the listener in the environment.
Definition: radio-environment-map-helper.h:117
ns3::RadioEnvironmentMapHelper::m_useDataChannel
bool m_useDataChannel
The UseDataChannel attribute.
Definition: radio-environment-map-helper.h:163
ns3::RadioEnvironmentMapHelper::m_channelPath
std::string m_channelPath
The ChannelPath attribute.
Definition: radio-environment-map-helper.h:145
ns3::RadioEnvironmentMapHelper::DelayedInstall
void DelayedInstall()
Scheduled by Install() to perform the actual generation of map.
Definition: radio-environment-map-helper.cc:232
ns3::RadioEnvironmentMapHelper::m_yMin
double m_yMin
The YMin attribute.
Definition: radio-environment-map-helper.h:128
ns3::RadioEnvironmentMapHelper::m_channel
Ptr< SpectrumChannel > m_channel
The Channel attribute, which is a direct pointer to the DL channel object for which will be created t...
Definition: radio-environment-map-helper.h:157
ns3::RadioEnvironmentMapHelper::RunOneIteration
void RunOneIteration(double xMin, double xMax, double yMin, double yMax)
Mobilize all the listeners to a specified area.
Definition: radio-environment-map-helper.cc:295
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
ns3::RadioEnvironmentMapHelper::RemPoint
A complete Radio Environment Map is composed of many of this structure.
Definition: radio-environment-map-helper.h:113
ns3::RadioEnvironmentMapHelper::m_xRes
uint16_t m_xRes
The XRes attribute.
Definition: radio-environment-map-helper.h:125
ns3::Object
A base class which provides memory management and object aggregation.
Definition: object.h:88
ns3::RadioEnvironmentMapHelper::m_xStep
double m_xStep
Distance along X axis between adjacent listening points.
Definition: radio-environment-map-helper.h:126
ns3::RadioEnvironmentMapHelper
Generates a 2D map of the SINR from the strongest transmitter in the downlink of an LTE FDD system.
Definition: radio-environment-map-helper.h:47
ns3::RadioEnvironmentMapHelper::m_rem
std::list< RemPoint > m_rem
List of listeners in the environment.
Definition: radio-environment-map-helper.h:121
ns3::RadioEnvironmentMapHelper::SetBandwidth
void SetBandwidth(uint16_t bw)
Definition: radio-environment-map-helper.cc:169
ns3::RadioEnvironmentMapHelper::m_maxPointsPerIteration
uint32_t m_maxPointsPerIteration
The MaxPointsPerIteration attribute.
Definition: radio-environment-map-helper.h:133
ns3::RadioEnvironmentMapHelper::m_xMax
double m_xMax
The XMax attribute.
Definition: radio-environment-map-helper.h:124
ns3::RadioEnvironmentMapHelper::GetTypeId
static TypeId GetTypeId(void)
Register this type.
Definition: radio-environment-map-helper.cc:69
ns3::RadioEnvironmentMapHelper::m_earfcn
uint16_t m_earfcn
The Earfcn attribute.
Definition: radio-environment-map-helper.h:135
ns3::RadioEnvironmentMapHelper::Finalize
void Finalize()
Called when the map generation procedure has been completed.
Definition: radio-environment-map-helper.cc:359
ns3::RadioEnvironmentMapHelper::m_z
double m_z
The Z attribute.
Definition: radio-environment-map-helper.h:138
ns3::RadioEnvironmentMapHelper::~RadioEnvironmentMapHelper
virtual ~RadioEnvironmentMapHelper()
Definition: radio-environment-map-helper.cc:56
ns3::RadioEnvironmentMapHelper::m_outputFile
std::string m_outputFile
The OutputFile attribute.
Definition: radio-environment-map-helper.h:147
ns3::RadioEnvironmentMapHelper::m_yRes
uint16_t m_yRes
The YRes attribute.
Definition: radio-environment-map-helper.h:130
ns3::RadioEnvironmentMapHelper::Install
void Install()
Deploy the RemSpectrumPhy objects that generate the map according to the specified settings.
Definition: radio-environment-map-helper.cc:191
ns3::RadioEnvironmentMapHelper::m_rbId
int32_t m_rbId
The RbId attribute.
Definition: radio-environment-map-helper.h:164
ns3::RadioEnvironmentMapHelper::RemPoint::phy
Ptr< RemSpectrumPhy > phy
Simplified listener which compute SINR over the DL channel.
Definition: radio-environment-map-helper.h:115
ns3::RadioEnvironmentMapHelper::m_yStep
double m_yStep
Distance along Y axis between adjacent listening points.
Definition: radio-environment-map-helper.h:131
ns3::RadioEnvironmentMapHelper::RadioEnvironmentMapHelper
RadioEnvironmentMapHelper()
Definition: radio-environment-map-helper.cc:51
ns3::RadioEnvironmentMapHelper::m_noisePower
double m_noisePower
The NoisePower attribute.
Definition: radio-environment-map-helper.h:159
ns3::RadioEnvironmentMapHelper::m_outFile
std::ofstream m_outFile
Stream the output to a file.
Definition: radio-environment-map-helper.h:161