HE PHY slightly modified so as to return a given STA-ID in case of DL MU for OfdmaSpectrumWifiPhy. More...
Public Member Functions | |
OfdmaTestHePhy (uint16_t staId) | |
Constructor. More... | |
virtual | ~OfdmaTestHePhy () |
uint16_t | GetStaId (const Ptr< const WifiPpdu > ppdu) const override |
Return the STA ID that has been assigned to the station this PHY belongs to. More... | |
void | SetGlobalPpduUid (uint64_t uid) |
Set the global PPDU UID counter. More... | |
Public Member Functions inherited from ns3::HePhy | |
HePhy (bool buildModeList=true) | |
Constructor for HE PHY. More... | |
virtual | ~HePhy () |
Destructor for HE PHY. More... | |
Ptr< WifiPpdu > | BuildPpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, Time ppduDuration) override |
Build amendment-specific PPDU. More... | |
Time | CalculateNonOfdmaDurationForHeTb (const WifiTxVector &txVector) const |
Time | CalculateTxDuration (WifiConstPsduMap psduMap, const WifiTxVector &txVector, WifiPhyBand band) const override |
void | CancelAllEvents (void) override |
Cancel and clear all running events. More... | |
Ptr< const WifiPsdu > | GetAddressedPsduInPpdu (Ptr< const WifiPpdu > ppdu) const override |
Get the PSDU addressed to that PHY in a PPDU (useful for MU PPDU). More... | |
uint8_t | GetBssColor (void) const |
uint16_t | GetCenterFrequencyForNonOfdmaPart (const WifiTxVector &txVector, uint16_t staId) const |
Get the center frequency of the non-OFDMA part of the current TxVector for the given STA-ID. More... | |
uint64_t | GetCurrentHeTbPpduUid (void) const |
Time | GetLSigDuration (WifiPreamble preamble) const override |
uint16_t | GetMeasurementChannelWidth (const Ptr< const WifiPpdu > ppdu) const override |
Return the channel width used to measure the RSSI. More... | |
WifiSpectrumBand | GetNonOfdmaBand (const WifiTxVector &txVector, uint16_t staId) const |
Get the band used to transmit the non-OFDMA part of an HE TB PPDU. More... | |
uint16_t | GetNonOfdmaWidth (HeRu::RuSpec ru) const |
Get the width in MHz of the non-OFDMA portion of an HE TB PPDU. More... | |
const PpduFormats & | GetPpduFormats (void) const override |
Return the PPDU formats of the PHY. More... | |
WifiSpectrumBand | GetRuBandForRx (const WifiTxVector &txVector, uint16_t staId) const |
Get the band in the RX spectrum associated with the RU used by the PSDU transmitted to/by a given STA in a DL MU PPDU/HE TB PPDU. More... | |
WifiSpectrumBand | GetRuBandForTx (const WifiTxVector &txVector, uint16_t staId) const |
Get the band in the TX spectrum associated with the RU used by the PSDU transmitted to/by a given STA in a DL MU PPDU/HE TB PPDU. More... | |
Time | GetSigADuration (WifiPreamble preamble) const override |
WifiMode | GetSigAMode (void) const override |
Time | GetSigBDuration (const WifiTxVector &txVector) const override |
WifiMode | GetSigBMode (const WifiTxVector &txVector) const override |
WifiMode | GetSigMode (WifiPpduField field, const WifiTxVector &txVector) const override |
Get the WifiMode for the SIG field specified by the PPDU field. More... | |
Time | GetTrainingDuration (const WifiTxVector &txVector, uint8_t nDataLtf, uint8_t nExtensionLtf=0) const override |
void | NotifyEndOfHeSigA (HeSigAParameters params) |
Fire a EndOfHeSigA callback (if connected) once HE-SIG-A field has been received. More... | |
void | SetEndOfHeSigACallback (EndOfHeSigACallback callback) |
Set a callback for a end of HE-SIG-A. More... | |
void | SetTrigVector (const WifiTxVector &trigVector, Time validity) |
Set the TRIGVECTOR and the associated expiration time. More... | |
void | StartReceivePreamble (Ptr< WifiPpdu > ppdu, RxPowerWattPerChannelBand &rxPowersW, Time rxDuration) override |
Start receiving the PHY preamble of a PPDU (i.e. More... | |
void | StartTx (Ptr< WifiPpdu > ppdu) override |
This function is called by SpectrumWifiPhy to send the PPDU while performing amendment-specific actions. More... | |
Public Member Functions inherited from ns3::VhtPhy | |
VhtPhy (bool buildModeList=true) | |
Constructor for VHT PHY. More... | |
virtual | ~VhtPhy () |
Destructor for VHT PHY. More... | |
Ptr< WifiPpdu > | BuildPpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, Time ppduDuration) override |
Build amendment-specific PPDU. More... | |
Time | GetDuration (WifiPpduField field, const WifiTxVector &txVector) const override |
Get the duration of the PPDU field (or group of fields) used by this entity for the given transmission parameters. More... | |
Time | GetLSigDuration (WifiPreamble preamble) const override |
const PpduFormats & | GetPpduFormats (void) const override |
Return the PPDU formats of the PHY. More... | |
WifiMode | GetSigMode (WifiPpduField field, const WifiTxVector &txVector) const override |
Get the WifiMode for the SIG field specified by the PPDU field. More... | |
Time | GetTrainingDuration (const WifiTxVector &txVector, uint8_t nDataLtf, uint8_t nExtensionLtf=0) const override |
Public Member Functions inherited from ns3::HtPhy | |
HtPhy (uint8_t maxNss=1, bool buildModeList=true) | |
Constructor for HT PHY. More... | |
virtual | ~HtPhy () |
Destructor for HT PHY. More... | |
uint8_t | GetBssMembershipSelector (void) const |
uint8_t | GetMaxSupportedMcsIndexPerSs (void) const |
Set the maximum supported MCS index per spatial stream. More... | |
WifiMode | GetMcs (uint8_t index) const override |
Get the WifiMode corresponding to the given MCS index. More... | |
Time | GetPayloadDuration (uint32_t size, const WifiTxVector &txVector, WifiPhyBand band, MpduType mpdutype, bool incFlag, uint32_t &totalAmpduSize, double &totalAmpduNumSymbols, uint16_t staId) const override |
bool | HandlesMcsModes (void) const override |
Check if the WifiModes handled by this PHY are MCSs. More... | |
bool | IsMcsSupported (uint8_t index) const override |
Check if the WifiMode corresponding to the given MCS index is supported. More... | |
void | SetMaxSupportedMcsIndexPerSs (uint8_t maxIndex) |
Set the maximum supported MCS index per spatial stream. More... | |
void | SetMaxSupportedNss (uint8_t maxNss) |
Configure the maximum number of spatial streams supported by this HT PHY. More... | |
Public Member Functions inherited from ns3::OfdmPhy | |
OfdmPhy (OfdmPhyVariant variant=OFDM_PHY_DEFAULT, bool buildModeList=true) | |
Constructor for OFDM PHY. More... | |
virtual | ~OfdmPhy () |
Destructor for OFDM PHY. More... | |
Time | GetPayloadDuration (uint32_t size, const WifiTxVector &txVector, WifiPhyBand band, MpduType mpdutype, bool incFlag, uint32_t &totalAmpduSize, double &totalAmpduNumSymbols, uint16_t staId) const override |
Public Member Functions inherited from ns3::PhyEntity | |
virtual | ~PhyEntity () |
Destructor for PHY entity. More... | |
std::list< WifiMode >::const_iterator | begin (void) const |
Return a const iterator to the first WifiMode. More... | |
Time | CalculatePhyPreambleAndHeaderDuration (const WifiTxVector &txVector) const |
void | CancelRunningEndPreambleDetectionEvents (bool clear=false) |
Cancel and eventually clear all end preamble detection events. More... | |
std::list< WifiMode >::const_iterator | end (void) const |
Return a const iterator to past-the-last WifiMode. More... | |
void | EndReceiveField (WifiPpduField field, Ptr< Event > event) |
End receiving a given field. More... | |
void | EndReceivePayload (Ptr< Event > event) |
The last symbol of the PPDU has arrived. More... | |
Time | GetDurationUpToField (WifiPpduField field, const WifiTxVector &txVector) const |
Get the duration of the PPDU up to (but excluding) the given field. More... | |
WifiPpduField | GetNextField (WifiPpduField currentField, WifiPreamble preamble) const |
Return the field following the provided one. More... | |
virtual uint8_t | GetNumModes (void) const |
PhyHeaderSections | GetPhyHeaderSections (const WifiTxVector &txVector, Time ppduStart) const |
Return a map of PHY header chunk information per PPDU field. More... | |
Time | GetRemainingDurationAfterField (Ptr< const WifiPpdu > ppdu, WifiPpduField field) const |
Get the remaining duration of the PPDU after the end of the given field. More... | |
virtual uint16_t | GetRxChannelWidth (const WifiTxVector &txVector) const |
Return the channel width used in the reception spectrum model. More... | |
virtual bool | IsModeSupported (WifiMode mode) const |
Check if the WifiMode is supported. More... | |
bool | NoEndPreambleDetectionEvents (void) const |
void | ResetReceive (Ptr< Event > event) |
Reset PHY at the end of the PPDU under reception after it has failed the PHY header. More... | |
void | SetOwner (Ptr< WifiPhy > wifiPhy) |
Set the WifiPhy owning this PHY entity. More... | |
void | StartReceiveField (WifiPpduField field, Ptr< Event > event) |
Start receiving a given field. More... | |
void | Transmit (Time txDuration, Ptr< WifiPpdu > ppdu, std::string type) |
This function prepares most of the WifiSpectrumSignalParameters parameters and invokes SpectrumWifiPhy's Transmit method. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< PhyEntity > | |
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... | |
Private Attributes | |
uint16_t | m_staId |
ID of the STA to which this PHY belongs to. More... | |
Additional Inherited Members | |
Public Types inherited from ns3::HePhy | |
typedef Callback< void, HeSigAParameters > | EndOfHeSigACallback |
Callback upon end of HE-SIG-A. More... | |
Public Types inherited from ns3::PhyEntity | |
typedef std::pair< std::pair< Time, Time >, WifiMode > | PhyHeaderChunkInfo |
A pair containing information on the PHY header chunk, namely the start and stop times of the chunk and the WifiMode used. More... | |
typedef std::map< WifiPpduField, PhyHeaderChunkInfo > | PhyHeaderSections |
A map of PhyHeaderChunkInfo elements per PPDU field. More... | |
enum | PhyRxFailureAction { DROP = 0 , ABORT , IGNORE } |
Action to perform in case of RX failure. More... | |
Static Public Member Functions inherited from ns3::HePhy | |
static std::pair< uint16_t, Time > | ConvertHeTbPpduDurationToLSigLength (Time ppduDuration, const WifiTxVector &txVector, WifiPhyBand band) |
Compute the L-SIG length value corresponding to the given HE TB PPDU duration. More... | |
static Time | ConvertLSigLengthToHeTbPpduDuration (uint16_t length, const WifiTxVector &txVector, WifiPhyBand band) |
static WifiCodeRate | GetCodeRate (uint8_t mcsValue) |
Return the coding rate corresponding to the supplied HE MCS index. More... | |
static uint16_t | GetConstellationSize (uint8_t mcsValue) |
Return the constellation size corresponding to the supplied HE MCS index. More... | |
static uint64_t | GetDataRate (uint8_t mcsValue, uint16_t channelWidth, uint16_t guardInterval, uint8_t nss) |
Return the data rate corresponding to the supplied HE MCS index, channel width, guard interval, and number of spatial streams. More... | |
static uint64_t | GetDataRateFromTxVector (const WifiTxVector &txVector, uint16_t staId=SU_STA_ID) |
Return the data rate corresponding to the supplied TXVECTOR for the STA-ID. More... | |
static WifiMode | GetHeMcs (uint8_t index) |
Return the HE MCS corresponding to the provided index. More... | |
static WifiMode | GetHeMcs0 (void) |
Return MCS 0 from HE MCS values. More... | |
static WifiMode | GetHeMcs1 (void) |
Return MCS 1 from HE MCS values. More... | |
static WifiMode | GetHeMcs10 (void) |
Return MCS 10 from HE MCS values. More... | |
static WifiMode | GetHeMcs11 (void) |
Return MCS 11 from HE MCS values. More... | |
static WifiMode | GetHeMcs2 (void) |
Return MCS 2 from HE MCS values. More... | |
static WifiMode | GetHeMcs3 (void) |
Return MCS 3 from HE MCS values. More... | |
static WifiMode | GetHeMcs4 (void) |
Return MCS 4 from HE MCS values. More... | |
static WifiMode | GetHeMcs5 (void) |
Return MCS 5 from HE MCS values. More... | |
static WifiMode | GetHeMcs6 (void) |
Return MCS 6 from HE MCS values. More... | |
static WifiMode | GetHeMcs7 (void) |
Return MCS 7 from HE MCS values. More... | |
static WifiMode | GetHeMcs8 (void) |
Return MCS 8 from HE MCS values. More... | |
static WifiMode | GetHeMcs9 (void) |
Return MCS 9 from HE MCS values. More... | |
static uint64_t | GetNonHtReferenceRate (uint8_t mcsValue) |
Calculate the rate in bps of the non-HT Reference Rate corresponding to the supplied HE MCS index. More... | |
static uint64_t | GetPhyRate (uint8_t mcsValue, uint16_t channelWidth, uint16_t guardInterval, uint8_t nss) |
Return the PHY rate corresponding to the supplied HE MCS index, channel width, guard interval, and number of spatial stream. More... | |
static uint64_t | GetPhyRateFromTxVector (const WifiTxVector &txVector, uint16_t staId=SU_STA_ID) |
Return the PHY rate corresponding to the supplied TXVECTOR for the STA-ID. More... | |
static void | InitializeModes (void) |
Initialize all HE modes. More... | |
static bool | IsAllowed (const WifiTxVector &txVector) |
Check whether the combination in TXVECTOR is allowed. More... | |
Static Public Member Functions inherited from ns3::VhtPhy | |
static WifiCodeRate | GetCodeRate (uint8_t mcsValue) |
Return the coding rate corresponding to the supplied VHT MCS index. More... | |
static uint16_t | GetConstellationSize (uint8_t mcsValue) |
Return the constellation size corresponding to the supplied VHT MCS index. More... | |
static uint64_t | GetDataRate (uint8_t mcsValue, uint16_t channelWidth, uint16_t guardInterval, uint8_t nss) |
Return the data rate corresponding to the supplied VHT MCS index, channel width, guard interval, and number of spatial streams. More... | |
static uint64_t | GetDataRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
Return the data rate corresponding to the supplied TXVECTOR. More... | |
static uint64_t | GetNonHtReferenceRate (uint8_t mcsValue) |
Calculate the rate in bps of the non-HT Reference Rate corresponding to the supplied VHT MCS index. More... | |
static uint64_t | GetPhyRate (uint8_t mcsValue, uint16_t channelWidth, uint16_t guardInterval, uint8_t nss) |
Return the PHY rate corresponding to the supplied VHT MCS index, channel width, guard interval, and number of spatial stream. More... | |
static uint64_t | GetPhyRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
Return the PHY rate corresponding to the supplied TXVECTOR. More... | |
static WifiMode | GetVhtMcs (uint8_t index) |
Return the VHT MCS corresponding to the provided index. More... | |
static WifiMode | GetVhtMcs0 (void) |
Return MCS 0 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs1 (void) |
Return MCS 1 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs2 (void) |
Return MCS 2 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs3 (void) |
Return MCS 3 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs4 (void) |
Return MCS 4 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs5 (void) |
Return MCS 5 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs6 (void) |
Return MCS 6 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs7 (void) |
Return MCS 7 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs8 (void) |
Return MCS 8 from VHT MCS values. More... | |
static WifiMode | GetVhtMcs9 (void) |
Return MCS 9 from VHT MCS values. More... | |
static void | InitializeModes (void) |
Initialize all VHT modes. More... | |
static bool | IsAllowed (const WifiTxVector &txVector) |
Check whether the combination in TXVECTOR is allowed. More... | |
static bool | IsCombinationAllowed (uint8_t mcsValue, uint16_t channelWidth, uint8_t nss) |
Check whether the combination of <MCS, channel width, NSS> is allowed. More... | |
Static Public Member Functions inherited from ns3::HtPhy | |
static WifiCodeRate | GetCodeRate (uint8_t mcsValue) |
Return the coding rate corresponding to the supplied HT MCS index between 0 and 7, since HT MCS index > 8 is used for higher NSS. More... | |
static uint16_t | GetConstellationSize (uint8_t mcsValue) |
Return the constellation size corresponding to the supplied HT MCS index between 0 and 7, since HT MCS index > 8 is used for higher NSS. More... | |
static uint64_t | GetDataRate (uint8_t mcsValue, uint16_t channelWidth, uint16_t guardInterval, uint8_t nss) |
Return the data rate corresponding to the supplied HT MCS index, channel width, guard interval, and number of spatial streams. More... | |
static uint64_t | GetDataRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
Return the data rate corresponding to the supplied TXVECTOR. More... | |
static WifiCodeRate | GetHtCodeRate (uint8_t mcsValue) |
Return the coding rate corresponding to the supplied HT MCS index. More... | |
static uint16_t | GetHtConstellationSize (uint8_t mcsValue) |
Return the constellation size corresponding to the supplied HT MCS index. More... | |
static WifiMode | GetHtMcs (uint8_t index) |
Return the HT MCS corresponding to the provided index. More... | |
static WifiMode | GetHtMcs0 (void) |
Return MCS 0 from HT MCS values. More... | |
static WifiMode | GetHtMcs1 (void) |
Return MCS 1 from HT MCS values. More... | |
static WifiMode | GetHtMcs10 (void) |
Return MCS 10 from HT MCS values. More... | |
static WifiMode | GetHtMcs11 (void) |
Return MCS 11 from HT MCS values. More... | |
static WifiMode | GetHtMcs12 (void) |
Return MCS 12 from HT MCS values. More... | |
static WifiMode | GetHtMcs13 (void) |
Return MCS 13 from HT MCS values. More... | |
static WifiMode | GetHtMcs14 (void) |
Return MCS 14 from HT MCS values. More... | |
static WifiMode | GetHtMcs15 (void) |
Return MCS 15 from HT MCS values. More... | |
static WifiMode | GetHtMcs16 (void) |
Return MCS 16 from HT MCS values. More... | |
static WifiMode | GetHtMcs17 (void) |
Return MCS 17 from HT MCS values. More... | |
static WifiMode | GetHtMcs18 (void) |
Return MCS 18 from HT MCS values. More... | |
static WifiMode | GetHtMcs19 (void) |
Return MCS 19 from HT MCS values. More... | |
static WifiMode | GetHtMcs2 (void) |
Return MCS 2 from HT MCS values. More... | |
static WifiMode | GetHtMcs20 (void) |
Return MCS 20 from HT MCS values. More... | |
static WifiMode | GetHtMcs21 (void) |
Return MCS 21 from HT MCS values. More... | |
static WifiMode | GetHtMcs22 (void) |
Return MCS 22 from HT MCS values. More... | |
static WifiMode | GetHtMcs23 (void) |
Return MCS 23 from HT MCS values. More... | |
static WifiMode | GetHtMcs24 (void) |
Return MCS 24 from HT MCS values. More... | |
static WifiMode | GetHtMcs25 (void) |
Return MCS 25 from HT MCS values. More... | |
static WifiMode | GetHtMcs26 (void) |
Return MCS 26 from HT MCS values. More... | |
static WifiMode | GetHtMcs27 (void) |
Return MCS 27 from HT MCS values. More... | |
static WifiMode | GetHtMcs28 (void) |
Return MCS 28 from HT MCS values. More... | |
static WifiMode | GetHtMcs29 (void) |
Return MCS 29 from HT MCS values. More... | |
static WifiMode | GetHtMcs3 (void) |
Return MCS 3 from HT MCS values. More... | |
static WifiMode | GetHtMcs30 (void) |
Return MCS 30 from HT MCS values. More... | |
static WifiMode | GetHtMcs31 (void) |
Return MCS 31 from HT MCS values. More... | |
static WifiMode | GetHtMcs4 (void) |
Return MCS 4 from HT MCS values. More... | |
static WifiMode | GetHtMcs5 (void) |
Return MCS 5 from HT MCS values. More... | |
static WifiMode | GetHtMcs6 (void) |
Return MCS 6 from HT MCS values. More... | |
static WifiMode | GetHtMcs7 (void) |
Return MCS 7 from HT MCS values. More... | |
static WifiMode | GetHtMcs8 (void) |
Return MCS 8 from HT MCS values. More... | |
static WifiMode | GetHtMcs9 (void) |
Return MCS 9 from HT MCS values. More... | |
static WifiMode | GetLSigMode (void) |
static uint64_t | GetNonHtReferenceRate (uint8_t mcsValue) |
Calculate the rate in bps of the non-HT Reference Rate corresponding to the supplied HT MCS index. More... | |
static uint64_t | GetPhyRate (uint8_t mcsValue, uint16_t channelWidth, uint16_t guardInterval, uint8_t nss) |
Return the PHY rate corresponding to the supplied HT MCS index, channel width, guard interval, and number of spatial stream. More... | |
static uint64_t | GetPhyRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
Return the PHY rate corresponding to the supplied TXVECTOR. More... | |
static void | InitializeModes (void) |
Initialize all HT modes. More... | |
static bool | IsAllowed (const WifiTxVector &txVector) |
Check whether the combination in TXVECTOR is allowed. More... | |
Static Public Member Functions inherited from ns3::OfdmPhy | |
static WifiCodeRate | GetCodeRate (const std::string &name) |
Return the WifiCodeRate from the OFDM mode's unique name using ModulationLookupTable. More... | |
static uint16_t | GetConstellationSize (const std::string &name) |
Return the constellation size from the OFDM mode's unique name using ModulationLookupTable. More... | |
static uint64_t | GetDataRate (const std::string &name, uint16_t channelWidth) |
Return the data rate from the OFDM mode's unique name and the supplied parameters. More... | |
static uint64_t | GetDataRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
Return the data rate corresponding to the supplied TXVECTOR. More... | |
static WifiMode | GetOfdmRate (uint64_t rate, uint16_t bw=20) |
Return a WifiMode for OFDM corresponding to the provided rate and the channel bandwidth (20, 10, or 5 MHz). More... | |
static WifiMode | GetOfdmRate12Mbps (void) |
Return a WifiMode for OFDM at 12Mbps. More... | |
static WifiMode | GetOfdmRate12MbpsBW10MHz (void) |
Return a WifiMode for OFDM at 12 Mbps with 10 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate12MbpsBW5MHz (void) |
Return a WifiMode for OFDM at 12 Mbps with 5 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate13_5MbpsBW5MHz (void) |
Return a WifiMode for OFDM at 13.5 Mbps with 5 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate18Mbps (void) |
Return a WifiMode for OFDM at 18 Mbps. More... | |
static WifiMode | GetOfdmRate18MbpsBW10MHz (void) |
Return a WifiMode for OFDM at 18 Mbps with 10 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate1_5MbpsBW5MHz (void) |
Return a WifiMode for OFDM at 1.5 Mbps with 5 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate24Mbps (void) |
Return a WifiMode for OFDM at 24 Mbps. More... | |
static WifiMode | GetOfdmRate24MbpsBW10MHz (void) |
Return a WifiMode for OFDM at 24 Mbps with 10 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate27MbpsBW10MHz (void) |
Return a WifiMode for OFDM at 27 Mbps with 10 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate2_25MbpsBW5MHz (void) |
Return a WifiMode for OFDM at 2.25 Mbps with 5 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate36Mbps (void) |
Return a WifiMode for OFDM at 36 Mbps. More... | |
static WifiMode | GetOfdmRate3MbpsBW10MHz (void) |
Return a WifiMode for OFDM at 3 Mbps with 10 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate3MbpsBW5MHz (void) |
Return a WifiMode for OFDM at 3 Mbps with 5 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate48Mbps (void) |
Return a WifiMode for OFDM at 48 Mbps. More... | |
static WifiMode | GetOfdmRate4_5MbpsBW10MHz (void) |
Return a WifiMode for OFDM at 4.5 Mbps with 10 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate4_5MbpsBW5MHz (void) |
Return a WifiMode for OFDM at 4.5 Mbps with 5 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate54Mbps (void) |
Return a WifiMode for OFDM at 54 Mbps. More... | |
static WifiMode | GetOfdmRate6Mbps (void) |
Return a WifiMode for OFDM at 6 Mbps. More... | |
static WifiMode | GetOfdmRate6MbpsBW10MHz (void) |
Return a WifiMode for OFDM at 6 Mbps with 10 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate6MbpsBW5MHz (void) |
Return a WifiMode for OFDM at 6 Mbps with 5 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate9Mbps (void) |
Return a WifiMode for OFDM at 9 Mbps. More... | |
static WifiMode | GetOfdmRate9MbpsBW10MHz (void) |
Return a WifiMode for OFDM at 9 Mbps with 10 MHz channel spacing. More... | |
static WifiMode | GetOfdmRate9MbpsBW5MHz (void) |
Return a WifiMode for OFDM at 9 Mbps with 5 MHz channel spacing. More... | |
static uint64_t | GetPhyRate (const std::string &name, uint16_t channelWidth) |
Return the PHY rate from the OFDM mode's unique name and the supplied parameters. More... | |
static uint64_t | GetPhyRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
Return the PHY rate corresponding to the supplied TXVECTOR. More... | |
static void | InitializeModes (void) |
Initialize all OFDM modes (for all variants). More... | |
static bool | IsAllowed (const WifiTxVector &txVector) |
Check whether the combination in TXVECTOR is allowed. More... | |
Protected Types inherited from ns3::PhyEntity | |
typedef std::pair< WifiCodeRate, uint16_t > | CodeRateConstellationSizePair |
A pair to hold modulation information: code rate and constellation size. More... | |
typedef std::map< std::string, CodeRateConstellationSizePair > | ModulationLookupTable |
A modulation lookup table using unique name of modulation as key. More... | |
typedef std::map< WifiPreamble, std::vector< WifiPpduField > > | PpduFormats |
A map of PPDU field elements per preamble type. More... | |
typedef std::pair< uint64_t, uint16_t > | UidStaIdPair |
A pair of a UID and STA_ID. More... | |
Protected Member Functions inherited from ns3::HePhy | |
void | DoAbortCurrentReception (WifiPhyRxfailureReason reason) override |
Perform amendment-specific actions before aborting the current reception. More... | |
void | DoEndReceivePayload (Ptr< const WifiPpdu > ppdu) override |
Perform amendment-specific actions at the end of the reception of the payload. More... | |
Ptr< Event > | DoGetEvent (Ptr< const WifiPpdu > ppdu, RxPowerWattPerChannelBand &rxPowersW) override |
Get the event corresponding to the incoming PPDU. More... | |
void | DoResetReceive (Ptr< Event > event) override |
Perform amendment-specific actions before resetting PHY at the end of the PPDU under reception after it has failed the PHY header. More... | |
void | DoStartReceivePayload (Ptr< Event > event) override |
Start receiving the PSDU (i.e. More... | |
std::pair< uint16_t, WifiSpectrumBand > | GetChannelWidthAndBand (const WifiTxVector &txVector, uint16_t staId) const override |
Get the channel width and band to use (will be overloaded by child classes). More... | |
uint32_t | GetMaxPsduSize (void) const override |
Get the maximum PSDU size in bytes. More... | |
Ptr< SpectrumValue > | GetTxPowerSpectralDensity (double txPowerW, Ptr< const WifiPpdu > ppdu) const override |
WifiConstPsduMap | GetWifiConstPsduMap (Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector) const override |
Get a WifiConstPsduMap from a PSDU and the TXVECTOR to use to send the PSDU. More... | |
bool | IsConfigSupported (Ptr< const WifiPpdu > ppdu) const override |
Checks if the signaled configuration (excluding bandwidth) is supported by the PHY. More... | |
uint64_t | ObtainNextUid (const WifiTxVector &txVector) override |
Obtain the next UID for the PPDU to transmit. More... | |
PhyFieldRxStatus | ProcessSigA (Ptr< Event > event, PhyFieldRxStatus status) override |
Process SIG-A, perform amendment-specific actions, and provide an updated status of the reception. More... | |
PhyFieldRxStatus | ProcessSigB (Ptr< Event > event, PhyFieldRxStatus status) override |
Process SIG-B, perform amendment-specific actions, and provide an updated status of the reception. More... | |
void | StartReceiveOfdmaPayload (Ptr< Event > event) |
Start receiving the PSDU (i.e. More... | |
Protected Member Functions inherited from ns3::VhtPhy | |
PhyFieldRxStatus | DoEndReceiveField (WifiPpduField field, Ptr< Event > event) override |
End receiving a given field, perform amendment-specific actions, and provide the status of the reception. More... | |
PhyFieldRxStatus | EndReceiveSigA (Ptr< Event > event) |
End receiving the SIG-A, perform VHT-specific actions, and provide the status of the reception. More... | |
PhyFieldRxStatus | EndReceiveSigB (Ptr< Event > event) |
End receiving the SIG-B, perform VHT-specific actions, and provide the status of the reception. More... | |
Time | GetHtSigDuration (void) const override |
WifiMode | GetHtSigMode (void) const override |
uint32_t | GetMaxPsduSize (void) const override |
Get the maximum PSDU size in bytes. More... | |
uint8_t | GetNumberBccEncoders (const WifiTxVector &txVector) const override |
bool | IsAllConfigSupported (WifiPpduField field, Ptr< const WifiPpdu > ppdu) const override |
Checks if the signaled configuration (including bandwidth) is supported by the PHY. More... | |
Protected Member Functions inherited from ns3::HtPhy | |
Ptr< SpectrumValue > | GetTxPowerSpectralDensity (double txPowerW, Ptr< const WifiPpdu > ppdu) const override |
bool | IsConfigSupported (Ptr< const WifiPpdu > ppdu) const override |
Checks if the signaled configuration (excluding bandwidth) is supported by the PHY. More... | |
Protected Member Functions inherited from ns3::OfdmPhy | |
PhyFieldRxStatus | EndReceiveHeader (Ptr< Event > event) |
End receiving the header, perform OFDM-specific actions, and provide the status of the reception. More... | |
virtual Time | GetHeaderDuration (const WifiTxVector &txVector) const |
virtual WifiMode | GetHeaderMode (const WifiTxVector &txVector) const |
uint8_t | GetNumberServiceBits (void) const |
virtual Time | GetPreambleDuration (const WifiTxVector &txVector) const |
Time | GetSignalExtension (WifiPhyBand band) const |
Ptr< SpectrumValue > | GetTxPowerSpectralDensity (double txPowerW, Ptr< const WifiPpdu > ppdu) const override |
virtual bool | IsChannelWidthSupported (Ptr< const WifiPpdu > ppdu) const |
Checks if the PPDU's bandwidth is supported by the PHY. More... | |
Protected Member Functions inherited from ns3::PhyEntity | |
void | AbortCurrentReception (WifiPhyRxfailureReason reason) |
Abort the current reception. More... | |
void | AddPreambleEvent (Ptr< Event > event) |
Add an entry to the map of current preamble events (stored in WifiPhy). More... | |
Ptr< Event > | CreateInterferenceEvent (Ptr< const WifiPpdu > ppdu, const WifiTxVector &txVector, Time duration, RxPowerWattPerChannelBand &rxPower, bool isStartOfdmaRxing=false) |
Create an event using WifiPhy's InterferenceHelper class. More... | |
virtual PhyFieldRxStatus | DoEndReceivePreamble (Ptr< Event > event) |
End receiving the preamble, perform amendment-specific actions, and provide the status of the reception. More... | |
virtual bool | DoStartReceiveField (WifiPpduField field, Ptr< Event > event) |
Start receiving a given field, perform amendment-specific actions, and signify if it is supported. More... | |
void | DropPreambleEvent (Ptr< const WifiPpdu > ppdu, WifiPhyRxfailureReason reason, Time endRx, uint16_t measurementChannelWidth) |
Drop the PPDU and the corresponding preamble detection event, but keep CCA busy state after the completion of the currently processed event. More... | |
void | EndOfMpdu (Ptr< Event > event, Ptr< const WifiPsdu > psdu, size_t mpduIndex, Time relativeStart, Time mpduDuration) |
The last symbol of an MPDU in an A-MPDU has arrived. More... | |
void | EndPreambleDetectionPeriod (Ptr< Event > event) |
End the preamble detection period. More... | |
void | ErasePreambleEvent (Ptr< const WifiPpdu > ppdu, Time rxDuration) |
Erase the event corresponding to the PPDU from the list of preamble events, but consider it as noise after the completion of the current event. More... | |
uint16_t | GetCenterFrequencyForChannelWidth (const WifiTxVector &txVector) const |
Get the center frequency of the channel corresponding the current TxVector rather than that of the supported channel width. More... | |
Ptr< const Event > | GetCurrentEvent (void) const |
Get the pointer to the current event (stored in WifiPhy). More... | |
const std::map< std::pair< uint64_t, WifiPreamble >, Ptr< Event > > & | GetCurrentPreambleEvents (void) const |
Get the map of current preamble events (stored in WifiPhy). More... | |
uint16_t | GetGuardBandwidth (uint16_t currentChannelWidth) const |
SnrPer | GetPhyHeaderSnrPer (WifiPpduField field, Ptr< Event > event) const |
Obtain the SNR and PER of the PPDU field from the WifiPhy's InterferenceHelper class. More... | |
double | GetRandomValue (void) const |
Obtain a random value from the WifiPhy's generator. More... | |
std::pair< bool, SignalNoiseDbm > | GetReceptionStatus (Ptr< const WifiPsdu > psdu, Ptr< Event > event, uint16_t staId, Time relativeMpduStart, Time mpduDuration) |
Get the reception status for the provided MPDU and notify. More... | |
double | GetRxPowerWForPpdu (Ptr< Event > event) const |
Obtain the received power (W) for a given band. More... | |
std::tuple< double, double, double > | GetTxMaskRejectionParams (void) const |
void | NotifyInterferenceRxEndAndClear (bool reset) |
Notify WifiPhy's InterferenceHelper of the end of the reception, clear maps and end of MPDU event, and eventually reset WifiPhy. More... | |
void | NotifyPayloadBegin (const WifiTxVector &txVector, const Time &payloadDuration) |
Fire the trace indicating that the PHY is starting to receive the payload of a PPDU. More... | |
void | ScheduleEndOfMpdus (Ptr< Event > event) |
Schedule end of MPDUs events. More... | |
void | StartPreambleDetectionPeriod (Ptr< Event > event) |
Start the preamble detection period. More... | |
void | StartReceivePayload (Ptr< Event > event) |
Start receiving the PSDU (i.e. More... | |
void | UpdateInterferenceEvent (Ptr< Event > event, const RxPowerWattPerChannelBand &rxPower) |
Update an event in WifiPhy's InterferenceHelper class. More... | |
Static Protected Member Functions inherited from ns3::HePhy | |
static uint64_t | CalculateNonHtReferenceRate (WifiCodeRate codeRate, uint16_t constellationSize) |
Return the rate (in bps) of the non-HT Reference Rate which corresponds to the supplied code rate and constellation size. More... | |
static uint16_t | GetUsableSubcarriers (uint16_t channelWidth) |
Static Protected Member Functions inherited from ns3::VhtPhy | |
static uint64_t | CalculateNonHtReferenceRate (WifiCodeRate codeRate, uint16_t constellationSize) |
Return the rate (in bps) of the non-HT Reference Rate which corresponds to the supplied code rate and constellation size. More... | |
static uint16_t | GetUsableSubcarriers (uint16_t channelWidth) |
Static Protected Member Functions inherited from ns3::HtPhy | |
static uint64_t | CalculateDataRate (double symbolDuration, uint16_t guardInterval, uint16_t usableSubCarriers, uint16_t numberOfBitsPerSubcarrier, double codingRate, uint8_t nss) |
Calculates data rate from the supplied parameters. More... | |
static uint64_t | CalculateNonHtReferenceRate (WifiCodeRate codeRate, uint16_t constellationSize) |
Return the rate (in bps) of the non-HT Reference Rate which corresponds to the supplied code rate and constellation size. More... | |
static uint64_t | CalculatePhyRate (WifiCodeRate codeRate, uint64_t dataRate) |
Return the PHY rate corresponding to the supplied code rate and data rate. More... | |
static double | GetCodeRatio (WifiCodeRate codeRate) |
Convert WifiCodeRate to a ratio, e.g., code ratio of WIFI_CODE_RATE_1_2 is 0.5. More... | |
static uint16_t | GetUsableSubcarriers (uint16_t channelWidth) |
Static Protected Member Functions inherited from ns3::OfdmPhy | |
static uint64_t | CalculateDataRate (double symbolDuration, uint16_t guardInterval, uint16_t usableSubCarriers, uint16_t numberOfBitsPerSubcarrier, double codingRate) |
Calculates data rate from the supplied parameters. More... | |
static uint64_t | CalculateDataRate (WifiCodeRate codeRate, uint16_t constellationSize, uint16_t channelWidth) |
Calculates data rate from the supplied parameters. More... | |
static uint64_t | CalculatePhyRate (WifiCodeRate codeRate, uint64_t dataRate) |
Calculate the PHY rate in bps from code rate and data rate. More... | |
static double | GetCodeRatio (WifiCodeRate codeRate) |
Convert WifiCodeRate to a ratio, e.g., code ratio of WIFI_CODE_RATE_1_2 is 0.5. More... | |
Protected Attributes inherited from ns3::HePhy | |
std::map< uint16_t, EventId > | m_beginOfdmaPayloadRxEvents |
the beginning of the OFDMA payload reception events (indexed by STA-ID) More... | |
uint64_t | m_currentHeTbPpduUid |
UID of the HE TB PPDU being received. More... | |
EndOfHeSigACallback | m_endOfHeSigACallback |
end of HE-SIG-A callback More... | |
uint64_t | m_previouslyTxPpduUid |
UID of the previously sent PPDU, used by AP to recognize response HE TB PPDUs. More... | |
WifiTxVector | m_trigVector |
the TRIGVECTOR More... | |
Time | m_trigVectorExpirationTime |
expiration time of the TRIGVECTOR More... | |
Protected Attributes inherited from ns3::HtPhy | |
uint8_t | m_bssMembershipSelector |
the BSS membership selector More... | |
uint8_t | m_maxMcsIndexPerSs |
the maximum MCS index per spatial stream as defined by the standard More... | |
uint8_t | m_maxSupportedMcsIndexPerSs |
the maximum supported MCS index per spatial stream More... | |
Protected Attributes inherited from ns3::PhyEntity | |
std::vector< EventId > | m_endOfMpduEvents |
the end of MPDU events (only used for A-MPDUs) More... | |
std::vector< EventId > | m_endPreambleDetectionEvents |
the end of preamble detection events More... | |
std::vector< EventId > | m_endRxPayloadEvents |
the end of receive events (only one unless UL MU reception) More... | |
std::list< WifiMode > | m_modeList |
the list of supported modes More... | |
std::map< UidStaIdPair, SignalNoiseDbm > | m_signalNoiseMap |
Map of the latest signal power and noise power in dBm (noise power includes the noise figure) More... | |
Ptr< WifiPhyStateHelper > | m_state |
Pointer to WifiPhyStateHelper of the WifiPhy (to make it reachable for child classes) More... | |
std::map< UidStaIdPair, std::vector< bool > > | m_statusPerMpduMap |
Map of the current reception status per MPDU that is filled in as long as MPDUs are being processed by the PHY in case of an A-MPDU. More... | |
Ptr< WifiPhy > | m_wifiPhy |
Pointer to the owning WifiPhy. More... | |
Static Protected Attributes inherited from ns3::PhyEntity | |
static uint64_t | m_globalPpduUid = 0 |
Global counter of the PPDU UID. More... | |
HE PHY slightly modified so as to return a given STA-ID in case of DL MU for OfdmaSpectrumWifiPhy.
Definition at line 67 of file wifi-phy-ofdma-test.cc.
OfdmaTestHePhy::OfdmaTestHePhy | ( | uint16_t | staId | ) |
Constructor.
staId | the ID of the STA to which this PHY belongs to |
Definition at line 98 of file wifi-phy-ofdma-test.cc.
|
virtual |
Definition at line 104 of file wifi-phy-ofdma-test.cc.
Return the STA ID that has been assigned to the station this PHY belongs to.
This is typically called for MU PPDUs, in order to pick the correct PSDU.
ppdu | the PPDU for which the STA ID is requested |
Reimplemented from ns3::HePhy.
Definition at line 109 of file wifi-phy-ofdma-test.cc.
References m_staId, and ns3::WIFI_PPDU_TYPE_DL_MU.
void OfdmaTestHePhy::SetGlobalPpduUid | ( | 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 119 of file wifi-phy-ofdma-test.cc.
References ns3::PhyEntity::m_globalPpduUid.
Referenced by OfdmaSpectrumWifiPhy::SetPpduUid().
|
private |
ID of the STA to which this PHY belongs to.
Definition at line 95 of file wifi-phy-ofdma-test.cc.
Referenced by GetStaId().