Amarisoft

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

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

 

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.

TestSetup Callbox UEsim 1sdr 01

 

Key Configuration Parameters

Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.

 

 

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.

Channel Simulator configuration or test result related to Config 01

I am using the default mme, ims config as shown below.

NR DSS Config 02

I used ue-nr-sa-chan-sim.cfg which is copied and modifed from ue-nr-sa.cfg on UEsim.

Channel Simulator configuration or test result related to Config 03

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)

Channel Simulator configuration or test result related to Config 04

 

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.

Channel Simulator configuration or test result related to Config 07

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. (NOTE : you need to figure out cell reference power from the SIB1 message for gNB/eNB or UEsim log. Refer to this tutorial on how to figure out the cell reference power). ul_power_attenuation is Real uplink analog attenuation (in dB) actually present between the UE simulator and the eNodeB which is described in details here.

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'

Channel Simulator configuration or test result related to Run 01

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 :

Channel Simulator configuration or test result related to Run 02

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

Sample Log

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. (NOTE : 'ta' in the log indicates TAspecified in 38.213-4.2. So ta=31 indicates no Timining Advance change(i.e, no changes in UL transmission timing), otherwise it advance or delay the UL transmission timing)

Sample Log

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.

Channel Simulator configuration or test result related to Config 01

I am using the default mme, ims config as shown below.

NR DSS Config 02

I used ue-nr-sa-chan-sim-epa.cfg which is copied and modifed from ue-nr-sa.cfg on UEsim.

Channel Simulator configuration or test result related to Config 03

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)

Channel Simulator configuration or test result related to Config 04

 

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.

Channel Simulator configuration or test result related to Config 07

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. (NOTE : you need to figure out cell reference power from the SIB1 message for gNB/eNB or UEsim log. Refer to this tutorial on how to figure out the cell reference power). ul_power_attenuation is Real uplink analog attenuation (in dB) actually present between the UE simulator and the eNodeB which is described in details here.

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'

Channel Simulator configuration or test result related to Run 01

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 :

Channel Simulator configuration or test result related to Run 02

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.