Engineering:GNSS positioning calculation

From HandWiki

The global navigation satellite system (GNSS) positioning for receiver's position is derived through the calculation steps, or algorithm, given below. In essence, a GNSS receiver measures the transmitting time of GNSS signals emitted from four or more GNSS satellites (giving the pseudorange) and these measurements are used to obtain its position (i.e., spatial coordinates) and reception time.

Calculation steps

  1. A global-navigation-satellite-system (GNSS) receiver measures the apparent transmitting time, t~i, or "phase", of GNSS signals emitted from four or more GNSS satellites (i=1,2,3,4,..,n ), simultaneously.[1]
  2. GNSS satellites broadcast the messages of satellites' ephemeris, ri(t), and intrinsic clock bias (i.e., clock advance), δtclock,sv,i(t)[clarification needed] as the functions of (atomic) standard time, e.g., GPST.[2]
  3. The transmitting time of GNSS satellite signals, ti, is thus derived from the non-closed-form equations t~i=ti+δtclock,i(ti) and δtclock,i(ti)=δtclock,sv,i(ti)+δtorbit-relativ,i(ri,r˙i), where δtorbit-relativ,i(ri,r˙i) is the relativistic clock bias, periodically risen from the satellite's orbital eccentricity and Earth's gravity field.[2] The satellite's position and velocity are determined by ti as follows: ri=ri(ti) and r˙i=r˙i(ti).
  4. In the field of GNSS, "geometric range", r(rA,rB), is defined as straight range, or 3-dimensional distance,[3] from rA to rB in inertial frame (e.g., Earth-centered inertial (ECI) one), not in rotating frame.[2]
  5. The receiver's position, rrec, and reception time, trec, satisfy the light-cone equation of r(ri,rrec)/c+(titrec)=0 in inertial frame, where c is the speed of light. The signal time of flight from satellite to receiver is (titrec).
  6. The above is extended to the satellite-navigation positioning equation, r(ri,rrec)/c+(titrec)+δtatmos,iδtmeas-err,i=0, where δtatmos,i is atmospheric delay (= ionospheric delay + tropospheric delay) along signal path and δtmeas-err,i is the measurement error.
  7. The Gauss–Newton method can be used to solve the nonlinear least-squares problem for the solution: (r^rec,t^rec)=argminϕ(rrec,trec), where ϕ(rrec,trec)=i=1n(δtmeas-err,i/σδtmeas-err,i)2. Note that δtmeas-err,i should be regarded as a function of rrec and trec.
  8. The posterior distribution of rrec and trec is proportional to exp(12ϕ(rrec,trec)), whose mode is (r^rec,t^rec). Their inference is formalized as maximum a posteriori estimation.
  9. The posterior distribution of rrec is proportional to exp(12ϕ(rrec,trec))dtrec.

The solution illustrated

The GPS case

{Δti(ti,Ei)ti+δtclock,i(ti,Ei)t~i=0,ΔMi(ti,Ei)Mi(ti)(EieisinEi)=0,

in which Ei is the orbital eccentric anomaly of satellite i, Mi is the mean anomaly, ei is the eccentricity, and δtclock,i(ti,Ei)=δtclock,sv,i(ti)+δtorbit-relativ,i(Ei).

  • The above can be solved by using the bivariate Newton–Raphson method on ti and Ei. Two times of iteration will be necessary and sufficient in most cases. Its iterative update will be described by using the approximated inverse of Jacobian matrix as follows:

(tiEi)(tiEi)(10M˙i(ti)1eicosEi11eicosEi)(ΔtiΔMi)

  • Tropospheric delay should not be ignored, while the Global Positioning System (GPS) specification[2] doesn't provide its detailed description.

The GLONASS case

  • The GLONASS ephemerides don't provide clock biases δtclock,sv,i(t), but δtclock,i(t).

Note

  • In the field of GNSS, r~i=c(t~it~rec) is called pseudorange, where t~rec is a provisional reception time of the receiver. δtclock,rec=t~rectrec is called receiver's clock bias (i.e., clock advance).[1]
  • Standard GNSS receivers output r~i and t~rec per an observation epoch.
  • The temporal variation in the relativistic clock bias of satellite is linear if its orbit is circular (and thus its velocity is uniform in inertial frame).
  • The signal time of flight from satellite to receiver is expressed as (titrec)=r~i/c+δtclock,iδtclock,rec, whose right side is round-off-error resistive during calculation.
  • The geometric range is calculated as r(ri,rrec)=|ΩE(titrec)ri,ECEFrrec,ECEF|, where the Earth-centred, Earth-fixed (ECEF) rotating frame (e.g., WGS84 or ITRF) is used in the right side and ΩE is the Earth rotating matrix with the argument of the signal transit time.[2] The matrix can be factorized as ΩE(titrec)=ΩE(δtclock,rec)ΩE(r~i/cδtclock,i).
  • The line-of-sight unit vector of satellite observed at rrec,ECEF is described as: ei,rec,ECEF=r(ri,rrec)rrec,ECEF.
  • The satellite-navigation positioning equation may be expressed by using the variables rrec,ECEF and δtclock,rec.
  • The nonlinearity of the vertical dependency of tropospheric delay degrades the convergence efficiency in the Gauss–Newton iterations in step 7.
  • The above notation is different from that in the Wikipedia articles, 'Position calculation introduction' and 'Position calculation advanced', of Global Positioning System (GPS).

See also

References

  1. 1.0 1.1 Misra, P. and Enge, P., Global Positioning System: Signals, Measurements, and Performance, 2nd, Ganga-Jamuna Press, 2006.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 The interface specification of NAVSTAR GLOBAL POSITIONING SYSTEM
  3. 3-dimensional distance is given by r(rA,rB)=|rArB|=(xAxB)2+(yAyB)2+(zAzB)2 where rA=(xA,yA,zA) and rB=(xB,yB,zB) represented in inertial frame.
  • PVT (Position, Velocity, Time): Calculation procedure in the open-source GNSS-SDR and the underlying RTKLIB