The only difference between the GPS Dancer process and a conventional process at a global GPS analysis centre is the way in which the global normal equations are accumulated and solved. This is necessary to cope with the fact that the GPS Dancer process is not performed on one single location - such as an analysis centre - but is distributed over the internet, into separate processing tasks per GPS receiver.

Each Dancer process only has access to the observaton data from its own receiver. The GPS Dancer software computes observation equations for all observations in the local data batch, which nominally contains data from the 48 hour period just before the Dancer process starts (...at every integer hour of GPS time). The observation equations are multiplied into a normal equation, just like an analysis centre would do.

These normal equations relate to local parameters as well as global parameters. Local parameters are only of interest to the local GPS Dancer instance, and are pre-eliminated from the normal equation. Each GPS Dancer process then has a normal equation for the global parameters alone.

The global parameters (satellite parameters, Earth rotation parameters) can not be solved from the normal equation of a single GPS receiver, because they are singular. To overcome this, the GPS Dancer processes from many receivers in the world must work together via the internet. The global normal equations are solved by the method of perfect constraints, which computes the mean of the diagonals of all normal matrix contributions in the network, and disperses this mean diagonal back to all Dancer peers. This global averaging is done by means of the square dance algorithm, which gave the Dancer system its name.

The method of perfect constraints gives all processes a non-singular local normal equation from which each peer solves an approximate global solution vector. The off-diagonal elements and right-hand side vectors of the individual normal equation systems are still different at different Dancer peers, so that each Dancer peer finds a different approximation for the global solution vector. This is unacceptable: we want all peers to find exactly the same global parameters. This can be achieved rather easily: we reuse the square dance algorithm to compute the network average of all approximate solution vectors. This is effectively the same as what the IGS has been doing for 20 years: we compute a combination solution among all N  Dancer peers. All Dancer peers end up with exactly the same average solution vector for satellite orbits, clocks and Earth rotation parameters, and use this solution instead of their own approximation.

It can be seen quite easily that the above method, when iterated, converges to the correct global least squares solution. The approximate solution that is found by an individual Dancer peer minimizes its local observation residuals. Instead of using this approximate solution, a Dancer peer is forced to use the global mean solution, for the sake of global consistency among all Dancer peers. However, as long as the projection of this global mean vector along the local approximate solution is positive, the global mean solution will also reduce the observation residuals at the individual peers (but perhaps slightly less so than when the individual solution of the peer would have been used). By iterating the solution a few times, the observation residuals all over the network get smaller and smaller, while we nonetheless obey the condition that all peers use the same global solution vector. Once that the residuals are as good as zero, the common global solution vector must be virtually the same as what an analysis centre would have found: after all, the analysis centre uses the same models, and the same solution mechanism based on minimizing observation residuals of all receivers in the network.

You can find here a formal proof that the Dancer solution approach leads to the same global least squares solution that a global analysis centre would find.

In summary, the distributed least squares solution method of GPS Dancer works as follows:

  1. Each Dancer peer computes its own normal equation system for the global parameters. Local parameters are pre-eliminated.
  2. The global mean diagonal is computed over the internet, via the square dance algorithm.
  3. Each Dancer peer replaces its own diagonal with the global mean diagonal to remove singularities from its normal equation.
  4. Each Dancer peer solves the constrained normal equation system, and finds an approximation for the global solution
  5. The global mean solution is now computed from all approximate solution vectors (this is just a combination solution).
  6. Each Dancer peer replaces its own approximate solution vector by the global network mean.
  7. The pre-eliminated local parameters can now be solved by back-substitution of the global solution.
  8. The entire least squares estimation process is iterated five times.

In other words, the world-wide least squares solution among N receivers is found by averaging just two vectors over the internet. To read more about the various parts of the solution, please follow the links in the text above or use the menus on top of the page.

Project details

Ultimate Browsers SupportThe GPS Dancer project started in 2007 as a voluntary project of a working group of the International Association of Geodesy.

Read more ...

Square dance algorithm

Great Docs and SupportThe GPS Dancer system was named after its "square dance" exchange algorithm. Of course, it also wants to to make the GPS reference frame denser.

Read more...

Here, there be pirates

The Dancer on-line network became immune against internet connection problems by leaving the US marines, and becoming a pirate.

Read more ...

Go to top