Orbits, Propagation Delay & Doppler (GEO/MEO/LEO) in 5G NTN
GEO, MEO and LEO orbits, the round-trip delays and Doppler magnitudes each produces, beam footprints, and earth-fixed vs earth-moving cells.
Everything odd about NTN traces back to one number: how far the satellite is. Altitude sets the propagation delay, the Doppler shift, the footprint size and how fast the cell moves over your head. Get the orbit families straight and the rest of NTN โ timing advance, Doppler pre-compensation, moving cells โ stops being mysterious. This page gives you the physics and the exact reference figures from TR 38.821.
Introduction
Orbit is the physics layer of NTN. Before you can reason about timing advance, HARQ timers, Doppler compensation or how often a cell hands over, you have to know how far the satellite is and how fast it is moving relative to the user โ and both of those follow almost entirely from altitude.
3GPP groups the satellites it cares about into three altitude bands โ GEO, MEO and LEO โ and tabulates the resulting delay and Doppler budgets in TR 38.821. Those reference figures are what the whole NR-NTN feature set was dimensioned against: the extended timing-advance range, the widened HARQ round-trip assumptions, the GNSS-plus-ephemeris pre-compensation. This page turns altitude into those numbers.
It is a conceptual page: the goal is intuition for the delay-versus-Doppler trade-off and the geometry (slant range, elevation angle) behind it, anchored to the exact TR 38.821 values. The mechanisms that solve these problems live in ntn-timing-advance and ntn-doppler.
On this page
Why altitude drives everything
In plain words: think of two people trying to talk. A friend standing far across a stadium (GEO) is a long way off, so there is a long, steady lag before they hear you โ but they are not moving, so their voice sounds normal. A runner sprinting past you a few metres away (LEO) is close, so almost no lag โ but their voice warps up and down in pitch as they rush toward you and away (that pitch-shift is Doppler). Distance sets the lag; speed sets the pitch-warp. You cannot make one person both far-and-still and close-and-fast.
Concretely, two independent quantities govern an NTN link. Distance (the slant range from UE to satellite) divided by the speed of light gives the propagation delay โ and this is huge because orbit is far. Radial velocity (how fast that distance is changing) sets the Doppler shift โ and this is violent for low orbits because they must move fast to stay up. Altitude ties the two together in opposite directions: go low and you win on delay but lose on Doppler; go high and you win on Doppler but lose on delay.
Everything NR-NTN adds is a response to one or both of these. The extended timing advance and relaxed HARQ timing answer the delay; GNSS-and-ephemeris pre-compensation answers the Doppler; the moving footprint (a by-product of orbital speed) drives the mobility redesign. Understanding the orbit is understanding the root cause behind all of them.
Orbit families โ GEO, MEO, LEO
Three altitude bands cover the satellites 3GPP cares about, and they trade off delay against motion in opposite directions. A high, slow satellite gives you a big steady delay and no Doppler; a low, fast one gives you a small delay but violent Doppler and a footprint that races across the ground.
| Family | Altitude | Apparent motion | Delay | Doppler |
|---|---|---|---|---|
| GEO | 35,786 km | ~Stationary over a point | Very large | Negligible |
| MEO | 7,000โ25,000 km | Moderate | Large | Moderate |
| LEO | 300โ1,500 km | Fast (~7.5 km/s at 600 km) | Small | Large |
The orbital speed in the LEO row is not a coincidence โ it is set by gravity. To stay in a circular orbit a satellite must travel at roughly v ≈ √(GM/r), so the lower it flies the faster it must go. That is why a 600 km LEO satellite races overhead at about 7.5 km/s and completes an orbit in roughly 90 minutes, while a GEO satellite at 35,786 km orbits once per day and so appears fixed in the sky. The speed that keeps a LEO satellite up is exactly the speed that gives it brutal Doppler.
The core trade-off: LEO is close (small delay) but moving fast (big Doppler); GEO is far (huge delay) but effectively still (no Doppler). You cannot have both small delay and small Doppler from one platform โ that tension shapes every NTN design choice.
Propagation delay โ the reference figures
A terrestrial cell has a round-trip time measured in tens of microseconds. NTN is three to four orders of magnitude worse: tens to hundreds of milliseconds. And it depends on the payload โ a transparent payload's radio round-trip includes both the service link and the feeder link (because the gNB is on the ground), while a regenerative payload's radio round-trip is just the service link (the gNB is on board). Here are the maximum round-trip propagation delays from TR 38.821:
| Scenario | Transparent (UE↔gNB, incl. feeder) | Regenerative (service link only) |
|---|---|---|
| GEO (35,786 km) | ≈ 541.46 ms | ≈ 270.73 ms |
| LEO @ 1200 km | ≈ 41.77 ms | ≈ 20.89 ms |
| LEO @ 600 km | ≈ 25.77 ms | ≈ 12.89 ms |
For intuition: the one-way GEO service link alone is about 270 ms. Two of those (up and down) is why the transparent GEO round trip is ~541 ms โ over half a second before the feeder link is even counted twice.
The numbers above fall straight out of this. A GEO satellite directly overhead is 35,786 km away, so one-way straight-up delay is 35,786 km / c ≈ 119 ms; at the low elevation angles TR 38.821 uses for the worst case the slant range stretches to nearly 40,000 km, giving the ~270 ms one-way service-link figure. Double it for the round trip, and for a transparent payload add the feeder link's up-and-down on top โ that is the ~541 ms.
Delay = distance / speed of light. The slant range (UE to satellite along the line of sight) can be far larger than the altitude when the satellite is low on the horizon.
Every timing-based mechanism in NR โ timing advance, HARQ round-trip, RRC timers โ was designed around microseconds. At hundreds of milliseconds they all need rethinking.
The delay doesn't just have to be large, it has to be tracked because it drifts as the satellite moves. This is why timing advance is the central NTN problem โ see ntn-timing-advance.
Why the delay changes, and why that is the hard part
A terrestrial cell's delay is essentially constant โ the tower does not move. In NTN, especially LEO, the satellite is sweeping across the sky, so the slant range between you and it changes continuously. As the satellite rises from the horizon, passes overhead and sets, the distance shrinks then grows again, and the propagation delay follows. This delay drift is the reason NTN timing advance is not a one-time correction but a continuously updated one.
The elevation angle โ how high the satellite sits above the horizon โ is the geometric knob here. Low elevation means a long slant range (the signal cuts a shallow chord through the distance to orbit) and thus more delay; high elevation (satellite near overhead) means the slant range approaches the altitude and delay is minimised. As a LEO satellite transits, elevation rises and falls over minutes, dragging delay and Doppler with it.
To put a figure on the drift: at 600 km a LEO satellite covers ~7.5 km every second, so at low elevation the slant range can change by several kilometres per second, moving the one-way delay by tens of microseconds per second. That does not sound like much until you remember NR timing advance is quantised far finer than a slot โ the correction has to be re-sent continuously, not once, which is the whole reason NTN timing advance is an ongoing tracking loop rather than the single Msg2 correction of terrestrial RACH.
Doppler โ LEO's revenge
Doppler is the flip side of LEO's low altitude. The shift comes from the satellite's radial velocity โ the component of its motion along the line of sight to you. When a LEO satellite is racing toward your zenith it is closing fast (large positive shift); as it recedes the shift swings negative; near overhead the radial component briefly passes through zero. Over a single pass the carrier frequency sweeps across a wide range in a few minutes.
This one relation explains both why LEO is worst and why band matters. The shift is proportional to radial velocity (LEO's ~7.5 km/s versus GEO's near-zero) and to carrier frequency fc. Plug in a 2 GHz service link and LEO's geometry and you get shifts of tens of kHz; plug in Ka-band and the same geometry gives ten times the absolute shift.
A frequency offset proportional to radial velocity and carrier frequency. On a 2 GHz service link, LEO Doppler reaches up to about ±48 kHz, with a Doppler rate up to hundreds of Hz/s for a 600 km satellite.
Doppler scales with speed. LEO moves at ~7.5 km/s; GEO is essentially still, so its Doppler is negligible. MEO sits between.
Doppler is proportional to carrier frequency, so in Ka-band the absolute shift in Hz is roughly ten times larger than at 2 GHz for the same geometry โ a major issue for FR2 NTN. See ntn-doppler.
Spec anchor: the delay budgets, Doppler shifts and Doppler rates for GEO/MEO/LEO across S-band and Ka-band are tabulated in TR 38.821. The UE pre-compensates most of the service-link Doppler using its GNSS position and the satellite ephemeris.
Footprint sizes and cell patterns over the ground
A LEO satellite's individual beam lights up a patch typically tens to around a thousand kilometres across, while the satellite's whole multi-beam coverage can span thousands of kilometres. Because the satellite is moving, the question becomes: does the footprint stay put on the ground, or slide?
| Pattern | What happens |
|---|---|
| Earth-moving beams | Beam is fixed to the satellite, so the footprint slides across the ground as it flies over |
| Earth-fixed / quasi-earth-fixed beams | Beam is steered to hold a ground cell for a dwell time, then jumps to the next cell |
Earth-moving beams make the cell come to you and leave again in minutes, which forces frequent, timer-driven mobility events; quasi-earth-fixed beams hold a cell steady for a while, then re-point. Either way the ground pattern is dictated by the orbit and the beam-steering choice โ the mobility consequences are worked through in ntn-mobility, and the architecture that creates the beams is in ntn-architecture.
TN ↔ NTN: a terrestrial cell has a fixed tower a few kilometres away, so its delay is a constant few microseconds, its Doppler comes only from the user's own motion (a few hundred Hz at most), and the cell never moves. NTN inverts all three: delay is tens to hundreds of milliseconds and drifting, Doppler is dominated by the satellite's own km/s velocity (tens of kHz), and the cell itself can slide across the ground. The waveform and numerology are the same NR โ but every timing and frequency assumption behind them is stretched.
⚠ Common pitfalls / gotchas
- Confusing altitude with slant range. Delay is set by the slant range along the line of sight, which at low elevation is far larger than the altitude straight up โ the worst-case
TR 38.821figures use low elevation, not overhead. - Reading the delay figures without the payload caveat. Transparent numbers include the feeder link and are roughly double the regenerative (service-link-only) numbers for the same orbit.
- Assuming Doppler is worst overhead. The radial-velocity component โ and hence the shift โ passes through zero near zenith and peaks at low elevation, while the Doppler rate is fastest around the overhead crossing.
- Forgetting Doppler scales with carrier frequency. The same LEO geometry gives ~10× the absolute Hz shift at Ka-band as at 2 GHz, which is why FR2 NTN needs more aggressive compensation.
Summary
One number โ altitude โ sets the whole character of an NTN link through two independent quantities: distance (slant range / c → propagation delay) and radial velocity (→ Doppler). They trade off in opposite directions, so GEO is far-but-still (huge delay ~541 ms transparent, negligible Doppler) and LEO is close-but-fast (small delay ~26 ms transparent at 600 km, Doppler up to ~±48 kHz at 2 GHz), with MEO between โ all per TR 38.821. Transparent figures include the feeder link and run roughly double the regenerative service-link-only figures.
The hard part is that for LEO none of this is constant: as the satellite transits, elevation rises and falls over minutes, so slant range, delay and Doppler all drift continuously โ which is precisely why NTN timing advance is a tracking loop and Doppler is pre-compensated from GNSS and ephemeris. The same orbital motion makes footprints slide (earth-moving) or hop (quasi-earth-fixed), driving NTN's mobility churn. With the orbit physics in hand, ntn-timing-advance and ntn-doppler show how NR actually tames these numbers.
Q. Why does LEO give small delay but large Doppler, while GEO is the opposite?
A. Delay depends on distance and Doppler depends on radial speed. LEO is close (short slant range → small delay) but orbits fast at ~7.5 km/s (high radial velocity → large Doppler). GEO is very far (huge delay) but appears stationary over a point (near-zero radial velocity → negligible Doppler). The two effects come from independent quantities that happen to trade off with altitude.
Q. Why does the propagation delay vary in NTN when a terrestrial cell's does not?
A. A tower is fixed, so the distance and delay are constant. A satellite โ especially LEO โ sweeps across the sky, so the slant range between UE and satellite changes continuously as elevation rises and falls. The delay tracks that changing range, which is why NTN needs continuously updated timing advance rather than a one-off correction.
Q. Roughly what is the maximum round-trip delay for a transparent GEO link versus a LEO-600 link?
A. About 541.46 ms for transparent GEO (service plus feeder link) and about 25.77 ms for transparent LEO at 600 km, per TR 38.821. Regenerative figures are roughly half, since only the service link counts.
Where to go next
The orbit hands you a huge, drifting delay and a large Doppler. Two pages take those raw problems and show how NR-NTN actually solves them, plus how the moving footprint reshapes mobility.