Where Kshana sits

June 18, 2026 · View on GitHub

Kshana is a PNT performance simulator: you describe a scenario (sensors, a GNSS outage, an attack) and it tells you how well timing and position hold up, scored against operational figures of merit. It is not a GNSS processing engine — it does not ingest pseudorange/carrier observations and compute a fix. Those are different jobs, and the honest framing below is meant to save a prospective user the wrong-tool disappointment.

What Kshana is, and is not

KshanaA GNSS processing engine (RTKLIB, gLAB)
Inputa scenario: sensor error models, outage windows, geometryreal GNSS observations (RINEX), ephemerides, corrections
Outputperformance FoMs: holdover, timing/position error, availability, integrity/security boundsa position/velocity/time solution (SPP, PPP, RTK)
Question it answers"how good would this architecture be, and where does it break?""given these measurements, where am I now?"
Quantum / optical sensorsfirst-class (optical clocks, cold-atom IMU, optical time transfer)not modelled
Real-observation processingnone (geometry/DOP/availability only)the core competency
Installzero — runs in a browser tab (WebAssembly)native build / toolchain

Complementary, not competing — RTKLIB and gLAB

RTKLIB and gLAB are mature, widely used GNSS processing suites. They take real measurements and produce a positioning solution (SPP/PPP/RTK; gLAB is also a superb teaching tool with strong ESA/EGNOS heritage). Kshana does not replace them and does not try to: it has no observation model, no ambiguity resolution, no troposphere/ionosphere estimation.

The pipeline is complementary:

  • RTKLIB / gLAB answer "where am I, from these signals?"
  • Kshana answers "how long do I keep a good answer when those signals stop — and how much does a quantum clock or cold-atom IMU buy me?"

A natural workflow uses a processing engine for the GNSS-available segment and Kshana to study the holdover behaviour and the sensor trade space around it. If you need to process RINEX, use RTKLIB or gLAB; if you need to reason about resilience, autonomy, and quantum-sensor advantage, that is the gap Kshana fills.

The distinctive wedge: a zero-install browser tier

Most simulation tools in this space (RTKLIB, gLAB, GMAT, Orekit, STK) require a native install or a licence, and a non-trivial learning curve before the first result. Kshana compiles to WebAssembly and runs entirely in the browser — the playground loads a worked scenario, runs the real engine client-side (nothing is uploaded), and shows the result in seconds. Guided sliders and one-click scenarios mean the first useful result needs no TOML and no toolchain.

That zero-install tier is a deliberate position, not an accident:

  • Reach — a reviewer, student, or procurement officer can try the actual engine from a link, on any device, with no setup. Adoption friction for a first look drops to a single click.
  • Reproducibility — the same WebAssembly build that ships in the browser is the library that ships on crates.io/PyPI/npm; a result is reproducible from scenario + seed + engine version, and a run is shareable as a URL.
  • Honesty — running the engine yourself, in the open, is the strongest counter to "trust the numbers": the browser tier is the audit surface.

The browser tier does not make Kshana a replacement for a desktop processing suite — it makes the performance-trade-study question approachable to people who would never install one. That is where Kshana intends to own the space.

See also