Channel Simulator - UEsim
This tutorial is about how to configure channel simulator for UEsim and verify it using Amarisoft Callbox. Applying channel simulation to UEsim mean Uplink channel simulation. The channel model you can apply for UEsim is listed as follows
- 3GPP defined Fading Profile for LTE and NR (
NOTE : Amarisoft support TDL model only, does not support CDL) - UE distance simulation (Near / Far Simulation)
- Loss Model simulation (Modeling A + B * log10(d) )
The most common channel simulation we do is Near / Far modeling as illustrated below. In this scenario, UEsim simulator a UE moving toward a certain direction at a constant speed and observe UL channel power (e.g, PUSCH, PUCCH power) and throughput from gNB.
Table of Contents
- Channel Simulator - UEsim
Test Setup
Test setup for this tutorial is as shown below. This is just for low layer testing, you may not need any complicated IP layer setup.
- SIM Card used in this tutorial is the one delivered with the system as it is.
- If you want to change the configuration, The tutorial Configuration Guide would help
Key Configuration Parameters
Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.
- channel_sim
- delay_sim
- position
- initial_radius
- speed
- direction
- elevation
- noise_spd
- channel
- ul_power_attenuation
- ref_signal_power
Test 1 : Basic AWGN channel
In this test, we simulate a situation where a UE is moving away from the cell at a constant speed under simple awgn radio channel
Configuration
I have used gnb-sa-channel-sim.cfg that is copied and modified from gnb-sa.cfg. I will use the same file for all the test in this tutorial and just modify the parameters in the file without creating a new file.
I am using the default mme, ims config as shown below.
I used ue-nr-sa-chan-sim.cfg which is copied and modifed from ue-nr-sa.cfg on UEsim.
Following is the configuration on gNB. On gNB side, the configuration is almost identical to gnb-sa.cfg. The only difference is NR_BANDWIDTH which is changed to 40 (20 is the default value)
Following is the basic configuration in ue-nr-sa-chan-sim.cfg . The configuration here should match the configuration of Callbox(gNB). The only thing to be set independantly are tx_gain and rx_gain that should be adjusted depending on test setup.
Enable channel_sim and delay_sim in cell_groups and specify the position, antenna radiation type (antenna: {type :"isotropic"}, cell reference power(ref_signal_power) broadcast in SIB1. (
Then specify UE position (position), noise floor(noise_spd) and channel type( channel:{ type:"awgn"} in ue_list:[{ }]. The position specified here is the initial position, you can move this position while running with RemoteAPI.
This part is mainly for automation of the test process. But this is not mandatory, you can perform all of these operation manually. Just for this specific test, power_on, running LteSimServer and power_off is done automatically without human intervention.
Perform the Test
I will follow the same procedure as shown here for all the test in this tutorial.
Check if the cell is configured as intended by checking the output of 'cell phy'
Start lte service on Callbox(gNB) and UEsim(UE) and make it sure that the UE is connected.
Once the initial attach is complete, go to /root/ue directory on UEsim and run the following remote API. This specific command is to move UE (ue_id 1) to move away from the cell at the speed of 10 km/h.
./ws.js ue '{"message" : "ue_move", "ue_id" : 1, "speed" : 10, "direction" : 0}' |
Then check how some of physical layer measurement changes in gNB trace log. Followings are some of the highlights you would notice :
- UL SNR is decreasing with time (as UE moves farther from gNB.
- UL MCS is decreasing with time (as UE moves farther from gNB (This is because gNB performs link adaptation).
- UL brate (Date Rate) is decreasing with time (as UE moves farther from gNB)
- UL phr (Power HeadRoom) is decreasing with time (as UE moves farther from gNB)
- Pathloss (pl) is increasing with time (as UE moves farther from gNB)
To check the effect of channel simulation on downlink, you can check out the 't' output on UEsim. You would notice that SINR and RSRP for DL decreases as UE moves farther away from the cell.
Log Analysis
You can analyze the channel characteristics with Callbox log or UEsim log, but I think Callbox log is better option since it is based on real measurement.
First let's check out SNR and Power(EPRE) for uplink data channel (PUSCH). As you see in the [SNR] tab, you see both SNR and EPRE for PUSCH(UL data) gradually decreseas as the mobile phone gets farther from gNB.
Now let's check out PHR(Power Headroom). As you see in the [Power head room] tab, you see the phr gradually decreseas as the mobile phone gets farther from gNB.
Then let's check out throughput. As you see in the [Throughput] tab, you see the throughput gradually decreseas as the mobile phone gets farther from gNB.
Now let's look into RX/TX packet status. I want to focus on RX Bad CRC. You may expect this to be increasing as UE get farther away from gNB, but in this result it stay same over most of the location except where the UE got very far away. The CRC Bad stays at very low becaues gNB is performing link adaption procedure (e.g, changing MCS to prevent CRC error)
You can confirm how link adaptation goes on in [MCS] tab. You see that gNB reduces MCS as UE gets farther away from the cell.
Since the UE is getting farther away, you may guess that there would be continuous adjustment of UL transmission timing with Timing Advance. This can be confirmed by the MAC CE with TA field. (
This is optional. You can do the same analysis shown above with UEsim log. An advantage of analyzing the log on UEsim would be that you can figure out exact point of the time that UE start moving from the log print ('move x=10 y=0 speed=10 dir=0 elevation=0' in this case). All other analysis is same as we checked with gNB log.
Test 2 : 3GPP Profile - EPA
In this test, we simulate a situation where a UE is moving away from the cell at a constant speed under one of 3GPP predefined channel model named "EPA"
Configuration
I have used gnb-sa-channel-sim.cfg that is copied and modified from gnb-sa.cfg. I will use the same file for all the test in this tutorial and just modify the parameters in the file without creating a new file.
I am using the default mme, ims config as shown below.
I used ue-nr-sa-chan-sim-epa.cfg which is copied and modifed from ue-nr-sa.cfg on UEsim.
Following is the configuration on gNB. On gNB side, the configuration is almost identical to gnb-sa.cfg. The only difference is NR_BANDWIDTH which is changed to 40 (20 is the default value)
Following is the basic configuration in ue-nr-sa-chan-sim.cfg . The configuration here should match the configuration of Callbox(gNB). The only thing to be set independantly are tx_gain and rx_gain that should be adjusted depending on test setup.
Enable channel_sim and delay_sim in cell_groups and specify the position, antenna radiation type (antenna: {type :"isotropic"}, cell reference power(ref_signal_power) broadcast in SIB1. (
Then specify UE position (position), noise floor(noise_spd) and channel type( channel:{ type:"epa", freq_doppler: 50, mimo_correlation: "low"} in ue_list:[{ }]. The position specified here is the initial position, you can move this position while running with RemoteAPI.
This part is mainly for automation of the test process. But this is not mandatory, you can perform all of these operation manually. Just for this specific test, power_on, running LteSimServer and power_off is done automatically without human intervention.
Perform the Test
I will follow the same procedure as shown here for all the test in this tutorial.
Check if the cell is configured as intended by checking the output of 'cell phy'
Start lte service on Callbox(gNB) and UEsim(UE) and make it sure that the UE is connected.
Once the initial attach is complete, go to /root/ue directory on UEsim and run the following remote API. This specific command is to move UE (ue_id 1) to move away from the cell at the speed of 10 km/h.
./ws.js ue '{"message" : "ue_move", "ue_id" : 1, "speed" : 10, "direction" : 0}' |
Then check how some of physical layer measurement changes in gNB trace log. Followings are some of the highlights you would notice :
- UL SNR is decreasing with time (as UE moves farther from gNB.
- UL MCS is decreasing with time (as UE moves farther from gNB (This is because gNB performs link adaptation).
- UL brate (Date Rate) is decreasing with time (as UE moves farther from gNB)
- UL phr (Power HeadRoom) is decreasing with time (as UE moves farther from gNB)
- Pathloss (pl) is increasing with time (as UE moves farther from gNB)
To check the effect of channel simulation on downlink, you can check out the 't' output on UEsim. You would notice that SINR and RSRP for DL decreases as UE moves farther away from the cell.