16.2.11

NS-2 Rate setting for interface cards 802.11a/b/g

[Referred from Nabble Mailing List]
In ns2.26 and ns2.27, you can change (basicRate_ and dataRate_ ): 

Mac/802_11 set basicRate_ 1Mb 
Mac/802_11 set dataRate_  11Mb 

in your tcl script. 

FHSS (IEEE802.11a
  Mac/802_11 set SlotTime_          0.000050        ;# 50us 
  Mac/802_11 set SIFS_              0.000028        ;# 28us 
  Mac/802_11 set PreambleLength_    0               ;# no preamble 
  Mac/802_11 set PLCPHeaderLength_  128             ;# 128 bits 
  Mac/802_11 set PLCPDataRate_      1.0e6           ;# 1Mbps 
  Mac/802_11 set dataRate_          1.0e6           ;# 11Mbps 
  Mac/802_11 set basicRate_         1.0e6           ;# 1Mbps 

DSSS (IEEE802.11b) 
  Mac/802_11 set SlotTime_          0.000020        ;# 20us 
  Mac/802_11 set SIFS_              0.000010        ;# 10us 
  Mac/802_11 set PreambleLength_    144             ;# 144 bit 
  Mac/802_11 set PLCPHeaderLength_  48              ;# 48 bits 
  Mac/802_11 set PLCPDataRate_      1.0e6           ;# 1Mbps 
  Mac/802_11 set dataRate_          11.0e6          ;# 11Mbps 
  Mac/802_11 set basicRate_         1.0e6           ;# 1Mbps 

Note: 

-if using the short preamble option: you can change the line as: 
Mac/802_11 set PreambleLength_ 72 

-  # frequency is 2.4 GHz 
  Phy/WirelessPhy set freq_ 2.4e+9 
  # transmit power 
  Phy/WirelessPhy set Pt_ 3.3962527e-2 
  # Receive sensitivity. 
  Phy/WirelessPhy set RXThresh_ 6.309573e-12 
  Phy/WirelessPhy set CSThresh_ 6.309573e-12 

Note that the radio range that results from this configuration may or may 
not coincide with open field tests. If you want setup a specific range, 
use the program ~/indep-utils/propagation/threshold.cc to obtain the 
desired RXThresh_ (rx sensitivity) based on the above frequency, transmit 
power and your desired range. 


802.11g: 

#define DSSS_CWMin            15 
#define DSSS_CWMax            1023 
#define DSSS_SlotTime        0.000009 
#define DSSS_CCATime         0.000003 
#define DSSS_RxTxTurnaroundTime    0.000002 
#define DSSS_SIFSTime        0.000016 
#define DSSS_PreambleLength     96 
#define DSSS_PLCPHeaderLength    40 
#define DSSS_PLCPDataRate        6.0e6    // 6Mbps 
#define DSSS_MaxPropagationDelay     0.0000005    // 0.5us 

Note: bandwidth is different with achievable throughput. 

- In NS ACK are always sent at 1Mbps 
- NS use always the long PLCP preamble format sent at 1Mbps 
- by default NS uses RTS/CTS handshake 
- Packet's size has also an impact in the % of overhead. 

No comments: