Skip to content
rhaffle87Public

About

High-fidelity Loran-C & eLoran radio-navigation simulator: 100 kHz RF waveforms, hyperbolic TDOA LOPs, GDOP heatmaps, atomic clock drift, ASF modeling, and GNSS-resilient PNT fusion.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

146 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIMULORAN

High-Fidelity Loran-C & eLoran Simulation Suite
An interactive, physics-based radio-navigation engineering laboratory for hyperbolic time-difference of arrival (TDOA) positioning, pseudorange multilateration, atmospheric refraction, oscillator stability, Additional Secondary Factor (ASF) modeling, and GNSS-resilient multi-sensor fusion.

Caution

EDUCATIONAL & RESEARCH SIMULATOR ONLY
SIMULORAN is an academic and engineering research simulation tool. It is not certified, approved, or intended for real-world maritime navigation, aviation, or safety-critical positioning, navigation, and timing (PNT).


1. Overview & Motivation

Global Navigation Satellite Systems (GNSS: GPS, Galileo, BeiDou, GLONASS) transmit ultra-low-power microwave signals (~1.5 GHz) from ~20,000 km in medium Earth orbit. As a consequence, satellite signals are highly susceptible to intentional jamming, spoofing, multipath degradation, and solar space weather events.

eLoran (enhanced Loran) is the internationally standardized, terrestrial, low-frequency (100 kHz) navigation system providing high-power (hundreds of kilowatts to megawatts) signals that share no common failure modes with GNSS, delivering resilient, autonomous Positioning, Navigation, and Timing (PNT).

SIMULORAN is a standalone, web-based engineering simulation suite designed to model, visualize, and analyze hyperbolic and pseudorange radio navigation chains with mathematical rigor.



Visual Showcase & Layout Overview

SimuLoran provides a high-density, professional dark-mode maritime radio-navigation workbench. Below is a visual tour of the primary operational views shown at full width with the China East Sea Chain (GRI 8390) operational preset. For complete step-by-step operating procedures, parameter definitions, and workflows, consult the Visual User Guide.

flowchart TD
    subgraph UI ["SIMULORAN Cockpit Interface Layout"]
        direction TD

        NAV["Top Navbar: Route Navigation • Active Scenario Badge • Play/Pause Simulation • Theme Toggle • GitHub"]

        subgraph WORKSPACE ["Operational Center Stage"]
            direction LR

            subgraph CANVAS ["Interactive Vector Map / Waveform Workbench Canvas"]
                direction TB
                C1["Transmitter Nodes (Master / Secondary)"]
                C2["Hyperbolic Lines of Position (LOPs) / Range Circles"]
                C3["Real-time GDOP / HDOP Heatmap Contours & Inspector"]
                C4["Receiver Fix & BLUE 95% Covariance Error Ellipse"]
            end

            subgraph SIDEBAR ["Sidebar Subsystem Panels (Collapsible / Resizable)"]
                direction TB
                S1["Station Network Editor"]
                S2["Clocks & Allan Deviation"]
                S3["Additional Secondary Factor (ASF & Millington)"]
                S4["d-Loran Differential Monitor"]
                S5["Receiver Tracking Loops (PLL / DLL)"]
                S6["Trajectory & Flight Plan"]
                S7["Multi-Sensor BLUE Fusion"]
                S8["Display & GDOP Inspector Toggles"]
            end
        end

        CONSOLE["Collapsible Live Telemetry Console: NMEA Sentences • Residuals • Serial Terminal • Log Export"]

        NAV --> WORKSPACE
        WORKSPACE --> CONSOLE
    end
Loading

1. eLoran All-in-View Pseudorange Multilateration & Radial Geometry

eLoran All-in-View Multilateration Map

Real-time all-in-view pseudorange multilateration on MapLibre vector charts configured for the China East Sea Chain (GRI 8390). Highlights Xuancheng-M (8390M), Raoping-X (8390X), and Rongcheng-Y (8390Y) transmitting to patrol vessel EastSea-Patrol (28.5000°N, 122.5000°E). Features synchronized station radials, dynamic receiver clock bias brx (with physical range offset c · brx = 11,985.5 m) estimated via Weighted Least Squares (WLS), radial error (5.8 m), and covariance error ellipses. Read detailed guide →


2. Real-Time Geometric Dilution of Precision (GDOP) & Coverage Contours

Real-Time GDOP Heatmap Contours

Real-time multi-station GDOP and HDOP coverage contour rasterization across the East China Sea basin computed via an off-thread Web Worker (180 cells grid density, 8 m RDP contour decimation). Features geographically static coverage domains strictly anchored to transmitter baseline geometry, eliminating viewport scaling distortion during zoom/pan. Incorporates high-contrast cased vector contours, independent layer toggles (🔥 Heatmap Surface / 📈 Iso-Contours), continuous opacity control, and dedicated inspection buttons for individual operational standards: Optimal HEA (GDOP ≤ 1.5), Coastal Navigation (GDOP ≤ 3.0), Ocean En-Route (GDOP ≤ 7.7), and USCG Specification Limit (GDOP ≤ 10.92, dashed). Read detailed guide →


3. 100 kHz RF Waveform Workbench & Standard Zero-Crossing (SZC) Oscilloscope

100 kHz RF Pulse Oscilloscope

High-precision digital oscilloscope synthesizing the USCG standardized 100 kHz pulse: i(t) = A · (t/τ)² · exp(-2(t - τ)/τ) · sin(0.2πt) with τ = 65 µs. Highlighting 1-pulse zoom (300 µs timebase), envelope peak at 65 µs, envelope derivative tracking, the 3rd zero-crossing (SZC at 30 µs, amplitude 0.62534), and spectral FFT containment strictly between 90 kHz and 110 kHz. Read detailed guide →


4. GNSS-eLoran Multi-Sensor Fusion & Resilient Anti-Jamming Lab

GNSS-eLoran Multi-Sensor Fusion

Inverse-covariance Best Linear Unbiased Estimator (BLUE) sensor fusion weighting satellite pseudoranges against high-power terrestrial eLoran signals (weights w_i = 1 / σ_i²). Dynamically maintains resilient PNT fix continuity (1σ = 5.8 m, 95% = 14.2 m, HPL = 25.0 m) during severe GNSS jamming and spoofing attacks. Read detailed guide →


5. Additional Secondary Factor (ASF) & Millington Mixed-Path Propagation

Millington ASF Propagation Panel

Multi-segment boundary groundwave phase delay modeling following ITU-R P.368 and Millington's method. Computes forward and reverse boundary field strengths across varying conductivities (seawater σ = 5.0 S/m, agricultural soil σ = 0.005 S/m, rocky terrain σ = 0.001 S/m) with full reciprocity matching. Read detailed guide →


6. Loran-C Hyperbolic Time-Difference of Arrival (TDOA) Navigation

Loran-C Hyperbolic TDOA Map

Classical hyperbolic radio-navigation showing China East Sea Chain Master (Xuancheng-M) and Secondaries (Raoping-X with emission delay ED_X = 13,795.52 µs; Rongcheng-Y with ED_Y = 31,459.70 µs). Features hyperbolic Lines of Position (LOPs), baseline extension hazard geometry, and time difference measurements (TD_X, TD_Y). Read detailed guide →


7. Loran Data Channel (LDC) 32-PPM Demodulator & Telemetry

LDC 32-PPM Demodulator

32-State Pulse Position Modulation (32-PPM) demodulator with 1.25 µs shift bins and Eurofix 9th-pulse decoder with Reed-Solomon RS(31, 15) forward error correction over GF(2⁵) for differential corrections and UTC synchronization. Read detailed guide →


8. Interactive Physics Theory & Empirical Trial Benchmarks

Interactive Theory & KaTeX Math

Dedicated educational laboratory featuring KaTeX-rendered equations, ellipsoidal geodesic derivations (Andoyer-Lambert), ionospheric skywave reflections (Doherty), and empirical trial benchmark validation (Korean Nationwide eLoran Testbed and Maoming campaign). Read detailed guide →

Tip

Explore all 20 full-resolution layouts with complete interactive control descriptions in the Visual User Guide, or inspect the automated multi-viewport verification archive in docs/verification/screenshots/README.md.

2. Documentation & Research Standards

  • docs/VISUAL_USER_GUIDE.md — Comprehensive visual documentation & step-by-step user guide with annotated high-resolution screenshots covering all layouts and controls.
  • docs/LORAN_MATHEMATICAL_PHYSICS_MANUAL.md — Rigorous theoretical physics manual, equations, theorems, and mathematical foundations.
  • ARCHITECTURE.md — Complete system architecture, reactive state pipeline, off-thread Web Worker architecture, and platform target diagrams.
  • CONTRIBUTING.md — Contributor onboarding, conventional commit format, zero-defect quality gates, and testing procedures.
  • docs/README.md — Master documentation index cataloging all technical specifications, empirical benchmarks, and security policies.
  • WHITEPAPER.md — Comprehensive technical whitepaper & mathematical specification (Version 1.6.0) formalizing RF pulse physics, ellipsoidal geodesics, Millington mixed-path ASF, 6-state EKF tracking, and RAIM integrity.
  • VALIDATION.md — Empirical field trial benchmarks (Korean Nationwide eLoran Testbed 2021 & Maoming Inland Geodesic Test 2025), validation tiers, and verification harness.
  • REFERENCES.md — Sourced literature compendium of primary standards (USCG COMDTINST M16562.4A, Loran-C User Handbook, Peterson 2006, RTCM MPS, ITU-R P.368/P.832), foundational textbooks, dissertations (Pelgrum 2006, Offermans & Helwig 2003, Hargreaves 2010), and physics formulas.
  • PROVENANCE.md — Provenance tracking, retrievable URLs/DOIs for all literature, and register of items marked UNVERIFIED.
  • DATA_NOTES.md — Global transmitter status (US/Canada 2010 shutdown, European 2015 decommissioning, Anthorn UK timing role, active China and Russia chains).
  • TILES.md — Centralized map tile configuration (OpenFreeMap vector default, OSM raster, authenticated CARTO, and offline radar canvas fallback).
  • THIRD_PARTY_NOTICES.md — Full licensing and copyright notices for MapLibre GL, Proj4js, PapaParse, Turf.js, dev dependencies, and fonts.
  • LICENSE — Standard Open-Source MIT License.

3. System Architecture & Features

simuloran/
|-- docs/
|   |-- assets/
|   |   `-- screenshots/         # 20 high-resolution user guide screenshot assets
|   |-- verification/
|   |   `-- screenshots/         # Automated visual regression & responsive audit archive
|   |-- VISUAL_USER_GUIDE.md     # Visual user documentation and layout instructions
|   |-- LORAN_MATHEMATICAL_PHYSICS_MANUAL.md # Physics theorems and formulas manual
|   |-- WHITEPAPER.md            # Technical whitepaper & mathematical specification
|   |-- VALIDATION.md            # Empirical field trial benchmarks (Korea & Maoming)
|   |-- REFERENCES.md            # Standards, formulas, and literature compendium
|   |-- PROVENANCE.md            # Provenance audit, citation links & unverified ledger
|   |-- DATA_NOTES.md            # Global station operational history & coordinates
|   `-- TILES.md                 # Tile providers, usage limits & offline mode
|-- src/
|   |-- lib/                     # Pure, testable mathematical library (zero UI coupling)
|   |   |-- geodesy.js           # Haversine, forward/inverse geodesics, PF refraction, Brunavs SF
|   |   |-- tdoa.js              # Pseudorange solver (b_rx), hyperbolic TDOA, cycle slips
|   |   |-- gdop.js              # Direction cosines, GDOP/HDOP geometry matrix, heatmaps
|   |   |-- asf.js               # Safe recursive-descent AST formula parser & evaluator
|   |   |-- clocks.js            # Cesium, Rubidium, GPSDO, Quartz drift & bias models
|   |   |-- dds.js               # Eurofix 9th-pulse PPM telemetry generator
|   |   |-- elevationProfile.js  # Great-circle elevation interpolation & Open-Elevation client
|   |   |-- fusion.js            # Inverse-covariance weighted GNSS-eLoran BLUE multi-sensor fusion
|   |   |-- heatmapColormap.js   # Jet & Viridis 256-entry LUTs & canvas rasterizer
|   |   |-- pulse.js             # 100 kHz carrier, raised-cosine envelope, GRI timing
|   |   |-- terrainMasking.js    # ITU-R P.526 knife-edge obstacle diffraction & excess delay
|   |   |-- trackingLoop.js      # PLL/DLL carrier tracking, SZC lock & Boyce cycle slip model
|   |   |-- contours.js          # Marching squares 2D contouring + RDP simplification
|   |   |-- stations.js          # Station schema, validation, boundary guards, CSV/GeoJSON
|   |   `-- tiles.js             # Centralized tile provider config with offline radar fallback
|   |-- workers/                 # Off-thread Web Workers for high-density compute
|   |   |-- gridWorker.js        # Parallel 2D TDOA grid & contour extraction
|   |   |-- asfWorker.js         # Spatial formula rasterizer
|   |   `-- workerClient.js      # Cancellable Promise wrapper with transferable buffers
|   |-- state/
|   |   |-- simulationStore.js   # Single reactive Zustand state store
|   |   `-- presets.js           # Calibrated scenarios (North China Sea, Korean Testbed, etc.)
|   |-- components/
|   |   |-- map/                 # MapView (MapLibre GL vector & raster), HeatmapLayer, Markers
|   |   |-- panels/              # StationEditor, ClockPanel, AsfPanel, FusionPanel, TrackingPanel
|   |   `-- charts/              # PulseViewer (oscilloscope with SVG export), TrackingChart
|   `-- pages/                   # Home, LoranC, ELoran, Waveforms, Learn, About
`-- e2e/                         # Playwright automated test & visual capture suite

4. Physics & Navigation Engine

1. Dual Positioning Solvers

  • Modern 2D+Time Pseudorange Multilateration: Directly solves the state vector $\mathbf{x} = [x, y, c \cdot b_{\text{rx}}]^T$, simultaneously estimating horizontal coordinates $(x, y)$ and receiver clock bias $b_{\text{rx}}$ in nanoseconds. Supports cross-chain and all-in-view reception given a common UTC time base (or estimating one receiver clock bias per independent chain), removing the classical requirement for a single shared master station.
  • Classical Hyperbolic TDOA: Iterative Gauss-Newton solver on range differences $(d_S - d_M)$ relative to a reference master station.

2. Atmospheric & Propagation Modeling

  • Primary Factor (PF): Configurable atmospheric refractive index $\eta$:
    • RTCM MPS: $\eta = 1.000338$ ($c = 299,792,458\text{ m/s}$)
    • USCG Loran-C User Handbook: $\eta = 1.000284$
    • China National Standard: $\eta = 1.000315$
  • Secondary Factor (SF): Continuous closed-form seawater groundwave delay model (Brunavs 1977 / 1978, $(\text{PF+SF})_{\text{meters}} = -111.0 + 98.2D + (13.0D + 113.0)e^{-D/2} + 2.277/D$), eliminating the historical ~0.236 µs (71 m) boundary step discontinuity (< 0.0001 µs jump across 100 statute miles); historical discontinuous polynomial retained under optional 'legacy' comparison flag.
  • Additional Secondary Factor (ASF): Real-time spatial polynomial and raster evaluation of overland phase delays.
  • Coastline Path Segmentation & Geo-ASF: Turf.js great-circle segmentation against Natural Earth Vector coastline polygons feeding the ITU-R P.368-10 Annex 1, §3 Millington reciprocal groundwave solver.

3. Cycle Slip Modeling (Boyce 2006)

Simulates wrong-cycle selection where degraded SNR or skywave interference shifts the tracking point away from the 3rd zero crossing, introducing integer ±10 µs (~3 km) step errors.

4. Geographically Static GDOP Coverage & Iso-Contour Inspector

  • Transmitter Geometry Anchoring: The GDOP calculation domain is strictly derived from the physical positions of the active master and secondary transmitters plus a calibrated baseline buffer ($[\min(\text{stations}) - 40%, \max(\text{stations}) + 40%]$). Completely decoupled from the camera viewport, preventing the calculation bounding box from expanding across continents or re-triggering worker jobs upon map zoom or pan.
  • Off-Thread Matrix Evaluation & Navigable Clamping: Evaluates direction cosines and the hyperbolic geometry $\mathbf{H}$-matrix across ~18,000 grid samples in physicsWorker.js. Grid points exceeding $\text{GDOP} &gt; 15.0$ are strictly masked, eliminating phantom continent-wide haze outside the valid hyperbolic fix area.
  • Anti-Clipping Cased Contours: Vector isolines are drawn with a dedicated dark under-casing (#030712) and zero blur (line-blur: 0), providing razor-sharp optical contrast over both light/dark basemaps and colorful heatmap gradients without blurring or clipping into the background.
  • Independent Component Separation:
    • 🔥 Heatmap Surface: Independent toggle for continuous Jet-gradient precision dilution raster.
    • 📈 Iso-Contours: Independent toggle for threshold vector lines.
    • Surface Opacity Slider: Continuous adjustment from 10% to 80% opacity.
  • Dedicated Operational Standard Buttons:
    • [All (4)]: Displays all 4 operational contours simultaneously.
    • [🟢 1.5 HEA]: Isolates Optimal Fix geometry ($\text{GDOP} \le 1.5$, Harbor Entrance and Approach standard).
    • [🔵 3.0 Coastal]: Isolates Good Fix geometry ($\text{GDOP} \le 3.0$, Coastal Navigation standard).
    • [🟡 7.7 Ocean]: Isolates Marginal Fix geometry ($\text{GDOP} \le 7.7$, Ocean En-Route standard).
    • [🔴 10.92 USCG Limit]: Isolates the USCG Specification Boundary ($\text{GDOP} \le 10.92$, dashed).
  • Dual Access Points & Zero-Latency WebGL Filtering: Quick-access on-map floating HUD pill (data-testid="gdop-inspector-pill") and full Console Drawer Layers Panel (data-testid="gdop-inspector-card"). Interactive filtering and visibility toggles execute in 0 ms via MapLibre WebGL paint/filter properties with zero worker re-evaluations.

5. Live Additional Secondary Factor (ASF) Heatmap Layer

  • Dual Physical Quantity Overlay: Switchable between propagation delay ($\mu\text{s}$, $0\text{–}3\ \mu\text{s}$ dynamic range mapped to Jet colormap) and groundwave field attenuation ($\text{dB}$, $0\text{–}60\text{ dB}$ loss mapped to Viridis colormap).
  • Asynchronous Worker Rendering: Utilizes gridWorker.js with transferable Float32Array memory buffers for smooth, debounced (300 ms) parameter updates without UI stutter.
  • Iso-Contour Overlays: Canvas-rendered equi-delay (0.5 µs) and equi-attenuation (10 dB) contour rings with configurable layer opacity (0–100%) and grid resolution (20×20 to 80×80).

6. Receiver Tracking Loop Simulation (PLL & DLL)

  • Standard Zero Crossing (SZC) Tracking: Closed-loop simulation tracking the 3rd positive-going zero crossing (30 µs) using the 15 µs ratio test ($e(15)/e(30) \approx 0.397$).
  • State Machine Architecture: Real-time transition between ACQUIRING (phase-lock search), LOCKED (sub-microsecond tracking jitter via Rhee et al. 2021 noise model), and CYCLE_SLIP states.
  • Envelope-to-Cycle Difference (ECD) Sparkline: 50-GRI rolling time-history chart displaying microsecond tracking error, phase jitter, and cycle slip events.

7. Station Failure & Constellation Integrity

  • Per-Transmitter Operating Modes: Real-time toggling of stations between NOMINAL, DEGRADED (inflated observation noise simulating aging transmitters), and FAILED (complete transmitter loss).
  • Dynamic GDOP Matrix Exclusion: Failed stations are dynamically dropped from the geometry $\mathbf{H}$-matrix with warning indicators when fewer than 2 secondaries remain (hyperbolic fix degenerate).
  • Hazard Coverage Overlay: Automatically renders a 250 km hatched red loss-of-coverage exclusion circle centered on failed transmitters.

8. Multi-Sensor GNSS / eLoran BLUE Fusion & Error Ellipses

Best Linear Unbiased Estimator (BLUE): Fuses independent eLoran and GNSS positioning solutions via inverse-covariance weighting:

$$ \mathbf{P}_{\text{fused}} = \left( \mathbf{P}_{\text{eLoran}}^{-1} + \mathbf{P}_{\text{GNSS}}^{-1} \right)^{-1}, \quad \hat{\mathbf{x}}_{\text{fused}} = \mathbf{P}_{\text{fused}} \left( \mathbf{P}_{\text{eLoran}}^{-1} \hat{\mathbf{x}}_{\text{eLoran}} + \mathbf{P}_{\text{GNSS}}^{-1} \hat{\mathbf{x}}_{\text{GNSS}} \right) $$

  • $2.45\sigma$ (95% Confidence) Covariance Ellipses: Renders bivariate Gaussian error ellipses on the map for eLoran (cyan), GNSS (emerald/amber/red based on spoof/jam status), and Fused (purple) solutions.
  • Aviation Horizontal Protection Level (HPL): Continuous HPL calculation with real-time RNAV RNP 0.3 (556 m) and APV approach (40 m) alert limit threshold compliance gauges.

9. Terrain Masking & Knife-Edge Obstacle Diffraction (ITU-R P.526)

  • Great-Circle Elevation Profiles: Evaluates deterministic offline regional terrain geomorphology profiles between transmitter towers and receiver antennas with zero remote API latency or network timeouts.
  • Fresnel-Kirchhoff Diffraction Engine: Evaluates clearance parameter $v$ and calculates knife-edge path loss $J(v)$ using the Nurul-Saunders piecewise approximation, estimating excess diffracted propagation delay $\tau_{\text{excess}}$.
  • Vector Map Visualization: Highlights clear paths in solid emerald green and obstructed links (>15 dB loss) in dashed high-visibility red.

10. Software-Defined Radio (SDR) Baseband & Web Worker DSP

  • 100 kHz Baseband Synthesizer: Generates synthetic, phase-coded I/Q time-domain baseband samples directly in a dedicated background Web Worker (sdrWorker.js).
  • Interactive Oscilloscope & Spectral Waterfall: 60 FPS hardware-accelerated canvas waterfall display with dual-trace Digital Storage Oscilloscope (DSO) and matched filter envelope detection.
  • Synthetic Audio Demodulation: Listen to simulated receiver audio outputs across variable SNR conditions with zero DOM-thread blocking.

11. Offline Elevation & Topographic Modeling

  • Deterministic Offline Terrain: Generates realistic coastal terrain profiles using multi-octave Perlin-Simplex synthesis, providing 100% offline capability without external digital elevation model (DEM) tile dependencies.
  • Fresnel Clearance & Path Profiling: Live visualization of the 1st Fresnel zone clearance ellipse between any transmitter and receiver pair.

12. Desktop Electron & Production Containerization

  • Cross-Platform Desktop App: Packaged with Electron 33 providing native window frame controls, offline operation, and field-ready telemetry displays.
  • Hardened Container Runtime: Multi-stage Dockerfile and Docker Compose orchestration serving an immutable, high-security Nginx web environment.

5. Development & Testing

# Install dependencies (automatically sets up secret-guard git hooks)
npm install

# Run complete zero-defect verification matrix (Secrets, UTF-8, A11y, Provenance, Lint, Tests, Build)
npm run verify:all

# Run individual verification gates
npm run check:secrets       # Mechanical secret leak scanner
npm run test:utf8           # Byte-level UTF-8 encoding verification
npm run test:a11y           # WCAG 2.1 AA accessibility & layout shift audit
npm run check:provenance    # Upstream HTTP/Crossref citation verification
npm run lint                # ESLint zero-warning policy
npm test                    # Physics benchmarks & Vitest test suite

# Start local Vite development server
npm run dev

# Run desktop Electron app in development
npm run electron:dev

# Build production bundle
npm run build

# Run via Docker Compose (production Nginx container on http://localhost:8080)
docker compose up -d

# Or build and run standalone Docker container
docker build -t simuloran .
docker run -d -p 8080:80 simuloran

6. Known Limitations

Single-Chain Constraint

Each scenario currently represents one Loran-C chain with one master and multiple secondaries. The masters[] array in the data model is a structural artifact; multi-master scenarios are not supported.

Why: In Loran-C physics, a chain is defined by:

  • One synchronized Group Repetition Interval (GRI)
  • One master transmitter (pulse group leader)
  • Multiple secondary transmitters (time-delayed responders)

Multiple masters with the same GRI would create timing conflicts. Multiple masters with different GRIs represent independent chains and should not share baselines or TDOA pairs.

Current behavior: Only masters[0] is used for baseline rendering and position solving. Additional masters in a scenario are ignored with a console warning.

Future support: Proper multi-chain visualization would require restructuring to chains: [{ master, secondaries, gri }] with per-chain grouping. This is not currently implemented.


7. License

Distributed under the MIT License. See THIRD_PARTY_NOTICES.md for third-party acknowledgments.

About

High-fidelity Loran-C & eLoran radio-navigation simulator: 100 kHz RF waveforms, hyperbolic TDOA LOPs, GDOP heatmaps, atomic clock drift, ASF modeling, and GNSS-resilient PNT fusion.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages