kshana 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -8
- package/kshana_bg.wasm +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
13
|
-
<a href="https://ashfordeou.github.io/kshana/"><img src="https://img.shields.io/badge/playground-try%20in%20browser-
|
|
13
|
+
<a href="https://ashfordeou.github.io/kshana/"><img src="https://img.shields.io/badge/playground-try%20in%20browser-c79e63" alt="Live playground — run in your browser, no install"></a>
|
|
14
14
|
<a href="tests/sgp4_verification.rs"><img src="https://img.shields.io/badge/SGP4-666%2F666%20AIAA%20vectors%20%C2%B7%204.12mm-3fb950" alt="SGP4 validated against all 666 AIAA 2006-6753 vectors, worst 4.12 mm"></a>
|
|
15
15
|
<a href="https://github.com/ashfordeOU/kshana/actions/workflows/ci.yml"><img src="https://github.com/ashfordeOU/kshana/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
16
16
|
<a href="https://github.com/ashfordeOU/kshana/releases"><img src="https://img.shields.io/github/v/release/ashfordeOU/kshana?sort=semver" alt="Release"></a>
|
|
17
17
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License: Apache-2.0"></a>
|
|
18
18
|
<a href="Cargo.toml"><img src="https://img.shields.io/badge/rust-1.75%2B-orange.svg" alt="Rust 1.75+"></a>
|
|
19
|
+
<a href="https://doi.org/10.5281/zenodo.20528627"><img src="https://zenodo.org/badge/1256508460.svg" alt="DOI"></a>
|
|
19
20
|
</p>
|
|
20
21
|
|
|
21
22
|
<p align="center">
|
|
@@ -35,7 +36,7 @@ and every sensor parameter is traceable to a published source.
|
|
|
35
36
|
*Free and open source under Apache-2.0, professionally developed and maintained by
|
|
36
37
|
Ashforde OÜ — commercial support, integration, and proprietary extensions available.*
|
|
37
38
|
|
|
38
|
-
> **Status: v0.
|
|
39
|
+
> **Status: v0.10.0 · a simulation substrate, not yet a product.** A validated,
|
|
39
40
|
> fully reproducible engine spanning the PNT stack — orbit geometry, inertial
|
|
40
41
|
> navigation, GNSS/INS fusion, integrity, clocks, and timing. Honest by design:
|
|
41
42
|
> every figure of merit is labelled *validated* or *not-modeled*, and optical-clock
|
|
@@ -103,9 +104,9 @@ capability is documented in [`docs/CAPABILITY.md`](docs/CAPABILITY.md).
|
|
|
103
104
|
| **Orbit & geometry** | SGP4/SDP4 propagation (validated to 4.12 mm against all 666 AIAA 2006-6753 vectors), real-TLE or synthetic Walker constellations, multi-constellation visibility, dilution of precision, and GNSS availability. |
|
|
104
105
|
| **Inertial** | Three-axis strapdown INS — quaternion attitude, WGS-84 NED mechanization, coning/sculling compensation, and a deterministic IMU error model (scale-factor, misalignment, g-sensitivity, quantization, drift). |
|
|
105
106
|
| **Fusion** | Loosely-coupled GNSS/INS error-state EKF (15-state) with closed-loop feedback that coasts through GNSS outages on a calibrated inertial solution. |
|
|
106
|
-
| **Integrity** | Snapshot and solution-separation (ARAIM-style) RAIM with horizontal/vertical protection levels (HPL/VPL)
|
|
107
|
+
| **Integrity** | Snapshot and solution-separation (ARAIM-style) RAIM with horizontal/vertical protection levels (HPL/VPL) — including levels solved from an explicit ARAIM integrity-risk (P_HMI) budget — fault detection and identification, and Stanford integrity diagrams. |
|
|
107
108
|
| **Clock & timing** | Two-state Kalman holdover, Allan-family stability (ADEV/MDEV/TDEV/HDEV) with confidence intervals, and optical/RF two-way time transfer. |
|
|
108
|
-
| **Interoperability** | RINEX-3
|
|
109
|
+
| **Interoperability** | RINEX-3 multi-GNSS broadcast-ephemeris ingestion (GPS, Galileo, QZSS, BeiDou MEO/IGSO via IS-GPS-200; GLONASS via PZ-90 state-vector RK4 propagation), usable as a constellation source that drives a scenario directly (RINEX in, PNT geometry out); RINEX-3/4 observation-file parser (pseudorange, carrier phase, Doppler, and signal strength by observation code); SP3-c/d precise-ephemeris reader/writer for IGS/analysis-centre orbit products, with 9th-order Lagrange interpolation that turns a precise-orbit file into a propagation source; CCSDS OEM 2.0 (Orbit Ephemeris Message) writer that exports a propagated constellation in the standard format flight-dynamics tools (GMAT, Orekit, STK) ingest. |
|
|
109
110
|
| **Resilience** | Clock-aided spoof-detectability analysis against a configurable time-spoof attack. |
|
|
110
111
|
|
|
111
112
|
Each capability is reachable as a Rust API, a runnable scenario `kind`, or both.
|
|
@@ -149,7 +150,10 @@ atmospheric drag and the deep-space lunar-solar and 12 h / 24 h resonance terms
|
|
|
149
150
|
matter for ~12 h GNSS orbits — validated against the official AIAA 2006-6753 vectors
|
|
150
151
|
to a worst-case ≈ 4 mm (`scenarios/orbit-sgp4-gps.toml`). A line-2-only block keeps
|
|
151
152
|
the analytic two-body propagation (`scenarios/orbit-real-tle.toml`); the two forms can
|
|
152
|
-
be mixed in one constellation.
|
|
153
|
+
be mixed in one constellation. A constellation can equally be built from a block of
|
|
154
|
+
**RINEX-3 GPS broadcast-ephemeris** records — the format a receiver decodes —
|
|
155
|
+
propagated by the IS-GPS-200 user algorithm and fed through the same geometry
|
|
156
|
+
(`scenarios/orbit-rinex.toml`).
|
|
153
157
|
|
|
154
158
|
## Install & build
|
|
155
159
|
|
|
@@ -174,6 +178,7 @@ cargo run -- scenarios/timetransfer.toml
|
|
|
174
178
|
cargo run -- scenarios/hybrid-pnt.toml
|
|
175
179
|
cargo run -- scenarios/orbit-gnss-challenged.toml
|
|
176
180
|
cargo run -- scenarios/orbit-sgp4-gps.toml
|
|
181
|
+
cargo run -- scenarios/orbit-rinex.toml
|
|
177
182
|
cargo run -- scenarios/integrity-raim.toml
|
|
178
183
|
```
|
|
179
184
|
|
|
@@ -563,10 +568,12 @@ entry for every user-visible change. Participation is governed by our
|
|
|
563
568
|
|
|
564
569
|
If you use Kshana in academic or technical work, please cite it. Machine-readable
|
|
565
570
|
metadata is in [`CITATION.cff`](CITATION.cff) (GitHub renders a "Cite this repository"
|
|
566
|
-
button from it); cite the version you used (e.g. `v0.
|
|
567
|
-
scenario and seed for full reproducibility.
|
|
571
|
+
button from it); cite the version you used (e.g. `v0.10.0`) together with the
|
|
572
|
+
scenario and seed for full reproducibility. Every release is archived on Zenodo with
|
|
573
|
+
a citable DOI — the concept DOI [10.5281/zenodo.20528627](https://doi.org/10.5281/zenodo.20528627)
|
|
574
|
+
always resolves to the latest version.
|
|
568
575
|
|
|
569
|
-
> Baweja, C. (2026). *Kshana — hybrid quantum/classical PNT performance simulator*. Ashforde OÜ. https://
|
|
576
|
+
> Baweja, C. (2026). *Kshana — hybrid quantum/classical PNT performance simulator*. Ashforde OÜ. https://doi.org/10.5281/zenodo.20528627
|
|
570
577
|
|
|
571
578
|
## Versioning & releases
|
|
572
579
|
|
package/kshana_bg.wasm
CHANGED
|
Binary file
|