3 ms·
To clarify a little further, years ago I worked on a software package for high-resolution (spatial and temporal) simulation of GNSS orbits. While it seems that
by tonyarkles 2y ago
To clarify a little further, years ago I worked on a software package for high-resolution (spatial and temporal) simulation of GNSS orbits. While it seems that this would be straightforward (Kepler’s laws have been well-known for a while), it turns out that there are a number of correction factors required to deal with the non-ideal aspects of Earth orbit.
For the MEO GNSS satellites, the last correction factor that I needed to implement in order to meet the system requirements ended up being Solar Radiation Pressure. Since the accuracy of a GNSS system depends on knowing the precise positions of the SVs at precise times, any error in the orbital position calculation is a direct error on the position; SRP, as it turned out, was enough to knock the real orbit off by about 1m over a… surprisingly short period of time (I don’t remember the exact period, somewhere around 30min to 6h).
Down in LEO you’ve got way less predicable correction factors with significantly larger magnitudes. Even at 300km there is still a little bit of atmosphere and your satellite experiences drag. Factoring in the huge number of SVs in the Starlink constellation and it’s going to be a nightmare to model their orbits accurately enough to do decent positioning.
But as I was writing that, a fun thought came to mind. All of the end-user GTs could be used as tracking stations. If the Dishys have a GPS receiver and can assume it is in a fixed static position (accelerometer to cross-check?), it can self-survey its own position on the ground probably to 1-2mm accuracy over time (higher-end consumer grade parts like the UBlox F9P can do this) and use the antenna phasing to get a good idea of the SV relative to the GT. Collect all of those high-resolution coordinates and the ranging data from all of the end-user GTs, set it up as a huge linear algebra problem, and throw it at some GPUs. It might work?