Open access

Stand-Alone Satellite-Based Global Positioning

Written By

Alberto Cina and Marco Piras

Submitted: May 15th, 2012 Published: June 19th, 2013

DOI: 10.5772/55611

Chapter metrics overview

2,181 Chapter Downloads

View Full Metrics

1. Introduction

The main principle of stand-alone positioning with pseudo-range is a “multiple intersection” based on measurement of distances [1].

If the satellite’s position is known and the “range” between each satellite and the rover receiver is measured, the rover position in the same reference system of the satellite’s position could be estimated.

In this chapter, principles of measurement and least squares calculations will be discussed, with the purpose of estimating the receiver position and its accuracy. This accuracy can be “foreseen” through the DOP calculation [2], [3].

The aim of this chapter is not to show new procedures but to explain concepts described in the bibliography, often fragmentary and without examples. To improve comprehension of the values and concepts, some numeric examples are given.


2. Satellite positions

Each application of GPS positioning (stand-alone, relative, differential, generation of differential correction, etc) is based on knowledge of a satellite’s position in ECEF (Earth Centred Earth Fixed) geocentric cartesian reference system, which is fixed to the Earth.

The satellite position is estimated using the ephemerides which are contained in the navigation message broadcast by the satellite.

In the case of the GPS system, the ECEF satellite position is not included in this message, where dedicated parameters are contained which, following Keplerian law and considering the perturbation effect, allow calculation of the satellite position [6].

GPS ephemerides allow for the estimation of the satellite position in an inertial reference system, from which it is possible to define the ECEF coordinates.

This system is described in Fig. 1 where:

V is the vernal point, the intersection of the ecliptic and the equatorial planes.

X0 is the axis connecting the Earth’s origin C and the point V. This direction is considered fixed, excluding some variations due to secular effects.

In the ECEF system, X is the axis of intersection of equatorial plane and the Greenwich mean meridian plane. Z is the axis which coincides with the Earth’s rotation axis and Y completes a right-handed orthogonal system.

The Greenwich meridian plane rotates around the Earth’s rotation axis with an angular speed ωe =7.2921151467*10-5 rad/s, in accordance with GAST (Greenwich Apparent Sideral Time).

Θ, the subtended angle between X and X0, is “sideral time”.

Figure 1.

ECEF system and Keplerian elements

The six parameters used to describing the satellite orbit are given in Table 1.

a Semi-major axis of the elliptical orbit Size and shape of the orbit
e=a2b2a2 Orbit eccentricity (b= semi minor axis)
ω Argument of periapsis Orbital plane in the apparent system
Ω Longitude of ascending node
i Orbit inclination
μ0 Mean anomaly at the reference epoch toe1 Position in the orbital plane

Table 1.

Keplerian elements

1 The Keplerian element is t0 , which is the epoch of the passage to periapsis. In the GPS navigation message, the anomaly at the ephemerids reference epoch toe is given.


  • Ω is the longitude of the ascending node, it is the angle which has its vertex in the centre of the Earth and it is subtended by X0 and the ascending node K.

  • P is the periapsis and it is the closest position of the satellite with respect to the Earth. The angle in C between the ascending node K and P is the periapsis argument.

  • The angle i between the equatorial plane and orbital plane is the orbit inclination.

  • f is the ”true anomaly”, shown in Fig. 1.

a and e2 are known, the satellite position can be estimated starting from an initial position in the orbital plane, which is defined by a mean anomaly μ0. These parameters are in the RINEX navigation message (.nav), as described in Fig. 2.

Figure 2.

Broadcast GPS ephemerides in RINEX navigation (.nav) for satellite ID=23. Keplerian elements are reported in grey and the clock corrections are reported in the boxes.

Broadcast GALILEO ephemerides are defined in the same way [10].

GLONASS ephemerides are instead described in a different way: navigational messages in the reference system, PZ90, already contain the ECEF position, velocity and acceleration of each satellite, estimated every 30 minutes [5].

Each set of parameters can be applied in estimating the satellite’s position 15 minutes before and after the time reference indicated in the navigation file.

A part of GLONASS navigation file is shown in Figure 3.

Satellite position is estimated using the 4th order Runge-Kutta numerical integration of [7].

Figure 3.

Broadcast GLONASS ephemerides are contained in the RINEX navigation file for Satellite ID 4. Geocentric positions (XYZ) are highlighted in grey, the velocity in bold and the accelerations underlined. The clock parameters are indicated by boxes.

Broadcast ephemerides have about 1 meter accuracy, but more precision may be necessary for geodetic application. Precise ephemerides can be used as an alternative to broadcast ephemerides. These ephemerides are calculated “a posteriori”, and they have a centimetric level accuracy. The SP3 format [12] is used to describe these orbits and positions and satellite clock offsets are contained both for GPS and GLONASS constellations, with a rate of 15 minutes.

An example is reported in Fig. 4 [8].

Figure 4.

Ephemerids in SP3 format: PG #sat., X, Y, Z ECEF position


3. Range measurement using pseudo-range

The measurement of the range between the satellite and the receiver is estimated using the pseudo-range, the code part of the signal, which is composed of squared waves. These waves are generated by an algorithm PRN (pseudo-random noise), which is periodically repeated over time [4].

In the GPS system, this component is composed of the pseudo-range C/A and P, when available. From the IIRM block, the new pseudo-range L2C is also available.

In the GLONASS system, there are two pseudo-ranges: ST (standard accuracy) and VT (usage agreed with the Russian Federation Defence Ministry) [5].

The theoretical part of the measurement of distance between the satellite and the receiver (the range) is based on the measure of “time of fly”. It is the time taken between the transmission of the signal by the satellite and the receipt by the receiver.

The range measurement is realized by means of a cross-correlation procedure between two signals. When the signal is received by the receiver, the receiver generates an identical replica and moves it with respect to time. This operation is concluded when the maximum correlation is reached (Fig. 5).

In others words, the time of fly Δt is the movement that has to be applied to the replica of the signal in order to have correct alignment with the received signal.

The two signals, received and replica, are identical, but there is a misalignment caused by the travel time in space between the satellite and the receiver, as defined in equation 1.

Figure 5.

Pseudo-range measurement and time scale



Ri j is the measured range between satellite (j) and receiver (i);

c 3*108 m/s = light speed in vacuum.

In this way, the measured distance is a “pseudo-range” because there is an offset between the satellite clock and the receiver clock.

We consider three different time reference scales (see Fig. 5):

  • atomic time scale (ta), which is the GPS time fundamental reference maintained by the clocks in the control centre;

  • satellite time scale (tj), which is defined by the atomic clocks housed in each satellite;

  • receiver time scale (ti), which is determined by the internal receiver clock (usually a quartz oscillator).

The satellite and receiver time scales are aligned with the fundamental scale (ta), when the offset δj and δi are estimated. These offsets are time dependent and they have to be considered as biases in the measurement of the range.

If each time is referenced to the fundamental scale, the measured range will be:


where ρ is the geometric range between the two phase centres of the satellite and receiver antennas, described as follows.


The bias due to the satellite clock is modeled with a low order polynomial function (2nd degree for GPS and GALILEO and linear for GLONASS), where the coefficients are broadcast in the navigation message.

Fig. 2 and Fig. 3 give examples of the RINEX navigation files for the GPS and GLONASS constellations.

In the GPS situation, the group delay (TGD) and the relativistic effect Δtr have to be considered, in order to estimate the satellite clock offset, using the following equation:


The velocity of a group is the velocity of the signal propagation and it is different from the single phase velocity of each component. TGD is broadcast in the navigation message.

The relativistic effect is due to the satellite high-speed in its orbit which has to be considered in proximity to the Earth, for its mass and its potential.

The element of relativistic correction is calculated according to GPS specification [6]:


where a, e, EK are semi-major axis, orbit eccentricity and satellite anomaly, respectively.

F=2GMc2and it is defined in [6].

For example, the relativistic effect for a GPS satellite, considering: a=26500 km, e=10-2 m, sinEK=1, F= - 4.442807633*10-10 s / m2 is:


The synchronism between all atomic satellite clocks is considered.

It is not possible to remove the effect of satellite clock bias in stand-alone positioning as it leads to an error of about 1 ns (10-9 s), which corresponds to an error equal to 30 cm of the range measured between the satellite and the receiver.

The receiver clocks are typically quartz oscillators, which have less long-term stability compared to atomic clocks. On the supposition that errors of synchronization is approximately equal to 1 ms (10-3 s). This error, in the distance between the satellite and the receiver considering speed of light, is equal to 300 km.

The receiver clock offset is difficult to model therefore an additional unknown is considered at each epoch of measurement: the bias of the receiver clock δi.

Separating unknown and known terms in Equation 2, the pseudo-range equation will be:


where the unknowns are:

(X, Y, Z) position of the receiver;

δi receiver clock offset.

The system could be solved only if a sufficient or redundant number of equations of observation is available.


4. Observation equations

We consider two different types of positioning: static and kinematic.

In the first, the receiver is stationary over a point for several epochs, without changing its position. In the second, the receiver moves and its coordinates change in each epoch. In the kinematic, four unknowns have to be solved for each epoch: three for the position (X, Y, Z) and one for the receiver clock offset [9].

Linearization of Equation (6) and considering the approximate values of the receiver position, as:


the effective position unknowns will be the corrections xi, yi, zi. The solution procedure is iterative and the final solution is independent of the approximate values.

If the approximate values of the position are not available, it is possible to set them equal to zero, solving the system with additional iterations.

In order to define the system, it is important to linearize the equation of the geometric range, by means a Taylor series, as follows:


The second order terms are small and can be neglected, and, substitute for the first derivatives, Equation (6) becomes:


which reduced to the Gauss model:


using the least squares estimator to define the solution, if the number of satellites is greater than four.

In the case of five satellites, (apexes in Equation (11)), the design matrix (A), known terms vector (l0) and unknowns (x) can be written as:


It is convenient to define the offset of the receiver clock in metres, in order to avoid possible problems of ill conditioning of the system, due to the light speed c which is prevalent with respect to the other values. This is easily achievable, multiplying the offset by the light speed.

This positioning model with pseudo-range measurement defines a single position at each epoch and is useful for kinematic procedures.

The static solution requires adding additional columns in the design matrix (A), in order to estimate the offset of the receiver clock at each epoch.

To consider 2 epochs of measurement in static session, Equation (11) has to be modified as follows:

epoch 1 (t1)epoch 2 (t2)[Xi(0)X(1)(t1)ρi1(0)(t1)Yi(0)Y(1)(t1)ρi1(0)(t1)Zi(0)Z(1)(t1)ρi1(0)(t1)10Xi(0)X(5)(t1)ρi5(0)(t1)Yi(0)Y(5)(t1)ρi5(0)(t1)Zi(0)Z(5)(t1)ρi5(0)(t1)10Xi(0)X(1)(t2)ρi1(0)(t2)Yi(0)Y(1)(t2)ρi1(0)(t2)Zi(0)Z(1)(t2)ρi1(0)(t2)01Xi(0)X(5)(t2)ρi5(0)(t2)Yi(0)Y(5)(t2)ρi5(0)(t2)Zi(0)Z(5)(t2)ρi5(0)(t2)01](xiyizicδi(t1)cδi(t2))(Ri(1)(t1)+cδ(1)(t1)ρi1(0)(t1)Ri(5)(t1)+cδ(5)(t1)ρi5(0)(t1)Ri(1)(t2)+cδ(1)(t2)ρi1(0)(t2)Ri(5)(t2)+cδ(5)(t2)ρi5(0)(t2))=(v)E12

5. Least Squares

The least squares solution starts from the Gauss model, which was described in (10), and is defined by means of calculus and inversion of the normal matrix N.

The estimated residuals v^ and the variance–covariance matrix of the estimated solution Cxx can be calculated, considering:



N=ATPA is called normal matrix


Some consideration will given to the weight matrix P. It is generally obtained by inverting the variance–covariance matrix of the observations CLL multiplied by the variance of the unit of weight, which is defined “a priori”.


Different methods can be used to defining the matrix P:

  • P equal to the identical matrix I if the ranges are considered to have the same weight;

  • P is a diagonal matrix, with different values, as in the following example.


But what is a possible correct weight to use in P?

There are different strategies used to selecting the weight of the range:

  • Starting from the URA (User Range Accuracy), which represents the maximum error of the range foreseen during the period of validation of the ephemerides, it is a statistical value of the accuracy for each satellite. URA is contained in the navigation message and it is independent of the satellite’s elevation or other environmental conditions. Using the GPS specification the accuracy of each satellite can be estimated [13].

  • Each weight can be considered depending on the satellite’s elevation. For example, a function of the zenithal angle z can be used, where each satellite can be weighted with the following model: p=cos2z. EUREF suggests an alternative method [11]:


with a recommended value of a =0.3.

These weight functions are shown in Fig. 6.

  • Signal-noise ratio (SNR) observed each epoch for each range could be used as the weight.

Figure 6.

Weights dependence on zenithal angle

Based on the estimated solution x^, the estimated residuals v^, and the apostriori variance of the unit weight, can be obtained:



n= number of equations;

r= number of unknowns.

Finally, the variance–covariance matrix of the estimated solution Cxx can be determined, considering the normal matrix and the apostriori variance of unit weight:


This matrix has the variances of the estimated parameters along the diagonal, and the covariances are in the off-diagonal elements.

The matrix N-1 is also called the “cofactor matrix”; it is independent of the measurements, but only dependent on the geometrical satellite-receiver configuration. We will show later how N-1 is used to calculate DOP.


6. Measurement bias of the pseudo-range

In order to consider the several range measurement biases, Equation (6) has to be modified as follows:



T = tropospheric delay;

I = ionospheric delay;

E = ephemerides error.

A short description will be given in the following.

Tropospheric delay is an error which occurs in only the low part of the atmosphere, up to 40 km from the Earth’s surface.

This error depends on: pressure, temperature and relative humidity. It can be estimated using a model, such as the one described in [3, 4]. In the standard condition (i.e. temperature =273.16 K, pression=1013.25 mbar, e=0), this error is equal to 2.3 m in the zenith position (z=0°) and it increases when the zenithal angle increases.

This is the main reason that it is better to avoid using satellites with low elevation (zenithal angle > 75°) to realize the positioning.

Ionospheric delay, on the other hand, depends on the electronic content of the ionosphere layer of the atmosphere between 40 km and 1000 km above the Earth’s surface; it changes with the sun’s activities. This delay is dispersive, that is, it depends on the signal frequency. The value of this delay is variable but it is normally greater than the tropospheric delay. Dual frequencies receivers can use the dispersive nature of the ionosphere to completely remove the delay.

Ephemeride errors depend on the satellite position: broadcast ephemerides have a meter-level accuracy; precise or predicted rapid products instead have centimeter level of accuracy. These products are available on the IGS (International GNSS Service) website.

These errors are spatially correlated; therefore they have similar effects on two receivers in close proximity. These biases can be eliminated or reduced using relative positioning, but not in the stand-alone positioning.

Others errors such as phase centre variation, multipath and hardware delay are less significant in this context and are not considered.


7. Relative motion in the stand-alone positioning

The position, estimated as described above, does not consider certain important effects which happen during the time of the propagation of the signal from the satellite to the receiver (about 67 ms).

The following effects occur during this period:

  • the satellite position is changed by about 250 m;

  • the Earth has rotated about its spin axis by about 30 m to the East on the equator.

The estimation of the receiver position requires an additional iteration where the satellite position is modified, taking into account the propagation time τ.


ρij can be estimated using the satellite coordinates and the first approximate position of the receiver. The effect of the Earth rotation is considered, applying the velocity of terrestrial rotation ωe to the coordinates X and Y, as:


In conclusion, this position is determined by also taking into account both the time propagation and the Earth’s rotation, leading to a more precise receiver position. A further iteration does not give more significant benefit in terms of accuracy.


8. DOP and satellite visibility

Sometimes it could be useful to define the ECEF coordinates with respect to a local plane, which is tangential to the ellipsoid at a defined point. This local system allows the separation of the horizontal component from the vertical, where the GPS is less precise. If this system is used, the variance–covariance matrix has also to be rotated.

Therefore, it is possible to define a local plane with its origin at Pi, with geographical coordinates φ and λ, considering an Eulerian Cartesian tern, defined as following:

  • u-axis coincides with the normal to the ellipsoid passing through Pi;

  • n-axis coincides with the meridian tangent directed north;

  • e-axis completes the clockwise tern.

Figure 7.

ECEF coordinates (X Y Z) and Eulerian system (e n u)

The P coordinates can be expressed in the ECEF system as:


The coordinates of the receiver and of satellite k can be roto-translated into a Eulerian tern, using the following [1, 2]:


The transformed variance–covariance matrix (Cuu) described in the local Eulerian system is determined considering the variance propagation law:


The number of satellites is not the unique factor in deciding when it is the best time to undertake field measurements. The geometry of the constellation is an important factor too. This factor is determined with the DOP factors. The DOP depends on the diagonal elements of the cofactor matrix and it can be decomposed into the following components:


DOPs can be designed: it is not necessary to take any measurements, because the cofactor matrix can be obtained “a priori”.

This operation called “planning”, only requires knowing the receiver position and the almanac of the ephemerides used to determine the satellite’s position. DOPs are like an instantaneous picture of the constellation. High values (for example GDOP > 6) are inadvisable to reach a good precision.

Azimuth A, elevation E and distance d of the different satellites can be estimated in order to plan the measurement session. Each element is determined by the following equations:


An example is given in Appendix A to illustrate the various aspects discussed in this chapter.


Appendix A

DOP and satellite visibility

Estimate GDOP, PDOP, HDOP, VDOP, TDOP factors at P with coordinates: φ=45°3’48”, λ=7°39’41”, h=0 m, referenced in WGS84 (a=6378137 e2=0.006694379990) ellipsoid, on 2012/04/06 at 8:53:59 am. Moreover Calculate the “satellite visibility” at P. The ECEF coordinates of the visible satellites are known [8]:

sat X Y Z
1 22504974.806 13900127.123 -2557240.727
2 -3760396.280 -17947593.853 19494169.070
4 9355256.428 -12616043.006 21189549.365
7 23959436.524 5078878.903 -10562274.680
10 10228692.060 -19322124.315 14550804.347
13 23867142.480 -3892848.382 10941892.224
17 21493427.163 -15051899.636 3348924.156
20 14198354.868 13792955.212 17579451.054
23 18493109.722 4172695.812 18776775.463
31 -8106932.299 12484531.565 22195338.169
32 8363810.808 21755378.568 13378858.106

Table 2.

Satellite’s coordinates in ECEF

In the following, the solution is provided.

The geographical coordinates are transformed to a DEG system:


from which the geocentric coordinates of P are obtained.

φ=45.07333333°              λ=7.791388889°

P will be the origin of the Eulerian local system. A matrix is calculated in the ECEF system considering (11), with the following values:

-0.7677 -0.5662 0.3001 -1
0.3262 0.7350 -0.5944 -1
-0.2235 0.6050 -0.7642 -1
-0.7786 -0.1789 0.6015 -1
-0.2497 0.8644 -0.4364 -1
A= -0.9268 0.2148 -0.3082 -1
-0.7352 0.6761 0.0494 -1
-0.4637 -0.6290 -0.6240 -1
-0.6896 -0.1756 -0.7026 -1
0.5081 -0.4800 -0.7151 -1
-0.1672 -0.9090 -0.3819 -1

Table 3.

Elements of A matrix

From which the cofactor matrix as (13) and (18) are obtainable using the weight matrix equal to the identity (P=I)

0.6861 0.0092 0.4168 -0.3953
Qxx=N-1=ATA= 0.0092 0.2541 0.0463 -0.0149
0.4168 0.0463 0.7464 -0.3999
-0.3953 -0.0149 -0.3999 0.3705

Table 4.

Elements of cofactor matrix

The rotation matrix in P is defined by (23) and it is equal to:

-0.1333 0.9911 0.0000
N=a1e2sin2ϕ=6388862.01mX=(N+h)cosϕcosλ=4472328.363mY=(N+h)cosϕsinλ=601613.841mZ=[N(1e2)+h]sinϕ=4492322.547m= -0.7016 -0.0944 0.7063
0.7000 0.0942 0.7079

Table 5.

Elements of rotation matrix

The cofactor matrix is now calculated in a Eulerian coordinate system considering (24), applying this equation only to the position components (grey elements in the Qxx matrix) and not to the time element:

0.2594 0.0273 -0.0409
Quu=Rxu= 0.0273 0.2943 0.0319
-0.0409 0.0319 1.1329

Table 6.

Elements of cofactor matrix in Eulerian coordinate system

and using (25), DOP factors can be determined:


Before estimating the azimuth, elevation and distances, it is necessary to estimate the satellite position in an Eulerian system.

The satellite visibility can be estimated using (26). The final results are as follows.

sat e n u ele (°) azi (°) dist (m)
1 10775718.505 -18885463.599 8885172.533 22.227 150.292 23488787.44
2 -17286050.680 18122569.546 3109852.920 7.078 316.353 25237001.81
4 -13750650.216 9615363.143 13993256.686 39.827 304.964 21848268.18
7 1839308.792 -24727521.634 3405994.949 7.821 175.746 25028667.26
10 -20513313.116 4946360.859 9273705.868 23.725 283.557 23049167.47
13 -7040025.788 -8627144.285 17719096.273 57.854 219.216 20927397.22
17 -17783003.382 -11271791.398 9631674.716 24.582 237.631 23152918.79
20 11776928.073 1175359.814 17314805.970 55.646 84.301 20973316.65
23 1669976.573 -84099.847 20262888.169 85.283 92.883 20331761.64
31 13453888.242 20207851.250 4844990.565 11.286 33.655 24755570.98
32 20446124.731 1550262.123 11006751.692 28.226 85.664 23272213.30

Table 7.

Satellite visibility



DOP = Dilution of precision

ECEF = Earth Centred Earth Fixed

GLONASS= Globalnaya Navigatsionnaya Sputnikovaya Sistema

GNSS = Global Navigation Satellite Systems

GPS = Global Positioning System

RINEX = Receiver Independent Exchange Format

URA = User Range Accuracy


  1. 1. BorreKand StrangGLinear algebra, geodesy and GPS, Wellesley (USA), Wellesley-Cambridge Press, 1997
  2. 2. CinaAGPS. Principi, modalità e tecniche di posizionamento, Torino, CELID, 2000
  3. 3. Hoffmann Wellenhof B Lichtenegger H., Wasle E., GNSS Global Navigation Satellite System. GPS, GLONASS, Galileo & More, Austria, Springer Wien NewYork, 2008
  4. 4. LeickAGPS satellite surveying. Wiley (3th edition), 2003
  5. 5. Global Navigation Satellite System GLONASSInterface Control Document. Navigation Radiosignal in Band L1, L2 (edition 5.1). Moscow, 2008
  6. 6. GPS website: (accessed 25/08/2012).
  7. 7. Bern university: (accessed 25/08/2012)
  8. 8. International GNSS service (accessed 25/08/2012)
  9. 9. Blewitt, Geoffrey. “Basics of the GPS Technique: Observation Equations”. (accessed 31/7/2012).
  10. 10. European Union (2010): “European GNSS (Galileo) Open Service Signal In Space Interface Control Document”: (accessed 31/7/2012)
  11. 11. 05 European reference system. (accessed 25/08/2012
  12. 12. International GNSS service: RemondiB., Spofford P.: “The National Geodetic Survey Standard GPS Format SP3”. (accessed 25/08/2012)
  13. 13. GPS Website: Global Positioning System Directorate System Engineering & Integration Interface Specification IS-GPS 200. 21 Sept. 2011. (accessed 31/7/2012).

Written By

Alberto Cina and Marco Piras

Submitted: May 15th, 2012 Published: June 19th, 2013