Satellite and non-terrestrial networks
Satellite links for engineers who know terrestrial radio. Orbit choice and link geometry, delay and Doppler, the 3GPP non-terrestrial network work from Release 17, and direct-to-device service.
Overview
A satellite link is a terrestrial link with three things made extreme: distance, speed and the size of the coverage area. Path loss is larger than in any cellular cell. A low-orbit satellite moves fast enough to shift the carrier by tens of kHz. One beam can cover a whole region. Satellite systems have traditionally used air interfaces separate from cellular. Since Release 17, 3GPP has specified how NR and the IoT radios can run over satellites as non-terrestrial networks (NTN). This hub is for engineers who need to size a satellite link, understand what NTN changes in a 3GPP device, or judge direct-to-device claims.
Key ideas
Orbits and link geometry
The 3GPP NTN overview describes geostationary orbit (GEO) as a circular orbit 35,786 km above the equator, and low Earth orbit (LEO) as circular orbits at typically 500 to 2,000 km. Medium Earth orbit (MEO) lies between the two. A GEO satellite appears fixed in the sky, so ground antennas can stay pointed, but the distance costs delay and path loss. LEO is closer, with lower delay and a better link budget, but each satellite is visible for minutes, so a service needs many satellites and frequent handover.
The geometry is worth computing once. The block below finds the slant range, one-way delay and free-space path loss for a 600 km LEO and for GEO at 2 GHz, and the Doppler shift on a LEO pass straight overhead. It ignores Earth’s rotation and the atmosphere.
import numpy as np
MU = 3.986004418e14 # Earth's gravitational parameter, m^3/s^2
R_E = 6371e3 # mean Earth radius, m
C = 299_792_458.0 # speed of light, m/s
def slant_range(h_m: float, elev_deg: float) -> float:
"""Distance from a ground terminal to a satellite at altitude h, seen at elevation elev."""
e = np.radians(elev_deg)
return np.sqrt((R_E + h_m) ** 2 - (R_E * np.cos(e)) ** 2) - R_E * np.sin(e)
def fspl_db(d_m: float, f_hz: float) -> float:
return 20 * np.log10(4 * np.pi * d_m * f_hz / C)
f_c = 2.0e9 # S-band carrier, Hz
print(f"carrier {f_c / 1e9:.1f} GHz")
for name, h in [("LEO 600 km", 600e3), ("GEO", 35_786e3)]:
for elev in (90, 10):
d = slant_range(h, elev)
print(f"{name:10s} elev {elev:2d} deg: range {d / 1e3:8.0f} km, "
f"one-way delay {d / C * 1e3:6.2f} ms, FSPL {fspl_db(d, f_c):6.1f} dB")
# Doppler on a LEO pass straight overhead, Earth rotation ignored
h = 600e3
v = np.sqrt(MU / (R_E + h))
for elev in (90, 30, 10):
v_radial = v * R_E / (R_E + h) * np.cos(np.radians(elev))
print(f"LEO 600 km elev {elev:2d} deg: radial speed {v_radial / 1e3:5.2f} km/s, "
f"Doppler {f_c * v_radial / C / 1e3:5.1f} kHz")
print(f"orbital speed {v / 1e3:.2f} km/s, period {2 * np.pi * (R_E + h) / v / 60:.1f} min")
It prints a free-space path loss of 154.0 dB overhead and 164.2 dB at 10° elevation for the LEO case, against 189.5 dB for GEO overhead. One-way delay is 2.00 ms for LEO overhead and 119.37 ms for GEO. On the LEO pass the Doppler shift reaches 45.4 kHz at 10° elevation and changes sign as the satellite passes overhead. The satellite moves at 7.56 km/s and circles the Earth in 96.5 min.
What 3GPP NTN changes
According to the 3GPP overview, Release 17 was the first release with normative NTN requirements. It covered NR NTN and IoT NTN (NB-IoT and LTE-M over satellite). The initial NR NTN work assumed a transparent payload, in which the satellite acts as an RF repeater, and handheld devices of power class 3. A regenerative payload instead carries base station functions on board. Before random access, the UE must pre-compensate its timing advance and Doppler shift itself, using its own GNSS position and the satellite’s broadcast ephemeris. NTN-capable devices are therefore assumed to have GNSS. Release 18 added work on coverage, network-verified UE location, NTN to terrestrial mobility and bands above 10 GHz. Release 19 studies include store-and-forward operation, regenerative payloads and operation without GNSS. Lin and co-authors give an accessible account in 5G from Space (arXiv, 2021).
Direct-to-device
Direct-to-device means an ordinary phone talking to a satellite without a dish. Two routes exist. One uses the 3GPP NTN specifications in bands set aside for satellite service. The other uses a mobile operator’s terrestrial spectrum from space. In the United States, the FCC adopted a framework for this second route, called Supplemental Coverage from Space, in a Report and Order adopted on 14 March 2024. The link budget is tight. A phone has a small, low-gain antenna and limited transmit power, so throughput per user is low compared with a terrestrial cell. Treat service announcements as the vendor’s claims until independent measurements are published.
Where to start
The arithmetic is the same as on the ground. Work through Decibels and link budgets and Noise, SNR and capacity, then use the antennas and propagation formulas for EIRP and path loss. The link budgets and noise hub covers system noise temperature. Read the 5G NR hub before the NTN specifications, and the LPWAN and IoT hub for the devices behind IoT NTN. Robots that rely on long-range or satellite links in the field are covered on Robotics Field Guide’s aerial and field robots hub.
Tools and platforms
| Resource | What for | Publisher or licence |
|---|---|---|
| 3GPP NTN overview | Release-by-release summary of NTN work | 3GPP |
| ITU-R P.618 | Propagation data for Earth-space links | ITU-R |
| ITU-R P.676 | Gaseous attenuation | ITU-R |
| GNU Radio | Receiving and analysing satellite downlinks on an SDR | GPL-3.0 |
Platform hubs: open-source tools, and Keysight and Rohde & Schwarz for channel emulation and test.
Common mistakes
- Using the overhead range for a link budget. Low elevation angles add range, atmospheric loss and blockage.
- Forgetting that Doppler and delay change continuously on a LEO pass.
- Assuming a phone supports NTN because it supports the release. NTN is a separate capability with its own bands.
- Treating the round trip as one hop. With a transparent payload, the signal crosses the service link and the feeder link.
- Ignoring rain fade above 10 GHz. Use the ITU-R models, not a fixed margin.
Going deeper
- 3GPP, Non-Terrestrial Networks (NTN) overview.
- Lin and co-authors, 5G from Space: An Overview of 3GPP Non-Terrestrial Networks, arXiv, 2021.
- FCC, Single Network Future: Supplemental Coverage from Space, Report and Order FCC 24-28, 2024.
- ITU-R P.618, propagation data and prediction methods for Earth-space telecommunication systems.