WORKED EXAMPLES
The NTN teaching and example guide provides seven worked examples, each isolating one mechanism:
https://gitlab.com/jessest94106/ns-3-dev-NTN/-/blob/v1.0.1/ntn/README.md- Pre-simulation link check: close the link budget and check slant range, SNR, Shannon throughput ceiling, RTT and HARQ-pipeline depth before starting a long simulation.
- Full regenerative LEO pass: 5° → 90° → 5°, coupling live geometry to channel quality,
- MCS, HARQ and delivered throughput.
- ILLA versus OLLA: show how the outer loop moves the CQI-selected MCS toward a target first-transmission BLER at fixed elevations.
- Transparent bent-pipe pass: separate feeder, optional ISL and service-link geometry, cascaded SNR and the resulting HARQ loop RTT.
- RLC ARQ: compare UM and AM when RLC must recover the blocks left corrupt after all HARQ attempts, including the resulting loss-versus-delay tradeoff.
- Beam edge: compare centre, 30 km and 50 km UEs under a time-varying Airy spot-beam pattern.
- Scheduling under CSI aging: compare RR, PF and MR for ten UEs with fresh versus stale channel-state information.
*Examples 1, 2, 4 and 6 include exact commands and reproduce as written. Examples 3 and 5 publish their full configurations and use the included parameter-file harnesses. Every tracked figure has a generating command and source description in the figure-provenance guide:
https://gitlab.com/jessest94106/ns-3-dev-NTN/-/blob/v1.0.1/ntn/figures/README.mdTOOLS AND EXPERIMENT HARNESSES
The release includes the supporting workflow needed to configure, run, analyse and reproduce the examples:
- - ntn_precheck.py: an arithmetic pre-check with regenerative and bent-pipe presets. It reports slant range, FSPL, SNR, a first-order throughput ceiling, RTT and HARQ-loop time, and warns when the link falls below MCS 0 or the loop exceeds the configured HARQ pipeline. https://gitlab.com/jessest94106/ns-3-dev-NTN/-/blob/v1.0.1/ntn/tools/ntn_precheck.py
- Simulation harnesses: regenerative full-pass sweeps, one- and two-satellite bent-pipe comparisons, and parameter-file runners for both payload architectures.
- Analysis and plotting: scripts for summary tables, elevation-binned statistics, HARQ and RLC analysis, per-UE beam-footprint statistics, scheduler plots and full-pass figures.
The complete released script inventory and direct-use examples are in the tools and harness guide:
https://gitlab.com/jessest94106/ns-3-dev-NTN/-/blob/v1.0.1/ntn/scripts/README.mdGETTING IT
git clone --branch v1.0.1 --recurse-submodules \
https://gitlab.com/jessest94106/ns-3-dev-NTN.git cd ns-3-dev-NTN
./ns3 configure --enable-examples -d optimized
./ns3 build leo-link-bent-pipe-1hop
./ns3 run "leo-link-bent-pipe-1hop"
contrib/nr is a submodule pinned to an exact commit of:
https://gitlab.com/jessest94106/nr-ntn-devThe pin matters: the examples will not build against stock 5G-LENA v4.1.
Components:- ns-3: 3.45
- 5G-LENA (contrib/nr): v4.1 fork
- License: GPL-2.0-only
Toolchain and known environment issues:
https://gitlab.com/jessest94106/ns-3-dev-NTN/-/blob/v1.0.1/COMPATIBILITY.mdWHAT IT DOES NOT DO YETTN–NTN integration, handover and DVB-S2 are planned, not implemented. Anything not listed in the NTN example guide should be treated as unverified. The current timing model uses an ideal timing-advance abstraction: the PHY remains slot-synchronous while geometry-derived RTT is applied when the gNB processes scheduling requests, CQI reports and HARQ feedback. The configuration is parameterised from published Starlink radio and orbital parameters.
UPSTREAMINGNew features land in ns-3-NTN first. Where they are general rather than NTN-specific — the RLC AM re-segmentation work, the HARQ timing range and downlink OLLA — we intend to propose them to 5G-LENA and to mainline ns-3. ns-3-NTN will continue as the development platform for NTN-specific harnesses, tools and experimental features.
------------
We welcome feedback, questions, issue reports, feature requests and contributions, and we are happy to discuss roadmap priorities and upstreaming paths that best serve the ns-3 and 5G-LENA user communities.
Jesse Chiu (Kuan-Po)