Recursive Detection, Identification and Adaptation ... - Curtin University

8 downloads 0 Views 4MB Size Report
jQ1. ~~~~thatis being tested; which should be 1. The numnber of outlier. Kk = klk1HkQk. (7) tests to be executed is denoted as qk. This number is not with Qk the ...
Recursive Detection, Identification and Adaptation of Model Errors for Reliable High-Precision GNSS Positioning and Attitude Determination D. Odijk, S. Verhagen Delft University of Technology Delft Institute of Earth Observation and Space Systems, dLodik(tudelfrnl, Kluyverweg 1, 2629 HS Delft, The Netherlands

Abstract-High precision applications of Global Navigation Satellite Systems (i.e. GPS, GLONASS and GALILEO) are based on resolution of the carrier phase ambiguities. Only if these ambiguities can be reliably resolved, secure position and/or attitude information can be guaranteed. Hence it is very important that the GNSS data are cleaned for possible model errors, such as outliers and/or slips. This paper describes a rigorous procedure for the real-time statistical testing and quality control of both GNSS observations and the integer phase ambiguities. The performance of the procedure will be demonstrated using kinematic GPS data. I. INTRODUCTION Integer carrier phase ambiguity resolution is a prerequisite for high-precision GNSS applications for which the desired information (position, attitude) needs to be available as quick as possible, preferably in real time. The success and reliability to resolve the integer ambiguities can only be guaranteed if the GNSS observations (i.e. carrier phase and pseudorange) are cleaned for possible outliers and or slips. In addition, the validation of the estimated integer ambiguities should be based on sound theoretical criteria. In this contribution we describe a rigorous procedure for the statistical testing of both GNSS observations and the integer ambiguities. This procedure is based on Kalman filtering in combination with the DetectionIdentification-Adaptation (DIA) procedure as developed by Delft University of Technology in the 90s [1]. In [2] this DIA procedure was already used for the quality control of kinematic GNSS positioning. The DIA procedure is a fully recursive methodology which runs parallel to the Kalman filter such that the results can be obtained in real-time. For the ambiguity resolution the celebrated LAMBDA method is used (also developed by Delft University of Technology [3]), in combination with the ambiguity ratio test, based on a modeldriven threshold [4]. The DIA procedure is applied to the float Kalman state, i.e. the state in which the carrier phase re.not vet yet integer integer bout b ambiguities are real-valued (foat (float) parameters. As a first step of this procedure possible model errors (blunders and slips in the observations) are detected by executing the float Local Overall Model test. Is this LOM test is not passed; the next step is to identify the model errors. Our

Kalmbigitie

nth

1-4244-1057-6/07/$25.OO ©)2007 IEEE.

trecalvued

a.averhagengtudelfrn1

procedure is not only able to identify a single error per epoch, but multiple errors present in the observations can be identified as well, as long as this is possible from a point of view of (local) redundancy. After identification, the Kalman state vector is adapted for the identified model errors. The part of the adapted state vector for the ambiguities (plus their variancecovariance matrix) is then used to estimate their integer values by means ofthe integer least-squares principle embodied in the LAMBDA method. The estimated integer ambiguities are only accepted if the ratio test based on a model-driven threshold is passed; otherwise one has to use the float ambiguities. After successful ambiguity resolution, the Kalman state vector is updated based on the fixed integer ambiguities. As a result, a very precise Kalman state is obtained. As a final test in our procedure the fixed LOM test is executed, which detects possible model errors that are still present in the data, but did not affect the state with the ambiguities float. The performance of the described procedure will be tested using a kinematic GPS dataset. Single-frequency phase and code data of two antennas on the roof of a moving van will be screened for possible model errors. In addition, we will simulate errors on these data, as to demonstrate that our procedure is able to detect, identify and adapt for them. This paper is organized as follows. First the Kalman filter and recursive DIA procedure are explained and after that the results are given for the kinematic GPS dataset. Finally some conclusions are given.

A. Kalman Filterfor Relative GNSS Observations Suppose that at a certain epoch k we have an mk vector of double-differenced (DD) GNSS phase and code observables, denoted as Yk Then the unknown parameters, i.e. relative comonents and DD ambiguities are a nonlinear position pp function of these observables. Denoting this nonlinear function as h(.) and the vector of unknown parameters as Xk , we may write for the mathematical expectation (denoted using E(.) ) of the observable vector:

624

Authorized licensed use limited to: CURTIN UNIVERSITY OF TECHNOLOGY. Downloaded on February 11, 2010 at 02:57 from IEEE Xplore. Restrictions apply.

E(Yk) = h(Xk)

(1)

D(Yk) = Rk

(2)

residuals. The predicted residuals and their variance-covariance Furthermore, assume that the mathematical dispersion (denoted matrix are computed as Vk = Yk- h(Xklk-l) (8a) using D(.)) of this observable vector is described by the (8b) variance-covariance matrix Rk, i.e. Q= Rk + Hk kklHT In a Kalman filter the data of different epochs are connected by adding information on the dynamics of the system. In general these dynamics are modeled as follows: (3) Xk =1FkXkI + Pk where Fk denotes the transition matrix and Pk the process disturbance vector to account for misspecifications in the dynamic model. The noise of these process disturbances (process noise) is described by the variance-covariance matrix

Qk:

B. Detection-Identification-Adaptation (DIA) Procedure The predicted residuals of the Kalman filter play a crucial role in the DIA procedure in order to account for model errors. The following two statistical hypotheses, a null hypothesis Ho and an alternative hypothesis Ha: are the basic assumptions for this DIA procedure [1]: (9) Ho Vk N(0,Qk); Ha Vk N(CkV,Qk) In the null hypothesis it is assumed that the predicted residuals are normally distributed (denoted using N(.,.)) with zero mean and variance-covariance matrix Qk' whereas in the alternative hypothesis it iS assumed they have aa nonzero mean, which u itithat ha er medan whic hypothedsi k nonzero mean is a consequence of model errors affecting the observations ofthe current epoch k. Thus V denotes the vector of model errors on epoch k, and Ck is a matrix mapping the model errors to the vector of observables Yk. Based on the above basis assumptions we now come to the -

-

(4) D(Pk) = Qk In this paper for both position components and DD ambiguities it is assumed that they remain constant all time (so the transition matrix reduces to the identity matrix). For the DD ambiguities this is truly the case in practice (as long as no cycle slips occur), however relative position components are certainly not constant when the roving receiver is moving. To account for this we assume that the process noise of the position components is extremely high, whereas the process noise of the ambiguities is set to zero. In addition, it should be remarked that the numerical entries of the process disturbance vector are set to zero in the filter. Detection:..'. As a first step of the DIA procedure, an overall now implemented implemented as TheThe Kalman filter is iS now as follows. follows. In order test is executed. For this test we do not specify matrix to have initial values the filter is initialized by performing a standard least-squares adjustment of the GNSS data of the first C k' since we do not know whether (some of) the observations observation epoch. The resulting estimates for the position and are contaminated by model errors. The test is only meant to detect if there is something wrong. The so-called Local Overall ambiguity parameters (denoted as X010) plus their variance- Model (LOM) test statistic is computed as follows: covariance matrix (denoted as 010 ) are input for the recursive IVQk V Tfloat Vkk k (10) m TLOM prediction equations: (5a) This test will be referred to as 'float' LOM test, since it applies Xklk-I = FkXk-Ilk-lI k = 1,2,... = Fkzk-lk-T zkk-lklkI (5b) to the model in which the phase ambiguities are not integer but (5b FkY-k1Jk1F +QkQk, kk=1,2,.. float. This LOM test statistic has a central F-distribution with We use the subscript kl k- I here to emphasize that the state of .. k the current epoch k is predicted from the filtered state of epoch k-i. After the prediction step the predicted state vector is -_ execute the test, is then computed as Fak (Mk Ioo,0), with ak together with the incoming GNSS data vector-- used to the level of significance of the test. estimate the unknown parameters in an optimal way. The recursive filtering equations read: Identification: If the float LOM test is not passed, potential (6a) model error(s) need to be identified. To identify the Xklk = XklkI + Kk Vk a

Kah.an

Inordermodel

( ) - ( -kk ) klk-1 ~ k l k with Kk the Kalman gain matrix, Vk the vector of predicted

model error(s), the (are) contaminated observation(s) as testisstatistic is used. It is by computed so-called outlierthat

residuals ("innovations") and Hk the matrix with partial derivatives, which is obtained when linearizing the nonlinear vector function h(.) in (1). The Kalman gain matrix is computed as: j Q 1 (7) Kk = klk1HkQk with Qk the variance-covariance matrix of the predicted

(11) I i ,- (qk k where matrix Ck is now reduced to vector C1 having zeros at entries except at the entry corresponding to the observation ~~~~~~~~~~all ~~~~that is being tested; which should be 1. The numnber of outlier tests to be executed is denoted as qk. This number is not necessarily equal to the number of observations of the current

-=Y KkHk

)klkI

(6b)

-IV

i

625 Authorized licensed use limited to: CURTIN UNIVERSITY OF TECHNOLOGY. Downloaded on February 11, 2010 at 02:57 from IEEE Xplore. Restrictions apply.

epoch, but may be larger, as to test the presence of certain model errors (for example an error in the data of the reference satellite used for the double differencing process). The outlier test statistic is normally distributed. The model error is assigned to the observation having the largest outlier test statistic exceeding the critical value. It may happen that more than one model error is present at a certain epoch. In order to identify all model errors the procedure contains a cycle for multiple model error identification. In this cycle the LOM test statistic is updated recursively each time to account for an identfied odelerror.If this updated LOMtest statistic is still

T _ 1ERE

LOM

(15)

-

mk - nk Here nk denotes the number of unknown parameters after fixing the ambiguities and Ek the vector of fixed least-squares residuals, which is computed as

Ek = Yk- h(ikk)- C16 k

Vk

Note that X7k denotes the Kalman state vector based on the tyh m st integer ambiguity solution (we us the .smo from the float state If see distinguish To (14a)). compute vector, starts s the fixed residuals the vector of model errors also needs to be l hew roieurte'sts. . searhn f exceedingotheroutl b spcritic other outliers by specifying new outlier tests, i.e. based on C1 I. for the integer ambiguities, such that we obtain V k. vectors that take into account that an earlier identified outlier is updated already identified. It may happen that after a number of model errors is identified the (updated) LOM test is still not passed. If III. TEST RESULTS the (local) redundancy does not allow for more model errors to The Kalnan filter implementation and recursive DIA be identified, the Kalman filter should be reinitialized. procedure are tested on GPS data collected in a dynamic mode in the Netherlands. On December 22, 1996, two Trimble 4000 Adaptation: After identification, the Kalman filter needs to SSI geodetic antennas were rigidly mounted on a van (see Fig. be adapted for the model errors. First the model errors are 1) and connected to receivers inside the van. The distance estimated (filtered) as follows, based on the predicted between the two antennas is 2.563 m. During 1 hour the van was driving and stopping, single-frequency GPS phase and residuals: V= (CQ Ck)k (12) code data were collected at a rate of 1 Hz, with a cut-off where matrix Ck contains the vectors that were used to elevation of 10 deg. 1 identify the model errors. The variance-covariance matrix of 2 the estimated model reads

ientieding oel er rcal. thi updaed Mes

till

CQ1kVk

Ek

(CQk'CkY

(13)

With the estimated model errors the Kalman filter state vector is now adapted as follows:

Xklk = Xklk-l -KkCkV

(14a)

~klk

(14b)

Its variance-covariance matrix is adapted as a T K ==~k.k + KkCkEkC[K[ Ylklk +KkcEkcT

Fig. 1. Van with two GPS antennas on its roof.

C. LAMBDA Ambiguity Estimation and Ratio Test The part of the Kalman state vector and its variancecovariance matrix for the float double-difference ambiguities is in a next step used to estimate the integer values of these ambiguities. For this the LAMBDA method [3] is used, in combination with the so-called model-driven Ratio test [4]-[5] in order to validate the estimated integer solution. If the integer solution is not passed by the Ratio test, the float solution is used. Thus both LAMBDA method and Ratio Test are executed at each epoch, irrespective of the outcome of ambiguity resolution at the previous epoch.

The satellites tracked during the hour time span are depicted in the skyplot (azimuth vs. elevation) in Fig. 2. The number of satellites varies from 6 to 8. 0

D. Fixed Solution If the Ratio test is passed, the integer ambiguity solution is Fig. 2. Skyplot (azimuth vs. elevation) for test data. used to update the relative position coordinates. As a result, the precision of these coordinates will be at cm level. For this soIn the processing we used a standard deviation of 2 mm for called 'fixed' solution, we may also execute a Local Overall the Li phase data and a standard deviation of 20 cm for the C1 Model test, i.e. the fixed LOM test (in contrast to the float code data. Both standard deviations are undifferenced and hold LOM test), for which the test statistic is computed as follows: for a satellite in the local zenith. The actual standard deviations used in the Kalman filter are computed using an elevation-

626 Authorized licensed use limited to: CURTIN UNIVERSITY OF TECHNOLOGY. Downloaded on February 11, 2010 at 02:57 from IEEE Xplore. Restrictions apply.

dependent function. From the relative positions between the antennas as coming out of the Kalman filter, in a next step the attitude of the vehicle was determined, i.e. the yaw (or heading) angle, the pitch (or elevation) angle and, as byproduct, the length of the baseline 1-2. These are computed from the relative coordinates as follows: x = arcsin u> (pitch) / = arctan