21 #ifndef TV_SPECTRUM_TRANSMITTER_HELPER_H 22 #define TV_SPECTRUM_TRANSMITTER_HELPER_H 24 #include <ns3/spectrum-value.h> 25 #include <ns3/spectrum-phy.h> 26 #include <ns3/spectrum-channel.h> 27 #include <ns3/antenna-model.h> 28 #include <ns3/spectrum-signal-parameters.h> 29 #include <ns3/mobility-model.h> 30 #include <ns3/net-device.h> 31 #include <ns3/net-device-container.h> 32 #include <ns3/node-container.h> 33 #include <ns3/non-communicating-net-device.h> 34 #include <ns3/random-variable-stream.h> 35 #include <ns3/tv-spectrum-transmitter.h> 36 #include "ns3/object-factory.h" 71 friend class ::TvHelperDistributionTestCase;
150 uint16_t channelNumber);
207 uint16_t channelNumber);
253 double originLatitude,
254 double originLongitude,
280 const int startFrequenciesLength,
320 std::list<int> transmitterIndicesToCreate,
321 std::list<Vector> transmitterLocations);
Ptr< UniformRandomVariable > m_uniRand
Object to generate uniform random numbers.
Smart pointer class similar to boost::intrusive_ptr.
ObjectFactory m_factory
Object factory for attribute setting.
Hold a value for an Attribute.
Region
geographical region that TV transmitters are being set up in
std::list< int > GenerateRegionalTransmitterIndices(const double startFrequencies[], const int startFrequenciesLength, Density density)
Generates random indices of given region frequency array (ignoring indices referring to invalid chann...
void CreateRegionalTvTransmitters(Region region, Density density, double originLatitude, double originLongitude, double maxAltitude, double maxRadius)
Generates and installs (starts transmission on the spectrum channel) a random number of TV transmitte...
TvSpectrumTransmitterHelper()
Default constructor.
NetDeviceContainer Install(NodeContainer nodes)
Set up and start the TV Transmitter's transmission on the spectrum channel.
int GetRandomNumTransmitters(Density density, uint32_t numChannels)
Randomly generates the number of TV transmitters to be created based on given density and number of p...
holds a vector of ns3::NetDevice pointers
Ptr< SpectrumChannel > m_channel
Pointer to spectrum channel object.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
keep track of a set of node pointers.
int64_t AssignStreams(int64_t streamNum)
Assigns the stream number for the uniform random number generator to use.
NetDeviceContainer InstallAdjacent(NodeContainer nodes)
Set up and start the TV Transmitter's transmission on the spectrum channel.
void InstallRandomRegionalTransmitters(Region region, std::list< int > transmitterIndicesToCreate, std::list< Vector > transmitterLocations)
Installs each randomly generated regional TV transmitter.
Instantiate subclasses of ns3::Object.
Density
density of location that TV transmitters are being set up in
Helper class which uses TvSpectrumTransmitter class to create customizable TV transmitter(s) that tra...
virtual ~TvSpectrumTransmitterHelper()
Destructor.
void SetAttribute(std::string name, const AttributeValue &val)
Set attribute for each TvSpectrumTransmitter instance to be created.
void SetChannel(Ptr< SpectrumChannel > c)
Set the spectrum channel for the device(s) to transmit on.