NetSim Source Code Help
Loading...
Searching...
No Matches
IEEE802_11_Phy.h File Reference
#include "IEEE802_11.h"
#include "ErrorModel.h"
#include "IEEE802_11_HTPhy.h"
Include dependency graph for IEEE802_11_Phy.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  stru_IEEE802_11_DSSS_Phy
 
struct  stru_IEEE802_11_OFDM_Phy
 
struct  stru_802_11_PHY_PLME_characteristics
 
struct  stru_802_11_phy_radio
 
struct  stru_802_11_Phy_Var
 

Macros

#define BATTERY_RECHARGING_CURRENT_MA_DEFAULT   0
 
#define BATTERY_VOLTAGE_V_DEFAULT   0
 
#define BATTERY_INITIAL_ENERGY_DEFAULT   0
 
#define BATTERY_TRANSMITTING_CURRENT_MA_DEFAULT   0
 
#define BATTERY_RECEIVING_CURRENT_MA_DEFAULT   0
 
#define BATTERY_IDLEMODE_CURRENT_MA_DEFAULT   0
 
#define BATTERY_SLEEPMODE_CURRENT_MA_DEFAULT   0
 
#define CSRANGEDIFF   0
 
#define getSlotTime(phy)   (phy->plmeCharacteristics.aSlotTime)
 
#define getSIFSTime(phy)   (phy->plmeCharacteristics.aSIFSTime)
 
#define IEEE802_11_CURR_PHY   IEEE802_11_PHY(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)
 
#define GET_RX_POWER_mw(tx, txi, rx, rxi, time)   (DBM_TO_MW(GET_RX_POWER_dbm(tx, txi, rx, rxi, time)))
 

Typedefs

typedef enum enum_802_11_DSSS_PLCP_SIGNAL_Field IEEE802_11_DSSS_PLCP_SIGNAL
 Enumeration to represent the DSSS rate
More...
 
typedef struct stru_IEEE802_11_DSSS_Phy IEEE802_11_DSSS_PHY
 
typedef struct stru_IEEE802_11_DSSS_PhyPIEEE802_11_DSSS_PHY
 
typedef struct stru_IEEE802_11_OFDM_Phy IEEE802_11_OFDM_PHY
 
typedef struct stru_IEEE802_11_OFDM_PhyPIEEE802_11_OFDM_PHY
 
typedef struct stru_802_11_PHY_PLME_characteristics PLME_CHARACTERISTICS
 
typedef struct stru_802_11_PHY_PLME_characteristicsPPLME_CHARACTERISTICS
 
typedef struct stru_802_11_phy_radio IEEE802_11_RADIO
 
typedef struct stru_802_11_phy_radioptrIEEE802_11_RADIO
 
typedef struct stru_802_11_Phy_Var IEEE802_PHY_VAR
 
typedef struct stru_802_11_Phy_VarPIEEE802_11_PHY_VAR
 

Enumerations

enum  IEEE802_11_PHY_TYPE {
  FHSS_2_4_GHz = 01 , DSSS_2_4_GHz = 02 , IR_Baseband = 03 , OFDM = 04 ,
  DSSS = 05 , ERP = 06 , HT = 07 , VHT = 8
}
 
enum  enum_802_11_DSSS_PLCP_SIGNAL_Field { Rate_1Mbps = 0x0A , Rate_2Mbps = 0x14 , Rate_5dot5Mbps = 0x37 , Rate_11Mbps = 0x6E }
 Enumeration to represent the DSSS rate
More...
 

Functions

double GET_RX_POWER_dbm (NETSIM_ID tx, NETSIM_ID txi, NETSIM_ID rx, NETSIM_ID rxi, double time)
 
int fn_NetSim_IEEE802_11_PHY_Init (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
bool isMediumIdle (NETSIM_ID, NETSIM_ID)
 
void fn_NetSim_IEEE802_11_Add_Phy_Header (NetSim_PACKET *packet, UINT64 *transmissionId)
 
double get_preamble_time (PIEEE802_11_PHY_VAR phy)
 
int fn_NetSim_IEEE802_11_PhyOut ()
 
int fn_NetSim_IEEE802_11_PhyIn ()
 
bool fn_NetSim_IEEE802_11_TransmitFrame (NetSim_PACKET *pstruPacket, NETSIM_ID nDevId, NETSIM_ID nInterfaceId)
 
bool fn_NetSim_IEEE802_11_TransmitBroadcastFrame (NetSim_PACKET *pstruPacket, NETSIM_ID nDevId, NETSIM_ID nInterfaceId)
 
int fn_NetSim_IEEE802_11_SetDataRate (NETSIM_ID txId, NETSIM_ID txIf, NETSIM_ID rxId, NETSIM_ID rxIf, NetSim_PACKET *packet, double time)
 
void free_ieee802_11_phy_header (NetSim_PACKET *packet)
 
void copy_ieee802_11_phy_header (NetSim_PACKET *d, NetSim_PACKET *s)
 
int fn_NetSim_IEEE802_11_PropagationModel (NETSIM_ID nodeId, double time)
 
double fn_NetSim_IEEE802_11_CalculateTransmissionTime (double size, NETSIM_ID nDevId, NETSIM_ID nInterfaceId)
 
double fn_NetSim_IEEE802_11_HTPhy_getCtrlFrameDataRate (PIEEE802_11_PHY_VAR pstruPhy)
 
double fn_NetSim_IEEE802_11_GetMinRxSensitivity (NETSIM_ID txId, NETSIM_ID txIf)
 
bool is_radio_idle (PIEEE802_11_PHY_VAR phy)
 
bool set_radio_state (NETSIM_ID d, NETSIM_ID in, PHY_TX_STATUS state, NETSIM_ID peerId, UINT64 transmissionId)
 
PHY_TX_STATUS get_radio_state (PIEEE802_11_PHY_VAR phy)
 
void set_mac_state_after_txend (PIEEE802_11_MAC_VAR mac)
 
bool CheckFrequencyInterfrence (double dFrequency1, double dFrequency2, double bandwidth)
 
void fn_NetSim_IEEE802_11_DSSPhy_SetEDThreshold (PIEEE802_11_PHY_VAR phy)
 
int fn_NetSim_IEEE802_11_DSSPhy_UpdateParameter ()
 
int fn_NetSim_IEEE802_11_DSSSPhy_DataRate (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID nReceiverId, NetSim_PACKET *packet, double time)
 
unsigned int get_dsss_phy_max_index ()
 
unsigned int get_dsss_phy_min_index ()
 
void get_dsss_phy_all_rate (double *rate, UINT *len)
 
void fn_NetSim_IEEE802_11_OFDMPhy_SetEDThreshold (PIEEE802_11_PHY_VAR phy)
 
int fn_NetSim_IEEE802_11_OFDMPhy_UpdateParameter ()
 
int fn_NetSim_IEEE802_11_OFDMPhy_DataRate (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID nReceiverId, NetSim_PACKET *packet, double time)
 
unsigned int get_ofdm_phy_max_index ()
 
unsigned int get_ofdm_phy_min_index ()
 
void get_ofdm_phy_all_rate (int bandwidth_MHz, double *rate, UINT *len)
 
void fn_NetSim_IEEE802_11_HTPhy_SetEDThreshold (PIEEE802_11_PHY_VAR phy)
 
int fn_NetSim_IEEE802_11_HTPhy_UpdateParameter ()
 
void fn_NetSim_IEEE802_11n_OFDM_MIMO_init (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
double get_11n_preamble_time (PIEEE802_11_PHY_VAR phy)
 
double fn_NetSim_IEEE802_11n_TxTimeCalculation (NetSim_PACKET *pstruPacket, NETSIM_ID nDevId, NETSIM_ID nInterfaceId)
 
int fn_NetSim_IEEE802_11_HTPhy_DataRate (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId, NETSIM_ID nReceiverId, NetSim_PACKET *packet, double time)
 
unsigned int get_ht_phy_max_index (IEEE802_11_PROTOCOL protocol, UINT)
 
unsigned int get_ht_phy_min_index (IEEE802_11_PROTOCOL protocol, UINT)
 
void fn_NetSim_IEEE802_11ac_OFDM_MIMO_init (NETSIM_ID nDeviceId, NETSIM_ID nInterfaceId)
 
double get_11ac_preamble_time (PIEEE802_11_PHY_VAR phy)
 
double fn_NetSim_IEEE802_11ac_TxTimeCalculation (NetSim_PACKET *pstruPacket, NETSIM_ID nDevId, NETSIM_ID nInterfaceId)
 
struct stru_802_11_Phy_Parameters_HTget_phy_parameter_HT (double dChannelBandwidth, UINT NSS)
 
PIEEE802_11_PHY_VAR IEEE802_11_PHY (NETSIM_ID ndeviceId, NETSIM_ID nInterfaceId)
 
void SET_IEEE802_11_PHY (NETSIM_ID ndeviceId, NETSIM_ID nInterfaceId, PIEEE802_11_PHY_VAR phy)
 

Macro Definition Documentation

◆ BATTERY_IDLEMODE_CURRENT_MA_DEFAULT

#define BATTERY_IDLEMODE_CURRENT_MA_DEFAULT   0

Definition at line 39 of file IEEE802_11_Phy.h.

◆ BATTERY_INITIAL_ENERGY_DEFAULT

#define BATTERY_INITIAL_ENERGY_DEFAULT   0

Definition at line 36 of file IEEE802_11_Phy.h.

◆ BATTERY_RECEIVING_CURRENT_MA_DEFAULT

#define BATTERY_RECEIVING_CURRENT_MA_DEFAULT   0

Definition at line 38 of file IEEE802_11_Phy.h.

◆ BATTERY_RECHARGING_CURRENT_MA_DEFAULT

#define BATTERY_RECHARGING_CURRENT_MA_DEFAULT   0

Definition at line 34 of file IEEE802_11_Phy.h.

◆ BATTERY_SLEEPMODE_CURRENT_MA_DEFAULT

#define BATTERY_SLEEPMODE_CURRENT_MA_DEFAULT   0

Definition at line 40 of file IEEE802_11_Phy.h.

◆ BATTERY_TRANSMITTING_CURRENT_MA_DEFAULT

#define BATTERY_TRANSMITTING_CURRENT_MA_DEFAULT   0

Definition at line 37 of file IEEE802_11_Phy.h.

◆ BATTERY_VOLTAGE_V_DEFAULT

#define BATTERY_VOLTAGE_V_DEFAULT   0

Definition at line 35 of file IEEE802_11_Phy.h.

◆ CSRANGEDIFF

#define CSRANGEDIFF   0

Definition at line 42 of file IEEE802_11_Phy.h.

◆ GET_RX_POWER_mw

#define GET_RX_POWER_mw (   tx,
  txi,
  rx,
  rxi,
  time 
)    (DBM_TO_MW(GET_RX_POWER_dbm(tx, txi, rx, rxi, time)))

Definition at line 212 of file IEEE802_11_Phy.h.

◆ getSIFSTime

#define getSIFSTime (   phy)    (phy->plmeCharacteristics.aSIFSTime)

Definition at line 119 of file IEEE802_11_Phy.h.

◆ getSlotTime

#define getSlotTime (   phy)    (phy->plmeCharacteristics.aSlotTime)

Definition at line 118 of file IEEE802_11_Phy.h.

◆ IEEE802_11_CURR_PHY

#define IEEE802_11_CURR_PHY   IEEE802_11_PHY(pstruEventDetails->nDeviceId,pstruEventDetails->nInterfaceId)

Definition at line 208 of file IEEE802_11_Phy.h.

Typedef Documentation

◆ IEEE802_11_DSSS_PHY

◆ IEEE802_11_DSSS_PLCP_SIGNAL

Enumeration to represent the DSSS rate

◆ IEEE802_11_OFDM_PHY

◆ IEEE802_11_RADIO

◆ IEEE802_PHY_VAR

◆ PIEEE802_11_DSSS_PHY

◆ PIEEE802_11_OFDM_PHY

◆ PIEEE802_11_PHY_VAR

◆ PLME_CHARACTERISTICS

PHY layer ************
Page-1514 IEEE Std 802.11 2012 Table 16-2 DS PHY characteristics
Page-1623 IEEE Std 802.11-2012 Table 18-17—OFDM PHY characteristics
Page-361 6.5.4.2 Semantics of the service primitive
PLME-CHARACTERISTICS

◆ PPLME_CHARACTERISTICS

◆ ptrIEEE802_11_RADIO

Enumeration Type Documentation

◆ enum_802_11_DSSS_PLCP_SIGNAL_Field

Enumeration to represent the DSSS rate

Enumerator
Rate_1Mbps 
Rate_2Mbps 
Rate_5dot5Mbps 
Rate_11Mbps 

Definition at line 59 of file IEEE802_11_Phy.h.

◆ IEEE802_11_PHY_TYPE

Enumerator
FHSS_2_4_GHz 
DSSS_2_4_GHz 
IR_Baseband 
OFDM 
DSSS 
ERP 
HT 
VHT 

Definition at line 46 of file IEEE802_11_Phy.h.

Function Documentation

◆ CheckFrequencyInterfrence()

bool CheckFrequencyInterfrence ( double  dFrequency1,
double  dFrequency2,
double  bandwidth 
)

Definition at line 490 of file IEEE802_11_Phy.c.

Here is the caller graph for this function:

◆ copy_ieee802_11_phy_header()

void copy_ieee802_11_phy_header ( NetSim_PACKET d,
NetSim_PACKET s 
)

Definition at line 107 of file IEEE802_11_PhyFrame.c.

Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_Add_Phy_Header()

void fn_NetSim_IEEE802_11_Add_Phy_Header ( NetSim_PACKET packet,
UINT64 transmissionId 
)

This function is called in the fn_NetSim_WLAN_PhysicalOut() function. Add the PHY header pstruPacket->pstruPhyData->Packet_PhyData to the packet.

Definition at line 39 of file IEEE802_11_PhyFrame.c.

Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_CalculateTransmissionTime()

double fn_NetSim_IEEE802_11_CalculateTransmissionTime ( double  size,
NETSIM_ID  nDevId,
NETSIM_ID  nInterfaceId 
)

Calculate and return Transmission time for one packet.

Definition at line 465 of file IEEE802_11_Phy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_DSSPhy_SetEDThreshold()

void fn_NetSim_IEEE802_11_DSSPhy_SetEDThreshold ( PIEEE802_11_PHY_VAR  phy)

Definition at line 112 of file IEEE802_11_DSSSPhy.c.

Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_DSSPhy_UpdateParameter()

int fn_NetSim_IEEE802_11_DSSPhy_UpdateParameter ( )

Definition at line 79 of file IEEE802_11_DSSSPhy.c.

Here is the call graph for this function:

◆ fn_NetSim_IEEE802_11_DSSSPhy_DataRate()

int fn_NetSim_IEEE802_11_DSSSPhy_DataRate ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NETSIM_ID  nReceiverId,
NetSim_PACKET packet,
double  time 
)

This function is used to calculate the data rate for IEEE 802.11-DSSS Phy

Definition at line 120 of file IEEE802_11_DSSSPhy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_GetMinRxSensitivity()

double fn_NetSim_IEEE802_11_GetMinRxSensitivity ( NETSIM_ID  txId,
NETSIM_ID  txIf 
)

Definition at line 698 of file IEEE802_11_Phy.c.

Here is the call graph for this function:

◆ fn_NetSim_IEEE802_11_HTPhy_DataRate()

int fn_NetSim_IEEE802_11_HTPhy_DataRate ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NETSIM_ID  nReceiverId,
NetSim_PACKET packet,
double  time 
)
This function is used to set the data rate for a frame. Using this we are
calculating the transmission time.
Data rate set based on the received power.
Select the receiver sensitivity as per below table assigned
in PMD_RX_Specification_802_11abgn.c
page 1745 Table 20-23—Receiver minimum input level sensitivity 802.11-2012.pdf
Page 319 Table 20-22—Receiver minimum input level sensitivity 802.11n-2009.pdf
These Data rates are as per table
page 345 Table 20-29 to Table 20-36 802.11n-2009.pdf
@ Data
Definition: IEEE802_11.h:133
static struct stru_802_11_Phy_Parameters_HT a

Definition at line 1145 of file IEEE802_11_HTPhy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_HTPhy_getCtrlFrameDataRate()

double fn_NetSim_IEEE802_11_HTPhy_getCtrlFrameDataRate ( PIEEE802_11_PHY_VAR  pstruPhy)

Definition at line 1250 of file IEEE802_11_HTPhy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_HTPhy_SetEDThreshold()

void fn_NetSim_IEEE802_11_HTPhy_SetEDThreshold ( PIEEE802_11_PHY_VAR  phy)

Definition at line 1125 of file IEEE802_11_HTPhy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_HTPhy_UpdateParameter()

int fn_NetSim_IEEE802_11_HTPhy_UpdateParameter ( )

Definition at line 1061 of file IEEE802_11_HTPhy.c.

Here is the call graph for this function:

◆ fn_NetSim_IEEE802_11_OFDMPhy_DataRate()

int fn_NetSim_IEEE802_11_OFDMPhy_DataRate ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId,
NETSIM_ID  nReceiverId,
NetSim_PACKET packet,
double  time 
)

This function is used to calculate the data rate for IEEE 802.11-OFDM Phy

Definition at line 200 of file IEEE802.11_OFDMPhy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_OFDMPhy_SetEDThreshold()

void fn_NetSim_IEEE802_11_OFDMPhy_SetEDThreshold ( PIEEE802_11_PHY_VAR  phy)

Definition at line 191 of file IEEE802.11_OFDMPhy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_OFDMPhy_UpdateParameter()

int fn_NetSim_IEEE802_11_OFDMPhy_UpdateParameter ( )

Definition at line 113 of file IEEE802.11_OFDMPhy.c.

Here is the call graph for this function:

◆ fn_NetSim_IEEE802_11_PHY_Init()

int fn_NetSim_IEEE802_11_PHY_Init ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)
This function is used to configure the PhySical Layer parameters of device.
Configure the Preamble and PLCP header length.
Configure Control and broadcast frame data rate.
Calculate DIFS, EIFS and RIFS values.
Assign CS Threshold Value.

Definition at line 55 of file IEEE802_11_Phy.c.

Here is the call graph for this function:

◆ fn_NetSim_IEEE802_11_PhyIn()

int fn_NetSim_IEEE802_11_PhyIn ( )

Definition at line 288 of file IEEE802_11_Phy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_PhyOut()

int fn_NetSim_IEEE802_11_PhyOut ( )

Definition at line 189 of file IEEE802_11_Phy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_PropagationModel()

int fn_NetSim_IEEE802_11_PropagationModel ( NETSIM_ID  nodeId,
double  time 
)

This function used to calculate the received from any wireless node other wireless nodes in the network. It check is there any interference between the adjacent channel. If any interference then it consider that effect to calculate the received power.

Definition at line 145 of file Component 1/Part 3/IEEE802_11/PropagationModel.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_SetDataRate()

int fn_NetSim_IEEE802_11_SetDataRate ( NETSIM_ID  txId,
NETSIM_ID  txIf,
NETSIM_ID  rxId,
NETSIM_ID  rxIf,
NetSim_PACKET packet,
double  time 
)

This function used to compute the data rate with respect to the total received power set the received power value using received power range table for modulation(dbm)

Definition at line 670 of file IEEE802_11_Phy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_TransmitBroadcastFrame()

bool fn_NetSim_IEEE802_11_TransmitBroadcastFrame ( NetSim_PACKET pstruPacket,
NETSIM_ID  nDevId,
NETSIM_ID  nInterfaceId 
)

Definition at line 591 of file IEEE802_11_Phy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11_TransmitFrame()

bool fn_NetSim_IEEE802_11_TransmitFrame ( NetSim_PACKET pstruPacket,
NETSIM_ID  nDevId,
NETSIM_ID  nInterfaceId 
)

Transmit the packet in the Medium, i.e from Physical out to Physical In. While transmitting check whether the Receiver radio state is CHANNEL_IDLE and also is the receiver is reachable, that is not an out off reach. If both condition satisfied then add the PHY IN EVENT, else drop the frame.

Definition at line 514 of file IEEE802_11_Phy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11ac_OFDM_MIMO_init()

void fn_NetSim_IEEE802_11ac_OFDM_MIMO_init ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

This function is called to initialize the MIMO and OFDM parameters relevant to IEEE802.11ac. This function is called from the "fn_NetSim_WLAN_PHY_Configuration()" for HT PHY. Initialize time parameters as per the Table 20-5—Timing-related constants 802.11n-2009 pdf also initialize 802.11ac PHY header relevant parameters.

Definition at line 25 of file IEEE802_11ac.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11ac_TxTimeCalculation()

double fn_NetSim_IEEE802_11ac_TxTimeCalculation ( NetSim_PACKET pstruPacket,
NETSIM_ID  nDevId,
NETSIM_ID  nInterfaceId 
)
This function is used to calculate the transmission time. If flag=1, then preamble time is
also taken into consideration. else only the time required to transmit the packetsize
specified will be returned.
For Short GI
TXTIME = TGF_HT_PREAMBLE + THT_SIG + TSYMS * NSYM + SignalExtension
For Regular/ Long GI
TXTIME = TGF_HT_PREAMBLE + THT_SIG + TSYM * NSYM + SignalExtension
TGF_HT_PREAMBLE is the duration of the preamble in HT_greenfield format, given by
TGF_HT_PREAMBLE = THT_GF_STF + THT_ LTF1 + (NLTF – 1)THT_ LTFs
TSYM, TSYMS, THT-SIG, TL-STF, THT-STF, THT-GF-STF, TL-LTF, THT-LTF1 and THT-LTFs defined in Table20-5 Timing-related constants
SignalExtension is 0 microsecs when TXVECTOR parameter NO_SIG_EXTN is TRUE and is the duration of signal extension as defined by aSignalExtension in
Table 20- 4 when TXVECTOR parameter NO_SIG_EXTN is FALSE NLTF is defined in Equation (20-22)
NSYM is the total number of data symbols in the data portion, which may be calculated according to Equation (20-95)
For BCC coding
NSYM = mSTBC * ceil ( (8*length + 16 + 6*NES)/(mSTBC*NDBPS) )
For LDPC
NSYM = Navbits / NCBPS
length is the number of octets in the data portion of the PPDU
mSTBC is equal to 2 when STBC is used, and otherwise 1
NES and NCBPS are defined in Table 20-6
NDBPS is defined in Table 20-28
Navbits is defined in Equation (20-39)
#define TRUE
Definition: Linux.h:77
#define FALSE
Definition: Linux.h:76

Definition at line 140 of file IEEE802_11ac.c.

Here is the call graph for this function:

◆ fn_NetSim_IEEE802_11n_OFDM_MIMO_init()

void fn_NetSim_IEEE802_11n_OFDM_MIMO_init ( NETSIM_ID  nDeviceId,
NETSIM_ID  nInterfaceId 
)

This function is called to initialize the MIMO and OFDM parameters relevant to IEEE802.11n. This function is called from the "fn_NetSim_WLAN_PHY_Configuration()" for HT PHY. Initialize time parameters as per the Table 20-5—Timing-related constants 802.11n-2009 pdf also initialize 802.11n PHY header relevant parameters.

Definition at line 35 of file IEEE802_11n.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fn_NetSim_IEEE802_11n_TxTimeCalculation()

double fn_NetSim_IEEE802_11n_TxTimeCalculation ( NetSim_PACKET pstruPacket,
NETSIM_ID  nDevId,
NETSIM_ID  nInterfaceId 
)

◆ free_ieee802_11_phy_header()

void free_ieee802_11_phy_header ( NetSim_PACKET packet)

Definition at line 100 of file IEEE802_11_PhyFrame.c.

Here is the caller graph for this function:

◆ get_11ac_preamble_time()

double get_11ac_preamble_time ( PIEEE802_11_PHY_VAR  phy)

Definition at line 180 of file IEEE802_11ac.c.

Here is the caller graph for this function:

◆ get_11n_preamble_time()

double get_11n_preamble_time ( PIEEE802_11_PHY_VAR  phy)

Definition at line 113 of file IEEE802_11n.c.

Here is the caller graph for this function:

◆ get_dsss_phy_all_rate()

void get_dsss_phy_all_rate ( double *  rate,
UINT len 
)

Definition at line 71 of file IEEE802_11_DSSSPhy.c.

Here is the caller graph for this function:

◆ get_dsss_phy_max_index()

unsigned int get_dsss_phy_max_index ( )

Definition at line 61 of file IEEE802_11_DSSSPhy.c.

Here is the caller graph for this function:

◆ get_dsss_phy_min_index()

unsigned int get_dsss_phy_min_index ( )

Definition at line 66 of file IEEE802_11_DSSSPhy.c.

Here is the caller graph for this function:

◆ get_ht_phy_max_index()

unsigned int get_ht_phy_max_index ( IEEE802_11_PROTOCOL  protocol,
UINT  dGI 
)

Definition at line 898 of file IEEE802_11_HTPhy.c.

Here is the caller graph for this function:

◆ get_ht_phy_min_index()

unsigned int get_ht_phy_min_index ( IEEE802_11_PROTOCOL  protocol,
UINT  dGI 
)

Definition at line 924 of file IEEE802_11_HTPhy.c.

Here is the caller graph for this function:

◆ get_ofdm_phy_all_rate()

void get_ofdm_phy_all_rate ( int  bandwidth_MHz,
double *  rate,
UINT len 
)

Definition at line 102 of file IEEE802.11_OFDMPhy.c.

Here is the caller graph for this function:

◆ get_ofdm_phy_max_index()

unsigned int get_ofdm_phy_max_index ( )

Definition at line 92 of file IEEE802.11_OFDMPhy.c.

Here is the caller graph for this function:

◆ get_ofdm_phy_min_index()

unsigned int get_ofdm_phy_min_index ( )

Definition at line 97 of file IEEE802.11_OFDMPhy.c.

Here is the caller graph for this function:

◆ get_phy_parameter_HT()

struct stru_802_11_Phy_Parameters_HT * get_phy_parameter_HT ( double  dChannelBandwidth,
UINT  NSS 
)

Definition at line 950 of file IEEE802_11_HTPhy.c.

Here is the caller graph for this function:

◆ get_preamble_time()

double get_preamble_time ( PIEEE802_11_PHY_VAR  phy)

Definition at line 166 of file IEEE802_11_Phy.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_radio_state()

PHY_TX_STATUS get_radio_state ( PIEEE802_11_PHY_VAR  phy)

Definition at line 18 of file IEEE802_11_Radio.c.

◆ GET_RX_POWER_dbm()

double GET_RX_POWER_dbm ( NETSIM_ID  tx,
NETSIM_ID  txi,
NETSIM_ID  rx,
NETSIM_ID  rxi,
double  time 
)

Definition at line 176 of file Component 1/Part 3/IEEE802_11/PropagationModel.c.

Here is the call graph for this function:

◆ IEEE802_11_PHY()

PIEEE802_11_PHY_VAR IEEE802_11_PHY ( NETSIM_ID  ndeviceId,
NETSIM_ID  nInterfaceId 
)

Definition at line 95 of file IEEE1609_interface.c.

Here is the caller graph for this function:

◆ is_radio_idle()

bool is_radio_idle ( PIEEE802_11_PHY_VAR  phy)

Definition at line 89 of file IEEE802_11_Radio.c.

◆ isMediumIdle()

bool isMediumIdle ( NETSIM_ID  d,
NETSIM_ID  in 
)

Definition at line 160 of file IEEE802_11_Phy.c.

Here is the call graph for this function:

◆ SET_IEEE802_11_PHY()

void SET_IEEE802_11_PHY ( NETSIM_ID  ndeviceId,
NETSIM_ID  nInterfaceId,
PIEEE802_11_PHY_VAR  phy 
)

Definition at line 138 of file IEEE1609_interface.c.

◆ set_mac_state_after_txend()

void set_mac_state_after_txend ( PIEEE802_11_MAC_VAR  mac)

Definition at line 251 of file IEEE802_11_Mac.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_radio_state()

bool set_radio_state ( NETSIM_ID  d,
NETSIM_ID  in,
PHY_TX_STATUS  state,
NETSIM_ID  peerId,
UINT64  transmissionId 
)

Definition at line 55 of file IEEE802_11_Radio.c.

Here is the call graph for this function:
Here is the caller graph for this function: