# Accurate Solution of Navigation Equations in GPS Receivers for Very High Velocities Using Pseudorange Measurements

Authors: N. Rahemi; M. R. Mosavi; A. A. Abedi; S. Mirzakuchaki
Journal: Advances in Aerospace Engineering
 (2014)

---

## Abstract

GPS is a satellite-based navigation system that is able to determine the exact position of objects on the Earth, sky, or space. By increasing the velocity of a moving object, the accuracy of positioning decreases; meanwhile, the calculation of the exact position in the movement by high velocities like airplane movement or very high velocities like satellite movement is so important. In this paper, seven methods for solving navigation equations in very high velocities using least squares method and its combination with the variance estimation methods for weighting observations based on their qualities are studied. Simulations on different data with different velocities from 100 m/s to 7000 m/s show that proposed method can improve the accuracy of positioning more than 50%.


---

## Body

## 1. Introduction

Global positioning system (GPS) does the positioning with the help of a group of satellites that each travels in its orbit around the Earth [1]. These satellites by sending L1 and L2 signals with frequency of 1575.42 MHz and 1227.6 MHz, respectively, identify their time and place toward the Earth. A GPS receiver by receiving these signals from at least four satellites organizes the navigation equations and by solving them shows the position of the user [1–4].At present the only way of positioning a kinematic receiver in real time with high accuracy is by differential mode that is a relative positioning of two receivers [5, 6]. To achieve a higher accuracy, many researches have been done on differential GPS [7–10]. In some other research efforts too, it has been tried to combine GPS with other navigation systems to attain a higher accuracy [11–13]. But none of these methods are suitable for positioning at velocities of up to 7,000 m/s.Calculation of the exact position in the movement by high velocities like airplane movement or very high velocities like satellite movement using GPS receivers is very important. Jumping at outputs data of GPS receivers’ situation and sudden acceleration at very high velocities leads to making too much error in determining the position of receiver. Some methods like least squares (LS) method that has been presented for solving navigation equations up to now generally have low precision and much error [14]. So we are looking for a method which can solve the navigation equations at very high velocities and significantly decrease positioning errors.The LS is a standard approach to the approximate solution of overdetermined systems, that is, sets of equations in which there are more equations than unknowns. According to this method, the unknown coefficients are found based on minimizing the sum of squares of the errors made in the results of every single equation.Suitable weighting GPS data takes place based on qualities of observations. In such a way, we could decrease the effect of noisy data, while using whole data in positioning.This paper is organized as below. In Section2, determining the location in GPS system has been studied in brief. In Section 3, we explain how to solve navigation equations by weighted least squares (WLS) method using pseudorange data. Data quality investigating and weighting algorithms are introduced in Sections 4 and 5. In Section 6, the results of applying these algorithms on different data with different velocities from 100 m/s to 7000 m/s are described and compared. Finally, the conclusion is provided.


## 2. Navigation Equations in GPS

A GPS receiver calculates its position by precisely timing the signals sent by GPS satellites high above the Earth. Each satellite continually transmits messages that include the time the message was transmitted and the satellite position at the time of message transmission.The receiver uses the messages it receives to determine the transit time of each message and computes the distance to each satellite using the velocity of light. This measured distance is called pseudorange. Because of errors in receiver clock, the pseudorange has many errors. Since this error is equal for all observations, the effect of that can be destroyed. The calculation of distance should be done for at least four satellites. After that with organization of navigation equations as (1), the pseudorange error can be calculated [15]:
(1)
(
X
1
-
U
X
)
2
+
(
Y
1
-
U
Y
)
2
+
(
Z
1
-
U
Z
)
2
=
(
P
1
-
c
Δ
T
B
)
2
,
(
X
2
-
U
X
)
2
+
(
Y
2
-
U
Y
)
2
+
(
Z
2
-
U
Z
)
2
=
(
P
2
-
c
Δ
T
B
)
2
,
(
X
3
-
U
X
)
2
+
(
Y
3
-
U
Y
)
2
+
(
Z
3
-
U
Z
)
2
=
(
P
3
-
c
Δ
T
B
)
2
,
(
X
4
-
U
X
)
2
+
(
Y
4
-
U
Y
)
2
+
(
Z
4
-
U
Z
)
2
=
(
P
4
-
c
Δ
T
B
)
2
.
In these equations, (U
X,U
Y,U
Z) are x, y, and z components of receiver (user) position, Δ
T
B is the time difference between receiver and satellite, (X
i,Y
i,Z
i) are three components of satellite position, P
i is the exact distance of ith satellite from receiver in ideal conditions, and c shows the light velocity. Calculation of error provides the possibility of position determination by using the pseudorange data.


## 3. Positioning Using Least Squares Method

The LS is a standard approach to the approximate solution of overdetermined systems. In mathematics, a system of linear equations is considered overdetermined if there are more equations than unknowns [16]. “Least squares” means that the overall solution minimizes the sum of the squares of the errors made in the results of every single equation. The intent of error is the difference between the observed data and the amount obtained from the model [17].Now by using pseudorange data and LS, we determine the position of a moving object. Assuming that the initial coordinates of the receiver are known, (x
0,y
0,z
0), the actual receiver coordinates can be expressed as
(2)
x
i
=
x
0
+
Δ
x
i
,
y
i
=
y
0
+
Δ
y
i
,
z
i
=
z
0
+
Δ
z
i
.
In the above equation, (x
i,y
i,z
i) shows the position of an object at epoch t
i and (Δ
x
i,Δ
y
i,Δ
z
i) explains the unknown amount of movement of the object at epoch t
i. (x
i,y
i,z
i) can be written as in
(3)
(
x
i
,
y
i
,
z
i
)
=
f
(
x
0
+
Δ
x
i
,
y
0
+
Δ
y
i
,
z
0
+
Δ
z
i
)
.
Using Taylor’s series f
(
x
0
+
Δ
x
i
,
y
0
+
Δ
y
i
,
z
0
+
Δ
z
i
) can be expanded as below:
(4)
f
(
x
0
+
Δ
x
i
,
y
0
+
Δ
y
i
,
z
0
+
Δ
z
i
)
=
f
(
x
0
,
y
0
,
z
0
)
+
∂
f
(
x
0
,
y
0
,
z
0
)
∂
x
0
Δ
x
i
+
∂
f
(
x
0
,
y
0
,
z
0
)
∂
y
0
Δ
y
i
+
∂
f
(
x
0
,
y
0
,
z
0
)
∂
z
0
Δ
z
i
+
1
2
!
∂
2
f
∂
x
2
+
⋯
.The other clauses after linear clauses can be ignored. For finding the coefficients of linear clauses of Taylor series, we rewrite each of the equation of (1) as below:
(5)
P
i
j
=
ρ
i
j
+
c
Δ
T
B
=
(
x
j
-
x
i
)
2
+
(
y
j
-
y
i
)
2
+
(
z
j
-
z
i
)
2
+
c
Δ
T
B
,
where (x
j,y
j,z
j) is the coordination of jth satellite, P
i
j shows the exact distance between jth satellite, and receiver at epoch t
i and ρ
i
j shows the amount of pseudorange between jth satellite and receiver at epoch t
i. Now by using (2) to (5), we can obtain the coefficients of linear clauses in Taylor expansion as follows:
(6)
∂
f
(
x
0
,
y
0
,
z
0
)
∂
x
0
=
-
x
j
-
x
0
ρ
0
j
,
∂
f
(
x
0
,
y
0
,
z
0
)
∂
y
0
=
-
y
j
-
y
0
ρ
0
j
,
∂
f
(
x
0
,
y
0
,
z
0
)
∂
z
0
=
-
z
j
-
z
0
ρ
0
j
.
The equation of pseudorange without considering the unmodelled errors can be rewritten as in
(7)
P
j
=
ρ
0
j
-
x
j
-
x
0
ρ
0
j
Δ
x
i
-
y
j
-
y
0
ρ
0
j
Δ
y
i
-
z
j
-
z
0
ρ
0
j
Δ
z
i
.
Equation (7) can then be simplified as below:
(8)
l
j
=
a
x
i
j
Δ
x
i
+
a
y
i
j
Δ
y
i
+
a
z
i
j
Δ
z
i
+
c
Δ
t
i
,
where
(9)
l
j
=
P
j
-
ρ
0
j
,
a
x
i
j
=
-
x
j
-
x
0
ρ
0
j
,
a
y
i
j
=
-
y
j
-
y
0
ρ
0
j
,
a
z
i
j
=
-
z
j
-
z
0
ρ
0
j
.
If we write (8) for all of the observations (all in-sight satellites), we obtain the developed formula as in
(10)
[
l
1
l
2
l
3
⋮
l
J
]
=
[
a
x
i
1
a
y
i
1
a
z
i
1
c
a
x
i
2
a
y
i
2
a
z
i
2
c
a
x
i
3
⋮
a
y
i
3
⋮
a
z
i
3
⋮
c
⋮
a
x
i
J
a
y
i
J
a
z
i
J
c
]
[
Δ
x
i
Δ
y
i
Δ
z
i
Δ
t
i
]
.
The matrix representation of (10) is stated as in
(11)
L
→
=
A
X
→
.
Equation (11) is solved using linear LS, as the number of observation equations is greater than number of unknowns. The LS solution for (11) is given by
(12)
Δ
x
i
=
(
A
i
T
A
i
)
-
1
A
i
T
L
→
i
,
where L
→
i is a vector of n observations (the number of available satellites should be at least four) at epoch t
i, Δ
x
i is a vector of four unknowns at epoch t
i, and A
i is the design matrix at epoch t
i with dimension of n
×
4. By using this equation the amount of (Δ
x
i,Δ
y
i,Δ
z
i) is resulted. Then from (2) the coordination of the receiver is obtained [14, 18].


## 4. Observations Weight

Weighting observations is done based on their qualities. The weight of observation is inversely proportional to variance. Because of correlation between data, the covariance matrix is explained as in(13)
Σ
=
[
σ
x
1
2
σ
x
1
x
2
⋯
σ
x
1
x
n
σ
x
2
x
1
σ
x
2
2
⋯
σ
x
2
x
n
⋮
⋮
⋱
⋮
σ
x
n
x
1
σ
x
n
x
2
⋯
σ
x
n
2
]
,
where σ
x
i
2 is the variance of ith observation and σ
x
i
x
j is the variance between the jth and ith observation [19]. If there is no correlation between data, all of the off-diagonal terms are zero and covariance matrix will be diagonal. In this case, the cofactor matrix of observations can be expressed as follows:
(14)
Q
P
i
=
1
σ
0
2
Σ
P
i
=
[
σ
1
2
σ
0
2
0
⋯
0
0
σ
2
2
σ
0
2
⋯
0
⋮
⋮
⋱
⋮
0
0
⋯
σ
n
2
σ
0
2
]
,
where Q
P
i is the cofactor matrix of pseudorange observations at epoch t
i and σ
0
2 is the reference variance. So the weight matrix of the observations can be calculated as
(15)
W
i
=
Q
P
i
-
1
=
σ
0
2
Σ
P
i
-
1
.
In case that the cofactor matrix is diagonal, its reverse would be diagonal. Therefore, the weight matrix is also diagonal. As a result, it could be summarized as below:
(16)
w
i
(
n
)
=
σ
0
2
σ
i
2
(
n
)
.
Now the equation of LS in (12) is changed to
(17)
Δ
x
i
=
(
A
i
T
W
i
A
i
)
-
1
A
i
T
W
i
P
r
i
=
(
A
i
T
Q
P
i
-
1
A
i
)
-
1
A
i
T
Q
P
i
-
1
P
r
i
.


## 5. Variance Estimation Methods: Calculation of Weight Matrix

The functional model for processing GPS phase observations is well understood, but the establishment of an appropriate stochastic model is still an issue. This is mainly due to physical correlations, random noise observation, and unmodelled systematic effects, for example, signal distortion effects [20, 21]. Since the quality of observation has the reverse equation with the variance, so the reverse of variance matrix can be used as weight matrix. Therefore, by assigning less weight to data with more noise, while using noisy data in determining position it can reduce the effect of them and achieve more precision. In this paper, we use two factors for decision about quality (elevation angle and signal-to-noise ratio (C
/
N
0)) and study different ways for estimating variance of observation based on these quality factors.


### 5.1. Estimating Variance of Observation with Sigma exp

In this method, variance of each observation is estimated as an exponential function of elevation angle based on(18)
σ
i
2
(
n
)
=
a
+
exp
⁡
(
-
E
l
i
(
n
)
θ
0
)
,
where σ
i
(
n
) is the variance of nth observation at epoch t
i and E
l
i
(
n
) is the elevation angle of nth satellite at epoch t
i. a and θ
0 are also constant parameters which are obtained experimentally [18].


### 5.2. Estimating Variance of Observation with Sinusoidal Function

The most widely used model is sinusoidal function, which can be expressed by (19) or (20):
(19)
σ
i
2
(
n
)
=
1
si
n
2
(
E
l
i
(
n
)
)
,
(20)
σ
i
2
(
n
)
=
a
2
+
b
2
si
n
2
(
E
l
i
(
n
)
)
,
where a and b are the experimental values [22].


### 5.3. Estimating Variance of Observation with Tangential Function

In this method, variance is obtained by using tan of elevation angle as bellow:(21)
σ
i
2
(
n
)
=
1
ta
n
2
(
E
l
i
(
n
)
-
θ
0
)
,
where θ
0 is a slight adjustment to avoid the singularity tan
(
90
)
=
0 [23].


### 5.4. Estimating Variance of Observation with Sigmaε

This model uses the measured signal-to-noise ratios for determination of the variance of observations:(22)
σ
i
2
(
n
)
=
a
exp
⁡
(
C
/
N
0
10
)
,
where C
/
N
0 is a measured carrier-to-noise power-density ratio expressed as a ratio (equal to 1
0
(
C
/
N
0
)
/
10 for C
/
N
0 expressed in dB-Hz) and a is a model parameter that is equal to 0.244 m2 Hz [24].


### 5.5. Estimating Variance of Observation with SigmaΔ

Let us introduceΔ as the difference between the measured C
/
N
0 value and the template value at the appropriate satellite elevation. To investigate the distinction between a clear signal and a signal affected by diffraction effects, Brunner et al. found out that such signals generally have lower C
/
N
0 values than clear signals at the same elevation [25]. Thus, they constructed C
/
N
0 versus elevation plots, termed template values. Now Δ can be used as an indicator for diffraction noise, which yields a larger variance than σ
i
(
n
) from (22). Therefore, we can estimate the variance using
(23)
σ
i
2
(
n
)
=
a
exp
⁡
(
C
/
N
0
-
α
·
Δ
10
)
,
where Δ is a deviation from C
/
N
0 template (dB-Hz), α is empirical constant factor (equal to 2.0), and a is a model parameter that is equal to 0.244 m2 Hz [25]. This model uses the C
/
N
0 value and the carrier tracking loop bandwidth to estimate variance by
(24)
σ
i
2
(
n
)
=
B
C
/
N
0
λ
2
π
,
where B is the carrier tracking loop bandwidth (Hz) and λ is the wavelength of the carrier (m) [26].


## 5.1. Estimating Variance of Observation with Sigma exp

In this method, variance of each observation is estimated as an exponential function of elevation angle based on(18)
σ
i
2
(
n
)
=
a
+
exp
⁡
(
-
E
l
i
(
n
)
θ
0
)
,
where σ
i
(
n
) is the variance of nth observation at epoch t
i and E
l
i
(
n
) is the elevation angle of nth satellite at epoch t
i. a and θ
0 are also constant parameters which are obtained experimentally [18].


## 5.2. Estimating Variance of Observation with Sinusoidal Function

The most widely used model is sinusoidal function, which can be expressed by (19) or (20):
(19)
σ
i
2
(
n
)
=
1
si
n
2
(
E
l
i
(
n
)
)
,
(20)
σ
i
2
(
n
)
=
a
2
+
b
2
si
n
2
(
E
l
i
(
n
)
)
,
where a and b are the experimental values [22].


## 5.3. Estimating Variance of Observation with Tangential Function

In this method, variance is obtained by using tan of elevation angle as bellow:(21)
σ
i
2
(
n
)
=
1
ta
n
2
(
E
l
i
(
n
)
-
θ
0
)
,
where θ
0 is a slight adjustment to avoid the singularity tan
(
90
)
=
0 [23].


## 5.4. Estimating Variance of Observation with Sigmaε

This model uses the measured signal-to-noise ratios for determination of the variance of observations:(22)
σ
i
2
(
n
)
=
a
exp
⁡
(
C
/
N
0
10
)
,
where C
/
N
0 is a measured carrier-to-noise power-density ratio expressed as a ratio (equal to 1
0
(
C
/
N
0
)
/
10 for C
/
N
0 expressed in dB-Hz) and a is a model parameter that is equal to 0.244 m2 Hz [24].


## 5.5. Estimating Variance of Observation with SigmaΔ

Let us introduceΔ as the difference between the measured C
/
N
0 value and the template value at the appropriate satellite elevation. To investigate the distinction between a clear signal and a signal affected by diffraction effects, Brunner et al. found out that such signals generally have lower C
/
N
0 values than clear signals at the same elevation [25]. Thus, they constructed C
/
N
0 versus elevation plots, termed template values. Now Δ can be used as an indicator for diffraction noise, which yields a larger variance than σ
i
(
n
) from (22). Therefore, we can estimate the variance using
(23)
σ
i
2
(
n
)
=
a
exp
⁡
(
C
/
N
0
-
α
·
Δ
10
)
,
where Δ is a deviation from C
/
N
0 template (dB-Hz), α is empirical constant factor (equal to 2.0), and a is a model parameter that is equal to 0.244 m2 Hz [25]. This model uses the C
/
N
0 value and the carrier tracking loop bandwidth to estimate variance by
(24)
σ
i
2
(
n
)
=
B
C
/
N
0
λ
2
π
,
where B is the carrier tracking loop bandwidth (Hz) and λ is the wavelength of the carrier (m) [26].


## 6. Simulations Results

Rohde & Schwarz GNSS simulator is used to generate raw GPS data such as pseudorange, integrated carrier phase, Doppler shift, and satellite ephemeris. The GNSS simulator in the R&S SMBV100A includes the ability to simulate realistic transmission conditions through the use of multipath signal generation and modeling of various atmospheric effects. In the motion of an aircraft containing GNSS receiver, simulator is used to model effects that impact GNSS receiver performance, such as atmospheric conditions, multipath reflections, antenna characteristics, and interference signals.The simulations are done for six different scenarios in Matlab. The first scenario corresponds to the movement of a mobile object in the air with velocity of 90 m/s. The second to fourth scenarios correspond to the moving object with circular motions along thez and y-axis with different velocities (100 m/s, 500 m/s, and 3500 m/s). The fifth scenario corresponds to a rectangular motion with maximum velocity of 3200 m/s and the last scenario corresponds to a movement in space with velocity of 7300 m/s.The movement paths of these objects are shown in Figures1, 2, 3, and 4. Meanwhile, the results of positioning based on WLS method that is combined with seven methods of variance estimation are presented in Table 1. Figures 5, 6, 7, 8, 9, 10, 11, 12, 13, and 14 show the result of positioning and positioning errors for different scenarios.Table 1
The RMS error[m] of positioning for eight methods.
Scenarios
Methods
WLS
WLS + sigmaΔ
WLS + sigmaε
WLS + sigma exp
WLS + sigmasin
⁡
⁡
1
WLS + sigmasin
⁡
⁡
2
WLS + sigma tan⁡
WLS + sigma SNR
Air
14.777
8.453
14.259
8.420
11.039
10.688
10.438
12.867
Circular 1
12.293
8.399
11.788
6.720
9.965
8.928
7.616
9.974
Circular 2
12.288
8.399
11.786
6.720
9.964
8.927
7.616
9.973
Circular 3
12.080
8.397
11.792
6.720
9.966
8.928
7.616
9.976
Rectangular
25.267
10.053
24.734
9.273
16.564
14.976
13.134
21.834
Space
8.798
3.528
9.144
2.868
4.701
4.231
3.633
7.260Figure 1
Move in the air with velocity of 90 m/s.Figure 2
Circular motion with velocity of 3500 m/s.Figure 3
Rectangular motion with velocity of 3200 m/s.Figure 4
Move in space with velocity of 7200 m/s.Figure 5
Positioning result for circular motion with velocity of 100 m/s.Figure 6
Positioning error for circular motion with velocity of 100 m/s.Figure 7
Positioning result for circular motion with velocity of 500 m/s.Figure 8
Positioning error for circular motion with velocity of 500 m/s.Figure 9
Positioning result for circular motion with velocity of 3500 m/s.Figure 10
Positioning error for circular motion with velocity of 3500 m/s.Figure 11
Positioning result for rectangular motion with velocity of 3200 m/s.Figure 12
Positioning error for rectangular motion with velocity of 3200 m/s.Figure 13
Positioning result for move in space with velocity of 7300 m/s.Figure 14
Positioning error for move in space with velocity of 7300 m/s.It is observed that, among all methods, the WLS method combined with the method of sigma exp has the best performance and cause a great decrease of error than the LS method. The considerable matter about all these methods is that for starting algorithm there is no need to know that the primary point and error of methods are independent of primary point.


## 7. Conclusion

Vehicle positioning in high velocities is very important. In this paper, seven methods are discussed for determining position using the WLS method combined with methods of variance estimating for weighting the observation based on their qualities in conditions that the velocity of movement is very high. The results of simulation show that the WLS method combined with the sigma exp variance estimation method has the best performance and causes a great decrease of errors than the other methods. If the weight matrix for data that there are correlations between them is computed, it is possible to achieve high precision. Simulations on different scenarios data with different velocities from 100 m/s to 7000 m/s emphasized that proposed method significantly improved the accuracy of the resulting positions more than 50%.



---

*Source: 435891-2014-06-29.xml*