A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::WifiTxVector Class Reference

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>

+ Collaboration diagram for ns3::WifiTxVector:

Public Member Functions

 WifiTxVector ()
 
 WifiTxVector (WifiMode mode, uint8_t powerLevel, uint8_t retries, bool shortGuardInterval, uint8_t nss, uint8_t ness, bool stbc)
 Create a TXVECTOR with the given parameters. More...
 
WifiMode GetMode (void) const
 
uint8_t GetNess (void) const
 
uint8_t GetNss (void) const
 
uint8_t GetRetries (void) const
 
uint8_t GetTxPowerLevel (void) const
 
bool IsShortGuardInterval (void) const
 
bool IsStbc (void) const
 Check if STBC is used or not. More...
 
void SetMode (WifiMode mode)
 Sets the selected payload transmission mode. More...
 
void SetNess (uint8_t ness)
 Sets the Ness number refer to IEEE802.11n Table 20-6 for explanation. More...
 
void SetNss (uint8_t nss)
 Sets the number of Nss refer to IEEE802.11n Table 20-28 for explanation and range. More...
 
void SetRetries (uint8_t retries)
 Sets the number of retries. More...
 
void SetShortGuardInterval (bool guardinterval)
 Sets if short gurad interval is being used. 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

WifiMode m_mode
 The DATARATE parameter in Table 15-4. More...
 
uint8_t m_ness
 
uint8_t m_nss
 
uint8_t m_retries
 The DATA_RETRIES/RTS_RETRIES parameter for Click radiotap information. More...
 
bool m_shortGuardInterval
 
bool m_stbc
 
uint8_t m_txPowerLevel
 The TXPWR_LEVEL parameter in Table 15-4. More...
 

Detailed Description

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-2007 15.2.6 "Transmit PLCP", and also 15.4.4.2 "PMD_SAP peer-to-peer service primitive parameters".

Note
the above reference is valid for the DSSS PHY only (clause 15). TXVECTOR is defined also for the other PHYs, however they don't include the TXPWRLVL explicitly in the TXVECTOR. This is somewhat strange, since all PHYs actually have a PMD_TXPWRLVL.request primitive. We decide to include the power level in WifiTxVector for all PHYs, since it serves better our purposes, and furthermore it seems close to the way real devices work (e.g., madwifi).

Definition at line 47 of file wifi-tx-vector.h.

Constructor & Destructor Documentation

ns3::WifiTxVector::WifiTxVector ( )

Definition at line 26 of file wifi-tx-vector.cc.

ns3::WifiTxVector::WifiTxVector ( WifiMode  mode,
uint8_t  powerLevel,
uint8_t  retries,
bool  shortGuardInterval,
uint8_t  nss,
uint8_t  ness,
bool  stbc 
)

Create a TXVECTOR with the given parameters.

Parameters
modeWifiMode
powerLeveltransmission power level
retriesretries
shortGuardIntervalenable or disable short guard interval
nssthe number of spatial STBC streams (NSS)
nessthe number of extension spatial streams (NESS)
stbcenable or disable STBC

Definition at line 30 of file wifi-tx-vector.cc.

Member Function Documentation

uint8_t ns3::WifiTxVector::GetNess ( void  ) const
Returns
the number of Ness

Definition at line 67 of file wifi-tx-vector.cc.

References m_ness.

Referenced by ns3::WifiPhy::GetPlcpHtTrainingSymbolDurationMicroSeconds(), and ns3::operator<<().

+ Here is the caller graph for this function:

uint8_t ns3::WifiTxVector::GetNss ( void  ) const
Returns
the number of Nss

Definition at line 62 of file wifi-tx-vector.cc.

References m_nss.

Referenced by ns3::WifiPhy::GetPayloadDurationMicroSeconds(), ns3::WifiPhy::GetPlcpHtTrainingSymbolDurationMicroSeconds(), ns3::operator<<(), and ns3::YansWifiPhy::SendPacket().

+ Here is the caller graph for this function:

uint8_t ns3::WifiTxVector::GetRetries ( void  ) const
Returns
the number of retries

Definition at line 52 of file wifi-tx-vector.cc.

References m_retries.

Referenced by ns3::operator<<().

+ Here is the caller graph for this function:

uint8_t ns3::WifiTxVector::GetTxPowerLevel ( void  ) const
Returns
the transmission power level

Definition at line 47 of file wifi-tx-vector.cc.

References m_txPowerLevel.

Referenced by ns3::WaveMacLow::GetDataTxVector(), ns3::operator<<(), and ns3::YansWifiPhy::SendPacket().

+ Here is the caller graph for this function:

bool ns3::WifiTxVector::IsShortGuardInterval ( void  ) const
Returns
if ShortGuardInterval is used or not

Definition at line 57 of file wifi-tx-vector.cc.

References m_shortGuardInterval.

Referenced by ns3::operator<<().

+ Here is the caller graph for this function:

bool ns3::WifiTxVector::IsStbc ( void  ) const

Check if STBC is used or not.

Returns
true if STBC is used, false otherwise

Definition at line 72 of file wifi-tx-vector.cc.

References m_stbc.

Referenced by ns3::WifiPhy::GetPayloadDurationMicroSeconds(), and ns3::operator<<().

+ Here is the caller graph for this function:

void ns3::WifiTxVector::SetNess ( uint8_t  ness)

Sets the Ness number refer to IEEE802.11n Table 20-6 for explanation.

Parameters
ness

Definition at line 103 of file wifi-tx-vector.cc.

References m_ness.

Referenced by ns3::TxDurationTest::CheckTxDuration(), and ns3::WifiRemoteStationManager::GetDataTxVector().

+ Here is the caller graph for this function:

void ns3::WifiTxVector::SetNss ( uint8_t  nss)

Sets the number of Nss refer to IEEE802.11n Table 20-28 for explanation and range.

Parameters
nss

Definition at line 98 of file wifi-tx-vector.cc.

References m_nss.

Referenced by ns3::TxDurationTest::CheckTxDuration(), ns3::WifiRemoteStationManager::GetDataTxVector(), and ns3::MacLow::SendBlockAckResponse().

+ Here is the caller graph for this function:

void ns3::WifiTxVector::SetRetries ( uint8_t  retries)

Sets the number of retries.

Parameters
retries

Definition at line 88 of file wifi-tx-vector.cc.

References m_retries.

void ns3::WifiTxVector::SetShortGuardInterval ( bool  guardinterval)

Sets if short gurad interval is being used.

Parameters
guardintervalenable or disable short guard interval

Definition at line 93 of file wifi-tx-vector.cc.

References m_shortGuardInterval.

Referenced by ns3::WifiRemoteStationManager::GetDataTxVector().

+ Here is the caller graph for this function:

void ns3::WifiTxVector::SetStbc ( bool  stbc)

Sets if STBC is being used.

Parameters
stbcenable or disable STBC

Definition at line 108 of file wifi-tx-vector.cc.

References m_stbc.

Referenced by ns3::TxDurationTest::CheckTxDuration(), ns3::WifiRemoteStationManager::GetDataTxVector(), and ns3::MacLow::SendBlockAckResponse().

+ Here is the caller graph for this function:

void ns3::WifiTxVector::SetTxPowerLevel ( uint8_t  powerlevel)

Sets the selected transmission power level.

Parameters
powerlevel

Definition at line 83 of file wifi-tx-vector.cc.

References m_txPowerLevel.

Referenced by ns3::WaveMacLow::GetDataTxVector(), ns3::WifiRemoteStationManager::GetDataTxVector(), PsrExperiment::Send(), CollisionExperiment::SendA(), and CollisionExperiment::SendB().

+ Here is the caller graph for this function:

Member Data Documentation

WifiMode ns3::WifiTxVector::m_mode
private

The DATARATE parameter in Table 15-4.

It is the value that will be passed to PMD_RATE.request

Definition at line 139 of file wifi-tx-vector.h.

Referenced by GetMode(), and SetMode().

uint8_t ns3::WifiTxVector::m_ness
private

Definition at line 149 of file wifi-tx-vector.h.

Referenced by GetNess(), and SetNess().

uint8_t ns3::WifiTxVector::m_nss
private

Definition at line 148 of file wifi-tx-vector.h.

Referenced by GetNss(), and SetNss().

uint8_t ns3::WifiTxVector::m_retries
private

The DATA_RETRIES/RTS_RETRIES parameter for Click radiotap information.

Definition at line 145 of file wifi-tx-vector.h.

Referenced by GetRetries(), and SetRetries().

bool ns3::WifiTxVector::m_shortGuardInterval
private

Definition at line 147 of file wifi-tx-vector.h.

Referenced by IsShortGuardInterval(), and SetShortGuardInterval().

bool ns3::WifiTxVector::m_stbc
private

Definition at line 150 of file wifi-tx-vector.h.

Referenced by IsStbc(), and SetStbc().

uint8_t ns3::WifiTxVector::m_txPowerLevel
private

The TXPWR_LEVEL parameter in Table 15-4.

It is the value that will be passed to PMD_TXPWRLVL.request

Definition at line 142 of file wifi-tx-vector.h.

Referenced by GetTxPowerLevel(), and SetTxPowerLevel().


The documentation for this class was generated from the following files: