Submit manuscript...
eISSN: 2576-4500

Aeronautics and Aerospace Open Access Journal

Research Article Volume 7 Issue 2

Step-size influence on the time of processing for 4th order Runge-Kutta numerical integration to obtain GLONASS satellite coordinates

Loram Siqueira, João Francisco Galera Monico

São Paulo State University, Brazil

Correspondence: Loram Siqueira, Department of Cartography, São Paulo State University (Unesp), Brazil

Received: April 20, 2023 | Published: May 2, 2023

Citation: Siqueira L, Monico JFG. Step-size influence on the time of processing for 4th order Runge-Kutta numerical integration to obtain GLONASS satellite coordinates. Aeron Aero Open Access J. 2023;7(2):52-57. DOI: 10.15406/aaoaj.2023.07.00170

Download PDF

Abstract

The modernization of GNSS (Global Navigation Satellite System) with the inclusion of new constellations and improvements in the already available systems has been assessed with great interest over the last decade. The combination of different satellite constellations expands the possible applications, so the term multi-GNSS appeared to designate the use of these multiple navigation systems. On that topic, one important element is the quality of the broadcast messages made available by each system to determine the satellites’ coordinates that will be used to calculate the user’s position and how much this information can be trusted. When merging systems for multi-GNSS, the Russian constellation, GLONASS, is still an outsider when the combination of systems is discussed. After regaining its full constellation in 2012 some studies have been conducted on efforts to increase the knowledge about its functionality. This paper discusses the step size needed for the Runge-Kutta 4th order, indicated to be used on the ICD documentation, interpolation that gets the coordinates of the satellite, and impacts on computational processing time, which has not been previously addressed in the literature. Three days of broadcast ephemeris were processed and compared with IGS final products to determine the residual mean squared error for the local components. It was tested steps of 0.1, 1, 2, 10,30, 45, 60, and 120 seconds, and the step of 1 second was determined as the best one. With the analyzed ideal step-size, as a result of this paper, a Python 3.8 library was made available for users to include on their own projects.

Keywords: GLONASS, Runge-Kutta, broadcast message

Introduction

The emergence of GNSS (Global Navigation Satellite System) has brought about a revolutionary change in the field of positioning activities. The initial GNSS systems, namely, the Russian GLONASS (Global Navigation Satellite System) and the American GPS (Global Positioning System), were fully developed and implemented by 1995.1 Subsequently, two more systems were created, the BDS by China and Galileo by Europe, thereby providing a total of four operational GNSS systems presently available.2 Each GNSS system comprises three key components, namely, the ground, space, and user segments.3

GLONASS, a Global Navigation Satellite System, has been developed and deployed with three generations of satellites throughout its history. The first generation of satellites was launched in 1982, followed by the GLONASS-M satellites launched since 2003 and GLONASS-K introduced in 2011, according to Jerez.4 As of February 15th, 2023, the GLONASS system consists of 24 operational satellites and one undergoing the commissioning phase, as reported by the GLONASS Information and Analysis Center (https://www.glonass-iac.ru/en /).

Although GLONASS and GPS are both GNSS, they differ in their structures. GPS uses the latest realization of WGS84 (World Geodetic System 1984) as the reference frame, while GLONASS uses PZ90 (Parametry Zemli 1990). Despite the similar realization of both systems, such as the origin being earth's centre of mass, the Z-axis pointing to the Conventional Terrestrial Pole (CPT), the X-axis pointing to the terrestrial equator on the origin meridian, and the Y-axis completing the dextrogyre system, there are still some differences in their materialization and adopted ellipsoids. CDMA (Code Division Multiple Access) is used for the signal structure of GPS, while GLONASS still relies on FDMA (Frequency-division multiple access) for all its legacy satellites. However, in the GLONASS signal evolution plan, new CDMA signals have been made available to users as a complement to the legacy FDMA signals. The introduction of CDMA signals is expected to improve navigation accuracy, resistance to interference, and separation of open and authorized services. The first CDMA signal in the L3 band was made available since 2011, and additional signals will be added with each new generation of GLONASS satellites.5

A further contrast between GNSS systems pertains to the dissemination of the broadcast ephemeris, which is essential for satellite coordinate determination. Differently of GLONASS, all other GNSS systems provide ephemeris data through Keplerian elements and their perturbations. GLONASS, however, distributes ephemeris data via Cartesian elements that comprise the satellite's state, velocity, and acceleration vectors.5,6 The computation of GLONASS satellite coordinates was first addressed by Stewart and Tsakiri7 in a study that discussed orbital forces and provided a detailed explanation of the numerical integration method. The study analyzed the influence of time steps on the computation process and the degradation of accuracy for periods over those recommended by the ICD in 1998. However, due to the decreased number of satellites in the early 2000s (Figure 1), few studies were published on this topic during that time. Chao and Gick8 analyzed the long-term weather effects on the system's eccentricity and proposed mitigation strategies. Most of the studies conducted during this time focused on the combination of GPS and GLONASS in various positioning techniques.9,10

Figure 1 GLONASS satellites in constellation through the years.
Source: Adapted from Jerez et al.,1 and Russian Space Systems.6

Following the restoration of a complete constellation in 2011, a new wave of research on GLONASS emerged. Statella et al.,11 conducted a study using a short period of data to determine the accuracy of the ephemeris, obtaining a mean discrepancy of 6.53 meters. Maciuk12 examined three approaches of the Runge-Kutta method (4th, 5th, Fehlberg 4th and 5th order) for solving satellite motion. Zhang et al.,13 analyzed one week's data of all healthy orbiting satellites and identified significant periodic variations in the errors. Heng14 investigated anomalies and User Range Error (URE) accuracy at that time and observed that the performance of GLONASS did not match that of GPS in terms of URE and ephemeris accuracy. Nonetheless, the GLONASS Signal-In-Space (SIS) did exhibit an improving trend, particularly in terms of constellation strength, anomaly probability, and the occurrence of simultaneous multiple anomalies.

This study aims to investigate the impact of step size on the accuracy of calculated coordinates using the 4th-order Runge-Kutta interpolation method, as well as its effects on the processing time. To the best of our knowledge, this topic has not been previously addressed in the literature. In conjunction with the findings of this research, a Python 3.8 library containing the algorithms for calculating GLONASS satellite coordinates will be made available. The structure of this paper is outlined as follows: In the chapter 2, details of the GNSS ephemeris are provided. Chapter 3 presents the formulation and current state of the 4th-order Runge-Kutta method. The methodology and results are discussed in chapter 4. Finally, in chapter 5, the final conclusions and remarks are presented.

GNNSS Ephemerides

In the realm of satellite navigation systems, the transmission of broadcast coordinates information holds utmost significance as it allows the users to compute the location and speed of the satellites. The quality of this data bears great importance in achieving precise navigation outcomes, as the satellite coordinates are held constant in the data processing procedure.3,15,16 In satellite navigation systems, broadcast coordinates information is essential for determining the position and velocity of GNSS satellites. Both ephemeris and almanac provide this information, along with satellite clock information such as offset, drift, and drift rate. The navigation message format and contents are specified in interface control documents (ICD), which also provide instructions for the use of this information. However, different constellations may use different reference systems and physical constants, and these differences can have an impact on position accuracy. Although the differences between the latest reference system realizations are generally negligible compared to broadcast ephemeris precision, physical constants such as Earth's gravitational coefficient (GM) must be used as defined by the ICD to avoid linearly growing position errors over time. Table 1 from Hugentobler and Montenbruck15 presents the values for GM and Earth rotation velocity (ωe) for various GNSS systems.

System

GM (m3/s2)

ωe (rad/s)

BDS

398600.4418 x 109

7.2921150 x 10-5

Galileo

398600.4418 x 109

7.2921151467 x 10-5

GLONASS

398600.4418 x 109

7.2921150 x 10-5

GPS

398600.5 x109

7.2921151467 x 10-5

QZSS

398600.5 x109

7.2921151467 x 10-5

Table 1 GNSS physical constants values
Source: Hungentobler, Montenbruck.15

Ephemeris models

In the context of satellite navigation systems, the user receiver is responsible for computing the coordinates of the GNSS satellites by utilizing the information broadcast in the navigation messages. The approach adopted for accounting satellite orbit perturbations differs between GPS/Galileo/BeiDou and GLONASS systems, which consequently results in different contents of their navigation messages. The GNSS satellites, namely GPS, Galileo, and BeiDou, follow a Keplerian orbit in the first approximation, where perturbations are considered as temporal variations in the orbital elements. In contrast, the GLONASS satellite system broadcasts initial cartesian coordinates of position and velocity, along with the vector components of moon and solar gravitational acceleration perturbations, as part of their navigation message.

d dt ( r v )= ( v a ). MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape WaaSaaa8aabaacbmqcLbsapeGaa8hzaaGcpaqaaKqzGeWdbiaa=rga caWF0baaaOWaaeWaa8aabaqcLbsafaqabeGabaaakeaajugib8qaca WFYbaak8aabaqcLbsapeGaa8NDaaaaaOGaayjkaiaawMcaaKqzGeGa eyypa0JaaiiOaOWaaeWaa8aabaqcLbsafaqabeGabaaakeaajugib8 qacaWF2baak8aabaqcLbsapeGaa8xyaaaaaOGaayjkaiaawMcaaKqz GeGaaiOlaaaa@4A7F@   (1)

In accordance with the guidelines outlined in the GLONASS ICD document, the computation of GLONASS satellite coordinates is mandated. Table 2, as presented in Hugentobler and Montenbruck's15 work, provides a detailed list of the elements that are included in the satellite's navigation message. GLONASS utilizes the PZ-90 coordinate system to broadcast the initial position and velocity of the satellites through the navigation message. This message comprises x, y, and z coordinates along with corresponding velocities Vx, Vy, and Vz. In addition, it contains acceleration components Ax, Ay, and Az, which are the luni-solar acceleration projections on the axes of the ECEF Greenwich coordinate system. The gravitational forces of the moon and sun acting on the GLONASS satellites are the cause of these accelerations. Moreover, the GLONASS ephemeris involves a clock correction for a first-order polynomial. The clock offset is represented by TauM, whereas GammaN denotes the relative frequency offset.

Parameter

Description

x, y, and z

Satellite position (Km)

Vx, Vy, and Vz

Velocity (Km/sec)

Ax, Ay, and Az

Satellite lunar and solar perturbations (Km/sec2)

-Tau N

SV clock bias (sec)

+Gamma N

SV relative frequency bias

Tb

Message frame time in seconds of the UTC week

Table 2 Parameters of Cartesian broadcast ephemeris
Source: Hungentobler, Montenbruck.15

In the context of computing GLONASS satellite coordinates, the initial conditions that are conveyed in the navigation message are expressed in the Earth-centered, Earth-fixed (ECEF) Greenwich coordinate system PZ-90. To properly integrate these coordinates, they must first be transformed to an absolute, or inertial, coordinate system at a specified epoch te (time of ephemeris), using the transformations specified in the GLONASS Interface Control Document (ICD) (GLONASS ICD, 2016). The acceleration components (Ax, Ay, and Az) represent the projections of lunisolar acceleration onto the axes of the ECEF Greenwich coordinate system. These accelerations must also be transformed into the inertial system to properly account for their effects. To avoid the need for explicit reference system transformations, the equation of motion is formulated in the rotating, Earth-fixed reference frame, incorporating centrifugal and Coriolis terms in the modeled acceleration (as shown in Equation 12).15

( A x A y A z )= GM r r 3 3 2 J 2 GMa r 5 ( x y z )( x-5x z 2 r 2   y-5y z 2 r 2 3z-5 z 3 r 2 )+  ω 2 ( x y 0 )+ 2ω( +Vy -Vx 0 ), MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape WaaeWaa8aabaqcLbsafaqabeWabaaakeaaieGajugib8qacaWFbbGc paWaaSbaaSqaaKqzGeWdbiaa=HhaaSWdaeqaaaGcbaqcLbsapeGaa8 xqaOWdamaaBaaaleaajugib8qacaWF5baal8aabeaaaOqaaKqzGeWd biaa=feak8aadaWgaaWcbaqcLbsapeGaa8NEaaWcpaqabaaaaaGcpe GaayjkaiaawMcaaKqzGeGaeyypa0JaaiiOaiabgkHiTiaa=DeacaWF nbGcpaWaa8HaaeaapeWaaSaaa8aabaqcLbsapeGaa8NCaaGcpaqaaK qzGeWdbiaa=jhak8aadaahaaWcbeqaaKqzadWdbiaaiodaaaaaaaGc paGaay51GaqcLbsapeGaeyOeI0IcdaWcaaWdaeaapeWaaSaaa8aaba qcLbsapeGaaG4maaGcpaqaaKqzGeWdbiaaikdaaaGaa8NsaSWdamaa BaaabaqcLbmapeGaaGOmaaWcpaqabaqcLbsapeGaa83raiaa=1eaca WFHbaak8aabaqcLbsapeGaa8NCaOWdamaaCaaaleqabaqcLbmapeGa aGynaaaaaaGcdaqadaWdaeaajugibuaabeqadeaaaOqaaKqzGeWdbi aadIhaaOWdaeaajugib8qacaWG5baak8aabaqcLbsapeGaamOEaaaa aOGaayjkaiaawMcaamaabmaapaqaaKqzGeqbaeqabmqaaaGcbaWdbm aalaaapaqaaKqzGeWdbiaadIhacaGGTaGaaGynaiaadIhacaWG6bGc paWaaWbaaSqabeaajugWa8qacaaIYaaaaaGcpaqaaKqzGeWdbiaadk hal8aadaahaaqabeaajugWa8qacaaIYaaaaaaajugibiaacckaaOWd aeaapeWaaSaaa8aabaqcLbsapeGaamyEaiaac2cacaaI1aGaamyEai aadQhak8aadaahaaWcbeqaaKqzadWdbiaaikdaaaaak8aabaqcLbsa peGaamOCaSWdamaaCaaabeqaaKqzadWdbiaaikdaaaaaaaGcpaqaa8 qadaWcaaWdaeaajugib8qacaaIZaGaamOEaiaac2cacaaI1aGaamOE aOWdamaaCaaaleqabaqcLbmapeGaaG4maaaaaOWdaeaajugib8qaca WGYbWcpaWaaWbaaeqabaqcLbmapeGaaGOmaaaaaaaaaaGccaGLOaGa ayzkaaqcLbsacqGHRaWkcaGGGcGaeqyYdCNcpaWaaWbaaSqabeaaju gWa8qacaaIYaaaaOWaaeWaa8aabaqcLbsafaqabeWabaaakeaajugi b8qacaWG4baak8aabaqcLbsapeGaamyEaaGcpaqaaKqzGeWdbiaaic daaaaakiaawIcacaGLPaaajugibiabgUcaRiaacckacaaIYaGaeqyY dCNcdaqadaWdaeaajugibuaabeqadeaaaOqaaKqzGeWdbiabgUcaRi aadAfacaWG5baak8aabaqcLbsapeGaaiylaiaadAfacaWG4baak8aa baqcLbsapeGaaGimaaaaaOGaayjkaiaawMcaaKqzGeGaaiilaaaa@AB31@   (2)

In Eq. 2, a is the semi-major (equatorial) axis of the PZ-90 Earth’s ellipsoid equals to 6378136 m, and J2 is the second degree zonal coefficient of normal potential equals to 1082625.75 106. The initial conditions for simplified algorithm integration are the coordinates x = x( tb ), y = y( tb ), z = z( tb ) MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape GaamiEaiaabccacqGH9aqpcaqGGaGaamiEa8aadaqadaqaa8qacaWG 0bGaamOyaaWdaiaawIcacaGLPaaapeGaaiilaiaabccacaWG5bGaae iiaiabg2da9iaabccacaWG5bWdamaabmaabaWdbiaadshacaWGIbaa paGaayjkaiaawMcaa8qacaGGSaGaaeiiaiaadQhacaqGGaGaeyypa0 JaaeiiaiaadQhapaWaaeWaaeaapeGaamiDaiaadkgaa8aacaGLOaGa ayzkaaaaaa@5191@ , velocity vector components Vx=Vx( tb ), Vy=Vy( tb ), MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape GaamOvaiaadIhacqGH9aqpcaWGwbGaamiEa8aadaqadaqaa8qacaWG 0bGaamOyaaWdaiaawIcacaGLPaaapeGaaiilaiaabccacaWGwbGaam yEaiabg2da9iaadAfacaWG5bWdamaabmaabaWdbiaadshacaWGIbaa paGaayjkaiaawMcaa8qacaGGSaaaaa@49ED@ and Vz=Vz( tb ) MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape GaamOvaiaadQhacqGH9aqpcaWGwbGaamOEa8aadaqadaqaa8qacaWG 0bGaamOyaaWdaiaawIcacaGLPaaaaaa@3F7F@ and perturbing accelerations Ax, Ay and Az for the SV’s center of mass at the instant tb is transmitted within navigation message data. Perturbing accelerations are considered constants at an interval of tb ±15 min. Numeric integration can be executed using for example the Runge-Kutta fourth-order method.17

Runge-kutta method

Runge-Kutta is a numerical technique used to solve an ordinary differential equation. Starting from initial values y0 in a time t0 a simple approximation can be calculated for y in a later time t0+h using a first-order Taylor expansion:

y( t 0 +h )  y 0 +h y ˙ 0 = y 0 +hf( t 0 , y 0 ). MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaGqadabaaaaaaa aapeGaa8xEamaabmaapaqaa8qacaWF0bWdamaaBaaaleaapeGaaGim aaWdaeqaaOWdbiabgUcaRiaa=HgaaiaawIcacaGLPaaacqGHijYUca GGGcGaa8xEa8aadaWgaaWcbaWdbiaaicdaa8aabeaak8qacqGHRaWk caWFObGab8xEa8aagaGaamaaBaaaleaapeGaaGimaaWdaeqaaOWdbi abg2da9iaa=LhapaWaaSbaaSqaa8qacaaIWaaapaqabaGcpeGaey4k aSIaa8hAaiaa=zgadaqadaWdaeaapeGaa8hDa8aadaWgaaWcbaWdbi aaicdaa8aabeaak8qacaGGSaGaa8xEa8aadaWgaaWcbaWdbiaaicda a8aabeaaaOWdbiaawIcacaGLPaaacaGGUaaaaa@53F9@   (3)

Being this referred to as an Euler Step. From an initial point (t0, y0) and moving with a time-step of h along the tangent to the graph of y (Figure 2). Following this, it is possible to obtain approximate values η1 of the solution at distinct times.17

Figure 2 Approximation solution of a differential equation using Euler steps of size h.
Source: Montenbruck, Gill.17

The step size needs to be carefully chosen so the values will follow the curve over several steps and a better approximation. The general notation is given by:

y( t 0 +h )  y 0 +hΦ=η( t 0 +h ). MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaKqzGeaeaaaaaa aaa8qacaWG5bGcdaqadaWdaeaajugib8qacaWG0bGcpaWaaSbaaSqa aOWaaSbaaWqaaKqzadWdbiaaicdaaWWdaeqaaaWcbeaajugib8qacq GHRaWkcaWGObaakiaawIcacaGLPaaajugibiabgIKi7kaacckacaWG 5bGcpaWaaSbaaSqaaOWaaSbaaWqaaKqzadWdbiaaicdaaWWdaeqaaa Wcbeaajugib8qacqGHRaWkcaWGObGaeuOPdyKaeyypa0Jaeq4TdGMc daqadaWdaeaajugib8qacaWG0bGcpaWaaSbaaSqaaKqzadWdbiaaic daaSWdaeqaaKqzGeWdbiabgUcaRiaadIgaaOGaayjkaiaawMcaaKqz GeGaaiOlaaaa@57E7@   (4)

For the approximate solution η( t 0 +h ), MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape Gaeq4TdG2aaeWaa8aabaWdbiaadshapaWaaSbaaSqaa8qacaaIWaaa paqabaGcpeGaey4kaSIaamiAaaGaayjkaiaawMcaaiaacYcaaaa@3F29@ the increment function ) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaceaaq+aeaaaaaa aaa8qacaqGOaGaaeOPdiaacMcaaaa@3A55@ must closely approximate the slope of the secant through ( t 0 , y 0 ) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaceaaq+aeaaaaaa aaa8qacaGGOaGaamiDa8aadaWgaaWcbaWdbiaaicdaa8aabeaak8qa caGGSaGaamyEa8aadaWgaaWcbaWdbiaaicdaa8aabeaakiaacMcaaa a@3E1D@ and ( t 0 +h, y 0 ( t 0 +h )) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaceaaq+aeaaaaaa aaa8qacaGGOaGaamiDa8aadaWgaaWcbaWdbiaaicdaa8aabeaak8qa cqGHRaWkcaWGObGaaiilaiaadMhapaWaaSbaaSqaa8qacaaIWaaapa qabaGcpeWaaeWaa8aabaWdbiaadshapaWaaSbaaSqaa8qacaaIWaaa paqabaGcpeGaey4kaSIaamiAaaGaayjkaiaawMcaaiaacMcaaaa@459A@ which may not follow the slope of the tanged used in the Euler step. This problem was solved by Carl Runge and Wilheim Kutta which considers slopes at multiple points inside the integration step. In the 4th order Runge-Kutta, the increment function is calculated as the weighted mean is:

Φ RK4 = 1 6 ( k 1 +2 k 2 +2 k 3 + k 4 ), MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape GaaCOPd8aadaWgaaWcbaacbmWdbiaa=jfacaWFlbGaaGinaaWdaeqa aOWdbiabg2da9maalaaapaqaa8qacaaIXaaapaqaa8qacaaI2aaaam aabmaapaqaa8qacaWFRbWdamaaBaaaleaapeGaaGymaaWdaeqaaOWd biabgUcaRiaaikdacaWFRbWdamaaBaaaleaapeGaaGOmaaWdaeqaaO WdbiabgUcaRiaaikdacaWFRbWdamaaBaaaleaapeGaaG4maaWdaeqa aOWdbiabgUcaRiaa=TgapaWaaSbaaSqaa8qacaaI0aaapaqabaaak8 qacaGLOaGaayzkaaGaaiilaaaa@4CF5@   (5)

and the four slopes are given as:

k 1 =f( t 0 , y 0 ), MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaGqadabaaaaaaa aapeGaa83Aa8aadaWgaaWcbaWdbiaaigdaa8aabeaak8qacqGH9aqp caWFMbWaaeWaa8aabaWdbiaa=rhapaWaaSbaaSqaa8qacaaIWaaapa qabaGcpeGaaiilaiaa=LhapaWaaSbaaSqaa8qacaaIWaaapaqabaaa k8qacaGLOaGaayzkaaGaaiilaaaa@4296@   (6)

k 2 =f( t 0 + h 2 , y 0 + h k 1 2 ), MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaGqadabaaaaaaa aapeGaa83Aa8aadaWgaaWcbaWdbiaaikdaa8aabeaak8qacqGH9aqp caWFMbWaaeWaa8aabaWdbiaa=rhapaWaaSbaaSqaa8qacaaIWaaapa qabaGcpeGaey4kaSYaaSaaa8aabaWdbiaa=Hgaa8aabaWdbiaaikda aaGaaiilaiaa=LhapaWaaSbaaSqaa8qacaaIWaaapaqabaGcpeGaey 4kaSYaaSaaa8aabaWdbiaa=HgacaWFRbWdamaaBaaaleaapeGaaGym aaWdaeqaaaGcbaWdbiaaikdaaaaacaGLOaGaayzkaaGaaiilaaaa@4A3D@   (7)

k 3 =f( t 0 + h 2 , y 0 + h k 2 2 ), MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaGqadabaaaaaaa aapeGaa83Aa8aadaWgaaWcbaWdbiaaiodaa8aabeaak8qacqGH9aqp caWFMbWaaeWaa8aabaWdbiaa=rhapaWaaSbaaSqaa8qacaaIWaaapa qabaGcpeGaey4kaSYaaSaaa8aabaWdbiaa=Hgaa8aabaWdbiaaikda aaGaaiilaiaa=LhapaWaaSbaaSqaa8qacaaIWaaapaqabaGcpeGaey 4kaSYaaSaaa8aabaWdbiaa=HgacaWFRbWdamaaBaaaleaapeGaaGOm aaWdaeqaaaGcbaWdbiaaikdaaaaacaGLOaGaayzkaaGaaiilaaaa@4A3F@   (8)

k 4 =f( t 0 +h , y 0 +h k 3 ). MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaGqadabaaaaaaa aapeGaa83Aa8aadaWgaaWcbaWdbiaaisdaa8aabeaak8qacqGH9aqp caWFMbWaaeWaa8aabaWdbiaa=rhapaWaaSbaaSqaa8qacaaIWaaapa qabaGcpeGaey4kaSIaa8hAaiaacckacaGGSaGaa8xEa8aadaWgaaWc baWdbiaaicdaa8aabeaak8qacqGHRaWkcaWFObGaa83Aa8aadaWgaa WcbaWdbiaaiodaa8aabeaaaOWdbiaawIcacaGLPaaacaGGUaaaaa@4972@   (9)

This formula is used to approximate the solution up to terms of order h4, if y(t) is sufficiently smooth and differentiable. Its local truncation error is secured by a term of order h5 (equations 19).17

e RK4 = | y( t 0 +h )-η( t 0 +h )   | h 5 MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaKqzGeaeaaaaaa aaa8qacaWGLbGcpaWaaSbaaSqaaKqzadWdbiaadkfacaWGlbGaaGin aaWcpaqabaqcLbsapeGaeyypa0JaaiiOaOWaaqWaa8aabaqcLbsape GaamyEaOWaaeWaa8aabaqcLbsapeGaamiDaOWdamaaBaaaleaajugW a8qacaaIWaaal8aabeaajugib8qacqGHRaWkcaWGObaakiaawIcaca GLPaaajugibiaac2cacqaH3oaAkmaabmaapaqaaKqzGeWdbiaadsha k8aadaWgaaWcbaqcLbmapeGaaGimaaWcpaqabaqcLbsapeGaey4kaS IaamiAaaGccaGLOaGaayzkaaqcLbsacaGGGcGaaiiOaaGccaGLhWUa ayjcSdqcLbsacqGHKjYOcaWGObGcpaWaaWbaaSqabeaajugWa8qaca aI1aaaaaaa@5F9E@   (10)

Equations to obtain satellite coordinates from the Caterian broadcast ephemeris

This section presents the equations needed for the implementation of the Runge-Kutta method. Following 6 first-order differential equations are needed to compute the satellite positions at any time:

dx dt =  v x ( t ) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape WaaSaaa8aabaacbmWdbiaa=rgacaWF4baapaqaa8qacaWFKbGaa8hD aaaacqGH9aqpcaGGGcGaa8NDa8aadaWgaaWcbaWdbiaa=Hhaa8aabe aak8qadaqadaWdaeaapeGaa8hDaaGaayjkaiaawMcaaaaa@426C@   (11)

dy dt =  v y ( t ) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape WaaSaaa8aabaacbmWdbiaa=rgacaWF5baapaqaa8qacaWFKbGaa8hD aaaacqGH9aqpcaGGGcGaa8NDa8aadaWgaaWcbaWdbiaa=Lhaa8aabe aak8qadaqadaWdaeaapeGaa8hDaaGaayjkaiaawMcaaaaa@426E@   (12)

dz dt =  v z ( t ) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape WaaSaaa8aabaacbmWdbiaa=rgacaWF6baapaqaa8qacaWFKbGaa8hD aaaacqGH9aqpcaGGGcGaa8NDa8aadaWgaaWcbaWdbiaa=Phaa8aabe aak8qadaqadaWdaeaapeGaa8hDaaGaayjkaiaawMcaaaaa@4270@   (13)

d v x dt = - μx r 3 + 3 2 C 20  μ a e 2 x r 5 ( 1- 5 z 2 r 2 )+  w e 2 x+2 w e dy dt +  x ¨ MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape WaaSaaa8aabaqcLbsapeGaamizaiaadAhak8aadaWgaaWcbaqcLbma peGaamiEaaWcpaqabaaakeaajugib8qacaWGKbGaamiDaaaacqGH9a qpcaGGGcGaaiylaOWaaSaaa8aabaqcLbsapeGaeqiVd0MaamiEaaGc paqaaKqzGeWdbiaadkhak8aadaahaaWcbeqaaKqzadWdbiaaiodaaa aaaKqzGeGaey4kaSIcdaWcaaWdaeaajugib8qacaaIZaaak8aabaqc LbsapeGaaGOmaaaacaWGdbGcpaWaaSbaaSqaaKqzadWdbiaaikdaca aIWaqcLbsacaGGGcaal8aabeaak8qadaWcaaWdaeaajugib8qacqaH 8oqBcaWGHbWcpaWaa0baaeaajugWa8qacaWGLbaal8aabaqcLbmape GaaGOmaaaajugibiaadIhaaOWdaeaajugib8qacaWGYbGcpaWaaWba aSqabeaajugWa8qacaaI1aaaaaaakmaabmaapaqaaKqzGeWdbiaaig dacaGGTaGcdaWcaaWdaeaajugib8qacaaI1aGaamOEaOWdamaaCaaa leqabaqcLbmapeGaaGOmaaaaaOWdaeaajugib8qacaWGYbGcpaWaaW baaSqabeaajugWa8qacaaIYaaaaaaaaOGaayjkaiaawMcaaKqzGeGa ey4kaSIaaiiOaiaadEhal8aadaqhaaqaaKqzadWdbiaadwgaaSWdae aajugWa8qacaaIYaaaaKqzGeGaamiEaiabgUcaRiaaikdacaWG3bGc paWaaSbaaSqaaKqzadWdbiaadwgaaSWdaeqaaOWdbmaalaaapaqaaK qzGeWdbiaadsgacaWG5baak8aabaqcLbsapeGaamizaiaadshaaaGa ey4kaSIaaiiOaiqadIhagaWaaaaa@8425@   (14)

d v y dt = - μy r 3 + 3 2 C 20  μ a e 2 y r 5 ( 1- 5 z 2 r 2 )+  w e 2 y+2 w e dx dt +  y ¨ MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape WaaSaaa8aabaqcLbsapeGaamizaiaadAhak8aadaWgaaWcbaqcLbma peGaamyEaaWcpaqabaaakeaajugib8qacaWGKbGaamiDaaaacqGH9a qpcaGGGcGaaiylaOWaaSaaa8aabaqcLbsapeGaeqiVd0MaamyEaaGc paqaaKqzGeWdbiaadkhak8aadaahaaWcbeqaaKqzadWdbiaaiodaaa aaaKqzGeGaey4kaSIcdaWcaaWdaeaajugib8qacaaIZaaak8aabaqc LbsapeGaaGOmaaaacaWGdbGcpaWaaSbaaSqaaKqzadWdbiaaikdaca aIWaqcLbsacaGGGcaal8aabeaak8qadaWcaaWdaeaajugib8qacqaH 8oqBcaWGHbWcpaWaa0baaeaajugWa8qacaWGLbaal8aabaqcLbmape GaaGOmaaaajugibiaadMhaaOWdaeaajugib8qacaWGYbGcpaWaaWba aSqabeaajugWa8qacaaI1aaaaaaakmaabmaapaqaaKqzGeWdbiaaig dacaGGTaGcdaWcaaWdaeaajugib8qacaaI1aGaamOEaOWdamaaCaaa leqabaqcLbmapeGaaGOmaaaaaOWdaeaajugib8qacaWGYbGcpaWaaW baaSqabeaajugWa8qacaaIYaaaaaaaaOGaayjkaiaawMcaaKqzGeGa ey4kaSIaaiiOaiaadEhal8aadaqhaaqaaKqzadWdbiaadwgaaSWdae aajugWa8qacaaIYaaaaKqzGeGaamyEaiabgUcaRiaaikdacaWG3bGc paWaaSbaaSqaaKqzadWdbiaadwgaaSWdaeqaaOWdbmaalaaapaqaaK qzGeWdbiaadsgacaWG4baak8aabaqcLbsapeGaamizaiaadshaaaGa ey4kaSIaaiiOaiqadMhagaWaaaaa@8429@   (15)

d v z dt  = - μz r 3 + 3 2 C 20  μ a e 2 z r 5 ( 3- 5 z 2 r 2 )+  z ¨ MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape WaaSaaa8aabaqcLbsapeGaamizaiaadAhak8aadaWgaaWcbaqcLbma peGaamOEaaWcpaqabaaakeaajugib8qacaWGKbGaamiDaaaacaGGGc Gaeyypa0JaaiiOaiaac2cakmaalaaapaqaaKqzGeWdbiabeY7aTjaa dQhaaOWdaeaajugib8qacaWGYbGcpaWaaWbaaSqabeaajugWa8qaca aIZaaaaaaajugibiabgUcaROWaaSaaa8aabaqcLbsapeGaaG4maaGc paqaaKqzGeWdbiaaikdaaaGaam4qaOWdamaaBaaaleaajugWa8qaca aIYaGaaGimaKqzGeGaaiiOaaWcpaqabaGcpeWaaSaaa8aabaqcLbsa peGaeqiVd0MaamyyaSWdamaaDaaabaqcLbmapeGaamyzaaWcpaqaaK qzadWdbiaaikdaaaqcLbsacaWG6baak8aabaqcLbsapeGaamOCaOWd amaaCaaaleqabaqcLbmapeGaaGynaaaaaaGcdaqadaWdaeaajugib8 qacaaIZaGaaiylaOWaaSaaa8aabaqcLbsapeGaaGynaiaadQhak8aa daahaaWcbeqaaKqzadWdbiaaikdaaaaak8aabaqcLbsapeGaamOCaO WdamaaCaaaleqabaqcLbmapeGaaGOmaaaaaaaakiaawIcacaGLPaaa jugibiabgUcaRiaacckaceWG6bGbamaaaaa@71D3@   (16)

Detailed algorithm implementation steps in Python 3 and the library to perform these calculations can be found in https://github.com/loram93/GLONASS_PAPER. The repository contains the main file, the library, and files for day 100 from 2020 as an example of naming and data structure. The first values (w10, w20, w30, w40, w50, and w60) are obtained from ephemeris considering Earth rotation during the time of signal travel from the satellite to the user. For each time interval, that will be determined (i.e. 1ms, 10ms, 1 sec, etc.), between desired time and tb.

Methodology

It was processed three days of data on 2020 (DOY 100 to 103) varying the steps from 0.01 up to 120 seconds. The computed used was a laptop Dell Inspiron 15 7000 series with an Intel I5 processor and 4GB of RAM. From the daily navigation message files, the coordinates were obtained to match the final products timesteps (15 minutes). The ECEF (Earth-Centered, Earth-Fixed) estimated and final coordinates were transformed into a local reference frame according to the equation in Montenbruck et al.,18 For GLONASS, according to the ICD documentation, it is not necessary to move the coordinates from the Center of Mass (CoM) to the Center of Phase (CoP) as the coordinates acquired from the navigation message are already located on the CoM. Figure 3 shows the coordinates on ECEF for R01.

Figure 3 R01 coordinates for DOY 100, 101, and 102.

Data sources

Broadcast ephemerides

GLONASS broadcast navigation message data are publicly available at International GNSS Service (IGS) through the MGEX (Multi-GNSS Experiment). The MGEX multi-GNSS broadcast ephemerides product has been generated by Technische Universita¨t München (TUM) and DLR in a joint effort since 1 January 2013. Real-time streams of currently 38 selected MGEX stations to provide the basis for the generation of daily files with the prefix brdm. In the beginning, only GPS, GLONASS, and QZSS were covered. Subsequently, additional GNSSs were included: BeiDou since 11 February 2013, SBAS since 3 March 2013, Galileo since 12 March 2013, and IRNSS since 1 January 2016.19

In addition to the broadcast ephemeris files discussed so far, BKG provides a variety of real-time streams with multi-GNSS BCEs at their Ntrip caster. These comprise distinct streams for each constellation as well as a combined stream with GPS, GLONASS, Galileo, BeiDou, QZSS, and SBAS ephemerides. The BKG ephemeris streams provide complete and timely orbit and clock information for all GNSS satellites in a standardized message format and can serve a variety of applications from real-time positioning services to assisted GNSS.

Precise ephemeris

Currently, six Analise Centers (ACs) generate different sets of final orbits for MGEX:

  1. Centre National d’Etudes Spatiales (CNES), Collecte Localisation Satellites (CLS), Groupe de
  2. Recherche de Géodésie Spatiale (GRGS)
  3. Center for Orbit Determination in Europe (CODE)
  4. GeoForschungsZentrum Potsdam (GFZ)
  5. Information and Analysis Center (IAC)
  6. Shanghai Observatory (SHAO)
  7. Wuhan University

First orbit and clock products for selected new constellations were provided by the MGEX Analysis Centers (ACs) in 2012 (GPS week 1680). Since then, an increasing number of multi-constellation products covering up to five global or regional navigation satellite systems have become available.

Results

The outcomes of the analysis period for PR01 in terms of the radial, along-track, cross-track, and three-dimensional parameters are presented in Figure 4. The increments considered for the analysis were 1, 2, 10, 30, 45, 60, and 120 seconds. A comparative evaluation of the outcomes reveals that the increments larger than 1 second tend to manifest higher residuals, primarily in the radial component.

Figure 4 Residuals for R01 on the local components (along-track, cross-track and radial) and on the three dimensional. (a) 1 second (b) 2 seconds (c) 10 seconds (d) 30 seconds (e) 45 seconds (f) 60 seconds (g) 120 seconds time step.

The graphics also shows a zig-zag pattern where the residuals for the epochs closer to tb (time of reference) are smaller than the ones on the boundaries of the period (+/- 15 minutes). This happens due to the degradation of the cartesian elements transmitted to the satellites used in the integration process.

To understand how much the time step may degrade the accuracy of ephemeris the three days were processed, and all available, healthy satellites were considered. The time steps were 0.1, 1, 5, 10, 30, 45, 60, and 120 seconds. Considering all the available epochs it was calculated the RMSE (Root-Mean Square Error) which is used as a measure of the differences between values predicted, coordinates from the broadcast message, and the reference value; the precise coordinates from IGS. For the formulation (equation 17)is the reference observation,the estimated value and N the total number of observations.

RMSE= i=1 N ( x i x ^ i ) 2 N MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqkY=Mj0xXdbba91rFfpec8Eeeu0xXdbba9frFj0=OqFf ea0dXdd9vqaq=JfrVkFHe9pgea0dXdar=Jb9hs0dXdbPYxe9vr0=vr 0=vqpWqaaeaabiGaciaacaqabeaadaqaaqaaaOqaaabaaaaaaaaape GaaCOuaiaah2eacaWHtbGaaCyraiabg2da9maakaaapaqaa8qadaWc aaWdaeaapeWaaubmaeqal8aabaacbmWdbiaa=LgacqGH9aqpcaaIXa aapaqaa8qacaWFobaan8aabaWdbiabggHiLdaakmaabmaapaqaa8qa caWF4bWdamaaBaaaleaapeGaa8xAaaWdaeqaaOWdbiabgkHiTiqa=H hapaGbaKaadaWgaaWcbaWdbiaa=Lgaa8aabeaaaOWdbiaawIcacaGL PaaapaWaaWbaaSqabeaapeGaaGOmaaaaaOWdaeaapeGaa8NtaaaaaS qabaaaaa@4B42@   (17)

The results are presented in Figure 5. 24 satellites are part of these results. For 0.1 and 1 second the results are quite similar indicating that decreasing the step size to values under 1 second will not deliver any significant improvement on the accuracy. For values above 2 seconds, the integration process starts losing accuracy. Steps over 10 seconds will have 3D RMSE larger than 6 meters, which is not expected according to the ICD.

Figure 5 RMSE results for GLONASS satellites for three days (DOYS 100, 101, and 102 for the year 2020) varying the step size.

According to the results, to get the best accuracy possible on the integration process, a step size smaller than 1 second should be used. Figure 6 shows how decreasing this value may impact the processing time, due to the fact that a four-order interpolation process, such as Runge-Kutta, may be computational expeditious. The graph shows that a change between 1 to 0.1 seconds may increase the time of processing 6 times without any improvement on the accuracy of the coordinates acquired.

Figure 6 Elapsed time for the data processing presented in Figure 5 in minutes.

Conclusion

GLONASS broadcast ephemerides are transmitted in a different format when compared to other GNSS constellations. They are provided as satellite state vectors in cartesian elements and are updated every 30 min and must be numerically integrated to give satellite positions. In this paper it was presented the influence of the step size in the Runge-Kutta 4th interpolation on the accuracy and the computational time of processing. Stewart and Tsakiri7 showed initial results about GLONASS broadcast coordinates computation and recommended values of up to 30 seconds according to the available satellites and accuracy at the time. Since then, no other studies have been conducted about this topic and no study was found where the time span to calculate the coordinated were analyzed, which is of great importance for real-time applications. The fourth order Runge-Kutta method of numerical integration includes approximations and adds further errors to GLONASS satellite coordinates calculation. Choice of integration step length should be as short as possible to minimize integration errors but long enough to reduce the processing time span. Figure 4 presents the difference between the calculated coordinates and final products for satellite R01 for steps starting with 1 s. It is possible to observe that as the step increases the residuals will also increase significantly. From the tree components, the radial is the most affected and will directly influence the final accuracy. A full system assessment was made considering the healthy satellites that weren’t considered as a fault.20 A total of 22 satellites were analyzed with 6336 epochs with steps sizes of 0.1s, 1s, 5s, 10s, 30s, 45s, 60s, and 120s.

Figure 5 shows the RMSE on the local coordinates and three-dimensional component. One can conclude that values smaller than 1 second does not improve the accuracy of the interpolation and any value larger than 30 seconds returns values with more than 7m, given as expected by the GLONASS ICD.6 Following the values in Figures 5&6 presents the time span to conduct the interpolation. Values smaller than 1s will keep the same accuracy, however, it will greatly increase the time of processing. For 0.1s the time of processing will increase 6 times and no gain in accuracy was found. Meanwhile, for 2 seconds the time decreased but the 3D RMSE increased from 4.14 to 4.98 m. So, a time step of 1sec appears to be a compromise between good accuracy and time span.

A functional library in Python 3 was made available. It is composed of main scrip that calls the libraries. It is important to notice that even though the highest accuracy is obtained with a 1-second time-step interpolation, the final RMSE of 4.14 meters in the tree-dimension element agrees with previous research that used a 1 second time step to address the accuracy of GLONASS ephemeris.2,12 However Statella et al.,11 achieved an accuracy of 6.53 m which gives a 2.39 m of difference. And comparing with other GNSS such as Galileo and GPS,21,22 such value is considerable larger and the integration between systems should be carefully carried out due the impact of the coordinates of the satellite accuracy on the user range error (URE) for point positioning.

Acknowledgments

We acknowledge MGEX for providing the daily broadcast data, the National Institute of Science and Technology for GNSS in Support of Air Navigation (INCT GNSS-NavAer), funded by CNPq (465648/2014-2), FAPESP (2017/50115-0) and CAPES (88887.482174/2020-00). The libraries implemented in this research were developed in python 3 and are available at: https://github.com/loram93/GLONASS_PAPER .

Conflicts of interest

The author declares that there is no conflict of interest.

References

  1. Jerez, GO, Prudente P, Barroca D, et al. Theoretical review and state of the art. 2018;6(2):155–173.
  2. Son E, Lim DW, Ahn J, et al. Comparison of Numerical Orbit Integration between Runge-Kutta and Adams-Bash forth-Moulton using Global Navigation Satellite System Broadcast Ephemeris. 2019;8(4):201–208.
  3. Monico JFG. Posicionamento pelo GNSS. 2nd ed. São Paulo: Editora Unesp; 2008.
  4. Jerez G. Analysis of GPS/GLONASS Integration for Positioning Under Ionospheric Scintillation Effect. Universidade Estadual Paulista Júlio De Mesquita Filho; 2017.
  5. Revnivykh S, Bolkunov A, Serdyukov A, et al. Springer Handbook of Global Navigation Satellite Systems. In: Teunissen PJG, Montenbruck O, editors. 1st ed. Springer; 2017. p. 219–245.
  6. Russian Space Systems, GLONASS Interface Control Document, General Description of Code Division Multiple Access Signal System. Russian Space Systems. JSC.
  7. Stewart M, Tsakiri M. GLONASS Broadcast Orbit Computation. GPS Solutions.1998;2(2):16–27.
  8. Chao CC, Gick RA. Long-term evolution of navigation satellite orbits: GPS/GLONASS/GALILEO. Adv Space Res. 2004;34(5):1221–1226.
  9. Cai C, Gao Y. A combined GPS/GLONASS navigation algorithm for use with limited satellite visibility. J Navigation. 2009;62(4):671–685.
  10. Wang J. An approach to GLONASS ambiguity resolution. J Geodesy. 2000;74(5):421–430.
  11. Statella T, Aguiar CR, Monico J FG, et al. Calculation of the position and velocity vectors of the GLONASS satellites from the transmitted ephemeris and aspects related to their integration with the GPS. 2013;40(2):1–7.
  12. Maciuk, K. Different approaches in GLONASS orbit computation from broadcast ephemeris. Geodetski vestnik. 2016;60(3).
  13. Zhang C, Qianxin W, Yamin D, et al. Analysis and Modeling of GLONASS Broadcast Ephemeris Errors. In: Sun J, Liu J, Yang Y, Fan S, editors. China Satellite Navigation Conference (CSNC) Proceedings. 2012. p. 455–462.
  14. Heng L. Safe satellite navigation with multiple constellations: Global Monitoring of GPS and GLONASS Signal-in-Space Anomalies. 2012.
  15. Hugentobler U, Montenbruck O. Satellite Orbits and Attitude. In: Teunissen PJG, Montenbruck O, editors. Springer Handbook of Global Navigation Satellite Systems; 2017. p. 59–90.
  16. Seeber G. Satellite geodesy : foundations, methods, and applications. New York: Walter de gruyter; 2003.
  17. Montenbruck O, Gill E. Satellite Orbits. Berlin, Heidelberg: Springer; 2000.
  18. Montenbruck O, Schmid R, Mercier F, et al. GNSS satellite geometry and attitude models. Adv Space Res. 2015;56:1015–1029.
  19. Montenbruck O, Steigenberger P, Prange L, et al. The Multi-GNSS Experiment (MGEX) of the International GNSS Service (IGS) – Achievements, prospects and challenges. Adv Space Res. 2017;59(7):1671–1697.
  20. Gunning K, Walter T, Enge P. Characterization of GLONASS broadcast clock and ephemeris: Nominal performance and fault trends for ARAIM. Proceedings of the 2017 International Technical Meeting of the Institute of Navigation; 2017. p. 170–183.
  21. Alonso M T, Sanz J, Juan J M, et al. Galileo broadcast ephemeris and clock errors analysis: 1 January 2017 to 31 July 2020. Sensors. 2020;20(23):1–34.
  22. Heng L, Gao GX, Walter T, et al. GPS ephemeris error screening and results for 2006-2009. Institute of Navigation - International Technical Meeting. 2010; 2010;2:1184–1192.
Creative Commons Attribution License

©2023 Siqueira, et al. This is an open access article distributed under the terms of the, which permits unrestricted use, distribution, and build upon your work non-commercially.