Instead of trying to estimate N_UE_TA_adj with a second degree polynomial, we introduce orbit propagation to calculate N_UE_TA_adj with higher accuracy. When we receive the satellite ephemeris data consisting of the satellite position vector and the satellite velocity vector, we calculate parameters for orbit propagation, assuming a circular orbit in the plane created by the satellite position vector and the satellite velocity vector. This is done in the function prepare_ue_sat_ta(). Every millisecond, we use these parameters together with the time since epoch to calculate the satellite position on that orbit and from this the reound-trip-time between UE and the satellite, what corresponds to N_UE_TA_adj. This is done in the function apply_ntn_timing_advance().
This directory contains the NFAPI code.
It comes in two parts:
1 - open-nFAPI
This is a clone of the github repository
(https://github.com/cisco/open-nFAPI,
commit b3bc579b1697eab829d5d8a2de59c93a61b88fa4).
The patch open-nfapi.oai.patch has then been applied.
2 - oai_integration
This is code written by David Price from Cisco to integrate
open-nFAPI into OpenAirInterface.