Topic hub

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.

Updated 15 Nov 2026 · NTN, satellite, LEO, GEO, Doppler, Release 17, direct-to-device, link budget

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

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.

Earth surfaceGEO satellite35,786 kmorbital motion, about 7.6 km/sLEO satellite500 to 2,000 kmUEGatewayservice linkfeeder linkelevationto core network
Link geometry for a transparent satellite. The user equipment reaches the satellite over the service link at some elevation angle above the horizon, and the satellite relays the signal over the feeder link to a gateway connected to the core network. A GEO satellite is shown for comparison. Distances are not to scale.

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

Latest news on this topic

Recent papers

  • Empowering AI towards 6G: Realistic UAV Channel Data Acquisition using Open-Source Solutions

    Q. Zhou, S. Melnyk, H. D. Schotten et al. · arXiv eess.SP · digest

    The authors built a UAV-to-ground 5G measurement testbed from an OpenAirInterface gNB on a USRP X410 at 3619.2 MHz and a commercial 5G modem on a multicopter. They modified the gNB to log per-subcarrier channel estimates from the uplink sounding reference signal, time-aligned with flight telemetry. About 100 minutes of field flights at 40 to 60 m altitude and up to 15 m/s showed that the dominant spectral ridges in the raw data did not follow the expected kinematic Doppler unless the tracking was guided, which the authors attribute to hardware effects such as phase noise. Deep-learning channel predictors trained on this data behaved differently from what idealised channels suggest, with a Transformer doing best in their case study. The study covers one hardware chain, a single link and low speeds, and the testbed and dataset are released.

  • Coexistence of Direct-to-Device (D2D) Satellite Systems with 5G/6G Terrestrial Networks: Cross-Border Aggregate Interference Analysis in Saudi Arabia

    M. M. Alzubi, M. Alrabeiah, K. Aldubaikhy et al. · arXiv eess.SP · digest

    This study asks whether satellite direct-to-device downlinks serving Jordan and Iraq in the 698 to 960 MHz band would interfere with terrestrial IMT phones in Saudi Arabia, a question under WRC-27 agenda item 1.13. It is a Monte Carlo simulation using ITU-R antenna and propagation models, two hypothetical constellations at 500 and 525 km altitude, and victim phones spread along the real borders up to 40 km inland. The protection criterion was exceeded up to 88% of the time, needing up to 27 dB of extra isolation, and random satellite selection was worse than highest-elevation selection. A one-cell border isolation zone helped only moderately, while a narrow-beam, deep-null phased-array pattern cut exceedance to about 40%. The systems are hypothetical, so the numbers are inputs to regulatory study rather than predictions for a real constellation.