21 #ifndef TV_SPECTRUM_TRANSMITTER_H 22 #define TV_SPECTRUM_TRANSMITTER_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> 122 virtual void Start ();
127 virtual void Stop ();
void SetChannel(Ptr< SpectrumChannel > c)
Set the channel attached to this device.
Ptr< SpectrumChannel > m_channel
Pointer to spectrum channel object.
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
Abstract base class for Spectrum-aware PHY layers.
Ptr< SpectrumChannel > GetChannel() const
Get the spectrum channel.
Ptr< AntennaModel > m_antenna
Pointer to antenna model object.
virtual void CreateTvPsd()
Creates power spectral density (PSD) spectrum of the TV transmitter and sets it for transmission...
Ptr< NetDevice > m_netDevice
Pointer to net device object.
void StartRx(Ptr< SpectrumSignalParameters > params)
Notify the SpectrumPhy instance of an incoming signal.
virtual void Stop()
Stops the TV Transmitter's transmission on the spectrum channel.
Ptr< AntennaModel > GetRxAntenna()
Get the AntennaModel used by the NetDevice for reception.
enum TvType m_tvType
Type of TV transmitter.
bool m_active
True if TV transmitter is transmitting.
Ptr< SpectrumValue > m_txPsd
Pointer to power spectral density of TV transmitter's signal.
double m_startFrequency
Start frequency (in Hz) of TV transmitter's signal.
virtual void Start()
Starts the TV Transmitter's transmission on the spectrum channel.
Ptr< MobilityModel > GetMobility()
Get the associated MobilityModel instance.
virtual ~TvSpectrumTransmitter()
double m_channelBandwidth
Bandwidth (in Hz) of TV transmitter's signal.
Time m_transmitDuration
Length of time that TV transmitter will transmit for.
Time m_startingTime
Timepoint after simulation begins that TV transmitter will begin transmitting.
virtual void SetupTx()
Sets up signal to be transmitted.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< NetDevice > GetDevice() const
Get the associated NetDevice instance.
SpectrumPhy implementation that creates a customizable TV transmitter which transmits a PSD spectrum ...
Ptr< MobilityModel > m_mobility
Pointer to mobility model object.
double m_basePsd
Base power spectral density value (in dBm/Hz) of TV transmitter's signal.
static TypeId GetTypeId(void)
Register this type.
Ptr< const SpectrumModel > GetRxSpectrumModel() const
void SetMobility(Ptr< MobilityModel > m)
Set the mobility model associated with this device.
void SetDevice(Ptr< NetDevice > d)
Set the associated NetDevice instance.
Ptr< SpectrumValue > GetTxPsd() const
Get the power spectral density of the TV transmitter's signal.
a unique identifier for an interface.
TvType
types of TV transmitters: analog, digital 8-VSB, or digital COFDM