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%.
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 Section 2, 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)(X1-UX)2+(Y1-UY)2+(Z1-UZ)2=(P1-cΔTB)2,(X2-UX)2+(Y2-UY)2+(Z2-UZ)2=(P2-cΔTB)2,(X3-UX)2+(Y3-UY)2+(Z3-UZ)2=(P3-cΔTB)2,(X4-UX)2+(Y4-UY)2+(Z4-UZ)2=(P4-cΔTB)2.
In these equations, (UX,UY,UZ) are x, y, and z components of receiver (user) position, ΔTB is the time difference between receiver and satellite, (Xi,Yi,Zi) are three components of satellite position, Pi 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, (x0,y0,z0), the actual receiver coordinates can be expressed as
(2)xi=x0+Δxi,yi=y0+Δyi,zi=z0+Δzi.
In the above equation, (xi,yi,zi) shows the position of an object at epoch ti and (Δxi,Δyi,Δzi) explains the unknown amount of movement of the object at epoch ti. (xi,yi,zi) can be written as in
(3)(xi,yi,zi)=f(x0+Δxi,y0+Δyi,z0+Δzi).
Using Taylor’s series f(x0+Δxi,y0+Δyi,z0+Δzi) can be expanded as below:
(4)f(x0+Δxi,y0+Δyi,z0+Δzi)=f(x0,y0,z0)+∂f(x0,y0,z0)∂x0Δxi+∂f(x0,y0,z0)∂y0Δyi+∂f(x0,y0,z0)∂z0Δzi+12!∂2f∂x2+⋯.
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)Pij=ρij+cΔTB=(xj-xi)2+(yj-yi)2+(zj-zi)2+cΔTB,
where (xj,yj,zj) is the coordination of jth satellite, Pij shows the exact distance between jth satellite, and receiver at epoch ti and ρij shows the amount of pseudorange between jth satellite and receiver at epoch ti. Now by using (2) to (5), we can obtain the coefficients of linear clauses in Taylor expansion as follows:
(6)∂f(x0,y0,z0)∂x0=-xj-x0ρ0j,∂f(x0,y0,z0)∂y0=-yj-y0ρ0j,∂f(x0,y0,z0)∂z0=-zj-z0ρ0j.
The equation of pseudorange without considering the unmodelled errors can be rewritten as in
(7)Pj=ρ0j-xj-x0ρ0jΔxi-yj-y0ρ0jΔyi-zj-z0ρ0jΔzi.
Equation (7) can then be simplified as below:
(8)lj=axijΔxi+ayijΔyi+azijΔzi+cΔti,
where
(9)lj=Pj-ρ0j,axij=-xj-x0ρ0j,ayij=-yj-y0ρ0j,azij=-zj-z0ρ0j.
If we write (8) for all of the observations (all in-sight satellites), we obtain the developed formula as in
(10)[l1l2l3⋮lJ]=[axi1ayi1azi1caxi2ayi2azi2caxi3⋮ayi3⋮azi3⋮c⋮axiJayiJaziJc][ΔxiΔyiΔziΔti].
The matrix representation of (10) is stated as in
(11)L→=AX→.
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)Δxi=(AiTAi)-1AiTL→i,
where L→i is a vector of n observations (the number of available satellites should be at least four) at epoch ti, Δxi is a vector of four unknowns at epoch ti, and Ai is the design matrix at epoch ti with dimension of n×4. By using this equation the amount of (Δxi,Δyi,Δzi) 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)Σ=[σx12σx1x2⋯σx1xnσx2x1σx22⋯σx2xn⋮⋮⋱⋮σxnx1σxnx2⋯σxn2],
where σxi2 is the variance of ith observation and σxixj 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)QPi=1σ02ΣPi=[σ12σ020⋯00σ22σ02⋯0⋮⋮⋱⋮00⋯σn2σ02],
where QPi is the cofactor matrix of pseudorange observations at epoch ti and σ02 is the reference variance. So the weight matrix of the observations can be calculated as
(15)Wi=QPi-1=σ02ΣPi-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)wi(n)=σ02σi2(n).
Now the equation of LS in (12) is changed to
(17)Δxi=(AiTWiAi)-1AiTWiPri=(AiTQPi-1Ai)-1AiTQPi-1Pri.
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/N0)) 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)σi2(n)=a+exp(-Eli(n)θ0),
where σi(n) is the variance of nth observation at epoch ti and Eli(n) is the elevation angle of nth satellite at epoch ti. 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)σi2(n)=1sin2(Eli(n)),(20)σi2(n)=a2+b2sin2(Eli(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)σi2(n)=1tan2(Eli(n)-θ0),
where θ0 is a slight adjustment to avoid the singularity tan(90)=0 [23].
5.4. Estimating Variance of Observation with Sigma <inline-formula>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M91">
<mml:mrow>
<mml:mi>ε</mml:mi></mml:mrow>
</mml:math></inline-formula>
This model uses the measured signal-to-noise ratios for determination of the variance of observations:
(22)σi2(n)=aexp(C/N010),
where C/N0 is a measured carrier-to-noise power-density ratio expressed as a ratio (equal to 10(C/N0)/10 for C/N0 expressed in dB-Hz) and a is a model parameter that is equal to 0.244 m^{2} Hz [24].
5.5. Estimating Variance of Observation with Sigma <inline-formula>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M97">
<mml:mrow>
<mml:mi>Δ</mml:mi></mml:mrow>
</mml:math></inline-formula>
Let us introduce Δ as the difference between the measured C/N0 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/N0 values than clear signals at the same elevation [25]. Thus, they constructed C/N0 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)σi2(n)=aexp(C/N0-α·Δ10),
where Δ is a deviation from C/N0 template (dB-Hz), α is empirical constant factor (equal to 2.0), and a is a model parameter that is equal to 0.244 m^{2} Hz [25]. This model uses the C/N0 value and the carrier tracking loop bandwidth to estimate variance by
(24)σi2(n)=BC/N0λ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 the z 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 Figures 1, 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.
The RMS error [m] of positioning for eight methods.
Scenarios
Methods
WLS
WLS + sigma Δ
WLS + sigma ε
WLS + sigma exp
WLS + sigma sin1
WLS + sigma sin2
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.260
Move in the air with velocity of 90 m/s.
Circular motion with velocity of 3500 m/s.
Rectangular motion with velocity of 3200 m/s.
Move in space with velocity of 7200 m/s.
Positioning result for circular motion with velocity of 100 m/s.
Positioning error for circular motion with velocity of 100 m/s.
Positioning result for circular motion with velocity of 500 m/s.
Positioning error for circular motion with velocity of 500 m/s.
Positioning result for circular motion with velocity of 3500 m/s.
Positioning error for circular motion with velocity of 3500 m/s.
Positioning result for rectangular motion with velocity of 3200 m/s.
Positioning error for rectangular motion with velocity of 3200 m/s.
Positioning result for move in space with velocity of 7300 m/s.
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%.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
MosaviM. R.ShiroieM.Efficient evolutionary algorithms for GPS satellites classificationAzamiH.MosaviM.SaneiS.Classification of GPS satellites using improved back propagation training algorithmsMosaviM. R.EmamGolipourI.De-noising of GPS receivers positioning data using wavelet transform and bilateral filteringMosaviM. R.AzadM. S.EmamGholipourI.Position estimation in single-frequency GPS receivers using kalman filter with pseudo-range and carrier phase measurementsWenZ.HenkelP.GüuntherC.Reliable estimation of phase biases of GPS satellites with a local reference networkProceedings of the ELMARSeptember 2011Zadar, Croatia3213242-s2.0-80055100623CuiY. J.GeS. S.Autonomous vehicle positioning with GPS in urban canyon environments2Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '01)May 20011105111010.1109/ROBOT.2001.9327592-s2.0-0034873328EversH.KastiesG.Differential GPS in a real time land vehicle environment-satellite based van carrier location systemPikanderM.EskelinenP.Differential GPS dynamic location experiments at seaRezaeiS.SenguptaR.Kalman filter-based integration of DGPS and vehicle sensors for localizationYangQ.SunJ.A location method for autonomous vehicle based on integrated GPS/INSProceedings of the IEEE International Conference on Vehicular Electronics and Safety (ICVES '07)December 2007Beijing, China1410.1109/ICVES.2007.44563762-s2.0-50249108427YuJ.ChenX.Application of extended Kalman filter in ultra-tight GPS/INS integration based on GPS software receiverProceedings of the 1st International Conference on Vehicular Green Circuits and Systems (ICGCS '10)June 2010828610.1109/ICGCS.2010.55430922-s2.0-77956589963DefraigneP.HarmegniesA.PetitG.Time and frequency transfer combining GLONASS and GPS dataProceedings of the IEEE Joint Conference on Frequency Control and the European Frequency and Time ForumMay 2011San Fransisco, Calif, USA1510.1109/FCS.2011.59778892-s2.0-80155213260ZhaoX.QianY.ZhangM.NiuJ.KouY.An improved adaptive Kalman filtering algorithm for advanced robot navigation system based on GPS/INSProceedings of the IEEE International Conference on Mechatronics and Automation (ICMA '11)August 20111039104410.1109/ICMA.2011.59858032-s2.0-81055138840ThipparthiS. N.KrauseL. O.A direct solution to GPS-type navigation equationsHeY.MartinR.BilgicA. M.Approximate iterative least squares algorithms for GPS positioningProceedings of the IEEE International Symposium on Signal Processing and Information Technology (ISSPIT '10)December 2010Luxor, Egypt23123610.1109/ISSPIT.2010.57117842-s2.0-79952380174DuX.LiuL.LiH.Experimental study on GPS non-linear least squares positioning algorithm2Proceedings of the International Conference on Intelligent Computation Technology and Automation (ICICTA '10)May 2010Changsha, China26226510.1109/ICICTA.2010.6512-s2.0-77955698226Amiri-SimkooeiA. R.TeunissenP. J. G.TiberiusC. C. J. M.Application of least-squares variance component estimation to GPS observablesWieserA.BrunnerF. K.Short static GPS sessions: robust estimation resultsWieserA.BrunnerF. K.SIGMA-F: variances of GPS observations determined by a fuzzy systemProceedings of the IAG Scientific Assembly200116LiJ.WuM.The improvement of positioning accuracy with weighted least square based on SNRProceedings of the 5th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM '09)September 2009Beijing, China1410.1109/WICOM.2009.53026002-s2.0-73149087299ZengF.DaiW.ZhuJ.WangX.Single-point positioning with the pseudo-range of single-frequency GPS considering the stochastic modelCollinsJ. P.LangleyR. B.WieserA.BrunnerF. K.An extended weight model for GPS phase observationsBrunnerF. K.HartingerH.TroyerL.GPS signal diffraction modelling: the stochastic SIGMA-δ modelLangleyR. B.GPS receiver system noise