A Discrete-Event Network Simulator
API
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
ns3::YansWifiPhy Class Reference

802.11 PHY layer modelThis PHY implements a model of 802.11a. More...

#include "yans-wifi-phy.h"

+ Inheritance diagram for ns3::YansWifiPhy:

Public Member Functions

 YansWifiPhy ()
 
virtual ~YansWifiPhy ()
 
virtual Ptr< ChannelGetChannel (void) const
 Return the Channel this WifiPhy is connected to. More...
 
void SetChannel (const Ptr< YansWifiChannel > channel)
 Set the YansWifiChannel this YansWifiPhy is to be connected to. More...
 
void StartTx (Ptr< Packet > packet, WifiTxVector txVector, Time txDuration)
 
- Public Member Functions inherited from ns3::WifiPhy
 WifiPhy ()
 
virtual ~WifiPhy ()
 
void AddSupportedChannelWidth (uint16_t channelwidth)
 
virtual int64_t AssignStreams (int64_t stream)
 Assign a fixed random variable stream number to the random variables used by this model. More...
 
double CalculateSnr (WifiTxVector txVector, double ber) const
 
Time CalculateTxDuration (uint32_t size, WifiTxVector txVector, uint16_t frequency)
 
Time CalculateTxDuration (uint32_t size, WifiTxVector txVector, uint16_t frequency, MpduType mpdutype, uint8_t incFlag)
 
virtual void ConfigureStandard (WifiPhyStandard standard)
 Configure the PHY-level parameters for different Wi-Fi standard. More...
 
bool DefineChannelNumber (uint8_t channelNumber, WifiPhyStandard standard, uint16_t frequency, uint16_t channelWidth)
 Add a channel definition to the WifiPhy. More...
 
void EndReceive (Ptr< Packet > packet, WifiPreamble preamble, MpduType mpdutype, Ptr< Event > event)
 The last bit of the packet has arrived. More...
 
uint8_t GetBssMembershipSelector (uint8_t selector) const
 The WifiPhy::BssMembershipSelector() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. More...
 
double GetCcaMode1Threshold (void) const
 Return the CCA threshold (dBm). More...
 
uint8_t GetChannelNumber (void) const
 Return current channel number. More...
 
Time GetChannelSwitchDelay (void) const
 
uint16_t GetChannelWidth (void) const
 
Time GetDelayUntilIdle (void)
 
Ptr< NetDeviceGetDevice (void) const
 Return the device this PHY is associated with. More...
 
double GetEdThreshold (void) const
 Return the energy detection threshold (dBm). More...
 
uint16_t GetFrequency (void) const
 
bool GetGreenfield (void) const
 Return whether Greenfield is supported. More...
 
Time GetGuardInterval (void) const
 
Time GetLastRxStartTime (void) const
 Return the start time of the last received packet. More...
 
bool GetLdpc (void) const
 Return if LDPC is supported. More...
 
uint8_t GetMaxSupportedRxSpatialStreams (void) const
 
uint8_t GetMaxSupportedTxSpatialStreams (void) const
 
WifiMode GetMcs (uint8_t mcs) const
 The WifiPhy::GetMcs() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception MCS indexes that this WifiPhy(-derived class) can support - a set of MCS indexes which we call the DeviceMcsSet, and which is stored as WifiPhy::m_deviceMcsSet. More...
 
Ptr< MobilityModelGetMobility (void) const
 Return the mobility model this PHY is associated with. More...
 
WifiMode GetMode (uint8_t mode) const
 The WifiPhy::GetNModes() and WifiPhy::GetMode() methods are used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the DeviceRateSet, and which is stored as WifiPhy::m_deviceRateSet. More...
 
uint8_t GetNBssMembershipSelectors (void) const
 The WifiPhy::NBssMembershipSelectors() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the BssMembershipSelectorSet, and which is stored as WifiPhy::m_bssMembershipSelectorSet. More...
 
uint8_t GetNMcs (void) const
 The WifiPhy::GetNMcs() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception MCS indexes that this WifiPhy(-derived class) can support - a set of MCS indexes which we call the DeviceMcsSet, and which is stored as WifiPhy::m_deviceMcsSet. More...
 
uint8_t GetNModes (void) const
 The WifiPhy::GetNModes() and WifiPhy::GetMode() methods are used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception modes that this WifiPhy(-derived class) can support - a set of WifiMode objects which we call the DeviceRateSet, and which is stored as WifiPhy::m_deviceRateSet. More...
 
uint8_t GetNTxPower (void) const
 Return the number of available transmission power levels. More...
 
uint8_t GetNumberOfAntennas (void) const
 
Time GetPayloadDuration (uint32_t size, WifiTxVector txVector, uint16_t frequency)
 
Time GetPayloadDuration (uint32_t size, WifiTxVector txVector, uint16_t frequency, MpduType mpdutype, uint8_t incFlag)
 
double GetPowerDbm (uint8_t power) const
 Get the power of the given power level in dBm. More...
 
double GetRxGain (void) const
 Return the reception gain (dB). More...
 
bool GetShortGuardInterval (void) const
 Return whether short guard interval is supported. More...
 
bool GetShortPlcpPreambleSupported (void) const
 Return whether short PLCP preamble is supported. More...
 
WifiPhyStandard GetStandard (void) const
 Get the configured Wi-Fi standard. More...
 
bool GetStbc (void) const
 Return whether STBC is supported. More...
 
std::vector< uint16_t > GetSupportedChannelWidthSet (void) const
 
double GetTxGain (void) const
 Return the transmission gain (dB). More...
 
double GetTxPowerEnd (void) const
 Return the maximum available transmission power level (dBm). More...
 
double GetTxPowerStart (void) const
 Return the minimum available transmission power level (dBm). More...
 
bool IsMcsSupported (WifiMode mcs) const
 Check if the given WifiMode is supported by the PHY. More...
 
bool IsModeSupported (WifiMode mode) const
 Check if the given WifiMode is supported by the PHY. More...
 
bool IsStateCcaBusy (void) const
 
bool IsStateIdle (void) const
 
bool IsStateOff (void) const
 
bool IsStateRx (void) const
 
bool IsStateSleep (void) const
 
bool IsStateSwitching (void) const
 
bool IsStateTx (void) const
 
void NotifyMonitorSniffRx (Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise)
 Public method used to fire a MonitorSniffer trace for a wifi packet being received. More...
 
void NotifyMonitorSniffTx (Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu)
 Public method used to fire a MonitorSniffer trace for a wifi packet being transmitted. More...
 
void NotifyRxBegin (Ptr< const Packet > packet)
 Public method used to fire a PhyRxBegin trace. More...
 
void NotifyRxDrop (Ptr< const Packet > packet)
 Public method used to fire a PhyRxDrop trace. More...
 
void NotifyRxEnd (Ptr< const Packet > packet)
 Public method used to fire a PhyRxEnd trace. More...
 
void NotifyTxBegin (Ptr< const Packet > packet)
 Public method used to fire a PhyTxBegin trace. More...
 
void NotifyTxDrop (Ptr< const Packet > packet)
 Public method used to fire a PhyTxDrop trace. More...
 
void NotifyTxEnd (Ptr< const Packet > packet)
 Public method used to fire a PhyTxEnd trace. More...
 
void RegisterListener (WifiPhyListener *listener)
 
void ResumeFromOff (void)
 Resume from off mode. More...
 
void ResumeFromSleep (void)
 Resume from sleep mode. More...
 
void SendPacket (Ptr< const Packet > packet, WifiTxVector txVector, MpduType mpdutype=NORMAL_MPDU)
 
void SetCapabilitiesChangedCallback (Callback< void > callback)
 
void SetCcaMode1Threshold (double threshold)
 Sets the CCA threshold (dBm). More...
 
virtual void SetChannelNumber (uint8_t id)
 Set channel number. More...
 
virtual void SetChannelWidth (uint16_t channelwidth)
 
void SetDevice (const Ptr< NetDevice > device)
 Sets the device this PHY is associated with. More...
 
void SetEdThreshold (double threshold)
 Sets the energy detection threshold (dBm). More...
 
void SetErrorRateModel (const Ptr< ErrorRateModel > rate)
 Sets the error rate model. More...
 
void SetFrameCaptureModel (const Ptr< FrameCaptureModel > frameCaptureModel)
 Sets the frame capture model. More...
 
virtual void SetFrequency (uint16_t freq)
 
void SetGreenfield (bool greenfield)
 Enable or disable Greenfield support. More...
 
void SetGuardInterval (Time guardInterval)
 
void SetLdpc (bool ldpc)
 Enable or disable LDPC. More...
 
void SetMaxSupportedRxSpatialStreams (uint8_t streams)
 
void SetMaxSupportedTxSpatialStreams (uint8_t streams)
 
void SetMobility (const Ptr< MobilityModel > mobility)
 assign a mobility model to this device More...
 
void SetNTxPower (uint8_t n)
 Sets the number of transmission power levels available between the minimum level and the maximum level. More...
 
void SetNumberOfAntennas (uint8_t antennas)
 
void SetOffMode (void)
 Put in off mode. More...
 
void SetReceiveErrorCallback (RxErrorCallback callback)
 
void SetReceiveOkCallback (RxOkCallback callback)
 
void SetRxGain (double gain)
 Sets the reception gain (dB). More...
 
void SetRxNoiseFigure (double noiseFigureDb)
 Sets the RX loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver. More...
 
void SetShortGuardInterval (bool shortGuardInterval)
 Enable or disable support for HT/VHT short guard interval. More...
 
void SetShortPlcpPreambleSupported (bool preamble)
 Enable or disable short PLCP preamble. More...
 
void SetSleepMode (void)
 Put in sleep mode. More...
 
void SetStbc (bool stbc)
 Enable or disable STBC. More...
 
void SetTxGain (double gain)
 Sets the transmission gain (dB). More...
 
void SetTxPowerEnd (double end)
 Sets the maximum available transmission power level (dBm). More...
 
void SetTxPowerStart (double start)
 Sets the minimum available transmission power level (dBm). More...
 
void SetWifiRadioEnergyModel (const Ptr< WifiRadioEnergyModel > wifiRadioEnergyModel)
 Sets the wifi radio energy model. More...
 
void StartReceivePacket (Ptr< Packet > packet, WifiTxVector txVector, MpduType mpdutype, Ptr< Event > event)
 Starting receiving the payload of a packet (i.e. More...
 
void StartReceivePreambleAndHeader (Ptr< Packet > packet, double rxPowerW, Time rxDuration)
 Starting receiving the plcp of a packet (i.e. More...
 
void UnregisterListener (WifiPhyListener *listener)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::WifiPhy
static Time CalculatePlcpPreambleAndHeaderDuration (WifiTxVector txVector)
 
static WifiMode GetDsssRate11Mbps ()
 Return a WifiMode for DSSS at 11Mbps. More...
 
static WifiMode GetDsssRate1Mbps ()
 Return a WifiMode for DSSS at 1Mbps. More...
 
static WifiMode GetDsssRate2Mbps ()
 Return a WifiMode for DSSS at 2Mbps. More...
 
static WifiMode GetDsssRate5_5Mbps ()
 Return a WifiMode for DSSS at 5.5Mbps. More...
 
static WifiMode GetErpOfdmRate12Mbps ()
 Return a WifiMode for ERP-OFDM at 12Mbps. More...
 
static WifiMode GetErpOfdmRate18Mbps ()
 Return a WifiMode for ERP-OFDM at 18Mbps. More...
 
static WifiMode GetErpOfdmRate24Mbps ()
 Return a WifiMode for ERP-OFDM at 24Mbps. More...
 
static WifiMode GetErpOfdmRate36Mbps ()
 Return a WifiMode for ERP-OFDM at 36Mbps. More...
 
static WifiMode GetErpOfdmRate48Mbps ()
 Return a WifiMode for ERP-OFDM at 48Mbps. More...
 
static WifiMode GetErpOfdmRate54Mbps ()
 Return a WifiMode for ERP-OFDM at 54Mbps. More...
 
static WifiMode GetErpOfdmRate6Mbps ()
 Return a WifiMode for ERP-OFDM at 6Mbps. More...
 
static WifiMode GetErpOfdmRate9Mbps ()
 Return a WifiMode for ERP-OFDM at 9Mbps. More...
 
static WifiMode GetHeMcs0 ()
 Return MCS 0 from HE MCS values. More...
 
static WifiMode GetHeMcs1 ()
 Return MCS 1 from HE MCS values. More...
 
static WifiMode GetHeMcs10 ()
 Return MCS 10 from HE MCS values. More...
 
static WifiMode GetHeMcs11 ()
 Return MCS 11 from HE MCS values. More...
 
static WifiMode GetHeMcs2 ()
 Return MCS 2 from HE MCS values. More...
 
static WifiMode GetHeMcs3 ()
 Return MCS 3 from HE MCS values. More...
 
static WifiMode GetHeMcs4 ()
 Return MCS 4 from HE MCS values. More...
 
static WifiMode GetHeMcs5 ()
 Return MCS 5 from HE MCS values. More...
 
static WifiMode GetHeMcs6 ()
 Return MCS 6 from HE MCS values. More...
 
static WifiMode GetHeMcs7 ()
 Return MCS 7 from HE MCS values. More...
 
static WifiMode GetHeMcs8 ()
 Return MCS 8 from HE MCS values. More...
 
static WifiMode GetHeMcs9 ()
 Return MCS 9 from HE MCS values. More...
 
static WifiMode GetHePlcpHeaderMode ()
 
static WifiMode GetHtMcs0 ()
 Return MCS 0 from HT MCS values. More...
 
static WifiMode GetHtMcs1 ()
 Return MCS 1 from HT MCS values. More...
 
static WifiMode GetHtMcs10 ()
 Return MCS 10 from HT MCS values. More...
 
static WifiMode GetHtMcs11 ()
 Return MCS 11 from HT MCS values. More...
 
static WifiMode GetHtMcs12 ()
 Return MCS 12 from HT MCS values. More...
 
static WifiMode GetHtMcs13 ()
 Return MCS 13 from HT MCS values. More...
 
static WifiMode GetHtMcs14 ()
 Return MCS 14 from HT MCS values. More...
 
static WifiMode GetHtMcs15 ()
 Return MCS 15 from HT MCS values. More...
 
static WifiMode GetHtMcs16 ()
 Return MCS 16 from HT MCS values. More...
 
static WifiMode GetHtMcs17 ()
 Return MCS 17 from HT MCS values. More...
 
static WifiMode GetHtMcs18 ()
 Return MCS 18 from HT MCS values. More...
 
static WifiMode GetHtMcs19 ()
 Return MCS 19 from HT MCS values. More...
 
static WifiMode GetHtMcs2 ()
 Return MCS 2 from HT MCS values. More...
 
static WifiMode GetHtMcs20 ()
 Return MCS 20 from HT MCS values. More...
 
static WifiMode GetHtMcs21 ()
 Return MCS 21 from HT MCS values. More...
 
static WifiMode GetHtMcs22 ()
 Return MCS 22 from HT MCS values. More...
 
static WifiMode GetHtMcs23 ()
 Return MCS 23 from HT MCS values. More...
 
static WifiMode GetHtMcs24 ()
 Return MCS 24 from HT MCS values. More...
 
static WifiMode GetHtMcs25 ()
 Return MCS 25 from HT MCS values. More...
 
static WifiMode GetHtMcs26 ()
 Return MCS 26 from HT MCS values. More...
 
static WifiMode GetHtMcs27 ()
 Return MCS 27 from HT MCS values. More...
 
static WifiMode GetHtMcs28 ()
 Return MCS 28 from HT MCS values. More...
 
static WifiMode GetHtMcs29 ()
 Return MCS 29 from HT MCS values. More...
 
static WifiMode GetHtMcs3 ()
 Return MCS 3 from HT MCS values. More...
 
static WifiMode GetHtMcs30 ()
 Return MCS 30 from HT MCS values. More...
 
static WifiMode GetHtMcs31 ()
 Return MCS 31 from HT MCS values. More...
 
static WifiMode GetHtMcs4 ()
 Return MCS 4 from HT MCS values. More...
 
static WifiMode GetHtMcs5 ()
 Return MCS 5 from HT MCS values. More...
 
static WifiMode GetHtMcs6 ()
 Return MCS 6 from HT MCS values. More...
 
static WifiMode GetHtMcs7 ()
 Return MCS 7 from HT MCS values. More...
 
static WifiMode GetHtMcs8 ()
 Return MCS 8 from HT MCS values. More...
 
static WifiMode GetHtMcs9 ()
 Return MCS 9 from HT MCS values. More...
 
static WifiMode GetHtPlcpHeaderMode ()
 
static WifiMode GetOfdmRate12Mbps ()
 Return a WifiMode for OFDM at 12Mbps. More...
 
static WifiMode GetOfdmRate12MbpsBW10MHz ()
 Return a WifiMode for OFDM at 12Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate12MbpsBW5MHz ()
 Return a WifiMode for OFDM at 12Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate13_5MbpsBW5MHz ()
 Return a WifiMode for OFDM at 13.5Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate18Mbps ()
 Return a WifiMode for OFDM at 18Mbps. More...
 
static WifiMode GetOfdmRate18MbpsBW10MHz ()
 Return a WifiMode for OFDM at 18Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate1_5MbpsBW5MHz ()
 Return a WifiMode for OFDM at 1.5Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate24Mbps ()
 Return a WifiMode for OFDM at 24Mbps. More...
 
static WifiMode GetOfdmRate24MbpsBW10MHz ()
 Return a WifiMode for OFDM at 24Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate27MbpsBW10MHz ()
 Return a WifiMode for OFDM at 27Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate2_25MbpsBW5MHz ()
 Return a WifiMode for OFDM at 2.25Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate36Mbps ()
 Return a WifiMode for OFDM at 36Mbps. More...
 
static WifiMode GetOfdmRate3MbpsBW10MHz ()
 Return a WifiMode for OFDM at 3Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate3MbpsBW5MHz ()
 Return a WifiMode for OFDM at 3Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate48Mbps ()
 Return a WifiMode for OFDM at 48Mbps. More...
 
static WifiMode GetOfdmRate4_5MbpsBW10MHz ()
 Return a WifiMode for OFDM at 4.5Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate4_5MbpsBW5MHz ()
 Return a WifiMode for OFDM at 4.5Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate54Mbps ()
 Return a WifiMode for OFDM at 54Mbps. More...
 
static WifiMode GetOfdmRate6Mbps ()
 Return a WifiMode for OFDM at 6Mbps. More...
 
static WifiMode GetOfdmRate6MbpsBW10MHz ()
 Return a WifiMode for OFDM at 6Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate6MbpsBW5MHz ()
 Return a WifiMode for OFDM at 6Mbps with 5MHz channel spacing. More...
 
static WifiMode GetOfdmRate9Mbps ()
 Return a WifiMode for OFDM at 9Mbps. More...
 
static WifiMode GetOfdmRate9MbpsBW10MHz ()
 Return a WifiMode for OFDM at 9Mbps with 10MHz channel spacing. More...
 
static WifiMode GetOfdmRate9MbpsBW5MHz ()
 Return a WifiMode for OFDM at 9Mbps with 5MHz channel spacing. More...
 
static Time GetPlcpHeaderDuration (WifiTxVector txVector)
 
static WifiMode GetPlcpHeaderMode (WifiTxVector txVector)
 
static Time GetPlcpHtSigHeaderDuration (WifiPreamble preamble)
 
static Time GetPlcpPreambleDuration (WifiTxVector txVector)
 
static Time GetPlcpSigA1Duration (WifiPreamble preamble)
 
static Time GetPlcpSigA2Duration (WifiPreamble preamble)
 
static Time GetPlcpSigBDuration (WifiPreamble preamble)
 
static Time GetPlcpTrainingSymbolDuration (WifiTxVector txVector)
 
static TypeId GetTypeId (void)
 Get the type ID. More...
 
static WifiMode GetVhtMcs0 ()
 Return MCS 0 from VHT MCS values. More...
 
static WifiMode GetVhtMcs1 ()
 Return MCS 1 from VHT MCS values. More...
 
static WifiMode GetVhtMcs2 ()
 Return MCS 2 from VHT MCS values. More...
 
static WifiMode GetVhtMcs3 ()
 Return MCS 3 from VHT MCS values. More...
 
static WifiMode GetVhtMcs4 ()
 Return MCS 4 from VHT MCS values. More...
 
static WifiMode GetVhtMcs5 ()
 Return MCS 5 from VHT MCS values. More...
 
static WifiMode GetVhtMcs6 ()
 Return MCS 6 from VHT MCS values. More...
 
static WifiMode GetVhtMcs7 ()
 Return MCS 7 from VHT MCS values. More...
 
static WifiMode GetVhtMcs8 ()
 Return MCS 8 from VHT MCS values. More...
 
static WifiMode GetVhtMcs9 ()
 Return MCS 9 from VHT MCS values. More...
 
static WifiMode GetVhtPlcpHeaderMode ()
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Protected Member Functions

virtual void DoDispose (void)
 Destructor implementation. More...
 
- Protected Member Functions inherited from ns3::WifiPhy
bool DoChannelSwitch (uint8_t id)
 The default implementation does nothing and returns true. More...
 
bool DoFrequencySwitch (uint16_t frequency)
 The default implementation does nothing and returns true. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
void SwitchMaybeToCcaBusy (void)
 Check if Phy state should move to CCA busy state based on current state of interference tracker. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Private Attributes

Ptr< YansWifiChannelm_channel
 YansWifiChannel that this YansWifiPhy is connected to. More...
 

Additional Inherited Members

- Public Types inherited from ns3::WifiPhy
typedef std::pair< uint8_t, WifiPhyStandardChannelNumberStandardPair
 A pair of a ChannelNumber and WifiPhyStandard. More...
 
typedef std::pair< uint16_t, uint16_t > FrequencyWidthPair
 A pair of a center Frequency and a ChannelWidth. More...
 
typedef void(* MonitorSnifferRxCallback) (Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise)
 TracedCallback signature for monitor mode receive events. More...
 
typedef void(* MonitorSnifferTxCallback) (const Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu)
 TracedCallback signature for monitor mode transmit events. More...
 
- Protected Attributes inherited from ns3::WifiPhy
EventId m_endPlcpRxEvent
 the end PLCP receive event More...
 
EventId m_endRxEvent
 the end reeive event More...
 
InterferenceHelper m_interference
 Pointer to InterferenceHelper. More...
 
uint16_t m_mpdusNum
 carries the number of expected mpdus that are part of an A-MPDU More...
 
bool m_plcpSuccess
 Flag if the PLCP of the packet or the first MPDU in an A-MPDU has been received. More...
 
Ptr< UniformRandomVariablem_random
 Provides uniform random variables. More...
 
uint32_t m_rxMpduReferenceNumber
 A-MPDU reference number to identify all received subframes belonging to the same received A-MPDU. More...
 
Ptr< WifiPhyStateHelperm_state
 Pointer to WifiPhyStateHelper. More...
 
uint32_t m_txMpduReferenceNumber
 A-MPDU reference number to identify all transmitted subframes belonging to the same received A-MPDU. More...
 

Detailed Description

802.11 PHY layer model

This PHY implements a model of 802.11a.


The model implemented here is based on the model described in "Yet Another Network Simulator", (http://cutebugs.net/files/wns2-yans.pdf).

This PHY model depends on a channel loss and delay model as provided by the ns3::PropagationLossModel and ns3::PropagationDelayModel classes, both of which are members of the ns3::YansWifiChannel class.

Config Paths

ns3::YansWifiPhy is accessible through the following paths with Config::Set and Config::Connect:

No Attributes are defined for this type.

Attributes defined in parent class ns3::WifiPhy

No TraceSources are defined for this type.

TraceSources defined in parent class ns3::WifiPhy

Size of this type is 640 bytes (on a 64-bit architecture).

Definition at line 47 of file yans-wifi-phy.h.

Constructor & Destructor Documentation

◆ YansWifiPhy()

ns3::YansWifiPhy::YansWifiPhy ( )

Definition at line 45 of file yans-wifi-phy.cc.

References NS_LOG_FUNCTION.

◆ ~YansWifiPhy()

ns3::YansWifiPhy::~YansWifiPhy ( )
virtual

Definition at line 50 of file yans-wifi-phy.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ DoDispose()

void ns3::YansWifiPhy::DoDispose ( void  )
protectedvirtual

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Reimplemented from ns3::WifiPhy.

Definition at line 56 of file yans-wifi-phy.cc.

References ns3::WifiPhy::DoDispose(), m_channel, and NS_LOG_FUNCTION.

◆ GetChannel()

Ptr< Channel > ns3::YansWifiPhy::GetChannel ( void  ) const
virtual

Return the Channel this WifiPhy is connected to.

Returns
the Channel this WifiPhy is connected to

Implements ns3::WifiPhy.

Definition at line 64 of file yans-wifi-phy.cc.

References m_channel.

◆ GetTypeId()

TypeId ns3::YansWifiPhy::GetTypeId ( void  )
static

Get the type ID.

Returns
the object TypeId

Definition at line 35 of file yans-wifi-phy.cc.

References ns3::TypeId::SetParent().

◆ SetChannel()

void ns3::YansWifiPhy::SetChannel ( const Ptr< YansWifiChannel channel)

Set the YansWifiChannel this YansWifiPhy is to be connected to.

Parameters
channelthe YansWifiChannel this YansWifiPhy is to be connected to

Definition at line 70 of file yans-wifi-phy.cc.

References third::channel, m_channel, and NS_LOG_FUNCTION.

Referenced by Bug2831TestCase::DoRun(), PsrExperiment::Run(), InterferenceExperiment::Run(), and CollisionExperiment::Run().

◆ StartTx()

void ns3::YansWifiPhy::StartTx ( Ptr< Packet packet,
WifiTxVector  txVector,
Time  txDuration 
)
virtual
Parameters
packetthe packet to send
txVectorthe TXVECTOR that has tx parameters such as mode, the transmission mode to use to send this packet, and txPowerLevel, a power level to use to send this packet. The real transmission power is calculated as txPowerMin + txPowerLevel * (txPowerMax - txPowerMin) / nTxLevels
txDurationduration of the transmission.

Implements ns3::WifiPhy.

Definition at line 78 of file yans-wifi-phy.cc.

References ns3::WifiPhy::GetPowerDbm(), ns3::WifiPhy::GetTxGain(), ns3::WifiTxVector::GetTxPowerLevel(), m_channel, and NS_LOG_DEBUG.

Member Data Documentation

◆ m_channel

Ptr<YansWifiChannel> ns3::YansWifiPhy::m_channel
private

YansWifiChannel that this YansWifiPhy is connected to.

Definition at line 84 of file yans-wifi-phy.h.

Referenced by DoDispose(), GetChannel(), SetChannel(), and StartTx().


The documentation for this class was generated from the following files: