# Analysis of Attitude Determination Methods Using GPS Carrier Phase Measurements

Authors: Leandro Baroni; Hélio Koiti Kuga
Journal: Mathematical Problems in Engineering
 (2012)

---

## Abstract

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.


---

## Body

## 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 ±5 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(2.1)R(θ,ψ,ϕ)=Rx(ϕ)Ry(θ)Rz(ψ).
Expanding the rotation matrix,(2.2)R=[cos⁡⁡θcos⁡⁡ψcos⁡⁡θsin⁡⁡ψ-sin⁡⁡θsin⁡⁡ϕsin⁡⁡θcos⁡⁡ψ-cos⁡⁡ϕsin⁡⁡ψsin⁡⁡ϕsin⁡⁡θsin⁡⁡ψ+cos⁡⁡ϕcos⁡⁡ψcos⁡⁡θsin⁡⁡ϕcos⁡⁡ϕsin⁡⁡θcos⁡⁡ψ+sin⁡⁡ϕsin⁡⁡ψcos⁡⁡ϕsin⁡⁡θsin⁡⁡ψ-sin⁡⁡ϕcos⁡⁡ψcos⁡⁡θcos⁡⁡ϕ].
Quaternion q is determined in function of rotation angle φ and rotation axis n̂ and is composed by a scalar term q4 and a vector term q⃗ [15](2.3)q=[q1q2q3q4]T=[q⃗Tq4]T,
with(2.4)q⃗=[q1q2q3]T=sin⁡⁡(φ2)n̂,q4=cos⁡⁡(φ2).
Rotation matrix is given in terms of quaternions as(2.5)R(q)=(|q4|2-|q⃗|2)I3+2q⃗q⃗T+2q4⟦q⃗⟧,
where I3 is an third-order identity matrix, and(2.6)⟦q⃗⟧=[0q3-q2-q30q1q2-q10].
Or explicitly,(2.7)R(q)=[q12-q22-q32+q422(q1q2+q3q4)2(q1q3-q2q4)2(q1q2-q3q4)-q12+q22-q32+q422(q2q3+q1q4)2(q1q3+q2q4)2(q2q3-q1q4)-q12-q22+q32+q42].
Euler angles can be calculated from rotation matrix as(2.8)[ϕθψ]=[atan2⁡[2(q2q3+q1q4),-q12-q22+q32+q42]asin⁡[2(q2q4-q1q3)]atan2⁡[2(q1q2+q3q4),q12-q22-q32+q42]].


## 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 (ϕubij) are [16](3.1)ϕubij=(1bi-1bj)⋅xub+λNubij+ϵub,ϕij,
where 1bi is unit vector pointing from base to satellite i,xub is baseline vector, Nubij is the integer ambiguity, and ϵis a vector representing unmodeled errors. If m satellites were in view simultaneously, then there are (m-1) double difference measurements. In matrix form, taking M as master satellite, (3.1) becomes(3.2)[ϕub1M⋮ϕub(m-1)M]=[1b1-1bM⋮1b(m-1)-1bM]xub+λ[Nub1M⋮Nub(m-1)M]+ϵ,
or(3.3)y=Hxub+λN+ϵ.
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.Figure 1
Antenna configuration in data acquisition.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 Figure2 show Euler angles values after the correct solution is reached.
Table1 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 of140±32 ms for resolving 7 ambiguities. Mean processing time of LAMBDA method was 11±1 ms after ambiguities are solved due to small search space of candidate ambiguities. Considering whole set, processing time was 18±25 ms because search space was larger. Processing time is shown on Figure 5(a).Table 1
Mean and standard-deviation (SD) for data set 1.
LAMBDALSASTAngle [°]MeanSDMeanSDRoll0.1360.1320.0970.014Pitch0.4820.0600.5200.028Yaw−6.4880.045−6.4780.001Euler angles for data set 1.
(a)
LAMBDA(b)
LSASTData 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 Figure3 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 was11±17 ms for LAMBDA method in whole set, and 8±1 ms after reaching correct solution. For LSAST, processing time was 154±55 ms to solve 6 ambiguities (Figure 5(b)).Table 2
Mean and standard-deviation (SD) for data set 2.
LAMBDALSASTAngle [°]MeanSDMeanSDRoll1.8390.1901.8390.190Pitch−0.8200.079−0.8200.079Yaw−5.6080.056−5.6080.056Euler angles for data set 2.
(a)
LAMBDA(b)
LSASTData 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 Figure4 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, is7±2 ms, and whole set processing time was 9±11 ms with LAMBDA method, and 137±39 ms with LSAST method. Processing time in LSAST method increases along the time due to changing satellite geometry (Figure 5(c)).Table 3
Mean and standard deviation (SD) for data set 3.
LAMBDALSASTAngle [°]MeanSDMeanSDRoll1.0490.3061.0490.306Pitch0.5570.1160.5570.116Yaw−5.6120.178−5.6120.178Euler angles for data set 3.
(a)
LAMBDA(b)
LSASTProcessing time for all data sets.
(a)
Data set 1(b)
Data set 2(c)
Data set 3


## 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.



---

*Source: 596396-2012-03-26.xml*