By default in Wi-Fi, NetSim selects the modulation and coding scheme (MCS) by computing the RSSI threshold per Target Packet Error Probability (PEP) for a given Packet size, per the IEEE 802.11 standards. These values are:

  • 802.11 n/ac: Target PEP = 0.1, Packet Size: 4096 B
  • 802.11 b: Target PEP = 0.08, Packet Size: 1024B
  • 802.11 a/g/p: Target PEP:0.1, Packet size1000B


The RSSI computation is as follows. NetSim assumes the AP-STA and the STA-AP channel are reciprocal. Therefore, Pathloss plus Shadow loss is identical in both directions.

    

RSSI = Received-Power = Tx-Power - Pathloss - Shadow-Loss


Note:

  • A precise computation of RSSI should include Noise power and Interference. However, in practice received power dominates at high SINR. 
  • When computing BER (from SNR) fading loss is added to this RSSI value. In other words, fading loss is not accounted for when choosing MCS, but is accounted for when computing BER.


Now, a user may be interested in turning off the PEP-based RSSI threshold and instead use just the RSSI threshold provided in the standards tables.  This is already available as a workspace that can be imported. 

Workspace download link: 

https://github.com/NetSim-TETCOS/WiFi-MCS-Per-Tables-v13.0/archive/refs/heads/main.zip

Please refer to the following article on how to import the workspace:

https://support.tetcos.com/en/support/solutions/articles/14000128666-downloading-and-setting-up-netsim-file-exchange-projects


Changes done in this workspace are the commenting of the function which computes the RSSI threshold for Target PEP. Specifically:


a. 802.11 n/ac: 
File name: IEEE802_11_HTPhy.c
Function name: fn_NetSim_IEEE802_11_HTPhy_UpdateParameter()
Line: 1109

b. 802.11 b: 
File name: IEEE802_11_DSSSPhy.c
Function name: fn_NetSim_IEEE802_11_DSSPhy_UpdateParameter()
Line: 96

c. 802.11 a/g/p: 
Bandwidth: 10MHz (802.11p)
File name: IEEE802_11_OFDMPhy.c
Function name: fn_NetSim_IEEE802_11_OFDMPhy_UpdateParameter()
Line: 118

Bandwidth: 20MHz (802.11a/g)
File name: IEEE802_11_OFDMPhy.c
Function name: fn_NetSim_IEEE802_11_OFDMPhy_UpdateParameter()
Line: 132


For example for 802.11 g, using just RSSI (received signal) threshold would lead to the following table:



As you can see based on the RxPower the MCS and the PHY rate are set. The table for different standards can be computed from the following C files

802.11 b (DSSS) - IEEE802_11_DSSSPhy.c
802.11 a, g (OFDM) - IEEE802.11_OFDMPhy.c
802.11 n (HT) - IEEE802_11_HTPhy.c
802.11 ac (VHT) - IEEE802_11_HTPhy.c


Useful Articles


1. Explain the working & code for data rate versus MCS in 802.11 in NetSim? https://tetcos.freshdesk.com/a/solutions/articles/14000084505