Closed sammmlow closed 3 years ago
Strangely enough, comparing GPS satellite ephemeris interpolation using a 17th Order Lagrange Interpolation gives the exact same ephemeris solutions as the ORBGEN output from Bernese GNSS (a commercial precise orbit determination software). This gives a hint that the issue isn't about GPS orbit interpolation. Also, looking at the error plots (at 10s time steps) from the GRACE A ground truth show that there is a somewhat periodic motion about the errors, for each XYZ component, with each period being very close to one orbit (95 minutes). Thus, measurement noise and GPS orbit interpolation errors are ruled out. Ionospheric errors will never reach that magnitude either. Clocks are checked to be correctly compensated for.
Thus, the only likely places to look for are: 1) Inclusion of antenna phase center of GPS satellites 2) Computation of relativistic path corrections 3) Compensation of Earth rotation parameters
Issue will still remain open until I debug this. Definitely not a coding error too but more likely an algorithmic one.
Now, applying a simplified Z-axis Earth Rotation offset to the position of the GPS satellites does reduce the actual position errors but only about the X and Y components of the LEO (line 203 of posvel.py).
The problem has finally been resolved!
While Earth Rotation offsets were applied to the position of the GPS satellite in ECEF, I had not considered that the GPS satellites' movement during the 70 - 80 ms of the signal time of flight, which accounted for ~ 200m of movement almost.
Receiver clock synchronisation using CODE observables is now able to achieve a code positioning accuracy of ~4m RMS.
Current solutions tested on GRACE A/B formation flying satellites, exhibit positioning errors from pseudo-range solutions on the order of ~100m, and relative navigation inaccuracies in double digit centimeters. This is two orders of magnitude worse off than expected from typical precise orbit determination results used as a comparison. Ephemeris errors accruing from the orbit interpolation of the GPS satellites seem to be responsible. Current orbit interpolation uses an 11th Order Lagrange Polynomial Interpolation. A review of current range measurement modelling, and the setup of the non-linear least squares, should be conducted.