Paper Menu >>
Journal Menu >>
![]() Journal of Global Positioning Systems (2005) Vol. 4, No. 1-2: 207-214 Ambiguity Resolution in GPS-based, Low-cost Attitude Determination Shenglin Fan1,2 1School of Mathematical and Geospatial Sciences, RMIT University, Victoria, Australia Email: shenglin.fan@rmit.edu.au, Tel: +61-3-99253278; Fax: +61-3-96632517 2Nanjing university of Aeronautics & Astronautics, Nanjing, Jiangsu Province, China Email: slfan@nuaa.edu.cn, Tel: 61 +86-25-84892304; Fax: +86-25-84892184 Kefei Zhang, Falin Wu School of Mathemat i ca l an d G eospatial Sciences, RMIT University, Victoria, Australia Email: kefei.zhang@rmit.edu.au, Tel: +61-3-99253272; Fax: +61-3-96632517 Received: 22 April 2005 / Acc epted: 12 July 2005 Abstract. Reliable determination of integer ambiguities is a critical issue in high-precision global positioning system (GPS) applications such as kinematic positioning, fast control surveying and attitude determination. This paper discusses the integer ambiguity resolution procedures in attitude determination using single frequency carrier phase measurements. An optimised ambiguity search algorithm is proposed. This method can not only improve the computation efficiency and reduce the time for resolving ambiguities, but also improve the reliability of the ambiguity solution. The ambiguity search space is determined using float solutions and their variance and covariance matrices estimated by applying Kalman filter algorithm. The integer Gaussian transformation is then used to reduce the size of the search space and Cholesky factorisation algorithm is used to improve the efficiency of the integer ambiguity searching process. Finally, an ambiguity validation method by using the known baseline length and the relationship between the primary and secondary ambiguity groups is presented. The algorithms have been implemented within two low-cost Allstar GPS OEM boards. A number of field experiments have been conducted and the results show that a valid integer ambiguity solution in cold start mode can be identified within 3 minutes. Key words: Ambiguity resolution, attitude determination, carrier phase, GPS 1 Introduction GPS can usually provide two types of direct measurements. One is the pseudorange and the other is the carrier phase. The carrier phase measurements can be used for various high precision applications including kinematic positioning, static survey and attitude determination due to their low noise level. However the carrier phase measurements are ambiguous by an unknown integer number of cycles. This is well-known integer ambiguity resolution problem which requires a time-consuming initialisation process for both attitude determination and high-precision kinematic positioning. There are several methods for resolving the integer ambiguities. In general they can be divided into two categories: search-based ambiguity resolution (Quinn, 1993; Sutton, 2002) and motion-based ambiguity resolution (Crassidis et al. 1999). Motion-based methods need to collect data for a period of time during which obvious changes of the visible GPS constellation or an apparent Rotation of the platform have occurred. The search-based methods use only single epoch measurements to identify the most likely ambiguity combination although sometimes it may be not the correct ambiguity due to the level of noise. This paper mainly focuses on discussing the search-based method. There are three steps in this integer ambiguity resolution algorithm. First, a search space is determined in the ambiguity space (Juang, 2003; Xu, 2002) or solution space (Sutton, 1997; Sutton, 2002). The most likely integer ambiguity is, then, identified from the search space using some deterministic techniques such as least squares. Finally, the resolved ambiguities are ![]() 208 Journal of Global Positioning Systems K ep C Fig.1 Interferometry principle A B validated and co nfirmed. This step is con sidered as a v ital additional step for the GPS-based attitude system. This paper will first outline the principle of attitude determination by using GPS carrier phase measurements. Then a fast and reliable algorithm for integer ambiguity resolution by using the known baseline length and the relationship between the primary and secondary ambiguity groups will be presented in detail. A number of experiments have been conducted to test the performance of the method. Finally, some useful results and conclusions are given. 2 GPS-based attitude determination us i ng two antennae The basic idea of attitude determination using GPS carrier phase measurements is similar with the principle used in interferometry. It is assumed that for a short baseline the unit vectors from both receivers to a given satellite are the same. This is based on the fact that the baseline length is negligibly small compared to the distance between GPS satellites and the user (approximately 22, 000km). This is shown in Fig. 1. The difference between the true ranges from satellite “p” (p-th satellite) to antennae A and B can be expressed as: p B p A p T neRAC ρρ −== K (1) where, n Ris the baseline vector determined by A and B, p e K is a unit directional vector from antenna A or B to satellite “p”, p A ρ and p B ρ are the distances between the antennae A and B and satellite “p” respectively. The double-differenced observation equation can be expressed as: () () pq AB pq AB T qp pq AB pq AB q T np T n pq AB vNRee vNeReRDD ∆++−= ∆++−= λλ λλλ 0 0 )( KK K K (2) where, pq AB DD is the phase double-differenced measurement, λ is the wavelength of the GPS signal (~20cm), ( ) pq AB N0 is the integer double-differenced carrier phase ambiguity, and pq AB v∆ is the measurement noise. If there are M Satellites in view, all the measurements can be written in the following matrix form: VNHRDDn++= λ (3) [ ] T M ABABAB DDDDDDDD 13121 " λ = [ ] T M ABABAB NNNN 1 0 31 0 21 0)()()( "= Where, n R is a baseline vector in the local level system (North-East-Down coordinate system in this paper), H is the vector matrix of line of sight from antennae to GPS satellites in the local level system, Vis the carrier phase difference-doubled measurement noise vector. In equation (3), if the ambiguities have been fixed to integers, there will be only 3 unknowns (three components of the baseline vector n R (n x,n y,n z)). Therefore, if there are 4 satellites in v iew, there will be 3 independent double-differenced observations, the baseline vector (n R) can be estimated by using a weighted least-squares method as follows: ( ) () NDDWHWHHR TT n λ −= −1 ˆ (4) where, 1 )][cov( − =VW. If the relative position of two antennae can be determined with a sub-centimetre accuracy using the carrier phase observables, two of the three attitude parameters, usually heading and pitch angles of the platform can be estimated. Suppose that the baseline is mounted along longitudinal direction, then the baseline vector in body frame is: [ ] T bbR 00=, where b is the length of the baseline. The estimated baseline vector in the local level system is: [ ] T nnnn zyxR = Then the heading and pitch angles can be calculated using: )/(tan 1nn xy − = ψ (5) )/(tan 22 1nnn yxz+−= − θ (6) 3 Carrier phase integer ambiguity resolution algorithm It can be seen from Section 2 that the fast resolution of integer ambiguities is crucial to GPS-based attitude determination algorithm. Only when the integer ![]() Fan et al.: Ambiguity Resolution in GPS-based, low-cost attitude determination 209 ambiguities are resolved, the attitude angles can be calculated. In this section an ambiguity resolution algorithm for single frequency GPS receiver is proposed. In this algorithm, before the integer ambiguities can be determined, the ambiguities are treated as real values and estimated along with baseline vector. The real-value solution is often called the float solution. In this paper Kalman filter method is used to estimate the float solution of ambiguities, and the ambiguity search space is determined by using the float solution and its variance- covariance. 3.1 Float ambiguity estimation The dynamic model of GPS-based attitude determination system can be described by the following equation: UX I X mmmm m m + ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = ××× ××× ××× 000 0)(0 00 33 333 1 33 33333 τ (7) where, [] m NNNzyxzyxX" 21 = is the state vector, τ is a time constant relative to dynamic condition of the platform,Uis the measurement noise vector, x ,y, z are the components of baseline vector (n R), x ,y , z are the variance of components of the baseline vector n R, 33× Iis a 3 × 3 unit matrix. By re-writing equation (3), the measurement model can be expressed as: VXHZ+= ' (8) Where, DD Z =, [] mm IHH ×× = ′ λ 33 0. GPS-based attitude determination equations can be written in a discrete form according to equations (7) and (8) as follows: 11/11/−−−−Γ+= kkkkkkk UXX φ k U~),0( k QN (9) kkkk VXHZ += ' k V~),0(k RN (10) where N is a normal distribution operator, the two variables in the bracket are mean value vector and variance-covariance matrix, 1/ −kk φ is the state transition matrix, 1/ − Γkk is the system disturbance matrix, k His the observation matrix, k Xis the state vector at epoch k, k Zis the observation vector at epoch k. Kalman filtering estimation can be expressed as: 1/11/1/ ˆˆ −−−− Φ= kkkkkkXX (11) [] 1/ ' 1// ˆˆˆ −−−+=kk k kkkkkk XHZKXX (12) 1 ' 1/ '' 1/ − −− ⎥ ⎦ ⎤ ⎢ ⎣ ⎡+= k T k kk k T k kkk RHPHHPK (13) 1/11/1/1/11/1/−−−−−−−− ΓΓ+ΦΦ= kkkkk TkkkkkkkkQPP (14) [ ] 1/ ' /− −= kk k kkk PHKIP (15) Where 1/ ˆ−kk Xis the predicted state vector, kk X/ ˆis the estimation of filtering, k Kis the system gain matrix, 1/ −kk Pis the variance matrix for 1/ ˆ−kk X, kk P/ is the variance matrix for kk X/ ˆ. In theory, if a precise float solution can be obtained and rounded to the nearest integers, this should in most cases lead to the correct integer ambiguity set. Unfortunately, the float estimate obtained by this method is not precise enough, especially for a short observation period (Mohamed et al, 1998). Therefore, the correct ambiguity set usually need to be identified by a dedicate search method. 3.2 Determination of the search space In order to further reduce the number of possible ambiguity candidates, all GPS satellites in view are divided into two groups: primary and secondary groups. The primary group which contains 5 satellites is used to determine the search space. The secondary group which includes remaining satellites is used to validate the correctness of the identified ambiguity set. So the integer ambiguity N, the float solution of integer ambiguity N ˆ and its variance-covariance N P estimated by using Kalman filter technique can be re-written respectively as: [ ] 21NNN = [ ] 21 ˆˆˆ NNN= ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ = 2221 1211 PP PP P N where 1 N and 2 N are the integer ambiguities of the primary group and secondary group respectively, 1 ˆ N and 2 ˆ N are the float solutions of the ambiguities of the primary group and seco ndary group respectively, and 11 P and 22 P are ambiguity variance matrices of the primary group and secondary group respectively. The integer ambiguities can be obtained by minimising the following cost fun c tion: mT ZNNNPNNJ ∈−−= −111 1 1111) ˆ () ˆ ( (16) Due to the integer constraints on the ambiguities and the fact that the ambiguity variance matrix is non-diagonal, the solution of Eq. (16) must be obtained by means of statistical criteria and a search method. The search space is described by the following inequality: ![]() 210 Journal of Global Positioning Systems ()() 2 11 1 1111 ˆˆ χ <−− −NNPNN T (17) This ellipsoidal region is centred at 1 ˆ N, its shape and orientation is governed by P11, and its size can be controlled through the selection of positive constant 2 χ . The size is assumed to be set such that the sought integer ambiguities are indeed in the search space. The solution is then obtained by searching through the entire search space. The efficiency of the search is poor, however, when the search space is highly elongated and the principal axes do not coincide with the grid axes. In order to reduce the correlation between ambiguities and make searching process more efficiently, the integer Gaussian transformation (Mohamed et al., 1998) is applied. The Gaussian transformation procedure of P11 is as follows: [1] Factorise the matrix P11 using upper triangular factorisation: T UUDUP 11111=, where U1 is an upper triangular matrix, and 1U Dis a diagonal matrix; [2] Invert U1 and round all elements of 1 1− Uto their nearest integers, get 1U Z; [3] Transform the matrix P11, and get: T UUZU ZPZP11111=; [4] Factorise the matrix 1ZU Pusing lower triangular factorisation: T LZU LDLP1111=, where 1 L is a lower triangular matrix, and 1L D is a diagonal matrix; [5] Invert 1 Land round all elements of 1 1− L to their nearest integers, get 1L Z; [6] Transform the matrix 1ZU P, and get: T LZULZL ZPZP1111=. Repeat above steps until 1L Zbecomes an identity, and then the integer Gaussian transformation matrix is calculated by: ∏ = =1 ki UiLiZZZ (18) where k is the total iteration steps. The transformed ambiguity vector is: 1 ˆˆ NZZN= (19) and the transformed variance of N ˆ is: T ZN ZZPP 11 = (20) By substituting th e equ ation s (19) and (20) into inequ ality (17), the transformed search space can be formulated as ( )( ) 21 ˆˆ χ <−− −NNZN T NN ZZPZZ (21) and the cost function becomes: m NNNZN T NN ZZZZPZZJ ∈−−= −) ˆ () ˆ (1 (22) Because the Gaussian transformation can decorrelate the ambiguities as much as possible, the float estimates become more precise and its variance becomes more diagonal-like. The transformed search space becomes more spherical. Note that inequality (21) is a quadratic constraint, it is difficult to perform the searching process directly. Therefore the confidence interval of every ambiguity is used to replace the constraint of inequality (21). [ ] ) ˆ () ˆ (iiiiiiiQkzroundQkzroundz +−∈ (23) where ii Q is the i-th row and i-th column element of ZN P, i z is i-th element of N Z, i z ˆ is i-th element of N Z ˆ, k is the confidence coefficient. By using the Gaussian transformation, the number in the search space defined by inequality (23) can be reduced dramatically. The integer ambiguity search space is determined by equation (23) and all of the integer combinations in the search space are candidate ambiguity combinations. 3.3 Ambiguity searching process The aim of ambiguity searching is to find the ambiguity combination which can minimise the cost function J in the search space. It is usually a time-consuming process. In order to improve the efficiency of the searching process, Cholesky factorisation is applied in this paper. By using Cholesky factorisation, 1− ZN Pcan be expressed as: T ZN CCP = −1 (24) where, ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 44434241 333231 2221 11 0 00 000 cccc ccc cc c C Substituting equation (24) into (22), we have: ( )( ) NNZN T NN ZZPZZJ−−= −ˆˆ 1 ( )( ) NN T T NN ZZCCZZ −−= ˆˆ 2 4 2 3 2 2 2 1 = ffffffT+++= (25) where, ( ) [ ] 4321 ˆffffZZCf NN T=−= ![]() Fan et al.: Ambiguity Resolution in GPS-based, low-cost attitude determination 211 () ˆ44444 Czzf −= () ( ) ˆˆ 333343443 CzzCzzf −+−= ()()() 2222323342442 C ˆˆˆ zzCzzCzzf −+−+−= (26) ()()()() 11112122313341441 C ˆ C ˆˆˆzzzzCzzCzzf −+ − +−+−= Therefore, Jin equation (25) can be calculated by the following iterative procedur e: 2 )()1(k fkJkJ +=+ 0)0(=J JJ =)4( k=1,2,3,4 (27) Because 0 2≥ i f in equation (26), )(kJ keeps increasing along with the increase of index number k. Therefore a fast cutting-off search method is used to reduce the calculation load. This method can be described as: [1] Give an ambiguity combination from the ambiguity search space; [2] Calculate equation (27) step by step; [3] If in the k-th step, )(kJ is larger than the threshold, this ambiguity combination can be rejected and the iteration calculation will stop and jump to step (1). [4] If )4(Jis smaller than the threshold, then replacing the threshold using )4(J. Because the calculation load of k f decreases along with the increase of k, this method can reduce the calculation load of J dramatically. Once the ambiguity combination Z ˆ that minimises J in equation (25) is found, the initial ambiguity combination can be estimated using the inverse Gaussian transformation: N ZZN ˆˆ 1 1− = (28) 3.4 Ambiguity validation The ambiguity combination which produces the minimum sum of the squared residuals does not necessarily indicate that correct ambiguities are identified. There are a number of factors contributing to this, such as poor system geometry and high measurement noise. Thus, ambiguity validation and evaluation procedure has to be applied to further validate and confirm its correctness. Although integer ambiguities should be determined as early as possible, the reliability of the ambiguity resolution is of paramount importance for GPS-based attitude determination system. Traditionally, ambiguity validation test procedures have been based on the so-called F-ratio test (Erickson, 1992). When the ratio of the second minimum and the minimum of J in equation (25) is larger than a threshold, the best ambiguity combination which produces the minimum of J is considered as the correct ambiguity set. But in practical application, sometimes the difference between the second minimum and the minimum of J may not be larger enough because of the high noise, therefore it will need a long time to confirm the correct ambiguity although the best ambiguity combination already has been the correct ambiguity set. In this paper a new validation method by using baseline length and the relationship between primary and secondary ambiguity groups is proposed to validate the estimated ambiguity combination 1 ˆ N. By using this method, the correct ambiguity can be quickly and reliably identified. This method includes two steps which can be described as follows: [1] Baseline length test: Substituting the estimated ambiguities into equation (3) and calculating the baseline length. For the correct ambiguity combination, the estimated and the given known baseline length should be consistent with a certain tolerance. δ <− trueestimateLL (29) The numerical value of the baseline length tolerance δ in equation (29) depends on the carrier phase measurements noise, multipath and geometry distribution of satellites in view. In this paper, δ is empirically chosen as 0.02m. [2] Primary and secondary ambiguity groups test: calculating a coarse baseline vector using the estimated primary ambiguity combination; calculating all the float ambiguities by means of substituting the coarse baseline vector into equation (3); calculating the secondary integer ambiguities by means of rounding the float ambiguities to the nearest integer values. For the correct ambiguity combination, the difference of integer and float ambiguities in the secondary should be less than a threshold value “ β ”, which can be empirically set to 0.02m (about tenth of L1 wavelength). Only when the estimated ambiguity combination passes the above tests, the correct ambiguity combination is considered identified. 4 Experimental results A low-cost GPS-based attitude determination system is developed. The hardware of the system mainly includes: PC/104 computer, two Allstar GPS OEM boards, two antennae, battery and other auxiliary accessories. The GPS OEM board can output raw measurements including L1 carrier phase, pseudo range and nav igation info rmation at a rate of 1HZ. The algorithms proposed in this paper are implemented in its software which is designed using C++ language. All the available satellites with elevation ![]() 212 Journal of Global Positioning Systems angle more than 10 degrees are used in the data processing. Considering that usually the ephemeris data can be received whin 30 seconds in cold start mode, the Kalman filtering procedure begins from 30-th second in the software. The integer ambiguity search procedure begins from 80-th second. After this epoch, the ambiguity combination which minimizes cost function (16) can be found at every epoch, but only when it passes the validation test, correct ambiguity combination is considered reliably identified. Once the ambiguities are fixed, the attitude parameters can be estimated by using the equations (5) and (6). To evaluate the performance of the system, a number of experiments have been conducted. There always more than 7 satellites being tracked during these experiments. The results of ambiguity resolution time test are sho wn in Tab. 1. It is indicated from Tab. 1 that ambiguity can be fixed whin 3 minutes in a cold start mode. The attitude solution for a 3m baseline is shown on Fig. 2, 3 and 4, and the attitude solution for a 6m baseline is shown on Fig. 5, 6 and 7. The average and standard deviation of the attitude solution are listed in Tab. 2. From Tab. 2, it can be concluded that the accuracy of the GPS-based attitude determination system becomes higher with the increase of the baseline length. Tab. 1 List of ambiguity resolution time with different baseline lengths NO. GPS date (d/m/y) GPS time (seconds) Number of Satellites Ambiguity Resolution Time (seconds) Length of baseline (meters) 1 19/04/2002 529971 7 89 2.40 2 19/04/2002 530348 7 137 2.40 3 22/04/2002 203356 8 103 3.00 4 22/04/2002 203706 8 138 3.00 5 22/04/2002 204106 8 95 3.00 6 28/04/2002 128804 7 103 6.00 7 28/04/2002 129104 7 109 6.00 8 28/04/2002 129404 7 97 6.00 9 28/04/2002 129704 7 119 6.00 Fig. 2 Heading angle (3m baseline) Fig. 3 Pitch angle (3m baseline) Fig. 4 Baseline length (3m baseline) Fig. 5 Heading angle(6m baseline) ![]() Kutterer: Joint Treatment of Random Variability and Imprecision ?? Fig. 6 Pitch angle (6m baseline) Fig. 7 Baseline length (6m baseline) Tab. 2 Average and standar d deviation of attitu de solutions with different baseline lengths 3m 6m Average Standard deviation Average Standard deviation Baseline (meters) 2.9989 0.0025 5.9935 0.0027 Heading angle (degrees) 10.21140.045 6.3519 0.0168 Pitch angle (degrees) -1.76840.0833 -0.6550 0.0314 5 Conclusion s This paper presents an algorithm for fixing the integer ambiguity in attitude determination. The method can not only improve the computation efficiency and reduce the time for ambiguity resolution, but also improve the reliability of the ambiguity solution. A number of experiments are carried out to evaluate the effectiveness of the proposed algorithm, the results show that correct ambiguities in cold start mode can be identified within 3 minutes and there is no evident relationship between the ambiguity resolution time and the length of baseline. The results also show that heading angle of the GPS-based attitude determination system can achieve an accuracy of 0.045deg (RMS) for a 3m baseline and a higher accuracy for longer baselines. Acknowledgements This research is partially supported by the Cooperative Research Centre for microTechnology, Australia. A/Prof Kefei Zhang is supported through an Australia Research Council Project (L P0455170). References Crassidis JL, Markley FL, Lightsey EG (1999): Global Positioning System Integer ambiguity Resolution without attitude knowledge, J. Guidance Control and Dynamics 22(2): 212-218. Gao Y., Mclellau J F. and Schleppe J B (1996): An optimised GPS Carrier Phase Ambiguity Search Method Focusing on Speed and Reliability, IEEE Aerospace and Electronic System Magazine. 11(12): 22-26. Erickson C. (1992): An analysis of Ambiguity Resolution Techniques for Rapid Static GPS Surveys using Single Frequency Data, Proceeding of ION GPS-92, 453-462. Juang J. (2003): GPS Integer Ambiguity Resolution Based on Eigen-Decomposition, Proceedings of ION GPS-2003, 775-782, Portland. Kee C., Kim D, and Jang J. (2003): A New Approach for Fast and Reliable Ambiguity Search Technique, Proceedings of ION GPS-2003, 2112-2119, Portland. Mohamed A H, Schwarz K P (1998): A Simple and Economical Algorithm for GPS Ambiguity Resolution on the Fly Using a Whitening Filter, Navigation, 45(3): 221- 231. Quinn, P. G. (1993): Instantaneous GPS Attitude Determination, Proceedings of ION GPS-93, 603-615, Alexandria, VA: Institute of Navigation. ![]() 214 Journal of Global Positioning Systems Sutton E. (1997): Optimal Search Space Identification for Instantaneous Integer Cycle Ambiguity Resolution, Proceedings of ION GPS-97, 313-322. Sutton E. (2002): Integer Cycle Ambiguity Resolution under Conditions of Low Satellites Visibility, ION GPS-2002, 91-98. Xu G. (2002): A General Criterion of Integer Ambiguity search, Journal of Global Positioning System, 1(2): 122-1. |