CafeTele5G / 6G Engineering CT-5G-NTN-500 Enroll now ↗
Course/Day 3/NTN Radio & gNodeB Configuration
03
3
Day Three

NTN Radio Interface & gNodeB Configuration

Go deep on what 3GPP changes in the NR radio for satellite — timing advance, Doppler, RACH, HARQ — and translate it into concrete gNB config: SIB19 / NTN-Config IEs, ephemeris, Koffset, Kmac and TA reporting.

Day objective — from “why terrestrial NR breaks over satellite” to a fully parameterized NTN-aware gNB, for both transparent and regenerative payloads.

3.1

Why Terrestrial NR Breaks Over Satellite

Two root causes — 541.46 ms of delay and 7.56 km/s of motion — break five specific NR mechanisms. Not vaguely: each break is a named protocol constant with an exact overflow factor, and one constant famously survives at GEO but dies at LEO.

The five breaks — spec constant vs NTN reality (worst case)
Protocol constantTerrestrial designNTN realityOverflow
RAR TA command · T_A {0…3846} · TS 38.213 §4.22.0 ms ≈ 300 km cellGEO RTD 541.46 ms×270
ra-ResponseWindow {sl1…sl80}≤ 80 msMsg1→Msg2 ≥ 541.46 ms×6.8 (✓ holds at LEO)
HARQ pipeline · 16 processes8 ms in flightneeds 1,084 processes at GEO×68
Cyclic prefix · 4.69 µs @15 kHzmultipath echoes ~1.4 km10.3 ms differential delay in cell×2,196
Subcarrier spacing · 15 kHzDoppler ≤ ~1 kHz @500 km/h48 kHz @2 GHz (LEO-600)×3.2 (✓ holds at GEO)
  • Very large propagation delay — watch the round-trip race with the real TR 38.821 milliseconds
  • Two causes → five breaks → five fixes — the causal wire, every node with exact 3GPP numbers
  • The assumption ledger — 7 constants stress-tested; click each for what-it-does / why-sized / symptom / fix
  • RACH dies at GEO — Msg2 vs the 80 ms window, and the Rel-17 window-offset rescue
  • UL orthogonality collapses — 10.3 ms of differential delay vs the 4.69 µs cyclic prefix, animated
  • All five failures quantified — the orders-of-magnitude table

Discrimination is the expert skill here: the RACH timers survive at LEO-600 (25.77 ms fits) and die at GEO, while Doppler does the exact reverse — which is why NTN configuration is per-orbit, never one profile.

3.2

Timing Advance in NTN

Rel-17 turns TA into a four-term open-loop sum — TTA = (NTA + NTA,offset + NTA,adjcommon + NTA,adjUE)·Tc (TS 38.213 §4.2). The UE computes the service term itself from GNSS + SIB19 ephemeris; the network broadcasts the part the UE cannot see; the legacy 6-bit MAC CE only trims the residual.

The four terms — who provides what, at what scale
TermProvided byScale (worst cases)
NTA,adjUE · service linkUE — GNSS + ephemerisInfo, open loop7.17 ms @LEO-600/30° = 14.1 M·T_c → 270.7 ms @GEO
NTA,adjcommon · RP→gNBNetwork — ta-Common in SIB19 (+drift, +variant)≤ 270.73 ms — the field max is the GEO regenerative RTD
NTA,offset · duplex constantFixed — n25600 default (TS 38.133 T7.1.2-2)13.02 µs (n39936 → 20.31 µs · FR2 → 7.01 µs)
NTA · residualgNB — 6-bit MAC CE, (T_A−31) steps±16.7 µs per command — 4–5 orders below the open loop
cellSpecificKoffset · schedulingSIB19 — unit 15 kHz slots≈ 542 slots at GEO — why the range is 1..1023
  • Why the standard NR TA range fails — RAR T_A tops out at 2.0 ms vs 541.46 ms, derived step by step
  • The four-term equation, live — component-stack calculator with substituted values per orbit & payload
  • The UE transmits slot n before it receives slot n — slot-level timelines and the K_offset causality fix
  • Common TA — ta-Common, the Reference Point, and the real SIB19 ASN.1 with exact ranges
  • UE-specific TA — ephemeris bit-widths carved to the physics (±43,621 km vs GEO 42,157 km)
  • The 6-bit closed loop — TA Command MAC CE decoder + timeAlignmentTimer lifecycle
  • TA drift & validity — why ntn-UlSyncValidityDuration starts at s5 (91 ms / 4.0 s crossings)

The strangest consequence: at GEO the UE's uplink frame timeline runs ~529 ms ahead of its downlink timeline — it transmits slot n before receiving slot n. K_offset is the scheduler's admission of that fact.

3.3

Doppler Compensation

Doppler is split by visibility: the UE pre-compensates the service link it can compute (GNSS + ephemeris); the gateway kills the feeder shift the UE cannot even see; the receiver's pilot-tracking loops absorb the few hundred Hz that remain. The subtle trap: a transparent transponder is a mixer — Doppler survives frequency conversion in absolute Hz, so the Ka feeder's shift would land on your S-band signal 10× bigger than the service link's own.

The frequency-error ledger — LEO-600 worst case, transparent payload
ComponentMagnitudeCompensated by
Feeder-link Doppler @ Ka 20/30 GHz±480 / ±720 kHz (24 ppm) — preserved through the mixerGateway pre-corrects; UE never sees it
Service-link Doppler @ S 2 GHz±48 kHz (24 ppm) = 3.2 subcarriersUE pre-corrects UL, tracks DL
Doppler rate0.27 ppm/s — peaks at closest approach, exactly when fd = 0Geometry (ephemeris), not a tracking loop
Residual — crystal + estimation±0.1 ppm = ±200 Hz @2 GHz (TS 38.101-1 §6.4.1) → ICI SIR ≈ 32 dBReceiver DMRS/PTRS tracking
  • Service-link vs. feeder-link Doppler — who compensates what, on the live wire
  • The Doppler S-curve & its rate over a pass — the derivative peaks at closest approach
  • UE-side pre-compensation — GNSS + ephemeris; the carrier vs the subcarrier grid, animated
  • Gateway feeder correction & the mixer insight — toggle each compensator, watch the Hz that survive
  • Residual Doppler & demodulation — rotating constellation + ICI SIR engine (sinc²(ε)/(1−sinc²(ε)))

Numbers to carry into the interview: 24 ppm → 48 kHz @2 GHz / 480 kHz @Ka; rate 0.27 ppm/s peaking at f_d = 0; residual budget ±200 Hz → 5.1°/symbol → SIR 32.3 dB — comfortable only because the tracking loop closes it between pilots.

3.4

Random Access & HARQ Adaptation

Two MAC survival changes. RACH: every window is stretched and the 4-step exchange takes two full round trips (over 1 second to attach at GEO) — so 2-step (msgA/msgB) matters far more than on the ground. HARQ: stop-and-wait needs Nfill = ⌈RTD/Tslot⌉+1 processes to stay busy — 1,084 at GEO — so the 32-process max is not enough and feedback is disabled per process, with reliability moving to RLC AM.

HARQ processes-to-fill vs the 32 max (feedback ON) — why GEO must go feedback-off
Orbit · RTDNfill @15 kHzUtilisation with 32 procVerdict
LEO-600 regen · 12.89 ms14100 %32 processes suffice
LEO-600 transparent · 25.77 ms27100 % (barely)the only clean 32-proc case
LEO-1200 transparent · 41.77 ms4374 %feedback-off preferred
GEO transparent · 541.46 ms5436 %feedback OFF mandatory
  • The 4-step RACH — real messages — step through Msg1–Msg4 with the NTN timing change on each
  • RACH latency over the void — the exchange on a true time axis; 4-step vs 2-step (halves it)
  • Watch the HARQ pipeline stall — the channel fills with green slots then red idle gaps, then feedback-off unblocks it
  • Why higher numerology makes HARQ worse — Nfill multiplies as the slot shrinks
  • The 32-bit feedback-disable bitmap + RLC ARQ — per-process mix, and where reliability goes when blind
  • The real TS 38.331 ASN.1 — nrofHARQ-ProcessesForPDSCH-v1700, downlinkHARQ-FeedbackDisabled-r17, ra-ResponseWindow

The honest trade-off: feedback-off buys 100 % link utilisation (throughput) by spending tail latency — one RLC AM retransmission costs ≈ 1 × RTD, so the unlucky ~10 % of blocks pay +541 ms at GEO. That is why NTN also enlarges the RLC/PDCP timers (t-PollRetransmit, t-Reassembly, t-Reordering).

3.5

gNodeB NTN Config — SIB19 / NTN-Config Deep Dive

NTN assistance information is broadcast primarily in SIB19. These are the core NTN-specific parameters an engineer configures and reads (per TS 38.331 NTN-Config). For the exhaustive catalogue — every field's ASN.1 type, value range, unit and spec clause — see the full IE & Parameter Reference →

  • SIB19 IE tree explorer — click each field: ephemeris, ta-Common, K_offset, K_mac, validity, polarization
  • NTN-Config generator — pick an orbit, get every IE computed to its spec-exact value + the ASN.1 config
  • ephemerisInfo — the two formats — state-vector vs Keplerian, ranges carved to the physics (animated orbit)
  • Every IE — purpose & engineer's concern + the RHCP/LHCP/linear polarization visualizer
  • The real TS 38.331 ASN.1 — NTN-Config-r17, EphemerisInfo (both formats), TA-Info, verbatim
SIB19 / NTN-Config — key IEs
Parameter / IEPurposeEngineer's concern
ephemerisInfoSatellite position / velocity so UE computes TA & DopplerSource, format & update accuracy; TLE vs. orbital params
epochTimeReference time for ephemeris validitySync source; alignment with UE GNSS time
ntn-UlSyncValidityDurationHow long UL sync (TA / Doppler) stays validRe-acquisition cadence; tighter for LEO
cellSpecificKoffsetScheduling offset absorbing the round-trip delaySet per orbit (largest for GEO); affects all timing relationships
kmacOffset for DL-to-UL frame timing on the network sideNeeded when network reference differs; regenerative vs. transparent
ta-Common / Drift / DriftVariantBroadcast common TA and its driftMagnitude & drift rate per orbit; LEO needs frequent update
ta-ReportWhether / how the UE reports TAMobility & UL-sync maintenance
ntn-PolarizationDL / ULSignal polarization (RHCP / LHCP / linear)Match space segment; affects polarization loss in link budget

IE names follow TS 38.331 NTN-Config in SIB19. Confirm exact ASN.1 against the release the client targets; vendor naming may differ.

3.6

Transparent vs. Regenerative gNB Configuration

How the same parameters are set differently depending on whether the gNB is on the ground or onboard the satellite.

  • Transparent — ground gNB configured with satellite ephemeris + feeder-link compensation; SIB19 reflects the end-to-end path
  • Regenerative (Rel-19) — onboard gNB; service-link timing handled locally, feeder carries N2/N3 (or store-and-forward when absent)
  • Config impact on TA, Koffset, Kmac and HARQ between the two models
  • RLC mode selection & RRC parameters specific to NTN
LAB

Hands-on Lab 3 — NTN-Aware gNB: Configure, Decode, Analyze

Apply a real LEO/GEO impairment profile, decode the NTN IEs on the air, and compare timing behaviour against the Day-1 terrestrial baseline.

Hands-on Lab 3

NTN-Aware gNB: Configure, Decode, Analyze

  • 1Apply an NTN delay / Doppler profile (LEO & GEO) to the gNB/UE link via netem
  • 2Configure NTN-aware parameters and attach the UE through the NTN profile
  • 3Decode SIB19 / NTN RRC config in Wireshark; identify Koffset, common TA & ephemeris fields
  • 4Observe TA behaviour & HARQ process handling vs. the Day-1 terrestrial baseline
UERANSIMsrsRANtc / netemWireshark
Deliverable — a side-by-side terrestrial vs. NTN log comparison with annotated timing parameters. Open the full lab guide →
QUIZ

Day 3 Assessment

The radio-layer core of NTN — timing advance, Doppler, RACH/HARQ, K-offsets and every SIB19 / NTN-Config IE. 41 questions, the course’s highest pass mark (75%).