Broadcast satellite position, in brief
Broadcast ephemeris parameters are propagated to compute a satellite's Earth-centered, Earth-fixed coordinates at a chosen GPS time. Positioning normally needs the state at signal transmission, not reception. The orbit reference time toe and clock reference time toc serve different parts of the calculation.
Learning objectives
- Compute time from ephemeris reference time.
- Solve the broadcast orbit equations step by step.
- Produce an ECEF satellite coordinate ready for range modeling.
This is broadcast orbit propagation, not SP3 interpolation
The legacy file named `interpolation_example.html` actually computes a GPS satellite position from broadcast ephemeris parameters. That is a different task from SP3 coordinate interpolation.
OpenGNSSLab keeps this as an orbit tutorial because SPP needs broadcast satellite coordinates before it can build a pseudorange model.
Numerical inputs from the legacy example
| Input | Value |
|---|---|
| Target time | 2024-01-01 14:30:30 |
| Satellite | G01 |
| C1C pseudorange | 25092668.962 m |
| sqrtA | 5.154027334213e+03 sqrt(m) |
| e | 1.305763632990e-02 |
| M0 | 1.271399167061 rad |
| omega | 0.9986105883222 rad |
| i0 | 0.9903396547303 rad |
| Omega0 | -1.610077279119 rad |
| Delta n | 3.770514199908e-09 rad/s |
| toe | 136800 s |
Computation step 1
Compute time from ephemeris reference
Given
Emission time after clock correction from the legacy computation.
Formula
Compute
Result
The time is inside the valid broadcast range: -302400 < 1829.916120 < 302400.
Computation step 2
Mean, eccentric, and true anomaly
Formula
Compute
Result
The satellite's angular location in its orbital ellipse is now known for the target epoch.
Computation step 3
Apply harmonic corrections
Formula
Compute
Result
These corrected orbit-plane values feed the final ECEF rotation.
Legacy rotation matrices
Result
Computed ECEF satellite coordinate
(-20689614.635, -11390159.940, 12144678.499) m
The final broadcast-position result is X = -20,689,614.63469926 m, Y = -11,390,159.94029376 m, Z = 12,144,678.49890683 m.
This coordinate is the satellite position term used later in geometric range and Sagnac correction.
What you should understand now
- Broadcast navigation data is propagated through Keplerian orbit equations.
- The final satellite position is an ECEF vector in meters.
- SPP repeats this computation for each selected satellite at its signal transmission time.
Related tutorials
Satellite orbits and ephemerides
Keplerian Elements in GPS Navigation Messages
A numerical map of GPS broadcast ephemeris fields: clock parameters, orbit shape, harmonic corrections, time references, and hardware delays.
Satellite orbits and ephemerides
SP3 Interpolation
A numerical SP3 tutorial covering header records, epoch position rows, missing clocks, and Lagrange interpolation.
Positioning algorithms
SPP from Scratch
Compute GPS single point positioning from RINEX observations: transmission time, satellite clocks, broadcast orbits, Sagnac and atmospheric corrections, iterative WLS, residuals and covariance.
Help improve this tutorial
Point out numerical ambiguity, missing prerequisites, or a step that needs a fuller derivation.