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 paramters indexed by STA-ID More... | |
Public Member Functions | |
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) | |
Create a TXVECTOR with the given parameters. More... | |
WifiTxVector (const WifiTxVector &txVector) | |
Copy constructor. More... | |
~WifiTxVector () | |
uint8_t | GetBssColor (void) const |
Get the BSS color. More... | |
uint16_t | GetChannelWidth (void) const |
uint16_t | GetGuardInterval (void) const |
HeMuUserInfo | GetHeMuUserInfo (uint16_t staId) const |
Get the HE MU user-specific transmission information for the given STA-ID. More... | |
const HeMuUserInfoMap & | GetHeMuUserInfoMap (void) const |
Get the map HE MU user-specific transmission information indexed by STA-ID. 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 (void) const |
uint8_t | GetNess (void) 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 (void) const |
uint8_t | GetNTx (void) const |
WifiPreamble | GetPreambleType (void) const |
HeRu::RuSpec | GetRu (uint16_t staId) const |
Get the RU specification for the STA-ID. More... | |
uint8_t | GetTxPowerLevel (void) const |
bool | IsAggregation (void) const |
Checks whether the PSDU contains A-MPDU. More... | |
bool | IsLdpc (void) const |
Check if LDPC FEC coding is used or not. More... | |
bool | IsStbc (void) const |
Check if STBC is used or not. More... | |
bool | IsValid (void) 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 | SetChannelWidth (uint16_t channelWidth) |
Sets the selected channelWidth (in MHz) 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 | SetLdpc (bool ldpc) |
Sets if LDPC FEC coding is being used. 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 HE 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 HE 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 | SetStbc (bool stbc) |
Sets if STBC is being used. More... | |
void | SetTxPowerLevel (uint8_t powerlevel) |
Sets the selected transmission power level. More... | |
Private Attributes | |
bool | m_aggregation |
Flag whether the PSDU contains A-MPDU. More... | |
uint8_t | m_bssColor |
BSS color. More... | |
uint16_t | m_channelWidth |
channel width in MHz More... | |
uint16_t | m_guardInterval |
guard interval duration in nanoseconds More... | |
bool | m_ldpc |
LDPC FEC coding if true, BCC otherwise. 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... | |
bool | m_stbc |
STBC used or not. 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 70 of file wifi-tx-vector.h.
typedef std::map<uint16_t , HeMuUserInfo > ns3::WifiTxVector::HeMuUserInfoMap |
map of HE MU specific user info paramters indexed by STA-ID
Definition at line 74 of file wifi-tx-vector.h.
ns3::WifiTxVector::WifiTxVector | ( | ) |
Definition at line 27 of file wifi-tx-vector.cc.
ns3::WifiTxVector::~WifiTxVector | ( | ) |
Definition at line 95 of file wifi-tx-vector.cc.
References m_muUserInfos.
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 |
||
) |
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 |
Definition at line 42 of file wifi-tx-vector.cc.
ns3::WifiTxVector::WifiTxVector | ( | const WifiTxVector & | txVector | ) |
Copy constructor.
txVector | the TXVECTOR to copy |
Definition at line 70 of file wifi-tx-vector.cc.
References m_muUserInfos.
uint8_t ns3::WifiTxVector::GetBssColor | ( | void | ) | const |
Get the BSS color.
Definition at line 297 of file wifi-tx-vector.cc.
References m_bssColor.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader(), and ns3::WifiPpdu::SetPhyHeaders().
uint16_t ns3::WifiTxVector::GetChannelWidth | ( | void | ) | const |
Definition at line 135 of file wifi-tx-vector.cc.
References m_channelWidth.
Referenced by ns3::IdealWifiManager::AddSnrThreshold(), ns3::InterferenceHelper::CalculateChunkSuccessRate(), ns3::InterferenceHelper::CalculateHtPhyHeaderPer(), ns3::InterferenceHelper::CalculateNonHtPhyHeaderPer(), ns3::YansErrorRateModel::DoGetChunkSuccessRate(), ns3::IdealWifiManager::DoGetDataTxVector(), WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::WifiPhy::EndOfMpdu(), ns3::WifiPhy::EndReceive(), ns3::SpectrumWifiPhy::GetCenterFrequencyForChannelWidth(), ns3::WifiMode::GetDataRate(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiPhy::GetPhyHeaderDuration(), ns3::WifiPhy::GetPhyHeaderMode(), ns3::WifiPhy::GetPhyPreambleDuration(), ns3::WifiMode::GetPhyRate(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::WifiPhy::GetRuBand(), ns3::IdealWifiManager::GetSnrThreshold(), ns3::operator<<(), ns3::WifiRemoteStationManager::ReportAmpduTxStatus(), ns3::WifiRemoteStationManager::ReportDataOk(), ns3::WifiPhy::StartReceivePayload(), ns3::SpectrumWifiPhy::StartTx(), Bug2843TestCase::StoreDistinctTuple(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), and PowerRateAdaptationTest::TestRrpaa().
uint16_t ns3::WifiTxVector::GetGuardInterval | ( | void | ) | const |
Definition at line 141 of file wifi-tx-vector.cc.
References m_guardInterval.
Referenced by ns3::IdealWifiManager::DoGetDataTxVector(), ns3::WifiMode::GetDataRate(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiMode::GetPhyRate(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::WifiPpdu::GetTxDuration(), ns3::operator<<(), ns3::WifiPpdu::SetPhyHeaders(), 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 355 of file wifi-tx-vector.cc.
References m_muUserInfos, m_preamble, NS_ABORT_MSG_IF, and ns3::WIFI_PREAMBLE_HE_MU.
Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().
const WifiTxVector::HeMuUserInfoMap & ns3::WifiTxVector::GetHeMuUserInfoMap | ( | void | ) | const |
Get the map HE MU user-specific transmission information indexed by STA-ID.
This is applicable only for HE MU.
Definition at line 372 of file wifi-tx-vector.cc.
References m_muUserInfos, m_preamble, NS_ABORT_MSG_IF, and ns3::WIFI_PREAMBLE_HE_MU.
Referenced by ns3::WifiPhy::CalculateTxDuration(), ns3::operator<<(), ns3::WifiPhy::StartReceivePayload(), and ns3::WifiPpdu::WifiPpdu().
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 HE MU |
Definition at line 107 of file wifi-tx-vector.cc.
References m_mode, m_modeInitialized, m_muUserInfos, m_preamble, NS_ABORT_MSG_IF, NS_ASSERT, NS_FATAL_ERROR, ns3::WIFI_PREAMBLE_HE_MU, and ns3::WIFI_PREAMBLE_HE_TB.
Referenced by ns3::IdealWifiManager::AddSnrThreshold(), ns3::InterferenceHelper::CalculatePayloadChunkSuccessRate(), ns3::InterferenceHelper::CalculatePayloadPer(), ns3::ErrorRateModel::CalculateSnr(), TxDurationTest::CheckHeMuTxDuration(), IdealRateManagerMimoTest::CheckLastSelectedMode(), ns3::YansErrorRateModel::DoGetChunkSuccessRate(), ns3::MinstrelHtWifiManager::DoGetDataTxVector(), ns3::MacLow::ForwardDown(), ns3::MacLow::GetAckDuration(), ns3::MacLow::GetCtsDuration(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::MpduAggregator::GetNextAmpdu(), ns3::MsduAggregator::GetNextAmsdu(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiPhy::GetPhyHeaderDuration(), ns3::WifiPhy::GetPhyHeaderMode(), ns3::WifiPhy::GetPhyPreambleDuration(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::MacLow::GetResponseDuration(), ns3::IdealWifiManager::GetSnrThreshold(), ns3::MacLow::IsWithinSizeAndTimeLimits(), ns3::WifiRemoteStationManager::NeedCtsToSelf(), ns3::WifiRemoteStationManager::NeedRts(), ns3::operator<<(), ns3::MacLow::ReceiveOk(), ns3::MacLow::SendBlockAckAfterAmpdu(), ns3::MacLow::SendCtsAfterRts(), ns3::MacLow::SendDataPacket(), ns3::WifiPpdu::SetPhyHeaders(), ns3::MacLow::StartDataTxTimers(), ns3::WifiPhy::StartReceivePayload(), ns3::MacLow::StartTransmission(), Bug2843TestCase::StoreDistinctTuple(), ns3::WifiPhyStateHelper::SwitchFromRxEndOk(), ns3::WifiPhyStateHelper::SwitchToTx(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), PowerRateAdaptationTest::TestRrpaa(), Issue169TestCase::TxCallback(), and IdealRateManagerChannelWidthTest::TxCallback().
bool ns3::WifiTxVector::GetModeInitialized | ( | void | ) | const |
Definition at line 101 of file wifi-tx-vector.cc.
References m_modeInitialized.
Referenced by IsValid(), and ns3::WifiPhy::StartReceivePreamble().
uint8_t ns3::WifiTxVector::GetNess | ( | void | ) | const |
Definition at line 183 of file wifi-tx-vector.cc.
References m_ness.
Referenced by ns3::WifiPhy::GetPhyTrainingSymbolDuration(), 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 HE MU |
Definition at line 153 of file wifi-tx-vector.cc.
References m_muUserInfos, m_nss, m_preamble, NS_ABORT_MSG_IF, NS_ASSERT, ns3::WIFI_PREAMBLE_HE_MU, and ns3::WIFI_PREAMBLE_HE_TB.
Referenced by ns3::InterferenceHelper::CalculatePayloadChunkSuccessRate(), ns3::InterferenceHelper::CalculatePayloadPer(), TxDurationTest::CheckHeMuTxDuration(), IdealRateManagerMimoTest::CheckLastSelectedNss(), ns3::IdealWifiManager::DoGetDataTxVector(), WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::WifiPhy::EndOfMpdu(), ns3::WifiPhy::EndReceive(), ns3::WifiMode::GetDataRate(), ns3::WifiPhy::GetPayloadDuration(), ns3::WifiMode::GetPhyRate(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::IdealWifiManager::GetSnrThreshold(), ns3::operator<<(), ns3::WifiRemoteStationManager::ReportAmpduTxStatus(), ns3::WifiRemoteStationManager::ReportDataOk(), and ns3::WifiPpdu::SetPhyHeaders().
uint8_t ns3::WifiTxVector::GetNssMax | ( | void | ) | const |
Definition at line 165 of file wifi-tx-vector.cc.
References m_muUserInfos, m_nss, m_preamble, ns3::WIFI_PREAMBLE_HE_MU, and ns3::WIFI_PREAMBLE_HE_TB.
Referenced by ns3::WifiPhy::GetPhyTrainingSymbolDuration(), ns3::WifiPhy::GetTxPowerForTransmission(), ns3::WifiPhy::Send(), and ns3::WifiPhy::StartReceivePayload().
uint8_t ns3::WifiTxVector::GetNTx | ( | void | ) | const |
Definition at line 147 of file wifi-tx-vector.cc.
References m_nTx.
Referenced by ns3::operator<<().
WifiPreamble ns3::WifiTxVector::GetPreambleType | ( | void | ) | const |
Definition at line 129 of file wifi-tx-vector.cc.
References m_preamble.
Referenced by ns3::InterferenceHelper::CalculateHtPhyHeaderPer(), ns3::InterferenceHelper::CalculateNonHtPhyHeaderPer(), ns3::InterferenceHelper::CalculatePayloadPer(), ns3::WifiPhy::CalculatePhyPreambleAndHeaderDuration(), ns3::WifiPhy::CalculateTxDuration(), ns3::WifiPhy::EndReceive(), ns3::MacLow::ForwardDown(), ns3::WifiMode::GetDataRate(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiPhy::GetPhyHeaderDuration(), ns3::WifiPhy::GetPhyHeaderMode(), ns3::WifiPhy::GetPhyPreambleDuration(), ns3::WifiPhy::GetPhyTrainingSymbolDuration(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::WifiPhy::GetRuBand(), ns3::HigherLayerTxVectorTag::HigherLayerTxVectorTag(), ns3::MacLow::IsWithinSizeAndTimeLimits(), ns3::operator<<(), ns3::WifiPhy::StartReceiveHeader(), ns3::WifiPhy::StartReceivePayload(), ns3::WifiPhyStateHelper::SwitchFromRxEndOk(), and ns3::WifiPhyStateHelper::SwitchToTx().
HeRu::RuSpec ns3::WifiTxVector::GetRu | ( | uint16_t | staId | ) | const |
Get the RU specification for the STA-ID.
This is applicable only for HE MU.
staId | the station ID |
Definition at line 339 of file wifi-tx-vector.cc.
References m_muUserInfos, m_preamble, NS_ABORT_MSG_IF, and ns3::WIFI_PREAMBLE_HE_MU.
Referenced by ns3::WifiPhy::EndReceive(), ns3::WifiMode::GetDataRate(), and ns3::WifiPhy::GetRuBand().
uint8_t ns3::WifiTxVector::GetTxPowerLevel | ( | void | ) | const |
Definition at line 123 of file wifi-tx-vector.cc.
References m_txPowerLevel.
Referenced by ns3::WaveMacLow::GetDataTxVector(), ns3::WifiPhy::GetTxPowerForTransmission(), ns3::operator<<(), ns3::WifiPhy::Send(), ns3::YansWifiPhy::StartTx(), ns3::WifiPhyStateHelper::SwitchToTx(), PowerRateAdaptationTest::TestAparf(), PowerRateAdaptationTest::TestParf(), and PowerRateAdaptationTest::TestRrpaa().
bool ns3::WifiTxVector::IsAggregation | ( | void | ) | const |
Checks whether the PSDU contains A-MPDU.
Definition at line 189 of file wifi-tx-vector.cc.
References m_aggregation.
Referenced by ns3::MacLow::DeaggregateAmpduAndReceive(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::WifiPhy::NotifyMonitorSniffRx(), ns3::WifiPhy::NotifyMonitorSniffTx(), ns3::operator<<(), and ns3::WifiPpdu::SetPhyHeaders().
bool ns3::WifiTxVector::IsLdpc | ( | void | ) | const |
Check if LDPC FEC coding is used or not.
Definition at line 201 of file wifi-tx-vector.cc.
References m_ldpc.
Referenced by ns3::TableBasedErrorRateModel::DoGetChunkSuccessRate(), ns3::operator<<(), and ns3::WifiPpdu::SetPhyHeaders().
bool ns3::WifiTxVector::IsStbc | ( | void | ) | const |
Check if STBC is used or not.
Definition at line 195 of file wifi-tx-vector.cc.
References m_stbc.
Referenced by ns3::WifiPhy::GetPayloadDuration(), ns3::WifiPhyHelper::GetRadiotapHeader(), and ns3::operator<<().
bool ns3::WifiTxVector::IsValid | ( | void | ) | 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.
Definition at line 303 of file wifi-tx-vector.cc.
References GetModeInitialized(), ns3::WifiMode::GetUniqueName(), m_channelWidth, m_mode, and m_nss.
Referenced by ns3::IdealWifiManager::DoGetDataTxVector(), ns3::MinstrelHtWifiManager::IsValidMcs(), ns3::operator<<(), and ns3::WifiPpdu::SetPhyHeaders().
void ns3::WifiTxVector::SetAggregation | ( | bool | aggregation | ) |
Sets if PSDU contains A-MPDU.
aggregation | whether the PSDU contains A-MPDU or not. |
Definition at line 273 of file wifi-tx-vector.cc.
References m_aggregation.
Referenced by ns3::MacLow::ForwardDown(), and ns3::WifiPpdu::GetTxVector().
void ns3::WifiTxVector::SetBssColor | ( | uint8_t | color | ) |
Set the BSS color.
color | the BSS color |
Definition at line 291 of file wifi-tx-vector.cc.
References m_bssColor.
Referenced by ns3::WifiRemoteStationManager::GetDataTxVector(), and ns3::WifiPpdu::GetTxVector().
void ns3::WifiTxVector::SetChannelWidth | ( | uint16_t | channelWidth | ) |
Sets the selected channelWidth (in MHz)
channelWidth | the channel width (in MHz) |
Definition at line 235 of file wifi-tx-vector.cc.
References m_channelWidth.
Referenced by ns3::IdealWifiManager::BuildSnrThresholds(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckHeMuTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoGetRtsTxVector(), WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::VsaManager::DoSendVsa(), ns3::MacLow::GetAckTxVector(), ns3::MacLow::GetBlockAckTxVector(), ns3::MacLow::GetCtsTxVector(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::WifiPpdu::GetTxVector(), ns3::MinstrelHtWifiManager::IsValidMcs(), ns3::WaveNetDevice::SendX(), and NodeStatistics::SetupPhy().
void ns3::WifiTxVector::SetGuardInterval | ( | uint16_t | guardInterval | ) |
Sets the guard interval duration (in nanoseconds)
guardInterval | the guard interval duration (in nanoseconds) |
Definition at line 241 of file wifi-tx-vector.cc.
References m_guardInterval.
Referenced by ns3::IdealWifiManager::BuildSnrThresholds(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckHeMuTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::MacLow::GetAckTxVector(), ns3::MacLow::GetBlockAckTxVector(), ns3::MacLow::GetCtsTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiRemoteStationManager::GetRtsTxVector(), and ns3::WifiPpdu::GetTxVector().
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 362 of file wifi-tx-vector.cc.
References ns3::WifiMode::GetModulationClass(), m_modeInitialized, m_muUserInfos, m_preamble, ns3::HeMuUserInfo::mcs, NS_ABORT_MSG_IF, ns3::WIFI_MOD_CLASS_HE, and ns3::WIFI_PREAMBLE_HE_MU.
Referenced by TxDurationTest::CheckHeMuTxDuration(), and ns3::WifiPpdu::GetTxVector().
void ns3::WifiTxVector::SetLdpc | ( | bool | ldpc | ) |
Sets if LDPC FEC coding is being used.
ldpc | enable or disable LDPC |
Definition at line 285 of file wifi-tx-vector.cc.
References m_ldpc.
Referenced by ns3::WifiRemoteStationManager::GetDataTxVector(), and ns3::WifiPpdu::GetTxVector().
void ns3::WifiTxVector::SetMode | ( | WifiMode | mode | ) |
Sets the selected payload transmission mode.
mode | the payload WifiMode |
Definition at line 207 of file wifi-tx-vector.cc.
References m_mode, and m_modeInitialized.
Referenced by ns3::IdealWifiManager::BuildSnrThresholds(), ns3::dot11s::AirtimeLinkMetricCalculator::CalculateMetric(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::IdealWifiManager::DoGetDataTxVector(), ns3::IdealWifiManager::DoGetRtsTxVector(), WifiErrorRateModelsTestCaseMimo::DoRun(), TableBasedErrorRateTestCase::DoRun(), ns3::VsaManager::DoSendVsa(), ns3::MacLow::GetAckTxVector(), ns3::MacLow::GetBlockAckTxVector(), ns3::MacLow::GetCtsTxVector(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::WifiPpdu::GetTxVector(), ns3::MinstrelHtWifiManager::IsValidMcs(), PsrExperiment::Send(), ns3::WaveNetDevice::Send(), CollisionExperiment::SendA(), CollisionExperiment::SendB(), TestDlOfdmaPhyTransmission::SendMuPpdu(), ns3::WaveNetDevice::SendX(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::MinstrelWifiManager::SetupPhy().
void ns3::WifiTxVector::SetMode | ( | WifiMode | mode, |
uint16_t | staId | ||
) |
Sets the selected payload transmission mode for a given STA ID (for HE MU only)
mode | |
staId | the station ID for HE MU |
Definition at line 214 of file wifi-tx-vector.cc.
References m_modeInitialized, m_muUserInfos, m_preamble, NS_ABORT_MSG_IF, and ns3::WIFI_PREAMBLE_HE_MU.
void ns3::WifiTxVector::SetNess | ( | uint8_t | ness | ) |
Sets the Ness number.
ness | the number of extended spatial streams |
Definition at line 267 of file wifi-tx-vector.cc.
References m_ness.
Referenced by ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckHeMuTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), 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 253 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(), WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::MacLow::GetAckTxVector(), ns3::MacLow::GetBlockAckTxVector(), ns3::MacLow::GetCtsTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::WifiPpdu::GetTxVector(), ns3::MinstrelHtWifiManager::IsValidMcs(), and TestDlOfdmaPhyTransmission::SendMuPpdu().
void ns3::WifiTxVector::SetNss | ( | uint8_t | nss, |
uint16_t | staId | ||
) |
Sets the number of Nss for HE MU.
nss | the number of spatial streams |
staId | the station ID for HE MU |
Definition at line 259 of file wifi-tx-vector.cc.
References m_muUserInfos, m_preamble, NS_ABORT_MSG_IF, and ns3::WIFI_PREAMBLE_HE_MU.
void ns3::WifiTxVector::SetNTx | ( | uint8_t | nTx | ) |
Sets the number of TX antennas.
nTx | the number of TX antennas |
Definition at line 247 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 229 of file wifi-tx-vector.cc.
References m_preamble.
Referenced by ns3::dot11s::AirtimeLinkMetricCalculator::CalculateMetric(), ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckHeMuTxDuration(), TxDurationTest::CheckPayloadDuration(), TxDurationTest::CheckTxDuration(), ns3::VsaManager::DoSendVsa(), ns3::MacLow::GetAckTxVector(), ns3::MacLow::GetBlockAckTxVector(), ns3::MacLow::GetCtsTxVector(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::WifiPpdu::GetTxVector(), PsrExperiment::Send(), ns3::WaveNetDevice::Send(), CollisionExperiment::SendA(), CollisionExperiment::SendB(), ns3::WaveNetDevice::SendX(), ns3::RraaWifiManager::SetupPhy(), ns3::RrpaaWifiManager::SetupPhy(), NodeStatistics::SetupPhy(), and ns3::MinstrelWifiManager::SetupPhy().
void ns3::WifiTxVector::SetRu | ( | HeRu::RuSpec | ru, |
uint16_t | staId | ||
) |
Set the RU specification for the STA-ID.
This is applicable only for HE MU.
ru | the RU specification |
staId | the station ID |
Definition at line 347 of file wifi-tx-vector.cc.
References m_muUserInfos, m_preamble, NS_ABORT_MSG_IF, and ns3::WIFI_PREAMBLE_HE_MU.
Referenced by TestDlOfdmaPhyTransmission::SendMuPpdu().
void ns3::WifiTxVector::SetStbc | ( | bool | stbc | ) |
Sets if STBC is being used.
stbc | enable or disable STBC |
Definition at line 279 of file wifi-tx-vector.cc.
References m_stbc.
Referenced by ns3::MinstrelHtWifiManager::CalculateMpduTxDuration(), TxDurationTest::CheckHeMuTxDuration(), TxDurationTest::CheckPayloadDuration(), and TxDurationTest::CheckTxDuration().
void ns3::WifiTxVector::SetTxPowerLevel | ( | uint8_t | powerlevel | ) |
Sets the selected transmission power level.
powerlevel | the transmission power level |
Definition at line 223 of file wifi-tx-vector.cc.
References m_txPowerLevel.
Referenced by WifiErrorRateModelsTestCaseMimo::DoRun(), ns3::VsaManager::DoSendVsa(), ns3::MacLow::GetAckTxVector(), ns3::MacLow::GetBlockAckTxVector(), ns3::MacLow::GetCtsTxVector(), ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), ns3::WifiRemoteStationManager::GetRtsTxVector(), ns3::WifiPpdu::GetTxVector(), PsrExperiment::Send(), ns3::WaveNetDevice::Send(), InterferenceExperiment::SendA(), CollisionExperiment::SendA(), InterferenceExperiment::SendB(), CollisionExperiment::SendB(), and ns3::WaveNetDevice::SendX().
|
private |
Flag whether the PSDU contains A-MPDU.
Definition at line 337 of file wifi-tx-vector.h.
Referenced by IsAggregation(), and SetAggregation().
|
private |
BSS color.
Definition at line 340 of file wifi-tx-vector.h.
Referenced by GetBssColor(), and SetBssColor().
|
private |
channel width in MHz
Definition at line 332 of file wifi-tx-vector.h.
Referenced by GetChannelWidth(), IsValid(), and SetChannelWidth().
|
private |
guard interval duration in nanoseconds
Definition at line 333 of file wifi-tx-vector.h.
Referenced by GetGuardInterval(), and SetGuardInterval().
|
private |
LDPC FEC coding if true, BCC otherwise.
Definition at line 339 of file wifi-tx-vector.h.
|
private |
The DATARATE parameter in Table 15-4.
It is the value that will be passed to PMD_RATE.request
Definition at line 325 of file wifi-tx-vector.h.
|
private |
Internal initialization flag.
Definition at line 342 of file wifi-tx-vector.h.
Referenced by GetMode(), GetModeInitialized(), 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 345 of file wifi-tx-vector.h.
Referenced by GetHeMuUserInfo(), GetHeMuUserInfoMap(), GetMode(), GetNss(), GetNssMax(), GetRu(), SetHeMuUserInfo(), SetMode(), SetNss(), SetRu(), WifiTxVector(), and ~WifiTxVector().
|
private |
number of spatial streams in beamforming
Definition at line 336 of file wifi-tx-vector.h.
|
private |
number of spatial streams
Definition at line 335 of file wifi-tx-vector.h.
Referenced by GetNss(), GetNssMax(), IsValid(), and SetNss().
|
private |
number of TX antennas
Definition at line 334 of file wifi-tx-vector.h.
|
private |
preamble
Definition at line 331 of file wifi-tx-vector.h.
Referenced by GetHeMuUserInfo(), GetHeMuUserInfoMap(), GetMode(), GetNss(), GetNssMax(), GetPreambleType(), GetRu(), SetHeMuUserInfo(), SetMode(), SetNss(), SetPreambleType(), and SetRu().
|
private |
STBC used or not.
Definition at line 338 of file wifi-tx-vector.h.
|
private |
The TXPWR_LEVEL parameter in Table 15-4.
It is the value that will be passed to PMD_TXPWRLVL.request
Definition at line 328 of file wifi-tx-vector.h.
Referenced by GetTxPowerLevel(), and SetTxPowerLevel().