26 #ifndef SPECTRUM_WIFI_PHY_H
27 #define SPECTRUM_WIFI_PHY_H
29 #include "ns3/antenna-model.h"
32 #include "ns3/spectrum-channel.h"
33 #include "ns3/spectrum-interference.h"
Simulation virtual time values and global simulation resolution.
TracedCallback< bool, uint32_t, double, Time > m_signalCb
Signal callback.
Smart pointer class similar to boost::intrusive_ptr.
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
void StartRx(Ptr< SpectrumSignalParameters > rxParams)
Input method for delivering a signal from the spectrum channel and low-level Phy interface to this Sp...
Ptr< Channel > GetChannel(void) const
Return the Channel this WifiPhy is connected to.
Forward calls to a chain of Callback.
void StartTx(Ptr< Packet > packet, WifiTxVector txVector, Time txDuration)
static TypeId GetTypeId(void)
Get the type ID.
bool m_disableWifiReception
forces this Phy to fail to sync on any signal
uint8_t GetGuardBandwidth(uint8_t currentChannelWidth) const
Ptr< const SpectrumModel > GetRxSpectrumModel() const
uint32_t GetCenterFrequencyForChannelWidth(WifiTxVector txVector) const
Get the center frequency of the channel corresponding the current TxVector rather than that of the su...
Ptr< WifiSpectrumPhyInterface > GetSpectrumPhy(void) const
void SetAntenna(const Ptr< AntennaModel > antenna)
double GetBandBandwidth(void) const
virtual void SetChannelNumber(uint8_t id)
Set channel number.
void(* SignalArrivalCallback)(bool signalType, uint32_t senderNodeId, double rxPower, Time duration)
Callback invoked when the Phy model starts to process a signal.
void DoInitialize(void)
Initialize() implementation.
Ptr< SpectrumChannel > m_channel
SpectrumChannel that this SpectrumWifiPhy is connected to.
std::vector< uint8_t > GetOperationalChannelList(void) const
Return a list of channels to which it may be possible to roam By default, this method will return the...
WifiPhyStandard
Identifies the PHY specification that a Wifi device is configured to use.
Ptr< AntennaModel > GetRxAntenna(void) const
Get the antenna model used for reception.
virtual void ConfigureStandard(WifiPhyStandard standard)
Configure the PHY-level parameters for different Wi-Fi standard.
Ptr< SpectrumValue > GetTxPowerSpectralDensity(uint16_t centerFrequency, uint8_t channelWidth, double txPowerW, WifiModulationClass modulationClass) const
void DoDispose(void)
Destructor implementation.
802.11 PHY layer modelThis PHY implements a spectrum-aware enhancement of the 802.11 SpectrumWifiPhy model.
Ptr< const SpectrumModel > m_rxSpectrumModel
receive spectrum model
virtual void SetFrequency(uint16_t freq)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
WifiModulationClass
This enumeration defines the modulation classes per (Table 9-4 "Modulation classes"; IEEE 802...
Ptr< AntennaModel > m_antenna
antenna model
std::vector< uint8_t > m_operationalChannelList
List of possible channels.
virtual void SetChannelWidth(uint8_t channelwidth)
void ClearOperationalChannelList(void)
Clear the list of operational channels.
Ptr< WifiSpectrumPhyInterface > m_wifiSpectrumPhyInterface
Spectrum phy interface.
void ResetSpectrumModel(void)
Perform run-time spectrum model change.
void AddOperationalChannel(uint8_t channelNumber)
Add a channel number to the list of operational channels.
virtual ~SpectrumWifiPhy()
void SetChannel(const Ptr< SpectrumChannel > channel)
Set the SpectrumChannel this SpectrumWifiPhy is to be connected to.
a unique identifier for an interface.
void CreateWifiSpectrumPhyInterface(Ptr< NetDevice > device)
Method to encapsulate the creation of the WifiSpectrumPhyInterface object (used to bind the WifiSpect...