12
ION GNSS 2010, Session D3, September 21-24, Portland, OR 1/12 Operational Performance of RTK Positioning when Accounting for the Time Correlated Nature of GNSS Phase Errors Charles Miller, Kyle O’Keefe, Yang Gao Department of Geomatics Engineering Schulich School of Engineering The University of Calgary BIOGRAPHY Charles Miller received his BSc in Geomatics Engineering from California State University, Fresno in 2008. He is currently a MSc student at the University of Calgary. with a research interest in land surveying RTK GPS standards and specifications. Kyle O’Keefe is an Associate Professor of Geomatics Engineering at the University of Calgary. He has worked in positioning and navigation research since 1996. His major research interests are GNSS system simulation and assessment, space applications of GNSS, carrier phase positioning, and local and indoor positioning with ground based ranging systems. Dr. Yang Gao is a Professor in the Department of Geomatics engineering at the University of Calgary. His research expertise includes both theoretical aspects and practical applications of satellite positioning and navigation systems, with more than 200 publications and a number of awards for his contributions in the field. He is a fellow of the International Association of Geodesy (IAG) and the Chairman of IAG Sub-Commission on “High Precision GNSS”. ABSTRACT In order for Real-Time Kinematic (RTK) Global Positioning System (GPS) to provide a realistic positional accuracy estimate, the stochastic model must correctly describe the errors within the observables, including their temporal correlation. Temporal correlation is generally ignored by modern RTK manufacturers. Assuming correlated observations to be independent results in an over-optimistic state variance-covariance (VCV) matrix. This can lead to too much confidence being placed in GPS obtained positions, especially when combined in survey networks with terrestrial obtained positions. One method of accounting for the temporal correlation found in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously untested approach is implemented and evaluated using real RTK GPS data. Using traditional survey methods, a 3-dimensional survey testing network was created, and adjusted using least squares. Each of the 6 testing points within the network were characterized with different signal challenges to experience a variety of multi-path scenarios. The network was repeatedly surveyed using commercial RTK equipment and software, with baselines up to 10 km in length. The positions and accuracy of each point were determined using both commercial RTK software and the time-differencing Kalman filter. Using the state VCV matrix, error ellipses (95% confidence interval) are formed and analyzed in the local coordinate system. When temporal correlation is ignored, the error ellipses do not contain the absolute position as often as they should at the 95% confidence interval (CI). Using the state VCV matrix established with the time- differencing Kalman filter, the error ellipses are more realistic and contain the absolute position 95% of the time. The time-differencing Kalman filter is not without its difficulties, as ambiguity resolution and filter tuning are shown to be difficult tasks. INTRODUCTION One of the most accurate forms of Global Positioning System (GPS) positioning is real-time kinematic (RTK), utilized by land surveyors and others on a daily basis around the world. RTK surveying utilizes the very precise double-differenced carrier phase observable to produce positions that RTK manufacturers announce are accurate to approximately 2-cm. The carrier phase observable is riddled with a number of complex errors that must be

Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 1/12

Operational Performance of RTK Positioning when Accounting for the Time Correlated

Nature of GNSS Phase Errors

Charles Miller, Kyle O’Keefe, Yang Gao Department of Geomatics Engineering

Schulich School of Engineering The University of Calgary

BIOGRAPHY Charles Miller received his BSc in Geomatics Engineering from California State University, Fresno in 2008. He is currently a MSc student at the University of Calgary. with a research interest in land surveying RTK GPS standards and specifications. Kyle O’Keefe is an Associate Professor of Geomatics Engineering at the University of Calgary. He has worked in positioning and navigation research since 1996. His major research interests are GNSS system simulation and assessment, space applications of GNSS, carrier phase positioning, and local and indoor positioning with ground based ranging systems. Dr. Yang Gao is a Professor in the Department of Geomatics engineering at the University of Calgary. His research expertise includes both theoretical aspects and practical applications of satellite positioning and navigation systems, with more than 200 publications and a number of awards for his contributions in the field. He is a fellow of the International Association of Geodesy (IAG) and the Chairman of IAG Sub-Commission on “High Precision GNSS”.

ABSTRACT In order for Real-Time Kinematic (RTK) Global Positioning System (GPS) to provide a realistic positional accuracy estimate, the stochastic model must correctly describe the errors within the observables, including their temporal correlation. Temporal correlation is generally ignored by modern RTK manufacturers. Assuming correlated observations to be independent results in an over-optimistic state variance-covariance (VCV) matrix. This can lead to too much confidence being placed in GPS obtained positions, especially when combined in survey networks with terrestrial obtained positions. One

method of accounting for the temporal correlation found in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously untested approach is implemented and evaluated using real RTK GPS data. Using traditional survey methods, a 3-dimensional survey testing network was created, and adjusted using least squares. Each of the 6 testing points within the network were characterized with different signal challenges to experience a variety of multi-path scenarios. The network was repeatedly surveyed using commercial RTK equipment and software, with baselines up to 10 km in length. The positions and accuracy of each point were determined using both commercial RTK software and the time-differencing Kalman filter. Using the state VCV matrix, error ellipses (95% confidence interval) are formed and analyzed in the local coordinate system. When temporal correlation is ignored, the error ellipses do not contain the absolute position as often as they should at the 95% confidence interval (CI). Using the state VCV matrix established with the time-differencing Kalman filter, the error ellipses are more realistic and contain the absolute position 95% of the time. The time-differencing Kalman filter is not without its difficulties, as ambiguity resolution and filter tuning are shown to be difficult tasks.

INTRODUCTION One of the most accurate forms of Global Positioning System (GPS) positioning is real-time kinematic (RTK), utilized by land surveyors and others on a daily basis around the world. RTK surveying utilizes the very precise double-differenced carrier phase observable to produce positions that RTK manufacturers announce are accurate to approximately 2-cm. The carrier phase observable is riddled with a number of complex errors that must be

Page 2: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 2/12

accurately modeled in order to produce a realistic estimate of the positional accuracy. Both spatially and temporally correlated errors are found within the observable. Correlation is defined as “two mathematical or statistical variables which tend to vary are associated in a way not expected to occur by chance alone (Merriam-Webster, 2009).” Spatially correlated errors occur when the magnitude of the error is similar at two different locations. By double differencing the observations observed using two simultaneously operating receivers and satellites, any spatially correlated errors are eliminated. A bi-product of double differencing is mathematical correlation, due to each observable using a similar satellite measurement, which must be included within the stochastic model. Errors are temporally correlated when their magnitude is similar over a period of time. Multiple studies have shown GPS errors to be time-correlated (Olynik, 2002; El-Rabbany, 1994; Wang et al, 2002). Time-correlated GPS errors include multipath, orbital errors, satellite clock errors, and the atmospheric errors (see Olynik, 2002). A key assumption in both least squares and Kalman filtering, used in the estimation of the position, is that each new observation is completely independent from all others, and if they are not independent, the correlation must be accounted for. This is a problem in most modern RTK software where temporal correlations are ignored. Treating time-correlated observations as independent results in an under-scaled VCV matrix to describe the estimated states. This results in an over-optimistic estimated positional accuracy and too much confidence being placed in the results by surveyors. There have been relatively few studies regarding methods accounting for temporal correlation in the GPS observables. El-Rabbany (1994) presents an algorithm for accounting for temporal correlation by fully-populating an enlarged VCV matrix. In this method, each new measurement results in an additional row and column being added to the matrix. It is then used within a modified least squares algorithm to produce a more realistic accuracy estimate. Over longer observation periods, the matrix would grow to huge proportions, especially in RTK applications where a 1 Hz data rate is typically used. The author showed an interest in static surveying (involving slow data rates and post-processing) and the proposed method appears to be designed to accommodate the needs of that specific application. Han and Rizos (1995) present an alternative algorithm which emulates El-Rabbany’s results by simply scaling the final VCV matrix of the estimated states. Examples of other studies are Howind et al (1999) and Satirapod et al (2001).

While other methods strive to account for temporal correlations by fully populating the measurement VCV matrix, an altogether different approach is accounting for temporal correlation by time-differencing the observations in a Kalman filter. This whitens the measurements through cancellation of the time-correlated errors. This method was originally presented by Bryson and Henrikson (1968), but has since been modified by Petovello et al (2009) to eliminate a time-latency issue. This approach differs only slightly from triple differencing where consecutive observations are differenced entirely, effectively eliminating the ambiguity terms from the positioning equations. For this research, the time-differencing Kalman filter was implemented, as presented by Petovello et al (2009), and it’s performance evaluated using real GPS data. THE MODIFIED KALMAN FILTER To understand the theory behind the elimination of time-correlated errors as presented by Bryson and Henrikson (1968), it is best to first understand the typical discrete Kalman filter, explained in detail within Brown and Hwang (1997). The discrete-time Kalman filter strives to model a random process at a discrete moment in time, k. A measurement is modeled as shown in Equation 1:

zk = Hkxk + vk (1)

where z is the measurement vector of size mx1 (where m is the number of observations and n is the number of states). H is the design matrix (mxn) which describes the relationship of the measurement to the states, where x is the state vector (nx1). Measurement noise is contained within the vector, v (mx1). The discrete-time Kalman filter is comprised of a prediction step, using information from the past to predict how the process will behave in the future, and an update step, when actual data is combined with the prediction to make the best estimate. In the prediction steps, both the states (the desired information), and their VCV information are estimated, an estimate based solely on past information and assumptions on how the process should behave. The prediction step is performed as shown in Eqs. 2 and 3:

xk+1− = φk xk + wk (2)

Pk+1− = φkPkφk

T + Qk (3)

The measurement noise, v, is assumed to be completely uncorrelated with the process noise, w (nx1). Both v and w are assumed to be white and have known covariance information contained within a measurement VCV matrix, R and a process noise VCV matrix, Q. The transition matrix, φ, describes the relationship of the states from one epoch to another. The estimated accuracy of the states is contained within state VCV matrix P (nxn), where x(-) and P(-) denote the predicted states and their

Page 3: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 3/12

covariance information. When new data becomes available, the states and their VCV matrix are updated using Eqs. 4 through 6:

Kk = (Pk−Hk

T )(HkPk−Hk

T + Rk )−1 (4)

xk+ = xk

− + Kk (zk − Hkxk−) (5)

Pk+ = Pk

− − Pk−KkHk (6)

Where K (nxm) is the gain matrix, and x(+) and P(+) are the updated states and their covariance information. In the time-differencing Kalman filter, henceforth called the modified Kalman filter to remain consistent with Petovello et al (2009), temporal correlation is accounted for by limiting the information used to update the filter to that which is new. The redundant information, that which is correlated with previous observations, is differenced as determined by the correlation coefficient, f, shown in Eq. 7, where dt represents the data rate.

f = e−

dt

T (7)

To calculate f, a temporal correlation time, T, must be selected based on the signal characteristics of the receiver environment. The selection of T is based on a best fit of the exponential function to the autocorrelation residual time series. For more on the selection of T, see El-Rabbany (1994). The transition matrix of the time-correlated errors, S, shown in Eq. 8, maps out the correlated portion of the errors between consecutive epochs.

Sk = diag( f ) (8)

Time-differencing is performed by subtracting the correlated portion of the previous observation from the current observation as shown in Eq. 9,

zk = lk − Sklk−1 (9)

Where z is the measurement vector at epoch k, and is a function of the current and previous observation vectors, lk and lk-1. The correlated errors from the previous observation are mapped into the current observation using S, where they are then eliminated through differencing. To show how the correlated errors are eliminated, the error within an observation is theoretically separated into correlated and uncorrelated parts, as shown in Eq. 10:

lk = Akxk + uk + nk (10)

Where l is the observation vector, A is the design matrix relating the states to the observations, u represents the time-correlated errors present in the measurements, and n represents the random errors. The time-correlated error is predicted ahead as shown in Eq. 11:

uk = Skuk−1 +εk−1 (11)

In Eq. 11, ε is a vector of white noise that is uncorrelated with either the white process noise, w or the white measurement noise, n. By applying Eqs. 2, 10, and 11 to the time-differencing equation, Eq. 9, the time-correlated errors are theoretically eliminated. This is shown in the following simplification:

zk = lk − Sklk−1 = (Ak (Φk−1xk−1 + wk−1) +(Skuk−1 +εk−1) + nk ) − Sk (Ak−1xk−1 + uk−1 + nk−1)

= AkΦk−1xk−1 + Akwk−1 +Skuk−1 +εk−1 + nk − SkAk−1xk−1 − Skuk−1 + Sknk−1

= (AkΦk−1 − SkAk−1)xk−1 + Akwk−1 +εk−1

+nk − Sknk−1

(12)

As shown in above simplification, the resulting measurement vector, Eq. 12, is free of time-correlated errors. The issue is that there is a one-epoch time delay. During epoch k, the states from epoch k-1 are still being estimated. A time delay would result in many frustrated surveyors. To alleviate the time latency problem, Petovello et al (2009) has modified the method presented by Bryson and Henrikson (1968). The delay in state estimation can be eliminated by manipulating the discrete filter, state prediction step, found in Eq. 2, and solving for xk-1, as shown in Eq. 13.

xk−1 = Φk−1−1 (xk − wk−1) (13)

Substituting 13 into 12 results in the following simplification:

zk = AkΦk−1[Φk−1−1 (xk − wk−1)]+ Akwk−1 +εk−1

+nk − SkAk−1[Φk−1−1 (xk − wk−1)] − Sknk−1

zk = Akxk − SkAk−1Φk−1−1 xk + SkAk−1Φk−1

−1 wk−1

−Sknk−1 + Akwk−1 − Akwk−1 + εk−1 + nk

(14)

Further simplification of the measurement vector can be made by substituting Eq. 15.��

χk = SkAk−1Φk−1−1 (15)

Explained simply, χ is the correlated portion of the design matrix, mapped from the current epoch to the previous epoch. χ is introduced in order to simplify the mathematical formulas and facilitate any changes in the visible satellite constellation, explained later. The resulting measurement vector, which is now free of any time latency and time-correlated errors, is shown in Eq. 16.

zk = (Ak − χk )xk + χkwk−1 − Sknk−1 +ε k−1 + nk (16)

To further simplify the modified filter, Petovello et al (2009) shows that the measurement model for the modified filter, Eq. 16, can be related to the measurement model from the typical discrete Kalman filter, shown in Eq. 1, by making the following redefinitions.

Page 4: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 4/12

Hk = Ak − χk (17)

and

vk = χkwk−1 − Sknk−1 +ε k−1 + nk (18)

H is the design matrix of the time-differenced observations. Subtracting the correlated portion of the design matrix from the previous epoch, χk, from the current epoch design matrix, Ak, the time-correlated errors are eliminated. The measurement noise vector of the modified Kalman filter, Eq. 18, is assumed to be white because of the elements inside it are assumed to be white. As explained earlier, one of the main assumptions in a discrete time Kalman filter is that the process noise and the measurement noise are uncorrelated. Note that the measurement noise is now a function of the process noise, w, breaking this assumption. As a result, a new variable, C, is computed to deal with this correlation as shown in Eq. 19.

Ck = Qk−1χkT (19)

The update step is performed using the following set of Eqs.:�

( ) ( ) 1( )( )k

T T T Tk k k k k k k k k k k

K

P H C H P H R H C C H− − −

=

+ + + +

(20)

xk(+ ) = xk

(− ) + Kkzk (21) ( )

( ) ( )( )k

T T T Tk k k k k k k k k k k

P

P K H P H R H C C H K

+

− −

=

− + + +

(22)

where

Rk = Mk−1 + Nk + SkNk−1SkT + χkQk−1χk

T (23)

The measurement VCV matrix, R, is now a function of a white measurement noise VCV matrix, N, and a correlated noise VCV matrix, M. As the amount of temporal correlation increases, R becomes larger, resulting in a more realistic estimate regarding the accuracy of the states. �� In the modified Kalman filter, if T is zero (meaning no temporal correlation in the observables), S, χ, and C also reduce to zero. Eqs. 17 through 23 then simplify into the normal discrete Kalman filter equations shown in Eqs. 1 through 6. The measurement VCV matrix, R, also reduces to what it would be otherwise. FILTER TUNING A critical aspect of the successful use of the modified Kalman filter is filter tuning. During filter tuning, the stochastic model is refined to allow the filter to perform efficiently and accurately. The stochastic model strives to

model a random process in terms of the probability of where a process might lead. This modeling is implemented within the measurement noise VCV matrix, which describes the statistical quality of the observations. In this VCV matrix, the diagonal values describe the observation variance, or the distribution from their mean value. The off-diagonal elements describe any cross-correlation. Often, GPS software over-simplifies the stochastic model by assuming zero cross-correlation and assuming that all observations have the same variance. This over-simplification results in a state VCV that fails to realistically describe the true statistical value of estimated parameters. When tuning a discrete time, random walk Kalman filter, values are chosen for the process noise and measurement noise VCV matrices, Q and R. The chosen values need to realistically describe the noise within the system, while allowing the filter to run in an optimal and robust manner. In the time-differencing Kalman filter, measurement noise is divided into two separate parts, white measurement noise, n, and correlated measurement noise, u, with respective VCV matrices, M and N. The length of temporal correlation is also considered during filter tuning. All of these variables must be selected with appropriate values that reflect the true error characteristics within the system, yet still produce an efficient, optimal filter. To determine the best set of values for the stochastic model, the impact each parameter has on the state VCV matrix is evaluated one at a time, deviating from their initially selected values, shown in Table 1. While one parameter is being evaluated, all others are held constant to the values shown in Table 1. During filter tuning and throughout this research, the position components are modeled as random walks, meaning that the direction of change. The ambiguity states are modeled as random constants. The GPS data used during filter tuning was obtained over a 400 m baseline in an environment free of obstructions.

Table 1: Initially chosen values used for tuning the modified Kalman filter (L1).

Pseu

do-r

ange

Car

rier

Phas

e

Process Noise (cm/ Hz ) 0.0075

White Measurement Noise (cm) 15 0.50

Correlated Measurement Noise (cm) 85 1.50

Temporal Correlation (sec) 60 Essential to this research is determining an appropriate value to describe the temporal correlation that exists in GPS observations. Like the other stochastic parameters

Page 5: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 5/12

that must be chosen, the amount of temporal correlation varies with time and location. Using Eq. 7, the correlation coefficient, f, is calculated using a range of values for temporal correlation, as shown in Fig. 1. When T equals 10 epochs, or seconds in this case, the correlation coefficient is approximately 0.90 between consecutive epochs. This is to equivalent to saying that 90% of the consecutive signal is redundant to the original signal. As long as the signals are assumed to be independent, this redundant information should not be used to update the filter. As the length of temporal correlation increases, the correlation coefficient edges closer and closer to 1, meaning that the consecutive signals are nearly 100% correlated. Fig. 2 shows the 1-σ estimated accuracy (latitude) using different values for T. As the temporal correlation increases in length, the states become less observable as there is less new information contained within consecutive epochs. Observability becomes lost when there is not enough information to update the estimated states. When temporal correlation is ignored, the filter continues to converge. Filter convergence is detectable when the estimated accuracy continues to improve over time. This often occurs in static surveys where very little process noise is added to the filter. Regardless of the minimal process noise (see Table 1), as the length of temporal correlation increases, the filter begins to lose observability and the estimated accuracy stops improving. Once the length of temporal correlation reaches 40 or 50 seconds, there is little change in the resulting accuracy estimate. When using a correlation time of 50 seconds, the consecutive epochs are already nearly 100% correlated, and a larger temporal correlation time will not make a significant difference in state observability. The measurement noise VCV matrix, R, describes all of the errors within each measurement. This includes multipath and atmospheric errors. In this research, additional noise was given to low elevation satellites in an effort to compensate for the larger errors that signals from these satellites typically have. It was assumed that there was no cross-correlation between the observations (Off-diagonal elements of R equal zero). As in all filter tuning, there is no specific value for the measurement noise that best describes every scenario. Measurement noise constantly changes with location and time and ideally should be estimated on a per-case basis. As shown in Table 1, measurement noise is estimated for both the carrier phase and pseudorange noise individually. Fig. 3 shows the 1-σ estimated accuracy (latitude) using different values for the correlated measurement noise VCV matrix. As expected, the as the standard deviation gets smaller, the estimated accuracy improves. The carrier phase observable has a larger impact on the estimated accuracy than the pseudorange observable. Regardless of

the variance used to describe to the pseudorange observable, the estimated accuracy remains approximately the same. Fig. 4 shows the effect the white measurement noise has on the 1-σ estimated accuracy. Although any difference is minimal, the smaller the white measurement noise, the better the estimated accuracy.

Fig. 1: Correlation coefficient, f, vs. temporal correlation, T (f =e

−dt

T ).

Fig. 2: Estimated 1-σ accuracy (State X) vs. length of temporal correlation, T.

Although each RTK manufacturer chooses different values for the stochastic parameters, which are not generally available to the public, it is understood that process noise is added to account for kinematic movement. This process noise also prevents the estimated positional accuracy from falling below 2 cm. In static positioning, the process noise is either significantly

Page 6: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 6/12

reduced or eliminated, allowing the estimated accuracy of the position to get increasingly better. The VCV matrix of the process noise, Q, in this research where a random walk model is used, is based on how much the receiver is expected to travel between epochs. A diagonal Q matrix, used in this research, assumes any horizontal or vertical movement is independent from one

Fig. 3: Estimated 1-σ accuracy (State X) vs. 1-σ estimate of time-correlated measurement noise.

Fig. 4: Estimated 1-σ accuracy (State X) vs. 1-σ estimate of white measurement noise. another. Process noise is not added to the ambiguity states as their values remain constant as long as the satellite signals remain locked. For the filter to converge, the process noise must be virtually eliminated, see Fig. 5. Regardless of the value chosen to approximate the temporal correlation, a filter cannot diverge until process

noise is added. For the time differencing filter to function reliably, the process noise must be carefully chosen to allow for filter convergence while still allowing for movement.

Fig. 5: Estimated 1-σ accuracy (State X) vs. 1-σ estimate of system process noise.

The challenge is in finding a set of values that realistically describes the kinematic movement, the length of temporal correlation within the observations, and the measurement noise, both coloured and white, while still allowing the filter to converge. Accounting for temporal correlation removes so much state observability that it is very difficult to keep the filter from diverging. As seen in Fig. 5, when using the values found in Table 1, the filter is not adequate for the kinematic movement that is found in RTK surveying. IMPLEMENTATION Previous to this research, the above equations had yet to be tested using real data. The challenge of using real data compared to simulated data, is that data collected in the field is prone to constant changes in the visible satellite constellation. This can be due to cycle slips, satellites rising above or descending below the horizon, or other issues. When performing time-differencing, the design matrices from consecutive epochs must be differenced, a problem when the matrices have different dimensions, which happens when the satellite constellation changes. To simplify the issue, χ is created, shown in Eq. 15, so that all of the difficulties of aligning matrices of different dimensions are contained within one variable. As long as χ is the same dimension as the current design matrix, Ak, there are no problems with incompatible matrices throughout the entire estimation process.

Page 7: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 7/12

When a new satellite is observed during epoch k, but not during epoch k-1, a new row must be added to χ to make its dimensions compatible to that of Ak. Eq. 24 demonstrates the calculation of Hk when a new satellite observation, X3, is allowed into the solution.

Hk = Ak − χk = Ak − SkAk−1Φk,k−1−1

=Xk

1

Xk2

Xk3

⎢ ⎢ ⎢

⎥ ⎥ ⎥

−f 0 0

0 f 0

0 0 0

⎢ ⎢ ⎢

⎥ ⎥ ⎥

Xk−11

Xk−12

Xk−13

⎢ ⎢ ⎢

⎥ ⎥ ⎥ 1[ ] =

Xk1 − f (Xk−1

1 )

Xk2 − (Xk−1

2 )

Xk3

⎢ ⎢ ⎢

⎥ ⎥ ⎥

(24)

This single-state example assumes a random walk process where the transition matrix, Φ, is identity. X1 and X2 are observations made at both epochs k and k-1, and X3 is observed only at epoch k. Regardless, X3 is still included within χ but with a correlation coefficient of zero. This results in the entire X3 observation being used in the state update (since all of it’s information is independent data), while the time-correlated portions of X1 and X2 are eliminated from the current observation. Opposite of tracking a new satellite, when a satellite observation used during epoch k-1 is not used during epoch k, it must be removed from χ to ensure compatible matrix dimensions. Since the satellite is no longer observed, there is no longer any correlated measurement and the previous epoch information can simply be removed for that satellite. In real GPS data, the following scenario will occasionally occur. A satellite signal will temporarily be lost before the signal is quickly picked up again. This scenario occurs with low elevation satellites with low signal-to-noise ratios. If the satellite reenters the solution before enough time has elapsed to be considered an independent observation, it must be differenced from the last observation made before the tracking was lost. Even though the satellite was not continuously tracked, for a certain period of time, the observations are still temporally correlated with previous information. Fig. 6 shows what can happen to the position estimate, the estimated height in this case, when a satellite comes into or leaves the solution. This dataset was observed using a ~100 m baseline. In this case, both L1 and L2 signals were used, resulting in 12 fixed ambiguities at one point. To simplify the Fig. and save space, only the centimetre level component of the estimated height is shown. Each time a satellite enters or leaves the solution, the estimated position is often drastically altered. In this case, when a new satellite signal was accepted into the solution, the height estimated immediately changed 1 cm. Allowing new satellites into the modified Kalman filter can be risky. Since a new measurement is used in its entirety to update the states, if it contains large errors, the errors will propagate into the estimated position with much greater consequences than if the errors were in the

time-differenced observations. For this reason, any observations from newly acquired satellites should strictly be analyzed using blunder detection methods.

Fig. 6: The estimated height component and number of fixed L1/L2 ambiguities vs. time, using the modified Kalman filter.

An interesting observation was made during filter tuning regarding process noise. If the process noise is so large that the filter does not converge (i.e. The estimated state VCV matrix fails to improve over time), any new satellites that come into the solution generally cause any previously fixed ambiguities to be lost. This would result in a float solution that would rarely regain fixed ambiguities for the remainder of the dataset. FIELD WORK In order to evaluate the performance of the modified Kalman filter, a 11-point survey testing network was created using terrestrial survey techniques. The network was adjusted using least squares to produce accurate coordinates for each point that is considered the truth position. Four of the points, Pts. 1 through 4, were used solely for transforming the other 7 points from GPS coordinates to the local coordinate system used in original survey of the network. For more on this process, called the localization, see Iliffe and Lott (2008). Points 5 through 11 each had unique signal environments as follows (5-11): An open field, a sidewalk, a parking lot, adjacent to a large building, a field with trees to north, under a tree canopy, and adjacent to a chain link fence. Pt. 6 was surveyed for another project and is not evaluated in this paper. The orientation of the survey network is shown in Fig. 7. The survey network was then surveyed 10 additional times using RTK GPS. These 10 surveys were performed

Page 8: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 8/12

over a two week period between October 28th 2009 and November 14th 2009. The base receiver, used for differencing, was located in a variety of locations, ranging from 10 km away from the survey network, to being located within the network. Positions were established on-the-fly using the commercial software and the raw data was stored for post-processing using the modified Kalman filter. The modified Kalman filter was implemented using C++. The ambiguities were re-initialized every 15 seconds to provide independent position samples. The position and accuracy estimates used in the results were obtained using the final values before the re-initialization. Incorrectly fixed ambiguities, detectable by large errors in all directions were removed from the dataset. The coordinates generated using both commercial GPS and the modified Kalman filter are compared to the truth survey network coordinates to determine the absolute position error.

Fig. 7: The survey network, surrounded by the transformation points, in red.

RESULTS An important aspect in determining whether or not the modified Kalman filter is a valid option for use in RTK surveying, is comparing its accuracy to other processing methods. The modified Kalman filter is compared against three other processing styles: Commercial RTK software, RTK-2, and static. Both the RTK-2 and static styles were implemented using an extended Kalman filter with the stochastic parameters shown in Table 2. The modified Kalman filter (MKF) separates the measurement noise into both white and correlated components. The magnitude of these noise components is open for debate, but for this research, values were selected based upon Misra and Enge (2001). The other

values were selected based on filter tuning. To allow for kinematic movement, the process noise parameter was set to the highest possible value while still allowing the filter to converge. Due to very little observability when accounting for temporal correlation, the selected process noise value is very small, and therefore more appropriate for static surveying. The RTK-2 processing style strives to emulate the processing performed by commercial RTK GPS software. To allow for the kinematic movement seen in RTK, the process noise was increased to 5 cm/ Hz . To make a valid comparison to the modified Kalman filter, the measurement noise parameters used in RTK-2 equal the sum of the white and correlated measurement noise components used within the modified Kalman filter. The static processing style, in this case, does not refer to long occupation times and slow data rates, but refers to the process noise being set to a very small value not conducive to kinematic movement. The static mode uses the same parameters as RTK-2 but will less process noise, in this case, the same amount of process noise used in the MKF. The static mode, similar to the other two processing styles, uses a data rate of 1 Hz.

Table 2: Values selected for the stochastic parameters used in each processing style. The commercial RTK stochastic parameters are unknown.

Measurement Noise (cm)

Process Noise

(cm/ Hz ) Total White Coloured T (s)

PSR - 15 85

MK

F

ADR 0.0075

- 0.2 0.8 60

PSR 100 - -

RTK

-2

ADR 5

1 - - 0

PSR 100 - -

Stat

ic

ADR 0.0075

1 - - 0

If the modified Kalman filter is properly implemented, then the temporally correlated errors should be mitigated through time-differencing, resulting in residuals that are whiter in appearance.��Fig. 8 shows the residuals from PRN pair 3-7, observed while the receiver was located on Pt. 11, using the MKF and static modes. Unlike previous results, the ambiguities in this dataset were not reinitialized every 15 seconds. The residuals from the MKF, shown in blue, appear to be random with time, which is expected after the elimination of the time-correlated errors. The residuals also appear to be noisier, attributed to the law of covariance propagation (Cao,

Page 9: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 9/12

2009). The residuals from the static processing style appear to be temporally correlated, but less noisy than those produced using the MKF.

Fig. 8: L1 carrier phase residuals using the MKF and static processing styles. PRN pair 3-7, observed on Pt. 11.

Table 3 shows the accuracy and repeatability statistics generated with the four processing modes. Bold and italicized values represent the best result between the four. The modified Kalman filter was very accurate, performing the best in the easting and northing directions, even better than the commercial RTK software. Just as important as understanding the absolute accuracy of the modified Kalman filter is understanding whether or not the state VCV matrix is properly scaled to produce realistic accuracy estimates. 95% confidence interval (CI) error ellipses are formed from the VCV matrix using each of the three processing modes: MKF, RTK-2, and Static. Theoretically, if the error distribution is normal and the VCV is properly scaled, then the 95% CI error ellipses should contain the true coordinates within their bounds 95% of the time. Fig.s 9, 10, and 11 are examples of horizontal error ellipses generated using the MKF, RTK-2, and static modes. Error ellipses plotted in green contain the true coordinates, marked as a triangle. Error ellipses plotted in red fail to contain the true coordinates within their boundary. The scattered points plotted in black represent the estimated coordinates over which the error ellipses are centered. Fig. 9 shows the 95% CI error ellipses produced by the MKF for Pt. 10, which is located underneath a tree canopy. The error ellipses are properly scaled, with a few of the error ellipses barely containing the true coordinates. Compare this to Fig. 10, which used RTK-2, and Fig. 11, which used the static mode. While using RTK-2, where process noise is added to the filter to allow for kinematic

movement, the horizontal error ellipses are so large they can be considered over-pessimistic. On the other hand, the static mode, where very little process noise is added in the filter, produces error ellipses that are over-optimistic, as reflected in the large number of error ellipses that fail to contain the true coordinates.

Table 3: Accuracy and repeatability statistics for each of the four processing styles. Bold and italicized values represent the best result between the three processing styles.

Proc

ess

Styl

e

Num

ber o

f Sa

mpl

es

Dire

ctio

n

Min

(cm

)

Max

(cm

)

Mea

n (c

m)

σ (c

m)

RM

S (c

m)

E 0 1.9 -0.1 0.73 0.75 MKF 838 N 0 3.5 -0.5 0.99 1.11

U 0 7.1 0.0 1.83 1.83 E 0 2.7 -0.1 0.82 0.82

RTK-2 906 N 0 3.5 -0.5 1.02 1.14 U 0 6.1 -0.1 1.70 1.7 E 0 4.1 0.0 0.88 0.88

Static 899 N 0 4.2 -0.7 1.09 1.3 U 0 5.9 -0.1 1.68 1.68 E 0 7.4 0.0 0.90 0.9

Commercial 797 N 0 9.9 -0.6 1.25 1.37 U 0 12.9 -0.2 2.25 2.25

Fig. 9: Horizontal error ellipses (95% CI) produced using the MKF. Green error ellipses contain the true coordinates (Marked as a triangle). Red error ellipses do not contain the true coordinates.

Page 10: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 10/12

Fig. 10: Horizontal error ellipses (95% CI) produced using the RTK-2 processing style. Green error ellipses contain the true coordinates (Marked as a triangle). Red error ellipses do not contain the true coordinates.

Fig. 11: Horizontal error ellipses (95% CI) produced using the Static processing style. Green error ellipses contain the true coordinates (Marked as a triangle). Red error ellipses do not contain the true coordinates. Table 4 shows the percentage of 95% CI horizontal error ellipses that contain the truth coordinates within their bounds. In the case of vertical accuracy, the percentage of time that vertical error is less than the estimated vertical accuracy, scaled to 95% CI (1.96-σ). Results are filtered according to Pt. number. It is obvious that the commercial RTK software, which over simplifies the stochastic model and ignores temporal correlations, produces an over-optimistic accuracy, with only 77% of the error ellipses containing the true position. The MKF produced the most realistic VCV matrices. As a whole, the 95% CI horizontal error ellipses and 95% CI vertical sigmas

contained the true horizontal and vertical coordinates approximately 94% of the time. This is compared to those produced using RTK-2 which contained the true coordinates both horizontally and vertically between 99% and 100% of the time. The static mode produced drastically over-optimistic estimated accuracies, containing the true coordinates only 60-75% of the time. Table 4: Percentage of the 95% CI Error Ellipses and 95% CI vertical accuracy estimates that contain the absolute position, as established by the truth survey network, for the Commercial RTK, MKF, RTK-2, and Static processing styles.

Pt

. ID

Sam

ples

95%

CI H

orz.

Er

ror E

llips

es

Con

tain

ing

True

Po

sitio

n

95%

CI

Ver

t. Si

gmas

C

onta

inin

g Tr

ue

Posi

tion

5 99 99.00% 99.00% 6 95 64.20% 75.80% 7 124 70.20% 97.60% 8 136 88.20% 92.70% 9 106 87.70% 99.10%

10 130 75.40% 84.60% 11 107 51.40% 96.30%

Com

mer

cial

Total 797 76.80% 92.20% 5 149 100.00% 100.00% 7 144 97.90% 100.00% 8 191 97.40% 93.70% 9 124 100.00% 100.00%

10 123 70.70% 69.10% 11 107 92.50% 99.10%

MK

F

Total 838 93.80% 93.90% 5 182 100.00% 100.00% 7 138 100.00% 100.00% 8 215 100.00% 100.00% 9 126 100.00% 100.00%

10 104 99.00% 93.30% 11 141 100.00% 100.00%

RT

K-2

Total 906 99.90% 99.20% 5 182 78.60% 79.70% 7 138 50.00% 72.50% 8 215 73.00% 65.60% 9 126 77.00% 92.90%

10 97 34.00% 38.10% 11 141 31.20% 83.00%

Stat

ic

Total 899 60.40% 73.10% Focusing on how the results varied according to Pt. ID, it is interesting to note that the MKF did not perform as well

Page 11: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 11/12

as expected during observations of Pt. 10. One possible explanation for this is based on the chosen length of temporal correlation. The same length of temporal correlation (T = 60 sec) was used regardless of the point being occupied, This chosen value is a generalization and will not always accurately reflect the specific signal characteristics observed at each point. In the case of Pt. 10, the length of temporal correlation may have been longer than estimated, while in the case of Pt. 5, located in an open field where little multipath was expected, the selected length of temporal correlation may have been too long, as seen in the over-pessimistic error ellipses During the field work, the roving receiver would remain motionless for up to 15 minutes while centered over each point. With the receiver physically static during these observations, no process noise should have been necessary. Using a static receiver to collect data, a static processing style should be an obvious choice. This is not the case when time-correlated errors are ignored. The static processing style produced very over-optimistic accuracy estimates. If temporal correlation in GPS errors ceased to exist, then the static processing style would likely generate the most realistic error ellipses, at which point, the modified Kalman filter (T=0) would be identical. The RTK-2 processing style reveals an alternative (but less ideal), method for accounting for temporal correlation. By simply adding process noise, the VCV matrix can be inflated to a point that the estimated accuracies are no longer over-optimistic. In the case of the RTK-2 processing style used in this research, so much process noise was added that the error ellipses became over-pessimistic. The method of enlarging the VCV matrix is a choice that RTK-2 software manufacturers must make. Though realistic estimated accuracies are possible by adding a specific amount of process noise, desirable results are more probable after accurately modeling the characteristics of the GPS errors, including temporal correlation. A critical part of RTK surveying is the correct identification of the integer ambiguities. Improper selection will result in a large positional error that is unaccounted for by the estimated accuracy. The probability of selecting the correct set of integer values can be estimated using the probability of correct fix (PCF), explained in detail within O'Keefe et al. (2006). The positioning software written for this research, as well as commercial RTK software, will not attempt to fix the ambiguities until the PCF reaches a certain level. Fig. 12 shows the estimated PCF value as a function of time, computed using the modified Kalman filter with different values for the length of temporal correlation, T. As the length of temporal correlation increases, it takes longer and longer to achieve a certain PCF value. When

no temporal correlation is included (T = 0 sec), the PCF value quickly obtains 95% probability after only 5 seconds. By doubling the correlation time, the length of time required to reach a certain PCF doubles. As the length of temporal correlation exceeds 10 seconds, a desirable (aka. high) PCF becomes more difficult to obtain. With the relatively short 15-minute observation spans used within the field work of this research, a 99.9% PCF, or any value close to 99.9%, was not achievable. For this reason, with the exception of the commercial RTK software, used a very low PCF requirement of only 30%. One of the greatest unsolved challenges in using the modified Kalman filter is being able to reliably resolve the ambiguities to their integer values. Using the equations shown in this research, when the length of temporal correlation exceeds 10 seconds, there is not enough observability in the measurements to resolve the float ambiguities to their integer values with great confidence.

Fig. 12: PCF vs. time, using the modified Kalman filter with different values for temporal correlation, T.

CONCLUSIONS AND RECOMMENDATIONS The time-differencing modified Kalman filter performed extremely well. It produced VCV matrices that realistically described the absolute error within the system. Despite its performance, there are a few key implementation issues that need to be resolved to make the filter practical for use by surveyors:�� First and foremost, is the difficulty in obtaining a high confidence in the ambiguity resolution. Understanding the dramatic errors that occur when ambiguities are incorrectly fixed, it is a situation that surveyors cannot allow to occur often. Ambiguities need to be resolved correctly 99.9% of the time. Another issue is that of state

Page 12: Operational Performance of RTK Positioning when Accounting ... · in GPS errors is the time-differencing Kalman filter, published previously by Petovello et al (2009). This previously

ION GNSS 2010, Session D3, September 21-24, Portland, OR 12/12

observability. When time-correlated errors are present, so much of the information is differenced that there is hardly any left to update the states. This makes performing RTK positioning, which uses process noise to allow for kinematic movement, impractical for the modified Kalman filter. Perhaps these two issues cannot be resolved but can be used as an awakening, that in reality, when the GPS observables are time-correlated, there isn't enough observability to update the states or obtain a high PCF. Assuming the observables are independent leads to false confidence in the solution.�� The most practical application for the modified Kalman filter is not when the receiver is moving, but when the surveyor is occupying a point. When the receiver is located over a point, the surveyor could initiate the modified Kalman filter to account for any temporal correlation observed during the occupation. Understanding that the largest contributor is multipath, which is dependent on receiver position, it is likely that during moments of kinematic movement, there is very little time-correlation in the GPS observables and the modified Kalman filter isn't required during those periods. For surveying applications, the modified Kalman filter is most beneficial during static data collection periods.

ACKNOWLEDGMENTS Special thanks to Glenn MacGougan for providing fully functional C++ GPS positioning software in which the modified Kalman filter was implemented. Also, thanks to Dr. Mark Petovello, who in addition to work performed Dr. O’Keefe, was the researcher responsible for the original derivation of the modified Kalman filter used in this work.

REFERENCES Bryson, Jr., A. and Henrikson, L. (1968). Estimation Using Sampled Data Containing Sequentially Correlated Noise. Journal of Spacecraft and Rockets, 5(6):662–665. Cao, W. (2009). Multi-Frequency GPS and Galileo Kinematic Positioning with Partial Ambiguity Fixing. Master’s thesis, Department of Geomatics Engineering, University of Calgary, Calgary, Alberta, Canada. pp. 142. El-Rabbany, A. (1994). The Effect of Physical Correlations on the Ambiguity Resolution and Accuracy Estimation in GPS Differential Positioning. PhD thesis, Department of Geodesy and Geomatics Engineering Technical Report, No. 170, University of New Brunswick, Fredericton, New Brunswick, Canada, 161 pp.

Han, S. and Rizos, C. (1995). Standardisation of the Variance-Covariance Matrix for GPS Rapid Static Positioning. Geomatics Research Australasia, (62):37–53. Howind, J., Kutterer, H., and Heck, B. (1999) Impact of temporal correlations on GPS-derived relative point positions. Journal of Geodesy, 73: p. 246-258. Iliffe, J. and Lott, R. (2008). Datums and Map Projections for Remote Sensing, GIS, and Surveying. Whittles Pub. CRC Press, Scotland, UK Boca Raton, FL. Merriam-Webster Online Dictionary (2009). Correlation. [Online] Retrieved August 10, 2009 from http://www.merriam-webster.com/dictionary/correlation. Misra, P. and Enge, P. (2001). Global Positioning System: Signals, Measurements and Performance. Ganga-Jamuna Press, Lincoln, MA. O’Keefe, K., Petovello, M., Lachapelle, G., and Cannon, M. (2006). Assessing Probability of Correct Ambiguity Resolution in the Presence of Time-Correlated Errors. Journal of the Institute of Navigation, 53(4):269–282. Olynik, M. (2002). Temporal Characteristics of GPS Error Sources and Their Impact on Relative Positioning. Master’s thesis, Department of Geomatics Engineering, University of Calgary, Calgary, Alberta, Canada. pp. 122. Petovello, M., O’Keefe, K., Lachapelle, G., and Cannon, M. (2009). Consideration of Time- Correlated Errors in a Kalman Filter Applicable to GNSS. Journal of Geodesy, 83(1):51–56. Satirapod, C., Wang, J., and Rizos, C. (2001) A New Stochastic Modelling Procedure for Precise Static GPS Positioning, Zeitschrift für Vermessungswessen, 126(6), pp. 365-373. Wang, J., Satirapod, C., and Rizos, C. (2002) Stochastic assessment of GPS carrier phase measurements for precise static relative positioning, Journal of Geodesy, 76:95-104.