Applicable versions | NetSim Standard | Netsim Pro |
Applicable Releases | v14.1 |
In this article we will explain
(i) how to obtain the SINR-BLER curve by fixing a particular MCS value.
(ii) how to extend (i) for all the different available MCSs
Note that in NetSim the MCS is chosen per the 3GPP spectral efficiency vs. MCS tables. The spectral efficiency is obtained from the received SINR.
We explain below by simulating a 5G Network in NetSim. The Workspace with code along with experiments are available in the link:
https://github.com/NetSim-TETCOS/SINR_BLER_Analysis_v14.1/archive/refs/heads/main.zip
Follow the instructions specified in the following link to download and setup the Project in NetSim:
In NetSim, click on New Simulation > 5G NR
- Drop 1gNB and 1UE.
- Set Tx-Rx Antenna Count to 1 at both gNB and UE.
- In the gNB physical properties,
- Set pathloss model to log distance with pathloss exponent = 3.
- Set transmitter power to 40dBm.
- MCS selection model: Ideal Shannon theorem-based
- BLER Enable, OLLA disable
- Enable LTENR Code Block log and LTENR Radio Measurements Log.
- Configure a Downlink full buffer traffic.
- Set distances between gNB and UE such that we get different SINRs from -6dB to 30dB in steps of 3dB for different MCS value. Fix a particular value of MCS value by modifying the source code as explained below
Steps to Modify source code to fix particular MCS value in NetSim:
- From the NetSim Home Screen, go to Your work ->Source Code -> Open Source Code via Microsoft Visual Studio Community version.
- Under Solution Explorer, go to LTE_NR project, Open LTENR_AMCTable.c file and modify the line 138 as shown in the figure below.
- The above code modification returns table[15] which means we chose MCS Index = 15 for the simulation.
- Rebuild the LTE_NR project.
- Run the simulation.
Outputs
We can get SINR for different MCS from LTENR_Radio_Measurement.csv file.
- Open the LTENR Radio Measurements Log from results dashboard under the logs section.
- Filter the channel column to PDSCH because the network has downlink traffic.
- Record the SINR values after initial gNB-UE association which is after 166ms and also verify the MCS value from the MCS Index column.
We can get Average BLER from LTENR_CodeBlock_Log.csv file.
- Open the LTENR Code Blockock Log from results dashboard under the logs section.
- Download the Plotting_BLER vs Time.bas file from the article. Refer to the article to obtain i-BLER.
- After running the Plotting_BLER_vsTime.bas file go to i-bler vs time sheet and take the average of i-BLER column as shown in the fig.
Results
Distance(m) | SINR | Avg. BLER | |||||||
MCS 1 | MCS 3 | MCS 7 | MCS 11 | MCS 15 | MCS 19 | MCS 23 | MCS 27 | ||
244 | 30.02 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
307 | 27.03 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
386 | 24.05 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
486 | 21.05 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
614 | 18.01 | 0 | 0 | 0 | 0 | 0 | 0.93 | 1 | 1 |
770 | 15.06 | 0 | 0 | 0 | 0 | 0.96 | 1 | 1 | 1 |
970 | 12.05 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
1280 | 9.08 | 0 | 0 | 0.7 | 1 | 1 | 1 | 1 | 1 |
1620 | 6.01 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
2130 | 3.08 | 0.28 | 0.93 | 1 | 1 | 1 | 1 | 1 | 1 |
2680 | 0.09 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
3420 | -3.08 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
4300 | -6.06 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
BLER vs SINR plots for different MCS indices