LTE NB NTN (Non Terrestrial Network)
This tutorial is to show you how to configure and test LTE NB NTN. NTN (Non Terrestrial Network) is a type of network deployment in which some type of non-terrestrial (e.g, satellite or other airborne component). Overall protocol sequence of NTN is not much different from the existing LTE RAN access (LTE NB, LTE, NR), but one major difference is to handle the long propagation delay between the ground components (eNB and/or DUT) and Satellite. There are two major components introduced in 3GPP as listed below.
- Additional SIBs : This is mainly to inform the position of Satellite (i.e, ephemeris) and default time delay. In LTE case, the SIB31 carries these information.
- Additional MAC CE : These are mainly to handle the long time delay. The MAC CE "Differential Koffset" is introduced for PDSCH and "Timing Advanced Report" for PUSCH.
There are various different type of NTN deployment in 3GPP TR 36.763. Currently Amarisoft NTN implementation is as shown below.
Table of Contents
- LTE NB NTN (Non Terrestrial Network)
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
With Amarisoft eNB and UEsim, we can try with following two different setups.
Key Configuration Parameters
Followings are important configuration parameters for this tutorial. You may click on the items for the descriptions from Amarisoft documents.
- ntn : In this link, you can find the descriptions for all the parameters below.
- ephemeris
- eccentricity
- inclination
- semi_major_axis
- longitude
- periapsis
- anomaly
- epoch
- use_state_vectors
- ground_position
- same_as_ap_position
- latitude
- longitude
- altitude
- n_ta_common
- n_ta_drift
- n_ta_drift_var
- channel_sim_control
- type
- ue_position
- latitude
- longitude
- altitude
- ue_doppler_shift
- ul_sync_validity
- k_offset
- dynamic_k_offset
- rat_type
Test 1 : NTN with Simulated GEO and UEsim
Configuration
The configuration shown here is common configuration for all the subtests belonging to Test 1 and I will not show this configuration repeatedly for every subtest.
I have used enb-nbiot-ntn.cfg which is included in the installation package from the release 2023-04-21.
I am using mme-ims.cfg and ue_db-ims.cfg as they are.
On UEsim, I used ue-nbiot-ntn.cfg which is included in the installation package from the release 2023-04-21. (
enb-nbiot-ntn.cfg is configured as follows.
mme-ims.cfg is configured as follows :
ue-nbiot-ntn.cfg is configured as shown below. (
Perform the Test
Run lte service on callbox and check 'cell' command.
This is not the mandatory process.. but I did this to collect SIB message in the log for a few seconds at the beginning. I did bcch=1 and after a few seconds did bcch=0.
Now start trace logging.
Power on UE on UEsim (If your DUT is a commercial phone, turn on the phone)
Wait until the DUT complete the initial attach.
Log Analysis
Following is the log snapshot that are involved in communication with NTN.
Test 2 : NTN with Simulated GEO and Commercial UE in non-NTN band
This test is with a commercial UE from Quectel: BG770-GL-TE-A. Quectel support was needed for NTN upgrade
Configuration
The configuration shown here is common configuration for all the subtests belonging to Test 1 and I will not show this configuration repeatedly for every subtest.
I have used enb-nbiot-ntn-Quectel.cfg
I am using mme-ims.cfg and ue_db-ims.cfg as they are.
enb-nbiot-ntn-Quectel.cfg is configured as follows.
Perform the Test
Run lte service on callbox and check 'cell' command.
This is not the mandatory process.. but I did this to collect SIB message in the log for a few seconds at the beginning. I did bcch=1 and after a few seconds did bcch=0.
Now start trace logging.
Configure on DUT side and power it on.
Wait until the DUT complete the initial attach.
Log Analysis
Following is the log snapshot that are involved in communication with NTN.
Test 3 : NTN with Simulated GEO and Commercial UE in NTN band
This test is with a commercial UE from Quectel: CC660D-LS
Device Info
The information of the specific device and firmware information that was used in this test is as follows :
Quectel CC660D-LS
Firmware version: Quectel_Ltd Quectel_CC660D-LS Revision: CC660DLSAAR01A02 |
Configuration
The configuration shown here is common configuration for all the subtests belonging to Test 1 and I will not show this configuration repeatedly for every subtest.
I have used enb-nbiot-ntn-geo-CC660D.cfg
I am using mme-ims.cfg and ue_db-ims.cfg as they are.
enb-nbiot-ntn-geo-CC660D.cfg is configured as follows.
Perform the Test
This is not the mandatory process.. but I did this to collect SIB message in the log for a few seconds at the beginning. I did bcch=1 and after a few seconds did bcch=0.
Now start trace logging.
Configure on DUT side and power it on.
AT+QGNSSINFO=43.295,5.373,20,0,100
+QGNSSINFO: 1
at+cgact=1,1 AT+QGNSSINFO=43.295,5.373,20,0,100
OK +QGNSSINFO: 0
at+cfun=1 OK
at+cgact=1,1
+CEREG: 1,"0002","01A2D101",9,0,0,"11100000","11100000" at+cgact=1,1
+IP: 192.168.2.2 |
Wait until the DUT complete the initial attach.
Log Analysis
Following is the log snapshot that are involved in communication with NTN.
RRC / NAS Signaling
SIB31 (LTE)
: This is SIB31 containing ephemeris
{
message c1: systemInformation-r13: {
criticalExtensions systemInformation-r13: {
sib-TypeAndInfo-r13 {
sib31-v1700: {
servingSatelliteInfo-r17 {
ephemerisInfo-r17 orbitalParameters: {
semiMajorAxis-r17 8394210402,
eccentricity-r17 0,
periapsis-r17 0,
longitude-r17 242097885,
inclination-r17 0,
anomaly-r17 177192
},
nta-CommonParameters-17 {
nta-Common-r17 7776350
},
ul-SyncValidityDuration-r17 s240,
k-Offset-r17 1023
}
}
}
}
}
}
FAQ
I am putting a list of frequently asked questions and answers that would help everybody.
[Q1] why we need channel simulator ?
[A1] It is necessary to simulate the constantly changing real time position of the satellite
[Q2] do we always need to use the channel simulator ?
[A2] Yes for MEO or LEO in which delay and doppler varies relatively in large scale. Maybe optional to GEO in which delay and doppler does not vary widely. (NOTE : You may use the internal channel simulator at the testing phase in quick and easy way, but you can also use an external satellite channel simulator as well).
[Q3] What is the maximum delay simulated by Amarisoft Channel Simulator ?
[A3] Up to several seconds. The maximum value will depend on the sample rate, the value is max_delay in s = 2.147e9 / (sample_rate in Hz). In NB-IoT, for example, the sample rate is usually 1.92 MHz, so the max_delay is around 1118 seconds.
[Q4] What is the minimum configurable altitude of a satellite ?
[A4] The 3GPP encoding for the semi-major axis has a minimum of 6500 km, so a minimum of 122(=6500-6378) km altitude, where 6378 is the radius of the earth
[Q5] For ue_position, ground_position, we allow the altitude with the range of -1000m to 20km, what is the reason to allow negative values ?
[A5] It is to configure altitude below sea level. (https://en.wikipedia.org/wiki/List_of_places_on_land_with_elevations_below_sea_level )