A single ground-station dish can talk to only one satellite at a time. As a small shell of LEO satellites orbit, each one rises above the local horizon, stays "in view" for a short pass, then sets again — and passes from different satellites frequently overlap, forcing a scheduling decision. The top chart plots every satellite's elevation angle against time; the strip below turns those same passes into two literal schedules.
Elevation angle of a satellite at position S as seen from a ground station at G (Earth-centered vectors):
D = S − G
up = G / |G|
elevation = asin( (D · up) / |D| )
A satellite is in view once elevation exceeds the mask angle (real dishes need a few degrees of clearance to avoid ground clutter and multipath). Achievable downlink rate scales with the sine of elevation — near the horizon the slant path is long and passes through more atmosphere, near zenith the path is shortest and the link is strongest:
rate(t) = rate_max · sin(elevation) for elevation > mask, else 0
Two scheduling policies run on the exact same passes side by side, drawn as the two Gantt rows below the chart:
- FCFS-hold (top row) — once the dish locks onto a satellite it keeps serving that satellite until it sets below the mask, even if a better-positioned satellite rises in the meantime. Simple, but it can waste a whole pass on a low, weak geometry while a high-elevation satellite waits.
- Max-elevation (preemptive) (bottom row) — every instant the dish re-evaluates and points at whichever visible satellite currently has the highest elevation, slewing over if a better one appears. Higher average throughput, at the cost of extra dish reconfigurations.
Each hand-off costs a fixed reconfigure ("slew") time, shown as a gray hatch in the timeline, during which no data flows — the dish has to physically re-point and re-acquire lock — so a policy that switches too eagerly can lose more to overhead than it gains from better geometry. This is the same trade-off real mission-planning systems (e.g. NASA's Space Network / DSN scheduling, or a commercial ground-station-as-a-service network juggling many customer satellites on one antenna) solve every day.