Mathematical Problems in Engineering

Mathematical Problems in Engineering / 2012 / Article
Special Issue

Mathematical Methods Applied to the Celestial Mechanics of Artificial Satellites

View this Special Issue

Research Article | Open Access

Volume 2012 |Article ID 596396 |

Leandro Baroni, Hélio Koiti Kuga, "Analysis of Attitude Determination Methods Using GPS Carrier Phase Measurements", Mathematical Problems in Engineering, vol. 2012, Article ID 596396, 10 pages, 2012.

Analysis of Attitude Determination Methods Using GPS Carrier Phase Measurements

Academic Editor: Silvia Maria Giuliatti Winter
Received15 Nov 2011
Accepted19 Jan 2012
Published26 Mar 2012


If three or more GPS antennas are mounted properly on a platform and differences of GPS signals measurements are collected simultaneously, the baselines vectors between antennas can be determined and the platform orientation defined by these vectors can be calculated. Thus, the prerequisite for attitude determination technique based on GPS is to calculate baselines between antennas to millimeter level of accuracy. For accurate attitude solutions to be attained, carrier phase double differences are used as main type of measurements. The use of carrier phase measurements leads to the problem of precise determination of the ambiguous integer number of cycles in the initial carrier phase (integer ambiguity). In this work two algorithms (LSAST and LAMBDA) were implemented and tested for ambiguity resolution allowing accurate real-time attitude determination using measurements given by GPS receivers in coupled form. Platform orientation was obtained using quaternions formulation, and the results showed that LSAST method performance is similar to LAMBDA as far as the number of epochs which are necessary to resolve ambiguities is concerned, but with processing time significantly higher. The final result accuracy was similar for both methods, better than 0.1° to 0.2°, when baselines are considered in decoupled form.

1. Introduction

Global Navigation Satellite Systems (GNSSs) are satellite-based radionavigation systems, providing to worldwide users precise position and timing. System satellites transmit radio-frequency signals containing information required for the user equipment to compute its navigation solution (position, velocity, and time). GNSS can also be used to determine attitude of a platform, in which three or more antennas are needed to calculate attitude parameters [1].

If three or more GNSS antennas properly mounted on a platform and differences of GNSS signals measurements are collected simultaneously, baselines vectors formed between antennas can be determined, and orientation of the platform defined by these vectors can be calculated. Thus, the prerequisite for the attitude determination technique based on GNSS systems is to calculate the baselines between the antennas.

Accurate attitude solutions can be obtained using carrier phase double difference observables as the main type of measurements, including all independent combinations of antenna positions. Baselines between antennas must be determined in millimeter level of accuracy. Typically, the distance between the antennas is a few meters or less, and all spatially correlated errors between the antennas are almost eliminated in differencing (single and double) process, including orbital, ionospheric, and tropospheric errors. Therefore, main error sources affecting attitude determination are the multipath, receiver internal noise, and antenna phase center variation [2].

The use of carrier phase measurements leads to the problem of determining precisely the ambiguous initial carrier phase integer number of cycles (integer ambiguity). To increase confidence and accelerate the process by limiting the search space, three types of restrictions can be established from prior knowledge of the antenna fixed geometry: (i) length of the baseline, (ii) angle between baselines, and (iii) knowledge of the geometry of the antennas as a network in which double difference ambiguities must satisfy a closed loop condition [2]. Recently, several studies have focused on increasing the success rate of resolving ambiguity process using the restrictions, as in [3, 4]. References [5, 6] show phase measurements usage and performance of solving integer ambiguity methods in positioning applications. [7] Reference develops a procedure to determine satellite attitude in three axes with GPS associated with a gyro, and resolving ambiguities with the method described in [8]. Thus, the resolving ambiguity process is an important step to determine an accurate baseline vector, resulting in an accurate attitude determination.

A common attitude representation is done by Euler angles. This parameterization has difficult computation in general, because of the use of trigonometric functions and the appearance of a singularity in the motion modeling. Another way to attitude parameterization is using quaternions. This parameterization has some advantages over Euler angles; it is computationally efficient, there is no singularity, and it does not depend on trigonometric functions [9].

So, in this work an implementation and analysis of algorithms for integer ambiguity resolution allowing accurate attitude determination in real time, using measurements provided by GPS receivers, will be tested. Algorithm tests, using quaternions for attitude representation, will be implemented with real data, collected at INPE and described in [7]. In this experiment, three antennas were fixed on a structure with known baseline lengths (1 m) and angle between baselines of 90°. The tests were executed with the methods LAMBDA and LSAST for ambiguity resolution.

least-squares ambiguity decorrelation adjustment (LAMBDA) method is a procedure for integer ambiguity estimation in carrier phase measurements. This method executes the integer ambiguity estimation through a Z transform, in which ambiguities are decorrelated before the integer values search process. Then, a minimization problem is approached as a discrete search inside an ellipsoidal region defined by decorrelated ambiguities, which is smaller than original ones. As a result, integer least-squares estimates for the ambiguities are obtained. This method was introduced in [10, 11]. References [12, 13] show computational implementation aspects and ambiguity search space reducing performance.

Least-Squares Ambiguity Solution Technique (LSAST) method, also known as LSAST method, was proposed in [14]. This method involves a modified sequential least-squares technique, in which ambiguity parameters are divided into two groups: primary ambiguities (typically three double difference ambiguities), and the secondary ambiguities. Only the primary ambiguities are fully searched, in cycles around the corresponding float ambiguity, after rounded to the nearest integer. For each set of the primary ambiguities, there is a unique set of secondary ambiguities. Therefore, the search dimension is smaller and the computation time is significantly shorter than the full search approach. The choice of primary group measurements is based on GDOP value. geometric dilution of precision (GDOP) is a quantity which measures the influence of satellite geometry on positioning errors. Satellites with low GDOP will lead to a search with less-potential solutions. However, GDOP cannot be very low, in order to avoid the position uncertainty including more than one solution for secondary group measurements. The procedure is to choose primary group of satellites which have a reasonable GDOP.

2. Attitude Representation

Euler angles are a means of representing the spatial orientation of any coordinate system as a composition of rotations from a frame of reference. These angles uniquely determine the orientation of a rigid body in three-dimensional space. There are several conventions for defining the Euler angles, depending on the choice of axes and the order in which rotations about these axes are performed. A matrix expression can be found for any frame given its Euler angles, performing three rotations in sequence. Here, Euler angles are denoted as is pitch, is roll, and is yaw. The resulting rotation matrix is given in convention Expanding the rotation matrix, Quaternion is determined in function of rotation angle and rotation axis and is composed by a scalar term and a vector term [15] with Rotation matrix is given in terms of quaternions as where is an third-order identity matrix, and Or explicitly, Euler angles can be calculated from rotation matrix as

3. Ambiguity Resolution

When distance between receivers is short (until 10 km), ionospheric and tropospheric residuals are small compared to multipath and internal receiver noise errors. Thus, for a short baseline, carrier phase double-difference measurements () are [16] where is unit vector pointing from base to satellite , is baseline vector, is the integer ambiguity, and is a vector representing unmodeled errors. If satellites were in view simultaneously, then there are () double difference measurements. In matrix form, taking as master satellite, (3.1) becomes or Equation (3.3) is the measurement model considered for ambiguity resolution. Results were obtained for ambiguity resolution from the same estimation process using a Kalman filter, and processing code and carrier phase measurements. Ambiguity resolution is done epoch to epoch, applying LAMBDA and LSAST methods on real-valued (float) ambiguities given by the Kalman filter.

4. Results

Data used in this study were originally collected for use in [7] on March 30th, 2005. Three GPS receivers were used, and their antennas were fixed on a frame allowing the knowledge of the baseline lengths (1 m) and the angle between them (90°). The sampling rate was 1 Hz, collected only in L1 carrier frequency. Figure 1 illustrates that the antenna mounting configuration and equipments used are listed below:(i)3 AllStar CMC GPS receivers (Canadian Marconi Space Company) and(ii)3 AllStar CMC model AT 575-70 GPS antennas.

GPS measurements were processed to obtain a precise baseline length. Ambiguity resolution was made using LAMBDA and LSAST methods. Each baseline was independently determined to form a frame, whose attitude is calculated referred to the east-north-up reference system. Rotation matrix, obtained by quaternions, is transformed to Euler angles using (2.8), in order to give a geometric view of orientation. All algorithms were implemented in Matlab language, using a computer with 4 Gb RAM, Intel Core i3 processor, and Windows 7 operating system. Three data sets were tested.

Data Set 1
In this test, same 8 satellites were kept in view (SV04, SV08, SV13, SV19, SV23, SV27, SV28 e SV31), resulting in 7 double difference measurements. SV13 was chosen as master satellite, because of its high elevation. Ambiguity resolution methods use a Kalman filter to obtain real-valued (float) ambiguities. Kalman filter needs some epochs to converge to an ambiguity solution, and thus to a given baseline. Data were free of cycle slips.
In this way, LAMBDA method presents a solution with correct values of ambiguities after 107 epochs, while LSAST method takes 157 epochs to reach the correct values. Graphs in Figure 2 show Euler angles values after the correct solution is reached.
Table 1 shows the statistics for the angle values in each method after ambiguities are correctly solved. These results show that baseline orientation could be determined with accuracy better than 0.1° in both methods although LSAST method has taken longer to deliver the correct solution.
LSAST method sweeps a fixed number of cycles in satellite primary set, leading to a slower search. This method had a mean processing time of  ms for resolving 7 ambiguities. Mean processing time of LAMBDA method was  ms after ambiguities are solved due to small search space of candidate ambiguities. Considering whole set, processing time was  ms because search space was larger. Processing time is shown on Figure 5(a).

Angle [°]MeanSDMeanSD


Data Set 2
In this set, 7 satellites were visible (SV08, SV13, SV19, SV23, SV27, SV28, and SV31), resulting in 6 double difference measurements. SV13 was taken as master satellite. Data were free of cycle slips.
Graphs in Figure 3 show platform roll, pitch, and yaw angles. For this set, both LAMBDA and LSAST methods converged to correct ambiguity values after 141 epochs. Table 2 shows mean and standard deviation values for Euler angles after a stable solution is reached. The accuracy is very similar in both methods, once number of epochs necessary for getting ambiguity solution is the same.
In this test, mean processing time was  ms for LAMBDA method in whole set, and  ms after reaching correct solution. For LSAST, processing time was  ms to solve 6 ambiguities (Figure 5(b)).

Angle [°]MeanSDMeanSD


Data Set 3
This data set had the same visible satellites as Data Set 2. Both LAMBDA and LSAST methods present solutions for ambiguities after 320 epochs. Graphs in Figure 4 show the Euler angles obtained by both ambiguities resolution methods. Table 3 shows mean and standard deviation values for roll, pitch, and yaw angles.
The average processing time for ambiguity resolution step, whenever a successful solution is obtained, is  ms, and whole set processing time was  ms with LAMBDA method, and  ms with LSAST method. Processing time in LSAST method increases along the time due to changing satellite geometry (Figure 5(c)).

Angle [°]MeanSDMeanSD


5. Conclusions

Due to short baseline (1 m), both methods have a tendency to solve ambiguities for the same number of epochs, as filter converges. Both LAMBDA and LSAST methods had a similar performance in number of epochs needed to give the correct solution; however, processing time of LSAST method was significantly longer. This is due to the fact that LSAST method performs a systematic search throughout the primary set of measurements, while LAMBDA optimizes the search space as a whole. Processing time for LAMBDA method is search space size dependant [13]. The smaller search space, the shorter processing time. This can be verified by mean time to process the whole set compared to partial solution.

The accuracy of final result is also similar for both methods, better than 0.1° to 0.2°, once they find the same ambiguity set. The small variations are due to difference in number of epochs to obtain the solution. Data Set 2 and Data Set 3 showed same mean values and standard deviation for Euler angles. This occurs because the only difference in algorithms is resolution ambiguity routine. Once ambiguities were resolved to the same values, statistics must be equal. LAMBDA method also has an extensive series of studies documented in the literature.

Attitude estimation using quaternions led to the same values when using a rotation matrix based on Euler angles, as results showed in [17]. The main difference is processing time, slightly longer with quaternions. This is probably due to conversion of results to Euler angles, which uses trigonometric functions. However, quaternions can be useful to avoid singularity situations.

Using dual frequency measurements is not necessary for the mitigation of ionospheric errors since the baselines are short but can be useful for a faster ambiguity resolution, for example, using widelane technique. If compared with the use of GPS alone, measurements from two different GNSS systems can certainly improve the attitude determining accuracy as result of increased number of measurements and improved satellite geometry. This can be accomplished with the use of GPS/GLONASS and future GPS/Galileo receivers.


  1. B.W. Parkinson and J.J. Spilker Jr., Global Positioning System: Theory and Applications, vol. 1-2, 1996. View at: Zentralblatt MATH
  2. A. El-Mowafy and A. Mohamed, “Attitude determination from GNSS using adaptive Kalman filtering,” Journal of Navigation, vol. 58, no. 1, pp. 135–148, 2005. View at: Publisher Site | Google Scholar
  3. J. Pinchin, “Enhanced integer bootstrapping for single frequency GPS attitude determination,” in Proceedings of the 21st International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS '08), pp. 1524–1532, Savannah, Ga, USA, September 2008. View at: Google Scholar
  4. G. Zheng and D. Gebre-Egziabher, “Enhancing ambiguity resolution performance using attitude determination constraints,” in Proceedings of the 22nd International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS '09), pp. 3598–3610, Savannah, Ga, USA, September 2009. View at: Google Scholar
  5. L. Baroni, H. K. Kuga, and K. O'Keefe, “Analysis of three ambiguity resolution methods for real time static and kinematic positioning of a GPS receiver,” in Proceedings of the 22nd International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS '09), pp. 2392–2400, Savannah, GA, USA, September 2009. View at: Google Scholar
  6. L. Baroni., Algoritmos de navegação em tempo real para um sistema GPS de posicionamento relativo de precisão (Real time navigation algorithms for a precise GPS relative positioning system), Ph.D. thesis, INPE, São José dos Campos, Brazil, 2009, (INPE-16598-TDI/1584).
  7. A. C. Louro, Determinação autônoma de atitude de satélites utilizando GPS (Autonomous satellite attitude determination using GPS), Ph.D. thesis, INPE, São José dos Campos, Brazil, 2006, (INPE-14091-TDI/1074).
  8. R. V. F. Lopes and H. K. Kuga, “Determinação de atitude em 3 eixos por interferometria GPS (Three-axis attitude determination by GPS interferometry),” in Plataforma Integrada Sensores Inerciais/GPS (Inertial sensor/GPS integrated platform), O. S. C. Durão, V. R. Schad, H. K. Kuga, R. V. F. Lopes, H. C. Carvalho, and M. Esper, Eds., INPE, São José dos Campos, Brazil, 2002, (INPE-9293-PRP/234). View at: Google Scholar
  9. R. V. Garcia, Filtro não linear de Kalman sigma-ponto com algoritmo unscented aplicado a estimativa dinâmica da atitude de satélites artificiais (Sigma point nonlinear Kalman filter with unscented algorithm applied to attitude dynamics estimation of artificial satellites), Ph.D. thesis, INPE, São José dos Campos, Brazil, 2011, (
  10. P. J. G. Teunissen, “Least-squares estimation of the integer GPS ambiguities,” in Proceedings of the IAG General Meeting (IAG '93), Beijing, China, 1993. View at: Google Scholar
  11. P. J. G. Teunissen, “New method for fast carrier phase ambiguity estimation,” in Proceedings of the IEEE Position Location and Navigation Symposium, pp. 562–573, Las Vegas, Mev, USA, April 1994. View at: Google Scholar
  12. P. J. de Jonge and C. C. J. M. Tiberius, “The LAMBDA method for integer ambiguity estimation: implementation aspects,” Tech. Rep., Delft University of Technology, 1996. View at: Google Scholar
  13. P. J. de Jonge, C. C. J. M. Tiberius, and P. J. G. Teunissen, “Computational aspects of the LAMBDA method for GPS ambiguity resolution,” in Proceedings of the 9th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS '96), pp. 935–944, Kansas City, Mo, USA, 1996. View at: Google Scholar
  14. R. R. Hatch, “Instantaneous ambiguity resolution,” in Proceedings of the KIS '90, pp. 299–308, Springer, Banff, Canada, 1990. View at: Google Scholar
  15. R. V. Garcia, H. K. Kuga, and M. C. Zanardi, “Unscented Kalman filter for spacecraft attitude estimation using quaternions and Euler angles,” in Proceedings of the 22 International Symposium on Space Flight Dynamics, São José dos Campos, Brazil, 2011. View at: Google Scholar
  16. P. Misra and P. Enge, Global Positioning System: Signals, Measurements and Performance, Ganga-Jamuna Press, Lincoln, Mass, USA, 2001.
  17. L. Baroni and H. K. Kuga, “Integer ambiguity resolution in attitude determination using GPS measurements,” in Proceedings of the 8th International Conference on Mathematical Problems in Engineering, Aerospace and Sciences (ICNPAA '10), São José dos Campos, Brazil, 2010. View at: Google Scholar

Copyright © 2012 Leandro Baroni and Hélio Koiti Kuga. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

More related articles

 PDF Download Citation Citation
 Download other formatsMore
 Order printed copiesOrder

Related articles

Article of the Year Award: Outstanding research contributions of 2020, as selected by our Chief Editors. Read the winning articles.