How much of a satellite link's latency is the speed of light, and nothing else.
Computes slant range, the one-way and round-trip propagation floor, and how long a satellite stays above a given elevation angle, for LEO shells and for geostationary orbit.
One file, Python 3 standard library only, no arguments.
python3 leo-geometry.py
Companion to Amazon Leo and the nbn: what the latency arithmetic actually says.
Every article about satellite internet quotes a latency figure without saying what it is made of. The propagation floor is the part that no amount of engineering can remove, and it falls straight out of the geometry, so it is worth separating from the part that is scheduling, framing and backhaul.
Set against the ACCC's own measurements, the split is stark:
- GEO (Sky Muster): a 509 ms floor against 664.9 ms measured. 77% of the latency was the speed of light. There was never an engineering fix.
- LEO: a 13.1 ms floor against 29.8 ms measured for Starlink. Only 44% is physics. The rest is scheduling, framing and terrestrial backhaul, which is what makes gateway placement the dominant term.
- A 610 km satellite is in view for 213 seconds on a perfect overhead pass above 35 degrees elevation. That is what should drive your DPD, BFD and RADIUS timers.
slant range d = sqrt(Re² sin²(e) + 2·Re·h + h²) − Re·sin(e)
central angle γ = acos( Re/(Re+h) · cos e ) − e
orbital period T = 2π · sqrt(a³/μ)
Re = 6371 km, μ = 398600.4418 km³/s², c = 299792.458 km/s. Propagation
only, vacuum c, no atmosphere and no processing delay, so these are floors
rather than predictions.
RTT floor is 4d/c rather than 2d/c: a bent-pipe path goes up to the
satellite and down to a gateway, then back again.
link alt km min elev slant km 1-way ms RTT floor ms
------------------------------------------------------------------------
Leo 590 km shell 590 35d 952.2 3.18 12.70
Leo 610 km shell 610 35d 982.4 3.28 13.11
Leo 630 km shell 630 35d 1012.4 3.38 13.51
Sky Muster GEO 35786 35d 38178.5 127.35 509.40
max time in view above the minimum elevation angle (overhead pass)
shell period min 35 deg 25 deg
----------------------------------------------------
Leo 590 km shell 96.3 207s 288s
Leo 610 km shell 96.7 213s 297s
Leo 630 km shell 97.2 220s 306s
Altitudes are the three Amazon Leo (formerly Kuiper) Gen1 shells. Sky Muster is nbn's geostationary service.