1) Experiment Overview
Experiment Definition: The user logs into one E-VM on two fixed (virtual) AERPAW Nodes (Machine #1 and 2) then runs scripts to test the connection between OAI gNB and OAI UE using Open5GS as the core network.
Experiment Goals: The main goal of this experiment is to provide a complete end-to-end 5G SA network, using OAI NR-UE with OAI GnB and open 5GS. The different modes offered in this experiment are TESTBED and applicable tests for these modes are PING, IPERF
Mode Descriptions:
TESTBED
Base Station to Single UE Link (1 5G Core + 1 BS PC + 1 UE PC)
Description: This mode sets up a gNB and UE. A connection will be established. If the default configuration settings are used, the experiment runs using settings for band78, and the radios are offset to operate within the 3.3 - 3.55 GHz spectrum at 10 MHz bandwidth (50 resource blocks).
Test Descriptions:
PING
Description: Ping (latency is the technically more correct term) means the time it takes for a small data set to be transmitted from your device to a server on the Internet and back to your device again. The ping time is measured in milliseconds (ms)
IPERF
Description: Iperf has client and server functionality, and can create data streams to measure the throughput between the two ends in one or both directions.
USRP Tx Gain (sets the gain of variable PA in the USRP in the range of 0 to 89 for B series, 0 to 30 for X310): default is 0 dBFS which has been determined for the external Tx RF front end.
USRP Rx Gain (sets the gain of variable PA in the USRP in the range of 0 to 76 for B series, 0 to 30 for X310): default is 0 dBFS which has been determined for the external Rx RF front end and Tx/Rx isolation.
att_tx: Attenuation applied to the transmitted signal.
att_rx: Attenuation applied to the received signal.
max_rxgain: Maximum receiver gain.
2) Modifying the Experiment Configuration Parameters:
Open5GS Core Network configuration:
The following explains how to modify an Open5GS database using the Open5GS Database Configuration Tool. You can add users with default values or specify their imsi key and opc using the provided command syntax. This information is crucial to authenticate the UE and obtain an IP address.
Warning:
MongoDB should be running before adding/removing a user. Running the start experiment script in the following section 3) will start the core network and mongoDB user database.
For example:
To add another user
$ /opt/open5gs/build/misc/db/open5gs-dbctl add [imsi] [key] [opc]
To remove a user
$ /opt/open5gs/build/misc/db/open5gs-dbctl remove [imsi]
3) Performing the Experiment:
3.A) Choosing the Experiment Mode
Machine #1:
5G SA gNB configuration:
We assume the core network is a fixed node. Login to the E-VM corresponding to the fixed node. Navigate to the folder containing all the Radio scripts
cd /root/Profiles/ProfileScripts/Radio/
Copy the start experiment script from to root:
cp ./Samples/startOpen5GS-OAI-gNB.sh ./startRadio.sh
Use an editor to uncomment the line /Radio/startRadio.sh in /root/startexperiment.sh and run the following command:
/root/startexperiment.sh
Machine #2:
5G SA UE configuration:
Navigate to the Vehicle directory:
$ cd /root/Profiles/ProfileScripts/Vehicle
Copy preplanned trajectory to startVehicle.sh:
$ cp ./Samples/startPreplannedTrajectory.sh ./startVehicle.sh
Change the following line in ./startVehicle.sh in your chosen text editor:
from: export MISSION=$PROFILE_DIR"/vehicle_control/PreplannedTrajectory/Missions/default.plan"
to: export MISSION=$PROFILE_DIR"/vehicle_control/PreplannedTrajectory/Missions/lw1-to-lw2.plan"
Navigate to the folder containing experiment scripts:
cd /root/Profiles/ProfileScripts/Radio/
Copy the UE script to startRadio:
cp ./Samples/startOpen5GS-OAI-UE.sh ./startRadio.sh
Use an editor to uncomment the lines /Vehicle/startVehcle.sh and /Radio/startRadio.sh in /root/startexperiment.sh and run the following command:
$ /root/startexperiment.sh
4) Results:
4.A) Iperf:
To run iperf follow this guide: https://sites.google.com/d/1uhC-TeE2FtHDwhS76kVPLfAyAlw5-Hi_/p/1N31kbq2C7mOvdoY66ZUKiez5diMkbOzh
The iperf server logs can be found here:
$ tail -f /root/Results/<date_timestamp>_iperfserver_log.txt
The iperf client logs can be seen here:
$ tail -f /root/Results/<date_timestamp>_iperfclient_log.txt
Add screenshot of ping and Iperf and Post processing scripts as well as images showing post processing