If you wish to contribute or participate in the discussions about articles you are invited to join Navipedia as a registered user

Emission Time Computation

From Navipedia
Jump to: navigation, search

Title Emission Time Computation
Author(s) J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain.
Level Advanced
Year of Publication 2011

Two different algorithms for the satellite transmission time computation from the receiver measurement time are presented as follows. The first of them is based on using the pseudorange measurements, which is a link between the receiver time tags (i.e., the reception time in the receiver clock) and the satellite transmission time (in the satellite clock). The second one is a pure geometric algorithm, which does not require any receiver measurement. It only needs the satellite coordinates and an approximate receiver position.

A pseudorange based algorithm

The emission time can be directly obtained from the reception time, taking into account that the pseudorange is a direct measurement of the time difference between both epochs, each one of them measured in the corresponding clock:

So, the signal emission time, measured with satellite clock (), is given by:


Thence, if the is the satellite clock offset, regarding to the GNSS (GPS, GLONASS, Galileo...) system time scale (see Clock Modelling) the transmission time in this system time scale can be computed from the receiver measurement time tags () as:

The former equation (4) has the advantage of providing the signal emission time directly, without iterative calculation, although it does need pseudorange measurements in order to connect both epochs.

The accuracy in determination of is very high, and essentially depends on error. For instance, in the case of the GPS system it is less than or nanoseconds with S/A=off and S/A=on, respectively. This allows calculating satellite coordinates with errors below one tenth of millimetre in both cases [footnotes 1].

A purely geometric algorithm

The former algorithm (equation 2) provides the signal emission time tied to satellite clock (). The next algorithm ties this epoch to receiver clock ():

where is now calculated by iteration assuming that an approximate receptor position is known (it converges very fast):

The algorithm is based in the following steps:

1. Calculate the position of the satellite at signal reception time .
2. Calculate the geometric distance between satellite coordinates obtained previously and receiver position [footnotes 2], and from it, calculate the signal travelling time between both points:
3. Calculate satellite position at the time: .
4. Compare the new position with the former position. If they differ more than certain threshold value, iterate the procedure starting from 2.

Finally, emission time at the system-time-scale is given by[footnotes 3]:

where is receiver clock offset referred to the system time, that may be obtained from navigation solution (although "a posteriori").


This algorithm for the satellite coordinate calculations at the reception epoch allows an efficient modularity because pseudorange measurements are not needed to compute the transmission time.

If the receiver clock offset is small [footnotes 4], thence the may be neglected. On the other hand, the receiver clock estimates from the navigation solution can be used (extrapolated from the previous epoch). In any case, it must be taken into account that neglecting this term when reaches large values (e.g., 1 millisecond) may introduce errors of about one meter in satellite coordinates, and this must be taken in account when building the navigation model[footnotes 5]; or more precisely, in the partial derivative respect to receiver clock of design matrix.

Figure 1:Effect of using the satellite coordinates at the reception time instead of transmission time in positioning.
Emission Time Computation Distance reception.png
Emission Time Computation Range reception.png
Emission Time Computation H Nov rec.png
Emission Time Computation V Nov rec.png

Figure 1 shows an example to illustrating the effect of neglecting the travelling time in the satellite coordinates computation for positioning. It corresponds to a receiver located in Barcelona, Spain (receiver coordinates ). During the to milliseconds of travelling time, the satellite moves about meters, which leads to meters in range. The effect on the user position is up to meters or more in horizontal and vertical components.


  1. ^ GPS, GLONASS or Galileo satellites speed is of few km/s.
  2. ^ Again, notice that satellite and receiver coordinates must be given in the same reference system, because satellite-receiver ray must be generated in a common reference system.
  3. ^ Rigorously, equation (7) is: where function represents geometric algorithm.
  4. ^ Some receivers apply clock-steering adjusting their clocks epoch-by-epoch and providing offsets of few nanoseconds. However, in many cases the receiver wait until gathering an offset of millisecond to adjust the clock.
  5. ^ In the "design matrix" or Jacobian matrix, obtained when linearising the model with respect to coordinates and receiver clock errors, see Code Based Positioning (SPS).