Kinematic |
|
|
Kinematic is loosely based on work by Xiao-Wen Chang at McGill University. Kinematic makes extensive use of Householder transforms. These transforms seem a bit esoteric at first, but they are workhorses for finding numerically stable least squares solutions. In Kinematic, Householder transforms
Kinematic currently calculates a "float" solution which typically has an accuracy of 20-50 cm. An alternative approach is to figure out the precise number of radio waves between the base station and the rover. If you know the exact number of waves, plus the fractional phase, you get what is called a "fixed" solution. Fixed solutions are accurate to the nearest 1-2 cm over distances of 10 km or more. One technique for "fixing" a solution is called "Lambda". Chang has a very nice paper describing a modified Lambda algorithm which will be included in a future Kinematic. Kalman filters are another way of improving accuracy of gps positions. Kalman filters add a simple inertial model to the equations. If nothing else, they keep the position stable by reducing the jitter caused by noise. Again, Chang has done a good job clarifying the issues around Kalman filters. Here are Chang's papers which lay out the path for Kinematic:
Here is a tutorial on Householder transforms
For those who dive into the first paper, there are a number of ways in which Kinematic differs from Chang's approach.
Chang's approach eliminates Tcode and Tphase using Householder transforms.
Then he applies the Double Difference Integer Ambiguity (DDIA) vector,
redefining the variables from Our approach applies the DDIA vector first by assigning zero to one of the z variables. We do not explicitly form double difference equations, but the first two steps of Golub's method form them implicitly. Traditional double differencing subtracts the reference equations from the other equations, eliminating Tphase and Tcode in the process. This is equivalent to applying two steps of Gaussian elimination. Gaussian elimination is not a valid means for solving least squares problems, so traditional double differencing is basically a mistake. Much of the complexity of traditional double differencing involves removing the correlations introduced by this initial mistake. |
|
Last updated: 09/16/06. |