SpectrumWifiPhy used for testing OFDMA. More...
Public Types | |
typedef void(* | TxPpduUidCallback) (uint64_t uid) |
TracedCallback signature for UID of transmitted PPDU. More... | |
Public Types inherited from ns3::SpectrumWifiPhy | |
typedef void(* | SignalArrivalCallback) (bool signalType, uint32_t senderNodeId, double rxPower, Time duration) |
Callback invoked when the PHY model starts to process a signal. More... | |
Public Types inherited from ns3::WifiPhy | |
using | ChannelTuple = std::tuple< uint8_t, uint16_t, int, uint8_t > |
Tuple identifying an operating channel. More... | |
typedef void(* | MonitorSnifferRxCallback) (Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise, uint16_t staId) |
TracedCallback signature for monitor mode receive events. More... | |
typedef void(* | MonitorSnifferTxCallback) (const Ptr< const Packet > packet, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, uint16_t staId) |
TracedCallback signature for monitor mode transmit events. More... | |
typedef void(* | PhyRxBeginTracedCallback) (Ptr< const Packet > packet, RxPowerWattPerChannelBand rxPowersW) |
TracedCallback signature for PhyRxBegin trace source. More... | |
typedef void(* | PhyRxPayloadBeginTracedCallback) (WifiTxVector txVector, Time psduDuration) |
TracedCallback signature for start of PSDU reception events. More... | |
typedef void(* | PhyTxBeginTracedCallback) (Ptr< const Packet > packet, double txPowerW) |
TracedCallback signature for Phy transmit events. More... | |
typedef void(* | PsduTxBeginCallback) (WifiConstPsduMap psduMap, WifiTxVector txVector, double txPowerW) |
TracedCallback signature for PSDU transmit events. More... | |
Public Member Functions | |
OfdmaSpectrumWifiPhy (uint16_t staId) | |
Constructor. More... | |
virtual | ~OfdmaSpectrumWifiPhy () |
void | DoDispose (void) override |
Destructor implementation. More... | |
void | DoInitialize (void) override |
Initialize() implementation. More... | |
Ptr< Event > | GetCurrentEvent (void) |
std::map< std::pair< uint64_t, WifiPreamble >, Ptr< Event > > & | GetCurrentPreambleEvents (void) |
Time | GetEnergyDuration (double energyW, WifiSpectrumBand band) |
Wrapper to InterferenceHelper method. More... | |
uint16_t | GetGuardBandwidth (uint16_t currentChannelWidth) const override |
Ptr< const HePhy > | GetHePhy (void) const |
void | SetPpduUid (uint64_t uid) |
Set the global PPDU UID counter. More... | |
void | SetTriggerFrameUid (uint64_t uid) |
Since we assume trigger frame was previously received from AP, this is used to set its UID. More... | |
void | StartTx (Ptr< WifiPpdu > ppdu) override |
Public Member Functions inherited from ns3::SpectrumWifiPhy | |
SpectrumWifiPhy () | |
virtual | ~SpectrumWifiPhy () |
void | CreateWifiSpectrumPhyInterface (Ptr< NetDevice > device) |
Method to encapsulate the creation of the WifiSpectrumPhyInterface object (used to bind the WifiSpectrumPhy to a SpectrumChannel) and to link it to this SpectrumWifiPhy instance. More... | |
void | DoChannelSwitch (void) override |
Actually switch channel based on the stored channel settings. More... | |
Ptr< Object > | GetAntenna (void) const |
Get the antenna model used for reception. More... | |
uint32_t | GetBandBandwidth (void) const |
Ptr< Channel > | GetChannel (void) const override |
Return the Channel this WifiPhy is connected to. More... | |
Ptr< const SpectrumModel > | GetRxSpectrumModel () |
std::tuple< double, double, double > | GetTxMaskRejectionParams (void) const override |
void | SetAntenna (const Ptr< AntennaModel > antenna) |
void | SetChannel (const Ptr< SpectrumChannel > channel) |
Set the SpectrumChannel this SpectrumWifiPhy is to be connected to. More... | |
void | StartRx (Ptr< SpectrumSignalParameters > rxParams) |
Input method for delivering a signal from the spectrum channel and low-level PHY interface to this SpectrumWifiPhy instance. More... | |
void | Transmit (Ptr< WifiSpectrumSignalParameters > txParams) |
This function is sending the signal to the Spectrum channel after finishing the configuration of the transmit parameters. More... | |
Public Member Functions inherited from ns3::WifiPhy | |
WifiPhy () | |
virtual | ~WifiPhy () |
void | AddSupportedChannelWidth (uint16_t width) |
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 (const WifiTxVector &txVector, double ber) const |
virtual void | ConfigureStandard (WifiStandard standard) |
Configure the PHY-level parameters for different Wi-Fi standard. More... | |
void | EndReceiveInterBss (void) |
For HE receptions only, check and possibly modify the transmit power restriction state at the end of PPDU reception. More... | |
Time | GetAckTxTime (void) const |
Return the estimated Ack TX time for this PHY. More... | |
Time | GetBlockAckTxTime (void) const |
Return the estimated BlockAck TX time for this PHY. More... | |
std::list< uint8_t > | GetBssMembershipSelectorList (void) 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 inside HT PHY (and above) instances. More... | |
double | GetCcaEdThreshold (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 |
WifiMode | GetDefaultMode (void) const |
Get the default WifiMode supported by the PHY. More... | |
Time | GetDelayUntilIdle (void) |
Ptr< WifiNetDevice > | GetDevice (void) const |
Return the device this PHY is associated with. More... | |
uint16_t | GetFrequency (void) const |
Time | GetLastRxEndTime (void) const |
Return the end time of the last received packet. More... | |
Time | GetLastRxStartTime (void) const |
Return the start time of the last received packet. More... | |
uint8_t | GetMaxSupportedRxSpatialStreams (void) const |
uint8_t | GetMaxSupportedTxSpatialStreams (void) const |
WifiMode | GetMcs (WifiModulationClass modulation, uint8_t mcs) const |
Get the WifiMode object corresponding to the given MCS of the given modulation class. More... | |
std::list< WifiMode > | GetMcsList (void) const |
The WifiPhy::GetMcsList() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception MCS indices that this WifiPhy(-derived class) can support - a set of MCS indices which is stored by each HT PHY (and above). More... | |
std::list< WifiMode > | GetMcsList (WifiModulationClass modulation) const |
Get the list of supported MCSs for the given modulation class (i.e. More... | |
Ptr< MobilityModel > | GetMobility (void) const |
Return the mobility model this PHY is associated with. More... | |
std::list< WifiMode > | GetModeList (void) const |
The WifiPhy::GetModeList() method is used (e.g., by a WifiRemoteStationManager) to determine the set of transmission/reception (non-MCS) modes that this WifiPhy(-derived class) can support - a set of modes which is stored by each non-HT PHY. More... | |
std::list< WifiMode > | GetModeList (WifiModulationClass modulation) const |
Get the list of supported (non-MCS) modes for the given modulation class (i.e. More... | |
uint16_t | GetNMcs (void) const |
uint8_t | GetNTxPower (void) const |
Return the number of available transmission power levels. More... | |
uint8_t | GetNumberOfAntennas (void) const |
const WifiPhyOperatingChannel & | GetOperatingChannel (void) const |
Get a const reference to the operating channel. More... | |
WifiPhyBand | GetPhyBand (void) const |
Get the configured Wi-Fi band. More... | |
Ptr< PhyEntity > | GetPhyEntity (WifiModulationClass modulation) const |
Get the supported PHY entity corresponding to the modulation class, for the WifiPhy instance. More... | |
Time | GetPifs (void) const |
Return the PCF Interframe Space (PIFS) for this PHY. More... | |
double | GetPowerDbm (uint8_t power) const |
Get the power of the given power level in dBm. More... | |
uint64_t | GetPreviouslyRxPpduUid (void) const |
uint8_t | GetPrimary20Index (void) const |
uint8_t | GetPrimaryChannelNumber (uint16_t primaryChannelWidth) const |
Get channel number of the primary channel. More... | |
double | GetRxGain (void) const |
Return the reception gain (dB). More... | |
double | GetRxSensitivity (void) const |
Return the receive sensitivity threshold (dBm). More... | |
bool | GetShortPhyPreambleSupported (void) const |
Return whether short PHY preamble is supported. More... | |
Time | GetSifs (void) const |
Return the Short Interframe Space (SIFS) for this PHY. More... | |
Time | GetSlot (void) const |
Return the slot duration for this PHY. More... | |
WifiStandard | GetStandard (void) const |
Get the configured Wi-Fi standard. More... | |
Ptr< WifiPhyStateHelper > | GetState (void) const |
Return the WifiPhyStateHelper of this PHY. 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 | GetTxPowerForTransmission (Ptr< const WifiPpdu > ppdu) const |
Compute the transmit power for the next transmission. More... | |
double | GetTxPowerStart (void) const |
Return the minimum available transmission power level (dBm). More... | |
bool | IsMcsSupported (WifiModulationClass modulation, uint8_t mcs) const |
Check if the given MCS of the given modulation class 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 | NotifyChannelAccessRequested (void) |
Notify the PHY that an access to the channel was requested. More... | |
void | NotifyMonitorSniffRx (Ptr< const WifiPsdu > psdu, uint16_t channelFreqMhz, WifiTxVector txVector, SignalNoiseDbm signalNoise, std::vector< bool > statusPerMpdu, uint16_t staId=SU_STA_ID) |
Public method used to fire a MonitorSniffer trace for a wifi PSDU being received. More... | |
void | NotifyMonitorSniffTx (Ptr< const WifiPsdu > psdu, uint16_t channelFreqMhz, WifiTxVector txVector, uint16_t staId=SU_STA_ID) |
Public method used to fire a MonitorSniffer trace for a wifi PSDU being transmitted. More... | |
void | NotifyRxBegin (Ptr< const WifiPsdu > psdu, const RxPowerWattPerChannelBand &rxPowersW) |
Public method used to fire a PhyRxBegin trace. More... | |
void | NotifyRxDrop (Ptr< const WifiPsdu > psdu, WifiPhyRxfailureReason reason) |
Public method used to fire a PhyRxDrop trace. More... | |
void | NotifyRxEnd (Ptr< const WifiPsdu > psdu) |
Public method used to fire a PhyRxEnd trace. More... | |
void | NotifyTxBegin (WifiConstPsduMap psdus, double txPowerW) |
Public method used to fire a PhyTxBegin trace. More... | |
void | NotifyTxDrop (Ptr< const WifiPsdu > psdu) |
Public method used to fire a PhyTxDrop trace. More... | |
void | NotifyTxEnd (WifiConstPsduMap psdus) |
Public method used to fire a PhyTxEnd trace. More... | |
void | RegisterListener (WifiPhyListener *listener) |
void | ResetCca (bool powerRestricted, double txPowerMaxSiso=0, double txPowerMaxMimo=0) |
Reset PHY to IDLE, with some potential TX power restrictions for the next transmission. More... | |
void | ResetReceive (Ptr< Event > event) |
Reset PHY at the end of the packet under reception after it has failed the PHY header. More... | |
void | ResumeFromOff (void) |
Resume from off mode. More... | |
void | ResumeFromSleep (void) |
Resume from sleep mode. More... | |
void | Send (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector) |
This function is a wrapper for the Send variant that accepts a WifiConstPsduMap as first argument. More... | |
void | Send (WifiConstPsduMap psdus, const WifiTxVector &txVector) |
void | SetCapabilitiesChangedCallback (Callback< void > callback) |
void | SetCcaEdThreshold (double threshold) |
Sets the CCA threshold (dBm). More... | |
void | SetDevice (const Ptr< WifiNetDevice > device) |
Sets the device this PHY is associated with. More... | |
void | SetErrorRateModel (const Ptr< ErrorRateModel > model) |
Sets the error rate model. More... | |
void | SetFrameCaptureModel (const Ptr< FrameCaptureModel > frameCaptureModel) |
Sets the frame capture model. More... | |
virtual void | SetInterferenceHelper (const Ptr< InterferenceHelper > helper) |
Sets the interference helper. 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 | SetOperatingChannel (const ChannelTuple &channelTuple) |
If the standard for this object has not been set yet, store the given channel settings. More... | |
void | SetPifs (Time pifs) |
Set the PCF Interframe Space (PIFS) for this PHY. More... | |
void | SetPostReceptionErrorModel (const Ptr< ErrorModel > em) |
Attach a receive ErrorModel to the WifiPhy. More... | |
void | SetPreambleDetectionModel (const Ptr< PreambleDetectionModel > preambleDetectionModel) |
Sets the preamble detection model. 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 | SetRxSensitivity (double threshold) |
Sets the receive sensitivity threshold (dBm). More... | |
void | SetShortPhyPreambleSupported (bool preamble) |
Enable or disable short PHY preamble. More... | |
void | SetSifs (Time sifs) |
Set the Short Interframe Space (SIFS) for this PHY. More... | |
void | SetSleepMode (void) |
Put in sleep mode. More... | |
void | SetSlot (Time slot) |
Set the slot duration for this PHY. 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 | StartReceivePreamble (Ptr< WifiPpdu > ppdu, RxPowerWattPerChannelBand &rxPowersW, Time rxDuration) |
Start receiving the PHY preamble of a PPDU (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<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. More... | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. More... | |
template<typename T > | |
Ptr< T > | GetObject (void) const |
Get a pointer to the requested aggregated Object. 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[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= ([[maybe_unused]] 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::SpectrumWifiPhy | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Static Public Member Functions inherited from ns3::WifiPhy | |
static void | AddStaticPhyEntity (WifiModulationClass modulation, Ptr< PhyEntity > phyEntity) |
Add the PHY entity to the map of implemented PHY entities for the given modulation class. More... | |
static Time | CalculatePhyPreambleAndHeaderDuration (const WifiTxVector &txVector) |
static Time | CalculateTxDuration (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, WifiPhyBand band) |
This function is a wrapper for the CalculateTxDuration variant that accepts a WifiConstPsduMap as first argument. More... | |
static Time | CalculateTxDuration (uint32_t size, const WifiTxVector &txVector, WifiPhyBand band, uint16_t staId=SU_STA_ID) |
static Time | CalculateTxDuration (WifiConstPsduMap psduMap, const WifiTxVector &txVector, WifiPhyBand band) |
static uint32_t | GetMaxPsduSize (WifiModulationClass modulation) |
Get the maximum PSDU size in bytes for the given modulation class. More... | |
static Time | GetPayloadDuration (uint32_t size, const WifiTxVector &txVector, WifiPhyBand band, MpduType mpdutype, bool incFlag, uint32_t &totalAmpduSize, double &totalAmpduNumSymbols, uint16_t staId) |
static Time | GetPayloadDuration (uint32_t size, const WifiTxVector &txVector, WifiPhyBand band, MpduType mpdutype=NORMAL_MPDU, uint16_t staId=SU_STA_ID) |
static Time | GetPreambleDetectionDuration (void) |
static Time | GetStartOfPacketDuration (const WifiTxVector &txVector) |
static const Ptr< const PhyEntity > | GetStaticPhyEntity (WifiModulationClass modulation) |
Get the implemented PHY entity corresponding to the modulation class. More... | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
static WifiConstPsduMap | GetWifiConstPsduMap (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector) |
Get a WifiConstPsduMap from a PSDU and the TXVECTOR to use to send the PSDU. More... | |
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... | |
Private Attributes | |
Ptr< OfdmaTestHePhy > | m_ofdmTestHePhy |
Pointer to HE PHY instance used for OFDMA test. More... | |
TracedCallback< uint64_t > | m_phyTxPpduUidTrace |
Callback providing UID of the PPDU that is about to be transmitted. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::SpectrumWifiPhy | |
WifiSpectrumBand | GetBand (uint16_t bandWidth, uint8_t bandIndex=0) override |
Get the start band index and the stop band index for a given band. More... | |
Protected Member Functions inherited from ns3::WifiPhy | |
void | AddPhyEntity (WifiModulationClass modulation, Ptr< PhyEntity > phyEntity) |
Add the PHY entity to the map of supported PHY entities for the given modulation class for the WifiPhy instance. More... | |
Time | GetDelayUntilChannelSwitch (void) |
Perform any actions necessary when user changes operating channel after initialization. More... | |
uint16_t | GetMeasurementChannelWidth (const Ptr< const WifiPpdu > ppdu) const |
Return the channel width used to measure the RSSI. More... | |
WifiSpectrumBand | GetPrimaryBand (uint16_t bandWidth) |
If the operating channel width is a multiple of 20 MHz, return the start band index and the stop band index for the primary channel of the given bandwidth (which must be a multiple of 20 MHz and not exceed the operating channel width). More... | |
void | Reset (void) |
Reset data upon end of TX or RX. More... | |
void | SwitchMaybeToCcaBusy (uint16_t channelWidth) |
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... | |
Protected Attributes inherited from ns3::WifiPhy | |
Ptr< Event > | m_currentEvent |
Hold the current event. More... | |
std::map< std::pair< uint64_t, WifiPreamble >, Ptr< Event > > | m_currentPreambleEvents |
store event associated to a PPDU (that has a unique ID and preamble combination) whose preamble is being received More... | |
EventId | m_endPhyRxEvent |
the end of PHY receive event More... | |
EventId | m_endTxEvent |
the end of transmit event More... | |
Ptr< InterferenceHelper > | m_interference |
Pointer to a helper responsible for interference computations. More... | |
std::map< WifiModulationClass, Ptr< PhyEntity > > | m_phyEntities |
This map holds the supported PHY entities. More... | |
uint64_t | m_previouslyRxPpduUid |
UID of the previously received PPDU, reset to UINT64_MAX upon transmission. More... | |
Ptr< UniformRandomVariable > | m_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< WifiPhyStateHelper > | m_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... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
SpectrumWifiPhy used for testing OFDMA.
Definition at line 127 of file wifi-phy-ofdma-test.cc.
typedef void(* OfdmaSpectrumWifiPhy::TxPpduUidCallback) (uint64_t uid) |
TracedCallback signature for UID of transmitted PPDU.
uid | the UID of the transmitted PPDU |
Definition at line 153 of file wifi-phy-ofdma-test.cc.
OfdmaSpectrumWifiPhy::OfdmaSpectrumWifiPhy | ( | uint16_t | staId | ) |
Constructor.
staId | the ID of the STA to which this PHY belongs to |
Definition at line 224 of file wifi-phy-ofdma-test.cc.
References m_ofdmTestHePhy, and ns3::PhyEntity::SetOwner().
|
virtual |
Definition at line 231 of file wifi-phy-ofdma-test.cc.
|
overridevirtual |
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::SpectrumWifiPhy.
Definition at line 244 of file wifi-phy-ofdma-test.cc.
References m_ofdmTestHePhy.
|
overridevirtual |
Initialize() implementation.
This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.
Reimplemented from ns3::SpectrumWifiPhy.
Definition at line 236 of file wifi-phy-ofdma-test.cc.
References m_ofdmTestHePhy, ns3::WifiPhy::m_phyEntities, and ns3::WIFI_MOD_CLASS_HE.
Definition at line 285 of file wifi-phy-ofdma-test.cc.
References ns3::WifiPhy::m_currentEvent.
Referenced by TestUlOfdmaPhyTransmission::VerifyEventsCleared(), and TestPhyPaddingExclusion::VerifyEventsCleared().
std::map< std::pair< uint64_t, WifiPreamble >, Ptr< Event > > & OfdmaSpectrumWifiPhy::GetCurrentPreambleEvents | ( | void | ) |
Definition at line 271 of file wifi-phy-ofdma-test.cc.
References ns3::WifiPhy::m_currentPreambleEvents.
Referenced by TestMultipleHeTbPreambles::CheckHeTbPreambles().
Time OfdmaSpectrumWifiPhy::GetEnergyDuration | ( | double | energyW, |
WifiSpectrumBand | band | ||
) |
Wrapper to InterferenceHelper method.
energyW | the minimum energy (W) requested |
band | identify the requested band |
Definition at line 291 of file wifi-phy-ofdma-test.cc.
References ns3::WifiPhy::m_interference.
|
overridevirtual |
currentChannelWidth | channel width of the current transmission (MHz) |
Reimplemented from ns3::SpectrumWifiPhy.
Definition at line 277 of file wifi-phy-ofdma-test.cc.
Referenced by TestMultipleHeTbPreambles::RxHeTbPpdu().
Definition at line 297 of file wifi-phy-ofdma-test.cc.
References ns3::WifiPhy::GetPhyEntity(), and ns3::WIFI_MOD_CLASS_HE.
Referenced by TestMultipleHeTbPreambles::RxHeTbPpdu(), and TestUlOfdmaPhyTransmission::SchedulePowerMeasurementChecks().
|
static |
Get the type ID.
Definition at line 211 of file wifi-phy-ofdma-test.cc.
References m_phyTxPpduUidTrace, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
void OfdmaSpectrumWifiPhy::SetPpduUid | ( | uint64_t | uid | ) |
Set the global PPDU UID counter.
uid | the value to which the global PPDU UID counter should be set |
Definition at line 251 of file wifi-phy-ofdma-test.cc.
References m_ofdmTestHePhy, ns3::WifiPhy::m_previouslyRxPpduUid, and OfdmaTestHePhy::SetGlobalPpduUid().
Referenced by TestUlOfdmaPhyTransmission::Reset(), TestPhyPaddingExclusion::Reset(), and TestUlOfdmaPpduUid::ResetPpduUid().
void OfdmaSpectrumWifiPhy::SetTriggerFrameUid | ( | uint64_t | uid | ) |
Since we assume trigger frame was previously received from AP, this is used to set its UID.
uid | the PPDU UID of the trigger frame |
Definition at line 258 of file wifi-phy-ofdma-test.cc.
References ns3::WifiPhy::m_previouslyRxPpduUid.
Referenced by TestUlOfdmaPhyTransmission::Reset(), and TestPhyPaddingExclusion::Reset().
ppdu | the PPDU to send |
Reimplemented from ns3::SpectrumWifiPhy.
Definition at line 264 of file wifi-phy-ofdma-test.cc.
References m_phyTxPpduUidTrace.
|
private |
Pointer to HE PHY instance used for OFDMA test.
Definition at line 206 of file wifi-phy-ofdma-test.cc.
Referenced by OfdmaSpectrumWifiPhy(), DoDispose(), DoInitialize(), and SetPpduUid().
|
private |
Callback providing UID of the PPDU that is about to be transmitted.
Definition at line 207 of file wifi-phy-ofdma-test.cc.
Referenced by GetTypeId(), and StartTx().