This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters which are to be used for a transmission. More...
#include "wifi-tx-vector.h"
Public Types | |
typedef std::map< uint16_t, HeMuUserInfo > | HeMuUserInfoMap |
map of HE MU specific user info parameters indexed by STA-ID More... | |
using | UserInfoMapOrderedByRus = std::map< HeRu::RuSpec, std::set< uint16_t >, HeRu::RuSpecCompare > |
map of specific user info parameters ordered per increasing frequency RUs More... | |
Public Member Functions | |
WifiTxVector () | |
WifiTxVector (const WifiTxVector &txVector) | |
Copy constructor. More... | |
WifiTxVector (WifiMode mode, uint8_t powerLevel, WifiPreamble preamble, uint16_t guardInterval, uint8_t nTx, uint8_t nss, uint8_t ness, uint16_t channelWidth, bool aggregation, bool stbc=false, bool ldpc=false, uint8_t bssColor=0, uint16_t length=0, bool triggerResponding=false) | |
Create a TXVECTOR with the given parameters. More... | |
uint8_t | GetBssColor () const |
Get the BSS color. More... | |
std::optional< Center26ToneRuIndication > | GetCenter26ToneRuIndication () const |
Get CENTER_26_TONE_RU field This field is present if format is HE_MU and when channel width is set to 80 MHz or larger. More... | |
uint16_t | GetChannelWidth () const |
uint8_t | GetEhtPpduType () const |
Get the EHT_PPDU_TYPE parameter. More... | |
uint16_t | GetGuardInterval () const |
HeMuUserInfo | GetHeMuUserInfo (uint16_t staId) const |
Get the HE MU user-specific transmission information for the given STA-ID. More... | |
HeMuUserInfoMap & | GetHeMuUserInfoMap () |
Get a reference to the map HE MU user-specific transmission information indexed by STA-ID. More... | |
const HeMuUserInfoMap & | GetHeMuUserInfoMap () const |
Get a const reference to the map HE MU user-specific transmission information indexed by STA-ID. More... | |
const std::vector< bool > & | GetInactiveSubchannels () const |
Get the 20 MHz subchannels that are punctured. More... | |
uint16_t | GetLength () const |
Get the LENGTH field of the L-SIG. More... | |
WifiMode | GetMode (uint16_t staId=SU_STA_ID) const |
If this TX vector is associated with an SU PPDU, return the selected payload transmission mode. More... | |
bool | GetModeInitialized () const |
WifiModulationClass | GetModulationClass () const |
Get the modulation class specified by this TXVECTOR. More... | |
uint8_t | GetNess () const |
uint8_t | GetNss (uint16_t staId=SU_STA_ID) const |
If this TX vector is associated with an SU PPDU, return the number of spatial streams. More... | |
uint8_t | GetNssMax () const |
uint8_t | GetNssTotal () const |
uint8_t | GetNTx () const |
WifiPreamble | GetPreambleType () const |
HeRu::RuSpec | GetRu (uint16_t staId) const |
Get the RU specification for the STA-ID. More... | |
const RuAllocation & | GetRuAllocation (uint8_t p20Index) const |
Get RU_ALLOCATION field. More... | |
WifiMode | GetSigBMode () const |
Get MCS used for SIG-B. More... | |
uint8_t | GetTxPowerLevel () const |
UserInfoMapOrderedByRus | GetUserInfoMapOrderedByRus (uint8_t p20Index) const |
Get the map of specific user info parameters ordered per increasing frequency RUs. More... | |
bool | IsAggregation () const |
Checks whether the PSDU contains A-MPDU. More... | |
bool | IsAllocated (uint16_t staId) const |
Check if STA ID is allocated. More... | |
bool | IsDlMu () const |
bool | IsDlMuMimo () const |
Return true if this TX vector is used for a downlink multi-user transmission using MU-MIMO. More... | |
bool | IsDlOfdma () const |
Return true if this TX vector is used for a downlink multi-user transmission using OFDMA. More... | |
bool | IsLdpc () const |
Check if LDPC FEC coding is used or not. More... | |
bool | IsMu () const |
bool | IsNonHtDuplicate () const |
Checks whether this TXVECTOR corresponds to a non-HT duplicate. More... | |
bool | IsSigBCompression () const |
Indicate whether the Common field is present in the HE-SIG-B field. More... | |
bool | IsStbc () const |
Check if STBC is used or not. More... | |
bool | IsTriggerResponding () const |
Return true if the Trigger Responding parameter is set to true, false otherwise. More... | |
bool | IsUlMu () const |
bool | IsValid (WifiPhyBand band=WIFI_PHY_BAND_UNSPECIFIED) const |
The standard disallows certain combinations of WifiMode, number of spatial streams, and channel widths. More... | |
void | SetAggregation (bool aggregation) |
Sets if PSDU contains A-MPDU. More... | |
void | SetBssColor (uint8_t color) |
Set the BSS color. More... | |
void | SetCenter26ToneRuIndication (Center26ToneRuIndication center26ToneRuIndication) |
Set CENTER_26_TONE_RU field. More... | |
void | SetChannelWidth (uint16_t channelWidth) |
Sets the selected channelWidth (in MHz) More... | |
void | SetEhtPpduType (uint8_t type) |
Set the EHT_PPDU_TYPE parameter. More... | |
void | SetGuardInterval (uint16_t guardInterval) |
Sets the guard interval duration (in nanoseconds) More... | |
void | SetHeMuUserInfo (uint16_t staId, HeMuUserInfo userInfo) |
Set the HE MU user-specific transmission information for the given STA-ID. More... | |
void | SetInactiveSubchannels (const std::vector< bool > &inactiveSubchannels) |
Set the 20 MHz subchannels that are punctured. More... | |
void | SetLdpc (bool ldpc) |
Sets if LDPC FEC coding is being used. More... | |
void | SetLength (uint16_t length) |
Set the LENGTH field of the L-SIG. More... | |
void | SetMode (WifiMode mode) |
Sets the selected payload transmission mode. More... | |
void | SetMode (WifiMode mode, uint16_t staId) |
Sets the selected payload transmission mode for a given STA ID (for MU only) More... | |
void | SetNess (uint8_t ness) |
Sets the Ness number. More... | |
void | SetNss (uint8_t nss) |
Sets the number of Nss. More... | |
void | SetNss (uint8_t nss, uint16_t staId) |
Sets the number of Nss for MU. More... | |
void | SetNTx (uint8_t nTx) |
Sets the number of TX antennas. More... | |
void | SetPreambleType (WifiPreamble preamble) |
Sets the preamble type. More... | |
void | SetRu (HeRu::RuSpec ru, uint16_t staId) |
Set the RU specification for the STA-ID. More... | |
void | SetRuAllocation (const RuAllocation &ruAlloc, uint8_t p20Index) |
Set RU_ALLOCATION field. More... | |
void | SetSigBMode (const WifiMode &mode) |
Set the MCS used for SIG-B. More... | |
void | SetStbc (bool stbc) |
Sets if STBC is being used. More... | |
void | SetTriggerResponding (bool triggerResponding) |
Set the Trigger Responding parameter to the given value. More... | |
void | SetTxPowerLevel (uint8_t powerlevel) |
Sets the selected transmission power level. More... | |
Private Member Functions | |
Center26ToneRuIndication | DeriveCenter26ToneRuIndication () const |
Derive the CENTER_26_TONE_RU field from the TXVECTOR for which its CENTER_26_TONE_RU has not been set yet, based on the content of per-user information. More... | |
RuAllocation | DeriveRuAllocation (uint8_t p20Index) const |
Derive the RU_ALLOCATION field from the TXVECTOR for which its RU_ALLOCATION field has not been set yet, based on the content of per-user information. More... | |
uint8_t | GetNumStasInRu (const HeRu::RuSpec &ru) const |
Get the number of STAs in a given RU. More... | |
Private Attributes | |
bool | m_aggregation |
Flag whether the PSDU contains A-MPDU. More... | |
uint8_t | m_bssColor |
BSS color. More... | |
std::optional< Center26ToneRuIndication > | m_center26ToneRuIndication |
CENTER_26_TONE_RU field when format is HE_MU and when channel width is set to 80 MHz or larger (Table 27-1 802.11ax-2021) More... | |
uint16_t | m_channelWidth |
channel width in MHz More... | |
uint8_t | m_ehtPpduType |
EHT_PPDU_TYPE per Table 36-1 IEEE 802.11be D2.3. More... | |
uint16_t | m_guardInterval |
guard interval duration in nanoseconds More... | |
std::vector< bool > | m_inactiveSubchannels |
Bitmap of inactive subchannels used for preamble puncturing. More... | |
bool | m_ldpc |
LDPC FEC coding if true, BCC otherwise. More... | |
uint16_t | m_length |
LENGTH field of the L-SIG. More... | |
WifiMode | m_mode |
The DATARATE parameter in Table 15-4. More... | |
bool | m_modeInitialized |
Internal initialization flag. More... | |
HeMuUserInfoMap | m_muUserInfos |
HE MU specific per-user information indexed by station ID (STA-ID) corresponding to the 11 LSBs of the AID of the recipient STA This list shall be used only for HE MU. More... | |
uint8_t | m_ness |
number of spatial streams in beamforming More... | |
uint8_t | m_nss |
number of spatial streams More... | |
uint8_t | m_nTx |
number of TX antennas More... | |
WifiPreamble | m_preamble |
preamble More... | |
RuAllocation | m_ruAllocation |
RU allocations that are going to be carried in SIG-B common field per Table 27-1 IEEE. More... | |
WifiMode | m_sigBMcs |
MCS_SIG_B per Table 27-1 IEEE 802.11ax-2021. More... | |
bool | m_stbc |
STBC used or not. More... | |
bool | m_triggerResponding |
The Trigger Responding parameter. More... | |
uint8_t | m_txPowerLevel |
The TXPWR_LEVEL parameter in Table 15-4. More... | |
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters which are to be used for a transmission.
See IEEE 802.11-2016 16.2.5 "Transmit PHY", and also 8.3.4.1 "PHY SAP peer-to-peer service primitive parameters".
If this class is constructed with the constructor that takes no arguments, then the client must explicitly set the mode and transmit power level parameters before using them. Default member initializers are provided for the other parameters, to conform to a non-MIMO/long guard configuration, although these may also be explicitly set after object construction.
When used in a infrastructure context, WifiTxVector values should be drawn from WifiRemoteStationManager parameters since rate adaptation is responsible for picking the mode, number of streams, etc., but in the case in which there is no such manager (e.g. mesh), the client still needs to initialize at least the mode and transmit power level appropriately.
Definition at line 110 of file wifi-tx-vector.h.
typedef std::map<uint16_t , HeMuUserInfo > ns3::WifiTxVector::HeMuUserInfoMap |
map of HE MU specific user info parameters indexed by STA-ID
Definition at line 115 of file wifi-tx-vector.h.
using ns3::WifiTxVector::UserInfoMapOrderedByRus = std::map<HeRu::RuSpec, std::set<uint16_t>, HeRu::RuSpecCompare> |
map of specific user info parameters ordered per increasing frequency RUs
Definition at line 447 of file wifi-tx-vector.h.
ns3::WifiTxVector::WifiTxVector | ( | ) |
Definition at line 36 of file wifi-tx-vector.cc.
ns3::WifiTxVector::WifiTxVector | ( | WifiMode | mode, |
uint8_t | powerLevel, | ||
WifiPreamble | preamble, | ||
uint16_t | guardInterval, | ||
uint8_t | nTx, | ||
uint8_t | nss, | ||
uint8_t | ness, | ||
uint16_t | channelWidth, | ||
bool | aggregation, | ||
bool | stbc = false , |
||
bool | ldpc = false , |
||
uint8_t | bssColor = 0 , |
||
uint16_t | length = 0 , |
||
bool | triggerResponding = false |
||
) |
Create a TXVECTOR with the given parameters.
mode | WifiMode |
powerLevel | transmission power level |
preamble | preamble type |
guardInterval | the guard interval duration in nanoseconds |
nTx | the number of TX antennas |
nss | the number of spatial STBC streams (NSS) |
ness | the number of extension spatial streams (NESS) |
channelWidth | the channel width in MHz |
aggregation | enable or disable MPDU aggregation |
stbc | enable or disable STBC |
ldpc | enable or disable LDPC (BCC is used otherwise) |
bssColor | the BSS color |
length | the LENGTH field of the L-SIG |
triggerResponding | the Trigger Responding parameter |
Definition at line 58 of file wifi-tx-vector.cc.
ns3::WifiTxVector::WifiTxVector | ( | const WifiTxVector & | txVector | ) |
Copy constructor.
txVector | the TXVECTOR to copy |
Definition at line 94 of file wifi-tx-vector.cc.
References m_muUserInfos.
|
private |
Derive the CENTER_26_TONE_RU field from the TXVECTOR for which its CENTER_26_TONE_RU has not been set yet, based on the content of per-user information.
Definition at line 862 of file wifi-tx-vector.cc.
References ns3::CENTER_26_TONE_RU_HIGH_80_MHZ_ALLOCATED, ns3::CENTER_26_TONE_RU_LOW_80_MHZ_ALLOCATED, m_muUserInfos, and ns3::HeRu::RU_26_TONE.
Referenced by GetCenter26ToneRuIndication(), and SetCenter26ToneRuIndication().
|
private |
Derive the RU_ALLOCATION field from the TXVECTOR for which its RU_ALLOCATION field has not been set yet, based on the content of per-user information.
This is valid only for allocations of RUs of the same size per 20 MHz subchannel.
p20Index | the index of the primary20 channel |
Definition at line 797 of file wifi-tx-vector.cc.
References ns3::HeRu::EMPTY_242_TONE_RU, ns3::HeRu::GetBandwidth(), ns3::HeRu::GetEqualizedRuAllocation(), ns3::HeRu::GetRusOfType(), GetUserInfoMapOrderedByRus(), m_channelWidth, NS_ABORT_IF, NS_ASSERT, NS_ASSERT_MSG, ns3::HeRu::RU_26_TONE, and ns3::HeRu::RU_2x996_TONE.
Referenced by GetRuAllocation(), and SetRuAllocation().
uint8_t ns3::WifiTxVector::GetBssColor | ( | ) | const |
Get the BSS color.
Definition at line 374 of file wifi-tx-vector.cc.
References m_bssColor.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::HeFrameExchangeManager::IsIntraBssPpdu(), ns3::operator<<(), ns3::EhtPpdu::SetEhtPhyHeader(), and ns3::HePpdu::SetHeSigHeader().
std::optional< Center26ToneRuIndication > ns3::WifiTxVector::GetCenter26ToneRuIndication | ( | ) | const |
Get CENTER_26_TONE_RU field This field is present if format is HE_MU and when channel width is set to 80 MHz or larger.
Definition at line 697 of file wifi-tx-vector.cc.
References DeriveCenter26ToneRuIndication(), IsDlMu(), m_center26ToneRuIndication, and m_channelWidth.
Referenced by ns3::HePpdu::SetHeSigHeader().
uint16_t ns3::WifiTxVector::GetChannelWidth | ( | ) | const |
Definition at line 185 of file wifi-tx-vector.cc.
References m_channelWidth.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), ns3::IdealWifiManager::AddSnrThreshold(), ns3::InterferenceHelper::CalculateChunkSuccessRate(), EmlsrDlTxopTest::CheckBlockAck(), EmlsrUlTxopTest::CheckRtsFrames(), ns3::YansErrorRateModel::DoGetChunkSuccessRate(), ns3::IdealWifiManager::DoGetDataTxVector(), WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::FrameExchangeManager::ForwardMpduDown(), ns3::HtFrameExchangeManager::ForwardPsduDown(), ns3::HeFrameExchangeManager::ForwardPsduMapDown(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::PhyEntity::GetCenterFrequencyForChannelWidth(), ns3::HePhy::GetCenterFrequencyForNonHePart(), ns3::HtPhy::GetDataRateFromTxVector(), ns3::ErpOfdmPhy::GetDataRateFromTxVector(), ns3::OfdmPhy::GetDataRateFromTxVector(), ns3::VhtPhy::GetDataRateFromTxVector(), ns3::EhtPhy::GetDataRateFromTxVector(), ns3::HePhy::GetDataRateFromTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::OfdmPhy::GetHeaderDuration(), ns3::OfdmPhy::GetHeaderMode(), ns3::HePpdu::GetHeSigBContentChannels(), ns3::HePhy::GetNonOfdmaBand(), ns3::VhtPhy::GetNumberBccEncoders(), ns3::HtPhy::GetPhyRateFromTxVector(), ns3::ErpOfdmPhy::GetPhyRateFromTxVector(), ns3::OfdmPhy::GetPhyRateFromTxVector(), ns3::VhtPhy::GetPhyRateFromTxVector(), ns3::EhtPhy::GetPhyRateFromTxVector(), ns3::HePhy::GetPhyRateFromTxVector(), ns3::OfdmPhy::GetPreambleDuration(), ns3::WifiDefaultProtectionManager::GetPsduProtection(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::HePhy::GetRuBandForRx(), ns3::HePhy::GetRuBandForTx(), ns3::PhyEntity::GetRxChannelWidth(), ns3::HePhy::GetSigBSize(), ns3::EhtPhy::GetSigBSize(), ns3::VhtPhy::IsAllowed(), ns3::operator<<(), ns3::WifiRemoteStationManager::ReportAmpduTxStatus(), ns3::WifiRemoteStationManager::ReportDataOk(), TestMultipleCtsResponsesFromMuRts::RxCtsSuccess(), TestNonHtDuplicatePhyReception::RxSuccess(), ns3::EhtPpdu::SetEhtPhyHeader(), ns3::HePpdu::SetHeMuUserInfos(), ns3::HePpdu::SetHeSigHeader(), ns3::HtPpdu::SetHtSigHeader(), ns3::VhtPpdu::SetVhtSigHeader(), Bug2843TestCase::StoreDistinctTuple(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), PowerRateAdaptationTest::TestRrpaa(), ns3::WifiDefaultProtectionManager::TryAddMpduToMuPpdu(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
uint8_t ns3::WifiTxVector::GetEhtPpduType | ( | ) | const |
Get the EHT_PPDU_TYPE parameter.
Definition at line 443 of file wifi-tx-vector.cc.
References m_ehtPpduType.
Referenced by ns3::EhtPpdu::GetEhtSigContentChannels(), ns3::EhtPhy::GetSigBSize(), ns3::operator<<(), and ns3::EhtPpdu::SetEhtPhyHeader().
uint16_t ns3::WifiTxVector::GetGuardInterval | ( | ) | const |
Definition at line 191 of file wifi-tx-vector.cc.
References m_guardInterval.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::HtPhy::GetDataRateFromTxVector(), ns3::VhtPhy::GetDataRateFromTxVector(), ns3::EhtPhy::GetDataRateFromTxVector(), ns3::HePhy::GetDataRateFromTxVector(), ns3::HtPhy::GetNumberBccEncoders(), ns3::VhtPhy::GetNumberBccEncoders(), ns3::HtPhy::GetPhyRateFromTxVector(), ns3::VhtPhy::GetPhyRateFromTxVector(), ns3::EhtPhy::GetPhyRateFromTxVector(), ns3::HePhy::GetPhyRateFromTxVector(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::HtPhy::GetSymbolDuration(), ns3::HePhy::GetSymbolDuration(), ns3::HePhy::GetValidPpduDuration(), ns3::operator<<(), ns3::EhtPpdu::SetEhtPhyHeader(), ns3::HePpdu::SetHeSigHeader(), ns3::HtPpdu::SetHtSigHeader(), ns3::HePhy::SetTrigVector(), ns3::VhtPpdu::SetVhtSigHeader(), and PowerRateAdaptationTest::TestRrpaa().
HeMuUserInfo ns3::WifiTxVector::GetHeMuUserInfo | ( | uint16_t | staId | ) | const |
Get the HE MU user-specific transmission information for the given STA-ID.
This is applicable only for HE MU.
staId | the station ID |
Definition at line 628 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, and NS_ABORT_MSG_IF.
Referenced by ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::HePpdu::GetHeSigBContentChannels(), and ns3::WifiPhyHelper::GetRadiotapHeader().
WifiTxVector::HeMuUserInfoMap & ns3::WifiTxVector::GetHeMuUserInfoMap | ( | ) |
Get a reference to the map HE MU user-specific transmission information indexed by STA-ID.
This is applicable only for HE MU.
Definition at line 652 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, m_ruAllocation, and NS_ABORT_MSG_IF.
const WifiTxVector::HeMuUserInfoMap & ns3::WifiTxVector::GetHeMuUserInfoMap | ( | ) | const |
Get a const reference to the map HE MU user-specific transmission information indexed by STA-ID.
This is applicable only for HE MU.
Definition at line 645 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, and NS_ABORT_MSG_IF.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), ns3::HePhy::CalculateTxDuration(), ns3::HeFrameExchangeManager::EndReceiveAmpdu(), ns3::RrMultiUserScheduler::FinalizeTxVector(), ns3::HePpdu::GetHeSigBContentChannels(), ns3::HePhy::GetSigBMode(), ns3::HePhy::GetSigBSize(), ns3::EhtPhy::GetSigBSize(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), ns3::HePhy::GetWifiConstPsduMap(), ns3::operator<<(), ns3::HeFrameExchangeManager::PrepareMuBar(), ns3::HeFrameExchangeManager::ReceiveMpdu(), WifiPrimaryChannelsTest::ReceiveUl(), TestMultipleHeTbPreambles::Reset(), ns3::HePpdu::SetHeSigHeader(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), MultiLinkMuTxTest::Transmit(), ns3::RrMultiUserScheduler::TrySendingBasicTf(), ns3::RrMultiUserScheduler::TrySendingBsrpTf(), and ns3::RrMultiUserScheduler::UpdateCredits().
const std::vector< bool > & ns3::WifiTxVector::GetInactiveSubchannels | ( | ) | const |
Get the 20 MHz subchannels that are punctured.
Definition at line 681 of file wifi-tx-vector.cc.
References m_inactiveSubchannels.
Referenced by ns3::operator<<().
uint16_t ns3::WifiTxVector::GetLength | ( | void | ) | const |
Get the LENGTH field of the L-SIG.
Definition at line 386 of file wifi-tx-vector.cc.
References m_length.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), ns3::HePhy::CalculateTxDuration(), and ns3::operator<<().
If this TX vector is associated with an SU PPDU, return the selected payload transmission mode.
If this TX vector is associated with an MU PPDU, return the transmission mode (MCS) selected for the transmission to the station identified by the given STA-ID.
staId | the station ID for MU |
Definition at line 133 of file wifi-tx-vector.cc.
References ns3::EhtPhy::GetEhtMcs(), ns3::HePhy::GetHeMcs(), ns3::GetModulationClassForPreamble(), IsMu(), m_mode, m_modeInitialized, m_muUserInfos, m_preamble, NS_ABORT_MSG, NS_ABORT_MSG_IF, NS_ASSERT, NS_FATAL_ERROR, ns3::WIFI_MOD_CLASS_EHT, and ns3::WIFI_MOD_CLASS_HE.
Referenced by ns3::IdealWifiManager::AddSnrThreshold(), ns3::WifiRemoteStationManager::AdjustTxVectorForIcf(), ns3::InterferenceHelper::CalculatePayloadChunkSuccessRate(), ns3::ErrorRateModel::CalculateSnr(), EmlsrDlTxopTest::CheckInitialControlFrame(), IdealRateManagerMimoTest::CheckLastSelectedMode(), TxDurationTest::CheckMuTxDuration(), ns3::YansErrorRateModel::DoGetChunkSuccessRate(), ns3::MinstrelHtWifiManager::DoGetDataTxVector(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::HtPhy::GetDataRateFromTxVector(), ns3::DsssPhy::GetDataRateFromTxVector(), ns3::ErpOfdmPhy::GetDataRateFromTxVector(), ns3::OfdmPhy::GetDataRateFromTxVector(), ns3::VhtPhy::GetDataRateFromTxVector(), ns3::EhtPhy::GetDataRateFromTxVector(), ns3::HePhy::GetDataRateFromTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::EhtPpdu::GetEhtSigContentChannels(), ns3::DsssPhy::GetHeaderDuration(), ns3::DsssPhy::GetHeaderMode(), ns3::ErpOfdmPhy::GetHeaderMode(), ns3::HtPhy::GetNumberBccEncoders(), ns3::VhtPhy::GetNumberBccEncoders(), ns3::HtPhy::GetPayloadDuration(), ns3::DsssPhy::GetPayloadDuration(), ns3::OfdmPhy::GetPayloadDuration(), ns3::HtPhy::GetPhyRateFromTxVector(), ns3::ErpOfdmPhy::GetPhyRateFromTxVector(), ns3::OfdmPhy::GetPhyRateFromTxVector(), ns3::VhtPhy::GetPhyRateFromTxVector(), ns3::EhtPhy::GetPhyRateFromTxVector(), ns3::HePhy::GetPhyRateFromTxVector(), ns3::DsssPhy::GetPreambleDuration(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::FrameExchangeManager::GetRtsDurationId(), ns3::EhtPhy::GetSigBMode(), ns3::VhtPhy::IsAllowed(), ns3::WifiRemoteStationManager::NeedCtsToSelf(), ns3::WifiPhyStateHelper::NotifyRxPsduSucceeded(), ns3::operator<<(), ns3::FrameExchangeManager::ReceivedNormalAck(), ns3::FrameExchangeManager::ReceiveMpdu(), ns3::HeFrameExchangeManager::ReceiveMpdu(), ns3::HtFrameExchangeManager::ReceiveMpdu(), ns3::QosFrameExchangeManager::ReceiveMpdu(), ns3::WifiRemoteStationManager::ReportRxOk(), ns3::DsssPpdu::SetDsssHeader(), ns3::HePpdu::SetHeSigHeader(), ns3::HtPpdu::SetHtSigHeader(), ns3::OfdmPpdu::SetLSigHeader(), ns3::VhtPpdu::SetVhtSigHeader(), Bug2843TestCase::StoreDistinctTuple(), ns3::WifiPhyStateHelper::SwitchToTx(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), PowerRateAdaptationTest::TestRrpaa(), ns3::RrMultiUserScheduler::TrySendingDlMuPpdu(), IdealRateManagerChannelWidthTest::TxCallback(), Issue169TestCase::TxCallback(), ns3::FrameExchangeManager::UpdateNav(), and ns3::HeFrameExchangeManager::UpdateNav().
bool ns3::WifiTxVector::GetModeInitialized | ( | ) | const |
Definition at line 127 of file wifi-tx-vector.cc.
References m_modeInitialized.
Referenced by IsValid().
WifiModulationClass ns3::WifiTxVector::GetModulationClass | ( | ) | const |
Get the modulation class specified by this TXVECTOR.
Definition at line 159 of file wifi-tx-vector.cc.
References ns3::WifiMode::GetModulationClass(), ns3::GetModulationClassForPreamble(), IsMu(), m_mode, m_modeInitialized, m_muUserInfos, m_preamble, NS_ABORT_MSG_IF, and NS_ASSERT.
Referenced by ns3::WifiPhy::CalculatePhyPreambleAndHeaderDuration(), ns3::WifiPhy::CalculateTxDuration(), ns3::HePhy::CalculateTxDuration(), ns3::HePhy::ConvertHeTbPpduDurationToLSigLength(), ns3::HePhy::ConvertLSigLengthToHeTbPpduDuration(), ns3::HeFrameExchangeManager::ForwardPsduMapDown(), ns3::HePhy::GetCenterFrequencyForNonHePart(), ns3::MpduAggregator::GetNextAmpdu(), ns3::MsduAggregator::GetNextAmsdu(), ns3::HePhy::GetNonOfdmaBand(), ns3::WifiPhy::GetPayloadDuration(), ns3::VhtFrameExchangeManager::GetPsduSize(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::HePhy::GetSigBSize(), ns3::HePhy::GetSigMode(), ns3::WifiTxParameters::GetSize(), ns3::WifiTxParameters::GetSizeIfAddMpdu(), ns3::WifiTxParameters::GetSizeIfAggregateMsdu(), ns3::HePhy::GetTrainingDuration(), ns3::WifiPhy::GetWifiConstPsduMap(), ns3::VhtFrameExchangeManager::GetWifiPsdu(), IsNonHtDuplicate(), IsValid(), ns3::HtFrameExchangeManager::IsWithinLimitsIfAddMpdu(), ns3::HtFrameExchangeManager::IsWithinLimitsIfAggregateMsdu(), ns3::QosFrameExchangeManager::IsWithinSizeAndTimeLimits(), ns3::WifiRemoteStationManager::NeedRts(), ns3::WifiPhy::Send(), ns3::HeFrameExchangeManager::SendPsduMap(), and ns3::WifiDefaultProtectionManager::TryAddMpduToMuPpdu().
uint8_t ns3::WifiTxVector::GetNess | ( | ) | const |
Definition at line 254 of file wifi-tx-vector.cc.
References m_ness.
Referenced by ns3::HtPhy::GetDuration(), ns3::WifiPhyHelper::GetRadiotapHeader(), and ns3::operator<<().
uint8_t ns3::WifiTxVector::GetNss | ( | uint16_t | staId = SU_STA_ID | ) | const |
If this TX vector is associated with an SU PPDU, return the number of spatial streams.
If this TX vector is associated with an MU PPDU, return the number of spatial streams for the transmission to the station identified by the given STA-ID.
staId | the station ID for MU |
Definition at line 203 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, m_nss, NS_ABORT_MSG_IF, and NS_ASSERT.
Referenced by ns3::InterferenceHelper::CalculatePayloadChunkSuccessRate(), IdealRateManagerMimoTest::CheckLastSelectedNss(), TxDurationTest::CheckMuTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::HtPhy::GetDataRateFromTxVector(), ns3::VhtPhy::GetDataRateFromTxVector(), ns3::EhtPhy::GetDataRateFromTxVector(), ns3::HePhy::GetDataRateFromTxVector(), ns3::EhtPpdu::GetEhtSigContentChannels(), ns3::VhtPhy::GetNumberBccEncoders(), ns3::HtPhy::GetPhyRateFromTxVector(), ns3::VhtPhy::GetPhyRateFromTxVector(), ns3::EhtPhy::GetPhyRateFromTxVector(), ns3::HePhy::GetPhyRateFromTxVector(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::VhtPhy::IsAllowed(), ns3::operator<<(), ns3::WifiRemoteStationManager::ReportAmpduTxStatus(), ns3::WifiRemoteStationManager::ReportDataOk(), ns3::WifiPhy::Send(), ns3::HePpdu::SetHeSigHeader(), ns3::VhtPpdu::SetVhtSigHeader(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
uint8_t ns3::WifiTxVector::GetNssMax | ( | ) | const |
Definition at line 215 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, and m_nss.
Referenced by ns3::HtPhy::GetDuration(), and ns3::WifiPhy::Send().
uint8_t ns3::WifiTxVector::GetNssTotal | ( | ) | const |
Definition at line 234 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, and m_nss.
Referenced by ns3::WifiPhy::Send().
uint8_t ns3::WifiTxVector::GetNTx | ( | ) | const |
Definition at line 197 of file wifi-tx-vector.cc.
References m_nTx.
Referenced by ns3::operator<<().
|
private |
Get the number of STAs in a given RU.
ru | the RU specification |
Definition at line 598 of file wifi-tx-vector.cc.
References m_muUserInfos.
Referenced by IsValid().
WifiPreamble ns3::WifiTxVector::GetPreambleType | ( | ) | const |
Definition at line 179 of file wifi-tx-vector.cc.
References m_preamble.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), EmlsrDlTxopTest::CheckInitialControlFrame(), TestMultiUserScheduler::ComputeWifiTxVector(), ns3::EhtFrameExchangeManager::ForwardPsduDown(), ns3::HeFrameExchangeManager::ForwardPsduMapDown(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::EhtPhy::GetDuration(), ns3::HtPhy::GetDuration(), ns3::VhtPhy::GetDuration(), ns3::DsssPhy::GetHeaderDuration(), ns3::DsssPhy::GetHeaderMode(), ns3::PhyEntity::GetPhyHeaderSections(), ns3::DsssPhy::GetPreambleDuration(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::VhtPhy::GetSigBDuration(), ns3::VhtPhy::GetSigBMode(), ns3::HePhy::GetSigBMode(), ns3::HePhy::GetSigBSize(), ns3::EhtPhy::GetSigBSize(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), ns3::HePhy::GetWifiConstPsduMap(), ns3::QosFrameExchangeManager::IsWithinSizeAndTimeLimits(), ns3::WifiPhyStateHelper::NotifyRxPsduSucceeded(), ns3::operator<<(), TestUlOfdmaPowerControl::ReceiveOkCallbackAtAp(), ns3::HePhy::RxPayloadSucceeded(), ns3::WifiPhyStateHelper::SwitchToTx(), OfdmaAckSequenceTest::Transmit(), ns3::RrMultiUserScheduler::TrySendingBasicTf(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
HeRu::RuSpec ns3::WifiTxVector::GetRu | ( | uint16_t | staId | ) | const |
Get the RU specification for the STA-ID.
This is applicable only for MU.
staId | the station ID |
Definition at line 612 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, and NS_ABORT_MSG_IF.
Referenced by ns3::HePhy::GetCenterFrequencyForNonHePart(), ns3::HePhy::GetChannelWidthAndBand(), ns3::EhtPhy::GetDataRateFromTxVector(), ns3::HePhy::GetDataRateFromTxVector(), ns3::HePhy::GetNonOfdmaBand(), ns3::EhtPhy::GetPhyRateFromTxVector(), ns3::HePhy::GetPhyRateFromTxVector(), ns3::HePhy::GetRuBandForRx(), ns3::HePhy::GetRuBandForTx(), and TestMultipleHeTbPreambles::RxHeTbPpdu().
const RuAllocation & ns3::WifiTxVector::GetRuAllocation | ( | uint8_t | p20Index | ) | const |
Get RU_ALLOCATION field.
p20Index | the index of the primary20 channel |
Definition at line 426 of file wifi-tx-vector.cc.
References DeriveRuAllocation(), ns3::IsDlMu(), m_preamble, and m_ruAllocation.
Referenced by ns3::HePpdu::GetHeSigBContentChannels(), ns3::HePhy::GetSigBSize(), ns3::EhtPhy::GetSigBSize(), ns3::EhtPpdu::SetEhtPhyHeader(), and ns3::HePpdu::SetHeSigHeader().
WifiMode ns3::WifiTxVector::GetSigBMode | ( | ) | const |
Get MCS used for SIG-B.
Definition at line 410 of file wifi-tx-vector.cc.
References m_sigBMcs.
Referenced by ns3::operator<<(), ns3::EhtPpdu::SetEhtPhyHeader(), and ns3::HePpdu::SetHeSigHeader().
uint8_t ns3::WifiTxVector::GetTxPowerLevel | ( | ) | const |
Definition at line 173 of file wifi-tx-vector.cc.
References m_txPowerLevel.
Referenced by ns3::operator<<(), ns3::WifiPhy::Send(), ns3::WifiPhyStateHelper::SwitchToTx(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), and PowerRateAdaptationTest::TestRrpaa().
WifiTxVector::UserInfoMapOrderedByRus ns3::WifiTxVector::GetUserInfoMapOrderedByRus | ( | uint8_t | p20Index | ) | const |
Get the map of specific user info parameters ordered per increasing frequency RUs.
p20Index | the index of the primary20 channel |
Definition at line 777 of file wifi-tx-vector.cc.
References m_channelWidth, and m_muUserInfos.
Referenced by DeriveRuAllocation(), and ns3::HePpdu::GetHeSigBContentChannels().
bool ns3::WifiTxVector::IsAggregation | ( | ) | const |
Checks whether the PSDU contains A-MPDU.
Definition at line 260 of file wifi-tx-vector.cc.
References m_aggregation.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::WifiPhy::NotifyMonitorSniffRx(), ns3::WifiPhy::NotifyMonitorSniffTx(), ns3::operator<<(), ns3::HtPpdu::SetHtSigHeader(), and TracePacketReception().
bool ns3::WifiTxVector::IsAllocated | ( | uint16_t | staId | ) | const |
Check if STA ID is allocated.
staId | STA ID |
Definition at line 606 of file wifi-tx-vector.cc.
References m_muUserInfos.
Referenced by ns3::HePpdu::SetHeMuUserInfos().
bool ns3::WifiTxVector::IsDlMu | ( | ) | const |
Definition at line 540 of file wifi-tx-vector.cc.
References ns3::IsDlMu(), ns3::IsEht(), m_ehtPpduType, and m_preamble.
Referenced by ns3::HePhy::CalculateTxDuration(), TestMultiUserScheduler::ComputeWifiTxVector(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfBarBaSequence(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), GetCenter26ToneRuIndication(), ns3::EhtPhy::GetSigBMode(), ns3::HePhy::GetSigMode(), ns3::HeFrameExchangeManager::GetTxDuration(), IsDlMuMimo(), IsDlOfdma(), IsMu(), SetCenter26ToneRuIndication(), ns3::WifiDefaultAckManager::TryAddMpdu(), ns3::WifiDefaultProtectionManager::TryAddMpdu(), ns3::WifiDefaultProtectionManager::TryAddMpduToMuPpdu(), and ns3::WifiDefaultProtectionManager::TryAggregateMsdu().
bool ns3::WifiTxVector::IsDlMuMimo | ( | ) | const |
Return true if this TX vector is used for a downlink multi-user transmission using MU-MIMO.
Definition at line 579 of file wifi-tx-vector.cc.
References IsDlMu(), IsDlOfdma(), ns3::IsEht(), m_ehtPpduType, m_muUserInfos, and m_preamble.
Referenced by HeSigBDurationTest::BuildTxVector(), TestDlMuTxVector::DoRun(), IsSigBCompression(), ns3::WifiPhy::Send(), and TestDlMuMimoPhyTransmission::SendMuPpdu().
bool ns3::WifiTxVector::IsDlOfdma | ( | ) | const |
Return true if this TX vector is used for a downlink multi-user transmission using OFDMA.
Definition at line 552 of file wifi-tx-vector.cc.
References IsDlMu(), ns3::IsEht(), m_ehtPpduType, m_muUserInfos, and m_preamble.
Referenced by HeSigBDurationTest::BuildTxVector(), TestDlMuTxVector::DoRun(), IsDlMuMimo(), IsSigBCompression(), and TestDlMuMimoPhyTransmission::SendMuPpdu().
bool ns3::WifiTxVector::IsLdpc | ( | ) | const |
Check if LDPC FEC coding is used or not.
Definition at line 272 of file wifi-tx-vector.cc.
References m_ldpc.
Referenced by ns3::TableBasedErrorRateModel::DoGetChunkSuccessRate(), and ns3::operator<<().
bool ns3::WifiTxVector::IsMu | ( | ) | const |
Definition at line 534 of file wifi-tx-vector.cc.
References IsDlMu(), and IsUlMu().
Referenced by ns3::YansErrorRateModel::DoGetChunkSuccessRate(), ns3::HePhy::GetChannelWidthAndBand(), ns3::EhtPhy::GetDataRateFromTxVector(), ns3::HePhy::GetDataRateFromTxVector(), GetHeMuUserInfo(), GetHeMuUserInfoMap(), GetMode(), GetModulationClass(), GetNss(), GetNssMax(), GetNssTotal(), ns3::EhtPhy::GetPhyRateFromTxVector(), ns3::HePhy::GetPhyRateFromTxVector(), GetRu(), ns3::HePhy::GetRuBandForRx(), ns3::HePhy::GetRuBandForTx(), ns3::WifiRemoteStationManager::GetStaId(), ns3::HeFrameExchangeManager::GetTxDuration(), IsNonHtDuplicate(), ns3::operator<<(), ns3::WifiPhy::Send(), ns3::EhtPpdu::SetEhtPhyHeader(), SetHeMuUserInfo(), SetMode(), SetNss(), SetRu(), and OfdmaAckSequenceTest::Transmit().
bool ns3::WifiTxVector::IsNonHtDuplicate | ( | ) | const |
Checks whether this TXVECTOR corresponds to a non-HT duplicate.
Definition at line 278 of file wifi-tx-vector.cc.
References GetModulationClass(), IsMu(), m_channelWidth, and ns3::WIFI_MOD_CLASS_HT.
bool ns3::WifiTxVector::IsSigBCompression | ( | ) | const |
Indicate whether the Common field is present in the HE-SIG-B field.
Definition at line 660 of file wifi-tx-vector.cc.
References IsDlMuMimo(), and IsDlOfdma().
Referenced by TestDlMuTxVector::DoRun(), ns3::HePpdu::GetHeSigBContentChannels(), ns3::HePhy::GetSigBSize(), ns3::EhtPhy::GetSigBSize(), and ns3::HePpdu::SetHeSigHeader().
bool ns3::WifiTxVector::IsStbc | ( | ) | const |
Check if STBC is used or not.
Definition at line 266 of file wifi-tx-vector.cc.
References m_stbc.
Referenced by ns3::HtPhy::GetPayloadDuration(), ns3::WifiPhyHelper::GetRadiotapHeader(), and ns3::operator<<().
bool ns3::WifiTxVector::IsTriggerResponding | ( | ) | const |
Return true if the Trigger Responding parameter is set to true, false otherwise.
Definition at line 392 of file wifi-tx-vector.cc.
References m_triggerResponding.
Referenced by ns3::HePhy::ObtainNextUid().
bool ns3::WifiTxVector::IsUlMu | ( | ) | const |
Definition at line 546 of file wifi-tx-vector.cc.
References ns3::IsUlMu(), and m_preamble.
Referenced by ns3::HePhy::CalculateTxDuration(), ns3::HePhy::ConvertHeTbPpduDurationToLSigLength(), ns3::HePhy::ConvertLSigLengthToHeTbPpduDuration(), ns3::HeFrameExchangeManager::EndReceiveAmpdu(), ns3::HePhy::GetCenterFrequencyForNonHePart(), ns3::HePhy::GetNonOfdmaBand(), ns3::HePhy::GetTrainingDuration(), ns3::HeFrameExchangeManager::GetTxDuration(), IsMu(), ns3::HePhy::ObtainNextUid(), ns3::operator<<(), ns3::EhtFrameExchangeManager::PreProcessFrame(), ns3::HeFrameExchangeManager::ReceiveMpdu(), WifiPrimaryChannelsTest::ReceiveUl(), ns3::HePhy::RxPayloadFailed(), ns3::HeFrameExchangeManager::SendPsduMapWithProtection(), ns3::HeFrameExchangeManager::SetTxopHolder(), MultiLinkMuTxTest::Transmit(), ns3::WifiDefaultAckManager::TryAddMpdu(), ns3::WifiDefaultProtectionManager::TryAddMpdu(), and ns3::WifiDefaultProtectionManager::TryAggregateMsdu().
bool ns3::WifiTxVector::IsValid | ( | WifiPhyBand | band = WIFI_PHY_BAND_UNSPECIFIED | ) | const |
The standard disallows certain combinations of WifiMode, number of spatial streams, and channel widths.
This method can be used to check whether this WifiTxVector contains an invalid combination. If a PHY band is specified, it is checked that the PHY band is appropriate for the modulation class of the TXVECTOR, in case the latter is OFDM or ERP-OFDM.
band | the PHY band |
Definition at line 449 of file wifi-tx-vector.cc.
References GetModeInitialized(), GetModulationClass(), GetNumStasInRu(), ns3::WifiMode::GetUniqueName(), m_channelWidth, m_mode, m_muUserInfos, m_nss, NS_ABORT_MSG_IF, ns3::WIFI_MOD_CLASS_ERP_OFDM, ns3::WIFI_MOD_CLASS_OFDM, ns3::WIFI_PHY_BAND_2_4GHZ, and ns3::WIFI_PHY_BAND_UNSPECIFIED.
Referenced by ns3::IdealWifiManager::DoGetDataTxVector(), TestDlMuTxVector::DoRun(), ns3::MinstrelHtWifiManager::IsValidMcs(), ns3::operator<<(), and ns3::WifiPhy::Send().
void ns3::WifiTxVector::SetAggregation | ( | bool | aggregation | ) |
Sets if PSDU contains A-MPDU.
aggregation | whether the PSDU contains A-MPDU or not |
Definition at line 350 of file wifi-tx-vector.cc.
References m_aggregation.
Referenced by ns3::HtFrameExchangeManager::ForwardPsduDown(), ns3::HeFrameExchangeManager::ForwardPsduMapDown(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), ns3::HtPpdu::SetTxVectorFromPhyHeaders(), and ns3::VhtPpdu::SetTxVectorFromPhyHeaders().
void ns3::WifiTxVector::SetBssColor | ( | uint8_t | color | ) |
Set the BSS color.
color | the BSS color |
Definition at line 368 of file wifi-tx-vector.cc.
References m_bssColor.
Referenced by ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::HeFrameExchangeManager::GetHeTbTxVector(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
void ns3::WifiTxVector::SetCenter26ToneRuIndication | ( | Center26ToneRuIndication | center26ToneRuIndication | ) |
Set CENTER_26_TONE_RU field.
center26ToneRuIndication | the CENTER_26_TONE_RU field |
Definition at line 687 of file wifi-tx-vector.cc.
References DeriveCenter26ToneRuIndication(), IsDlMu(), m_center26ToneRuIndication, and NS_ASSERT.
Referenced by ns3::HePpdu::SetTxVectorFromPhyHeaders().
void ns3::WifiTxVector::SetChannelWidth | ( | uint16_t | channelWidth | ) |
Sets the selected channelWidth (in MHz)
channelWidth | the channel width (in MHz) |
Definition at line 312 of file wifi-tx-vector.cc.
References m_channelWidth.
Referenced by ns3::IdealWifiManager::BuildSnrThresholds(), HeSigBDurationTest::BuildTxVector(), TestDlMuTxVector::BuildTxVector(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckMuTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), TestMultiUserScheduler::ComputeWifiTxVector(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoGetRtsTxVector(), ns3::DsssPpdu::DoGetTxVector(), PhyHeaderSectionsTest::DoRun(), WifiErrorRateModelsTestCaseMimo::DoRun(), TestMultipleCtsResponsesFromMuRts::FakePreviousMuRts(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WifiMode::GetDataRate(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::CtrlTriggerHeader::GetHeTbTxVector(), ns3::WifiMode::GetPhyRate(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::HeFrameExchangeManager::GetTrigVector(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), ns3::WifiMode::IsAllowed(), ns3::MinstrelHtWifiManager::IsValidMcs(), InterferenceExperiment::SendA(), InterferenceExperiment::SendB(), ns3::OfdmPpdu::SetTxVectorFromLSigHeader(), ns3::ErpOfdmPpdu::SetTxVectorFromLSigHeader(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), ns3::HtPpdu::SetTxVectorFromPhyHeaders(), ns3::VhtPpdu::SetTxVectorFromPhyHeaders(), NodeStatistics::SetupPhy(), ns3::WifiDefaultProtectionManager::TryAddMpduToMuPpdu(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
void ns3::WifiTxVector::SetEhtPpduType | ( | uint8_t | type | ) |
Set the EHT_PPDU_TYPE parameter.
type | the EHT_PPDU_TYPE parameter |
Definition at line 436 of file wifi-tx-vector.cc.
References ns3::IsEht(), m_ehtPpduType, m_preamble, NS_ASSERT, and check-style-clang-format::type.
Referenced by TxDurationTest::CheckMuTxDuration(), TestMultiUserScheduler::ComputeWifiTxVector(), PhyHeaderSectionsTest::DoRun(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
void ns3::WifiTxVector::SetGuardInterval | ( | uint16_t | guardInterval | ) |
Sets the guard interval duration (in nanoseconds)
guardInterval | the guard interval duration (in nanoseconds) |
Definition at line 318 of file wifi-tx-vector.cc.
References m_guardInterval.
Referenced by ns3::IdealWifiManager::BuildSnrThresholds(), HeSigBDurationTest::BuildTxVector(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckMuTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), TestMultiUserScheduler::ComputeWifiTxVector(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WifiMode::GetDataRate(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::CtrlTriggerHeader::GetHeTbTxVector(), ns3::WifiMode::GetPhyRate(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::HeFrameExchangeManager::GetTrigVector(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), TestMultiUserScheduler::SelectTxFormat(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), ns3::HtPpdu::SetTxVectorFromPhyHeaders(), ns3::VhtPpdu::SetTxVectorFromPhyHeaders(), ns3::RrMultiUserScheduler::TrySendingBasicTf(), ns3::RrMultiUserScheduler::TrySendingBsrpTf(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
void ns3::WifiTxVector::SetHeMuUserInfo | ( | uint16_t | staId, |
HeMuUserInfo | userInfo | ||
) |
Set the HE MU user-specific transmission information for the given STA-ID.
This is applicable only for HE MU.
staId | the station ID |
userInfo | the HE MU user-specific transmission information |
Definition at line 635 of file wifi-tx-vector.cc.
References IsMu(), m_modeInitialized, m_muUserInfos, m_ruAllocation, and NS_ABORT_MSG_IF.
Referenced by HeSigBDurationTest::BuildTxVector(), TestDlMuTxVector::BuildTxVector(), TxDurationTest::CheckMuTxDuration(), TestMultiUserScheduler::ComputeWifiTxVector(), PhyHeaderSectionsTest::DoRun(), WifiPrimaryChannelsTest::DoSendHeTbPpdu(), ns3::RrMultiUserScheduler::FinalizeTxVector(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::CtrlTriggerHeader::GetHeTbTxVector(), ns3::HeFrameExchangeManager::GetTrigVector(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), TestMultipleHeTbPreambles::RxHeTbPpdu(), WifiPrimaryChannelsTest::SendDlMuPpdu(), ns3::HeFrameExchangeManager::SendPsduMap(), ns3::HePpdu::SetHeMuUserInfos(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
void ns3::WifiTxVector::SetInactiveSubchannels | ( | const std::vector< bool > & | inactiveSubchannels | ) |
Set the 20 MHz subchannels that are punctured.
inactiveSubchannels | the bitmap indexed by the 20 MHz subchannels in ascending order, where each bit indicates whether the corresponding 20 MHz subchannel is punctured or not within the transmission bandwidth |
Definition at line 666 of file wifi-tx-vector.cc.
References m_channelWidth, m_inactiveSubchannels, m_preamble, NS_ABORT_MSG_IF, and ns3::WIFI_PREAMBLE_HE_SU.
Referenced by TestDlOfdmaPhyPuncturing::SendMuPpdu().
void ns3::WifiTxVector::SetLdpc | ( | bool | ldpc | ) |
Sets if LDPC FEC coding is being used.
ldpc | enable or disable LDPC |
Definition at line 362 of file wifi-tx-vector.cc.
References m_ldpc.
Referenced by ns3::WifiRemoteStationManager::GetDataTxVector().
void ns3::WifiTxVector::SetLength | ( | uint16_t | length | ) |
Set the LENGTH field of the L-SIG.
length | the LENGTH field of the L-SIG |
Definition at line 380 of file wifi-tx-vector.cc.
References m_length.
Referenced by WifiPrimaryChannelsTest::DoSendHeTbPpdu(), ns3::CtrlTriggerHeader::GetHeTbTxVector(), ns3::HeFrameExchangeManager::GetTrigVector(), TestMultipleHeTbPreambles::RxHeTbPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlOfdmaPhyTransmission::SendHeTbPpdu(), TestUlMuMimoPhyTransmission::SendHeTbPpdu(), ns3::HeFrameExchangeManager::SendPsduMap(), TestUlOfdmaPpduUid::SendTbPpdu(), TestUlMuMimoPhyTransmission::SetTrigVector(), TestPhyPaddingExclusion::SetTrigVector(), TestUlOfdmaPhyTransmission::SetTrigVector(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), and ns3::EhtPpdu::SetTxVectorFromPhyHeaders().
void ns3::WifiTxVector::SetMode | ( | WifiMode | mode | ) |
Sets the selected payload transmission mode.
mode | the payload WifiMode |
Definition at line 284 of file wifi-tx-vector.cc.
References m_mode, and m_modeInitialized.
Referenced by ns3::WifiRemoteStationManager::AdjustTxVectorForIcf(), ns3::IdealWifiManager::BuildSnrThresholds(), ns3::dot11s::AirtimeLinkMetricCalculator::CalculateMetric(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoGetRtsTxVector(), PhyHeaderSectionsTest::DoRun(), WifiErrorRateModelsTestCaseMimo::DoRun(), TableBasedErrorRateTestCase::DoRun(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WifiMode::GetDataRate(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::HeFrameExchangeManager::GetMuRtsDurationId(), ns3::WifiMode::GetPhyRate(), ns3::WifiRemoteStationManager::GetRtsTxVector(), TestUlOfdmaPhyTransmission::GetTxVectorForHeTbPpdu(), TestUlMuMimoPhyTransmission::GetTxVectorForHeTbPpdu(), ns3::WifiMode::IsAllowed(), ns3::MinstrelHtWifiManager::IsValidMcs(), TestMultipleHeTbPreambles::RxHeTbPpdu(), PsrExperiment::Send(), CollisionExperiment::SendA(), InterferenceExperiment::SendA(), CollisionExperiment::SendB(), InterferenceExperiment::SendB(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), TestUlOfdmaPpduUid::SendTbPpdu(), TestUlMuMimoPhyTransmission::SetTrigVector(), TestPhyPaddingExclusion::SetTrigVector(), TestUlOfdmaPhyTransmission::SetTrigVector(), ns3::DsssPpdu::SetTxVectorFromDsssHeader(), ns3::OfdmPpdu::SetTxVectorFromLSigHeader(), ns3::ErpOfdmPpdu::SetTxVectorFromLSigHeader(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), ns3::HtPpdu::SetTxVectorFromPhyHeaders(), ns3::VhtPpdu::SetTxVectorFromPhyHeaders(), ns3::MinstrelWifiManager::SetupPhy(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::WifiDefaultProtectionManager::TryAddMpduToMuPpdu().
void ns3::WifiTxVector::SetMode | ( | WifiMode | mode, |
uint16_t | staId | ||
) |
Sets the selected payload transmission mode for a given STA ID (for MU only)
mode | |
staId | the station ID for MU |
Definition at line 291 of file wifi-tx-vector.cc.
References ns3::WifiMode::GetMcsValue(), IsMu(), m_modeInitialized, m_muUserInfos, and NS_ABORT_MSG_IF.
void ns3::WifiTxVector::SetNess | ( | uint8_t | ness | ) |
Sets the Ness number.
ness | the number of extended spatial streams |
Definition at line 344 of file wifi-tx-vector.cc.
References m_ness.
Referenced by HeSigBDurationTest::BuildTxVector(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckMuTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), PhyHeaderSectionsTest::DoRun(), ns3::WifiRemoteStationManager::GetDataTxVector(), and ns3::WifiRemoteStationManager::GetRtsTxVector().
void ns3::WifiTxVector::SetNss | ( | uint8_t | nss | ) |
Sets the number of Nss.
nss | the number of spatial streams |
Definition at line 330 of file wifi-tx-vector.cc.
References m_nss.
Referenced by ns3::IdealWifiManager::BuildSnrThresholds(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoGetRtsTxVector(), PhyHeaderSectionsTest::DoRun(), WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WifiMode::GetDataRate(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiMode::GetPhyRate(), ns3::WifiRemoteStationManager::GetRtsTxVector(), TestUlOfdmaPhyTransmission::GetTxVectorForHeTbPpdu(), TestUlMuMimoPhyTransmission::GetTxVectorForHeTbPpdu(), ns3::WifiMode::IsAllowed(), ns3::MinstrelHtWifiManager::IsValidMcs(), TestMultipleHeTbPreambles::RxHeTbPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), TestUlOfdmaPpduUid::SendTbPpdu(), TestUlMuMimoPhyTransmission::SetTrigVector(), TestPhyPaddingExclusion::SetTrigVector(), TestUlOfdmaPhyTransmission::SetTrigVector(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), ns3::EhtPpdu::SetTxVectorFromPhyHeaders(), ns3::HtPpdu::SetTxVectorFromPhyHeaders(), and ns3::VhtPpdu::SetTxVectorFromPhyHeaders().
void ns3::WifiTxVector::SetNss | ( | uint8_t | nss, |
uint16_t | staId | ||
) |
Sets the number of Nss for MU.
nss | the number of spatial streams |
staId | the station ID for MU |
Definition at line 336 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, and NS_ABORT_MSG_IF.
void ns3::WifiTxVector::SetNTx | ( | uint8_t | nTx | ) |
Sets the number of TX antennas.
nTx | the number of TX antennas |
Definition at line 324 of file wifi-tx-vector.cc.
References m_nTx.
Referenced by WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::WifiRemoteStationManager::GetDataTxVector(), and ns3::WifiRemoteStationManager::GetRtsTxVector().
void ns3::WifiTxVector::SetPreambleType | ( | WifiPreamble | preamble | ) |
Sets the preamble type.
preamble | the preamble type |
Definition at line 306 of file wifi-tx-vector.cc.
References m_preamble.
Referenced by ns3::WifiRemoteStationManager::AdjustTxVectorForIcf(), HeSigBDurationTest::BuildTxVector(), TestDlMuTxVector::BuildTxVector(), ns3::dot11s::AirtimeLinkMetricCalculator::CalculateMetric(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckMuTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), TestMultiUserScheduler::ComputeWifiTxVector(), ns3::HePpdu::DoGetTxVector(), ns3::HtPpdu::DoGetTxVector(), ns3::DsssPpdu::DoGetTxVector(), ns3::OfdmPpdu::DoGetTxVector(), ns3::VhtPpdu::DoGetTxVector(), PhyHeaderSectionsTest::DoRun(), ns3::WifiDefaultAckManager::GetAckInfoIfAggregatedMuBar(), ns3::WifiDefaultAckManager::GetAckInfoIfTfMuBar(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::CtrlTriggerHeader::GetHeTbTxVector(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::HeFrameExchangeManager::GetTrigVector(), ns3::RrMultiUserScheduler::GetTxVectorForUlMu(), TestMultiUserScheduler::SelectTxFormat(), PsrExperiment::Send(), CollisionExperiment::SendA(), InterferenceExperiment::SendA(), CollisionExperiment::SendB(), InterferenceExperiment::SendB(), ns3::MinstrelWifiManager::SetupPhy(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::RrMultiUserScheduler::TrySendingDlMuPpdu().
void ns3::WifiTxVector::SetRu | ( | HeRu::RuSpec | ru, |
uint16_t | staId | ||
) |
Set the RU specification for the STA-ID.
This is applicable only for MU.
ru | the RU specification |
staId | the station ID |
Definition at line 620 of file wifi-tx-vector.cc.
References IsMu(), m_muUserInfos, and NS_ABORT_MSG_IF.
Referenced by TestUlOfdmaPhyTransmission::GetTxVectorForHeTbPpdu(), TestUlMuMimoPhyTransmission::GetTxVectorForHeTbPpdu(), TestMultipleHeTbPreambles::RxHeTbPpdu(), TestPhyPaddingExclusion::SendHeTbPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), TestUlOfdmaPpduUid::SendTbPpdu(), TestUlMuMimoPhyTransmission::SetTrigVector(), TestPhyPaddingExclusion::SetTrigVector(), and TestUlOfdmaPhyTransmission::SetTrigVector().
void ns3::WifiTxVector::SetRuAllocation | ( | const RuAllocation & | ruAlloc, |
uint8_t | p20Index | ||
) |
Set RU_ALLOCATION field.
ruAlloc | 8 bit RU_ALLOCATION per 20 MHz |
p20Index | the index of the primary20 channel |
Definition at line 416 of file wifi-tx-vector.cc.
References DeriveRuAllocation(), ns3::IsDlMu(), m_muUserInfos, m_preamble, m_ruAllocation, and NS_ASSERT.
Referenced by TxDurationTest::CheckMuTxDuration(), TestMultiUserScheduler::ComputeWifiTxVector(), PhyHeaderSectionsTest::DoRun(), WifiPrimaryChannelsTest::SendDlMuPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), and ns3::EhtPpdu::SetTxVectorFromPhyHeaders().
void ns3::WifiTxVector::SetSigBMode | ( | const WifiMode & | mode | ) |
Set the MCS used for SIG-B.
mode | MCS used for SIG-B |
Definition at line 404 of file wifi-tx-vector.cc.
References m_sigBMcs.
Referenced by HeSigBDurationTest::BuildTxVector(), TxDurationTest::CheckMuTxDuration(), PhyHeaderSectionsTest::DoRun(), ns3::EhtFrameExchangeManager::ForwardPsduDown(), ns3::HeFrameExchangeManager::ForwardPsduMapDown(), WifiPrimaryChannelsTest::SendDlMuPpdu(), TestUlOfdmaPpduUid::SendMuPpdu(), TestDlMuMimoPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyTransmission::SendMuPpdu(), TestDlOfdmaPhyPuncturing::SendMuPpdu(), ns3::HePpdu::SetTxVectorFromPhyHeaders(), and ns3::EhtPpdu::SetTxVectorFromPhyHeaders().
void ns3::WifiTxVector::SetStbc | ( | bool | stbc | ) |
Sets if STBC is being used.
stbc | enable or disable STBC |
Definition at line 356 of file wifi-tx-vector.cc.
References m_stbc.
Referenced by HeSigBDurationTest::BuildTxVector(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckMuTxDuration(), TxDurationTest::CheckPayloadDuration(), and TxDurationTest::CheckTxDuration().
void ns3::WifiTxVector::SetTriggerResponding | ( | bool | triggerResponding | ) |
Set the Trigger Responding parameter to the given value.
triggerResponding | the value for the Trigger Responding parameter |
Definition at line 398 of file wifi-tx-vector.cc.
References m_triggerResponding.
Referenced by ns3::HeFrameExchangeManager::SendCtsAfterMuRts(), and TestMultipleCtsResponsesFromMuRts::TxNonHtDuplicateCts().
void ns3::WifiTxVector::SetTxPowerLevel | ( | uint8_t | powerlevel | ) |
Sets the selected transmission power level.
powerlevel | the transmission power level |
Definition at line 300 of file wifi-tx-vector.cc.
References m_txPowerLevel.
Referenced by TestMultiUserScheduler::ComputeWifiTxVector(), WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::WifiRemoteStationManager::GetAckTxVector(), ns3::WifiRemoteStationManager::GetBlockAckTxVector(), ns3::WifiRemoteStationManager::GetCtsTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::HeFrameExchangeManager::GetHeTbTxVector(), ns3::WifiRemoteStationManager::GetRtsTxVector(), PsrExperiment::Send(), CollisionExperiment::SendA(), InterferenceExperiment::SendA(), CollisionExperiment::SendB(), and InterferenceExperiment::SendB().
|
private |
Flag whether the PSDU contains A-MPDU.
Definition at line 573 of file wifi-tx-vector.h.
Referenced by IsAggregation(), and SetAggregation().
|
private |
BSS color.
Definition at line 576 of file wifi-tx-vector.h.
Referenced by GetBssColor(), and SetBssColor().
|
mutableprivate |
CENTER_26_TONE_RU field when format is HE_MU and when channel width is set to 80 MHz or larger (Table 27-1 802.11ax-2021)
Definition at line 596 of file wifi-tx-vector.h.
Referenced by GetCenter26ToneRuIndication(), and SetCenter26ToneRuIndication().
|
private |
channel width in MHz
Definition at line 568 of file wifi-tx-vector.h.
Referenced by DeriveRuAllocation(), GetCenter26ToneRuIndication(), GetChannelWidth(), GetUserInfoMapOrderedByRus(), IsNonHtDuplicate(), IsValid(), SetChannelWidth(), and SetInactiveSubchannels().
|
private |
EHT_PPDU_TYPE per Table 36-1 IEEE 802.11be D2.3.
Definition at line 600 of file wifi-tx-vector.h.
Referenced by GetEhtPpduType(), IsDlMu(), IsDlMuMimo(), IsDlOfdma(), and SetEhtPpduType().
|
private |
guard interval duration in nanoseconds
Definition at line 569 of file wifi-tx-vector.h.
Referenced by GetGuardInterval(), and SetGuardInterval().
|
private |
Bitmap of inactive subchannels used for preamble puncturing.
Definition at line 588 of file wifi-tx-vector.h.
Referenced by GetInactiveSubchannels(), and SetInactiveSubchannels().
|
private |
LDPC FEC coding if true, BCC otherwise.
Definition at line 575 of file wifi-tx-vector.h.
|
private |
LENGTH field of the L-SIG.
Definition at line 577 of file wifi-tx-vector.h.
Referenced by GetLength(), and SetLength().
|
private |
The DATARATE parameter in Table 15-4.
It is the value that will be passed to PMD_RATE.request
Definition at line 561 of file wifi-tx-vector.h.
Referenced by GetMode(), GetModulationClass(), IsValid(), and SetMode().
|
private |
Internal initialization flag.
Definition at line 580 of file wifi-tx-vector.h.
Referenced by GetMode(), GetModeInitialized(), GetModulationClass(), SetHeMuUserInfo(), and SetMode().
|
private |
HE MU specific per-user information indexed by station ID (STA-ID) corresponding to the 11 LSBs of the AID of the recipient STA This list shall be used only for HE MU.
Definition at line 583 of file wifi-tx-vector.h.
Referenced by WifiTxVector(), DeriveCenter26ToneRuIndication(), GetHeMuUserInfo(), GetHeMuUserInfoMap(), GetMode(), GetModulationClass(), GetNss(), GetNssMax(), GetNssTotal(), GetNumStasInRu(), GetRu(), GetUserInfoMapOrderedByRus(), IsAllocated(), IsDlMuMimo(), IsDlOfdma(), IsValid(), SetHeMuUserInfo(), SetMode(), SetNss(), SetRu(), and SetRuAllocation().
|
private |
number of spatial streams in beamforming
Definition at line 572 of file wifi-tx-vector.h.
|
private |
number of spatial streams
Definition at line 571 of file wifi-tx-vector.h.
Referenced by GetNss(), GetNssMax(), GetNssTotal(), IsValid(), and SetNss().
|
private |
number of TX antennas
Definition at line 570 of file wifi-tx-vector.h.
|
private |
preamble
Definition at line 567 of file wifi-tx-vector.h.
Referenced by GetMode(), GetModulationClass(), GetPreambleType(), GetRuAllocation(), IsDlMu(), IsDlMuMimo(), IsDlOfdma(), IsUlMu(), SetEhtPpduType(), SetInactiveSubchannels(), SetPreambleType(), and SetRuAllocation().
|
mutableprivate |
RU allocations that are going to be carried in SIG-B common field per Table 27-1 IEEE.
Definition at line 592 of file wifi-tx-vector.h.
Referenced by GetHeMuUserInfoMap(), GetRuAllocation(), SetHeMuUserInfo(), SetRuAllocation(), and ns3::HePpdu::SetTxVectorFromPhyHeaders().
|
private |
MCS_SIG_B per Table 27-1 IEEE 802.11ax-2021.
Definition at line 590 of file wifi-tx-vector.h.
Referenced by GetSigBMode(), and SetSigBMode().
|
private |
STBC used or not.
Definition at line 574 of file wifi-tx-vector.h.
|
private |
The Trigger Responding parameter.
Definition at line 578 of file wifi-tx-vector.h.
Referenced by IsTriggerResponding(), and SetTriggerResponding().
|
private |
The TXPWR_LEVEL parameter in Table 15-4.
It is the value that will be passed to PMD_TXPWRLVL.request
Definition at line 564 of file wifi-tx-vector.h.
Referenced by GetTxPowerLevel(), and SetTxPowerLevel().