A Hybrid Covariance Matrix for Use with
OPUS Solutions
Introduction
Least- squares adjustment deals with two equally important components: the stochastic model and the mathematical model. Both components are indispensable and contribute to the adjustment algorithm.[1]
OPUS coordinate can be used as observations in a least squares adjustment. Coordinate observations can be used to combine OPUS sessions or with other observations in a network. The stochastic model, in the form of the covariance matrix, is critical to model the resulting error estimates properly. The covariance matrix expresses the error estimates of the observation in the form of variances along the main diagonal and covariances on the off diagonal terms.
General Discussion
In normal error propagation, the covariance matrix of a station derived from a GPS vector is equal to the covariance matrix of the reference station coordinate plus the covariance matrix of the GPS vector itself. However, the covariance matrix returned in OPUS extended data is based soley on the baseline error estimates.[2] The OPUS covariance matrix does not include the uncertainties in the CORS positions used to generate the solution. As such, it does not reflect all error sources when estimating OPUS solution errors. However if a hybrid covariance matrix is created using standard deviations estimated from the Peak-to-Peak errors and the correlations derived from the original OPUS covariance matrix, this hybrid covariance matrix appears to more realistically represent the error sources present in an OPUS solution.
A more realistic estimate of the error sources affecting an OPUS solution one had from the peak-to-peak errors returned as part of a standard OPUS report. The expected value of the standard deviation of a single random variable in a set of three variables randomly selected from a population with a standard normal distribution is the peak-to-peak range divided by 1.6926. The expected value of the standard deviation of the mean of these three variables is the standard deviation of a single random variable divided by the square root of three. This is equivalent to the peak-to-peak range divided by 2.9313.[3] The coordinate solution returned by OPUS is the mean of three independently computed positions along with a peak-to-peak error. As such, an estimate of the standard deviation of each coordinate component can be obtained by dividing the peak-to-peak error for that component by 2.9313.
It is well known that the covariance matrix reported by most baseline processing software is optimistic; the estimated precision is greater than the actual precision. This shows up in network adjustments when the chi square test fails on the high side. Assuming no blunders, the chi square test can be made to pass by multiplying the covariance matrix by the a posteriori variance of unit weight, thus increasing the estimate of the errors in the baseline solutions. The standard deviation derived from the peak-to-peak errors is greater than the standard deviation reported in the OPUS covariance matrix. This gives a more realistic estimate of the precision of the OPUS solution. For example, using the covariance matrix from the two-hour OPUS solution from CORS PSCC on day of year 301, the standard deviations for X, Y and Z are:
|
|
|
|
|
0.0011 |
0.0035 |
0.0023 |
The peak-to-peak errors from the same OPUS solution and the derived standard deviations are:
|
|
X |
Y |
Z |
|
Peak to Peak Error |
0.014 |
0.028 |
0.009 |
|
Derived |
0.0048 |
0.0096 |
0.0031 |
In this case, the derived standard deviations are 1.3 to 4.3 times greater than the standard deviations obtained directly from the OPUS covariance matrix.
To create the hybrid covariance matrix based on the standard deviations estimated from the peak-to-peak errors:
Click
Here for Sample Computation of Hybrid Covariance Matrix
To test this hypothesis, multiple OPUS solutions were combined using least squares. The chi square test on the a posteriori variance of unit weight was used to determine the validity of the covariance matrix. Two hundred forty least-squares adjustments were performed using the original OPUS covariance matrix. These adjustments were repeated using the hybrid covariance.
OPUS solutions were obtained using RINEX data from four different CORS. OPUS solutions were obtained on ten days in each season. Five least squares adjustments were performed using two-hour, four-hour and six-hours sessions in each season. These adjustments combined two sessions, three sessions, four sessions, five sessions and the entire data set for that season (up to ten sessions).
The adjustments computed using the hybrid covariance matrix passed the chi square test more consistently, indicating a more realistic estimate of the actual error sources. This was particularly true with small degrees of freedom, such as combining two or three OPUS solutions, which would be typical of land surveying practice.
Pass rates, using covariance matrix returned by OPUS ranged from 0% to 19%. Using the hybrid covariance matrix the pass rates ranged from 31% to 88%.
Procedure
Data Sets
Twenty-four hours of RINEX data was downloaded from the NGS CORS Web Site according to the following schedule:
|
CORS |
Season |
Days |
|
LAMT NLIB |
Winter |
11, 12, 13, 14, 15, 16, 17, 18, 19, 20 |
|
Spring |
101, 102, 103, 104, 105, 106, 107, 108, 109, 110 |
|
|
Summer |
211, 212, 213, 214, 215, 216, 217, 218, 219, 210 |
|
|
Autumn |
291, 292, 293, 294, 295, 296, 297, 298, 299, 300 |
|
|
PSCC ZAB1 |
Winter |
21, 22, 23, 24, 25, 26, 27, 28, 29, 30 |
|
Spring |
111, 112, 113, 114, 115, 116, 117, 118, 119, 120 |
|
|
Summer |
191, 192, 193, 194, 195, 196, 197, 198, 199, 200 |
|
|
Autumn |
301, 302, 303, 304, 30, 306, 307, 308, 309, 310 |
One hundred and sixty 24-hour RINEX data sets were downloaded.
Using TEQC from UNAVCO these data sets were sliced into two, four and six hour sessions. Data sets were sliced so there was no temporal overlap between sessions in the same day. This ensured that each session was independent of the other.
Click here for the Session Schedule.
Four hundred eighty data sets were submitted to OPUS according to the following scheme:
|
Season |
Sessions |
|
Winter |
10 Two-hour sessions per CORS |
|
10 Four-hour sessions per CORS |
|
|
10 Six-hour sessions per CORS |
|
|
Spring |
10 Two-hour sessions per CORS |
|
10 Four-hour sessions per CORS |
|
|
10 Six-hour sessions per CORS |
|
|
Summer |
10 Two-hour sessions per CORS |
|
10 Four-hour sessions per CORS |
|
|
10 Six-hour sessions per CORS |
|
|
Autumn |
10 Two-hour sessions per CORS |
|
10 Four-hour sessions per CORS |
|
|
10 Six-hour sessions per CORS |
All OPUS solutions were computed using the precise ephemeris. With one exception, OPUS returned solutions for all submissions without intervention. The two-hours session for CORS NLIB on DOY 298 would not return a solution until PRN30 and PRN23 were removed from the data set using TEQC.
ITRF00 positions and peak-to-peak errors were used in all computations including the subsequent least squares adjustments. The ephemeris used by OPUS is referenced to IGb00, which for all intent and purpose is identical to ITRF00. Using the ITRF00 positions in all calculations maintains continuity between the OPUS processing and the computations that follow. In addition, the OPUS web site states, "To serve our users, the NAD 83 coordinates of the National CORS are updated less frequently than ITRF coordinates. However, this also results in the NAD 83 coordinates being somewhat less accurate." Using only ITRF00 coordinates in all computations avoids any problems with discontinuities between the ITRF00 and NAD83 due to the more frequent updates of the ITRF00 station coordinates.
Click here for a tabulation of all OPUS
solutions
Quality Control
The OPUS solutions were quality checked before being included in a least-squares adjustment. The OPUS Web Site states:
A good OPUS run should use 90% or more of your observations.
OPUS should have fixed at least 50% of the ambiguities
The overall RMS should seldom exceed 3 cm.
The peak-to-peak errors should seldom exceed 5 cm.
Using this as a guide, an OPUS solution was rejected if it met the following conditions:
Less than 90% of observations used
Less than 50% of ambiguities fixed
RMS greater than 3 cm
Two or more peak-to-peak errors greater than 5 cm
In the tabulation any solution component not meeting the rejection criteria is highlighted in red. Rejected solutions, are crossed out. Based on these criteria the 32 of 480 OPUS solutions were rejected. Twenty of the rejected solutions were during the summer.
Click
here for a table of rejected solutions
Use Least Squares to Combine Solutions
OPUS solutions were combined using the Coordinates as Observations. All adjustments were performed using custom written algorithms in Mathcad.
The initial adjustment included all the OPUS solutions for a particular season. For example, all the two-hour session OPUS solutions for CORS LAMT during the winter were combined using least squares. Depending upon how many OPUS solutions were rejected during the quality control, this adjustment could include up to ten individual OPUS solutions. Four additional least squares adjustments were performed using the first five OPUS solutions from each season. These adjustments combined in order, the first two, three, four and five OPUS solutions for each season. In every case, the adjustment was performed twice, once using the OPUS covariance matrix and a second time using the hybrid covariance matrix. The degree of freedom, a posteriori variance of unit weight, chi square test results and maximum residual were tabulated for each adjustment. Two hundred forty least squares adjustments were performed using the OPUS covariance matrix and the hybrid covariance matrix.
Click here for a tabulation of all the adjustment
compuations
Discussion of Results
Looking at the scatter charts for each data set, with exceptions, the horizontal and vertical network accuracies lie within a narrow band, regardless of the peak-to-peak errors. In general, as the session lengths increase this band narrows and lowers, indicating that longer session lengths decrease the estimated baseline errors. With exceptions, weeded out using the a priori quality control, the peak-to-peak errors did not vary greatly between session lengths. The covariance matrix, as reflected in the horizontal and vertical network accuracies, is relatively insensitive to the peak-to-peak errors.
As the session lengths increase, the portion of the OPUS solution error dependent on baseline uncertainties decreases while the portion of the OPUS solution error dependent on the uncertainties in the CORS positions increases.
The a posteriori variances of unit weight, for the least squares adjustments that included the entire data set, varied as follows:
|
|
OPUS Covariance |
Hybrid Covariance |
||
|
Session Length |
Minimum |
Maximum |
Minimum |
Maximum |
|
2 |
6.65 |
446.12 |
0.64 |
17.42 |
|
4 |
7.43 |
656.09 |
0.31 |
39.51 |
|
6 |
6.31 |
150.89 |
0.43 |
13.22 |
For all data sets, the chi square test on the a posteriori variance of unit weight was much more likely to pass using the hybrid covariance matrix.
Below is a summary of the passing rates for similar data sets.
|
Observation Length |
Number of OPUS Solutions |
OPUS Covariance Matrix |
Peak to Peak Covariance Matrix |
|
2 |
2 |
6.25% |
87.5% |
|
3 |
0% |
56.25% |
|
|
4 |
0% |
43.75% |
|
|
5 |
0% |
50% |
|
|
Full Set |
0% |
43.75% |
|
|
4 |
2 |
12.5% |
81.25% |
|
3 |
6.25% |
62.5% |
|
|
4 |
0% |
50% |
|
|
5 |
0% |
62.5% |
|
|
Full Set |
0% |
43.75% |
|
|
6 |
2 |
18.75% |
50% |
|
3 |
6.25% |
43.75% |
|
|
4 |
0% |
37.5% |
|
|
5 |
0% |
31.25% |
|
|
Full Set |
0% |
31.25% |
Of the adjustments, using hybrid covariance matrix, that failed the chi square test on the a posteriori variance of unit weight, 22% failed on the low side. This would result in conservative error estimates for the adjusted position; the positional uncertainties of the adjusted position would be lower than reported. In all cases where the chi square test failed using the OPUS covariance matrix, the resulting error estimates for the combined solution are optimistic, giving a false sense of confidence in the combined solution.
The pass rates are highest for low degrees of freedom. This is true for both the OPUS covariance matrix and the hybrid covariance matrix; however, pass rates are much higher for the hybrid covariance matrix. In actual surveying practice, a limited number of OPUS will be included in an adjustment, the higher pass rates for low degrees of freedom are especially encouraging.
Conclusion
The peak-to-peak errors are generally an order of magnitude greater than the errors reflected in the covariance matrix returned by OPUS. This indicates that the uncertainties in the CORS coordinates play a much larger role in the uncertainties of the station coordinates reported by OPUS than the GPS baseline errors.
Based on the pass rates for the chi square test on the a posteriori variance of unit weight, the hybrid covariance matrix more realistically models the actual error sources in an OPUS solution. Using the OPUS covariance matrix will usually give a false sense of confidence in the uncertainties of the adjusted coordinates.
When using multiple OPUS solutions in an adjustment, that includes other survey measurements, it is best to perform a separate adjustment using only the OPUS solutions. Assuming no rogue OPUS solutions, the a posteriori variance of unit weight can be used to scale the covariance matrix so that the a posteriori variance of unit weight equals the a priori variance of unit weight and a realistic estimate of the quality of the adjusted coordinates can be had.
If only one OPUS solution is available for a particular station, using a hybrid covariance matrix will give more realistic error estimates for the resulting coordinates than the covariance matrix returned by OPUS. Failing that, I believe it is better to simply fix the OPUS solution and realize that the error estimates of the adjusted coordinates are optimistic, rather than relying on a false sense of security derived from underestimated error sources.
Peter Lazio, 2005
Convert OPUS Covariance Matrix to Hybrid
Covariance Matrix
Using actual data from PSCC 2-Hour OPUS solution on DOY 301
Original OPUS
Covariance Matrix

Peak to Peak Errors
(X,Y,Z)

Convert to Covariance
Matrix to Correlation Matrix and Standard Deviations:

Derive New Estimates
of Standard Deviations

Substitute New
Standard Deviations and Convert Correlation Matrix to Covariance Matrix

|
Season |
Session |
Cause |
|
|
LAMT |
Spring |
104 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
Summer |
211 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
|
214 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
211 (4-hour) |
RMS>3 cm |
||
|
216 (4-hour) |
Peak-to-Peak errors > 5 cm |
||
|
217 (4-hour) |
Peak-to-Peak errors > 5 cm |
||
|
NLIB |
Spring |
105 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
Summer |
213 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
|
215 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
216 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
220 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
217 (4-hour) |
Peak-to-Peak errors > 5 cm |
||
|
215 (6-hour) |
Peak-to-Peak errors > 5 cm |
||
|
216 (6-hour) |
Peak-to-Peak errors > 5 cm |
||
|
Autumn |
297 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
|
300 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
PSCC |
Winter |
22 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
29 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
26 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
Spring |
112 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
|
116 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
118 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
Summer |
192 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
|
195 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
196 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
198 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
200 (2-hour) |
Peak-to-Peak errors > 5 cm |
||
|
196 (6-hour) |
RMS>3 cm / Peak-to-Peak errors >5 cm |
||
|
199 (6-hour) |
Peak-to-Peak errors > 5 cm |
||
|
Autumn |
309 (2-hour) |
Peak-to-Peak errors > 5 cm |
|
|
302 (4-hour) |
Peak-to-Peak errors > 5 cm |
||
|
ZAB1 |
Summer |
197 (4-hour) |
% Ambiguities fixed < 50% |