ROBUST AVERAGE OF KINEMATIC SERIES

Dennis Milbert

Updated:  2-may-02

The program, answer, scans the solution files from one of my kinematic programs, assumes the station is static, and computes a robust average of the position.

Contents




Operation

Program runs in a DOS window. It reads data from a file that you designate and sends results to the screen.

The program will then load the input file, compute the mean position, and position RMS (root mean square) dispersion for each coordinate. The program will iterate 9 times, bypassing points departing more than 2.5 times the RMS from the prior mean. Typically, the RMS decreases as the outliers are bypassed, and the estimate of the mean converges. The estimate of the mean (and estimates of the dispersion) are robust against outliers.

Input:

The program reads a flat ASCII file, 4 column text, blank delimited. The columns are timestamp, latitude, longitude, height. Latitude and longitude should be in decimal degrees. The timestamps (first column) are ignored. Any extra columns are ignored.

This program is built to process ".out" files from gpr1f and other similar programs.

Output File:

Plain ASCII, pairs of records. The first record in the pair is the mean latitude, longitude and height. The second record in the pair is the RMS of the coordinates about the mean coordinates.

Discussion:

This program was built to test data collected at a static location, but processed kinematically. At the risk of stating the obvious, results will be meaningless if the GPS unit is really in motion.

Using an outlier rejection tolerance of 2.5 works well for random data. A much smaller tolerance winds up rejecting most of the data. And, a larger tolerance leaves some gruesome values in the average.


Output File Format

The screen output is 10 pairs of records, tracking the outlier rejections through 10 cycles.

ASCII, 2 lines per cycle.

Line 1
--------
01-14  mean geodetic latitude,  decimal degrees, positive north
15-29  mean geodetic longitude, decimal degrees, positive east
30-40  mean ellipsoidal height, meters, positive up
41-47  number of unrejected epochs in average

Line 2
--------
01-14  RMS geodetic latitude,  decimal degrees
15-29  RMS geodetic longitude, decimal degrees
30-40  RMS ellipsoidal height, meters



Shortcomings

This is "no frills" software. There are no warranties of any sort. No Windows GUI. Just the core function.

The program won't work well for tiny data sets (e.g. 4 data points). Also, it won't work well if there is sizable trend due to an error source. The more random the data, the better it separates the outliers.

The program is coded to handle 90,000 records, but it can easily be changed and recompiled.


Source Code and Binary Executable

The Fortran source code is answer.for.

The compiled executable (zipped) is answer.exe.


To Contact Me

My e-mail user name is the first initial of my first name followed by all the letters of my last name (see above). My ISP is "comcast", and it is a "dot-net", not a "dot-com". Sorry for not spelling out my e-mail address, but I try to keep the spam-bots from fingering me. But, just so the spam-bots don't feel left out, they can always go to abuse@comcast.net


Back To Home