A Discrete-Event Network Simulator
API
he-phy.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2020 Orange Labs
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Authors: Rediet <getachew.redieteab@orange.com>
19  * S├ębastien Deronne <sebastien.deronne@gmail.com> (for logic ported from wifi-phy and spectrum-wifi-phy)
20  */
21 
22 #ifndef HE_PHY_H
23 #define HE_PHY_H
24 
25 #include "ns3/vht-phy.h"
26 #include "ns3/wifi-phy-band.h"
27 #include "ns3/callback.h"
28 
36 namespace ns3 {
37 
41 #define HE_PHY 125
42 
47 {
48  double rssiW;
49  uint8_t bssColor;
50 };
51 
60 class HePhy : public VhtPhy
61 {
62 public:
69 
76  HePhy (bool buildModeList = true);
80  virtual ~HePhy ();
81 
82  WifiMode GetSigMode (WifiPpduField field, const WifiTxVector& txVector) const override;
83  WifiMode GetSigAMode (void) const override;
84  WifiMode GetSigBMode (const WifiTxVector& txVector) const override;
85  const PpduFormats & GetPpduFormats (void) const override;
86  Time GetLSigDuration (WifiPreamble preamble) const override;
87  Time GetTrainingDuration (const WifiTxVector& txVector,
88  uint8_t nDataLtf,
89  uint8_t nExtensionLtf = 0) const override;
90  Time GetSigADuration (WifiPreamble preamble) const override;
91  Time GetSigBDuration (const WifiTxVector& txVector) const override;
93  const WifiTxVector& txVector,
94  Time ppduDuration) override;
97  RxPowerWattPerChannelBand& rxPowersW,
98  Time rxDuration) override;
99  void CancelAllEvents (void) override;
100  uint16_t GetStaId (const Ptr<const WifiPpdu> ppdu) const override;
101  uint16_t GetMeasurementChannelWidth (const Ptr<const WifiPpdu> ppdu) const override;
102  void StartTx (Ptr<WifiPpdu> ppdu) override;
103  Time CalculateTxDuration (WifiConstPsduMap psduMap, const WifiTxVector& txVector, WifiPhyBand band) const override;
104 
108  uint8_t GetBssColor (void) const;
109 
116  static uint16_t ConvertHeTbPpduDurationToLSigLength (Time ppduDuration, WifiPhyBand band);
124  static Time ConvertLSigLengthToHeTbPpduDuration (uint16_t length, const WifiTxVector& txVector, WifiPhyBand band);
130  Time CalculateNonOfdmaDurationForHeTb (const WifiTxVector& txVector) const;
131 
141  WifiSpectrumBand GetRuBandForTx (const WifiTxVector& txVector, uint16_t staId) const;
151  WifiSpectrumBand GetRuBandForRx (const WifiTxVector& txVector, uint16_t staId) const;
160  WifiSpectrumBand GetNonOfdmaBand (const WifiTxVector& txVector, uint16_t staId) const;
167  uint16_t GetNonOfdmaWidth (HeRu::RuSpec ru) const;
168 
172  uint64_t GetCurrentHeTbPpduUid (void) const;
173 
183  uint16_t GetCenterFrequencyForNonOfdmaPart (const WifiTxVector& txVector, uint16_t staId) const;
184 
191 
199  void NotifyEndOfHeSigA (HeSigAParameters params);
200 
204  static void InitializeModes (void);
212  static WifiMode GetHeMcs (uint8_t index);
213 
219  static WifiMode GetHeMcs0 (void);
225  static WifiMode GetHeMcs1 (void);
231  static WifiMode GetHeMcs2 (void);
237  static WifiMode GetHeMcs3 (void);
243  static WifiMode GetHeMcs4 (void);
249  static WifiMode GetHeMcs5 (void);
255  static WifiMode GetHeMcs6 (void);
261  static WifiMode GetHeMcs7 (void);
267  static WifiMode GetHeMcs8 (void);
273  static WifiMode GetHeMcs9 (void);
279  static WifiMode GetHeMcs10 (void);
285  static WifiMode GetHeMcs11 (void);
286 
295  static WifiCodeRate GetCodeRate (uint8_t mcsValue);
304  static uint16_t GetConstellationSize (uint8_t mcsValue);
318  static uint64_t GetPhyRate (uint8_t mcsValue, uint16_t channelWidth, uint16_t guardInterval, uint8_t nss);
327  static uint64_t GetPhyRateFromTxVector (const WifiTxVector& txVector, uint16_t staId = SU_STA_ID);
336  static uint64_t GetDataRateFromTxVector (const WifiTxVector& txVector, uint16_t staId = SU_STA_ID);
349  static uint64_t GetDataRate (uint8_t mcsValue, uint16_t channelWidth, uint16_t guardInterval, uint8_t nss);
358  static uint64_t GetNonHtReferenceRate (uint8_t mcsValue);
368  static bool IsModeAllowed (uint16_t channelWidth, uint8_t nss);
369 
370 protected:
371  PhyFieldRxStatus ProcessSigA (Ptr<Event> event, PhyFieldRxStatus status) override;
372  PhyFieldRxStatus ProcessSigB (Ptr<Event> event, PhyFieldRxStatus status) override;
374  bool IsConfigSupported (Ptr<const WifiPpdu> ppdu) const override;
375  void DoStartReceivePayload (Ptr<Event> event) override;
376  std::pair<uint16_t, WifiSpectrumBand> GetChannelWidthAndBand (const WifiTxVector& txVector, uint16_t staId) const override;
377  void DoEndReceivePayload (Ptr<const WifiPpdu> ppdu) override;
378  void DoResetReceive (Ptr<Event> event) override;
379  void DoAbortCurrentReception (WifiPhyRxfailureReason reason) override;
380  uint64_t ObtainNextUid (const WifiTxVector& txVector) override;
381  Ptr<SpectrumValue> GetTxPowerSpectralDensity (double txPowerW, Ptr<const WifiPpdu> ppdu) const override;
382  uint32_t GetMaxPsduSize (void) const override;
383  WifiConstPsduMap GetWifiConstPsduMap (Ptr<const WifiPsdu> psdu, const WifiTxVector& txVector) const override;
384 
392 
406  static uint64_t CalculateNonHtReferenceRate (WifiCodeRate codeRate, uint16_t constellationSize);
411  static uint16_t GetUsableSubcarriers (uint16_t channelWidth);
412 
415 
416  std::map <uint16_t /* STA-ID */, EventId> m_beginOfdmaPayloadRxEvents;
417 
419 
420 private:
421  void BuildModeList (void) override;
422  uint8_t GetNumberBccEncoders (const WifiTxVector& txVector) const override;
423  Time GetSymbolDuration (const WifiTxVector& txVector) const override;
424 
433  static WifiMode CreateHeMcs (uint8_t index);
434 
436 }; //class HePhy
437 
438 } //namespace ns3
439 
440 #endif /* HE_PHY_H */
ns3::HePhy::m_currentHeTbPpduUid
uint64_t m_currentHeTbPpduUid
UID of the HE TB PPDU being received.
Definition: he-phy.h:414
ns3::PhyEntity::PpduFormats
std::map< WifiPreamble, std::vector< WifiPpduField > > PpduFormats
A map of PPDU field elements per preamble type.
Definition: phy-entity.h:477
ns3::HePhy::ProcessSigA
PhyFieldRxStatus ProcessSigA(Ptr< Event > event, PhyFieldRxStatus status) override
Process SIG-A, perform amendment-specific actions, and provide an updated status of the reception.
Definition: he-phy.cc:526
ns3::HePhy::GetAddressedPsduInPpdu
Ptr< const WifiPsdu > GetAddressedPsduInPpdu(Ptr< const WifiPpdu > ppdu) const override
Get the PSDU addressed to that PHY in a PPDU (useful for MU PPDU).
Definition: he-phy.cc:476
ns3::HePhy::GetNonOfdmaWidth
uint16_t GetNonOfdmaWidth(HeRu::RuSpec ru) const
Get the width in MHz of the non-OFDMA portion of an HE TB PPDU.
Definition: he-phy.cc:807
ns3::HePhy::GetNonOfdmaBand
WifiSpectrumBand GetNonOfdmaBand(const WifiTxVector &txVector, uint16_t staId) const
Get the band used to transmit the non-OFDMA part of an HE TB PPDU.
Definition: he-phy.cc:787
ns3::HePhy::GetSigMode
WifiMode GetSigMode(WifiPpduField field, const WifiTxVector &txVector) const override
Get the WifiMode for the SIG field specified by the PPDU field.
Definition: he-phy.cc:104
ns3::HeSigAParameters::bssColor
uint8_t bssColor
BSS color.
Definition: he-phy.h:49
ns3::HePhy::GetSigAMode
WifiMode GetSigAMode(void) const override
Definition: he-phy.cc:126
ns3::HePhy::GetHeMcs11
static WifiMode GetHeMcs11(void)
Return MCS 11 from HE MCS values.
ns3::HePhy::IsConfigSupported
bool IsConfigSupported(Ptr< const WifiPpdu > ppdu) const override
Checks if the signaled configuration (excluding bandwidth) is supported by the PHY.
Definition: he-phy.cc:596
ns3::HePhy::CalculateNonOfdmaDurationForHeTb
Time CalculateNonOfdmaDurationForHeTb(const WifiTxVector &txVector) const
Definition: he-phy.cc:293
ns3::WifiSpectrumBand
std::pair< uint32_t, uint32_t > WifiSpectrumBand
typedef for a pair of start and stop sub-band indexes
Definition: wifi-spectrum-value-helper.h:34
ns3::EventId
An identifier for simulation events.
Definition: event-id.h:54
ns3::HePhy::StartReceiveOfdmaPayload
void StartReceiveOfdmaPayload(Ptr< Event > event)
Start receiving the PSDU (i.e.
Definition: he-phy.cc:704
ns3::Callback< void, HeSigAParameters >
ns3::HePhy::GetTrainingDuration
Time GetTrainingDuration(const WifiTxVector &txVector, uint8_t nDataLtf, uint8_t nExtensionLtf=0) const override
Definition: he-phy.cc:177
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::HePhy::EndOfHeSigACallback
Callback< void, HeSigAParameters > EndOfHeSigACallback
Callback upon end of HE-SIG-A.
Definition: he-phy.h:68
ns3::HePhy::IsModeAllowed
static bool IsModeAllowed(uint16_t channelWidth, uint8_t nss)
Check whether the combination of <MCS, channel width, NSS> is allowed.
Definition: he-phy.cc:1173
ns3::HePhy::m_hePpduFormats
static const PpduFormats m_hePpduFormats
HE PPDU formats.
Definition: he-phy.h:435
ns3::HePhy::GetHeMcs0
static WifiMode GetHeMcs0(void)
Return MCS 0 from HE MCS values.
ns3::HePhy::BuildModeList
void BuildModeList(void) override
Build mode list.
Definition: he-phy.cc:91
ns3::HePhy::GetHeMcs10
static WifiMode GetHeMcs10(void)
Return MCS 10 from HE MCS values.
ns3::HePhy::GetMaxPsduSize
uint32_t GetMaxPsduSize(void) const override
Get the maximum PSDU size in bytes.
Definition: he-phy.cc:1193
ns3::HePhy::ProcessSigB
PhyFieldRxStatus ProcessSigB(Ptr< Event > event, PhyFieldRxStatus status) override
Process SIG-B, perform amendment-specific actions, and provide an updated status of the reception.
Definition: he-phy.cc:580
ns3::WifiTxVector
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
Definition: wifi-tx-vector.h:71
ns3::HePhy::GetLSigDuration
Time GetLSigDuration(WifiPreamble preamble) const override
Definition: he-phy.cc:171
ns3::HePhy::CancelAllEvents
void CancelAllEvents(void) override
Cancel and clear all running events.
Definition: he-phy.cc:375
ns3::WifiConstPsduMap
std::unordered_map< uint16_t, Ptr< const WifiPsdu > > WifiConstPsduMap
Map of const PSDUs indexed by STA-ID.
Definition: he-frame-exchange-manager.h:43
ns3::HePhy::GetCodeRate
static WifiCodeRate GetCodeRate(uint8_t mcsValue)
Return the coding rate corresponding to the supplied HE MCS index.
Definition: he-phy.cc:1046
ns3::HePhy::GetRuBandForTx
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...
Definition: he-phy.cc:753
ns3::HePhy::CalculateNonHtReferenceRate
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...
Definition: he-phy.cc:1151
ns3::HePhy::m_previouslyTxPpduUid
uint64_t m_previouslyTxPpduUid
UID of the previously sent PPDU, used by AP to recognize response HE TB PPDUs.
Definition: he-phy.h:413
ns3::HePhy::GetChannelWidthAndBand
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).
Definition: he-phy.cc:739
ns3::HePhy::GetHeMcs5
static WifiMode GetHeMcs5(void)
Return MCS 5 from HE MCS values.
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
ns3::HePhy::ConvertHeTbPpduDurationToLSigLength
static uint16_t ConvertHeTbPpduDurationToLSigLength(Time ppduDuration, WifiPhyBand band)
Definition: he-phy.cc:261
ns3::HePhy::GetHeMcs1
static WifiMode GetHeMcs1(void)
Return MCS 1 from HE MCS values.
ns3::WifiCodeRate
uint16_t WifiCodeRate
These constants define the various convolutional coding rates used for the OFDM transmission modes in...
Definition: wifi-phy-common.h:45
ns3::HePhy::m_endOfHeSigACallback
EndOfHeSigACallback m_endOfHeSigACallback
end of HE-SIG-A callback
Definition: he-phy.h:418
ns3::HeRu::RuSpec
RU Specification.
Definition: he-ru.h:68
ns3::WifiPhyRxfailureReason
WifiPhyRxfailureReason
Enumeration of the possible reception failure reasons.
Definition: wifi-phy-common.h:263
ns3::HePhy::DoEndReceivePayload
void DoEndReceivePayload(Ptr< const WifiPpdu > ppdu) override
Perform amendment-specific actions at the end of the reception of the payload.
Definition: he-phy.cc:674
ns3::HePhy::GetStaId
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.
Definition: he-phy.cc:504
ns3::HePhy::StartTx
void StartTx(Ptr< WifiPpdu > ppdu) override
This function is called by SpectrumWifiPhy to send the PPDU while performing amendment-specific actio...
Definition: he-phy.cc:918
ns3::HePhy::SetEndOfHeSigACallback
void SetEndOfHeSigACallback(EndOfHeSigACallback callback)
Set a callback for a end of HE-SIG-A.
Definition: he-phy.cc:565
ns3::WifiMode
represent a single transmission mode
Definition: wifi-mode.h:48
ns3::PhyEntity::PhyFieldRxStatus
Status of the reception of the PPDU field.
Definition: phy-entity.h:111
ns3::HePhy::GetPhyRateFromTxVector
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.
Definition: he-phy.cc:1081
ns3::HePhy::GetHeMcs4
static WifiMode GetHeMcs4(void)
Return MCS 4 from HE MCS values.
ns3::HePhy::GetBssColor
uint8_t GetBssColor(void) const
Definition: he-phy.cc:488
ns3::HePhy::GetCurrentHeTbPpduUid
uint64_t GetCurrentHeTbPpduUid(void) const
Definition: he-phy.cc:819
ns3::HePhy::ObtainNextUid
uint64_t ObtainNextUid(const WifiTxVector &txVector) override
Obtain the next UID for the PPDU to transmit.
Definition: he-phy.cc:843
ns3::HePhy::CalculateTxDuration
Time CalculateTxDuration(WifiConstPsduMap psduMap, const WifiTxVector &txVector, WifiPhyBand band) const override
Definition: he-phy.cc:941
ns3::HePhy::HePhy
HePhy(bool buildModeList=true)
Constructor for HE PHY.
Definition: he-phy.cc:70
ns3::HePhy::GetTxPowerSpectralDensity
Ptr< SpectrumValue > GetTxPowerSpectralDensity(double txPowerW, Ptr< const WifiPpdu > ppdu) const override
Definition: he-phy.cc:863
ns3::HePhy::GetHeMcs9
static WifiMode GetHeMcs9(void)
Return MCS 9 from HE MCS values.
ns3::HePhy::GetSigBDuration
Time GetSigBDuration(const WifiTxVector &txVector) const override
Definition: he-phy.cc:203
ns3::HePhy::ConvertLSigLengthToHeTbPpduDuration
static Time ConvertLSigLengthToHeTbPpduDuration(uint16_t length, const WifiTxVector &txVector, WifiPhyBand band)
Definition: he-phy.cc:274
SU_STA_ID
#define SU_STA_ID
Definition: wifi-mode.h:32
ns3::HePhy::StartReceivePreamble
void StartReceivePreamble(Ptr< WifiPpdu > ppdu, RxPowerWattPerChannelBand &rxPowersW, Time rxDuration) override
Start receiving the PHY preamble of a PPDU (i.e.
Definition: he-phy.cc:335
ns3::HePhy::GetRuBandForRx
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...
Definition: he-phy.cc:770
ns3::HePhy::DoStartReceivePayload
void DoStartReceivePayload(Ptr< Event > event) override
Start receiving the PSDU (i.e.
Definition: he-phy.cc:629
ns3::HePhy::GetHeMcs6
static WifiMode GetHeMcs6(void)
Return MCS 6 from HE MCS values.
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:104
ns3::HePhy::GetHeMcs3
static WifiMode GetHeMcs3(void)
Return MCS 3 from HE MCS values.
ns3::HePhy::GetHeMcs2
static WifiMode GetHeMcs2(void)
Return MCS 2 from HE MCS values.
ns3::HePhy
PHY entity for HE (11ax)
Definition: he-phy.h:61
ns3::WifiPpduField
WifiPpduField
The type of PPDU field (grouped for convenience)
Definition: wifi-phy-common.h:171
ns3::HePhy::NotifyEndOfHeSigA
void NotifyEndOfHeSigA(HeSigAParameters params)
Fire a EndOfHeSigA callback (if connected) once HE-SIG-A field has been received.
Definition: he-phy.cc:571
ns3::HePhy::GetHeMcs7
static WifiMode GetHeMcs7(void)
Return MCS 7 from HE MCS values.
ns3::HePhy::GetHeMcs8
static WifiMode GetHeMcs8(void)
Return MCS 8 from HE MCS values.
ns3::HePhy::GetSymbolDuration
Time GetSymbolDuration(const WifiTxVector &txVector) const override
Definition: he-phy.cc:309
ns3::WifiPreamble
WifiPreamble
The type of preamble to be used by an IEEE 802.11 transmission.
Definition: wifi-phy-common.h:68
ns3::HePhy::GetPpduFormats
const PpduFormats & GetPpduFormats(void) const override
Return the PPDU formats of the PHY.
Definition: he-phy.cc:165
ns3::HePhy::DoAbortCurrentReception
void DoAbortCurrentReception(WifiPhyRxfailureReason reason) override
Perform amendment-specific actions before aborting the current reception.
Definition: he-phy.cc:387
ns3::HePhy::GetConstellationSize
static uint16_t GetConstellationSize(uint8_t mcsValue)
Return the constellation size corresponding to the supplied HE MCS index.
Definition: he-phy.cc:1060
ns3::HePhy::m_beginOfdmaPayloadRxEvents
std::map< uint16_t, EventId > m_beginOfdmaPayloadRxEvents
the beginning of the OFDMA payload reception events (indexed by STA-ID)
Definition: he-phy.h:416
ns3::HePhy::BuildPpdu
Ptr< WifiPpdu > BuildPpdu(const WifiConstPsduMap &psdus, const WifiTxVector &txVector, Time ppduDuration) override
Build amendment-specific PPDU.
Definition: he-phy.cc:317
ns3::HeSigAParameters::rssiW
double rssiW
RSSI in W.
Definition: he-phy.h:48
ns3::HePhy::GetDataRateFromTxVector
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.
Definition: he-phy.cc:1095
ns3::HePhy::GetNumberBccEncoders
uint8_t GetNumberBccEncoders(const WifiTxVector &txVector) const override
Definition: he-phy.cc:303
ns3::HePhy::InitializeModes
static void InitializeModes(void)
Initialize all HE modes.
Definition: he-phy.cc:970
ns3::HePhy::DoGetEvent
Ptr< Event > DoGetEvent(Ptr< const WifiPpdu > ppdu, RxPowerWattPerChannelBand &rxPowersW) override
Get the event corresponding to the incoming PPDU.
Definition: he-phy.cc:420
ns3::HePhy::~HePhy
virtual ~HePhy()
Destructor for HE PHY.
Definition: he-phy.cc:85
ns3::HePhy::GetPhyRate
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,...
Definition: he-phy.cc:1073
ns3::RxPowerWattPerChannelBand
std::map< WifiSpectrumBand, double > RxPowerWattPerChannelBand
A map of the received power (Watts) for each band.
Definition: phy-entity.h:75
ns3::VhtPhy
PHY entity for VHT (11ac)
Definition: vht-phy.h:49
ns3::HePhy::GetUsableSubcarriers
static uint16_t GetUsableSubcarriers(uint16_t channelWidth)
Definition: he-phy.cc:1120
ns3::HePhy::GetNonHtReferenceRate
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.
Definition: he-phy.cc:1143
ns3::WifiPhyBand
WifiPhyBand
Identifies the PHY band.
Definition: wifi-phy-band.h:33
ns3::HePhy::GetCenterFrequencyForNonOfdmaPart
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.
Definition: he-phy.cc:896
ns3::HeSigAParameters
Parameters for received HE-SIG-A for OBSS_PD based SR.
Definition: he-phy.h:47
ns3::HePhy::GetDataRate
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,...
Definition: he-phy.cc:1109
ns3::HePhy::GetMeasurementChannelWidth
uint16_t GetMeasurementChannelWidth(const Ptr< const WifiPpdu > ppdu) const override
Return the channel width used to measure the RSSI.
Definition: he-phy.cc:825
ns3::HePhy::GetSigADuration
Time GetSigADuration(WifiPreamble preamble) const override
Definition: he-phy.cc:197
ns3::HePhy::CreateHeMcs
static WifiMode CreateHeMcs(uint8_t index)
Create and return the HE MCS corresponding to the provided index.
Definition: he-phy.cc:1029
ns3::HePhy::GetWifiConstPsduMap
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.
Definition: he-phy.cc:1179
ns3::HePhy::GetSigBMode
WifiMode GetSigBMode(const WifiTxVector &txVector) const override
Definition: he-phy.cc:132
ns3::HePhy::GetHeMcs
static WifiMode GetHeMcs(uint8_t index)
Return the HE MCS corresponding to the provided index.
Definition: he-phy.cc:979
ns3::HePhy::DoResetReceive
void DoResetReceive(Ptr< Event > event) override
Perform amendment-specific actions before resetting PHY at the end of the PPDU under reception after ...
Definition: he-phy.cc:405