the GPS double difference ambiguities, the LAMBDA method has been developed and applied since 1993. In the context of the LAMBDA method, from a compu-.
Computational Aspects of the LAMBDA Method for GPS Ambiguity Resolution P.J. de Jonge, C.C.J.M. Tiberius, and P.J.G. Teunissen, Geodetic Computing Centre, Delft University of Technology
BIOGRAPHY Peter Teunissen is professor in Mathematical Geodesy and Positioning. Paul de Jonge and Christian Tiberius1 both graduated at the Faculty of Geodetic Engineering of the Delft University of Technology. They are currently engaged in the development of mathematical models for GPS data processing in surveying and geodesy. ABSTRACT Precise relative positioning based on a short observation time span yields ambiguities that are heavily correlated, together with position estimates of poor precision. For an efficient estimation of the integer values of the GPS double difference ambiguities, the LAMBDA method has been developed and applied since 1993. In the context of the LAMBDA method, from a computational point of view, there are various ways to arrive at the so-called ‘fixed solution’, in which the ambiguities are constrained to their integer values. Depending on the application at hand, it will be shown which way is most appropriate. This will be demonstrated with the help of a number of examples, both static and kinematic. The results show that efficient ambiguity resolution can be achieved very fast, on-the-fly (OTF), in a variety of cases, such as with roving receivers and in network scenarios. 1. INTRODUCTION Precise relative positioning based on a short observation time span yields carrier phase ambiguities that are heavily correlated, together with position estimates of poor precision. In order to achieve an acceptable precision level (typically 1-2 cm for up to 10 km baselines), one has to constrain the ambiguity parameters to their integer values. The estimation of these values has proven to be a particularly hard and time consuming problem. Since 1993, the LAMBDA method (Least-squares AMBiguity Decorrelation Adjustment) has been developed and applied for efficiently estimating the integer 1 Under contract Rijkswaterstaat.
with
the
Survey
Department
of
the
values of the GPS double difference ambiguities. By a decorrelating transformation, the existing large correlation between the ambiguities is reduced to a great extent, thereby making the discrete search for the integer ambiguity vectors much more efficient. A prominent role in the method is played by the aforementioned transformation, usually materialized in the so-called Z -matrix. The construction of this matrix – either implicitly, or explicitly – is the most time consuming part of the method (albeit still very modest compared with other methods for ambiguity resolution). In this contribution, first the overall procedure for parameter estimation in GPS positioning will be reviewed and it is shown how the LAMBDA method for integer ambiguity estimation is embedded therein. Then a number of methods to realize the decorrelating transformation will be examined and compared in section 3. Two basic ways will be shown to come to the so-called ‘fixed solution’, in which the ambiguities are constrained to their integer values. The computational aspects will be discussed and timing results will be presented in section 4. 2. PARAMETER ESTIMATION In this section we will review the full procedure for parameter estimation based on the model of double difference GPS observations, with particular attention to the integer ambiguity estimation. Note however, that integer estimation is not restricted to the double difference model; it can be applied as well in the models of undifferenced or single differenced observations with the rank defect properly taken into account. Also note, that many viable alternatives do exist for the overall procedure for parameter estimation. One may think of e.g. a recursive estimation (Kalman filter) as opposed to the estimation in batch described here. Observation equations Although the LAMBDA method is not restricted to it, in this paper we use a simple mathematical model, appropriate for short baselines. Two types of unknowns occur: baseline coordinates (collected in the vector b) and
double difference ambiguities (collected in a). Other unknowns, like e.g. atmospheric delay parameters can be included in b as well. We assume to have available at least carrier phase observations. Code observations can also be included, but they are not related to the ambiguity terms. The linearized double difference observation equations are collected in the following linear system of equations, see also [2]: y = Bb + Aa + e
(1)
where: y the vector of observed minus computed double difference measurements; y ∈ R m b the vector that contains the increments of the p baseline coordinates a the vector of n double difference ambiguities B the m × p design matrix for the baseline coordinates A the m × n design matrix for the ambiguities e the vector of unmodelled effects and measurement noise The m × ( p + n) design matrix [ B A ] is assumed to have full rank equal ( p + n), i.e. enough observations have been made to determine the baseline coordinates and the double difference ambiguities. The variancecovariance matrix of the observables y is Q y ; the matrix is symmetric and positive definite. The double difference ambiguities are placed at the end for reasons of computational efficiency, as will be shown further on. Estimation criterion The least-squares principle is used to compute estimates for the baseline coordinates and the integer double difference ambiguities: min ky − Bb − Aak2Q −1 with b ∈ R p and a ∈ Z n (2) b,a
y
The parameter estimation is carried out in three steps, see [2]. The steps are the float solution, the integer ambiguity estimation and the fixed solution. Float solution The minimization (2) is carried out with b ∈ R p , a ∈ R n . The estimates for the double difference ambiguities are real valued. Usually the full rank least-squares problem is solved via normal equations, see section 5.3 in [4]. The system of normal equations, with N the normal matrix and r the right hand side, for (1) reads T −1 T −1 B Qy y B Q y B B T Q −1 b y A = (3) T −1 a AT Q −1 AT Q −1 B A Q A y y y y
or |
Nb Nab
Nba Na {z N
}
b a
=
rb ra | {z }
(4)
r
The normal matrix N is square, with dimension p + n, symmetric, and positive definite. Due to its symmetry, only the upper- or the lower- triangle needs to be computed. The Cholesky factorization of the normal matrix is made, section 4.2 in [ibid]: N = CC T , with matrix C a full rank ( p + n) lower triangular matrix; it can be computed in-place. The system b CC T =r (5) a is then solved by for- and backward substitution and results in the estimates bˆ and a. ˆ The estimates and the variance-covariance matrix are denoted as: Q bˆ Q bˆ aˆ bˆ (6) , Q aˆ bˆ Q aˆ aˆ In the integer ambiguity estimation we will use the Cholesky factor of the inverse of the variancecovariance matrix Q aˆ . This is why the unknowns have been put in the order: first baseline coordinates and then double difference ambiguities. The Cholesky factor C in (5) is partitioned as Cb 0 (7) C= Cab Ca with Ca a lower triangular matrix of dimension n, for = Ca CaT . The Cholesky factor which holds that Q a−1 ˆ Ca becomes available at no extra cost in the float solution. In figure 1, the full ( p + n) Cholesky factor C is first inverted. The part for the ambiguities, Ca−1 , is then used in the decorrelation step, which is carried out, prior to the actual integer estimation. The variance-covariance matrix of the fixed baseline coordinates can easily be obtained in-place with the lower triangular matrix Cb−1 of dimension p. For the ambiguities absent case, we namely have: y − Aaˇ = Bb + e
(8)
with aˇ the integer least-squares estimate for the vector −T −1 of ambiguities, and consequently Q b|ˇ ˆ a equals Cb Cb . This matrix will be denoted as Q bˇ , see [2]. The variance-covariance matrix (6) of the float solution can also be cheaply computed using the submatrices of C −1 . This triangular matrix reads: Cb−1 0 C −1 = (9) −Ca−1 Cab Cb−1 Ca−1 As Q equals C −T C −1 : Cb−T Cb−1 + Q bˆ Q bˆ aˆ −T = Cb Cba Ca−T Ca−1 Cab Cb−1 Q aˆ bˆ Q aˆ −Ca−T Ca−1 Cab Cb−1 −Cb−T Cba Ca−T Ca−1 (10) Ca−T Ca−1
Matrix Q bˆ aˆ can be written as Q bˆ aˆ = −Cb−T Cba Ca−T Ca−1
(11)
It will be needed in one of the computations schemes of section 3. Its transpose, Q aˆ bˆ , can be computed in-place using the sub-matrices of C −1 ; in this way −Ca−1 Cab Cb−1 is replaced row-by-row by Q aˆ bˆ . Integer ambiguity estimation The second step consists of min kaˆ − ak2Q −1 with a ∈ Z n a
(12)
aˆ
This minimization yields the integer least-squares estimate for the vector of ambiguities: aˇ . For this step we use the LAMBDA method. It has been introduced in [1]. The two main features of the LAMBDA method are 1. the decorrelation of the ambiguities, realized by a reparametrization, or as we call it, a Z transformation, of the original ambiguities a to new ambiguities z = Z T a, and
aˇ = Z −T zˇ
(15)
The integer least-squares estimates for the ambiguities are explicitly computed. The squared distance (or norm) between the real valued aˆ and the integer estimate a, ˇ measured in the metric Q a−1 , ˆ t (a) ˇ = kaˆ − ak ˇ 2Q −1
(16)
aˆ
may be used for validation purposes. The computation of this norm, and possibly t (aˇ ′ ) is integrated in the integer minimization. It can be computed very easily at the moment the grid point is encountered in the search, [6]. Hence it is based on the transformed ambiguities: t (a) ˇ = t (ˇz ). Fixed solution
2. the actual integer ambiguity estimation Through the Z -transformation the variancecovariance matrix is transformed accordingly: Q zˆ = Z T Q aˆ Z . The efficiency of the method comes from the decorrelation step and has been explained in detail by analysis of the precision and correlation of the GPS double difference ambiguities in [3] and [5]. The actual integer minimization is then made upon the transformed ambiguities. In practice, the minimization (12) amounts to a search over grid points inside the ndimensional ambiguity hyper-ellipsoid, defined by the variance-covariance matrix of the ambiguities [6] z − z) ≤ χ 2 (ˆz − z)T Q −1 zˆ (ˆ
ˇ the ambiguities are fixed to their In the final solution b, integer least-squares estimates a. ˇ The final estimates for the baseline coordinates follow from the first p equations of system (3) in which the vector of integer estimates aˇ has been substituted for a. Note that the Cholesky factor of matrix Nb is already available: it is the lower triangular matrix Cb . Estimate bˇ is then easily obtained via for- and backward substitution, or via ˇ The variance-covariance matrix, bˇ = Q bˇ (rb − Nba a). Q bˇ , was computed with the help of the inverse Cholesky factor. The least-squares estimates bˇ and aˇ are the solution to the constrained minimization (2).
(13)
The volume of the ellipsoid (and the number of candidates) can be controlled by setting the value for χ 2 [7]. The input for the integer ambiguity estimation are the vector of real valued ambiguity estimates aˆ and the Cholesky factor Ca . Factor Ca is then ‘split’ into L and T T D, such that Q a−1 ˆ = Ca Ca = L DL , where D is diagonal and L is unit lower triangular. Prior to the integer estimation, the ambiguities are decorrelated by application of the Z -transformation. The Z -transformation, which is discussed in section 3, works directly on the inverse of the factors D and L: D −1 L −1 → Z -transformation → aˆ
matrix Q aˆ . Matrix Q aˆ is not explicitly transformed into ˜ Q zˆ , but implicitly via L and D ( L˜ and D). The actual integer minimization is then carried out on the transformed ambiguities, see [6]. The output consists of zˇ and possibly the second best zˇ ′ together with their respective norms. Using the Z -matrix, they can be transformed back to the original ambiguities
Z or Z D˜ −1 L˜ −1 zˆ
−T
(14)
such that Q −1 = L˜ D˜ L˜ T . Note that the factors L and zˆ D represent the information of the variance covariance
3. COMPUTING THE Z -TRANSFORMATION One can divide the methods for computing the fixed solution in two groups: (i) those that need explicit computation of the integer least-squares estimates a, ˇ and (ii) methods that do not. This influences the way the decorrelating Z -transformation is computed. It is either computed explicitly as Z or Z −T (see (14)) to be used for (17) or in (24), or implicitly, viz. as Q bˆ ˆ z (or Nbz ), see (21) or (22). Explicit computation of aˇ The original double difference ambiguities a are transformed into ambiguities z, that are less correlated. The construction of the n x n transformation matrix Z (or Z −T ) follows from a sequence of 1. integer Gauss transformations and 2. permutations. The ambiguities are pair-wise decorrelated and interchanged. At start the transformation is trivial: Z = I . The above two types
of transformation work out as linear operations on, each time two columns of what is matrix Z so far. Once no further decorrelation is possible, the construction terminates and matrix Z (or Z −T ) is available. See [6] for the algorithmic details. The most efficient way, if one wants to have available the values of aˇ explicitly, is to compute directly Z −T . The original integer ambiguities are then computed from the decorrelated ambiguities using (15). Starting from here, two routes are possible to obtain the fixed solution. First there is the explicit computation by constraining the, now considered known, integer ambiguities: (17) bˇ = bˆ − Q ˆ Q −1 aˆ − aˇ b aˆ
aˆ
The second method starts from the normal matrix system of (4) in which the ambiguities are no longer unknown parameters. Substituting aˇ into the first p equations of (4), we get Nb bˇ = rb − Nba aˇ (18) Note that in the first scheme Q bˆ aˆ needs to be stored, and Q a−1 ˆ has to be computed. In the second scheme Nba (part of the normal matrix for the float solution) has to be stored (before computing the float solution), and Cb (baseline part of the Cholesky factor of the normal matrix), or Q bˇ . The scheme depicted in figure 1 at left is based on (18). Implicit computation of aˇ If we look at the complete system, i.e. the baseline coordinates and the ambiguities, the following transformation is applied on the parameters when using the LAMBDA method: b I b = (19) z ZT a
End of inter mezzo Starting from equation (21) we can make a distinction between the following two cases: 1. p < n In the normal case the number of ambiguity parameters is larger than the number of baseline coordinates. Then, instead of transforming a matrix of unity to Z , it is more efficient to transform Q bˆ aˆ directly to Q bˆ zˆ . This saves memory since Z becomes now superfluous. It also saves CPU time, since the column dimension of Q bˆ aˆ equals the number of baseline coordinates p, whereas the column dimension of Z equals the number of ambiguities n. The row dimension of both matrices is equal. Since the construction of Z , (or Q bˆ zˆ ) is essentially a sequence of column manipulations, less operations are needed and CPU time will be saved. CPU time is also saved because the matrix product Q bˆ aˆ Z does not need to be evaluated explicitly anymore. In this way, the decorrelating transformation is computed implicitly. bˇ
z − zˇ ) = bˆ − Q bˆ zˆ Q −1 zˆ (ˆ = bˆ − Q bˆ zˆ ( L˜ D˜ L˜ T )(ˆz − zˇ )
(23)
2. p > n If the number of non-ambiguity parameters is larger than the number of ambiguity parameters, it is more efficient to compute Z explicitly and use it to transform Q bˆ aˆ into Q bˆ zˆ . The fixed baseline coordinates are then computed as bˇ
z − zˇ ) = bˆ − Q bˆ zˆ Q −1 zˆ (ˆ = bˆ − (Q bˆ aˆ Z )( L˜ D˜ L˜ T )(ˆz − zˇ )
(24)
Applying this transformation on the variance-covariance matrix of (6) gives: Q bˆ aˆ Z Q bˆ Q bˆ Q bˆ zˆ (20) = Z T Q aˆ bˆ Z T Q aˆ Z Q zˆ bˆ Q zˆ
Again we need to have stored Q bˆ aˆ . (This situation will not occur often, the only occasion we can think of, is a batch solution with a roving receiver).
Using (15), equation (17) can now be re-written as ˇ bˇ = bˆ − Q ˆ Q −1 (aˆ − a)
4. TIMING RESULTS
b aˆ
aˆ
= bˆ − Q bˆ aˆ Z Z = bˆ − Q ˆ Q −1 (ˆz − zˇ ) −1
b zˆ
−T Q a−1 ˆ Z
zˆ
T
Z (aˆ − a) ˇ (21)
To show the performance of the alternatives proposed in the previous section, we applied them to a number of different measurement scenarios. The following comparisons are made
This shows that it is not necessary to explicitly compute matrix Z or its inverse. The fixed solution is computed with the transformed ambiguities. The computation scheme based on (21) is shown in figure 1 at right.
1. Single baseline versus a 4-station Network
Inter mezzo
4. Static versus Kinematic
As an alternative, one can operate upon Nba instead of on Q bˆ aˆ . With (18) we obtain: Nb bˇ
= rb − Nba aˇ = rb − Nba Z −T Z T aˇ = rb − Nbz zˇ
(22)
2. Dual frequency versus Single frequency 3. Phase-only versus Phase-and-code
In all experiments we used two epochs of data, while varying the observation time span (from instantaneous to 300 seconds). As shown in [10] it is the time span that largely influences the amount of correlation between the ambiguities, and therefore the CPU time needed for their decorrelation. Enlarging the sample rate has a much
YP09 ▲
YP01-BR01 : 10.4 km DE18 : 6.0 km YP09 : 2.3 km
YP01 ▲
52o N ▲
DE18 ▲
BR01 4o24’ E
Single baseline, dual frequency In figure 3 the two main schemes for computing the decorrelating transformation are compared for the single static baseline using dual frequency phase measurements. The white bars show the time for computing the Z −T -matrix, the super imposed hatched bars, the time for directly transforming Q bˆ aˆ . In this figure and in the ones that follow, CPU time is only shown if indeed the correct integer ambiguities were found; so in this figure the one second time span is left blank. The correctness of the integer estimation was checked using a validated ground truth obtained with a time span of 15 minutes. The figure shows that by enlarging the time span, the time needed for decorrelation of the ambiguities decreases. The larger the time span, the more the receiversatellite geometry does change. The original double difference ambiguities are then less correlated. The figure also demonstrates that working directly upon the, in this
Figure 3: CPU time in milliseconds for decorrelation, for a varying time span and two epochs of data. Dual frequency, phase-only, static baseline. 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0
300 s 240 s 180 s 120 s 90 s 60 s 45 s 30 s 20 s 15 s 10 s 5s 4s 3s 2s 1s
smaller effect. The ambiguity search ellipsoid is characterized by its elongation and the ambiguity decorrelation number, [ibid.]. The same 7 satellites, all with elevation above 10 degrees, were tracked in all experiments. The weight for the phase observables was chosen to be equal (in meters) for both the L 1 as the L 2 frequency. When code observables were included, their weight relative to that of the phase observable was set to 1/10000. The measurements were made at Ypenburg in the Netherlands (φ = 52o N, λ = 4o 24′ E), on May 5, 1994, between 20:00 and 20:05 (GPS time) using Trimble 4000 SSE receivers. The length of the baseline used for the single baseline experiments (YP01-BR01) is approximately 10.4 km, while the inter-site distances for the network experiments vary between 2.3 and 10.4 km (see figure 2). Timing was done on a 66 MHz-PC under MS-DOS. The implementation was in Fortran 77 using the Microsoft Power station compiler with maximum optimization applied.
300 s 240 s 180 s 120 s 90 s 60 s 45 s 30 s 20 s 15 s 10 s 5s 4s 3s 2s 1s
Figure 2: Configuration of the stations involved in the experiments
30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0
Figure 4: CPU time in milliseconds for decorrelation, for a varying time span and two epochs of data. Dual frequency, phase-only, kinematic baseline.
case 3-by-12 Q bˆ aˆ matrix takes less time than computing the full 12-by-12 Z −T -matrix. The time is approximately 20-25 % less. Figure 4 shows the results for the same experiments as in figure 3, but now for a roving receiver. Allowing one of the stations to be moving from epoch to epoch increases the correlation between the ambiguities and therefore the CPU time needed for decorrelation. Again we see the beneficial effect on the correlation of an enlarged time span. As we have now a roving receiver, matrix Q bˆ aˆ has dimension 6-by-12, (there are 2 times 3 coordinates). The reduction in CPU time as compared with computing Z −T explicitly, is therefore less than for the static case (now about 15 %). In figure 5 the results of the same experiments as in figure 4 are plotted, but now using also code observations. The inclusion of the code observables has two effects on the correlation. Firstly it lowers the abso-
300 280 260 240 220 200 180 160 140 120 100 80 60 40 20 0
300 s 240 s 180 s 120 s 90 s 60 s 45 s 30 s 20 s 15 s 10 s 5s 4s 3s 2s 1s
300 s 240 s 180 s 120 s 90 s 60 s 45 s 30 s 20 s 15 s 10 s 5s 4s 3s 2s 1s 0s
30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0
Figure 6: CPU time in milliseconds for decorrelation, for a varying time span and two epochs of data. Dual frequency, phase-only, static network of 4 stations.
lute level, and secondly it removes to a large extent the effect of enlarging the observation time span. As a consequence the CPU time for decorrelation is almost equal for all experiments; enlarging the time span, only slightly decreases the CPU time. The reduction of the CPU time when operating on Q bˆ aˆ instead of constructing Z −T explicitly, is of the same order as without code, since the dimensions of Q bˆ aˆ did not change. There is one exception, viz. for the instantaneous case (0 s). Then the dimension of Q bˆ aˆ is 3-by-12. Here we see a reduction of the same order as we saw for the static scenario.
300 280 260 240 220 200 180 160 140 120 100 80 60 40 20 0
Network, dual frequency
Figure 7: CPU time in milliseconds for decorrelation, for a varying time span and two epochs of data. Dual frequency, phase-only, kinematic network of 4 stations. 300 280 260 240 220 200 180 160 140 120 100 80 60 40 20 0
300 s 240 s 180 s 120 s 90 s 60 s 30 s 20 s 15 s 10 s 5s 4s 3s 2s 1s 0s
Now we will show the results obtained for a small network of 4 stations. All data from the four stations were processed together, while taking inner-station correlation due to the differencing scheme fully into account. Experiments were done in static as well as in kinematic mode. In the kinematic mode, 3 of the 4 stations were allowed to be roving. In figure 6 the results for the static case are shown. With the 7 satellites tracked on two frequencies, we have a total of 36 ambiguities, i.e. 3 times as much a for the single baseline case. The time needed for decorrelation is roughly 15 times the time needed for one baseline. The gain when using Q bˆ aˆ is larger than for the single baseline case (about 30 %). The network counterpart of the kinematic baseline, figure 4, is given in figure 7. A gain of approximately 20 % is observed. Figure 8, the dual frequency phase and code case with roving receivers, can be compared to figure 5. The average gain using Q bˆ aˆ is equal to the one we saw in figure 7. Again the instantaneous case forms an exception, for the same reason as given for the baseline case. The CPU time needed for decorrelation is almost equal for all experiments.
300 s 240 s 180 s 120 s 90 s 60 s 45 s 30 s 20 s 15 s 10 s 5s 4s 3s 2s 1s
Figure 5: CPU time in milliseconds for decorrelation, for a varying time span and two epochs of data. Dual frequency, phase-and-code, kinematic baseline.
Figure 8: CPU time in milliseconds for decorrelation, for a varying time span and two epochs of data. Dual frequency, phase-and-code, kinematic network of 4 stations.
1
1
0
0
300 s 240 s 180 s 120 s 90 s 60 s 45 s 30 s 20 s 15 s 10 s 5s 4s 3s 2s 1s 0s
2
300 s 240 s 180 s 120 s 90 s 60 s 45 s 30 s 20 s 15 s 10 s 5s 4s 3s 2s 1s
2
Figure 9: CPU time in milliseconds for decorrelation, for a varying time span and two epochs of data. Single frequency, phase-only, 7 satellites tracked, static baseline.
Figure 10: CPU time in milliseconds for decorrelation, for a varying time span and two epochs of data. Single frequency, phase-and-code, 7 satellites tracked, kinematic baseline.
Single baseline, single frequency
For the dual frequency cases, the decorrelation takes between 60 % and 80 % of the total time.
In figure 9 only observation time spans larger than or equal to 45 seconds are considered. With single frequency phase observations on a 10.4 km baseline, it was not possible to obtain the correct integer vector for shorter time spans. Comparison with figure 3, the dual frequency case, directly reveals that the CPU times are very little. In the single frequency case there are only 6 ambiguities, whereas there are 12 in the dual frequency case. Furthermore, the ambiguities, on the input, are less correlated in the single frequency than in the dual frequency case, see [10]. The average gain when using Q bˆ aˆ is about 15 %. Figure 10 shows the case with dual frequency phase and code for the kinematic baseline. Here we see almost no gain since Z −T and Q bˆ aˆ have the same dimension of 6-by-6. The little improvement that can be seen stems from the fact that no initialization is needed for the Z −T -matrix when working with Q bˆ aˆ . Note again that for the instantaneous case where Q bˆ aˆ has dimension 3-by-6 there is on improvement of about 15%. Overall procedure To place the timing results in perspective, we will consider for all cases, the time needed for the full procedure of parameter estimation for the implicit scheme, see table 1. We give the experiment with the shortest and with the longest observation time span. The latter is limited to 300 seconds. The normal equations (3) were taken as a point of departure. The column ‘Total CPU time’ is the time needed for computing the float solution, doing the decorrelation plus the integer estimation, and computing the fixed solution; thus the full procedure. The two constituents of the second step are also specified on an individual basis.
5. CONCLUSIONS This paper treated the computational aspects of the parameter estimation for precise relative GPS positioning. We herein focused on the integer estimation of the double difference carrier phase ambiguities. In order to circumvent the intricacies of the integer estimation with GPS, the LAMBDA method has been used. Prior to the actual integer minimization, the search, the ambiguities are decorrelated by means of the Z -transformation. As a result, an ellipsoidal ambiguity search space is obtained, that is very much sphere-like; it can be searched through for grid points very efficiently. On the aspect of computation time, we can draw the following conclusions: • The computation of the decorrelating transformation is by far the most time consuming task in the computation of the float and fixed solution. • This is however no drawback for the LAMBDA method, since the CPU time gained in the integer estimation by decorrelating the ambiguities, exceeds the time needed to compute it by orders of magnitude. • For a dual frequency phase and code kinematic baseline, the CPU time for the overall procedure is at the 10 ms level, and thus very fast anyway. Approximately 70 % is taken by the decorrelation. • The time needed for the decorrelation of the ambiguities, depends on 1. The number of ambiguities n, i.e. the dimension of the problem
CPU time for Integer estimation
Total CPU time
Reduction of CPU time operating on Q bˆ aˆ
CPU time for Decorrelation
Time span (s)
Total CPU time
CPU time for Integer estimation
CPU time for Decorrelation
Time span (s)
6.2 10.0 5.3 7.1
0.2 0.2 0.2 0.2
9.2 13.9 8.3 11.1
21-23 % 13-16 %
85.8 144.7 84.7 127.4
3.1 0.9 1.7 1.9
124.5 201.8 122.1 185.8
27-35 % 20-23 %
0.7 1.2 0.7 0.8
0.1 0.1 0.1 0.1
2.4 2.9 1.9 2.6
11-17 %
Baseline, Dual frequency L1L2 L1L2 L 1 L 2 P1 P2 L 1 L 2 P1 P2
static kinematic static kinematic
2 10 0 0
17.5 14.7 8.7 8.7
0.4 0.2 0.2 0.2
20.7 18.6 11.7 11.7
300 300 300 300
13-16 %
4-station Network, Dual frequency L1L2 L1L2 L 1 L 2 P1 P2 L 1 L 2 P1 P2
static kinematic static kinematic
1 5 0 0
221.3 253.4 134.4 134.4
16.4 8.9 1.8 1.8
271.0 315.5 170.6 170.6
300 300 300 300
19-21 %
Baseline, Single frequency L1 L1 L 1 P1 L 1 P1
static kinematic static kinematic
45
1.2
0.1
1.9
0 0
1.0 1.0
0.1 0.1
2.3 2.3
300 300 300 300
7-15 % 0-5 %
Table 1: CPU times in milliseconds for decorrelation of the ambiguities, integer estimation and overall procedure. Reduction in CPU time when operating on Q bˆ aˆ instead of working on Z −T . 2. The amount of correlation of the original double difference ambiguities (the correlation in the input situation). Important factors that influence this, are the inclusion of code observations, kinematic versus static, and the observation time span.
hundreds or thousands. (Try to compute the space needed for the Z -matrix alone: 1000 ambiguities: 1000 × 1000 × 4 bytes is approximately 4 Mb; 4 bytes suffice per integer entry in principle). Using the implicit scheme the whole process of decorrelation, integer estimation and fixing can be done inplace (with the help of a number of small help vectors). For ordinary single baseline cases, the difference between explicit or implicit computation is not large.
From a practical point of view, the need for the decorrelating Z -transformation is clearly there [8,9]. In kinematic and navigation applications, positioning results must become available in real-time. Therefore also the hard part of the parameter estimation – the ambiguity resolution – has to be done on-the-fly. Basically two alternative ways to realize the decorrelation transformation were distinguished. The transformation can be computed either explicitly or implicitly.
• For a dual frequency phase and code 4-station kinematic network (i.e. 3 roving receivers) a fixed solution is computed in less than 0.2 seconds.
• The ‘implicit’ scheme is more efficient; both in terms of CPU time as in terms of the use of core memory. This seems trivial in a time where computer memory is becoming abundant, but it will prove its usefulness when treating large networks, where the number of ambiguities easily can reach
A detailed description of the LAMBDA algorithms is available from the authors [6]. For further information concerning the LAMBDA method we refer to our WWW-site http://www.geo.tudelft.nl/mgp/lambda
6. REFERENCES [1] Teunissen, P.J.G. (1993). Least-squares estimation of the integer GPS ambiguities. Invited lecture, section IV Theory and Methodology. IAG General Meeting, Beijing, China, August 1993. Also in Delft Geodetic Computing Centre LGR-series No. 6. [2] Teunissen, P.J.G. (1995). The least-squares ambiguity decorrelation adjustment: a method for fast GPS integer ambiguity estimation. Journal of Geodesy, Vol. 70, No. 1-2, pp. 65-82. [3] Teunissen, P.J.G. (1996). GPS Carrier Phase Ambiguity Fixing Concepts. Lecture Notes in Earth Sciences, No. 60, Kleusberg, A. and P.J.G. Teunissen (Eds.), Springer Verlag, Berlin. International School GPS for Geodesy. Chapter 8, pp. 263-336. [4] Golub, G.H. and C.F. van Loan (1989). Matrix computations, Second edition, The Johns Hopkins University Press, Baltimore, Md, US. [5] Teunissen, P.J.G., P.J. de Jonge and C.C.J.M. Tiberius (1994). On the spectrum of the GPS DDambiguities. Proceedings of ION GPS-94, Salt Lake City, Utah, US, September 20-23, 1994, pp. 115-124. [6] Jonge, P.J. de and C.C.J.M. Tiberius (1996). The LAMBDA method for integer ambiguity estimation: implementation aspects. Delft Geodetic Computing Centre, LGR-series No. 12, 5+49 pp. [7] Teunissen, P.J.G., P.J. de Jonge and C.C.J.M. Tiberius (1996). The volume of the GPS ambiguity search space and its relevance for integer ambiguity resolution. Paper presented at ION GPS-96. Kansas City, Missouri, US. September 17-20, 1996. [8] Han, S. (1995) Ambiguity resolution techniques using integer least squares estimation for rapid static or kinematic positioning. Presented at the Satellite Navigation Technology: 1995 and beyond. Brisbane, Australia, June 26-28, 1995. 10 pp. [9] Hein, G.W., B. Eisfeller, J. Pielmeier, U. Rossbach, W. Werner. (1995) New developments in high precision satellite navigation at IfEN. The Fourth International Conference on Differential Satellite Navigation Systems (DSNS95). Bergen, Norway. April 24-28. Paper no. 28, 10 pp. [10] Teunissen, P.J.G. (1994). A new method for fast carrier phase ambiguity estimation. Proceedings IEEE Position, Location and Navigation Symposium PLANS’94. Las Vegas, NV. April 11-15. pp. 562-573.
Explicit computation, via (18) rb
r
-N
N
Implicit computation, via (21) ba
r
N
Cholesky
?
?
r for-/backward substitution
bˆ
Cholesky
triangular inversion
?
for-/backward substitution
?
bˆ
C −1
aˆ
triangular inversion
decorrelation
?˜
D −1 , L˜ −1
Q bˆ ˆz
triangular/ diagonal inversion
? D,˜?L˜ ?
? Z? −T
zˇ
? D˜
zˆ
−1
, L˜ −1
triangular/ diagonal inversion
? D,˜?L˜
zˆ
rb
zˆ
? N?
Q bˇ
ba
?
bˆ
?
Q bˆ ˆz
integer estimation
?
˜ L, ˜ zˆ − zˇ D,
Q bˇ (rb − Nba Z −T zˇ )
˜ D˜ L˜ T (ˆz − zˇ ) bˆ − Q bˆ ˆz L
bˇ
bˇ
?
? transport
? in-place operation
?
Q bˆ aˆ D −1 , L −1 Q bˇ
aˆ
decorrelation
integer estimation
split Ca−1
? ?
?
D −1 , L −1 Q bˇ
Z −T zˆ
?
C −1
aˆ compose
? ?
?
C
?
split Ca−1
aˆ
?
?
r
C
?
- extract
Figure 1: Computation schemes for the GPS relative positioning float/fixed solution