HE PHY used for testing MU-RTS/CTS. More...
Inheritance diagram for MuRtsCtsHePhy:
Collaboration diagram for MuRtsCtsHePhy:Public Member Functions | |
| MuRtsCtsHePhy () | |
| ~MuRtsCtsHePhy () override | |
| void | SetMuRtsTxVector (const WifiTxVector &muRtsTxVector) |
| Set the TXVECTOR of the previously transmitted MU-RTS. | |
| void | SetPreviousTxPpduUid (uint64_t uid) |
| Set the previous TX PPDU UID counter. | |
Public Member Functions inherited from ns3::HePhy | |
| HePhy (bool buildModeList=true) | |
| Constructor for HE PHY. | |
| ~HePhy () override | |
| Destructor for HE PHY. | |
| Ptr< WifiPpdu > | BuildPpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, Time ppduDuration) override |
| Build amendment-specific PPDU. | |
| virtual Time | CalculateNonHeDurationForHeMu (const WifiTxVector &txVector) const |
| virtual Time | CalculateNonHeDurationForHeTb (const WifiTxVector &txVector) const |
| Time | CalculateTxDuration (const WifiConstPsduMap &psduMap, const WifiTxVector &txVector, WifiPhyBand band) const override |
| void | CancelAllEvents () override |
| Cancel and clear all running events. | |
| bool | CanStartRx (Ptr< const WifiPpdu > ppdu) const override |
| Determine whether the PHY shall issue a PHY-RXSTART.indication primitive in response to a given PPDU. | |
| Ptr< const WifiPsdu > | GetAddressedPsduInPpdu (Ptr< const WifiPpdu > ppdu) const override |
| Get the PSDU addressed to that PHY in a PPDU (useful for MU PPDU). | |
| uint8_t | GetBssColor () const |
| dBm_u | GetCcaThreshold (const Ptr< const WifiPpdu > ppdu, WifiChannelListType channelType) const override |
| Return the CCA threshold for a given channel type. | |
| std::vector< MHz_u > | GetCenterFrequenciesForNonHePart (const Ptr< const WifiPpdu > ppdu, uint16_t staId) const |
| Get the center frequency per segment of the non-HE portion of the current PPDU for the given STA-ID. | |
| uint64_t | GetCurrentHeTbPpduUid () const |
| Time | GetLSigDuration (WifiPreamble preamble) const override |
| MHz_u | GetMeasurementChannelWidth (const Ptr< const WifiPpdu > ppdu) const override |
| Return the channel width used to measure the RSSI. | |
| MHz_u | GetNonOfdmaWidth (WifiRu::RuSpec ru) const |
| Get the width of the non-OFDMA portion of an HE TB PPDU. | |
| Ptr< ObssPdAlgorithm > | GetObssPdAlgorithm () const |
| Gets the OBSS-PD algorithm. | |
| const PpduFormats & | GetPpduFormats () const override |
| Return the PPDU formats of the PHY. | |
| WifiSpectrumBandInfo | 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. | |
| WifiSpectrumBandInfo | 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. | |
| Ptr< const WifiPpdu > | GetRxPpduFromTxPpdu (Ptr< const WifiPpdu > ppdu) override |
| The WifiPpdu from the TX PHY is received by each RX PHY attached to the same channel. | |
| Time | GetSigADuration (WifiPreamble preamble) const override |
| WifiMode | GetSigAMode () 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. | |
| 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. | |
| Time | GetTrainingDuration (const WifiTxVector &txVector, uint8_t nDataLtf, uint8_t nExtensionLtf=0) const override |
| void | NotifyCcaBusy (const Ptr< const WifiPpdu > ppdu, Time duration, WifiChannelListType channelType) override |
| Notify PHY state helper to switch to CCA busy state,. | |
| void | NotifyEndOfHeSigA (HeSigAParameters params) |
| Fire a EndOfHeSigA callback (if connected) once HE-SIG-A field has been received. | |
| void | SetEndOfHeSigACallback (EndOfHeSigACallback callback) |
| Set a callback for a end of HE-SIG-A. | |
| void | SetObssPdAlgorithm (const Ptr< ObssPdAlgorithm > algorithm) |
| Sets the OBSS-PD algorithm. | |
| void | SetTrigVector (const WifiTxVector &trigVector, Time validity) |
| Set the TRIGVECTOR and the associated expiration time. | |
| void | StartReceivePreamble (Ptr< const WifiPpdu > ppdu, RxPowerWattPerChannelBand &rxPowersW, Time rxDuration) override |
| Start receiving the PHY preamble of a PPDU (i.e. | |
| void | StartTx (Ptr< const WifiPpdu > ppdu) override |
| This function is called by SpectrumWifiPhy to send the PPDU while performing amendment-specific actions. | |
| void | SwitchMaybeToCcaBusy (const Ptr< const WifiPpdu > ppdu) override |
| Check if PHY state should move to CCA busy state based on current state of interference tracker. | |
Public Member Functions inherited from ns3::VhtPhy | |
| VhtPhy (bool buildModeList=true) | |
| Constructor for VHT PHY. | |
| ~VhtPhy () override | |
| Destructor for VHT PHY. | |
| Ptr< WifiPpdu > | BuildPpdu (const WifiConstPsduMap &psdus, const WifiTxVector &txVector, Time ppduDuration) override |
| Build amendment-specific PPDU. | |
| dBm_u | GetCcaThreshold (const Ptr< const WifiPpdu > ppdu, WifiChannelListType channelType) const override |
| Return the CCA threshold for a given channel type. | |
| 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. | |
| Time | GetLSigDuration (WifiPreamble preamble) const override |
| const PpduFormats & | GetPpduFormats () const override |
| Return the PPDU formats of the PHY. | |
| WifiMode | GetSigMode (WifiPpduField field, const WifiTxVector &txVector) const override |
| Get the WifiMode for the SIG field specified by the PPDU field. | |
| 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. | |
| ~HtPhy () override | |
| Destructor for HT PHY. | |
| uint8_t | GetBssMembershipSelector () const |
| uint8_t | GetMaxSupportedMcsIndexPerSs () const |
| Set the maximum supported MCS index per spatial stream. | |
| WifiMode | GetMcs (uint8_t index) const override |
| Get the WifiMode corresponding to the given MCS index. | |
| 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 () const override |
| Check if the WifiModes handled by this PHY are MCSs. | |
| bool | IsMcsSupported (uint8_t index) const override |
| Check if the WifiMode corresponding to the given MCS index is supported. | |
| void | SetMaxSupportedMcsIndexPerSs (uint8_t maxIndex) |
| Set the maximum supported MCS index per spatial stream. | |
| void | SetMaxSupportedNss (uint8_t maxNss) |
| Configure the maximum number of spatial streams supported by this HT PHY. | |
Public Member Functions inherited from ns3::OfdmPhy | |
| OfdmPhy (OfdmPhyVariant variant=OFDM_PHY_DEFAULT, bool buildModeList=true) | |
| Constructor for OFDM PHY. | |
| ~OfdmPhy () override | |
| Destructor for OFDM PHY. | |
| Time | GetPayloadDuration (uint32_t size, const WifiTxVector &txVector, WifiPhyBand band, MpduType mpdutype, bool incFlag, uint32_t &totalAmpduSize, double &totalAmpduNumSymbols, uint16_t staId) const override |
| Ptr< const WifiPpdu > | GetRxPpduFromTxPpdu (Ptr< const WifiPpdu > ppdu) override |
| The WifiPpdu from the TX PHY is received by each RX PHY attached to the same channel. | |
Public Member Functions inherited from ns3::PhyEntity | |
| virtual | ~PhyEntity () |
| Destructor for PHY entity. | |
| std::list< WifiMode >::const_iterator | begin () const |
| Return a const iterator to the first WifiMode. | |
| Time | CalculatePhyPreambleAndHeaderDuration (const WifiTxVector &txVector) const |
| void | CancelRunningEndPreambleDetectionEvents () |
| Cancel all end preamble detection events. | |
| std::list< WifiMode >::const_iterator | end () const |
| Return a const iterator to past-the-last WifiMode. | |
| void | EndReceiveField (WifiPpduField field, Ptr< Event > event) |
| End receiving a given field. | |
| void | EndReceivePayload (Ptr< Event > event) |
| The last symbol of the PPDU has arrived. | |
| Time | GetDurationUpToField (WifiPpduField field, const WifiTxVector &txVector) const |
| Get the duration of the PPDU up to (but excluding) the given field. | |
| WifiPpduField | GetNextField (WifiPpduField currentField, WifiPreamble preamble) const |
| Return the field following the provided one. | |
| virtual uint8_t | GetNumModes () const |
| PhyHeaderSections | GetPhyHeaderSections (const WifiTxVector &txVector, Time ppduStart) const |
| Return a map of PHY header chunk information per PPDU field. | |
| Time | GetRemainingDurationAfterField (Ptr< const WifiPpdu > ppdu, WifiPpduField field) const |
| Get the remaining duration of the PPDU after the end of the given field. | |
| virtual std::optional< Time > | GetTimeToMacHdrEnd (uint16_t staId) const |
| Get the remaining time to the end of the MAC header reception of the next MPDU being received from the given STA, if any. | |
| virtual std::optional< Time > | GetTimeToPreambleDetectionEnd () const |
| Get the remaining time to preamble detection period to elapse, if preamble detection is ongoing. | |
| virtual bool | IsModeSupported (WifiMode mode) const |
| Check if the WifiMode is supported. | |
| void | ResetReceive (Ptr< Event > event) |
| Reset PHY at the end of the PPDU under reception after it has failed the PHY header. | |
| void | SetOwner (Ptr< WifiPhy > wifiPhy) |
| Set the WifiPhy owning this PHY entity. | |
| void | StartReceiveField (WifiPpduField field, Ptr< Event > event) |
| Start receiving a given field. | |
| void | Transmit (Time txDuration, Ptr< const WifiPpdu > ppdu, dBm_u txPower, Ptr< SpectrumValue > txPowerSpectrum, const std::string &type) |
| This function prepares most of the WifiSpectrumSignalParameters parameters and invokes SpectrumWifiPhy's Transmit method. | |
Additional Inherited Members | |
Public Types inherited from ns3::HePhy | |
| typedef Callback< void, HeSigAParameters > | EndOfHeSigACallback |
| Callback upon end of HE-SIG-A. | |
Public Types inherited from ns3::PhyEntity | |
| 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. | |
| static Time | ConvertLSigLengthToHeTbPpduDuration (uint16_t length, const WifiTxVector &txVector, WifiPhyBand band) |
| static std::vector< WifiSpectrumBandIndices > | ConvertRuSubcarriers (const RuSubcarriersInfo &info) |
| This is a helper function to convert RU subcarriers, which are relative to the center frequency subcarrier, to the indices used by the Spectrum model. | |
| static WifiMode | CreateHeMcs (uint8_t index) |
| Create and return the HE MCS corresponding to the provided index. | |
| static WifiCodeRate | GetCodeRate (uint8_t mcsValue) |
| Return the coding rate corresponding to the supplied HE MCS index. | |
| static uint16_t | GetConstellationSize (uint8_t mcsValue) |
| Return the constellation size corresponding to the supplied HE MCS index. | |
| static uint64_t | GetDataRate (uint8_t mcsValue, MHz_u channelWidth, Time guardInterval, uint8_t nss) |
| Return the data rate corresponding to the supplied HE MCS index, channel width, guard interval, and number of spatial streams. | |
| 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. | |
| static WifiMode | GetHeMcs (uint8_t index) |
| Return the HE MCS corresponding to the provided index. | |
| static WifiMode | GetHeMcs0 () |
| Return MCS 0 from HE MCS values. | |
| static WifiMode | GetHeMcs1 () |
| Return MCS 1 from HE MCS values. | |
| static WifiMode | GetHeMcs10 () |
| Return MCS 10 from HE MCS values. | |
| static WifiMode | GetHeMcs11 () |
| Return MCS 11 from HE MCS values. | |
| static WifiMode | GetHeMcs2 () |
| Return MCS 2 from HE MCS values. | |
| static WifiMode | GetHeMcs3 () |
| Return MCS 3 from HE MCS values. | |
| static WifiMode | GetHeMcs4 () |
| Return MCS 4 from HE MCS values. | |
| static WifiMode | GetHeMcs5 () |
| Return MCS 5 from HE MCS values. | |
| static WifiMode | GetHeMcs6 () |
| Return MCS 6 from HE MCS values. | |
| static WifiMode | GetHeMcs7 () |
| Return MCS 7 from HE MCS values. | |
| static WifiMode | GetHeMcs8 () |
| Return MCS 8 from HE MCS values. | |
| static WifiMode | GetHeMcs9 () |
| Return MCS 9 from HE MCS values. | |
| 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. | |
| static uint64_t | GetPhyRate (uint8_t mcsValue, MHz_u channelWidth, Time guardInterval, uint8_t nss) |
| Return the PHY rate corresponding to the supplied HE MCS index, channel width, guard interval, and number of spatial stream. | |
| 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. | |
| static Time | GetSymbolDuration (Time guardInterval) |
| static void | InitializeModes () |
| Initialize all HE modes. | |
| static bool | IsAllowed (const WifiTxVector &txVector) |
| Check whether the combination in TXVECTOR is allowed. | |
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. | |
| static uint16_t | GetConstellationSize (uint8_t mcsValue) |
| Return the constellation size corresponding to the supplied VHT MCS index. | |
| static uint64_t | GetDataRate (uint8_t mcsValue, MHz_u channelWidth, Time guardInterval, uint8_t nss) |
| Return the data rate corresponding to the supplied VHT MCS index, channel width, guard interval, and number of spatial streams. | |
| static uint64_t | GetDataRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
| Return the data rate corresponding to the supplied TXVECTOR. | |
| 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. | |
| static uint64_t | GetPhyRate (uint8_t mcsValue, MHz_u channelWidth, Time guardInterval, uint8_t nss) |
| Return the PHY rate corresponding to the supplied VHT MCS index, channel width, guard interval, and number of spatial stream. | |
| static uint64_t | GetPhyRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
| Return the PHY rate corresponding to the supplied TXVECTOR. | |
| static WifiMode | GetVhtMcs (uint8_t index) |
| Return the VHT MCS corresponding to the provided index. | |
| static WifiMode | GetVhtMcs0 () |
| Return MCS 0 from VHT MCS values. | |
| static WifiMode | GetVhtMcs1 () |
| Return MCS 1 from VHT MCS values. | |
| static WifiMode | GetVhtMcs2 () |
| Return MCS 2 from VHT MCS values. | |
| static WifiMode | GetVhtMcs3 () |
| Return MCS 3 from VHT MCS values. | |
| static WifiMode | GetVhtMcs4 () |
| Return MCS 4 from VHT MCS values. | |
| static WifiMode | GetVhtMcs5 () |
| Return MCS 5 from VHT MCS values. | |
| static WifiMode | GetVhtMcs6 () |
| Return MCS 6 from VHT MCS values. | |
| static WifiMode | GetVhtMcs7 () |
| Return MCS 7 from VHT MCS values. | |
| static WifiMode | GetVhtMcs8 () |
| Return MCS 8 from VHT MCS values. | |
| static WifiMode | GetVhtMcs9 () |
| Return MCS 9 from VHT MCS values. | |
| static void | InitializeModes () |
| Initialize all VHT modes. | |
| static bool | IsAllowed (const WifiTxVector &txVector) |
| Check whether the combination in TXVECTOR is allowed. | |
| static bool | IsCombinationAllowed (uint8_t mcsValue, MHz_u channelWidth, uint8_t nss) |
| Check whether the combination of <MCS, channel width, NSS> is allowed. | |
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. | |
| 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. | |
| static uint64_t | GetDataRate (uint8_t mcsValue, MHz_u channelWidth, Time guardInterval, uint8_t nss) |
| Return the data rate corresponding to the supplied HT MCS index, channel width, guard interval, and number of spatial streams. | |
| static uint64_t | GetDataRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
| Return the data rate corresponding to the supplied TXVECTOR. | |
| static WifiCodeRate | GetHtCodeRate (uint8_t mcsValue) |
| Return the coding rate corresponding to the supplied HT MCS index. | |
| static uint16_t | GetHtConstellationSize (uint8_t mcsValue) |
| Return the constellation size corresponding to the supplied HT MCS index. | |
| static WifiMode | GetHtMcs (uint8_t index) |
| Return the HT MCS corresponding to the provided index. | |
| static WifiMode | GetHtMcs0 () |
| Return MCS 0 from HT MCS values. | |
| static WifiMode | GetHtMcs1 () |
| Return MCS 1 from HT MCS values. | |
| static WifiMode | GetHtMcs10 () |
| Return MCS 10 from HT MCS values. | |
| static WifiMode | GetHtMcs11 () |
| Return MCS 11 from HT MCS values. | |
| static WifiMode | GetHtMcs12 () |
| Return MCS 12 from HT MCS values. | |
| static WifiMode | GetHtMcs13 () |
| Return MCS 13 from HT MCS values. | |
| static WifiMode | GetHtMcs14 () |
| Return MCS 14 from HT MCS values. | |
| static WifiMode | GetHtMcs15 () |
| Return MCS 15 from HT MCS values. | |
| static WifiMode | GetHtMcs16 () |
| Return MCS 16 from HT MCS values. | |
| static WifiMode | GetHtMcs17 () |
| Return MCS 17 from HT MCS values. | |
| static WifiMode | GetHtMcs18 () |
| Return MCS 18 from HT MCS values. | |
| static WifiMode | GetHtMcs19 () |
| Return MCS 19 from HT MCS values. | |
| static WifiMode | GetHtMcs2 () |
| Return MCS 2 from HT MCS values. | |
| static WifiMode | GetHtMcs20 () |
| Return MCS 20 from HT MCS values. | |
| static WifiMode | GetHtMcs21 () |
| Return MCS 21 from HT MCS values. | |
| static WifiMode | GetHtMcs22 () |
| Return MCS 22 from HT MCS values. | |
| static WifiMode | GetHtMcs23 () |
| Return MCS 23 from HT MCS values. | |
| static WifiMode | GetHtMcs24 () |
| Return MCS 24 from HT MCS values. | |
| static WifiMode | GetHtMcs25 () |
| Return MCS 25 from HT MCS values. | |
| static WifiMode | GetHtMcs26 () |
| Return MCS 26 from HT MCS values. | |
| static WifiMode | GetHtMcs27 () |
| Return MCS 27 from HT MCS values. | |
| static WifiMode | GetHtMcs28 () |
| Return MCS 28 from HT MCS values. | |
| static WifiMode | GetHtMcs29 () |
| Return MCS 29 from HT MCS values. | |
| static WifiMode | GetHtMcs3 () |
| Return MCS 3 from HT MCS values. | |
| static WifiMode | GetHtMcs30 () |
| Return MCS 30 from HT MCS values. | |
| static WifiMode | GetHtMcs31 () |
| Return MCS 31 from HT MCS values. | |
| static WifiMode | GetHtMcs4 () |
| Return MCS 4 from HT MCS values. | |
| static WifiMode | GetHtMcs5 () |
| Return MCS 5 from HT MCS values. | |
| static WifiMode | GetHtMcs6 () |
| Return MCS 6 from HT MCS values. | |
| static WifiMode | GetHtMcs7 () |
| Return MCS 7 from HT MCS values. | |
| static WifiMode | GetHtMcs8 () |
| Return MCS 8 from HT MCS values. | |
| static WifiMode | GetHtMcs9 () |
| Return MCS 9 from HT MCS values. | |
| static WifiMode | GetLSigMode () |
| 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. | |
| static uint64_t | GetPhyRate (uint8_t mcsValue, MHz_u channelWidth, Time guardInterval, uint8_t nss) |
| Return the PHY rate corresponding to the supplied HT MCS index, channel width, guard interval, and number of spatial stream. | |
| static uint64_t | GetPhyRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
| Return the PHY rate corresponding to the supplied TXVECTOR. | |
| static void | InitializeModes () |
| Initialize all HT modes. | |
| static bool | IsAllowed (const WifiTxVector &txVector) |
| Check whether the combination in TXVECTOR is allowed. | |
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. | |
| static uint16_t | GetConstellationSize (const std::string &name) |
| Return the constellation size from the OFDM mode's unique name using ModulationLookupTable. | |
| static uint64_t | GetDataRate (const std::string &name, MHz_u channelWidth) |
| Return the data rate from the OFDM mode's unique name and the supplied parameters. | |
| static uint64_t | GetDataRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
| Return the data rate corresponding to the supplied TXVECTOR. | |
| static WifiMode | GetOfdmRate (uint64_t rate, MHz_u bw=MHz_u{20}) |
| Return a WifiMode for OFDM corresponding to the provided rate and the channel bandwidth (20, 10, or 5 MHz). | |
| static WifiMode | GetOfdmRate12Mbps () |
| Return a WifiMode for OFDM at 12Mbps. | |
| static WifiMode | GetOfdmRate12MbpsBW10MHz () |
| Return a WifiMode for OFDM at 12 Mbps with 10 MHz channel spacing. | |
| static WifiMode | GetOfdmRate12MbpsBW5MHz () |
| Return a WifiMode for OFDM at 12 Mbps with 5 MHz channel spacing. | |
| static WifiMode | GetOfdmRate13_5MbpsBW5MHz () |
| Return a WifiMode for OFDM at 13.5 Mbps with 5 MHz channel spacing. | |
| static WifiMode | GetOfdmRate18Mbps () |
| Return a WifiMode for OFDM at 18 Mbps. | |
| static WifiMode | GetOfdmRate18MbpsBW10MHz () |
| Return a WifiMode for OFDM at 18 Mbps with 10 MHz channel spacing. | |
| static WifiMode | GetOfdmRate1_5MbpsBW5MHz () |
| Return a WifiMode for OFDM at 1.5 Mbps with 5 MHz channel spacing. | |
| static WifiMode | GetOfdmRate24Mbps () |
| Return a WifiMode for OFDM at 24 Mbps. | |
| static WifiMode | GetOfdmRate24MbpsBW10MHz () |
| Return a WifiMode for OFDM at 24 Mbps with 10 MHz channel spacing. | |
| static WifiMode | GetOfdmRate27MbpsBW10MHz () |
| Return a WifiMode for OFDM at 27 Mbps with 10 MHz channel spacing. | |
| static WifiMode | GetOfdmRate2_25MbpsBW5MHz () |
| Return a WifiMode for OFDM at 2.25 Mbps with 5 MHz channel spacing. | |
| static WifiMode | GetOfdmRate36Mbps () |
| Return a WifiMode for OFDM at 36 Mbps. | |
| static WifiMode | GetOfdmRate3MbpsBW10MHz () |
| Return a WifiMode for OFDM at 3 Mbps with 10 MHz channel spacing. | |
| static WifiMode | GetOfdmRate3MbpsBW5MHz () |
| Return a WifiMode for OFDM at 3 Mbps with 5 MHz channel spacing. | |
| static WifiMode | GetOfdmRate48Mbps () |
| Return a WifiMode for OFDM at 48 Mbps. | |
| static WifiMode | GetOfdmRate4_5MbpsBW10MHz () |
| Return a WifiMode for OFDM at 4.5 Mbps with 10 MHz channel spacing. | |
| static WifiMode | GetOfdmRate4_5MbpsBW5MHz () |
| Return a WifiMode for OFDM at 4.5 Mbps with 5 MHz channel spacing. | |
| static WifiMode | GetOfdmRate54Mbps () |
| Return a WifiMode for OFDM at 54 Mbps. | |
| static WifiMode | GetOfdmRate6Mbps () |
| Return a WifiMode for OFDM at 6 Mbps. | |
| static WifiMode | GetOfdmRate6MbpsBW10MHz () |
| Return a WifiMode for OFDM at 6 Mbps with 10 MHz channel spacing. | |
| static WifiMode | GetOfdmRate6MbpsBW5MHz () |
| Return a WifiMode for OFDM at 6 Mbps with 5 MHz channel spacing. | |
| static WifiMode | GetOfdmRate9Mbps () |
| Return a WifiMode for OFDM at 9 Mbps. | |
| static WifiMode | GetOfdmRate9MbpsBW10MHz () |
| Return a WifiMode for OFDM at 9 Mbps with 10 MHz channel spacing. | |
| static WifiMode | GetOfdmRate9MbpsBW5MHz () |
| Return a WifiMode for OFDM at 9 Mbps with 5 MHz channel spacing. | |
| static uint64_t | GetPhyRate (const std::string &name, MHz_u channelWidth) |
| Return the PHY rate from the OFDM mode's unique name and the supplied parameters. | |
| static uint64_t | GetPhyRateFromTxVector (const WifiTxVector &txVector, uint16_t staId) |
| Return the PHY rate corresponding to the supplied TXVECTOR. | |
| static void | InitializeModes () |
| Initialize all OFDM modes (for all variants). | |
| static bool | IsAllowed (const WifiTxVector &txVector) |
| Check whether the combination in TXVECTOR is allowed. | |
Protected Types inherited from ns3::PhyEntity | |
| using | CcaIndication |
| CCA end time and its corresponding channel list type (can be std::nullopt if IDLE) | |
| typedef std::pair< WifiCodeRate, uint16_t > | CodeRateConstellationSizePair |
| A pair to hold modulation information: code rate and constellation size. | |
| typedef std::map< std::string, CodeRateConstellationSizePair > | ModulationLookupTable |
| A modulation lookup table using unique name of modulation as key. | |
| typedef std::map< WifiPreamble, std::vector< WifiPpduField > > | PpduFormats |
| A map of PPDU field elements per preamble type. | |
| typedef std::pair< uint64_t, uint16_t > | UidStaIdPair |
| A pair of a UID and STA_ID. | |
Protected Member Functions inherited from ns3::HePhy | |
| void | DoAbortCurrentReception (WifiPhyRxfailureReason reason) override |
| Perform amendment-specific actions before aborting the current reception. | |
| void | DoEndReceivePayload (Ptr< const WifiPpdu > ppdu) override |
| Perform amendment-specific actions at the end of the reception of the payload. | |
| Ptr< Event > | DoGetEvent (Ptr< const WifiPpdu > ppdu, RxPowerWattPerChannelBand &rxPowersW) override |
| Get the event corresponding to the incoming PPDU. | |
| 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. | |
| Time | DoStartReceivePayload (Ptr< Event > event) override |
| Start receiving the PSDU (i.e. | |
| std::pair< MHz_u, WifiSpectrumBandInfo > | GetChannelWidthAndBand (const WifiTxVector &txVector, uint16_t staId) const override |
| Get the channel width and band to use (will be overloaded by child classes). | |
| Time | GetMaxDelayPpduSameUid (const WifiTxVector &txVector) override |
| Obtain the maximum time between two PPDUs with the same UID to consider they are identical and their power can be added construtively. | |
| uint32_t | GetMaxPsduSize () const override |
| Get the maximum PSDU size in bytes. | |
| virtual std::vector< Time > | GetPer20MHzDurations (const Ptr< const WifiPpdu > ppdu) |
| Compute the per-20 MHz CCA durations vector that indicates for how long each 20 MHz subchannel (corresponding to the index of the element in the vector) is busy and where a zero duration indicates that the subchannel is idle. | |
| virtual uint32_t | GetSigBSize (const WifiTxVector &txVector) const |
| Ptr< SpectrumValue > | GetTxPowerSpectralDensity (Watt_u txPower, 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. | |
| void | HandleRxPpduWithSameContent (Ptr< Event > event, Ptr< const WifiPpdu > ppdu, RxPowerWattPerChannelBand &rxPower) override |
| Handle reception of a PPDU that carries the same content of another PPDU. | |
| bool | IsConfigSupported (Ptr< const WifiPpdu > ppdu) const override |
| Checks if the signaled configuration (excluding bandwidth) is supported by the PHY. | |
| uint64_t | ObtainNextUid (const WifiTxVector &txVector) override |
| Obtain the next UID for the PPDU to transmit. | |
| PhyFieldRxStatus | ProcessSig (Ptr< Event > event, PhyFieldRxStatus status, WifiPpduField field) override |
| Process SIG-A or SIG-B, perform amendment-specific actions, and provide an updated status of the reception. | |
| virtual PhyFieldRxStatus | ProcessSigA (Ptr< Event > event, PhyFieldRxStatus status) |
| Process SIG-A, perform amendment-specific actions, and provide an updated status of the reception. | |
| virtual PhyFieldRxStatus | ProcessSigB (Ptr< Event > event, PhyFieldRxStatus status) |
| Process SIG-B, perform amendment-specific actions, and provide an updated status of the reception. | |
| void | RxPayloadFailed (Ptr< const WifiPsdu > psdu, double snr, const WifiTxVector &txVector) override |
| Perform amendment-specific actions when the payload is unsuccessfully received. | |
| void | RxPayloadSucceeded (Ptr< const WifiPsdu > psdu, RxSignalInfo rxSignalInfo, const WifiTxVector &txVector, uint16_t staId, const std::vector< bool > &statusPerMpdu) override |
| Perform amendment-specific actions when the payload is successfully received. | |
| void | StartReceiveMuPayload (Ptr< Event > event) |
| Start receiving the PSDU (i.e. | |
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. | |
| PhyFieldRxStatus | EndReceiveSig (Ptr< Event > event, WifiPpduField field) |
| End receiving the SIG-A or SIG-B, perform VHT-specific actions, and provide the status of the reception. | |
| const std::map< MHz_u, WifiChannelListType > & | GetCcaSecondaryChannels () const override |
| Get the secondary channel widths and their corresponding channel list types that are supported by the PHY entity. | |
| virtual WifiPhyRxfailureReason | GetFailureReason (WifiPpduField field) const |
| Get the failure reason corresponding to the unsuccessful processing of a given PPDU field. | |
| Time | GetHtSigDuration () const override |
| WifiMode | GetHtSigMode () const override |
| uint32_t | GetMaxPsduSize () const override |
| Get the maximum PSDU size in bytes. | |
| 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. | |
Protected Member Functions inherited from ns3::HtPhy | |
| CcaIndication | GetCcaIndication (const Ptr< const WifiPpdu > ppdu) override |
| Get CCA end time and its corresponding channel list type when a new signal has been received by the PHY. | |
| virtual PhyEntity::CcaIndication | GetCcaIndicationOnSecondary (const Ptr< const WifiPpdu > ppdu) |
| Get CCA end time and its corresponding channel list type when a new signal not occupying the primary 20 MHz channel has been received by the PHY. | |
| std::vector< MHz_u > | GetCcaSecondaryWidths (const Ptr< const WifiPpdu > ppdu) const |
| Get the widths of the secondary channels to inspect for CCA indication. | |
| Ptr< SpectrumValue > | GetTxPowerSpectralDensity (Watt_u txPower, 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. | |
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. | |
| virtual Time | GetHeaderDuration (const WifiTxVector &txVector) const |
| virtual WifiMode | GetHeaderMode (const WifiTxVector &txVector) const |
| MHz_u | GetMeasurementChannelWidth (const Ptr< const WifiPpdu > ppdu) const override |
| Return the channel width used to measure the RSSI. | |
| uint8_t | GetNumberServiceBits () const |
| virtual Time | GetPreambleDuration (const WifiTxVector &txVector) const |
| Time | GetSignalExtension (WifiPhyBand band) const |
| Ptr< SpectrumValue > | GetTxPowerSpectralDensity (Watt_u txPower, 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. | |
Protected Member Functions inherited from ns3::PhyEntity | |
| void | AbortCurrentReception (WifiPhyRxfailureReason reason) |
| Abort the current reception. | |
| void | AddPreambleEvent (Ptr< Event > event) |
| Add an entry to the map of current preamble events (stored in WifiPhy). | |
| Ptr< Event > | CreateInterferenceEvent (Ptr< const WifiPpdu > ppdu, Time duration, RxPowerWattPerChannelBand &rxPower, bool isStartHePortionRxing=false) |
| Create an event using WifiPhy's InterferenceHelper class. | |
| virtual PhyFieldRxStatus | DoEndReceivePreamble (Ptr< Event > event) |
| End receiving the preamble, perform amendment-specific actions, and provide the status of the reception. | |
| virtual bool | DoStartReceiveField (WifiPpduField field, Ptr< Event > event) |
| Start receiving a given field, perform amendment-specific actions, and signify if it is supported. | |
| void | DropPreambleEvent (Ptr< const WifiPpdu > ppdu, WifiPhyRxfailureReason reason, Time endRx) |
| Drop the PPDU and the corresponding preamble detection event, but keep CCA busy state after the completion of the currently processed event. | |
| void | EndOfMpdu (Ptr< Event > event, Ptr< WifiMpdu > mpdu, size_t mpduIndex, Time relativeStart, Time mpduDuration) |
| The last symbol of an MPDU in an A-MPDU has arrived. | |
| void | EndPreambleDetectionPeriod (Ptr< Event > event) |
| End the preamble detection period. | |
| 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. | |
| Ptr< const Event > | GetCurrentEvent () const |
| Get the pointer to the current event (stored in WifiPhy). | |
| const std::map< std::pair< uint64_t, WifiPreamble >, Ptr< Event > > & | GetCurrentPreambleEvents () const |
| Get the map of current preamble events (stored in WifiPhy). | |
| Time | GetDelayUntilCcaEnd (dBm_u threshold, const WifiSpectrumBandInfo &band) |
| Return the delay until CCA busy is ended for a given sensitivity threshold and a given band. | |
| MHz_u | GetGuardBandwidth (MHz_u 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. | |
| WifiSpectrumBandInfo | GetPrimaryBand (MHz_u bandWidth) const |
| If the operating channel width is a multiple of 20 MHz, return the info corresponding to the primary channel of the given bandwidth (which must be a multiple of 20 MHz and not exceed the operating channel width). | |
| double | GetRandomValue () const |
| Obtain a random value from the WifiPhy's generator. | |
| std::pair< bool, SignalNoiseDbm > | GetReceptionStatus (Ptr< WifiMpdu > mpdu, Ptr< Event > event, uint16_t staId, Time relativeMpduStart, Time mpduDuration) |
| Get the reception status for the provided MPDU and notify. | |
| virtual MHz_u | GetRxChannelWidth (const WifiTxVector &txVector) const |
| Return the channel width used in the reception spectrum model. | |
| Watt_u | GetRxPowerForPpdu (Ptr< Event > event) const |
| Obtain the received power for a given band. | |
| WifiSpectrumBandInfo | GetSecondaryBand (MHz_u bandWidth) const |
| If the channel bonding is used, return the info corresponding to the secondary channel of the given bandwidth (which must be a multiple of 20 MHz and not exceed the operating channel width). | |
| std::tuple< dBr_u, dBr_u, dBr_u > | GetTxMaskRejectionParams () 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. | |
| void | NotifyPayloadBegin (const WifiTxVector &txVector, const Time &payloadDuration) |
| Fire the trace indicating that the PHY is starting to receive the payload of a PPDU. | |
| void | ScheduleEndOfMpdus (Ptr< Event > event) |
| Schedule end of MPDUs events. | |
| void | StartPreambleDetectionPeriod (Ptr< Event > event) |
| Start the preamble detection period. | |
| void | StartReceivePayload (Ptr< Event > event) |
| Start receiving the PSDU (i.e. | |
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. | |
| static uint16_t | GetUsableSubcarriers (MHz_u 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. | |
| static uint16_t | GetUsableSubcarriers (MHz_u channelWidth) |
Static Protected Member Functions inherited from ns3::HtPhy | |
| static uint64_t | CalculateDataRate (Time symbolDuration, uint16_t usableSubCarriers, uint16_t numberOfBitsPerSubcarrier, double codingRate, uint8_t nss) |
| Calculates data rate from the supplied parameters. | |
| 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. | |
| static uint64_t | CalculatePhyRate (WifiCodeRate codeRate, uint64_t dataRate) |
| Return the PHY rate corresponding to the supplied code rate and data rate. | |
| static double | GetCodeRatio (WifiCodeRate codeRate) |
| Convert WifiCodeRate to a ratio, e.g., code ratio of WIFI_CODE_RATE_1_2 is 0.5. | |
| static Time | GetSymbolDuration (Time guardInterval) |
| static uint16_t | GetUsableSubcarriers (MHz_u channelWidth) |
Static Protected Member Functions inherited from ns3::OfdmPhy | |
| static uint64_t | CalculateDataRate (Time symbolDuration, uint16_t usableSubCarriers, uint16_t numberOfBitsPerSubcarrier, double codingRate) |
| Calculates data rate from the supplied parameters. | |
| static uint64_t | CalculateDataRate (WifiCodeRate codeRate, uint16_t constellationSize, MHz_u channelWidth) |
| Calculates data rate from the supplied parameters. | |
| static uint64_t | CalculatePhyRate (WifiCodeRate codeRate, uint64_t dataRate) |
| Calculate the PHY rate in bps from code rate and data rate. | |
| static double | GetCodeRatio (WifiCodeRate codeRate) |
| Convert WifiCodeRate to a ratio, e.g., code ratio of WIFI_CODE_RATE_1_2 is 0.5. | |
| static Time | GetSymbolDuration (MHz_u channelWidth) |
| static uint16_t | GetUsableSubcarriers () |
Protected Attributes inherited from ns3::HePhy | |
| std::map< uint16_t, EventId > | m_beginMuPayloadRxEvents |
| the beginning of the MU payload reception events (indexed by STA-ID) | |
| uint64_t | m_currentMuPpduUid |
| UID of the HE MU or HE TB PPDU being received. | |
| std::optional< WifiTxVector > | m_currentTxVector |
| If the STA is an AP STA, this holds the TXVECTOR of the PPDU that has been sent. | |
| EndOfHeSigACallback | m_endOfHeSigACallback |
| end of HE-SIG-A callback | |
| uint64_t | m_previouslyTxPpduUid |
| UID of the previously sent PPDU, used by AP to recognize response HE TB PPDUs. | |
| std::optional< WifiTxVector > | m_trigVector |
| the TRIGVECTOR | |
| std::optional< Time > | m_trigVectorExpirationTime |
| expiration time of the TRIGVECTOR | |
Protected Attributes inherited from ns3::HtPhy | |
| uint8_t | m_bssMembershipSelector |
| the BSS membership selector | |
| uint8_t | m_maxMcsIndexPerSs |
| the maximum MCS index per spatial stream as defined by the standard | |
| uint8_t | m_maxSupportedMcsIndexPerSs |
| the maximum supported MCS index per spatial stream | |
Protected Attributes inherited from ns3::PhyEntity | |
| std::map< uint16_t, std::vector< EventId > > | m_endOfMacHdrEvents |
| STA_ID-indexed map of the RX end of MAC header events. | |
| std::vector< EventId > | m_endOfMpduEvents |
| the end of MPDU events (only used for A-MPDUs) | |
| std::vector< EventId > | m_endPreambleDetectionEvents |
| the end of preamble detection events | |
| std::vector< EventId > | m_endRxPayloadEvents |
| the end of receive events (only one unless UL MU reception) | |
| std::list< WifiMode > | m_modeList |
| the list of supported modes | |
| std::map< UidStaIdPair, SignalNoiseDbm > | m_signalNoiseMap |
| Map of the latest signal power and noise power in dBm (noise power includes the noise figure) | |
| Ptr< WifiPhyStateHelper > | m_state |
| Pointer to WifiPhyStateHelper of the WifiPhy (to make it reachable for child classes) | |
| 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. | |
| Ptr< WifiPhy > | m_wifiPhy |
| Pointer to the owning WifiPhy. | |
Static Protected Attributes inherited from ns3::PhyEntity | |
| static uint64_t | m_globalPpduUid = 0 |
| Global counter of the PPDU UID. | |
HE PHY used for testing MU-RTS/CTS.
Definition at line 49 of file wifi-non-ht-dup-test.cc.
| MuRtsCtsHePhy::MuRtsCtsHePhy | ( | ) |
Definition at line 72 of file wifi-non-ht-dup-test.cc.
References ns3::HePhy::HePhy(), and NS_LOG_FUNCTION.
Here is the call graph for this function:
|
override |
Definition at line 78 of file wifi-non-ht-dup-test.cc.
References NS_LOG_FUNCTION.
| void MuRtsCtsHePhy::SetMuRtsTxVector | ( | const WifiTxVector & | muRtsTxVector | ) |
Set the TXVECTOR of the previously transmitted MU-RTS.
| muRtsTxVector | the TXVECTOR used to transmit MU-RTS trigger frame |
Definition at line 91 of file wifi-non-ht-dup-test.cc.
References ns3::HePhy::m_currentTxVector, and NS_LOG_FUNCTION.
| void MuRtsCtsHePhy::SetPreviousTxPpduUid | ( | uint64_t | uid | ) |
Set the previous TX PPDU UID counter.
| uid | the value to which the previous TX PPDU UID counter should be set |
Definition at line 84 of file wifi-non-ht-dup-test.cc.
References ns3::HePhy::m_previouslyTxPpduUid, and NS_LOG_FUNCTION.