Nav-Soft an OpenSource Software GNSS company.

Home > Hardware Rx > Position

Position Solution.

The position solution uses a Least Squares Fit to arrive at the current receiver position and time.

This is based on the ADR smoothed pseudorange measurements and accumulated doppler range and the positions of the satellites when they transmitted their signals.

The satellite position at a given time is calculated using the standard method described in the NavStar docs using the Ephemeris data for that satellite.

This begins by calculating the correction to the satellite clock due to clock drift over time and the relativistic correction required. If available the WAAS correction to the satellite clock time is also applied at this point. The other parameters in the Ephemeris are then used to construct Keplerian Orbital equations and solve iteratively for the Eccentricity of the Orbit. The modelled 1st order harmonic expansions are then added to give the equations of orbital motion for the satellite, calculating this for the corrected satellite time gives the satellites position and velocity at the time of the measurement.

The WAAS pseudorange fast corrections are added to the measured pseudoranges if they are available. The time of flight for the signal to travel from the satellite to the receiver is then calculated using the corrected pseudorange and the time of flight is used to calculate the amount the earth has rotated whilst the signal was in flight, as the calculations are done in Earth Centered Earth Fixed (ECEF) co-ordinates it is neccessary to correct the satellite position to allow for this movement of the Earth.

If a rough receiver position has already been calculated the corrections to the pseudorange due to tropospheric delays are calculated and added to the pseudorange. If sufficient WAAS Ionospheric grid points with delays are available these are used to calculate the ionospheric delay otherwise the standard Klobuchar model is used and this delay is also added to the pseudorange.

The relative position vectors divided by the 4 dimensional distance between the satellite position and the estimated receiver position are then fed into the least squares algorithm to derive the corrections to the estimated receiver position, the position solution is iterated until the change in position error is <= 50m or more than 30 iterations are performed.

Doppler offset and satellite relative velocity is then fed into another Least Squares Fit algorithm to derive the unit velocity and clock drift.

Note the clock drift is directly related to the frequency error in the reference Crystal Oscillator of the GPS Receiver, this needs to be good enough for the satellites to be found but accuracy is ultimately driven by the atomic clocks onboard the satellites.

The likely frequency error may increase the doppler search width used when acquiring the satellites if it is excessive.

The adr corrected pseudorange is smoothed over 20 samples, once the first measurement is made the number of smoothing samples is increased by one each time until the maximum of 20 is reached.

Back to Top of Page