机器翻译,未经母语人士审校。以英文版为准。

证据

每项能力都带着它的证据。

401项能力,每项都已分级。176项已验证,对照的是独立的外部参考基准(oracle)。221项如实标注为由模型计算。4项由合作方负责。没有任何向上取整。

验证矩阵v0.40.0 来自代码仓库

悬停或聚焦某个单元格,可读出其能力以及为其评定等级的参考基准(oracle)。

已验证:独立的外部参考基准(oracle)一致由模型计算得出Partner-owned

引擎v0.40.0 · web/data/verification-matrix.json,由src/verification.rs生成 · 401行 · 无场景或随机种子:引擎自身的台账阅读台账

  • 免费核心台账、结果、可复现性标记以及支撑它们的测试,全都在开源引擎之中。
  • Pro把证据整理成供评审委员会使用的、可供审计且可复现的证据包。见下文
  • 定制研究以同样的标签回答你自己的问题,而不是认证。见下文
01已验证的结果 · 每一个比较过的值

对照别人的答案检查过。

每个图块绘出引擎与独立参照比较过的每一个值:已公布的向量、一个独立的飞行动力学库、精密星历、一个统计库、一份标准出版物,以及一份不参与拟合而被保留的实测时钟记录。悬停或聚焦某个标记可读出其值。

轨道 · 解析已独立核对
666/666

SGP4(简化常规摄动4)轨道外推

复现了每一个AIAA(美国航空航天学会)参考向量,包括深空SDP4(简化深空摄动4)算例。最差情形为4.12 mm。

每个比较过的向量一个方块,按其位置误差着色。

参考基准(oracle)· AIAA 2006-6753验证向量如何核对的

引擎v0.40.0,构建3395218 · tests/sgp4_verification.rs · 确定性,无随机种子在Kshana Studio中打开:同一个外推器,orbit-sgp4-gps.toml · 随机种子17

完好性 · 统计已独立核对
171个算例

RAIM检测门限

RAIM(接收机自主完好性监测)的统计核心,与SciPy逐个算例对照。

每个SciPy算例一个方块,按核心分组。

参考基准(oracle)· SciPy如何核对的

引擎v0.40.0,构建3395218 · tests/raim_reference.rs · 确定性,无随机种子在Kshana Studio中打开:运行中的核心,integrity-raim.toml · 随机种子7

轨道 · 数值已独立核对
0.08m

数值(Cowell)外推

在24小时弧段的每个历元上,按力模型等级逐级对照Orekit 12.2飞行动力学库。

各力模型等级下位置差异随时间的变化。

参考基准(oracle)· Orekit 12.2如何核对的

引擎v0.40.0,构建3395218 · tests/numerical_cowell_propagator_reference.rs · 确定性,无随机种子没有Kshana Studio视图:此项比较作为引擎测试运行。

轨道 · 毫米到米已独立核对
0.61m Galileo/0.10m Swarm-A

同一尺度上的每个轨道残差

从外推器核对到对ESA(欧洲航天局)精密星历的拟合。判据之上的月球轨道器也一并显示。

每个残差都置于从一毫米到二十米的对数刻度上。

参考基准(oracle)· ESA精密星历、月球轨道器的重构轨迹、Orekit 12.2、AIAA向量如何核对的

引擎v0.40.0 · docs/AGENCY-ORBIT-VALIDATION.md的残差表,其中两项外推器核对在构建3395218时重新计算 · 确定性,无随机种子没有Kshana Studio视图:精密定轨作为引擎测试运行。

时钟 · 稳定度已独立核对
12共12个已公布的值

阿伦偏差

在其自带的1000点数据集上,复现了NIST(美国国家标准与技术研究院)特别出版物(SP)1065表31的参考值。

四种偏差随平均时间的变化,已公布的值以圆环表示。

参考基准(oracle)· NIST SP 1065如何核对的

引擎v0.40.0,构建3395218 · tests/allan_nist_sp1065_1000point.rs · 确定性,无随机种子在Kshana Studio中打开:作用于时钟的估计器,clock-holdover.toml · 随机种子42

时钟 · 守时(holdover)已独立核对
0.84至1.03

在一台真实铯钟上的守时(holdover)预测

在一份实测铯钟记录的前三分之一上拟合,在其余三分之二上预测:在预先设定的1.5倍系数之内。

实测与预测的钟差(时间误差)随滑行时间的变化,以及比值窗口。

参考基准(oracle)· 实测铯钟记录如何核对的

引擎v0.40.0,构建3395218 · tests/slot_timing_cs5071a_holdout.rs · 确定性,无随机种子在Kshana Studio中打开:同一个反演,slot-timing-ocxo-leo.toml · 确定性

02验证矩阵

每项能力一个单元格。

已验证是指有独立的外部来源一致:已公布的参考向量、独立的工具或实测数据。其余一律标注为由模型计算。选择一个标签,即可点亮其单元格。

已分级的能力

176项已验证,共401项
悬停于某个单元格

数量均为精确值,取自引擎的验证矩阵。单元格按台账(ledger)的行序排列。

三个词,严格使用
已独立核对
仅当有独立的外部参考基准(oracle)时才成立:已发表的参考向量、独立的另一套实现,或未用于拟合而留出的实测数据。台账(ledger)写明参考基准(oracle)和测试,矩阵的不变量测试强制执行这一规则。
由模型计算得出
已发表的模型或有文档记录的建模选择,经内部测试,尚无独立的外部参考基准(oracle)。如实说明,不向上取整。
Partner-owned
航天器平台工程、导航有效载荷与天线硬件、量子有效载荷硬件,以及飞行硬件的产品保证。Kshana不对其中任何一项作出声明;由合作方负责。

使用Pro:任务档案依据真实运行核对每一项需求,并在其验证矩阵中保留这些标签:以MODELLED或PARTNER为依据达到的需求会被标记。查看真实的档案

03验证台账(ledger)

全部401行,每行一条。

每一行写明其需求、状态和实现它的模块。展开一行可查看其参考基准(oracle)和测试,或选择一个领域缩小范围。

按领域:条形长度为行数,颜色为状态。选择一项即可筛选。

已独立核对由模型计算得出Partner-owned
已独立核对基于滞后1自相关的幂律噪声识别allan (lag1_noise_id, lag1_acf)
能力
allan::lag1_noise_id:Riley与Greenhall(2004)的滞后1自相关噪声识别器(对抽取后的相位去除其二次项,或对分组平均后的频率去除其直线项;反复取一阶差分,直到delta = r1/(1+r1) < 0.25或d = dmax),可在任意平均因子下返回幂律指数alpha的整数值和未取整值(+2为白噪声相位调制,-2为随机游走频率调制);它设定了实测时钟库中各器件卡片的噪声类型自由度
参考基准
allantools 2024.6的autocorr_noise_id(A. Wallin及贡献者,LGPL-3.0-or-later,由测试夹具生成器作为独立程序运行):对已发表的Riley-Greenhall算法的独立实现,在所述约定下是唯一确定的量。核对的是识别器本身,而不是任何真实时钟的噪声内容
测试
tests/clock_library_lag1_noise_id_allantools.rs(140个用例:十条Kasdin幂律记录,b = 0至 -4,作为相位和频率数据,af = 1至64;alpha_int与d完全一致,最坏 |d alpha| 为9.6e-13,|d rho| 为4.8e-13…
已独立核对Galileo OSNMA接收机侧导航电文认证osnma (page, subframe, dsm, merkle, signature, tesla, mac, maclt, navdata, verifier, ubx, cli)
能力
osnma + kshana osnma verify:一个开放的、纯Rust实现的Galileo OSNMA接收机侧校验器(SIS ICD 1.1版,接收机指南1.3版),输入为I/NAV页面或u-blox UBX-RXM-SFRBX数据流:默克尔树公钥(DSM-PKR)、DSM-KROOT的ECDSA P-256/P-521签名、TESLA密钥链校验(SHA-256或SHA3-256)、针对ADKD 0、4和12的MACSEQ与标签校验(HMAC-SHA-256或CMAC-AES)及交叉认证、密钥链终止/撤销/更新、公钥更新与撤销,以及告警消息;逐卫星的状态为Authenticated/Failed/Unavailable,每一次失败或延迟都附有原因。仅供参考:不是经型式认可的导航设备,也不是导航完好性服务;不声称具有任何抗欺骗干扰性能
参考基准
欧洲GNSS服务中心作为接收机指南附件发布的官方Galileo OSNMA测试向量(Test_vectors.zip,sha256 ef9b9afc6ef9e1c57393415cf2a1dc80c4035e7c06123907ea0bb97dd3ccf370):18组中的18组,186,382个标签通过认证,0个失败,于2026-10-10离线运行(证据记录见kshana-pro的docs/evidence)。适用范围:这些向量验证的是密码学校验(默克尔树、KROOT/ECDSA、TESLA密钥链、MACK标签、ADKD 0/4/12)及其在已发布场景上的结果;它们只使用HMAC-SHA-256、SHA-256密钥链、128位密钥、40位标签以及查找表条目33和34,因此CMAC-AES、SHA3-256密钥链和其他参数仅由已发布的基本算法已知答案测试和合成测试覆盖。可信时间、数据绑定、过期和报头确认方面的加固由合成攻击测试检验,而不是由外部参考基准检验。未检查:证书撤销列表、实时信号或实时接收机(UBX字布局仅在合成帧上检查)、SHA3-256默克尔树、没有独立时间时的新鲜性。不是欧盟的服务
测试
tests/osnma_official_vectors.rs(可选启用,KSHANA_OSNMA_VECTORS:全部18组向量集,认证186,382个标签,0个失败,逐集下限,已公布的链,ADKD 0/4/12,告警已验证,认证在……之后恢复…
已独立核对频率稳定度表征allan
能力
阿伦/修正/阿达马偏差 + 带 χ² 置信区间的幂律噪声识别
参考基准
在NBS14上与NIST SP 1065(Riley)/ Stable32的参考偏差对照
测试
tests/allan_reference.rs (NBS14 vs Stable32 to 1e-4); allan::tests
已独立核对真实实测时钟上的频率稳定度allan
能力
真实铯钟标准上的重叠阿伦偏差 + 重叠阿达马偏差
参考基准
与Stable32对照:实测5071A铯钟相位序列上的重叠ADEV/HDEV(allantools)
测试
tests/cs5071a_reference.rs(真实5071A铯钟对H-maser,556,990个点,16个平均因子对Stable32,吻合到1e-3;由数据把关,经scripts/fetch_cs5071a.sh获取)
已独立核对在标准Stable32参考序列上的阿伦估计器一致性allan
能力
覆盖完整AF阶梯的重叠阿伦 + 修正阿伦 + 时间偏差
参考基准
PHASE.DAT的Stable32参考偏差(Riley;标准回归序列)
测试
tests/phasedat_reference.rs (Stable32 PHASE.DAT, 139 averaging factors, OADEV/MDEV/TDEV to 1e-3; data-gated via scripts/fetch_phasedat.sh)
已独立核对扩展范围的频率稳定度(Theo1 / TOTDEV)allan
能力
Theo1与总偏差(TOTVAR)——扩展范围的长 τ 稳定度估计器,可达记录长度的约75%,而阿伦偏差在约50% 附近即告失效;建立在它们之上、已去除偏差的ThêoH混合估计器(allan::theoh_curve)仍为MODELLED
参考基准
allantools 2024.06——独立的第三方频率稳定度库——的theo1(NIST SP 1065式30)和totdev(NIST SP 1065式25),所用数据为封闭的NIST SP 1065 §12.4 LCG数据集;可离线通过tests/fixtures/theo1_totvar/generate_theo1_totvar_reference.py重新生成
测试
tests/theo1_totvar_reference.rs(Theo1与TOTDEV,使用NIST SP 1065 §12.4的1000点LCG数据集,6 + 6个平均因子,对allantools 2024.06,吻合到<1e-9);allan::tests(白噪声调频闭式解跟踪;TOTVAR=ADEV…
已独立核对最大时间间隔误差(MTIE)——电信漂移指标allan (mtie, mtie_curve)
能力
MTIE(τ):在任意长度为 τ = m·tau0的滑动窗口内,时间误差的最大峰峰值摆幅;这是ITU-T G.810/G.823/G.8261的漂移统计量,同步网络限值(MTIE模板)即以此编写——它是极值(最大/最小)量,不同于RMS类的阿伦族
参考基准
allantools 2024.06——独立的第三方频率稳定度库——在封闭的NIST SP 1065 §12.4 LCG相位序列上的mtie();MTIE是纯粹的最大/最小统计量,因此在以相同方式构造的相位数组上,估计器输出与allantools逐位一致(已提交的15位有效数字参考常数相差在1 ULP以内)。可离线通过tests/fixtures/mtie/generate_mtie_reference.py重新生成
测试
tests/mtie_reference.rs(MTIE,使用封闭的NIST SP 1065 §12.4 1000点LCG相位序列,9个平均因子m=1..256,对allantools 2024.06 mtie,吻合到<1e-9,实测 ≤4e-15);allan::tests(手工推导的峰峰值…
已独立核对修正阿伦 / 时间偏差(MDEV / TDEV)allan (modified_adev, time_deviation)
能力
MDEV(τ):重叠修正阿伦偏差(二阶差分滑动窗口估计器,可区分白相位噪声与闪烁相位噪声),以及TDEV(τ) = τ/√3·MDEV(τ),即ITU-T G.811/G.812/G.823的时域漂移统计量,同步模板即以此编写
参考基准
allantools 2024.06——独立的第三方频率稳定度库——在封闭的NIST SP 1065 §12.4 LCG相位序列(与Theo1/TOTDEV/MTIE各行所用序列相同)上的mdev() 和tdev(),计算的是同样唯一确定的估计器;相对偏差匹配至<1e-9。可离线通过tests/fixtures/mdev_tdev/generate_mdev_tdev_reference.py重新生成。(受数据门控的phasedat_reference.rs也会将它们与Stable32对照至1e-3;而这里是严格的、始终开启的封闭交叉核对)
测试
tests/mdev_tdev_reference.rs(MDEV与TDEV,使用封闭的NIST SP 1065 §12.4 1000点LCG相位序列,8个平均因子m=1..200,对allantools 2024.06 mdev/tdev,相对吻合到<1e-9,另加 τ/√3恒等式于…
已独立核对真实实测曲线上的光钟频率稳定度quantum_trade (qparams_from_adev_curve), powerlaw
能力
从已发表的 ⁸⁸Sr光钟跃迁实测阿伦偏差出发,做幂律(白噪声调频 + 红噪声下限)NNLS恢复——复现 σ_y(τ) 以及标志性的4.7e-16/√τ 短 τ 标度,并带有真实实测的长 τ 下限,而不是holdover.rs通常所假设的合成光学级下限
参考基准
Norcia、Young、Eckner、Oelker、Ye、Kaufman,Science 366:93(2019),图4实测ADEV;曲线原样取自Zenodo 10.5281/zenodo.3382347(CC-BY-4.0)。范围限于复现已发表的实测稳定度曲线——时钟级别的守时至阈值器件数字仍为MODELLED
测试
tests/optical_clock_adev_reference.rs(Norcia等人的 ⁸⁸Sr光镊钟 σ_y(τ),8个平均时间0.92–117.76 s,按CC-BY-4.0原样收录:NNLS重建曲线的均方根约10%,最差点 ≤21%;恢复…
已独立核对完好性(RAIM/ARAIM/SBAS)araim_reference (add_v42_protection_levels, add_v42_protection_levels_ecef); raim (snapshot_raim, snapshot_raim_fde, araim_raim, araim_dual_raim, solution_separation_raim); sbas (sbas_protection_level); lunar
能力
依据ARAIM机载设计文档(ADD)v4.2的ARAIM多假设解分离(araim_reference::add_v42_protection_levels和add_v42_protection_levels_ecef:按P_THRES与FC_THRES规则确定子集、VPL、HPL、有效监测阈值EMT以及sigma_acc);带单星排除的卡方快照RAIM故障检测(raim::snapshot_raim、raim::snapshot_raim_fde),以及在大地测量当地水平面上基于斜率的HPL/VPL;以及L1服务上的SBAS DO-229E保护级组合(sbas::sbas_protection_level)。明确说明,未涵盖:均匀sigma便捷函数raim::araim_raim和raim::araim_dual_raim不满足ADD要求(在匹配的输入上,它们相对Stanford MAAST的偏差分别为VPL 0.75 m / HPL 4.04 m和VPL 0.39 m / HPL 1.93 m,这是一项发现);双频多星座(DFMC)L5 SBAS比较是一项发现(308个视野内无GEO的用户历元对由Kshana给出保护而MAAST未给出,Kshana未对MAAST的GEO接收门限建模);raim::solution_separation_raim没有外部比较
参考基准
三个独立工具,均在任何测试夹具或参考基准输出出现之前预先登记(0123cee1),容差在当时固定。(1)ARAIM:Stanford MAAST for ARAIM 2(提交ab70e2a3,BSD-3)mhss_raim_baseline_v5.m,在GNU Octave 8.4下作为独立程序运行,驱动端带有unique() 兼容性垫片(已披露,不改变算法),采用ADD的TOL_PL 0.05 m:该Rust实现在270个真实算例上复现了ADD参考实现。已披露:Kshana的ADD路径是在预先登记之后、按照MAAST实现ADD的方式编写的;审阅者另做了独立保留集检验(270个新的用户几何以及第二条完好性支持电文,针对冻结代码重新运行MAAST),在同一判据下通过。(2)快照RAIM:RTKLIB v2.4.2-p13(BSD-2)的estpos/valsol/raim_fde,在单独的C测试程序中用于检测与剔除;斜率PL取自RTKLIB matinv/xyz2enu加SciPy 1.18.1 chi2/ncx2,两侧计算的是同一个闭式表达式(Brown;Parkinson与Axelrad),因此PL检查覆盖的是实现,而不是公式。(3)SBAS:Stanford MAAST(提交7d32b049)的usr_vhpl,未经修改,用于MAAST自己记录的WAAS广播:L1保护级在K重新缩放之后相差在1e-4 m以内,且受保护集相等。同样的比较得出了能力描述中所述的各项发现:统一sigma的ARAIM函数不符合ADD,并且L5集合相等性在308个视野内没有GEO的历元对上不成立(两个工具都提供保护的3267个历元对上,其保护级吻合至1e-13 m)。DO-229E/DO-316的K因子是抄录的常数,真实几何是输入;两者都不算作参考基准。0.30版修订:snapshot_raim的保护级由径向改为大地测量局部水平面(在16度N处,HPL最多变化0.31 m,VPL最多变化0.14 m)
测试
tests/integrity_araim_stanford_oracle.rs::araim_mhss_matches_stanford_maast_add_v4_2(270个真实几何用例,Celestrak GPS+Galileo与IGS SP3:最坏 |dVPL| 2.2e-3 m,|dHPL| 1.1e-3 m,|dEMT| 2.1e-10 m,对照ADD…
已独立核对轨道外推与定轨sgp4, propagator, orbit_determination, precise_od
能力
SGP4/SDP4、Cowell 6-DOF + 摄动、批处理/序贯定轨
参考基准
AIAA 2006-6753 SGP4验证向量
测试
tests/sgp4_verification.rs (666 AIAA verification vectors, worst 4.12 mm); tests/sgp4_crate_comparison.rs (independent sgp4 crate)
已独立核对数值Cowell外推器与力模型propagator, forces
能力
带分层力模型的Cowell数值外推器(二体、J2–J6带谐项、太阳/月球三体、炮弹形太阳辐射压、指数大气阻力);RK4步长加倍 / DP5(4) / DOP853
参考基准
Orekit 12.2(CS GROUP,Apache-2.0)的NumericalPropagator/DormandPrince853——一个独立的库,积分器不同,球谐递推也不同。保守力各层(二体 → J2–J6带谐项 → 太阳/月球三体 → 炮弹形太阳辐射压)在24 h弧段上吻合至亚米级,验证了积分器 + 力代数;大气阻力层以及太阳/月球绝对星历和密度输入的保真度仍为MODELLED(仅作表征)
测试
tests/numerical_cowell_propagator_reference.rs(275个历元 = 11个用例 × 25个逐小时状态,LEO+GTO,对Orekit 12.2 DormandPrince853;保守层T1–T5在24 h内最坏 |Δr| 0.08 m;阻力层刻画为333 m)
已独立核对扁球形地球的太阳辐射压地影(可选)srp_shadow, forces (srp_accel_with_lit_fraction), propagator
能力
以WGS-84椭球作为遮挡天体的太阳辐射压受照比例(采用从椭球边缘朝向太阳的视地球半径,双圆盘透镜公式;srp_shadow::oblate_conical_shadow),可通过propagator::ForceModel::srp_shadow在Cowell力模型上选用(默认:球形锥形地影,保持不变)
参考基准
Orekit 12.2(Apache-2.0)的SolarRadiationPressure.getLightingRatio,遮挡天体分别采用WGS-84和球形OneAxisEllipsoid,作为独立程序运行,太阳固定在相同的惯性位置。判据已在xval/srp-oblate-shadow-orekit/PREREGISTRATION.md(6d6d269c)中预先登记:两者均为1e-6,以及扁球对球的差异 > 1e-2;全部达到。两侧的椭球轴均为惯性z轴(不含岁差章动)
测试
tests/srp_oblate_shadow_orekit_oracle.rs(跨越阴影边缘的2400个几何,其中884个在半影内,LEO至GEO,太阳赤纬0与 +-23.44度,8个方位角:WGS-84最坏 |dnu| 为7.41e-9,球形为2.24e-9…
已独立核对盒翼模型与ECOM2太阳辐射压,带偏导数(可选)srp_boxwing, propagator, precise_od
能力
非炮弹形太阳辐射压:盒翼平板模型(Vallado式8-44;单面星体面板,太阳指向翼板),采用GSC卫星元数据中的Galileo FOC、IOV和IOV寿命末期表,按标称GNSS偏航姿态控制,并带有辐射因子以及每块面板镜面与漫反射系数的解析偏导数;以及ECOM2经验模型(D2/B1)及其偏导数。盒翼模型可在Cowell外推器(propagator::ForceModel::box_wing_srp,设置其srp_boxwing字段)和精密定轨模型(precise_od::PreciseForceModel::box_wing_srp)上选用,以cr作为辐射因子取代炮弹形项;两者默认均为None,使所有既有路径保持逐字节一致。ECOM2未接入任何力模型
参考基准
Orekit 12.2(Apache-2.0)的BoxAndSolarArraySpacecraft,带FixedPanel和PointingPanel,SolarRadiationPressure(dRef = 1 au, pRef = 1361/c),GenericGNSS标称偏航以及ECOM2(nD = 2, nB = 1),作为独立程序运行,太阳位于固定的惯性位置;辐射因子的导数来自Hipparchus Gradient,每块面板的导数取为Orekit的中心差分(Orekit没有此项)。判据在任何Orekit输出出现之前已于xval/srp-boxwing-orekit/PREREGISTRATION.md(e59df6bf)中预先登记:相对1e-12(端到端1e-11,差分1e-9);全部达到(RESULTS.md)。VALIDATED仅涵盖模型求值:GSC表是抄录的输入,盒翼模型对真实Galileo轨道是否够用、热再辐射、修正的低beta偏航律以及食季转弯均不在涵盖范围内;Galileo太阳辐射压预测仍为MODELLED
测试
tests/srp_boxwing_orekit_oracle.rs(252个Galileo轨道几何,7个太阳工况,含近日点与远日点距离,100个随机姿态;平板求和在1056个用例上最坏相对2.05e-15;端到端与…
由模型计算得出太阳临边昏暗的太阳辐射压地影(可选)srp_shadow
能力
以未被遮挡的临边昏暗太阳通量比例作为太阳辐射压受照比例(Eddington近似律I(mu)/I(1) = 2/5 + 3/5 mu,Gauss-Legendre求积),作用于球形或WGS-84地球(srp_shadow::limb_darkened_shadow,ShadowModel变体OblateEarthLimbDarkened)
参考基准
没有外部基准:Orekit 12.2没有临边昏暗的受照比例。仅对照同一定律的闭式解做了核对
测试
srp_shadow::tests(环形闭式解、复现锥形阴影的均匀定律、全日照与本影极限)
已独立核对NRLMSISE-00热层密度nrlmsise00
能力
对NRLMSISE-00经验热层模型的移植(gtd7和gtd7d:各组分密度、含反常氧的总质量密度、温度;24个开关;日Ap和3小时ap数组模式),源自NRL Fortran的公有领域C版本
参考基准
pymsis 0.13.0(MIT)version=0,它以单精度运行NRL Fortran GTD7D;以及编译为独立程序的NRLMSISE-00 C移植版(发布20190709,公有领域),外加该C发行版的17个已发布测试输出。判据在该移植版出现之前已于xval/nrlmsise00-pymsis/PREREGISTRATION.md(e90ae26a)中预先登记;全部达到(RESULTS.md)。验证的是该移植版,而不是模型对照实测密度的精度
测试
tests/nrlmsise00_reference.rs(720个网格点,90至1000 km,4个纬度,2个地方时,3天,低/中/高活动:密度与pymsis相对相差在1.866e-6以内,温度相差在1.97e-4 K以内;逐位相同…
已独立核对NRLMSISE-00阻力密度层(可选)forces (density_at, drag_accel_with_density), propagator
能力
forces::DensityModel(默认Exponential,Nrlmsise00 { f107a, f107, ap })和propagator::ForceModel::drag_density:对随地球共转的大气取二次阻力,采用WGS-84大地点处的NRLMSISE-00密度(UT1 = TT的地球自转角,地方太阳时UT + lon/15),每个模型使用恒定的空间天气;默认关闭且逐位一致
参考基准
Orekit 12.2(Apache-2.0)的NumericalPropagator/DormandPrince853,使用Orekit自己的NRLMSISE00实现计算DragForce,作为独立程序运行,采用相同的地球自转角坐标系、WGS-84形状、地方太阳时约定(平太阳)以及作为UT的TT;约定设置已在参考基准之间互相核对(Orekit对pymsis,密度相差5.2e-5)。判据已在xval/drag-tier-orekit/PREREGISTRATION.md(21647478)中预先登记:阻力位移的0.5 m + 1e-3,以及两项 > 100 m的灵敏度检查;全部达到。未涵盖:模型对照实测密度的精度、随时间变化的空间天气、GMAT一支
测试
tests/drag_tier_orekit_oracle.rs(4个用例x 24 h内25个逐小时状态,圆轨道51.6度,400 km在低/中/高活动下以及300 km:最坏 |dr| 0.0303 m与 |dv| 3.36e-5 m/s,对照3.3至141.8 km的阻力…
已独立核对默认指数大气阻力对照独立实现(赤道)forces (atmospheric_density, drag_accel), propagator
能力
Cowell外推器的默认阻力:对随地球共转的大气取二次阻力,使用forces::atmospheric_density,即Vallado表8-4在球面高度处的分段指数表(propagator::ForceModel::drag,采用forces::DensityModel的默认Exponential变体)
参考基准
GMAT R2022a(NASA GSFC,Apache-2.0)的GmatConsole,采用Exponential大气(同一张28段表)、点质量地球和PrinceDormand78,仅运行,从不纳入仓库。判据已在xval/drag-exponential-gmat/PREREGISTRATION.md(640c85c1)中就两侧各自的阻力位移(有阻力运行减去无阻力运行)预先登记,这样可抵消两个地球mu值和积分器的差异;全部达到(RESULTS.md)。GMAT取大地高度,而kshana取球面高度:二者仅在赤道上重合,因此VALIDATED仅涵盖赤道轨道;离开赤道,两个模型按设计有所不同(在51.6度、400 km处,为24 h位移的10.4 %)。GMAT的公开构建没有NRLMSISE-00(缺少插件),因此NRLMSISE-00层只有Orekit这一参考基准。该表对照实测密度的精度不在涵盖范围内
测试
tests/drag_exponential_gmat_oracle.rs(J2000.0的赤道用例E400、E300与E250x600,24 h内25个逐小时状态:阻力引起的位移与GMAT的相符,至多为判据0.5 m + 1e-3|D|… 的0.016
由模型计算得出Cowell力模型中的DE440太阳与月球(可选)propagator (ForceModel::with_ephemeris, ForceEphemeris), ephem_provider
能力
面向数值Cowell ForceModel的三体和太阳辐射压项的可选星历层:来自任意EphemerisProvider(通过KernelEphemeris使用DE440 SPK核文件)的地心太阳与月球,取TDB = TT + (TDB - TT),拒绝无法为该历元提供服务的提供者,并统计任何回退到解析级数的次数;默认关闭
参考基准
Orekit 12.2(Apache-2.0)的NumericalPropagator/DormandPrince853,带ThirdBodyAttraction和SolarRadiationPressure,使用Orekit自己的DE440读取器(orekit-data lnxp1990.440),作为独立程序运行;kshana读取的是NAIF de440s.bsp经逐位一致且经SPICE核对的截取件。判据已在xval/propagator-de440-orekit/PREREGISTRATION.md(22a5a01d)中预先登记。轨道判据(0.5 m)和灵敏度对照已达到,但太阳/月球位置判据(3 m / 0.2 m)未达到,实测为6.39 m / 0.244 m。SPICE在其精确的TDB上读取同一核文件,与Orekit的差距相同(6.25 m / 0.240 m),因此差距出在NAIF的de440s路径与Orekit的DE440读取器或时间尺度之间;原因尚未查明。已记录并固定,故该行仍为MODELLED
测试
tests/propagator_de440_orekit_oracle.rs(5个用例x 24 h内25个逐小时状态,LEO、GEO与HEO,第三体及第三体 + SRP:最坏 |dr| 0.0170 m,|dv| 1.84e-5 m/s;解析级数对照组偏差9.96 m;太阳…
由模型计算得出S1大气潮汐(可选)tides, propagator, precise_od
能力
作为位势摄动的日周期S1气压潮:Biancale与Bode(2006)的模型N1,2至6阶,通过IERS 2010式6.21的负荷公式(tides::atmospheric_tide_s1、s1_air_tide_acceleration),可在Cowell和精密力模型上选用(air_tide_s1,默认关闭)
参考基准
对位势效应没有外部基准。24个系数抄录自GFZ STR06/01表1模型N1,并已逐行对照该报告重新核对(SHA-256 890865ae);不使用0、1、7和8阶。Ray与Ponte(2003)没有印出球谐表,因此没有比较第二个来源
测试
tides::tests(S1项为周日,在四分之一天内转90度,且具有每一行的载荷因子振幅;LEO处的物理量级);propagator::tests::the_s1_air_tide_flag_adds_exactly_the_s1_acceleration
已独立核对IERS约定下的S2大气潮汐系数tides (s2_air_waves, atmospheric_tide)
能力
Ray(2001)的S2气压谐波(n <= 4,顺行和逆行)被转换为IERS 2010式6.20-6.21的完全归一化、正弦超前形式(振幅除以N_nm,epsilon = 90度 - psi),并作为S2项用于tides::atmospheric_tide
参考基准
Biancale与Bode,GFZ科学技术报告STR06/01(2006),表5,模型A2:Ray(2001)以完全归一化谐波和正弦超前相位发表,是同一模型的独立呈现。已与其所验证的修正一并在xval/s2-air-tide-fix/PREREGISTRATION.md(5e31c37a)中预先登记。仅涵盖系数转换;气压潮的位势效应没有外部参考基准
测试
tests/s2_air_tide_gfz_table5.rs(21个波中的21个与已发表的模型A2相符:最坏0.00050 cm、0.050度,判据为0.0006 cm、0.1度);tests/tides_iers.rs(S2振幅带)
已独立核对Cowell外推器中的田谐位势propagator (Geopotential, EarthFixedFrame), gravity_sh
能力
可选启用的EGM2008田谐场(至阶数/次数70),作为数值Cowell ForceModel的中心引力,在由IAU 2000地球自转角(或CIO GCRS到ITRS链路)旋转得到的地固系中求值;默认关闭,因此现有输出均不变
参考基准
Orekit 12.2(CS GROUP,Apache-2.0)NumericalPropagator/DormandPrince853,配HolmesFeatherstoneAttractionModel,使用相同系数(tools/egm2008_to70.gfc),在按同一地球自转角公式旋转的本体系中,作为单独程序运行。判据已预先登记(f0e0e65,在任何比较之前于2da899a修订):|dr| <= 0.5 m且 |dv| <= 5e-4 m/s,且两个负对照的偏差均 > 100 m;全部达到,随后判据收紧至0.1 m和1e-4 m/s。未经独立核对:地球定向保真度(两侧在Era系中均采用UT1 = TT且无岁差章动)、Cio系选项(仅内部检查)、高于70的阶数
测试
tests/cowell_tesseral_orekit_oracle.rs(6个用例x 24 h内25个逐小时状态:EGM2008 8x8与70x70,覆盖LEO 45度、极轨89.9度、太阳同步98.2度、GTO,以及带太阳/月球和SRP的70x70;最坏 |dr| 0.0355 m…
由模型计算得出高阶球谐重力(EGM2008至2190)gravity_sh, propagator (FieldEvaluator)
能力
对至2190阶的全归一化场做防下溢、防极点奇异的求值(SphericalHarmonicField::acceleration_hf / potential_hf,Holmes-Featherstone 2002改进前向列递推,梯度不含1/cos phi),流式ICGEM .gfc加载器(from_gfc_file / from_gfc_reader;完整的EGM2008在运行时获取,不随附),以及可在可选启用的Cowell Geopotential上选用的Holmes-Featherstone求值器
参考基准
Orekit 12.2(Apache-2.0)HolmesFeatherstoneAttractionModel和pyshtools 4.14.1(BSD-3-Clause)MakeGravGridPoint,作为单独程序运行;判据已预先登记于xval/high-degree-gravity/PREREGISTRATION.md(276c869f)和xval/cowell-tesseral-200-orekit/PREREGISTRATION.md(0aa312a6)。Orekit在其有定义之处全部一致,但pyshtools在两个近极点处未达到其预先登记的判据(最大7.3e-10 m/s^2;50位mpmath核对表明误差在pyshtools一侧),极轴正上方没有参考基准(oracle)的值,且24 h轨道的预先登记70阶敏感度对照未达标(0.726 m,而要求 > 1 m)。每一次未达标都已记录,而非调参掩盖,因此该行仍为MODELLED
测试
tests/gravity_sh_high_degree.rs(Orekit在8个离轴点:N = 70时最大 |da| 2.2e-17 m/s^2,始终运行;N = 200、360、2190时分别为3.5e-17、3.9e-17与7.3e-17 m/s^2,由KSHANA_EGM2008_GFC数据把关)…
已独立核对DOP853积分器integrator, propagator
能力
Hairer DOP853 8(5,3) 显式Runge-Kutta,配5阶/3阶组合误差估计器、SciPy/Hairer步长控制器、自动初始步长、失效即关闭的步长保护以及7阶稠密输出;可作为传播器Integrator变体Dop853 / propagator::propagate_dop853选用
参考基准
SciPy 1.18.1(BSD-3-Clause)solve_ivp(method=DOP853) 及其单步、误差范数、稠密输出和初始步长例程,属独立实现;精确二体状态来自mpmath 1.3.0,取40位。判据已预先登记于xval/dop853-scipy/PREREGISTRATION.md(ae1b25e),早于首次比较;全部达到(xval/dop853-scipy/RESULTS.md)。完整运行中,SciPy的第一步长同时给予两个求解器;初始步长例程单独比较。未涵盖:RKF7(8)、刚性检测、事件定位
测试
tests/dop853_scipy_oracle.rs(8个单步:状态相对相差在5.55e-15以内,FSAL导数3.46e-15,稠密输出1.99e-14,接受/拒绝决策完全相同;3次完整运行,rtol = atol = 1e-12(LEO 58000 s,e = 0.7…
已独立核对稳健的开普勒方程求解器kepler, propagator
能力
适用于所有0 <= e < 1及所有平近点角的椭圆开普勒求解器:Markley(1995)三次起始值与五阶修正,无抵消的残差 (1-e)E + e(E - sin E) - M,以及带保护的Newton精修(kepler::solve_kepler_markley、propagator::solve_kepler_robust)
参考基准
mpmath 1.3.0(BSD-3-Clause)由精确二进制输入得到的50位根。判据已预先登记于xval/kepler-mpmath/PREREGISTRATION.md(df22174),相对 |E| 表述,并附e -> 1、M -> 0的条件数论证;全部达到(xval/kepler-mpmath/RESULTS.md)。旧有求解器(solve_kepler_checked、orbit::solve_kepler、ephem::solve_kepler)在数值上保持不变,因为已提交的输出依赖它们,且不在该行的覆盖范围内
测试
tests/kepler_mpmath_oracle.rs(405个网格点,e从0到0.999999,M在 [-pi, pi] 内,低至1e-12:最坏 |E - E_ref| 为0.898 eps|E|,判据为8 eps|E|;9个缠绕M点最坏为其判据的0.013;无Newton…
由模型计算得出带测站遮蔽的测距速率与方位/俯仰批处理定轨orbit_determination (determine_orbit_batch_tracking, propagate_with_stm, is_visible), batch_ls (gauss_newton_analytic)
能力
对高于仰角遮蔽的测距、测距速率和方位/俯仰混合跟踪数据,用Gauss-Newton法在H = (dh/dx(t)) Phi(t, t0) 上恢复历元状态:解析的测量偏导数,以及带解析二体 + J2偏导数的变分状态转移矩阵(RK4积分,而非闭式STM)
参考基准
Orekit 12.2(Apache-2.0)BatchLSEstimator,配自定义的瞬时几何RangeRate和AzEl测量(与Orekit的TopocentricFrame交叉核对),作为单独程序在相同的遮蔽、带随机种子的观测上运行。判据已预先登记于xval/od-measurements-orekit/PREREGISTRATION.md(0cf9076)。除B4(无噪声状态一致性1 cm)外,每项判据均达到,该项在4个场景中有2个未达到(1.46、1.74 cm):Orekit自身的无噪声估计与其模拟真值就相差这么多(Orekit一侧的原因未查明)。已记录并固定,因此该行仍为MODELLED。未建模:光行时、光行差、折射、地球自转、针对这些测量类型的序贯滤波器
测试
tests/od_tracking_measurements_reference.rs(8个场景:距离变化率、方位/俯仰与混合,LEO与MEO,无噪声及带种子的sigma 5 m / 5 mm/s / 1e-4 rad,5与10度截止角,对照Orekit 12.2:可见集完全相同…
由模型计算得出SP3精度码观测加权sp3, precise_od
能力
将SP3精度码(头部 ++ 指数,以2^n mm计,%f基数,逐记录的 基数^n mm标准差)映射为精密定轨引擎中每条观测的位置sigma(sp3::parse_sp3_accuracy、Sp3Accuracy::position_sigma_m)
参考基准
无外部参考:权重是一种建模选择(SP3格式仅把该码定义为生产方的精度指示,此处将其读作每轴一倍标准差)。现有已记录的机构运行结果不变
测试
src/sp3.rs unit tests; tests/agency_galileo.rs::galileo_e11_sp3_accuracy_weighted_fit (committed 8 h ESOC fixture, sigma 0.032 m from header exponent 5: Tier-1 3D RMS 0.132 m unchanged, Tier-2 0.035 m against 0.070 m…
已独立核对来自PDS SHADR表的行星重力场gravity_pds, gravity_sh
能力
读取PDS SHADR球谐表(src/gravity_pds.rs中SphericalHarmonicField上的from_shadr:单位换算、提供C00 = 1、完整性与归一化检查),并计算火星GMM-3(阶数/次数120)和GRAIL月球重力场GL0660B(阶数/次数660)的本体固连重力
参考基准
pyshtools 4.14.1(BSD-3-Clause)读取同样的PDS文件并计算点重力,作为单独程序运行,另有已发布的PDS产品头部和标签。判据已预先登记于xval/planetary-gravity-pyshtools/PREREGISTRATION.md(32c5b50);全部达到(RESULTS.md)。数据:NASA PDS Geosciences Node,公有领域;附带NOTICE的20阶截取随附,完整文件在测试时获取
测试
tests/planetary_gravity_pds.rs(20阶截取始终运行:最坏 |dg|/|g| 为9.7e-16,相对摄动为3.4e-11;GMM-3 d/o 120覆盖整个球面3.7e-15 / 6.3e-12,GL0660B d/o 660在 |lat| <= 60度处5.0e-14 /…
由模型计算得出为天体附加已发布的重力场gravity_pds, body, propagator, mars_frame
能力
with_gravity_field(位于Body上,在src/gravity_pds.rs中):把任意已加载的球谐场(例如GMM-3或GL0660B)附加到Body,使传播器在本体固连系中对其求值;需选择启用,默认天体不变
参考基准
仅为内部一致性。每个已发布的场都定义在其生产方的本体固连系中(GMM-3在Konopliv等人2006的火星坐标系,GL0660B在DE421月球主轴系),而该场却在IAU坐标系中求值;这一偏差未建模
测试
tests/planetary_gravity_pds.rs::a_shadr_field_attached_to_a_body_drives_the_propagator; gravity_pds::tests::with_gravity_field_is_opt_in
已独立核对批处理与序贯定轨orbit_determination, precise_od (batch_ls::gauss_newton, fusion::ukf)
能力
在二体 + J2力模型上,通过Gauss–Newton批处理微分改正器和序贯滤波器,由地面站测距恢复历元状态 [r,v]
参考基准
Orekit 12.2(CS GROUP,Apache-2.0)BatchLSEstimator(Levenberg–Marquardt)+ KalmanEstimator(EKF)——在匹配的力模型上使用的独立第三方估计库;恢复的历元状态与拟合后残差RMS的一致性:无噪声时<1e-3 m,5 m噪声底时<3 m
测试
tests/batch_sequential_orbit_determination_reference.rs (8 scenarios: 6 noiseless LEO/MEO/eccentric/3–4-station + 2 σ=5 m, vs Orekit 12.2; worst batch |Δr| 1e-3 m / |Δv| 1e-6 m/s, sequential |Δr| 0.9 m)
已独立核对深空射电测量光行时求解器radiometric (light_time_solution)
能力
用于深空射电测量导航(地球→火星/太阳/月球)的推迟(下行段)单向光行时解 τ = |r_rx − r_target(t−τ)|/c
参考基准
ANISE 0.10(Nyx Space,MPL-2.0)在JPL DE440上的收敛牛顿式光行差光行时(Aberration::CN;与SPICE spkapo等价)——一个独立的Rust SPICE实现;kshana的不动点推迟求解器与之吻合至亚纳秒。更广泛的多普勒 / Shapiro / 简化动力学定轨数据仍为MODELLED
测试
tests/deep_space_mars_radiometric_reference.rs(8个历元2020–2027上的24段,对照ANISE DE440;最坏 |Δτ| 1.03e-9 s,|Δrange| 0.31 m,最远2.5 AU)
已独立核对广播星历卫星位置(多GNSS RINEX)rinex (parse_nav, RinexEphemeris::sv_position_ecef)
能力
由解析出的RINEX-3导航记录,按IS-GPS-200 / Galileo-OS / BeiDou-OS广播星历把开普勒根数换算为ECEF卫星位置
参考基准
由C源码编译的RTKLIB v2.4.2-p13 eph2pos()(T. Takasu,BSD-2-Clause)——独立的IS-GPS-200/SIS-ICD实现,输入相同的RINEX-3导航记录;卫星ECEF位置吻合至约62 nm。(SP3精密星历内插另行经独立核对——见“SP3精密星历内插”)
测试
tests/rinex_sp3_interop_reference.rs (84 SV-epoch cases: GPS + Galileo + BeiDou-MEO, 12 SVs × 7 offsets, vs RTKLIB eph2pos; worst per-axis |Δ| 6.2e-8 m)
已独立核对SP3精密星历内插sp3 (Sp3Interpolator::position_ecef)
能力
对SP3精密星历卫星位置做IGS标准的Lagrange内插,并对每个节点做地球自转改正(在多项式拟合之前,按 ω⊕·(t_node−t) 把各节点旋转到查询时刻的地固系中)
参考基准
由C源码编译的RTKLIB peph2pos()(preceph.c;T. Takasu,BSD-2-Clause)——事实上的IGS参考,独立实现;kshana的内插器(现已带同样的地球自转节点改正)在真实SP3产品上吻合至约15 nm,改正前约为5.5 cm
测试
tests/sp3_interp_reference.rs (72 off-node SV-epoch cases / 6 satellites vs RTKLIB peph2pos; worst per-axis |Δ| 1.5e-8 m)
由模型计算得出GPS LNAV之外的导航电文编码器(GPS CNAV、Galileo I/NAV和F/NAV)gnss_navmsg (gps_cnav, gal_inav, gal_fnav, fec)
能力
GPS CNAV电文类型10/11/30、名义偶/奇页中的Galileo I/NAV字类型1-5,以及Galileo F/NAV页类型1-4:ICD字段打包与量化、CRC-24Q、码率1/2 K=7卷积编码(Galileo的G2取反)、块交织与同步码型,并配有匹配的测试解码器
参考基准
内部往返与ICD已知答案;尚未运行任何第三方解码器(读取KSHANA_NAVMSG_ORACLE_JSON的RTKLIB/GNSS-SDR测试装置受数据门控)。MODELLED
测试
gnss_navmsg::tests(CRC-24Q校验值0xCDE703;卷积冲激响应;Viterbi纠正注入的错误;布局宽度);tests/gnss_navmsg_roundtrip.rs(字段起始位等于ICD比特编号;编码 ->…
已独立核对真实CODE GIM上的IONEX全球电离层图读取与内插ionex (parse_ionex, parse_ionex_file, IonexFile::vtec_at, IonexFile::slant_tec_at, interpolate_tec_in_time, TecGrid::vtec_at)
能力
IONEX 1.0读取器(头部、固定列I5值、TEC与RMS图、绝对历元、缺失值),带双线性空间内插、该格式的最近/连续/旋转图时间内插(公式1-3)以及薄层斜向TEC
参考基准
CODE GIM的印刷值(每个节点处精确;该图在测试时获取,不纳入代码库,因其许可状态未确认),以及随夹具提交的IONEX 1.0内插公式的独立Python标准库重新实现(判据已预先登记e4d8b1f,1e-9 TECU)。第三方核对(B6,已预先登记,首次运行):RTKLIB v2.4.2-p13 iontec(BSD-2-Clause,作为单独工具运行)在6885个查询点上与IonexFile::vtec_at在两种内插模式下均吻合至3.6e-13 TECU,判据为1e-5 TECU。数据门控:CODE GIM在测试时获取,SHA固定;RTKLIB读取完整文件,因为其getindex拒绝纬度裁剪。tests/fixtures/ionex_code_gim/fetch.sh获取该文件并核对SHA-256,测试遇到任何其他字节均失败,run_rtklib.sh是记录在案的复现路径(需要网络访问)。经所有者基于数据门控证据的决定升级为VALIDATED(2026-10-13)
测试
tests/ionex_code_gim_oracle.rs(已提交的合成IONEX图对照公式参考:20,075个节点精确,插值最大 |Δ| 3.5e-13 TECU;由KSHANA_IONEX_CODE_GIM_DIR数据把关,真实的CODE最终GIM…
由模型计算得出真实RINEX观测上的Hatch载波平滑码hatch (HatchFilter), pvt (assemble_epoch_precise_smoothed, CarrierSmoother)
能力
精密单点定位组件中的无发散Hatch滤波器(以无电离层载波平滑无电离层码,窗口N个历元,在失锁、几何无关跳变或间断时重启)
参考基准
对照已发布的ITRF2020 WTZR坐标的发现:预先登记的判据(平滑后的中位数和p95至多为原始值的0.6倍;tests/fixtures/gnss_wettzell_2025055/PREREGISTRATION_HATCH.md)未达到,比值为0.718和0.923;残余的米级误差呈偏差型(C1C码偏差、天线、潮汐、长周期多路径),而不是平滑所能去除的白噪声。MODELLED:滤波器的统计量为内部检查
测试
hatch::tests (noise-free pass-through; white-noise variance 1/(2N-1); restarts); tests/hatch_wettzell_oracle.rs::hatch_finding_is_pinned (WTZR 2025-02-24 01-06 h, 600 epochs, N = 100: median 3-D error 1.553 -> 1.116 m…
已独立核对真实RINEX观测上的RTK双差与LAMBDA整数固定rtk_real (run_rtk), lambda (resolve)
能力
由真实双频GPS码与载波相位得到的短基线相对定位:相对最高卫星的双差及其完整协方差,覆盖基线与单差模糊度的浮点Kalman滤波器(含周跳重新初始化),带比率检验的LAMBDA整数最小二乘,以及以固定整数为条件的基线
参考基准
WTZR与WTZZ已发布的ITRF2020坐标(IGN ITRF2020_GNSS.SSC,解3,含RINEX天线高)给出参考基线;判据已预先登记于tests/fixtures/gnss_wettzell_2025055/PREREGISTRATION_RTK.md,早于代码编写。仅限短基线:未对电离层或对流层双差建模
测试
tests/rtk_real_wettzell_oracle.rs(IGS站WTZR基准站 / WTZZ流动站,1.4 m,2025-02-24 00-03 h,30 s:359个历元,自00:10起100 % 固定,固定基线误差中位数4.5 mm,p95 5.5 mm;前10 min固定2.6 mm…
已独立核对对照IGS最终测站钟的PPP接收机钟时间解ppp_real (run_ppp, PppEpoch::clock_m)
能力
静态浮点PPP滤波器在真实双频GPS码与相位上、采用IGS最终轨道和钟差所估计的接收机钟:从接收机到IGS时间的时间传递,即PPP无电离层时间解。
参考基准
测站WTZR的IGS最终组合钟(IGS0OPSFIN_20250550000_01D_05M_CLK的AR记录,SHA-256 d19f3d45...993d,由多个分析中心的网解组合而成;IGS产品,注明出处可自由使用);判据已预先登记于xval/ppp-time/PREREGISTRATION.md,早于任何比较;首次运行即全部成立。不包括的内容:一个测站和一个两小时的已收敛窗口;是IGS时间,而非UTC(k);常数偏差包含接收机码偏差,且仅有界,未经校准;无Circular T溯源。
测试
tests/ppp_time_igs_station_clock.rs (WTZR 2025-02-24, 04:00-05:55, 24 epochs: Kshana minus IGS std 0.075 ns, bar 0.20; mean -0.659 ns, bar 5.0)
已独立核对真实RINEX观测上的浮点精密单点定位ppp_real (run_ppp, parse_antex_receiver, solid_tide_ecef, phase_windup)
能力
在真实双频GPS码与载波相位上、采用IGS最终轨道和钟差的静态浮点PPP扩展Kalman滤波器:无电离层组合、卫星与接收机天线偏移(含接收机变化)、固体潮、相位缠绕、Shapiro延迟、估计的天顶湿延迟、逐弧段浮点模糊度,以及基于几何无关 / Melbourne-Wübbena的周跳检测
参考基准
WTZR已发布的ITRF2020坐标(IGN ITRF2020_GNSS.SSC,解3,按其速度外推)——判据已预先登记于tests/fixtures/gnss_wettzell_2025055/PREREGISTRATION_PPP.md,早于滤波器编写;开发仅在同址测站WTZZ上进行。未建模:海洋负荷、卫星PCV、整周模糊度解算
测试
tests/ppp_real_wettzell_oracle.rs(IGS站WTZR,2025-02-24 00-06 h,30 s,未用于开发:末历元水平1.5 mm,向上 −2.9 cm;04-06 h 240/240个历元3D在0.10 m以内,p95 6.7 cm;仅码p95…
已独立核对RINEX 4导航文件读取rinex (parse_nav, parse_nav_with)
能力
RINEX 4.00-4.02导航文件:GPS LNAV、Galileo I/NAV和F/NAV、BeiDou D1/D2以及QZSS LNAV的> EPH记录被解码为广播星历类型;CNAV、CNV1-3、FDMA、SBAS、STO、EOP和ION记录跳到下一个记录头;头部指明另一颗卫星的记录,或被截断的记录,均予拒绝
参考基准
IGS同一天的RINEX 3合并广播文件(已发布数据,由不同的文件生成器根据相同的广播电文写成);判据已预先登记于tests/fixtures/brdc_rinex4_2026200/PREREGISTRATION.md(7aa264b),早于首次运行
测试
tests/rinex4_nav_brd400_oracle.rs(IGS BRD400DLR_S RINEX 4.02对2026-07-19的BRDM00DLR_S RINEX 3.04,00-02 h切片:G 37 / E 478 / C 72条记录双向匹配,每个字段相同,Toe处位置0 m;整日…
由模型计算得出RINEX 4观测文件读取rinex_obs (parse_obs)
能力
RINEX 4.0x观测文件头(DOI、LICENSE OF USE、STATION INFORMATION、MERGED FILE;对版本4及以后,标签在第61-80列匹配)和历元记录
参考基准
在一份真实已发布的RINEX 4.00文件(读回的值等于文件印刷的字面值)和一份由规范推导的头部上做格式一致性检查;未运行任何独立读取器,因此为MODELLED
测试
tests/rinex4_obs_mao0.rs(IGS MGEX RINEX 4.00文件MAO000USA_R_20231980000_01D_30S_MO的前4个历元,58颗卫星,7个系统:头记录和首历元的值等于已发表的字面值)…
由模型计算得出BeiDou GEO广播卫星位置rinex (RinexEphemeris::sv_position_ecef_bds_geo, NavParseOptions)
能力
BDS-SIS-ICD-B1I v3.0 §5.2.4.12由广播星历得到的地球静止卫星位置(类惯性系,再经Rz(Ω̇e·tk)·Rx(−5°)),通过NavParseOptions的include_beidou_geo字段选择启用,因此默认读取器仍跳过GEO
参考基准
已预先登记(7aa264b、110fef9),对照含GEO的IGS MGEX精密轨道;构建它的会话无法获得此类产品,因此比较尚待进行,该行为MODELLED(仅对照已发布的名义GEO轨位检查)
测试
tests/bds_geo_broadcast_oracle.rs(真实C01-C04记录:地球静止轨道半径,经度140.02/80.04/110.55/159.99度,位于已发布的轨位,|纬度| 带倾角为2.13度,不带为6.65度;预先登记的…
已独立核对SP3精密钟差内插sp3 (Sp3File::clock_s, clock_nodes), precise_products (ClockRinex::from_sp3)
能力
在SP3钟差表节点之间,对括住查询时刻的两个有效节点做线性内插得到卫星钟差(RTKLIB pephclk方案;跳过坏钟标记值),并把同样的节点作为相当于RINEX钟差的记录送入精密产品链路
参考基准
IGS最终30 s卫星钟组合(IGS0OPSFIN 30S CLK,2025-02-24):查询时刻的已发布钟差估计,而非由SP3内插;判据已预先登记于tests/fixtures/sp3_clock_igs_oracle/PREREGISTRATION.md,早于首次运行(RMS 0.15 ns,p95 0.30 ns,节点中位数1e-12 s,区分度2x)
测试
tests/sp3_clock_igs_oracle.rs(2025-02-24的IGS最终15 min SP3对IGS最终30 s钟差,32颗GPS卫星:节点中位数 |Δ| 2.6e-13 s;3038条中点记录RMS 0.121 ns,p95 0.265 ns;改为保持节点…
由模型计算得出带浮点模糊度的载波相位紧耦合GNSS/INSfusion::carrier_tc (run_carrier_tc, CarrierTcCfg), fusion::trajectory (truth_epochs)
能力
基于15个INS状态、一个双状态接收机钟以及每颗被跟踪卫星一个浮点载波模糊度的误差状态EKF;伪距、载波相位和可选的距离变化率来自SGP4 Walker星座(含光行时与Sagnac效应),Klobuchar与Saastamoinen/Niell改正在滤波器自身位置处于环内施加;基于时间差分载波的周跳检测,每颗卫星的阈值随速度不确定度放宽;周跳和重新捕获时重新初始化模糊度
参考基准
内部一致性:测量值由滤波器所用的模型合成(跨随机种子的 χ² NEES/NIS、无噪声收敛、周跳注入)。MODELLED;未与真实接收机数据或第三方滤波器比较
测试
tests/fusion_carrier_tc.rs(8字形行驶:在相同测量上稳态3D RMS载波0.025 m,对码0.470 m;12个随机种子,平均NIS/dof 1.00,稳态NEES/dof 0.92;一次1周周跳在其历元被检测到,且无…
由模型计算得出带紧耦合选项的GNSS/INS海事、铁路和航空场景包fusion::pack (TightCfg, [tight]), scenarios gnss-ins-maritime / gnss-ins-rail / gnss-ins-aviation
能力
轨迹库上的三个gnss-ins场景(一艘以8 m/s蛇行的船舶,含五分钟中断;一列穿过双卫星路堑和隧道的列车;一架中断期覆盖25度倾斜转弯的飞机),以及该场景包可选的 [tight] 表:由闭环导航器融合SGP4 Walker星座的伪距,名义情况下使用遮蔽角以上的每颗卫星,降级情况下使用最高的几颗
参考基准
内部:每个场景包对照其自身真值的性能指标,以及在相同输入上的松/紧耦合比较。MODELLED;审计中的NaveGo比较尚未运行
测试
tests/gnss_ins_packs.rs(每个包:在中断期间两种传感器的融合均优于自由惯导;轨道:中断期间导航级紧耦合5.3 m对松耦合12.9 m,战术级15.6 m对18.8 m,可用性0.97对0.95…
由模型计算得出融合包中带偏差状态的耦合伪距PNT滤波器及3-D扩展fusion::coupled (CoupledPntFilter, CoupledPntBiasFilter, CoupledPnt3d), fusion (run_coupled_suite), hybrid (CoupledCfg)
能力
一个覆盖位置、速度、钟相位和频率的堆叠Kalman滤波器,输入同时耦合位置与钟差的伪距(带互协方差的Joseph形式更新);一个增广了常值加速度计偏差状态的1-DOF变体,融合包在 [coupled] 下运行它;以及带视线行的3-D 8状态版本
参考基准
内部一致性:真值由各滤波器自身的模型模拟(跨蒙特卡罗随机种子的 χ² NEES,同一传感器上的解耦场景包)。MODELLED
测试
tests/fusion_coupled_filters.rs(60个随机种子上的3D滤波器:后半段平均NEES为8.12,8个状态,末历元 χ² 之和落在其95 % 区间内;一次0.1 ns的钟修正把3D位置sigma从5.58 m降到3.07 m;偏差…
已独立核对KF-GINS数据集上带杆臂的松耦合GNSS/INS EKFfusion::kfgins (run, loaders, score), fusion::closed_loop (propagate_increments, fuse_position_lever_arm), fusion::gnss_ins_ekf (update_position_lever_arm)
能力
闭环15状态误差状态EKF,由IMU增量驱动,GNSS天线位置通过杆臂模型H = [I 0 −[(C_b^n l_b)×] 0 0] 融合,由KF-GINS YAML文件配置(初始状态与sigma、ARW/VRW、Gauss-Markov偏差)
参考基准
该数据集已发布的参考轨迹和KF-GINS C++ 程序(GPL-3.0,提交8291a93e,作为单独工具运行);判据已预先登记于xval/kfgins/PREREGISTRATION.md,且在该登记之前KF-GINS未在此数据上运行(已在其Results中核对)。六项判据首次运行即全部成立。受数据门控:KF-GINS演示数据集(真实的Leador-A15 IMU和RTK GNSS,带参考轨迹)没有许可证,因此不纳入代码库;xval/kfgins/fetch.sh在测试时获取,每个文件的SHA-256均已固定,不一致则测试失败;复现路径(需要网络访问)见xval/kfgins/PREREGISTRATION.md。经所有者基于数据门控证据的决定升级为VALIDATED(2026-10-13)
测试
tests/fusion_kfgins_dataset_oracle.rs(合成加载器与旋转平台杆臂测试始终运行;由KSHANA_KFGINS_DIR数据把关,于2026-10-13在KF-GINS演示数据集上运行:水平 / 垂直RMS 0.0109 /…
已独立核对由某仿真器的运动文件读取器读取的测试bench导出(gps-sdr-sim)interop::testbench (write_motion_csv, write_nmea, export)
能力
把bench导出的运动文件交给某开源GNSS仿真器自带的读取器,读回的就是所导出的轨迹:NMEA GGA文件(-g)、运动CSV的时间/纬度/经度/高度截取(-x)及其时间/x/y/z截取(-u),覆盖6个gnss-ins场景(含海事、铁路和航空场景包,读取至该仿真器的3000个采样上限)和2个静止场景。仅涉及运动;不写入也不生成任何信号。
参考基准
外部核对的范围,狭义表述:gps-sdr-sim(MIT,提交28ca29a6)的readNmeaGGA、readUserMotion和readUserMotionLLH及其自带的WGS 84 llh2xyz,通过xval/testbench-gpssdrsim/driver.c调用(不调用任何信号函数),与运动CSV的地固系列逐行比较,判据已预先登记于xval/testbench-gpssdrsim/PREREGISTRATION.md,早于任何运行:全部8个场景中的每个采样均被读取;NMEA最差1.21 mm(判据1 cm);LLH截取最差0.145 mm(判据1 mm);四列地固系截取精确一致(判据1 um,修订1);gnss-ins行在仿真器的10 Hz网格上偏差至2.3e-13 s。发现(运行1,已固定):去掉头部的全宽CSV无法被 -u读取,因为读取器100字符的行缓冲区把每个161字符的行拆成两个采样;docs/TEST-BENCH.md给出了四列截取。不包括的内容:场景真值轨迹的物理;gps-sdr-sim的信号输出;任何其他仿真器的读取器;任何接收机。
测试
tests/testbench_gpssdrsim_oracle.rs(6项测试:参考基准与场景,导出字节固定,NMEA与LLH读取器,四列ECEF截取,对全宽CSV的第1次运行FINDING,10 Hz行网格)
由模型计算得出GNSS/INS轨迹库与CSV真值导入fusion::trajectory (TrajectoryCfg, Trajectory, kinematic_imu, parse_truth_csv), fusion::pack ([trajectory])
能力
供gnss-ins场景包选用的运动剖面(直线、8字、城市走走停停、飞机爬升与协调转弯、测绘无人机),由欧拉角速率和沿轨加速度指令定义,并以运动学IMU(向心、重力和科里奥利项)在真值状态上闭合,导入的CSV真值则被转换为能复现它的IMU;未给定剖面时,原有的驾驶轨迹保持不变
参考基准
内部:刚体运动学恒等式、CSV往返以及滤波器自身的协方差。MODELLED(未与任何真实驾驶日志比较)
测试
fusion::trajectory::tests(协调转弯无侧向力,载荷因子为1/cos φ;CSV导入以1e-3 m/s和1 m复现已飞行的剖面);tests/gnss_ins_trajectory_library.rs(每个剖面都运行且融合…
已独立核对捷联INS机械编排inertial::mechanization, inertial::attitude, inertial::imu_errors
能力
四元数姿态、WGS-84 NED捷联惯性机械编排(含圆锥/划船补偿),由 (Δθ, Δv) 增量传播导航状态
参考基准
在Octave下运行的NaveGo v1.4(R. Gonzalez等,LGPL-3)——一个独立发布的INS工具箱,由相同的 (Δθ,Δv) 增量流驱动。姿态逐位一致(NED / 标量在前四元数 / 地球自转率 / 传输率的约定相同);速度/位置的吻合受限于两处已记录的差异——NaveGo包含而kshana有意省略的垂线偏差北向重力项(铅垂重力;与Groves闭式解吻合到每一位数字,并带有合理性下限断言)以及O(dt²) 的积分器差异——并非机械编排误差
测试
tests/classical_strapdown_ins_reference.rs(静态/转弯/锥运动剖面,各30个历元,对照NaveGo:姿态逐位相同0 rad;速度/位置在已命名的解析界限之内)
已独立核对重力场泛函合成(重力辅助 / 无GNSS导航图)gravity_sh
能力
来自任意ICGEM .gfc模型的球谐重力大小 + 扰动(mGal);GRS80正常重力
参考基准
GRS80(Moritz 1980,IAG)Somigliana正常重力 + 已发布的 γ_e/γ_p;真实的ICGEM EGM2008场
测试
tests/icgem_gravity_reference.rs(GRS80综合复现Somigliana至3.5e-12;真实的ICGEM EGM2008扰动图在物理上合理)
由模型计算得出地月CR3BP 9:2 NRHO对照CAPSTONE实际飞行的轨道cr3bp (differential_correct_halo, PeriodicOrbit)
能力
cr3bp::differential_correct_halo所修正的圆形限制性9:2 L2南向近直线晕轨道(Gateway与CAPSTONE轨道族),就其平均几何(周期、近月点半径、远月点半径)与CAPSTONE实际飞行的轨道比较。这是对CR3BP成员描述真实轨道的程度的一次测量;CR3BP轨道不是星历模型轨道,也不逐历元比较
参考基准
对照JPL Horizons重建的CAPSTONE星历(NAIF -1176,CAPSTONE_merged,月心ICRF,2023-03-01..31,10 min间隔),逐字节提交(tests/fixtures/capstone_horizons/,NOTICE.md),在获取之前已预先登记4e868170,作为对平均几何设有判据的测量。不是经独立核对:CR3BP省略了太阳、月球偏心率以及CAPSTONE实施的轨位保持,因此这些判据描述的是模型轨道的代表程度,而不是精度。结果:docs/design/evidence/cap29d-capstone-nrho/RESULTS.md
测试
tests/capstone_nrho_horizons.rs::cr3bp_nrho_matches_capstone_mean_geometry(CAPSTONE 2023年3月,4次近月点和5次远月点:周期6.5004 d对6.5699 d(1.07 %,判据3 %),远月点71,182对71,215 km(0.05 %,判据5 %)…
已独立核对把CR3BP旋转系状态映射到DE440地月连线上的月心ICRFcr3bp (to_moon_centred_icrf, from_moon_centred_icrf, to_moon_centred_icrf_de440)
能力
cr3bp::to_moon_centred_icrf把无量纲的地月CR3BP旋转系状态映射为瞬时地月连线上的月心ICRF位置和速度(长度单位为地月距离,时间单位为轨道角速率的倒数,坐标系的完整角速度包含由月球加速度引起的面外分量),其逆映射为from_moon_centred_icrf,而cr3bp::to_moon_centred_icrf_de440从DE440 SPK读取地心月球状态。它映射的是状态;并不使CR3BP轨道成为星历模型轨道
参考基准
NAIF SPICE Toolkit(CSPICE N0067,经spiceypy 8.3.0)对双矢量动态坐标系的sxform(主轴 +X沿月球相对地球的位置,次轴 +Y沿其速度,de440s),作用于由SPICE自身月球状态构造的有量纲旋转系状态,由不调用任何Kshana代码的单独程序完成(tests/fixtures/cr3bp_to_mci_spice/,NOTICE.md)。预先登记2313eb1b,并在任何运行之前于d5ef79b3中修订,纳入坐标系的面外角速度(缺少它,速度最多会偏差8e-2 m/s)。仅为该变换的库级核对。结果:docs/design/evidence/rm34-cr3bp-to-mci/RESULTS.md
测试
tests/cr3bp_to_mci_spice_oracle.rs::cr3bp_to_mci_matches_a_spice_two_vector_frame(72个用例:2025年1月的12个历元x L1与L2点,JPL Three-Body… 的两个L2南向halo轨道和一个DRO初始状态
已独立核对基于JPL星历核的太阳系类场景(planetary_kernel_path)solar_system (SolarSystemScenario::planetary_kernel_path, KernelOut); ephem_provider (KernelEphemeris)
能力
带planetary_kernel_path的solar-system类场景:SPK中包含其自身NAIF编号的每个被报告天体,通过引擎自己的读取器从星历核取得日心J2000位置和速度(标签KERNEL),两端都在星历核中的链路在其上计算,质心绝不替代行星,其余天体仍保持解析解并带各自的标签;仅当设置了该选项时,报告才增加一个星历核块(路径、SHA-256、取自它的天体和链路)。使用de440s.bsp时,即水星、金星、地球和月球
参考基准
NAIF SPICE Toolkit(CSPICE N0067,经spiceypy 8.3.0)在完整de440s.bsp上的spkezr日心状态,由不调用任何Kshana代码的单独程序完成(tests/fixtures/solar_system_kernel/,NOTICE.md);引擎读取逐位一致的de440s截取。预先登记f8e946ea。仅为接线的库级核对:DE440本身和解析天体在此并未经独立核对。结果:docs/design/evidence/cap31-solar-system-kernel/RESULTS.md
测试
tests/solar_system_kernel_oracle.rs::kernel_backed_solar_system_matches_spice(水星、金星、地球和月球,在2026-01-01、2030-06-15与2040-12-31:最坏3.3e-5 m与1.0e-11 m/s,对照1 mm与1e-6 m/s…
已独立核对DE440星历上的porkchopmaneuver (porkchop_kernel, PorkchopGrid); ephem_provider (KernelEphemeris)
能力
maneuver::porkchop_kernel:用单圈顺行Lambert求解器和0.5度共线保护,对出发C3(km²/s²)和到达V无穷(km/s)做发射日期 × 到达日期扫描,基于由本crate自己的读取器从JPL DE440 SPK读取的任意两个NAIF天体的日心J2000状态。一圈、顺行,无运载火箭或到达约束:这是一次扫描,不是任务设计
参考基准
NAIF SPICE Toolkit(CSPICE N0067,经spiceypy 8.3.0)在de440s.bsp上的日心状态,以及pykep 3.0.1 lambert_problem(ESA,C++ kep3核心,MPL-2.0)这一独立Lambert求解器,由不调用任何Kshana代码的单独程序运行(tests/fixtures/porkchop_de440/,NOTICE.md);引擎读取逐位一致的de440s截取。预先登记2d857fb1。仅为该扫描的库级核对。结果:docs/design/evidence/cap20b-porkchop-de440/RESULTS.md
测试
tests/porkchop_de440_oracle.rs::de440_porkchop_matches_spice_and_pykep(地球到火星质心,16个出发日2026-09-01..2027-01-29 x 19个到达日2027-06-01..2028-02-26:304个单元两侧均为有限值,最坏C3…
已独立核对DE440星历上的脉冲转移优化器maneuver (optimise_transfer_kernel, TransferObjective, TransferType, TransferOptimum); ephem_provider (KernelEphemeris)
能力
maneuver::optimise_transfer_kernel:单圈弹道双脉冲转移的出发日期和到达日期,在Type I或Type II内使出发C3或到达V无穷最小,作为连续最优解(对两个窗口做2天网格,再做2-D Nelder-Mead),基于DE440 SPK的日心状态。这是针对单一航段的日期优化器,不是任务设计:没有运载火箭、停泊轨道、深空机动或多圈选项
参考基准
一个独立的优化器:NAIF SPICE Toolkit(CSPICE N0067,经spiceypy 8.3.0)在同一de440s截取上的日心状态、pykep 3.0.1 lambert_problem(ESA,MPL-2.0)以及SciPy 1.18.1 Nelder-Mead,不调用任何Kshana代码。NASA地球到火星手册(MIDAS,未说明星历,2天日期网格)是次要的已发布参考,不决定其状态
测试
tests/transfer_optimiser_oracle.rs::transfer_optimiser_matches_spice_pykep_scipy(地球到火星质心,出发日2026-09-15..2027-01-15 x到达日2027-05-01..2028-03-01,I/II型x最小C3 / 最小V-infinity…
已独立核对多圈Lambert转移求解器maneuver (lambert_multirev, LambertSolution, LambertBranch)
能力
Lambert问题至多三个完整圈数的每一个解(maneuver::lambert_multirev:单圈解,然后是每个圈数的左右分支,Izzo 2015),含边界速度v1和v2,适用于顺行与逆行转移,采用无量纲和日心SI单位,包括处于某圈数最小飞行时间1 % 以内的转移以及接近180度的几何。仅为二体求解器(无摄动)
参考基准
pykep 3.0.1 lambert_problem(ESA,C++ kep3核心,MPL-2.0),独立库,由scripts/gen_lambert_multirev_ref.py作为单独程序运行;只提交其数值输出。在任何比较之前已预先登记a75de851(算例集、判据、结论规则);参考值经独立重新生成,逐字节一致。结果:docs/design/evidence/lambert-multirev/RESULTS.md
测试
tests/lambert_multirev_oracle.rs::multirev_lambert_matches_pykep_on_the_preregistered_cases(382个用例:300个随机3-D,18个接近180度,24个接近M = 1..3的最短时间,40个日心;1058个解;数量和…
已独立核对Lambert二体转移求解器maneuver (lambert)
能力
Izzo-2015单圈Lambert求解器(r1、r2、飞行时间 → 边界速度),覆盖LEO→GEO→日心转移,顺行与逆行
参考基准
lamberthub 1.0.0 izzo2015(J. Martínez Garrido,MIT)——独立的第三方Lambert求解器。单圈(M=0)Lambert问题有唯一解,因此库与库之间的一致是真正的外部核对;吻合至<1e-4 m/s(实测约1e-11),与DOP对照gnss_lib_py所得的核对性质相同
测试
tests/lambert_reference.rs (13 transfers vs lamberthub izzo2015; worst |Δv| 7e-12 m/s)
已独立核对参考系与时标frames, precession, nutation, cio, timescales
能力
IAU 2006/2000A岁差章动、CIO GCRS↔ITRS、含闰秒的时标
参考基准
IAU SOFA / ERFA参考向量;Vallado AIAA 2006-6753(0.1–4 mm)
测试
tests/frame_reference_vectors.rs (Vallado end-to-end; SOFA/ERFA vectors)
已独立核对地球轨道时间路径上的两部分儒略日与闰秒jd2 (Jd2::from_utc_calendar, utc_to_tai, tai_to_utc, utc_to_ut1, tai_to_tt, earth_rotation_angle); sgp4 (Sgp4::new_at, Sgp4::propagate_at)
能力
把UTC日历日期和时间转换为两部分UTC儒略日,对以闰秒结束的日子采用SOFA dtf2d约定(长86,401 s,23:59:60.x有效),UTC与TAI互转,以及经由TAI从UTC得到UT1,适用于1972-01-01起的两部分日期:SGP4(Sgp4::propagate_at,自两部分历元起算)和IAU 2006/2000A地固旋转(sgp4::teme_to_itrs_matrix_eop,带两部分地球自转角)所采用的时间路径
参考基准
pyerfa 2.0.1.5(liberfa 2.0.1,BSD-3-Clause;ERFA项目发布的SOFA算法),独立库:对已提交时刻调用erfa.dtf2d("UTC")、erfa.utctai和erfa.taiutc,在两部分日期上分部分求差,判据1e-6 s于运行前固定(预先登记e947e69d)。最差偏差9.6e-12 s(dtf2d)和1.9e-11 s(utctai、taiutc)。若把每个UTC日都当作86,400 s,或不缩放闰日小数部分,测试即变红。经TAI的UT1(iauUtcut1)由地球轨道路径一行的ERFA分支核对。范围:自1972-01-01起的UTC;更早的漂移率UTC未建模
测试
tests/jd2_sofa_time_oracle.rs(224个UTC时刻:1972-2016年27次闰秒每次前后各六个,两个固定,60个在1972-2026年间按随机种子取样;dtf2d、utctai与taiutc各自吻合到1e-6 s以内,最坏1.9e-11 s);jd2::tests…
已独立核对轨道路径上经地球自转的两部分儒略日jd2 (gmst82, From<TwoPartJd>, From<Jd2>); cio (gcrs_to_itrs_matrix_jd2); frames (teme_to_itrf_jd2, itrf_to_teme_jd2); orbit (Propagator::position_in_frame_jd2, own_jd2_utc); ephemeris (EphemerisScenario::two_part_jd)
能力
在轨道路径上由两部分UT1儒略日计算地球自转,使地固位置保持单个f64日期所丢失的微秒(在2020年附近约3e-9 rad):jd2::gmst82(IAU 1982 GMST,即TEME约定,作用于两部分)、cio::gcrs_to_itrs_matrix_jd2(CIO GCRS到ITRS矩阵,地球自转角取自两部分),以及基于它们并经内部检查的frames::teme_to_itrf_jd2 / itrf_to_teme_jd2、orbit::Propagator::position_in_frame_jd2和own_jd2_utc、星历场景可选启用的two_part_jd(ECEF位置、星下点轨迹和测站视图;默认关闭,保持不变),以及jd2::Jd2与timescales::TwoPartJd之间的无损From转换。岁差章动和Cowell力模型历元仍为单个f64,其中40 us的舍入低于1e-15 rad,或远低于解析的太阳/月球星历误差
参考基准
pyerfa 2.0.1.5(liberfa 2.0.1,BSD-3-Clause;ERFA项目发布的SOFA算法),独立库:在已提交的两部分日期上调用gmst82和c2t06a,极移0.1和0.3角秒。在编写这些函数之前、在运行参考基准(oracle)之前,已预先登记b10475ee(日期、判据)。内部测试(场景选项、TEME/ITRF往返、类型转换)属辅助性的自洽检查
测试
tests/jd2_earth_rotation_erfa_oracle.rs::two_part_earth_rotation_agrees_with_erfa(1980-2050年的40个两部分UT1/TT日期,含两个日期上 +1、+10、+50 us的阶跃:gmst82吻合到1e-12 rad以内,最坏0;GCRS到ITRS…
已独立核对对照ERFA向量的坐标系矩阵:IAU 2006偏差岁差、TEME到GCRS,以及含天极偏差的CIO链路precession (precession_matrix); nutation (teme_to_gcrs_matrix); cio (gcrs_to_cirs_matrix_with_offsets)
能力
在任意历元上与ERFA逐元素或按旋转角比较的三个坐标系矩阵:precession::precession_matrix(由Fukushima-Williams角给出的IAU 2006偏差岁差)、nutation::teme_to_gcrs_matrix(TEME到GCRS旋转P^T N^T Rz(-EE),采用IAU 2006岁差、IAU 2000B章动以及含两项主要补充项的分点方程)和cio::gcrs_to_cirs_matrix_with_offsets(GCRS到CIRS旋转,在旋转前把IERS天极偏差dX、dY加到模型CIP X、Y上,即SOFA手册约定;新增)。模型选择本身(TEME路径上的2000B章动、两项补充级数)未经独立核对,仅核对其实现
参考基准
pyerfa 2.0.1.5(liberfa 2.0.1,BSD-3-Clause;ERFA项目发布的SOFA算法),独立库:pmat06;numat(obl06, nut00b),分点方程取自eect00(完整补充级数),按P^T N^T Rz(-EE) 组合;xys06a随后c2ixys(X + dX, Y + dY, s)。在运行参考基准(oracle)之前已预先登记979c1e39(历元、偏差和判据)。1.1e-10 rad的TEME残差是保留两项补充项的预期效应(在GNSS轨道上约3 mm)
测试
tests/frames_erfa_vector_oracle.rs::frame_matrices_agree_with_erfa_vectors(1950-2100年的40个TT历元,dX与dY至多0.5 mas:岁差要素吻合到1e-13以内,最坏0;TEME到GCRS吻合到5e-10 rad以内,最坏1.10e-10 rad…
已独立核对两部分儒略日时间路径上的1972年以前UTC(漂移率时代)timescales (tai_minus_utc_on_date); jd2 (Jd2::from_utc_calendar, utc_to_tai, tai_to_utc)
能力
1960-01-01至1971-12-31的UTC,其时UTC以相对TAI的偏移速率运行并以不足一秒的量阶跃,处理于两部分儒略日路径:每个时期按漂移表求TAI - UTC(timescales::tai_minus_utc_on_date),UTC日历日期转为两部分UTC儒略日,日长取86,400 s + dleap(Jd2::from_utc_calendar),UTC到TAI时把日小数部分由UTC缩放为SI秒(jd2::utc_to_tai),TAI回到UTC(jd2::tai_to_utc),遵循SOFA dtf2d、utctai和taiutc。1960年以前TAI - UTC取为0(SOFA的取值;UTC未定义),不在声明范围内。单个f64的timescales::tai_minus_utc在1972年以前仍钳位到10 s,不在覆盖范围内
参考基准
pyerfa 2.0.1.5(liberfa 2.0.1,BSD-3-Clause;ERFA项目发布的SOFA算法),独立库:对已提交时刻调用erfa.dtf2d("UTC")、erfa.utctai和erfa.taiutc,分部分求差。在修改引擎之前、在运行参考基准(oracle)之前,已预先登记23c40661(时刻、容差和1972年以后的校验和)。漂移表转录自参考基准所用的同一份SOFA iauDat表,因此比较覆盖的是换算运算(日长、UTC到SI的缩放、迭代),而不是历史表本身
测试
tests/jd2_pre1972_sofa_oracle.rs::pre_1972_utc_conversions_agree_with_erfa(117个UTC时刻:1960-1972年TAI-UTC表达式的15个起点每个前后各四个,另有60个在1960-1971年间按随机种子取样;dtf2d、utctai与taiutc…
已独立核对GLONASS广播卫星钟差与广播轨道传播glonass (GlonassEphemeris::sv_clock_bias_s, position_ecef, parse_glonass_nav)
能力
在卫星钟读数时刻的GLONASS广播卫星钟差 -tau_n + gamma_n (t - t_b)(glonass::GlonassEphemeris::sv_clock_bias_s,对钟差改正的偏移做两次不动点迭代),以及广播状态向量的PZ-90地固位置,由RK4按GLONASS ICD运动方程在参考历元前后 +/-15 min内传播(GlonassEphemeris::position_ecef),取自真实的RINEX 3 GLONASS导航记录。未做PZ-90.11到ITRF的转换(自2014年起二者在厘米级一致;RTKLIB同样不做)。未接入任何场景输出:库函数
参考基准
RTKLIB v2.4.2-p13(T. Takasu,BSD-2-Clause,提交71db0ffa)的geph2clk和geph2pos,由C源码在单独的测试装置(xval/rtklib-glonass)中编译,该装置用RTKLIB自己的读取器读取同一份RINEX文件,因此除钟差和轨道外,解析、-tau_n的符号、单位和迭代也一并比较。在该函数存在之前、在测试装置构建之前已预先登记e099c42a。双方求值的是同一个钟差闭式,所以钟差比较覆盖的是实现,而不是公式。轨道积分器不同(RTKLIB先以60 s步进再处理余量,Kshana采用不超过60 s的等步长),常数也不同(RTKLIB mu 3.9860044e14,Kshana为PZ-90.11的3.986004418e14);1.1 mm的最差情形正是这一差异,与运行前的预测一致。范围:有效期内的广播星历,而非真实轨道或钟差(未与精密产品比较)
测试
tests/glonass_broadcast_rtklib_oracle.rs::glonass_broadcast_clock_and_orbit_match_rtklib(292个用例:真实的2013-01-01 IGS MGEX广播文件中的4条GLONASS记录x +/-900 s内的73个偏移;钟差吻合到1e-14以内…
已独立核对一条地球轨道路径:带地球定向参数、基于IAU 2006/2000A链路,从SGP4根数集到GCRS和ITRSsgp4 (MeanElementSet, SgpOrbit, Eop, teme_to_itrs_matrix_eop, gcrs_to_itrs_matrix_eop); jd2 (utc_to_ut1, earth_rotation_angle); nutation (teme_to_gcrs_matrix); cio (gcrs_to_cirs_matrix); frames (polar_motion_matrix)
能力
每个经路由的地球轨道类场景共用的传播与坐标系路径:带两部分UTC历元的SGP4平根数集(sgp4::MeanElementSet,由MeanElementSet::from_earth_fixed从星座设计根数读取),经SGP4/SDP4传播到TEME(sgp4::SgpOrbit),以及IAU 2006/2000A链路的TEME -> ITRS和GCRS -> ITRS旋转,含UT1 - UTC和极移(sgp4::teme_to_itrs_matrix_eop、gcrs_to_itrs_matrix_eop,以及零参数形式teme_to_itrs_matrix和gcrs_to_itrs_matrix)。TEME是瞬时真赤道与平春分点,从GCRS经IAU 2006偏差岁差、IAU 2000B章动和分点方程得到
参考基准
分支1:python-sgp4 2.24(MIT许可;D. Vallado的参考C++ SGP4,即产生AIAA 2006-6753验证向量的代码),WGS-72,improved模式。分支2:pyerfa 2.0.1.5(ERFA,BSD-3-Clause,SOFA例程):c2t06a,TT取自utctai/taitt,UT1取自utcut1,对TEME则为c2t06a . pnm06a^T . rz(-ee06a)。判据于运行前固定(预先登记72ea9eb0)。已披露:首次运行时分支2在2016-12-31T23:59:59.5失败,偏差一秒的旋转(在闰秒日由UTC准儒略日取UT1);引擎已修正(jd2::utc_to_ut1),第二次运行在不变的判据下一致。去掉极移(46项失败)或以WGS-84常数代替WGS-72(4432项失败),测试即变红。这一三分支设计取代了一次端到端的Orekit比较,后者因Orekit在e = 0处的SDP4以及其IERS 1996 TEME而失败(该发现仍固定在tests/leo_polar_coverage_full_claim_orekit_oracle.rs中)
测试
tests/earth_orbit_path_sgp4_erfa_oracle.rs(第1段:232组已提交轨道根数的4432个TEME位置,对照python-sgp4 2.24,最坏6.1e-8 m,判据1 cm;第2段:108个时刻,其中23个带地球定向…
已独立核对测距码设计权衡navsignal (CodeFamily)
能力
m序列/Gold码旁瓣与互相关界、长度↔模糊度
参考基准
已发布的GPS C/A Gold互相关(−23.9 dB);Gold 1967界
测试
navsignal::code_tests (GPS C/A Gold ≈ −23.9 dB; φ(1023)/10 = 60)
已独立核对GNSS几何 / 精度因子(DOP)orbit (dop)
能力
由视线几何经Q=(HᵀH)⁻¹ 并做局部ENU分解得到的GDOP/PDOP/HDOP/VDOP/TDOP
参考基准
gnss_lib_py 1.0.4(Stanford NAV Lab)DOP——独立库,相对偏差吻合至1e-6
测试
tests/dop_reference.rs (8 geometries, well-conditioned → near-singular)
由模型计算得出几何导致的位置误差:对引擎的最小二乘定位,RMS误差 = sigma_UERE x DOPdop_error_mc (run_geometry, check, TOLERANCES); dop_error_ci (run, GEOMETRIES); pvt (solve_spp); orbit (dop, dop_cofactor)
能力
dop_error_mc::run_geometry及其检查:对引擎自身的迭代最小二乘定位(pvt::solve_spp,单位权重,自真实位置起解算)做带随机种子的蒙特卡罗(每种几何N = 20,000个历元,sigma = 1.5 m,ChaCha8种子36 + i),在tests/fixtures/dop/dop_reference.csv的8种几何上,比较东、北、天向和钟差的误差方差、H/V/P RMS、东北相关性、平均误差,以及落在95 % 水平椭圆内的比例,椭圆由sigma^2 Q给出,其中Q为orbit::dop核的协方差因子(orbit::dop_cofactor,同一运算),取自同一几何
参考基准
对照闭式的内部一致性:在线性高斯模型下,最小二乘协方差为sigma^2 (H^T H)^-1(Kaplan与Hegarty编,Understanding GPS: Principles and Applications,第2版,Artech House,2006,第7章)。方法与容差取自0.36几何设计说明第5.2节,已在首次运行前的预先登记提交中固定:各方差在5 % 以内(N = 20,000时样本方差的5个标准误),各RMS在2.5 % 以内,东北相关性在0.035 (5/sqrt(N)) 以内,各平均值在5个标准误以内,95 % 椭圆比例在0.95 +/- 0.0077以内(5个二项标准误);负对照(PDOP加倍;误差按1/sin(仰角) 增长而对照未加权的Q)必须失败。组合方式:Q是orbit::dop核的协方差因子,在tests/dop_reference.rs中对照gnss_lib_py 1.0.4在同样这8种几何上VALIDATED(“GNSS几何 / 精度因子”一行);本行增加的是经引擎求解器从这些因子到米的一步,并不借用那一行的状态。为何为MODELLED:不涉及外部数据集;吻合只表明在教科书模型下估计器与噪声实现了sigma x DOP,而不是任何接收机的误差等于UERE x DOP,且sigma_UERE是输入
测试
tests/uere_dop_monte_carlo.rs(position_error_is_sigma_times_dop_on_the_gnss_lib_py_geometries:在预先登记e50c88d2之后首次运行,全部104项检查通过,最坏方差3.2 %,RMS 1.6 %,相关系数0.012…
由模型计算得出几何感知的信任分类:接收机信任度评分旁的卫星几何,以及每项扣分的类别receiver_trust (geometry: GeometryTracker, geometry_ratio, sky_ratio, geometry_points, GeometryLabel; score: DeductionClass, score_with; monitors; live); telemetry (sample, prometheus, syslog, otlp)
能力
receiver_trust::geometry:逐历元的卫星几何(良好;降级,原因为few-satellites/high-pdop/high-hdop/sky-blocked;或在日志没有GSV、NAV-SAT或GSA时为未知),由所报告的仰角和方位角经orbit::dop推导,或取自GSA,并始终报告一个不计分的标签(good、fair、poor、unknown),以及用文字表述的HDOP、PDOP、VDOP、卫星数和信号丢失;一个船舶评分几何监视器,除非几何较差(比值max(hdop/4, pdop/6, 5/n_used) 高于1)否则不扣分,随后在1.5处线性升至15分的上限,仅凭几何不能使评分低于降级区间(上限、升坡终点和下限位于 [geometry];无告警);每项扣分带一个类别(几何、环境、不一致),其中对低于15度卫星的失锁归为几何,视野内但未被跟踪的卫星归为环境,而若某项较差几何扣分所述的HDOP与由所述天空推导的HDOP相差超过max(1.0, 25 %),则归为不一致
参考基准
内部一致性:分类对照其自身陈述的规则检查,并在已提交演示日志的合成编辑上对照手工推导的比值检查,无变化固定项保持0.35.0的输出:除非几何较差,否则没有评分变化;标签始终报告。为何为MODELLED:阈值是选定的而非拟合的(来源见每次运行的geometry_model;IEC 61108-1和GPS SPS的数字依引文给出,有待对照标准正文核对),且不存在把自然几何退化与攻击区分开来的外部标注数据集可用于核对该分类。推导的DOP复用orbit::dop核,该核已对照gnss_lib_py VALIDATED,本行不借用其状态。几何类别是关于天空的陈述,而不是未发生攻击的结论
测试
tests/natural_degradation_trust.rs(a_stated_skyline_reads_the_fjord_as_geometry:在scenarios/training/fjord-natural-degradation.toml的合成峡湾通道上,有无……时都扣除相同的624个历元…
已独立核对广播电离层模型(Klobuchar,IS-GPS-200)gnss_sim (klobuchar_delay_m)
能力
由八个广播 α/β 系数得到的Klobuchar单频L1斜向电离层群延迟
参考基准
RTKLIB ionmodel(tomojitakasu/RTKLIB,src/rtkcmn.c)——由源码编译的独立参考实现;吻合至< 1e-4 m
测试
tests/klobuchar_reference.rs (10 cases across elevation/azimuth/local-time, two coefficient sets)
已独立核对RAIM/ARAIM完好性统计核(χ² / 非中心 χ² / 正态分布律)raim (chi2_cdf, chi2_quantile, noncentral_chi2_cdf, normal_cdf, normal_quantile, pbias)
能力
每个保护级所依赖的分布核心:快照故障检测阈值 χ²₁₋ₚfₐ(dof)、漏检非中心参数pbias=√λ,以及K_fa/K_md/K_V解分离乘子
参考基准
SciPy 1.17.0(scipy.stats.chi2/.norm/.ncx2 + optimize.brentq)——独立库(Cephes/Boost),算法不同于Kshana的不完全伽马级数;相对偏差吻合至 ≤1e-6。仅限该核。ARAIM MHSS的P_HMI预算*分配*不再缺少已发布的数值参考基准(oracle)——WG-C ARAIM技术子组自己的算例现已支撑另一行“对照已发布参考向量的ARAIM MHSS保护级”,在该参考自身的TOL_PL = 5e-2 m下吻合——因此本行的范围是统计核,而分配由那一行承担(见docs/ARAIM_REFERENCE.md)
测试
tests/raim_reference.rs (171 cases: χ² CDF/quantile, normal CDF/quantile, non-central χ² CDF, pbias across the P_fa/P_md/redundancy ranges)
已独立核对SBAS保护级(DO-229E加权最小二乘HPL/VPL)sbas (sbas_protection_level)
能力
DO-229E附录J加权最小二乘保护级:由各卫星仰角/方位角和误差预算得D=(GᵀWG)⁻¹,取水平误差椭圆长轴和垂向 σ,再乘以已发布的K因子
参考基准
RTKLIB SBAS-PL分支——zsiki/rtklib_ws waasprotlevels()(Siki & Takács 2017,“DO-229D Appendix J”),由rnx2rtkp -ws在真实的EGNOS GEO-PRN120电文 + 真实的BUTE/布达佩斯RINEX上运行;独立的第三方实现,HPL吻合至< 2e-3 m。gLAB v6.0.0(core/filter.c)确认约定相同。两个参考基准(oracle)都把K_V取整为5.33,而Kshana的精确值为 Φ⁻¹(1−5e-8)=5.3267(约0.06%),因此垂向按不含K因子的d_U核对
测试
tests/sbas_reference.rs (6 real-EGNOS epochs: HPL matched directly, vertical d_U checked K-factor-free)
已独立核对机器学习检测器评估指标(ROC/AUC/混淆矩阵/Pfa-Pmd)impairment_eval (auc, confusion_at, roc_curve)
能力
AUC(Mann-Whitney,并列取 ½)、阈值处的混淆矩阵、P_d/P_md/P_fa/精确率/准确率/F1
参考基准
scikit-learn 1.9.0(Pedregosa等,JMLR 2011)——独立库,完全一致
测试
tests/eval_metrics_reference.rs (5 datasets, 24 thresholds; exact counts + <1e-9)
已独立核对真实航天器遥测上的异常检测评分impairment_eval, eval_stats
能力
区分真实已标注异常的ROC AUC + 自助法置信区间;透明检测器(复现标签)
参考基准
scikit-learn roc_auc_score,在OPSSAT-AD测试划分上(Ruszczak等2025,CC BY 4.0)——真实的OPS-SAT遥测
测试
tests/opssat_ad_reference.rs(真实的ESA OPS-SAT,AUC复现scikit-learn至1e-9);tests/ai_ml_rf_impairment_detection_evaluation_reference.rs(真实OPSSAT-AD测试划分上的122个用例:完整工作点…
已独立核对量子权衡数值核(NNLS / χ² 区间 / van-Loan Q)quantum_trade (qparams_from_adev_curve), detection (chi2_inv_cdf), clock_state (ClockState3)
能力
实测ADEV的NNLS拟合、NEES/NIS χ² 一致性区间,以及时钟van-Loan离散过程噪声(守时滑行)协方差——权衡引擎的计算主干
参考基准
scipy 1.17.1——optimize.nnls / stats.chi2.ppf / linalg.expm;NNLS+Q精确一致,在工作自由度下 χ² <5e-4。仅限各核——器件性能数字仍由模型计算得出(见下一行)
测试
tests/scipy_reference.rs (NNLS; χ² at operating dof ≥ 48; van-Loan Q)
已独立核对地磁参考场(IGRF-14合成)igrf, igrf_data
能力
IGRF-14主磁场的球谐合成——X/Y/Z/F分量、磁偏角和磁倾角——供给磁异常alt-PNT层
参考基准
ppigrf 2.1.0(K. M. Laundal,MIT)——IAGA-VMOD纯Python IGRF参考实现,随附官方IGRF14.shc系数(IAGA第14代,Zenodo 10.5281/zenodo.14012302);一个独立的第三方代码库,计算唯一确定的IGRF-14场,在全球网格上吻合
测试
tests/alternative_complementary_pnt_reference.rs (2520 global points × altitudes vs ppigrf @ epoch 2025.0; worst |ΔXYZF| 3.9e-4 nT, |ΔD| 2.8e-6°, |ΔI| 3.6e-7°)
已独立核对检测统计量——高斯AUC与最小可检测故障quantum_faults, eval_stats, detection
能力
解析的双正态ROC AUC = Φ(μ/(σ√2)) 和最小可检测故障 σ·(Φ⁻¹(1−P_fa)+Φ⁻¹(P_d)),支撑量子故障检测器和异常检测器
参考基准
scipy 1.17(Cephes ndtr/ndtri)+ scikit-learn roc_auc_score(Pedregosa等,JMLR 2011),均为BSD-3-Clause——独立库,计算同样唯一确定的高斯尾部 / AUC量,吻合至A&S-erf下限(约7e-8)。其上构建的量子对经典优势仍为MODELLED
测试
tests/quantum_faults_reference.rs (109 cases vs scipy 1.17 norm.cdf/ppf + scikit-learn roc_auc_score; worst |Δ| AUC 6.9e-8, min-detectable-fault 1.3e-8, empirical-AUC 1.1e-16)
已独立核对秩序统计核(Kendall-τ / Dirichlet / 百分位数)resilience::stats
能力
韧性决策不稳定性研究所用的秩相关与重采样核:Kendall τ-b、Dirichlet均值、竞赛排名和百分位置信区间
参考基准
scipy 1.18(stats.kendalltau variant='b'、rankdata)+ numpy.percentile(BSD-3-Clause)——对唯一确定的秩统计量的独立实现(归并排序 τ),吻合至1e-12。基于这些核构建的决策不稳定性研究仍为MODELLED
测试
tests/resilience_score_decision_instability_reference.rs(对scipy 1.18 / numpy 2.4的124个用例:61个Kendall τ-b吻合到2e-16,排序完全一致,Dirichlet均值 + 百分位置信区间吻合到1e-12)
已独立核对MCDA优先级推导核(AHP特征向量 / 一致性比率)mcda::ahp
能力
层次分析法优先级权重 = 互反成对比较矩阵经幂迭代得到的归一化主(Perron)特征向量,附Saaty一致性指数 / 一致性比率以及CR<0.10的接受门限
参考基准
精确复现Saaty(1980)标准随机指数表(RI(5)=1.12),并以SciPy/LAPACK scipy.linalg.eig(BSD-3-Clause)作为独立特征值求解器,计算同样唯一确定的Perron特征向量/特征值,吻合至<1e-9。基于该核构建的Pareto / 敏感度 / MAUT决策层仍为MODELLED(WSM/WPM/TOPSIS/VIKOR/PROMETHEE/ELECTRE聚合器另行经外部核对——见下面各行)
测试
tests/mcda_ahp_reference.rs(Saaty 1980随机一致性指标表n=1..10 EXACT;优先级向量 + λ_max + CR对SciPy/LAPACK eig,在一致的3×3以及不一致的3×3 / 4×4矩阵上,吻合到<1e-9)
已独立核对MCDA加权聚合核(WSM / WPM)mcda::wsm, mcda::wpm
能力
加权和模型(最小–最大归一化的加性聚合 + 排序)和加权积模型(求和归一化、成本取倒数的乘性聚合)——两种价值聚合的权衡研究评分器
参考基准
pymcdm(methods.WSM + normalizations.minmax_normalization;methods.WPM + normalizations.sum_normalization)——独立、被广泛使用的第三方Python MCDA库,计算同样唯一确定的加权聚合;吻合至<1e-9。可经tests/fixtures/mcda_wsm/ 和tests/fixtures/mcda_wpm/ 离线重新生成。输入是垃圾则输出也是垃圾;敏感度/稳健性层仍为MODELLED
测试
tests/mcda_wsm_reference.rs(WSM得分 + 排序)与tests/mcda_wpm_reference.rs(WPM得分 + 排序),均对pymcdm,在固定的4×3效益/成本决策矩阵上吻合到<1e-9
已独立核对MCDA距理想解排序(TOPSIS)mcda::topsis
能力
逼近理想解的排序技术——最小–最大归一化、加权正/负理想解、相对贴近度Cᵢ = d⁻/(d⁺+d⁻) 及排序
参考基准
pymcdm methods.TOPSIS + normalizations.minmax_normalization——独立的第三方MCDA库,计算同样唯一确定的贴近系数;吻合至<1e-9。可经tests/fixtures/mcda_topsis/generate_topsis_reference.py离线重新生成
测试
tests/mcda_topsis_reference.rs(贴近度系数 + 排序对pymcdm,在固定的4×3效益/成本矩阵上吻合到<1e-9)
已独立核对MCDA折中排序(VIKOR)mcda::vikor
能力
VlseKriterijumska Optimizacija——群体效用Sᵢ、个体遗憾Rᵢ 以及在策略权重v=0.5下的折中指数Qᵢ,按越低越好排序
参考基准
pymcdm methods.VIKOR(v=0.5):一个独立的第三方MCDA库,计算同一个唯一确定的、按值域归一化的S/R/Q聚合;与之吻合到<1e-9。可离线重新生成,见tests/fixtures/mcda_vikor/generate_vikor_reference.py
测试
tests/mcda_vikor_reference.rs(Q指数 + 排序对pymcdm,在固定的4×3效益/成本矩阵上吻合到<1e-9)
已独立核对MCDA优序净流量排序(PROMETHEE II)mcda::promethee
能力
Preference Ranking Organization METHod:成对偏好指数,含六种标准广义准则形状、正向与负向优序流量以及完整的净流量排序(常规准则已独立检验)
参考基准
pymcdm methods.PROMETHEE_II('usual'):一个独立的第三方MCDA库,计算同一个唯一确定的净优序流量;与之吻合到<1e-9。可离线重新生成,见tests/fixtures/mcda_promethee/generate_promethee_reference.py。带阈值的(q/p/σ)偏好形状可化为同一套广义准则代数,仍只做性质检查
测试
tests/mcda_promethee_reference.rs(净优先流 + 排序,通常准则,对pymcdm,在固定的4×3效益/成本矩阵上吻合到<1e-9)
已独立核对MCDA优序选择核(ELECTRE I)mcda::electre
能力
ELimination Et Choix Traduisant la REalité:一致性/不一致性矩阵、一致且无否决的支配关系以及优序选择核(全部为效益型、权重和归一化、单一全局尺度的约定)
参考基准
pyDecision algorithm.electre_i(Valdecy Pereira):一个独立的第三方多准则决策库,计算同一个唯一确定的一致性/不一致性/支配关系/核;逐元素与之吻合到<1e-9。可离线重新生成,见tests/fixtures/mcda_electre/generate_electre_reference.py。ĉ/d̂ 阈值的选取属于分析人员的输入(敏感性仍为MODELLED)
测试
tests/mcda_electre_reference.rs(一致性、不一致性、支配矩阵逐元素吻合 + 核/被支配集对pyDecision,在固定的4×3全效益数据集上吻合到<1e-9)
已独立核对MCDA聚合核(WASPAS / MOORA)mcda::waspas, mcda::moora
能力
Weighted Aggregated Sum Product ASSessment(线性归一化的凸组合 λ·WSM+(1−λ)·WPM,λ=0.5)以及MOORA比率系统(向量归一化的加权效益总和减去加权成本总和):前者是经稳定性加固的取值组合,后者是带符号的比率系统评分器
参考基准
pymcdm(methods.WASPAS + normalizations.linear_normalization,l=0.5;methods.MOORA比率系统,向量归一化):一个独立的、应用广泛的第三方Python MCDA库,计算同一组唯一确定的聚合值;与之吻合到<1e-9。可离线重新生成,见tests/fixtures/mcda_waspas/ 和tests/fixtures/mcda_moora/。输入若有误,输出同样有误;敏感性/稳健性层仍为MODELLED
测试
tests/mcda_waspas_reference.rs(WASPAS偏好 + 排序)与tests/mcda_moora_reference.rs(MOORA得分 + 排序),均对pymcdm,在固定的4×3效益/成本决策矩阵上吻合到<1e-9
已独立核对MCDA比例排序(COPRAS)mcda::copras
能力
COmplex PRoportional ASsessment:按列和归一化的效益显著度S⁺ 加上成本倒数显著度项、相对显著度Q以及效用度U = Q/max Q(最优备选方案 = 1)
参考基准
pyDecision algorithm.copras_method(Valdecy Pereira):一个独立的第三方MCDA库,计算同一个唯一确定的COPRAS相对显著度/效用。有意选用pyDecision:pymcdm 1.4.0的COPRAS在代数上退化为平凡的S⁺+S⁻,不是忠实的参照,而pyDecision实现的是规范的Q = S⁺+(min(S⁻)·ΣS⁻)/(S⁻·Σ(min(S⁻)/S⁻))。与之吻合到<1e-9;可离线重新生成,见tests/fixtures/mcda_copras/generate_copras_reference.py
测试
tests/mcda_copras_reference.rs(效用度 + 排序对pyDecision,在固定的4×3效益/成本矩阵上吻合到<1e-9)
已独立核对CUSUM变化检测的延迟与ARLtpl (Cusum), security
能力
表格式CUSUM检测器的最坏情况检测延迟(⌊h/(z−k)⌋+1)与失控平均运行长度,供授时保护级和欺骗干扰监测器使用
参考基准
已发表的表格式CUSUM ARL:Siegmund(1985)布朗运动近似(Hawkins & Olwell 1998,式3.7),并与Montgomery所著Introduction to Statistical Quality Control(Wiley)中k=½、h∈{4,5}的ARL表交叉锚定;确定性延迟与首次通过参考基准(oracle)完全吻合。组合得到的TPL界仍为MODELLED
测试
tests/timing_protection_level_under_spoofing_reference.rs(16个确定性延迟用例对首次通过参考基准EXACT;8个ARL₁ 用例,60k次试验的蒙特卡罗对Siegmund近似 + 已发表的Montgomery…
已独立核对时钟守时(holdover)滑行方差与阈值反演holdover (coast_phase_variance, holdover_seconds)
能力
滑行相位误差方差增长q_wf·t + q_rw·t³/3 + q_drift·t⁵/20,及其到授时误差守时阈值的单调反演
参考基准
scipy 1.18(BSD-3-Clause):linalg.expm通过Padé 缩放平方法,在6×6增广矩阵上计算Van-Loan 1978离散过程噪声Q₀₀ = ∫₀ᵗ ΦQcΦᵀds,这是一条从不接触kshana多项式系数的独立路径;另用optimize.brentq对同一条单调曲线求反,与kshana的二分法对照。各类红噪声底数值(ClockClass)仍为MODELLED
测试
tests/gnss_denied_clock_holdover_reference.rs (27 cases vs scipy 1.18: 12 coast-variance vs linalg.expm Van-Loan Q₀₀ worst rel 1.1e-15; 7 holdover inversions vs optimize.brentq worst rel 1.5e-16)
已独立核对逆辛普森多样性核resilience::diversity (effective_diversity)
能力
有效架构多样性 = 逆辛普森/2阶Hill数1/Σpᵢ²,基于各独立性分组的源质量(韧性评分中的多样性项)
参考基准
scikit-bio 0.7.3 skbio.diversity.alpha.inv_simpson(McDonald等,BSD-3-Clause):一个独立的第三方库,计算唯一确定的逆辛普森指数;逐字节复现。建立在其上的DHS-RPCF评分框架(权重/等级)仍为MODELLED
测试
tests/resilience_diversity_reference.rs (17 cases: 14 vs scikit-bio inv_simpson + 3 pinned-zero boundary; worst |Δ| 0.0)
已独立核对随方位角变化的天际线遮蔽:可见集合、方位角与高度角,以及遮蔽下的DOPskyline (Skyline::cut_deg, Skyline::visible); frames (look_angles, is_visible_skyline); orbit (UserPath, sky_view, cofactor_from_los); geometry (sky_geometry)
能力
skyline + frames::look_angles + geometry::sky_geometry:由地面站点得到卫星的大地(WGS-84)方位角和高度角;方位角/高度角遮蔽表在方位角上线性插值,并在360 deg处回绕;可见集合为el >= max(mask_deg, mask(az));以及该集合的共钟DOP和ENU与钟差的协因数矩阵(orbit::dop背后的核)。[skyline] 段正是借此在gnss-sim、jamming、leo-pvt、leo-pass和nmea-scenario各类场景中判定可见性,并在orbit和integrity中配合地面站点user_site使用
参考基准
Orekit 12.2(Apache-2.0):在WGS-84 OneAxisEllipsoid上用TopocentricFrame计算观测角,并为每张表使用一个ElevationMask,由xval/orekit-skyline/OrekitSkyline.java在已提交的地固系状态上运行(不比较轨道外推);DOP以及Orekit判定可见的卫星集合的ENU与钟差DOP矩阵,则用gnss_lib_py 1.0.4(wheel元数据为MIT)的get_dop计算。在任一参考基准(oracle)于比较输入上运行之前已预先登记(xval/orekit-skyline/PREREGISTRATION.md,提交e4b9d912);Orekit带回绕的线性插值事先已在一个合成探测用例上得到确认。范围:表格式遮蔽、大地观测角、遮蔽后的可见集合及其共钟DOP与协因数。此处并未检查:街道峡谷、扇区和地形的归约以及各预设(其360点表作为输入进入;见“Street-canyon, sector and terrain reductions to a table”与“Skyline presets”两行)、各系统的钟状态和误差椭圆(见“Horizontal error ellipse and per-system cofactor from the geometry covariance”一行)、orbit/integrity中user_site地面站点的GMST旋转及其把各外推器归到同一时刻的定时(给Orekit的是地固系状态),以及任何真实遮挡(仅视线)
测试
tests/skyline_orekit_oracle.rs(skyline_masks_agree_with_orekit_and_gnss_lib_py_as_pre_registered:六个站点、四个历元上的1173个观测角,六张遮蔽表,142个可见集;最坏 |d el| 1.3e-13度,|d az|…
由模型计算得出街道峡谷、扇区和地形归约为表skyline (Canyon::cut_deg, Sector::contains, TerrainPoint::elevation_deg, reduce_terrain, SkylineCfg::build)
能力
skyline:街道峡谷的闭式解(截断角atan((h - a) / d),其中d = (w/2) / abs(sin(az - s)),有限长度时两端开口)、顺时针且带回绕的锐边扇区,以及归约为表的地形点(含曲率下降量d^2/(2 * 4/3 R));天际线是它们与任意表的逐点最大值
参考基准
内部:闭式解以手工算出的数值核对(给定街道的墙顶高度角、开口端条件、给定点的曲率下降量)。没有外部参考基准:设计说明将这些归约界定为MODELLED,而Orekit的ElevationMask接收的是表,因此“Azimuth-dependent skyline mask: visible set, azimuth and elevation, and DOP under the mask”一行的比较只是把它们的360点表当作输入,并不检查它们
测试
skyline::tests (canyon_matches_hand_computed_wall_elevations; terrain_takes_the_curvature_drop; sectors_have_sharp_edges_and_wrap; a_preset_is_overridden_or_added_to_field_by_field; malformed_sections_are_refused)
由模型计算得出天际线预设(城市街道、港口进近、峡湾、集装箱码头)skyline (PRESETS, preset, preset_list)
能力
skyline::PRESETS:四种具REPRESENTATIVE的几何,各附设计说明给出的尺寸和一行来源说明:city-street(一条峡谷,街道走向0 deg,30 m高的两侧墙体相距20 m,天线高1.5 m)、harbour-approach(扇区:朝海一侧在180 deg范围内开阔,码头建筑8 deg高、跨90 deg,防波堤3 deg)、fjord(地形:南北向水道两侧各1.5 km处有高出天线600 m的山壁,并计入曲率下降量)、container-terminal(扇区:朝陆一侧的半边为12 deg高的堆垛,在两个窄扇区内有35 deg和25 deg高的起重机吊臂);可逐字段覆盖
参考基准
无:这些是选定并已说明的尺寸,不是对任何街道、港口、峡湾或码头的实测(街道的宽高比处于Oke(1988)所述0.5-2的范围内;峡湾的量级与挪威西部峡湾相当;堆垛采用ISO 668高箱的高度)。测试依据各预设自身给出的尺寸进行核对,属于转录检查,验证规则不将其计入
测试
skyline::tests (presets_carry_the_note_dimensions_and_provenance)
已独立核对由几何协方差得到的水平误差椭圆与分系统协因数geometry (sky_geometry, ellipse); orbit (cofactor_from_los)
能力
geometry::sky_geometry:ENU与钟差的协因数 (H^T H)^-1,接收机钟为共用一个或每个系统各一个(orbit::cofactor_from_los核),以及由其东-北子块得到的水平误差椭圆(半轴k sigma sqrt(lambda),k = sqrt(-2 ln(1 - p)),长轴方位角自北起算)
参考基准
numpy 2.5.4(BSD-3-Clause),xval/numpy-ellipse/ellipse.py:在已提交的输入上用numpy.linalg.inv求G^T G的逆,并用numpy.linalg.eigh求其水平子块的特征分解;这是一个独立的数值库,以自身算法完成求逆和特征分解(标准P2)。运行前已在xval/numpy-ellipse/PREREGISTRATION.md(提交0bbeeaee)中预先登记;预先登记之后,驱动程序的输出格式曾更正一次(numpy标量被写成np.float64(...)),协议和容差均未改变。已独立检验的结论是这些输入上的线性代数;高斯误差模型和UERE是已说明的输入,不是实测精度,也不是完好性界
测试
tests/ellipse_numpy_oracle.rs(ellipse_and_cofactor_agree_with_numpy_as_pre_registered:270个用例,天际线比较中已提交的142个可见集,分别在统一钟差和每系统一个钟差下;最坏…
由模型计算得出天空几何函数:可见性、DOP、协方差、误差椭圆、蒙特卡罗点云geometry; orbit (cofactor_from_los, dop_cov, dop); surface (sky_geometry, sky_monte_carlo, skyline_presets, skyline_profile, skyplot_svg)
能力
geometry(sky_geometry、sky_monte_carlo、skyline_presets、skyline_profile、skyplot_svg;命令行kshana sky和kshana skyline,同名的Python和WASM函数,MCP sky_geometry):给定站点、时间和星座预设(或以方位角/高度角或ECEF给出的卫星),得出可见及被天际线遮蔽的卫星、GDOP/PDOP/HDOP/VDOP/TDOP、单位方差协因数 (H^T H)^-1和东-北-天坐标下的协方差(每个系统一个接收机钟,或共用一个),水平误差椭圆(半轴k sigma sqrt(lambda),k = sqrt(-2 ln(1 - p)),自北起的方向角0.5 atan2(2 Q_EN, Q_NN - Q_EE)),以及在相互独立的高斯距离误差下n个带随机种子的最小二乘误差及其经验协方差、RMS和95 % 包含率。协因数即orbit::cofactor_from_los,它是orbit::dop和orbit::dop_cov背后的同一个核(dop是dop_cov的归约):没有第二套DOP实现
参考基准
单钟DOP因子依赖的核,已对照gnss_lib_py 1.0.4做过独立检验(见“GNSS geometry / dilution of precision (DOP)”一行);本行自身的检查是内部的:sky_geometry在同一几何上复现orbit::dop和dop_cov,椭圆复现解析的2x2特征分解,ECEF与方位角/高度角输入一致,带随机种子的点云RMS和95 % 包含率与几何一致。每个系统一个钟的ENU协方差和椭圆在“Horizontal error ellipse and per-system cofactor from the geometry covariance”一行中为VALIDATED(numpy,P2);此处仍为MODELLED的是组合部分:由预设外推得到具代表性的天空、蒙特卡罗点云(对照其所采样的几何检查,属自洽检查)以及各界面。星座预设给出的是具代表性的天空,不是某一日期的天空;高斯误差模型和UERE是已说明的输入,不是实测精度,也不是完好性界
测试
geometry::tests (ellipse_of_an_analytic_two_by_two_case; sky_geometry_equals_orbit_dop_on_the_same_visible_set; ecef_input_matches_azimuth_elevation_input; one_clock_per_system_adds_a_state_and_costs_geometry…
由模型计算得出无GNSS条件下的时钟守时(holdover)holdover
能力
闭式滑行误差增长 + 守时至阈值;量子时钟类别
参考基准
多步clock_state协方差递推(同一代码库内的交叉核对);其底层的滑行方差与守时反演核已对照scipy做过外部检验(见“Clock-holdover coast-variance & threshold inversion”)。各类红噪声底守时数值仍为MODELLED
测试
holdover::tests(对多步卡尔曼协方差递推;白噪声调频精确;往返);惯性滑行方差核在tests/gnss_denied_clock_holdover_reference.rs中经外部核对(对scipy Van-Loan/brentq)
由模型计算得出实测时钟器件卡(留出集预测)clock_library (card, condition, series), realdata::clk, allan (lag1_noise_id)
能力
clock_library:器件卡(白相位、白噪声、闪烁和随机游走调频,外加线性频率漂移),在经过留痕的整理处理(去除间隙、相位离群值、相位阶跃、突发;记录频率阶跃)之后,拟合某一条具名实测时钟记录的三分之一,并以滞后1阶识别出的噪声类型自由度加权,再用其预测的阿伦偏差在留出的三分之二上评分;含RINEX和IGS钟差文件、BIPM各实验室文件以及Circular T第1节的读取器;把器件卡转换为时隙定时噪声模型、扩展卡尔曼时钟模型和欺骗干扰监测器的噪声水平
参考基准
实测记录,已留出:2026-03-01至14期间11颗GPS Block IIF卫星的IGS最终组合30 s钟差(此前无任何测试打开过的时间窗口;IGS,开放,须注明出处),以及JammerTest 2024中u-blox ZED-F9P接收机在其不计分的静止时段的数据(GPL-3.0-or-later)。D9外部比较(已预先登记2ec76864,每张卡在其拟合平均时间上的预测/实测阿伦偏差均落在 [1/1.5, 1.5] 之内),一项发现(仍为MODELLED):11张GPS IIF卡中有10张达到判据;G27在两小时尺度上偏乐观(7680 s处为0.662,最差倍数1.510),这是幂律卡所不含的小时尺度周期性误差。接收机TCXO卡被阻塞:在已记录的发射时段之外,数据集中其余时段只剩167个历元,而需要3600个。已报告但非盲测(记录已被先前的行打开过):5071A铯钟卡达到判据(直到4096 s最差为1.070),OCXO卡偏保守且在判据之外(128 s处为2.348;其噪声底在记录期间发生变化),Norcia锶钟卡以已发表的三个最短点拟合,在两个计分点上达到判据(1.291、1.405)。Galileo被动型氢原子钟(找不到无需登录即可获取的Galileo最终钟差来源)和深空原子钟(仅有一个公开的在轨数值)被阻塞。D9第2轮,把ZED-F9P接收机TCXO作为一个模型类别,用12个静态Wroclaw站14天的数据(Zenodo 6488497,CC BY 4.0;已预先登记fb475550),一项发现:按登记的流程,12个站中有11个无法评估(RAIM拒绝了大部分无电离层组合历元),BX14失败;公开说明的、使用修正后流程的重跑(已预先登记c9cc0d49)在11个盲测站中通过1个(BX12,1.412;BX07 1.532和BX13 1.542仅略超出),原因是来自间断的30 s文件的单点接收机钟,并不是干净的振荡器记录
测试
tests/clock_library_device_cards_oracle.rs (gps_iif_cards_reproduce_the_recorded_finding; receiver_training_is_blocked_by_the_epoch_minimum; non_blind_cards_are_reported; pre-registered 2ec76864)…
由模型计算得出带每圈项的实测GPS Block IIF钟卡(留出集预测)clock_library (card)
能力
clock_library::card::DeviceCard::fit_phase_periodic:器件卡带有每圈一次至四次的相位项(周期T/k,T = 43,082.05 s),与二次项一起,用最小二乘联合拟合一条实测卫星钟记录的三分之一,各项在预测阿伦偏差中的闭式贡献为4 A^2 sin^4(pi tau / P) / tau^2
参考基准
实测记录,已留出:2026-04-01至14期间11颗GPS Block IIF卫星的IGS最终组合30 s钟差(此前无任何测试打开过的时间窗口;IGS,开放,须注明出处)。D9外部比较(已预先登记fb475550,每颗卫星在每个拟合平均时间上的预测/实测阿伦偏差均落在 [1/1.5, 1.5] 之内),一项发现(仍为MODELLED):11张卡中有9张达到判据;G03(1.947)和G25(1.581)在60 s至2000 s之间偏乐观,因为它们留出的记录比拟合所用的三分之一噪声更大(G25留出部分有16处间隙和29个相位离群值),这是时钟本身发生了变化,而不是缺少周期项。从预测中去掉周期项会使全部11张卡失败(1.77至4.96),可见这些项承载着预测
测试
tests/clock_library_periodic_cards_oracle.rs (periodic_cards_reproduce_the_recorded_finding; pre-registered fb475550); clock_library::card::tests (a_periodic_card_carries_the_sinusoid_a_power_law_card_cannot)
由模型计算得出星载时钟状态估计clock_state
能力
3状态(相位/频率/漂移)Van-Loan卡尔曼时钟,Joseph稳定化
参考基准
filterpy 1.4.5 KalmanFilter(R. Labbe,MIT),F通过scipy.linalg.expm得到,Q通过Van-Loan 1978分块矩阵得到:这是一个独立的参考实现,复现了kshana完整的滤波器轨迹。跨实现的一致性:时钟物理与阿伦标定未经外部检验,因此仍为MODELLED。0.30外部比较,一项发现(仍为MODELLED):在11颗GPS Block IIF卫星的IGS最终30 s钟差上(2025-08-17至30),Q按前半段的ADEV拟合,滤波器在留出的后半段上评分,滤波器的一步预测是一致的(0.906至0.971的历元落在其95 % 区间内,判据90 %),但在一小时处于11个钟中的9个过度自信(0.486至0.829),其新息之和在5个钟上落在 [2.4, 3.6] 之外。拟合所得白相位噪声在每颗卫星上均为零,而小时尺度的误差(周期项、闪烁调频)不在3状态模型之内。0.30第2轮,一个扩展滤波器(闪烁调频,以及每圈一次和两次的状态),用2025-09-01至14的全新留出IGS钟差(已预先登记4b1a841e),一项发现(仍为MODELLED):一步和一小时一致性判据在全部11颗卫星上成立(0.948至0.988以及0.907至0.996),但新息之和判据在G24(0.964)和G30(1.929)上相对 [2.4, 3.6] 不成立。D9第3轮,沿用第2轮的扩展滤波器,在冻结的clock_library整理检测器之后,调参和判据不变,用2026-04-01至14的全新IGS钟差(已预先登记fb475550),一项发现(仍为MODELLED):(a)一步0.941至0.968和(c)三倍NIS均值2.641至3.549在全部11颗卫星上成立;(b)一小时在G09(0.894)和G26(0.876)上相对0.90不成立
测试
clock_state::tests(解析van-Loan Q;NEES;功率谱密度为正);tests/clock_state_reference.rs(完整的预测+更新轨迹:状态x与3×3协方差P,1925步 / 4组参数,对filterpy 1.4.5;最坏…
由模型计算得出时间传递误差预算timetransfer, timetransfer_adv
能力
双向/TWSTFT(Sagnac)、GNSS共视、PPP;链路抖动→距离
参考基准
Sagnac量级已对照权威的已发表数值核对:N. Ashby,“Relativity in the GPS”,Living Reviews in Relativity 6:1(2003),式1.29:向东绕赤道一周累积207.4 ns(2ωA_E/c²);kshana复现为207.386 ns。RTKLIB 2.4.3的geodist()(Takasu,BSD-2-Clause)也独立印证了这一点,它带有同样的2Aω/c² 几何。BIPM TWSTFT转发器/共视/PPP的组合预算没有外部参考基准,因此该能力仍属由模型计算得出
测试
timetransfer::tests(互易抵消;双形式Sagnac恒等式);tests/time_transfer_error_budgeting_reference.rs(赤道环绕Sagnac = 207.386 ns,对已发表的Ashby 207.4 ns,吻合到<0.05 ns…
由模型计算得出导航信号调制与码跟踪分析navsignal
能力
BPSK-R/BOC功率谱密度、谱分离系数 κ、Gabor带宽、DLL抖动、多路径
参考基准
GPS C/A Gold码的互相关/自相关与独立的IS-GPS-200码生成完全吻合(整数 ±65/−1/63);BPSK-R(1)/BOC(1,1) 的功率谱密度形状与独立的scipy周期图对照。调制/SSC/DLL的闭式解(Betz 2001 / Kaplan & Hegarty)仍是解析的,因此该行仍为MODELLED,但码相关这一子结论已得到外部吻合。0.30第2轮,对照Betz 2001和Hein等2006的印刷数值(已预先登记9f4f2ce8,容差为半个印刷单位),一项发现(仍为MODELLED):表1的全部45个谱单元、1 GHz相关值、MBOC干扰数值,以及3个图17偏移中的2个一致;24 MHz第一旁瓣、BOC(8,4) 的图17偏移以及图18-21中每一项最坏情况多路径偏差(偏低11至15 %)则不一致。Kshana与对该预先登记读法的独立NumPy计算相互一致,所以差距出在这种读法或论文未说明的某个细节上;原因尚未查明
测试
navsignal::tests (BPSK self-SSC = 2/3R_c; unit-area PSD; DLL); tests/nav_signal_modulation_code_tracking_reference.rs (GPS C/A Gold cross/auto-correlation exact-integer match vs independent IS-GPS-200 code generation…
已独立核对GPS L1 C/A扩频码生成sdr
能力
G1/G2 LFSR C/A码生成器,复现IS-GPS-200已发表的PRN 1–9前10个码片的八进制验证向量(另有1023码片长度、512个值为一的码片的平衡性、三值周期自相关)
参考基准
IS-GPS-200表3-Ia“Code Phase Assignments”:权威的、属美国政府公有领域的已发表前10个码片八进制验证向量(GPS Directorate,navcen.uscg.gov);kshana自己的G1/G2 LFSR完全复现了每一个PRN 1–9的向量。下游的调制/SSC/DLL闭式解仍属由模型计算得出(另一行)
测试
sdr::code_tests (ca_first_ten_chips_match_is_gps_200_octal — PRN 1–9 first-10-chips reproduce IS-GPS-200 Table 3-Ia octals 1440/1620/1710/1744/1133/1455/1131/1454/1626 exactly; ca_code_has_1023_chips_and_is_balanced…
由模型计算得出量子惯性传感器性能inertial::quantum_imu
能力
从第一性原理出发的冷原子干涉仪加速度计(k_eff·T²,QPN)
参考基准
已发表的CAI主要论文数值向量(Cheinet 2008传递函数;Peters/Freier灵敏度):k_eff·T² 完全吻合,散粒噪声ASD是单边下限,在每台已发表仪器的约2× 之内(真实器件的技术噪声高于量子下限)。这是一个界定范围,不是相等。0.30第2轮(已预先登记fcb9ac64),一项发现(仍为MODELLED):仅含QPN的转动噪声对照实测的Gauguet等2009图14各点,在三个纳入的点上比值为0.695至0.788(工作点处为0.751),以0.5个百分点未达预先登记的30 % 判据;QPN下限比实测噪声低21至31 %,这符合缺少激光和探测噪声的模型的预期。梯度仪的组合与Janvier等2022的QPN模型线吻合(比值1.013至1.017,Reference)。该实测检验无法分辨sqrt(2) 的组合误差;只有对比度不等的Janvier线才能做到
测试
quantum_imu::tests(k_eff;Mach-Zehnder T²;Freier-2016下限区间);tests/quantum_inertial_sensor_reference.rs(传递函数 |H(ω)|、k_eff·T² 与散粒噪声ASD,对已发表的Cheinet 2008 / Peters / Freier…
由模型计算得出量子惯性传感器的条纹模糊/动态范围inertial::quantum_imu
能力
Mach–Zehnder条纹模糊动态范围:2π 周期的条纹读出决定了最大无模糊比力a_max=π/(k_eff·T²),而以分辨单元计的无模糊范围a_max/σ_a=π/σ_Φ 与光学标度因子无关:T² 的灵敏度增益恰好同步地消耗无模糊范围(询问时间以分辨率换范围,单元数则由读出相位噪声固定)
参考基准
干涉仪条纹模型的自洽性:半条纹边缘、2π 周期的混叠结构,以及范围/分辨率之比中标度因子的抵消,都是闭式代数恒等式,对照引擎自身的Mach–Zehnder相位和灵敏度函数核对:这是内部一致性检查,并非外部数据集,因此该行仍为InternalConsistency。MODELLED的理想三脉冲条纹模糊;对无模糊范围没有波前像差或对比度损失的界
测试
quantum_imu::tests(a_max位于 ±π 半条纹边缘,且按1/T² 的量程缩放;缠绕相位的恢复在 [−a_max,a_max] 内精确,在其外恰好以2·a_max混叠;无模糊动态范围…
由模型计算得出量子惯性航位推算的韧性inertial::quantum_imu (QuantumNavBudget)
能力
守时期间由偏置 + 标度因子 + VRW + 稳定性衰减合成的位置预算
参考基准
独立的numpy蒙特卡罗SDE积分,对双重积分的白加速度噪声求解(以真正独立的算法检验解析的VRW方差)+ 针对偏置/标度因子项的Groves 2013已发表数值锚定;CAI器件数值量化的是合作方硬件,仍为MODELLED
测试
budget_tests(偏差对AccelModel积分器;VRW对解析积分);tests/quantum_inertial_dead_reckoning_reference.rs(VRW对白加速度噪声的独立numpy蒙特卡罗二重积分,最坏…
已独立核对GNSS/INS传感器融合fusion (gnss_ins_ekf, tightly_coupled, ukf, coupled)
能力
15状态误差状态EKF,松耦合(已对照NaveGo在真实IMU/GNSS行驶数据上检验);紧耦合的伪距/多普勒UKF以及钟差与位置耦合滤波器(仅有一致性检查,在已检验的结论之外)
参考基准
NaveGo v1.4(R. Gonzalez,LGPL-3.0,作为工具在GNU Octave下运行,从不链接):其松耦合ins_gnss在自带的真实Ekinox IMU/GNSS陆地车辆行驶数据上运行,两种解均对照Ekinox参考轨迹评分。两个滤波器读取同一个20 Hz float32输入,Kshana的配置由数据集公布的参数机械映射而来。Kshana的水平和垂直位置RMS及其位置新息RMS均在NaveGo的1.2x之内(实测0.912、0.940和0.861),其平均归一化新息至多为1.5(实测0.395:按数据集所述的GNSS标准差,约有2.5x的信心不足);容差在比较之前已固定。范围:GNSS在整个行驶过程中以5 Hz持续存在,因此没有测试中断或滑行,该检查能发现的是严重的滤波器缺陷,而不是精细调参(经杆臂修正的原始定位解会接近垂直方向的判据);杆臂变换在测试框架中计算。紧耦合UKF以及钟差与位置耦合滤波器仍保留各自的filterpy 1.4.5一致性检查(线性后验精确到2.4e-12),并仍在已检验的结论之外
测试
fusion::tests(UKF==线性KF恒等式;中断滑行;NEES);tests/gnss_ins_sensor_fusion_reference.rs(对filterpy 1.4.5的50个用例:线性EKF松/紧耦合 + 耦合PNT后验吻合到 ≤2.4e-12;UKF 40历元运行最坏…
由模型计算得出无GNSS条件下的压制干扰韧性jamming
能力
几何J/S链路预算、抗干扰C/N₀、逐卫星失锁
参考基准
抗干扰C/N₀ 链路预算方程对照独立的numpy重新推导做了交叉核对(与之共用同一个闭式解 → InternalConsistency),并附有真实JammerTest-2024 C/N₀ 下降的特征刻画。0.30第2轮,被阻塞(仍为MODELLED):实测的JammerTest 2024 C/N0下降对照链路预算预测(已预先登记6a66994b,在3 dB之内)未能运行,因为Bleik处F8.1天线的位置与指向,以及多频段1.6.4斜坡功率中L1所占份额,在测试目录和官方日志中均未记载
测试
jamming::tests(broadband_q_equals_the_spectral_separation_closed_form与cw_q_equals_the_spectral_separation_closed_form:Q表,CW与窄带1,宽带与扫频2,固定为navsignal闭式解…
由模型计算得出欺骗干扰(spoofing)检测spoof, spoof_detect, spoof_monitors
能力
时钟辅助 χ²、RAIM、AGC、SQM融合的逐历元安全性能指标
参考基准
TEXBAT场景参数(Humphreys 2012):属于特征刻画,不是固定的向量。0.30外部比较,一项发现(仍为MODELLED):在JammerTest 2024(Bleik;GPL-3.0数据)上,观测量级的监测器(时钟辅助卡方、RAIM、解算失败)在8个可评估的已公布欺骗干扰起始时刻中,没有一个在10 s内发出告警(起始前窗口干净时,首次告警出现在公布的时隙开始之后10.2至39 s),并且有三个起始前窗口出现了来自时钟监测器的虚警(81、64和173个历元)。首个可观测的影响是双频GPS跟踪丢失,而不是RAIM不一致。公布的起始时刻是分钟级的计划时隙开始时间;它们先于射频采集,这是一种解释,不是测量。0.30第2轮,对照组织方官方的JammerTest 2024日志(秒级分辨率;已预先登记6a66994b,使用经Hadamard标定、不带锁存的三状态时钟监测器),一项发现(仍为MODELLED):在10个已记录的起始时刻中,监测器在4个上于10 s内告警;其余六个则晚了18至211 s,或出现起始前的时钟虚警(2.1.4处1个,2.3.15处85个)。D9第3轮(取自JammerTest设备其他时段的接收机卡,已预先登记2ec76864)被阻塞:训练历元167个,而需要3600个。D9第4轮和4b(噪声水平取自u-blox ZED-F9P模型类别卡,Wroclaw 2021,已预先登记fb475550;4b是采用修正后提取方法的、已公开说明的重跑,c9cc0d49),一项发现(仍为MODELLED):全部10个已记录起始时刻均无起始前虚警,其中10个里有6个在10 s内告警;2.1.1、2.3.5、2.3.10和2.6.1仍然偏晚(+211、+23、+18、+51 s),不受时钟噪声水平影响
测试
tests/spoof_texbat_validation.rs (TEXBAT parameter characterisation); tests/spoof_detection_jammertest_oracle.rs::monitors_against_the_published_onsets_reproduce_the_recorded_disagreement (pins the finding)…
由模型计算得出欺骗干扰下的授时保护级tpl
能力
最坏情况下未检出时间误差的闭式界 = 监测器下限 + CUSUM检测延迟期间的振荡器滑行 σ,以红噪声底区间的形式给出
参考基准
组合已独立检验的基本单元(allan/holdover van-Loan、安全下限);以JammerTest 2024场景2.1.1标定(实际被牵引的授时偏差约1.01 ms,而声称的为 ≤51 ns)。这是建立在已独立检验部分之上的桥接,其本身不是外部检验。0.30外部比较,一项发现(仍为MODELLED):在JammerTest 2024的欺骗干扰场景中,实测的未检出授时偏差在8个已检出的起始时刻中有3个超过名义TPL:2.1.4为184.3对34.6 ns,2.3.5为295.7对159.3 ns,2.3.11为143.0对69.0 ns;界内的五个中有三个是平凡情形(已锁存的起始前虚警)。可能的原因:来自60 s标定、漂移噪声为零的滑行项,没有覆盖接收机TCXO在15至39 s内的频率漂游。实测误差是Kshana自己的单点钟差估计相对于对其自身起始前估计拟合的直线,因此即便吻合,也不会是完全独立的。0.30第2轮,对照官方JammerTest 2024日志的起始时刻和实测的接收机时间误差(已预先登记6a66994b),一项发现(仍为MODELLED):在10个已记录起始时刻中有4个,未检出误差超过含漂移状态的TPL(2.1.1处为634.7对458.5 ns,2.3.5处为232.6对16.2 ns,2.3.10处为41.3对6.0 ns,2.6.3处为218.6对47.4 ns)
测试
tpl::tests (closed-form oracles + CUSUM); examples/tpl_jammertest.rs (JammerTest 2024 real-spoof calibration); tests/tpl_jammertest_coverage_oracle.rs::tpl_against_measured_time_error_reproduces_the_recorded_disagreemen…
已独立核对地月空间任务分析cr3bp
能力
CR3BP状态转移矩阵 + 单次打靶微分修正器;L2南向NRHO
参考基准
NASA/JPL Three-Body Periodic Orbit Database(SSD,periodic_orbits.api;地月L2南向halo族,Howell/Davis方法):外部公布的周期T、Jacobi常数C和垂直穿越初始条件;kshana的单次打靶STM修正器以目录初值为种子并加以扰动,收敛回目录中的成员
测试
cr3bp::tests(STM对有限差分);tests/cislunar_mission_analysis_reference.rs(5个JPL L2-S NRHO成员:9:2 + 4个邻近者;最坏 |ΔC| 1.5e-5,|ΔT|/T 9.6e-5,近月点0.7 km,以JPL长度单位计)
由模型计算得出替代/补充性PNTaltpnt, mapmatch, gravimeter, igrf
能力
重力图匹配、地形参考(TERCOM/SITAN)、磁异常
参考基准
IGRF-14系数;基于第一性原理的匹配滤波器CRLB。真实重力场基准测试所用的场已经外部核对(见“Gravity-anomaly synthesis from a spherical-harmonic model”一行),但其导航结果没有外部参考基准(oracle)
测试
tests/alternative_complementary_pnt_reference.rs (map-matching CRLB; IGRF-14 field); mapmatch::tests; gravimeter::tests; igrf::tests; tests/gravity_map_real_field.rs (the 60-min GPS-denied benchmark on the real EGM2008…
已独立核对由球谐模型合成重力异常gravity_sh, altpnt::maps, gravimeter
能力
球近似下的重力异常(Barthelmes STR09/02式126,ICGEM gravity_anomaly_sa),由完全归一化系数相对于闭式水准椭球(WGS84/GRS80)计算,含零阶项,并网格化供重力图匹配器使用
参考基准
ICGEM Calculation Service(GFZ Potsdam),一个独立的实现:截断到70阶的EGM2008、gravity_anomaly_sa、WGS84、无潮汐、含零阶项、h = 0。该服务的输出没有明确的许可,因此网格在测试时取得并以固定的SHA-256(tools/fetch_icgem_grid.sh)核对,仅注明出处引用十个数值
测试
tests/icgem_gravity_anomaly_oracle.rs(egm2008_n70_matches_cited_icgem_values在CI中对十个引用的ICGEM节点;egm2008_n70_gravity_anomaly_sa_matches_icgem覆盖已取回的乍得9-15N 19-25E的完整0.25度网格以及…
已独立核对真实地形上的SRTM数字高程读取器altpnt::terrain
能力
手写的SRTM .hgt解析器(16位大端、先北行、识别空洞)+ 双线性采样器,读取一块真实的公有领域DEM图块,并求得一个已有记载的测量基准
参考基准
NASA/USGS SRTM v3(1角秒)N36W117图块:美国政府PUBLIC-DOMAIN的高程数据,取自AWS elevation-tiles-prod开放镜像,抽稀到6角秒后提交于tests/fixtures/terrain/ 之下(见NOTICE.md),另有N36W117和N36W119的全分辨率裁切,逐节点与GDAL独立的SRTMHGT读取器核对,并与惠特尼山(4421 m)和Badwater(−86 m)的测量基准核对。已有记载的Badwater Basin基准(−86 m,北美最低点)锚定了地理配准的读取。使用该DEM的地形匹配/TERCOM导航定位仍属由模型计算得出(见另一行Alternative/complementary PNT)
测试
tests/terrain_nav_validation.rs(real_srtm_committed_badwater_tile_reads_real_relief:已提交的公有领域SRTM v3 N36W117瓦片的6角秒抽稀版本给出Badwater Basin,北美洲的最低点…
由模型计算得出可复现性与软件保证report, scenario; CI (golden/determinism/SBOM)
能力
确定性、场景哈希、SBOM + 跨平台golden关卡
参考基准
SBOM与官方CycloneDX 1.5 JSON Schema(及有效的SPDX标识符)的一致性:这是一个外部已发布的标准,对整个依赖图零验证错误;FoM确定性/逐字节可复现的部分仍是固定的自洽检查,因此该行仍为MODELLED
测试
tests/golden.rs, tests/determinism.rs, tests/cross_platform_golden.rs; tests/reproducibility_software_assurance_reference.rs (the generated SBOM validates with zero errors against the official CycloneDX 1.5 JSON Schema…
由模型计算得出AI/ML射频损伤检测评估(13494)impairment_eval
能力
带标注的合成损伤语料库 + 与检测器无关的ROC/AUC/混淆矩阵/Pfa-Pmd测评框架;含泄漏防护、分层划分、分布偏移(域内对域外)的乐观性报告。可作为impairment-eval场景类型从命令行/绑定运行(scenarios/impairment-eval.toml)
参考基准
闭式AUC界(Mann–Whitney)+ 完美参考基准(oracle)检测器;语料库为合成(以参数为依据,不是外场/IQ)
测试
impairment_eval::tests (AUC perfect=1/identical=0.5/tie=0.125, ROC monotone, fused>0.8, per-class layer separation, leakage guard, reproducible corpus, distribution-shift flags optimism); dominance_demonstrators…
由模型计算得出AI/ML射频损伤乐观性差距研究与仅依据域内数据的差距预测器impairment_study, impairment_ml, eval_stats
能力
对已发表方法和学习型(逻辑回归/单隐层MLP)检测器的域内→域外AUC乐观性差距所做的受控合成研究:每类的标度律趋势(Spearman ρ 及对1−严重程度的斜率),以及仅依据域内诊断量估计该差距的岭预测器,按留一检测器法和留一类别法评分。可通过cargo run --release --example optimism_study复现
参考基准
手工推导的统计量与闭式解对照(双正态AUC Φ(d'/√2)、DeLong方差、含同秩处理的Spearman、精确的OLS恢复)+ 对照“预测均值”基线的留一交叉验证。语料库为合成(以参数为依据,绝非外场/IQ),乐观性差距是合成→合成的严重程度偏移,并非仿真到外场的结果
测试
impairment_study::tests(每类参考基准AUC≈1,学习到的乐观差距>0,网格形状 + 自助法置信区间包住均值 + 正的缩放趋势,ID特征有限,差距预测器优于预测均值,在两种…下均如此
由模型计算得出量子与经典PNT的权衡及无GNSS条件下的韧性(13503)quantum_trade
能力
实测ADEV摄取(NNLS)、权衡表(授时/惯性守时 + 收益)、韧性随时间的包络;下限的注意事项随制品一并给出。可作为quantum-trade场景类型从命令行/绑定运行(scenarios/quantum-trade.toml)
参考基准
实测ADEV→PSD拟合(NNLS)核与scipy.optimize.nnls吻合(tests/scipy_reference.rs / tests/quantum_vs_classical_pnt_trade_reference.rs),这是一个独立的外部核;但权衡的数值只是对合作方时钟/CAI的量化(绝不是检验),因此权衡本身仍为MODELLED,没有检验光环
测试
quantum_trade::tests (ADEV round-trip recovery, NNLS non-negativity, floor-caveat present/absent, benefit>1, monotone envelope + alt-PNT bound); dominance_demonstrators (measured-ADEV is data-driven not floor-assumed…
由模型计算得出空间天气环境与活动驱动的热层密度space_weather
能力
太阳/地磁指数(按定义的Kp↔ap表)、Jacchia-1971外逸层温度,以及Jacchia 1971热层密度(SAO Special Report 332:静态扩散剖面,复现其表7,含周日、地磁、半年、季节-纬度和氦的变化),对照静态USSA76大气。可作为space-weather场景类型从命令行/绑定运行(scenarios/space-weather.toml)
参考基准
按定义的Kp↔ap表 + Jacchia-1971外逸层温度闭式解(与已发表的锚点吻合到<1 K,tests/space_weather_reference.rs);密度则对照pymsis NRLMSISE-00(独立的NRL模型)做特征刻画:800 km处的太阳周期变幅为10.4x,而NRLMSISE-00为13.6x。0.30修订:经标定的一阶活动因子已被Jacchia 1971取代(默认场景在400 km处的密度4.176e-12 -> 6.929e-12 kg/m3;移除reference_exospheric_temperature_k,新增mean_exospheric_temperature_k)。0.30第2轮,实测的TOLEOS CHAMP/GRACE/GRACE-FO加速度计密度(ESA Swarm DISC;已预先登记20eed695),一项发现(仍为MODELLED):在太阳活动极大期、风暴之外,400至500 km的轨道平均值在2倍以内(CHAMP 2001 521/521,GRACE-A 2002 120/120,GRACE-FO 2024 526/547),但Jacchia 1971在2008年太阳活动极小期约高估1.7x(GRACE-A在2倍以内为412/544),因此该密度未经独立检验
测试
space_weather::tests(Kp↔ap在网格点上精确 + 往返 + 单调,日Ap均值,外逸层温度对已发表的太阳极小/平均/极大 + 风暴增量锚点,密度在参考处为一,太阳周期摆幅在…
已独立核对CCSDS OEM互操作性(GMAT/Orekit/STK星历导入)oem
能力
CCSDS 502.0 OEM导入器(parse_oem),容许COMMENT行/额外的元数据关键字/协方差块,并且是写出器的精确逆;往返 + 外部文件摄取,带速度一致性检查。可作为oem-interop场景类型从命令行/绑定运行(scenarios/oem-interop.toml)
参考基准
独立的第三方CCSDS-502解析器oem 0.4.5(MIT,https://pypi.org/project/oem/):这是一个独立的代码库,能逐字节一致地解码kshana输出的EME2000/UTC OEM(2个夹具共24个状态,位置/速度 Δ = 0),其严格读取器也确认了元数据记号;kshana的解析器在一份引入的外部OEM上同样与它一致。两项如实说明的互操作发现(oem库拒绝kshana的每颗卫星多段约定及其多条目协方差行)已记录在测试中,因此这检验的是符合规范的单对象交换,不是kshana每一种变体的完整CCSDS-502一致性
测试
tests/ccsds_oem_interop_reference.rs(24个状态 / 2个夹具由独立的oem解析器逐字节相同地解码,位置/速度 Δ = 0);oem::tests(解析带有额外关键字/注释/协方差的外部工具OEM…
由模型计算得出发射窗口与上升段几何(任务分析)launch
能力
二体发射方位角(sin Az = cos i / cos lat)、最小可达倾角、圆轨道速度、地球自转的向东增益、分支(dogleg)转面 Δv和每日发射机会,并且在给定历元与IERS finals2000A行时,给出绕真极的站点速度(launch::site_rotation_speed_at)。可作为launch-window场景类型从命令行/绑定运行(scenarios/launch-window.toml)
参考基准
闭式球面三角发射几何,对照已发表的算例锚点(Vallado,Fundamentals of Astrodynamics第4版,算法37发射方位角 + 第6章转面;tests/launch_window_ascent_geometry_reference.rs)。这些算例沿用kshana所实现的同一个闭式解(已发表数值一致/转录检查,InternalConsistency);MODELLED的二体模型,没有自转地球速度三角形/上升段/阻力损失模型。0.30与Orekit 12.2(Apache-2.0)的外部比较,一项发现(仍为MODELLED):几何在舍入误差范围内一致(由158个算例中的入轨方位角回算倾角,最差2.6e-15 rad;最小倾角、圆轨道速度和分支delta-v到3e-16),但地球自转的站点速度在纬度62.9 deg处未达预先登记的1e-6相对误差(1.12e-6)。差距按tan(lat) 增长,与Orekit地球坐标系中约5.8e-7 rad的极移极点偏移一致,而球面的 ω·R·cos(lat) 没有计入这一项。该结论在运行前没有收窄,因此该行不能依据这次比较升级。0.30第2轮(已预先登记71bebf63):给定历元和IERS行时,真极站点速度(场景字段site_rotation_speed_true_pole_m_s)在四个经度的24个站点上与Orekit吻合到1e-6以内(最差4.9e-8),但场景默认作为地球自转增益输出的无历元名义速度仍然偏差1.12e-6,因此该行仍为MODELLED,待就默认输出作出决定
测试
launch::tests (due-east launch reaches i=latitude, KSC→ISS = textbook 45°, polar = N/S, i<lat unreachable, 465 m/s equatorial bonus, plane-change 10° ≈ 1.34 km/s + 180° = 2v, daily-opportunity counts, scenario…
由模型计算得出弹道再入走廊(Allen–Eggers)reentry
能力
指数大气中弹道再入的峰值减速度(与弹道系数无关)、峰值过载处的速度与高度,以及峰值加热速度。可作为reentry场景类型从命令行/绑定运行(scenarios/reentry.toml)
参考基准
闭式Allen–Eggers解析再入,另外对照scipy 1.18 solve_ivp(DOP853)对同一个仅含阻力的再入ODE做的数值积分核对(tests/ballistic_re_entry_corridor_reference.rs,36个算例,最差a_max相对误差2.9e-9):这是数值积分对其自身解析形式的检查,因此仍为InternalConsistency,并非外部检验。MODELLED的弹道再入(无升力),没有气动热/TPS,加热输出是速度,不是热流密度。0.30外部比较,一项发现(仍为MODELLED):对照Stardust SRC再入重建(Desai和Qualls,NASA NTRS 20080008567),所印惯性系再入状态(12.9 km/s,-8.2 deg,H 7200 m)下Allen–Eggers的峰值减速度为61.8 g,而最佳估计轨迹为32.89 g,高出 +88 %,而容差为15 %:恒定飞行路径角、无重力的解,使浅角度、超逃逸速度再入的峰值约增至两倍。Stardust没有携带加速度计,因此该重建是一种轨迹估计。0.30第2轮,被阻塞(仍为MODELLED):积分的平面质点解(reentry::simulate_planar_entry,US76,平方反比重力,曲率)与Stardust和Genesis的最佳估计轨迹在15 % 之内吻合(+11.3 %、+5.6 %),但这些最大值是机构的仿真输出,不是测量,因此这只是交叉核对。加速度计比较(已预先登记a94a283d)因缺少可读的Hayabusa2 REMM分析副本(doi 10.57350/jesa.16)而被阻塞
测试
reentry::tests(峰值g与弹道系数无关 + 物理上合理的g区间,随更陡的 γ / 更快的再入而增大,峰值g速度 = V_e·e^(−1/2),峰值加热 = V_e·e^(−1/6) 更快,峰值g高度物理上合理 +…
已独立核对对地观测载荷的足迹与覆盖几何eo_payload (j2_node_rate, j2_nodal_period, ground_track_spacing_equator_j2, sun_synchronous_inclination)
能力
SMAD空间三角形几何:地球角半径、幅宽、星下点GSD、最大离天底接入角和圆轨道周期,加上一阶J2交点周期(eo_payload::j2_nodal_period)和赤道星下点轨迹间距R_e (omega_E - dOmega/dt) T_nodal(eo_payload::ground_track_spacing_equator_j2)以及连续覆盖标志,输入为轨道高度、倾角和传感器FOV/IFOV。可作为eo-coverage场景类型从命令行/绑定运行(scenarios/eo-coverage.toml);其默认倾角是eo_payload::sun_synchronous_inclination给出的太阳同步倾角,这是一个便利性默认值,不属于已独立检验的结论
参考基准
Orekit 12.2(Apache-2.0)和GeographicLib 2.1(MIT),均作为独立程序运行,在引擎改动和任何参考基准(oracle)运行之前已预先登记(766823f3):球面量在相对1e-9之内(最差:角半径5.4e-16,幅宽7.0e-13,接入角1.9e-14),周期1e-12(1.6e-16),星下点GSD 1e-7(2.9e-10),J2交点周期和交点间距与带交点检测器的Orekit数值J2外推相差在0.1 % 之内(1.2e-5和6.7e-5),连续标志完全一致(168/168),对照WGS-84椭球,临边在0.3 deg之内(0.186 deg),最大地面距离在0.5 % 之内(3.2e-3)。去掉交点退行项会使42个交点中的35个失败。MODELLED的范围:球形地球的足迹;没有辐射测量、MTF、大气、抖动或耀光;太阳同步默认倾角未做比较。此前的Skyfield/SGP4交叉核对作为回归保留。0.30修订:间距现在计入J2交点退行(默认场景2756.37 -> 2752.17 km)
测试
eo_payload::tests(700 km处的角半径64° + 随高度缩小,天底→天顶/零距离,地平线→ε=0/最大中心角,越过地平线报错,刈幅随视场FOV / 地面采样距离GSD随高度增大,约2750 km的节点间距…
已独立核对CCSDS Space Packet(133.0)TM/TC成帧space_packet
能力
CCSDS 133.0-B Space Packet主头的编码/解码(版本/类型/次级头标志/APID/序列标志/计数/数据长度)+ 一个成帧场景。可作为space-packet场景类型从命令行/绑定运行(scenarios/space-packet.toml)
参考基准
spacepackets 0.32.0(us-irs/spacepackets-py,R. Mueller,Apache-2.0):CCSDS 133.0-B-2的独立第三方实现;kshana的encode_packet/decode_packet与之逐字节吻合(33个算例的6八位组主头 + 12个算例的完整编码包)
测试
space_packet::tests(头部比特与CCSDS-133布局相符,编码→解码往返所有字段,越界/截断被拒绝);tests/ccsds_space_packet_reference.rs(对spacepackets 0.32.0的33个用例,含12…
已独立核对CCSDS Space Packet次级头、包差错控制与分段space_packet(TimeCode、SecondaryHeader、包差错控制、分段与重组、流解码)
能力
主头之外的CCSDS 133.0-B-2 Space Packet扩展:携带CCSDS 301.0-B时间码(CUC或CDS,显式或隐式P字段)和辅助数据的次级头、CRC-16包差错控制字段、大型用户数据单元的分段及其重组、带序列间隙和顺序检查的流解码,以及PUS-TM包。主头输出与此前逐字节相同
参考基准
在任何比较之前已预先登记(003ef3eb);四个独立实现,均非GPL,无任何内置:ccsdspy 2.0.1(BSD-3-Clause)解码5个流中的34个Kshana写出的包(主头、P字段、粗时间和细时间、CDS字段、辅助数据、用户数据、PEC),并由其用户数据重建两个1000八位组的分段单元,不一致为0处,它还标出了Kshana所拒绝的丢包流和乱序流;8条报文和57个PEC字段的CRC与CPython binascii.crc_hqx和spacepackets-rs 0.18.0相等(校验值0x29B1);66个CUC和CDS时间码算例的写入与读取与spacepackets-rs 0.18.0逐八位组相等(其中3个CDS算例也与spacepackets-py 0.32.0相等);4个spacepackets-py 0.32.0的PusTm包与Kshana的逐字节相同。未覆盖:机构历元的时间码(7个算例仅依靠单元测试)、TC传送帧以及包以下的任何链路层
测试
tests/space_packet_ext_oracle.rs(五项预先登记的判据:CRC、时间码、数据流、间隙与顺序、PUS TM;零不一致);space_packet::tests
已独立核对SPICE SPK导出(类型9和13)spk_writer (SpkSegment, to_bytes, from_bytes, eval, et_from_label, oem_to_spk_segments)
能力
NAIF SPICE SPK内核的写出器和读取器,类型为9(Lagrange,不等时间步长)和13(Hermite,不等时间步长),含DAF布局、段描述符和历元目录,并可将CCSDS OEM导出为SPK内核(UTC或TDB历元转换为星历时)
参考基准
通过spiceypy 8.3.0使用的CSPICE N0067,闰秒内核naif0012.tls,在SPICE读取任何Kshana内核之前已预先登记(5059fd2a):SPICE对Kshana四个内核的清单完全吻合;spkpvn和spkgeo在5,516个历元和690次链式求值上与Kshana自己的求值逐位相等,并在每个节点上都落在判据之内(最差为判据的0.022);Kshana读取SPICE写出的内核逐位一致;对相同输入,Kshana的内核与SPICE的逐字节相同(四个文件中不同字节为0);OEM历元转换为星历时,与str2et相差在6.0e-8 s之内(判据1e-6 s),SPICE对OEM导出的求值落在判据之内(最差0.060)。合成的开普勒弧段:不涉及物理精度。其他SPK类型不写出
测试
tests/spk_writer_spice_oracle.rs(清单、求值、比特与字节一致、OEM历元转换;四项预定的变异检查使其变红)
已独立核对SPICE SPK类型3和21(Chebyshev,扩展差分线)spk_writer (SpkType::Chebyshev3, SpkType::DiffLines21, SpkSegment, InterpolatedSpk)
能力
NAIF SPICE SPK类型3(对位置和速度在固定区间上的Chebyshev多项式,阶数0至27)和类型21(扩展修正差分数组,即JPL积分器的差分线,MAXDIM 15至25)段的写出器和读取器,由给定的记录出发,写入同时含类型9和13段的文件;记录选取和求值按SPICE读取器的顺序进行。Kshana不拟合Chebyshev系数,也不生成差分线
参考基准
通过spiceypy 8.3.0使用的CSPICE N0067(spkw03、spkw13,以及由同一库按其f2c符号提供的spkw21;spkpvn、spkgeo),在代码存在之前已预先登记(e1cf80d8),合成记录取自该提交的SHA-1:对于三个文件(类型3,阶数0、12和27,含3至150条记录;类型21,MAXDIM 15、20和25,含1至250条线,零至两个目录项和一条中心链;类型3、21和13同在一个带注释的文件中),SPICE对Kshana内核的清单完全吻合,Kshana的内核与SPICE由同样记录写出的内核逐字节相同,并且spkpvn和spkgeo在Kshana的文件和SPICE的文件上都与Kshana的读取器逐位相等(每个方向48,876个分量,判据为相对1e-12)。合成记录:不涉及物理精度;真实的JPL生成的类型21内核不在算例集之内
测试
tests/spk_3_21_spice_oracle.rs (inventory, evaluation both ways, byte identity); spk_writer::tests
已独立核对CCSDS姿态数据报文(AEM、APM)adm (AemMessage, ApmMessage, quaternion_a_to_b), ndm_xml
能力
CCSDS 504.0-B-2姿态数据报文的写出器和读取器,支持KVN和NDM/XML:AEM版本2.0(以及KVN下的1.0,含其ATTITUDE_DIR、QUATERNION_TYPE和数值旋转序列),含四元数、欧拉角和自旋姿态类型及其导数、角速度和章动变体,可有多个段;APM版本2.0,含四元数、欧拉、角速度、自旋、惯量和机动块;记录的A到B四元数(504.0-B-2附录F)
参考基准
Orekit 13.1.8(Apache-2.0)的解析器和写出器,作为独立程序运行(xval/adm-orekit),在任何比较之前已预先登记(7a6a05fe):Orekit解析Kshana写出的每一条报文(14条AEM KVN、11条AEM XML、4条APM KVN、4条APM XML),每个值都落在各自的判据之内(四元数1e-14,角度1e-9 deg;最差为判据的0.054);Kshana解析Orekit由相同输入写出的31条报文,均落在各判据之内;135条四元数、欧拉和自旋记录的旋转,各自与AemSegment.getAngularCoordinates相等,差在1e-12之内(最差为判据的0.0071)。Kshana的全部15条XML报文都通过NDM/XML 4.0.0 schema的验证(数据门控,以固定的SHA-256取得)。发现:Orekit的APM写出器拒绝不带MAN_DELTA_MASS的机动(该字段在标准中是可选的),因此APM机动仅在Kshana写出的方向上得到覆盖。算例集之外:AEM 1.0 */RATE类型和XML、重复的APM块
测试
tests/adm_orekit_oracle.rs (L1 Orekit reads 33 Kshana files, L2 Kshana reads 31 Orekit files, L3 135 record rotations; findings pinned); adm::tests; ndm_xml::tests
已独立核对CCSDS轨道数据报文(OPM、OMM、OCM)odm (OpmMessage, OmmMessage, OcmMessage, Section, OcmBlock), ndm_xml
能力
CCSDS 502.0-B-3轨道数据报文的写出器和读取器,支持KVN和NDM/XML:OPM 3.0和2.0(状态矢量、密切开普勒根数、航天器参数、协方差、机动、用户定义参数),OMM 3.0和2.0(以平均运动或半长轴给出的平均根数、含BSTAR或BTERM及AGOM的TLE相关参数、协方差),以及OCM 3.0,含轨迹(CARTP、CARTPV、CARTPVA;绝对或相对历元)、物理属性、协方差(LTM顺序的CARTP、CARTPV)、机动和用户定义块;以及由SGP4根数集生成的全精度OMM,与保持不变的OmmFile::to_omm_kvn并存
参考基准
Orekit 13.1.8(Apache-2.0)的OPM、OMM和OCM解析器和写出器,作为独立程序运行(xval/odm-orekit),在任何比较之前已预先登记(cc6841da):Kshana写出的30条报文中有27条(KVN下6个OPM、5个OMM和5个OCM算例,以及版本3.0的XML)能在Orekit中解析,每个值的相对误差在1e-14之内,每个历元在1e-9 s之内(904个值,最差为判据的0.021),并且Kshana读取Orekit写回的全部25条报文,落在同样的判据之内(858个值,最差0.020);Kshana的全部14条XML报文都通过NDM/XML 4.0.0 schema的验证(数据门控)。发现,已固定,用来收窄结论:Orekit要求ELEMENT_SET_NO(在502.0-B-3中是可选的),拒绝XML用户定义参数中的COMMENT(schema允许),不会在没有BSTAR时写出BTERM(因此BTERM和AGOM仅在Kshana写出的方向上得到覆盖),并且把OCM相对历元按SI秒相加,所以在TDB下与TDB日历读数相差约1.9e-10 s/s(UTC、TAI和TT一致)。旧版OmmFile::to_omm_kvn的输出把OMM元数据包在META_START/META_STOP中,被Orekit拒绝(已记录)。范围之外:OCM的PERT和OD块、非笛卡尔的根数集、其他协方差排列顺序
测试
tests/odm_orekit_oracle.rs(L1 Orekit读取30个Kshana文件,L2 Kshana读取25个Orekit文件;发现已固定并断言会重现);odm::tests
已独立核对3-DOF姿态与指向误差预算(AOCS)attitude_budget
能力
重力梯度最坏情况扰动力矩((3/2)(μ/R³)ΔI),取其在各姿态上的峰值(经独立核对的声明),外加基于具名1σ 贡献项的RSS指向误差预算及其主导项(由调用方提供的数字的求方和,不在经独立核对的声明之内)。可从CLI/绑定作为attitude-budget场景类运行(scenarios/attitude-budget.toml)
参考基准
Basilisk 2.9.1 GravityGradientEffector(AVSLab,ISC),全张量重力梯度力矩的独立C++ 实现:Kshana的峰值 (3/2)(μ/R³)ΔI在45度姿态下与Basilisk的力矩相对偏差在1e-12以内(最差2.1e-15),覆盖5个高度和8个惯量张量,并在每个算例2000个随机姿态上界定Basilisk的力矩;容差在比较之前固定。经独立核对的声明:重力梯度力矩峰值。RSS指向预算是由调用方提供的数字的求方和,没有外部真值,仍在其之外;手写的Hipparchus全张量最大化仍作为辅助的自洽检查。没有控制回路/6-DoF/柔性模态仿真
测试
attitude_budget::tests(对称体的GG力矩为零,位置越低越大,对 ΔI线性,RSS求积和,方差占比之和为1);tests/attitude_gg_torque_reference.rs(20个用例对独立的…
已独立核对地面站过境预测(地面段)passes
能力
引擎传播器在高于仰角遮蔽的测站上的时域可见过境(AOS/TCA/LOS、最大仰角、持续时间),带内插的升/落穿越及总接入时间:passes::predict_passes,即几何调度器(无折射或光行时)。passes场景类运行“含折射与光行时的地面站视过境预测”一行的视预测器
参考基准
Orekit 12.2(CS GROUP,Apache-2.0)+ Hipparchus 3.1——独立的飞行动力学库:在ITRF星历上使用ElevationDetector(Brent求根)+ EventsLogger,测站为WGS-84 TopocentricFrame。在相同的轨道+测站+遮蔽+窗口上,AOS/LOS/最大仰角/过境次数/总接入时间吻合(已提交的夹具;驱动程序xval/orekit-passes)
测试
passes::tests (interp-cross linear + degenerate-safe, polar→mid-lat passes, higher mask ⇒ fewer-or-equal); tests/ground_station_pass_prediction_reference.rs (22 scenarios / 129 passes vs Orekit 12.2 ElevationDetector…
已独立核对含折射与光行时的地面站视过境预测passes (predict_passes_apparent, apparent_look_angles, ApparentOptions, p834_tau_s_deg, p834_tau_deg, p834_theta_m_deg, p834_apparent_elevation_deg, PassesScenario)
能力
WGS-84测站上SGP4根数集的可见过境(AOS、TCA、LOS、最大视仰角、持续时间),采用经独立核对的地球轨道路径(IAU 2006/2000A,可选地球定向参数),带ITU-R P.834-9对流层折射(公式9至14,取该建议书印刷的系数)和下行光行时,二者均可开关;穿越时刻用二分法解至1e-7 s,中天用黄金分割搜索。可从CLI/绑定作为passes场景类运行(scenarios/passes.toml),两项改正默认开启
参考基准
Orekit 13.1.8(CS GROUP,Apache-2.0)配Hipparchus 4.0.3:在同样的根数集上用TLEPropagator,TEME由Orekit按所述定义构造(其IERS 2010 TOD经GAST - GMST旋转),ElevationDetector和ElevationExtremumDetector分别在有无ITURP834AtmosphericRefraction下运行,光行时情形用带AngularRadioRefractionModifier的AngularAzEl,穿越和最大值由Hipparchus求解;60个算例(四条轨道,五个海平面测站,遮蔽角0、5和10度,24小时)。判据于运行前固定(预先登记e947e69d,72ea9eb0的分支3)。忽略光行时(9777项失败)或把P.834常数1.728改为1.828(7883项失败),测试即变红。范围:海平面测站;Orekit的P.834 h*theta0^2系数为0.011380,而建议书印刷的是0.01380(已固定),因此高于海平面的高度不做比较。第1轮对照Orekit默认的IERS 1996 TEME,所有过境判据均成立,但方向判据因72 mas的TEME约定差而未达到(已固定)
测试
tests/pass_predictor_on_path_orekit_oracle.rs (60 cases, 1210 passes: AOS/LOS within 3.4e-6 s, bar 5 ms; maximum elevation within 5.5e-7 deg, bar 1e-3 deg; 8979 apparent directions within 8.8e-7 deg, bar 1e-4 deg)…
由模型计算得出LEO下行过境中的DVB-S2自适应编码调制contact_schedule (es_n0_db, select_modcod, fspl_db, atmospheric_loss_db, ccm_modcod, pass_capacity, AcmLinkScenario); passes::predict_passes_apparent
能力
一颗卫星经过一个测站每次过境沿途的下行Es/N0(EIRP、自由空间损耗、余割律大气损耗、其他损耗、G/T、Boltzmann常数、符号率),每一步选取满足ETSI EN 302 307-1 V1.4.1表13准无误码门限加实现余量的最高效DVB-S2 MODCOD,该次过境的ACM数据量,以及在遮蔽角和最远距离处仍闭合的恒定编码基线。可作为acm-link场景类运行。示意性输入;MODELLED。
参考基准
内部一致性:由表5a的K_bch和帧长以闭式计算的频谱效率,与表13印刷的效率一致(对门限表的转录检查);链路预算各部分与其闭式一致;选择随Es/N0单调并遵守余量;ACM传送的数据量不少于恒定编码。过境几何来自另行VALIDATED的视过境预测器。不包括的内容:未与任何外部工具或实测链路比较;门限是标准给出的理想AWGN值,而非某调制解调器的值;雨衰、沿途的指向损耗和导频未建模。
测试
contact_schedule::tests::modcod_efficiency_closed_form_matches_the_printed_table; contact_schedule::tests::modcod_selection_is_monotone_and_honours_the_margin…
由模型计算得出带冲突消解的多卫星多测站地面接触调度contact_schedule (conflicts, objective, delivered, schedule_chronological, schedule_greedy, schedule_optimal, ContactScheduleScenario)
能力
来自每次卫星-测站过境的候选接触及其ACM数据量;同一天线在其转换时间内要服务两颗卫星、或一颗卫星要同时向两个测站下行时的冲突;以各卫星积压量为上限的优先级加权交付目标;惰性边际价值贪心方案、先到先服务基线,以及在至多26个候选上的精确分支定界,并报告贪心的最优性差距。可作为contact-schedule场景类运行。示意性输入;MODELLED。
参考基准
内部一致性:精确分支定界在小型随机集上与暴力枚举一致,每个方案均对照冲突规则检查可行,且贪心从不优于精确最优解。不包括的内容:未与任何外部调度器或运行计划比较;接触按整体处理(不拆分),积压量在窗口开始时固定,超出固定转换时间的转向时间和星上存储未建模。
测试
contact_schedule::tests::conflicts_cover_turnaround_and_one_station_per_satellite; contact_schedule::tests::greedy_is_feasible_and_the_exact_solver_beats_or_ties_it…
已独立核对单向链路预算(通信 / 链路设计)linkbudget
能力
针对所需Eb/N₀,在CCSDS 401 / DSN 810-005链路方程上对EIRP/G·T/距离/速率/频段给出自由空间路径损耗、C/N₀、Eb/N₀、余量和闭合性。可从CLI/绑定作为link-budget场景类运行(scenarios/link-budget.toml)
参考基准
已发布的深空通信设计控制表,作为固定的数值向量:DESCANSO / J. H. Yuen(编),Deep Space Telecommunications Systems Engineering,JPL Pub 82-76,表1-1(Galileo X波段)——kshana重新组装该表的各行条目,并复现其已发布的端到端L_fs 290.54 dB和Pr/N0 54.6 dB-Hz;自由空间损耗还对照ITU-R P.525核对
测试
linkbudget::tests (free-space-loss form, link-equation closure); tests/one_way_link_budget_reference.rs (DESCANSO/JPL Galileo X-band DCT reproduced end-to-end + 6 ITU-R P.525 FSL cases across DSN S/X/Ka band centres…
由模型计算得出精打细算的单位覆盖成本 / ROI框架frugal (over walker)
能力
在星座规模引擎之上的每百分点覆盖成本 + 每欧元覆盖ROI;每颗卫星的成本是调用方提供来源的低/标称/高区间(没有捏造的价格)
参考基准
闭式成本算术对照手工推导的值;这是对建模覆盖数字的经济学表述,不是报价,也不是经独立核对的成本模型
测试
frugal::tests (hand-derived cost-per-coverage 48/96=0.5, ROI ratio 2.667, bracket-ordering + zero-coverage guards)
由模型计算得出漏检的完好性影响(情境感知HPL/VPL对告警限值)integrity_impact (over raim)
能力
把未检出的欺骗/压制偏差映射为有效误差 → Stanford区域(可用/不可用/MI/HMI),对照特定情境的HAL/VAL(开阔天空对城市)
参考基准
组合经外部核对的RAIM Stanford分类(raim::classify_stanford);漏检→AL的映射本身由模型得出,不是经认证的完好性分配
测试
integrity_impact::tests(随着上下文收紧,同一次漏检从Available→MI→HMI;保守PL→Unavailable;逐轴HMI;输入防护)
由模型计算得出CAI引用的误差模型参数表(13503)inertial::cai_params (over inertial::quantum_imu)
能力
带区间(最佳/标称/保守)的冷原子干涉仪性能——偏置不稳定性、速度/角度随机游走、标度因数稳定性、受询问限制的采样率、条纹模糊动态范围——每项均可追溯到引用;供给QuantumNavBudget,而不对硬件建模
参考基准
内部一致性:所引用的VRW区间对照CaiAccelerometer::accel_asd物理做交叉核对,并由条纹模糊极限算出原始动态范围;这些数字是MODELLED的文献调研区间(needs_source_confirmation),没有任何器件经独立核对,也没有核对光环
测试
inertial::cai_params::tests(物理VRW在全部3个级别上都落在所引用的VRW区间内;原始条纹模糊范围由k_eff·T² 算出;保守预算比最佳预算漂移更多;每个区间均有出处 +…
由模型计算得出授时完好性conformance基准测试——Stanford完好性图历元分类器src/benchmark/stanford.rs
能力
TIB Stanford完好性图历元分类(标称/不可用/MI/HMI)
参考基准
在同一采样集上对四区域规则的独立numpy重新实现(scripts/gen_tib_scorer_reference.py);方法引自Stanford–ESA完好性图(Tossaint等,ION GNSS 2007)和RTCA DO-229 WAAS MOPS。不是ExternalDataset精度参考基准(oracle)——该基准测试对如实性免疫。
测试
src/benchmark/stanford.rs::tests(四个区域 + 含端点的边界 + |error| + PL>AL不可用);tests/tib_scorer_reference.rs(分类计数对独立numpy,在固定的合成集上)
由模型计算得出授时完好性conformance基准测试——完好性覆盖评分器src/benchmark/coverage.rs
能力
TIB完好性覆盖评分(HMI/MI/可用性比率 + 包络覆盖结论)
参考基准
tests/fixtures/tib/reference.json中的独立numpy区域重新计数;仅为评分器机制的交叉核对,不作精度声明。
测试
src/benchmark/coverage.rs::tests (clean/under-bounded/all-unavailable/empty); tests/tib_scorer_reference.rs (counts + rates + coverage_ok vs numpy to 1e-12)
由模型计算得出授时完好性conformance基准测试——故障目录(参数化生成器)src/benchmark/faults.rs
能力
TIB故障菜单(域发散、钟猛调、守时滑行、静态/增量/对称/非对称延迟、新鲜度内重放、路径选择性、k-of-N表决)
参考基准
有代表性的参数化故障生成器(由模型得出);不可检测集合(对称延迟、新鲜度内重放)引自Mizrahi RFC 7384以及Narula & Humphreys(IEEE JSTSP 2018)。没有外部参考基准(oracle)——故障目录不作实测声明。
测试
src/benchmark/faults.rs::tests (offset profiles, monotone coast, undetectable-set flagging, max_offset consistency, exactly two undetectable classes)
由模型计算得出授时完好性conformance基准测试——不可检测量吸收结论src/benchmark/scorecard.rs
能力
TIB不可检测量吸收结论(对称/重放必须由PL吸收,绝不报告为已检出)
参考基准
性质检查:Verdict枚举在结构上不可能把不可检测的故障报告为已检出(Mizrahi RFC 7384);被吸收 ⟺ PL ≥ 偏移。没有精度参考基准(oracle)。
测试
src/benchmark/scorecard.rs::tests(参考PL吸收;失效的PL未被吸收、从未检出;可检测的覆盖判定;诚实性属性:对不可检测的……不可能得出覆盖/检测判定…
Partner-owned航天器平台工程(AOCS/热控/结构/推进/电源)
能力
不提供——Kshana是导航性能仿真器,不是平台制造商
参考基准
无:标注为合作方负责
测试
Partner-owned导航射频载荷与天线硬件设计
能力
不提供——Kshana对信号性能建模,而不是载荷/天线硬件
参考基准
无:标注为合作方负责
测试
Partner-owned量子载荷硬件设计与成熟化
能力
不提供——仅有性能模型;冷原子/时钟硬件由合作方负责
参考基准
无:标注为合作方负责
测试
Partner-owned飞行硬件产品保证(辐射/EEE/MAIT)
能力
不提供——Kshana只涉及软件产品保证;飞行产品保证由合作方负责
参考基准
无:标注为合作方负责
测试
已独立核对月球坐标时lunar_time
能力
相对论地月时钟速率(LTC/TCL)+ TT/TAI/UTC链接 + 集合
参考基准
Ashby & Patla 2024,“A Relativistic Framework to Estimate Clock Rates on the Moon”,Astronomical Journal 167:149(NIST;IAU/IAG LunaNet LTC的基础):月面自身势L_m = 3.13881e-11和长期总量56.02 µs/天,与已发布数值吻合;地心月球速度对照JPL DE440(经SPICE的de440s.bsp)交叉核对
测试
lunar_time::tests (closed-form rate; round-trip); tests/lunar_coordinate_time_reference.rs (LTC self-potential & secular-rate terms vs published Ashby & Patla 2024 values + geocentric Moon speed vs JPL DE440)
由模型计算得出光/射频混合报告的自我描述hybrid_integrity
能力
hybrid-optical-rf报告说明其实际运行的链路配置(载波波长、发射与接收口径、距离、脉宽、积分时间、效率与损耗,默认值已解析),并带有一个单位块,给出论文可能引用的每个量的单位和来源类别,包括以平方米为单位的交接协方差迹
参考基准
没有外部参考基准(oracle),也不可能有:这是自我描述,不是测量。之所以记录,是因为缺少它曾是一个缺陷——P5不得不从源码默认值引用载波波长和发射口径,并通过内部一致性检查推断出裸variance的单位是平方米。这一推断是正确的,而这正是它重要的原因:即使它是错的,也没有任何东西能发现
测试
hybrid_integrity::tests(所解析的配置在默认值与覆盖值下都被回显,波长不经米往返;每个units条目都带有单位和出处类别;每个…
由模型计算得出射频侧的光/射频混合链路可用性hybrid_integrity, linkbudget, jamming
能力
hybrid-optical-rf报告给出一个射频链路可用性,它由引擎已经计算的量组合而成,而不是来自导入的气候统计,并把这种组合表述为一条具名规则:A_rf = I_closure * I_track,其中I_closure是单向CCSDS-401 / DSN-810-005链路预算(linkbudget::link_budget,Eb/N0余量 >= 0)在该场景自身距离上的闭合结论,I_track是对同一份预算所返回的C/N0做出的跟踪环路结论(jamming::lock_status)。每个因子都把其输入的来源类别带到输出,而有意不在乘积中的因子——几何可见性、干扰拒止和射频中断气候统计——则连同原因一并指明,而不是悄悄取为1。已解析的射频分支作为独立的rf_link_configuration块回显,指示量旁的连续数字(链路余量、C/N0余量、闭式闭合距离与跟踪距离,以及距离利用率)是同一份预算的距离反演。报告在读者所见的块和单位条目中完整说明:该数字受余量/几何限制,且是确定性的,而光学可用性受天气/气候统计限制,且是概率性的,因此二者绝不能作为可比的一对百分比引用
参考基准
没有外部参考基准(oracle),并且拒绝采用ExternalDataset。两个输入是Eb/N0余量和C/N0阈值穿越,二者都是MODELLED的EIRP、品质因数和集总损耗分配的函数;不存在地月光/射频混合服务的实测可用性记录可用来核对组合后的数字。现有的核对是内部的,并如实说明:组合由报告自身公布的余量重新计算,而不是由发射端内部量计算,闭合距离则通过在该距离上重新运行链路方程并要求余量归零来核对——这是反演往返,而不是独立实现。该数字的诚实局限记录在报告本身:它是确定性的0/1指示量,不是概率,因为本引擎中没有任何东西测量该频段和几何下的射频链路中断分布。该缺失的输入在rf_availability.factors_not_included中指明,而不是被编造,而提供它正是概率性射频可用性所需要的
测试
hybrid_integrity::tests(可用性等于由报告自身余量重新算出的两个指标之积,而这些余量本身又由报告自身的EIRP、自由空间损耗重新组装…
由模型计算得出同等条件下的光学对射频测距比较hybrid_integrity, optical_linkbudget, linkbudget, navsignal
能力
hybrid-optical-rf报告给出光学对射频测距比,并在同一对象中带上两个分支所评估的唯一配置:同一单向路径、同一距离、同一累积时间。光学分支是引擎基于单向光子计数的光子受限ToA CRLB;射频分支是引擎的DLL超前-滞后热噪声码跟踪抖动,取自引擎自身链路预算对同一单向距离所返回的C/N0。环路噪声带宽是推导出的,而非选定:B_L = 1/(2*integration_s) 使射频分支恰好处于光学累积时间;如果调用方覆盖它而使两个平均时间不一致,则该比值为REFUSED——null,并指明不一致之处和两个时间——而不是在两个工作点上引用。不对场景所选的参数化rf_position_sigma_m形成比值,拒绝时说明了原因:该输入根本不带配置。已发布的双向光学头条数字以及把它与单向比较分支衔接的精确因子,一并给出在该比值旁,因此报告不会被读成带有两个互相矛盾的光学sigma
参考基准
该比值没有外部参考基准(oracle),并且有意拒绝采用ExternalDataset。其底层射频链路确实有——tests/validate_p5_rf_ranging_precision.rs对照独立的Python/NumPy夹具和写死的Kaplan & Hegarty算例值(45 dB-Hz时2.814e-3码片 / 0.825 m)检查linkbudget::link_budget和navsignal::dll_code_jitter_chips——光学CRLB也有自己的闭式一行。为本行借用任一锚点,就是借用的核对,而矩阵的不变式正是为防止这种情况而设:这里的量是某个配置下的比值,该配置的EIRP、品质因数、发射功率和口径均为MODELLED,并且不存在在共同工作点上对光学与射频测距的实测比较可供核对。内部检查的是比值真正可能出错之处:两个分支是否处于同一个工作点。做法是缩放共同的累积时间,并要求两个分支按同样的平方根律变化、比值保持不动;当平均时间不一致时,则直接拒绝该比值以强制保证。两个分支都是热噪声/散粒噪声下界,且都不含介质延迟、钟差和模糊度,因此两侧的排除项相同;报告予以说明,而不是留给读者去推断
测试
hybrid_integrity::tests(比值等于所发出的两条支路相除,相对吻合到1e-15,其倒数与分贝形式一致;每条支路的距离与时间sigma恰好相差c;所发出的共同…
由模型计算得出链路预算报告的自我描述linkbudget
能力
链路预算报告说明其余量所依据的每个绝对常数——自由空间损耗所用的载波频率、EIRP、品质因数、集总损耗和Boltzmann项——外加余量为零时所需的G/T,链路常数(EIRP - 损耗 - 所需Eb/N0)(这是已发布的速率/增益表唯一能确定的组合),以及当调用方给出系统噪声温度时,该品质因数所隐含的接收天线增益
参考基准
没有外部参考基准(oracle):这是在一个已对照已发布设计控制表核对过的方程之上的自我描述(见单向链路预算一行)。之所以记录,是因为缺少它曾是一个已测得的缺陷——复现已发布的d1_rate_gain_beamwidth.csv,需要从全部三十行反解出一个有效常数,精度0.0034 dB,而引擎现在既指明了该组合,又通过测试证明:任何已发布的表都不可能把它的三个分量分开
测试
linkbudget::tests(跨越三个频段、四个数量级的距离以及两种闭合判定,余量及其下的自由空间损耗仅由报告重新算出,优于1e-9 dB;所需的G/T…
由模型计算得出按时钟等级划分的月球时间交叉表lunar_time_budget
能力
一次月球时间预算运行,为每个时钟等级相对同一个共享的坐标系项输出一行时钟对坐标系的交叉点,因此比较中唯一的变量是时钟;每行带有以两种方式得到的交叉点——由一般幂律钟差曲线二分求得,以及由该行的主导噪声类型代数反解——并给出二者之间的相对差异
参考基准
这是对同一个量在代码库内的两种不同计算,而不是把同一个结果复述一遍:对IEEE-1139幂律曲线做二分,对噪声类型一无所知,而闭式解则以代数方式反解主导类型,因此噪声类型分类错误或区间选取不当,都会表现为不微小的相对差异。这四个值还把论文已发布的表复现到其最后一位印刷数字的一半——但该表本身是由同一个闭式重建的,所以这只是可复现性检查,而不是外部参考基准(oracle),并且与之度量的坐标系项是由模型得出的分配
测试
lunar_time_budget::tests与lunar_time_budget_scenario::tests(四个类别在一次运行中及在所请求的子集顺序中全部出现;每一行都与其自身的闭式解相符,相对优于1e-12;缩放…
已独立核对同一行集合上的UT1与极移联合误差frame_eop, realtime_frame_eop
能力
一张表在每个预报时效的同一历元集合上,给出月球处的UT1预测误差、极移极点误差及其方和根组合,并输出每个分量被测量时的历元。另外,场景会指明当前生效的EOP输入并分解其行统计,并始终输出预测对最终值的时效表,且在表为空时明确说明原因
参考基准
astropy 8.0.1 utils.iers(BSD-3)按其自身的Bulletin-B优先、否则A的规则读取IERS finals2000A产品,以及pyerfa 2.0.1.5(SOFA)的完整天球到地球旋转(c2i06a、sp00、pom00、c2tcio;地球自转角按IERS 2010公式5.15以精确算术计算),作为单独程序在冻结的2026-09-30 finals2000A.all的逐字行上运行;已预先登记(455b8fb5),并带修订A1和A2,仅固定参考基准的数值精度(两者连同其后的运行均已披露):表3的每个历元列表一致,UT1和极点统计在6e-16以内,组合在1.9e-7以内,12/12个预测对最终值的算例成立。组合检查无法分辨低于约1e-4相对量的极点项误差,因为UT1在其中占主导;极点精度依赖1e-9的极点统计检查。历元集合和回退规则是生成器对Kshana定义的镜像,空表状态是设计行为,没有外部真值。量级:IERS Annual Report 2019表3a已实现的预测误差,Kshana/IERS在1至90天为1.001至1.100(判据 [0.8, 1.25],实测)。行统计:astropy(离线输入行)。第1轮(保留作为回归):对照178期Bulletin A中印刷的精度公式,极点在1.5x以内吻合而UT1不吻合,这是用IERS公式对照其已实现的误差
测试
frame_eop::tests与realtime_frame_eop::tests(三个分量在两份真实IERS摘录上都带有相等、逐元素相同、严格递增的历元集;联合集在……时收敛为交集…
已独立核对离线默认的地球定向输入是真实的IERS产品realtime_frame_eop, eop
能力
realtime-frame-eop运行时默认值是库自带的一份逐字IERS finals2000A摘录(tools/finals2000A_20260930.txt:174个连续的每日行,MJD 61224-61397,截自2026-09-30的finals2000A.all),带有该格式定义的全部三种行版本,由IERS的I/P标志分类(eop::row_vintage):30个Bulletin B最终值、54个快速实测行(带I标志而无Bulletin B块)和90个Bulletin A预测值(P标志)。不带文件参数且无网络的裸运行会输出填充好的逐时效表、行统计rows = final_rows + rapid_rows + prediction_rows(174 = 30 + 54 + 90)以及在MJD 61308-61397上predicted_rows.n = 90;预测对最终值比较的发布时截止点是最后一个实测行。较早的32行摘录(tools/finals2000A_2026.txt,每行均为I标志)和五行仅含最终值的节选仍随附并被运行:在它们上predicted_rows.n为0,这是输入文件的性质,而不是解析器的结果
参考基准
astropy 8.0.1 astropy.utils.iers.IERS_A(BSD-3-Clause),用其自身读取器读取同样的字节,以及IERS Bulletin A Vol. XXXIX No. 039表,逐个数字抄录;在运行astropy之前,已预先登记(6fdae01b)六条精确准则。六条全部成立:30个最终行、54个快速行和90个预测行,MJD列表相同,每个预测行均为P标志,默认运行的行统计一致,预测值与Bulletin A吻合至最后一位印刷数字。已披露:截取位置是在提交之前,用对标志和Bulletin B块的简单列切片选定的,该切片显示30/54/90;摘录是本仓库从IERS产品中截取的逐字切片(SHA-256见夹具NOTICE)。经独立核对的声明是所随附默认输入的版本分类和行统计及其预测行;任意用户输入按同一标志规则分类,但不属于比较的一部分。0.30第1轮(已被取代):较早的默认值把12个I标志行称为Bulletin A预测值;引擎现按标志分类。修订:发生变动的默认运行单元格按新旧列于docs/revisions/M035-default-eop-recut-cell-changes.md(predicted_rows 12 -> 90,极点下限0.06776 -> 0.05550 mas,地球定向项14.01601 -> 14.01583 m,总计20.09759 -> 20.09746 m以及67.03834 -> 67.03790 ns,tests/golden/realtime-frame-eop.csv的表2各行,以及运行预测器的一致性数字);更早的见docs/revisions/G12-default-eop-cell-changes.md
测试
tests/embedded_eop_vintage_astropy_preregistered.rs::vintage_of_every_row_matches_astropy_and_predictions_match_bulletin_a(六项精确判据:摘录字节;174行;每个版本的计数及完整MJD列表…
由模型计算得出捕获覆盖区随高度与波束宽度的变化antenna
能力
对按方向图加权、受高度限制的地表捕获覆盖区,在发射机高度和天线口径上做双轴扫描,每个工作点输出一行,附各口径所隐含的半功率波束宽度,并把临边捕获作为阈值报告——每行给出临边J/S、其余量以及使其闭合所需的发射功率;每个网格给出所定位的穿越点,或明确说明网格内处处未达临边,并给出差额
参考基准
集合包含关系:干信比以均匀的分贝偏移进入,因此较高发射功率下的捕获集合包含较低功率下的集合,比例只会上升——Airy方向图在波束宽度或高度上并不具备这一性质,那里捕获区域会碎成环状,比例确实非单调。没有任何已发布的表给出月球轨道发射机的捕获圆盘比例随高度和波束宽度的变化,因此没有可用来核对这些单元格的外部对象;其底层的方向图另行对照已发布的Bessel值经独立核对,并保有自己的一行
测试
antenna::tests与attack_surface::tests(网格完整,且每个被捕获的比例都落在 [0,1] 内;被捕获比例在每个节点上随发射功率不减;它对波束宽度并非单调,也不…
由模型计算得出月球时间误差预算的可复现性lunar_time_budget_scenario
能力
lunar-time-budget场景把其数组型输出以长格式(网格索引、平均时间、项)表的形式与报告一并发布,使七个逐项x(tau) 曲线和方和根总量成为引擎输出,而不是读者根据方法章节自行重建的东西
参考基准
仅为自洽:已发布的总量对照同一文件中各项的方和根检查,且输出的曲线在全部57个点上复现已发布的p3_time_budget_curve.csv。这两项检查共用本引擎自己的项定义,因此都不是独立的。时钟项依据已发布的时钟规格,但链路、坐标系、相对论和星历下限的量级是有文档记录的预算分配,没有外部参考基准(oracle)
测试
lunar_time_budget_scenario::tests(全部57个平均时间x 8项均存在,网格索引从0到56,且各带8行;总计行在每个tau上都等于其旁七项的方和根;…
由模型计算得出月球测站时间实验室:miniRAFS守时对LTClunar_time_lab (over clock_specs, lunar_time_budget, lunar_time)
能力
lunar-time-budget场景的可选 [time_lab] 块对月球参考站时钟建模(默认为miniRAFS等级,或任一具名等级,或按所述稳定度点拟合的器件卡),该时钟被牵引到协调月球时,随后自由运行或每N秒重新牵引一次:时间误差曲线x(t) 为时钟幂律项、常值牵引残差(ILLUSTRATIVE)、常值LTC实现残差以及可选启用的测站高度速率项的方和根;牵引后到达1、10和100 ns(或所述阈值)的时间,由二分法给出,并附主导噪声类型的闭式反解,以及每个所述时效上的主导项,全部带单位
参考基准
仅为内部一致性:二分得到的到达阈值时间对照时钟主导噪声类型的闭式反解检查,自由运行的时钟项对照预算自身的时钟项检查。各时钟等级依据已发布的一日规格(有各自的行);LTC速率未在此重新推导,保有自己的VALIDATED行(月球坐标时);牵引残差为ILLUSTRATIVE,实现残差是预算分配,且不包含热模型。ICG WG-B月球PNT资料(2024年六月)所述的纳秒级目标仅作为来源陈述引用,未被采纳为声明;此处没有任何内容是关于真实测站时钟的陈述
测试
lunar_time_lab::tests(free_run_clock_term_is_the_budget_clock_term:关闭驾驭后,钟项对全部四个类别逐位等于预算的钟项;bisection_matches_the_closed_form吻合到1e-9以内…
由模型计算得出月球测地VLBIlunar_vlbi
能力
地球基线观测月球信标的近场VLBI时延 + 偏导数
参考基准
远场极限下的平面波delta_dor(同代码库);有限差分偏导数。0.30外部比较,一项发现(仍为MODELLED):对照ANISE 0.10经DE440的收敛光行时(2024-01-01的75个时延,覆盖三条DSN基线,由xval/anise-lunar-od不使用Kshana代码生成),没有任何时延落在1 ps容差之内。最大差距为24 µs,来自解析的月心(距DE440约200 km)、没有光行时迭代的单一瞬时几何(3.6 µs)以及被舍去的极移;信标偏导数的相对差异最大2.9e-3,而判据为1e-6。模块文档中关于坐标系近似低于模型保真度的说法,在这一水平上并不成立。0.30第2轮:星历核路径(lunar_vlbi::KernelGeometry)在其自己的一行“月球测地VLBI,星历核路径”中对照NAIF SPICE光行时经独立核对;对该路径的ANISE比较(75/75在1 ps以内,最差0.12 ps,tests/lunar_vlbi_anise_oracle.rs::kernel_delay_matches_the_anise_light_time_difference)仅为星历核求值的交叉核对,因为该测试装置中的光行时求解是本项目自己的。本行(解析默认路径)连同上述发现仍为MODELLED
测试
lunar_vlbi::tests (far-field limit matches delta_dor; near-field correction; FD partials); tests/lunar_vlbi_anise_oracle.rs::near_field_delay_disagrees_with_the_anise_light_time_difference
已独立核对月球测地VLBI,星历核路径lunar_vlbi (KernelGeometry, delay_partials_beacon_body, delay_partials_stations, LunarVlbiScenario); naif_kernel
能力
地球基线观测月球信标的近场VLBI时延,附信标和测站偏导数,采用星历核路径(lunar_vlbi::KernelGeometry):DE440地球与月球、DE440月球主轴、带UT1和极移的ITRF93地球定向,每个光行时在质心系中收敛,偏导数带光行时因子1/(c - u.V)。可作为lunar-vlbi场景运行,需设置planetary_kernel_path、earth_orientation_kernel_path和moon_orientation_kernel_path;经独立核对的输出是星历核路径的geometric_delay_s序列和epoch_partials。在星历核路径上,delay_s加上解析的差分Shapiro项,该项未被比较,delay_rate和near_field_correction_us也未被比较
参考基准
NAIF SPICE Toolkit N0067(spiceypy 8.2.0,MIT)收敛牛顿式光行时(spkcpt/spkcpo,CN),从固定于MOON_PA_DE440的信标到DSN测站DSS-14、DSS-43和DSS-63,测站取自NAIF测站星历核earthstns_itrf93_260814.bsp,并配de440s、moon_pa_de440_200625、moon_de440_250416.tf、earth_latest_high_prec和naif0012;偏导数是SPICE光行时的五点中心差分,而不是Kshana的1/(c - u.V) 公式。已预先登记(a689c797,2024年历元),判据为每个时延1 ps,每个偏导数相对1e-6。首次运行失败(17/75个时延在1 ps以内,最差1.03e-11 s):SPICE把ET存为一个双精度数,其在2024年的间距使发射历元舍入最多6e-8 s,约合6 ps光行时,而残差与该舍入的相关系数为0.99999(已固定;审阅者独立复现了它)。修订66e365d4写于该结果之后、其夹具存在之前,把同一参考基准和判据移到J2000附近的25个每小时历元,那里ET间距至多为1.5e-11 s:75/75个时延在1 ps以内(最差6.2e-14 s),75/75个信标偏导数(最差7.4e-9),150/150个测站偏导数(最差3.8e-11)。不在声明范围内:解析默认路径(级数月球与平均月球坐标系,经DE440对照ANISE为24 µs,见“月球测地VLBI”一行)、场景以解析方式加入的差分Shapiro项、介质,以及质心到地心的尺度
测试
tests/lunar_vlbi_spice_oracle.rs::kernel_delay_and_partials_match_spice_light_times_near_j2000(J2000附近25个历元、DSS-14、DSS-43与DSS-63上的75个延迟:延迟吻合到1 ps以内,最坏0.06 ps;天体固连信标…
已独立核对NAIF星历核读取器:DAF容器、SPK类型2和二进制PCK类型2naif_kernel (DafFile, SpkKernel, PckKernel); ephem_provider (KernelEphemeris)
能力
引擎自己的纯Rust NAIF二进制星历核读取器(naif_kernel):DAF容器(两种字节序,链接的摘要记录),经其中心链接到最低公共祖先的SPK type-2 Chebyshev位置段,以及被转成J2000到本体旋转的二进制PCK type-2欧拉角段,历元取为两部分ET,使亚微秒偏移保持精度。KernelEphemeris(ephem_provider)以及lunar_vlbi、lunar_llr和lunar_vlbi_fim的星历核路径都经由它读取DE440。所声明的是它能正确读取JPL星历核;并不声明DE440或引擎的解析太阳与月球级数是精确的
参考基准
同样的NAIF文件上的两个独立星历核读取器:NAIF SPICE Toolkit N0067(经spiceypy 8.2.0的CSPICE,MIT;spkezr和pxform)以及ANISE 0.10.6(Nyx Space,MPL-2.0;Almanac.translate和Almanac.rotate),均作为单独程序在de440s.bsp和moon_pa_de440_200625.bpc上运行。在任何夹具或参考基准值存在之前已预先登记(abcd9133):网格种子取该提交哈希的前16位十六进制数字,因此无论是200个历元还是天体对,都不可能在已知结果的情况下选定;每个历元还带有月球和太阳相对地球的状态。判据由双精度Chebyshev求值预先固定(至多15个系数,每次求值n^2 u = 2.5e-14,每侧两次求值和至多两跳):位置1e-13 R + 1e-5 m,速度1e-13 V + 1e-10 m/s,R和V取相对最低公共祖先的较大量值;旋转元素1e-13 W + 1e-15,W为覆盖记录的系数和;ANISE因其纳秒历元再加2 ns的相对运动。结果:600个状态和200个旋转,每个都在对照两个参考基准的判据以内,对截取版和完整星历核均如此;最差为判据的6.0e-3(位置)、5.9e-3(速度)、3.7e-3(旋转)。变异测试:在 -s处对每条记录求值会使3597项比较失败。已披露:此前对照SPICE的25个历元检查(4.6e-5 m,tests/naif_kernel_reader_check.rs)在本行之前就已看过,不属于其证据;夹具生成器首次运行因网格区间为空而中止,未产生任何值,已修正。双方读取的都是DE440,因此吻合核对了读取器,而不是星历
测试
tests/naif_reader_spice_oracle.rs::reader_matches_spice_and_anise_on_the_post_registration_grid(200个历元1849-2150上的600个de440s.bsp状态和200个MOON_PA_DE440旋转,以及取自……的随机天体对…
由模型计算得出月球距离处的Earth-GNSSearth_gnss_lunar
能力
月球距离处的Earth-GNSS接收:P7表1所指的弱信号层,而引擎此前没有对应模型。针对每颗卫星和每个历元,它计算相对发射机天底的离轴角、地球是否遮挡直线路径、斜距及其自由空间损耗、该角度处的发射增益、接收功率和载噪密度比;然后只汇总越过跟踪阈值的链路,并扫过整整一圈星座运行,使答案是一个分布,而不是单个快照。三个事实决定结果,报告对每一个都有说明:从星座半径看,地球张角为13.90度,因此波束峰值在几何上对任何射向月球的射线都不可用;剩下的是主瓣边缘和旁瓣,也就是LuGRE于2025年在月球上运行时所处的状态;而L1路径损耗约为208 dB,比地面用户多约25 dB。在所随附的24颗GPS级几何上,对一个轨道周期的64个历元MEASURED:信号可用性0.375,最佳链路30.93 dB-Hz,而定位可用性0.000——同时可跟踪的链路至多两条,从未达到定位所需的四条。这两种可用性之分正是要点,报告也不允许把它们混为一谈:月球距离处的Earth-GNSS是授时级的层,而不是定位级的层,分层韧性的先验必须取定位可用性。输出条件数也是出于同样的原因——从月球看去,每颗可见卫星都落在只有几度宽的锥内,因此视线按构造就近乎平行。可作为earth-gnss-lunar类场景运行。按D7重述:月球距离处的声明是同一历元各卫星之间的相对载噪密度比,依据实测的二维发射方向图(NAVCEN Block IIR/IIR-M),再加几何可见性;不声明绝对C/N0(Parker等报告共同损耗为7至12 dB)。
参考基准
闭式恒等式与内部一致性;不声称有外部参考基准(oracle)。月缘半角对照asin(R_earth/r_orbit) 检查,几何对照它检查;本行所组合的自由空间损耗、DOP核和SGP4传播各自在自己的行中经外部核对,本行不借用它们的状态。为何为MODELLED,原因在于发射方向图:给定角度处的增益取自均匀照射圆形口径的Airy方向图,而真实的GPS L1天线是十二单元螺旋阵列,主瓣经过整形、峰值偏离视轴以使整个地球盘面功率均匀,其旁瓣也不是Airy形。已发布的实测方向图存在,但未纳入本库,因此排序和数量级是可信的,而任何单颗卫星的dB值则不然。本行的首个实现曾有一处值得记录的错误:Airy表达式仅在前向半球有效,其自变量按sin(theta) 变化,在theta接近180度时会绕回并在口径背后返回满视轴增益——于是首份报告中最强的两条链路是天线背向月球的卫星,而它们恰是仅有的两条越过阈值的链路。现在在口径背后模型采用平坦的背瓣下限,作为一个界给出,而不是编造方向图形状。有意缺失、且各使预算偏乐观的内容:掠过月缘的射线没有电离层或对流层损耗,没有极化、指向或实现损耗,且采用无折射延伸的球形地球。月球位置是输入,而不是星历查询,因为被检验的量是链路和波束几何。若要把本行升级为经独立核对,需要实测的发射方向图和LuGRE的正常点来核对;二者都不在仓库中,也都不在此编造。0.30第2轮,一项发现(仍为MODELLED):一条以实测为输入的链路路径(真实SP3位置、逐Block发射功率、列表化的发射和接收方向图、捕获与跟踪滞回)对照Montenbruck等2023表3中6000 km处的GENESIS做了核对(预先登记5b414f0a):天顶天线均值在6项中有5项与论文灵敏度相差在一dB之内;天底天线均值比印刷值高1.0至2.4颗卫星,原因很可能是该论文使用了未公布的随方位角变化的GPS旁瓣方向图。本行的月球距离数字仍使用Airy替代。0.30+ D7,一项发现(仍为MODELLED):重述后的量,即同一历元所跟踪的Block IIR/IIR-M卫星之间的C/N0差,用NAVCEN逐SVN的实测L1方向图(二维,偏航转向坐标系)预测,对照LuGRE飞行C/N0(预先登记768cb62b:99 % 可见,成对RMS <= 3.0 dB,中位数<= 2.0 dB,至少50条记录和30个配对),数据太少:26个合格的转移和月球轨道历元仅含15条被跟踪的IIR/IIR-M记录(所跟踪的多为IIF和III)和一个配对。全部15条均被预测为可见,该单一配对的残差为 -0.06 dB;不作任何声明
测试
earth_gnss_lunar::tests(11个库测试:地球边缘半角对其闭式解asin(R/r),并进一步断言每一条未被遮挡的链路都位于该锥之外,因此掩星测试与边缘角…
由模型计算得出月球轨道确定:Earth-GNSS对地面射电测量lunar_infra::{orbit, gnss, od}
能力
在近直线晕轨道(或椭圆冻结轨道)中,用两种独立数据类型做定轨:星上接收的Earth-GNSS伪距(采用月球距离处Earth-GNSS一行的链路规则,加月球遮挡),以及来自三个深空网测站的地面双程测距和测距速率。每种都是围绕参考轨道的一步批处理最小二乘,带其形式协方差;对两个估计之差做带随机种子的蒙特卡罗,检验两个协方差能否解释该差(q = d' (P_G + P_R)^-1 d,模型吻合时为六自由度的卡方),以及未建模加速度对该统计量有何影响。
参考基准
一个独立的scipy/numpy程序积分同样的变分方程(判据O1)。没有任何内容与月球轨道的测量值比较。该参考基准核对的是所述公式的数值,而不是物理,因此该行仍为MODELLED。受限三体模型:没有太阳,没有月球谐项,地球自转轴沿轨道法向,接收机和测站输入为ILLUSTRATIVE。
测试
tests/lunar_infra_od_consistency.rs(判据O1:三天及一个周期上链式相乘的状态转移矩阵与scipy DOP853相对吻合到1e-6;判据C1:平均q与95 % 以内的比例;判据C2:样本在…
由模型计算得出月球载波相位整周模糊度解算:月面与轨道器lunar_infra::phase; lambda
能力
月面测站与轨道器处的接收机间单差Earth-GNSS载波相位和码,逐历元的钟差已被剖离,每个连续过境一个模糊度,以最长过境作为基准。浮点模糊度协方差是一个Schur补;LAMBDA解算整数,自举成功率与带随机种子的蒙特卡罗整数最小二乘成功率以及浮点和固定位置sigma并列报告。如实报告:在登记的12 dBi下,双差问题无法构成(修订1在只看到可用性计数之后把默认值改为25 dBi),而在25 dBi下,整数固定未能实现——遥不可及(至多百分之几),尽管浮点解随弧段增长而改善。
参考基准
一个独立的numpy对导出行上的同一正规方程求解(Q3),以及暴力整数枚举(Q4)。没有与任何GNSS或月球载波相位测量比较。MODELLED。
测试
tests/lunar_infra_carrier_phase.rs(判据Q1:蒙特卡罗成功率至少为自助法下界减去三个标准误;Q2:弧长增加时不低于三个标准误之外的下降;Q4:LAMBDA等于暴力…
由模型计算得出月球坐标系联合估计:月面测站与轨道器lunar_infra::frame; lunar_datum; lunar_identifiability; lunar_llr_geometry
能力
七参数月球坐标系基准的Fisher信息:仅用地球测站对五个反射器的激光测距,以及加入轨道器对月面测站测距之后:信息矩阵、秩、Cramer-Rao sigma、月球可辨识性模块的退化度量以及带随机种子的随机测站集。轨道在月球轴系中视为已知(其误差由轨道器测距sigma承担)。
参考基准
一个独立的numpy对前向模型的有限差分(F2)。没有任何内容与真实的月球坐标系解比较。该因子以假定的已知轨道和1 m的测距sigma为条件。MODELLED。
测试
tests/lunar_infra_studies_3_5.rs(判据F1:随轨道器链路增加,CRLB迹不上升,最小特征值不下降,在示例以及20个按随机种子生成的随机集合中均如此;判据F2:距离偏导数等于…
由模型计算得出空间联结的坐标系联结精度:同址GNSS、VLBI与激光测距lunar_infra::tie; fim::crlb_srif
能力
当同一航天器同时携带三种技术时,GNSS、VLBI和激光测距坐标系之间技术间平移、尺度和旋转偏移的Cramer-Rao精度,在每个历元消去航天器位置,并带九个带先验的局地联结冗余参数,随局地联结精度扫描。协方差用平方根法求得(技术接近完美时,正规方程会丢失数字)。
参考基准
一个独立的numpy堆叠系统,位置未知量由显式Schur补消去(T3)。没有与GRASP、Genesis或其他任务数据比较。MODELLED。
测试
tests/lunar_infra_studies_3_5.rs(判据T1:随着本地联测放宽,平移sigma不下降;T2:当技术sigma缩放1e-6时,每一对的平移sigma在本地联测的sqrt(2) 倍的1 % 以内…
由模型计算得出月球勒夫数与天平动灵敏度lunar_infra::geodesy; lunar_od::degree2_tide_accel; lunar_time
能力
h2、k2、l2以及物理天平动振幅的Fisher信息,来自激光测距(径向与水平潮汐位移、反射器旋转)、轨道器跟踪(沿视线积分的degree-2 k2加速度,已去除趋势)、月面重力仪(重力因子1 + h2 - 1.5 k2)和月面时钟(分数速率 (1 + k2 - h2) W2/c2,与月球时间常数相联系)。h2和l2的名义值是线性化点;该研究说明的是什么对什么敏感,而不是这些数值是多少。
参考基准
一个独立的numpy有限差分组装(G2)和闭式求值(G4)。轨道器族的k2灵敏度是上端数字(此处轨道状态只吸收一个常数和一个趋势)。没有与任何月球潮汐或天平动测量比较;k2引自Lemoine等2014,作为名义值。MODELLED。
测试
tests/lunar_infra_studies_3_5.rs(判据G1:解析偏导数等于每个前向模型的中心有限差分,吻合到1e-8;G2:5x5信息矩阵等于独立的numpy组装,吻合到1e-6;G4:钟潮汐…
由模型计算得出月面信标DOP增强lunar_beacon
能力
月面用户的信标增强精度因子:可见卫星的视线行与可见月面信标的测距行被拼接成一个设计矩阵,经共享的DOP核求值,所得DOP再经每个信标的用户等效测距误差映射为以米计的已实现1-sigma精度,该误差由时钟同步、多路径和MEASURED项的方和根组成。信标可见性是无大气月球的双高度几何地平线,它没有折射延伸,因此是精确的而非近似的。可作为lunar-beacon场景类运行,它报告仅卫星、卫星加信标,以及作为达到同样几何的竞争路线的更大星座。在所随附的黄金几何上实测(用户位于 -80度,三个已测量的信标,t=0时六颗卫星的示意性LCNS,5度遮蔽角):5颗可见卫星给出PDOP 9.6941和3-D 1-sigma 11.222 m;加入真正越过地平线的信标后,PDOP为4.1160,精度为4.765 m,改善倍数为2.355;24颗卫星的服务则给出PDOP 2.4226和2.804 m,改善倍数为4.002。报告打印的是可见信标数,而不是配置的数目,在这一几何上,三个信标中只有一个越过地平线:两个侧翼站点距用户约333 km,而2 m天线的地平线为86 km,因此读者不会误以为三个都有贡献
参考基准
DOP运算即crate::orbit::dop内核,已在tests/dop_reference.rs中对照gnss_lib_py单独做过外部核对;本行不沿用那一行的状态。信标可见性地平线采用L01闭式解,sigma = DOP x sigma_URE是标准的GNSS关系式(Kaplan与Hegarty,Understanding GPS/GNSS,第7节)。在本行之内,增强本身对照仓库内独立的DOP路径进行核对,并固定到已提交的golden基准。为何为MODELLED:星座设计、信标布设、天线高度以及全部三项误差预算量值都是示意性输入,不是实地测量或实测链路,因此所报告的米数是所选场景的属性,而非任何已部署服务的属性。关于来源的说明:该能力曾在README中宣称,并有两项验证测试加以演练,却没有矩阵行,也没有场景类型,因此根本无法通过一次运行触及。它同时存在于行文之中、缺席于台账、在引擎中无法访问。现已把这一行和这一类型一并添加。0.30第2轮(预先登记db0eb9ec),受阻(仍为MODELLED):ANISE 0.10.6的可见性与在该行几何上算出的numpy DOP一致(可见集合完全一致,包括72个近地平线情形和48个近掩模角情形;DOP偏差在7.2e-13以内),但所报告的米数是DOP乘以一项示意性的1.158 m均方根测距误差,没有参考基准;排除这些米数的范围界定有待所有者决定
测试
lunar_beacon::tests(地平线可见性对L01闭式解;加信标的DOP对不加信标的DOP;误差预算方和根;DOP到米的关系)…
已独立核对共模完好性盲区lunar_common_mode
能力
把测量误差精确地按奇偶子空间拆分为RAIM看不见的部分和能看见的部分。对线性化的快照模型y = G·x + e,任何误差dy都唯一地分解为range(G) 中的不可见(BLIND)分量,以及奇偶空间中的可检测(DETECTABLE)分量:前者被吸收为状态误差S·dy,并被残差投影算子Pperp = I − G·S湮灭,因此对任何残差检验都不可见,而不只是对某个特定阈值不可见。该模块返回投影算子、拆分结果和不可见比例,使调用方能够量化快照监测器在结构上无法报告某一特定误差的多少。应用于真实的星历间基底:地心月球位置上DE440与INPOP21a、DE440与EPM2021之间米级的差异,几乎完全被吸收为用户位置误差(不可见比例的中位数为1.000000;不可见位置误差的中位数为2.3955 m和2.0050 m),而奇偶残差只有1e-15 m量级
参考基准
P2:numpy linalg.lstsq(LAPACK gelsd SVD,BSD-3)在已提交的输入上重新计算最小二乘拆分,这些输入带有真实的奇偶部分(dy = E·Δs + w,w ~ N(0, 1 m),随机种子20261001),几何为8颗卫星及其6颗卫星子集,覆盖两组真实星历间差异,共1464个算例,预先登记(f672a314):blind_dx、residual、blind_norm和detectable_norm相对 |dy| 的偏差在1e-12以内,blind_fraction的绝对偏差在1e-12以内(最差blind_dx为1.06e-14,residual为4.4e-15,blind_fraction为3.1e-15)。numpy自行由已提交的位置构造G,而引擎使用正规方程与Gauss-Jordan;斜左逆会使该测试在5.5e-2 |dy| 处变红。修订1(86c53301,首次运行之后,已披露)只放宽了对奇偶比例的一项输入前提条件(每个算例至少1e-3,且每种几何中95 % 至少为0.05),没有改动一致性判据。如P2所允许,经独立核对的结论是:在这些输入上拆分的线性代数;星历间基底的量值和示意性的月球几何(8个LCNS类节点,位于5000 km)是输入,未经核对,而盲区是所有快照RAIM已知的属性。第1轮的numpy比较(tests/lunar_common_mode_integrity_reference.rs)只核对了恒等式S·G = I,因为其输入位于range(G) 之内;它作为回归测试保留。星历来源:tests/fixtures/inter_ephemeris/NOTICE.md(JPL、IMCCE、IAA RAS)
测试
lunar_common_mode::tests(8个库测试:分解是可加的并重构dy;共模协方差给出正的共模保护级,而仅奇偶协方差给出近零的保护级;…
由模型计算得出共模保护级与总完好性包络lunar_common_mode
能力
cmpl_horizontal通过构造blind_position_covariance = S*Cov*S^T并将其投影到ENU,界定不可见共模类所贡献的k倍sigma水平位置误差;integrity_envelope报告hpl_total = hpl_araim + cmpl。这一对量要说明的区别是:RAIM/ARAIM的残差(RESIDUAL)检验对range(G) 误差可证明是盲的,但ARAIM保护级(PROTECTION LEVEL)并不盲:其无故障项已把这些误差界定到提供方URA加标称偏差的程度。因此CMPL只是单个提供方的各提供方URA/ISM未能包络的跨提供方超出量(EXCESS),而这个和是保守的三角不等式界,不是RSS,仅在该超出量尚未包含于URA之内时才成立。
参考基准
解析的投影算子代数与自身相互核对:限于range(G) 的协方差必须给出正的CMPL,限于奇偶空间的协方差必须给出近似为零,并且包络必须是两项在测量空间中相互正交的贡献之和。共模协方差、星座几何和k是有代表性的模型输入,不是经认证的预算,也不声称三角不等式界是紧的。关于来源的说明:cmpl_horizontal、blind_position_covariance和integrity_envelope是公开且已发布的,其单元测试也早已被共模盲区那一行引用,但包络这一结论本身(ENVELOPE CLAIM)没有对应的行,因此使其保持诚实的那条限定,即这个和是三角不等式界而不是RSS,在台账中无处陈述。这一行把该结论和该限定一并登记。
测试
lunar_common_mode::tests (common_mode_covariance_gives_positive_cmpl, parity_only_covariance_gives_near_zero_cmpl, envelope_sums_the_two_classes, state_map_matches_split)
已独立核对月球多技术联合定轨与时钟lunar_combination (problem, model, estimate, formal_covariance); batch_ls (gauss_newton_qr)
能力
对VLBI、月面局部测距和星间测距做批处理融合,以恢复测站与星座的位置和时钟
参考基准
P2:numpy 2.4.6(numpy.linalg.lstsq配合LAPACK gelsd,以及numpy.linalg.inv;BSD-3)在六个模拟网络已提交的雅可比矩阵和观测上,重新计算每一步Gauss-Newton迭代、收敛的加权最小二乘解、形式sigma和测站误差,预先登记(5094bc31),相对判据为max(1e-8, 100 kappa eps)。首次运行在无VLBI的网络上失败(6.1e-7,对照1e-8,这是条件数为1.4e5时的正规方程求逆);该结果之后所写的引擎修复(batch_ls::gauss_newton_qr,一个由estimate和formal_covariance使用的Householder QR步骤)在不变的判据下重新运行:步长为1.1e-14至2.4e-11,sigma至多1.3e-11。经独立核对的结论是这些输入上的融合求解线性代数,而不是模拟网络的物理量值或其观测模型:月球大地测量VLBI时延这一行仍为MODELLED(其解析路径与ANISE相差最多24 µs),坐标系另有各自的行。对注入的模拟真值的恢复和NEES一致性仍属内部检验;先前的Orekit 12.2 / Hipparchus Levenberg-Marquardt交叉核对(tests/lunar_joint_multi_technique_od_reference.rs)演练的是batch_ls::gauss_newton,而estimate已不再调用它,该核对作为对这一基础函数的检查保留。0.30修订:默认的lunar-joint-od-clock测站误差,有VLBI时由3.541344变为3.541350 m,无VLBI时由2183.119变为2183.558 m(QR求解)。0.36修订(STUDIO-15,可移植数学;docs/revisions/STUDIO15-portable-math-rebaseline.md):有VLBI时由3.541350变为3.536885 m,无VLBI时由2183.558变为2184.021 m,并且无VLBI的求解在5次迭代后停止,而不是2次(在病态网络上由舍入误差限制而停止);预先登记的比较在重新导出的输入上、于不变的判据下重新运行(numpy 2.4.6,六个网络全部通过)
测试
lunar_combination::tests(恢复模拟真值;VLBI恢复测站3-D可观测性;确定性);tests/lunar_joint_multi_technique_od_reference.rs(6种几何 × 16个参数,各31个观测,对Orekit 12.2 /…
已独立核对Fisher信息与Cramér–Rao可观测性fim
能力
Fisher信息M=HᵀWH、Cramér–Rao下界、可观测性秩/基准亏损零空间(Moore–Penrose伪逆),以及由对称Jacobi特征值求解器得出的D/A/E/T最优实验设计标量
参考基准
NumPy 2.4.1(numpy.linalg.eigh / .inv;BSD-3-Clause,基于LAPACK)——一个独立的第三方参照,用与Kshana的循环Jacobi扫描和谱伪逆不同的算法(LAPACK分治法加LU分解)计算同样唯一确定的特征值、σ²(XᵀX)⁻¹ Cramér–Rao协方差和GNSS精度因子;两者吻合到1e-9。同一类外部库已经对DOP引擎(对照gnss_lib_py)以及χ²/erf核(对照SciPy)做了独立外部核对。另外还与Kay(1993)闭式CRLB及蒙特卡罗CRLB达成情况(内部)做了交叉核对
测试
tests/fim_observability_reference.rs(特征值对numpy.linalg.eigh;CRLB协方差对 σ²(XᵀX)⁻¹ 经numpy.linalg.inv;GNSS GDOP/PDOP/HDOP/VDOP/TDOP由信息矩阵对numpy,全部吻合到1e-9)…
由模型计算得出月面绝对测站可观测性(基准亏损)lunar_combination (lunar_observability) + fim
能力
联合月面解算的Fisher信息可观测性:没有地球基线时,绝对坐标系基准位于HᵀWH的零空间中(测站位置不可观测);≥3条基线可恢复满秩,并约束测站的Cramér–Rao误差,估计器可达到该误差
参考基准
解析的基准亏损结构——不可观测的绝对坐标系模态位于Fisher信息的零空间中(闭式),秩阈值与已发表的3测站设计依据相符,估计器在蒙特卡罗中达到由此得出的CRLB。月面几何本身是一个有代表性的网络(不是已飞行的星历),因此该行保持MODELLED;底层的FIM/CRLB引擎另行对照Kay(1993)闭式结果做了核对。0.30第2轮(预先登记fab02df9),受阻(保持MODELLED):NumPy/SciPy在所述1e-9阈值下重新计算了秩和亏损、测站坐标轴在零空间中所占份额(吻合到8.4e-10)以及测站CRLB(吻合到1.2e-10),所用为17个已提交的Kshana生成配置(P2)。未予提升:估计器达到该下界这一论断(蒙特卡罗效率约0.98)没有参考基准(oracle),而使其保持MODELLED的范围界定正等待所有者作出决定
测试
lunar_combination::tests(没有地球基线时秩亏;三条基线恢复满秩,3站的门槛来自信息矩阵的秩,而不是求解误差;测站CRLB由估计器达到于…
已独立核对月球参考坐标系实现lunar_frame_realise
能力
由点网络得出的7参数Helmert基准拟合与ICRF定向联结
参考基准
独立的闭式加权Umeyama(Horn)相似变换求解器(基于numpy/scipy的SVD;Umeyama 1991 IEEE TPAMI,Horn 1987 JOSA A)——与kshana的迭代Gauss–Newton拟合算法不同,在逐字节相同的点网络上得到同一个唯一确定的加权最小二乘最优解
测试
lunar_frame_realise::tests(恢复所注入的Helmert变换);tests/lunar_reference_frame_realisation_reference.rs(14个用例对独立的闭式Umeyama-SVD求解器;平移最坏 |Δ| 2.0e-5 m…
已独立核对月球导航服务体积lunar_service
能力
Moonlight类月球DOP/覆盖/可用性,以及服务体积上的广义月球ARAIM保护级
参考基准
独立的第三方参照ANISE 0.10.2 astro::Orbit Keplerian传播器(Nyx Space,MPL-2.0)——一条与kshana的Newton-Raphson Kepler解法不同的春分点两体代码路径;每颗卫星的MCI位置吻合到<1e-3 m,导出的可见卫星数量和集合在每个网格点上完全一致。DOP核已对照gnss_lib_py核对;完好性使用已发表的LunaNet/LCNS参数
测试
lunar_service::tests(DOP复用经独立核对的核;PL退化为南极情形);tests/lunar_navigation_service_volume_reference.rs(逐卫星的MCI位置吻合到<1e-3 m + 可见卫星集EXACT,覆盖…
由模型计算得出LunaNet AFS扩频码生成(LSIS V1.0)lunar_afs::codes, lunar_afs::lsis, lunar_afs::params (IS-GPS-800J indices)
能力
LSIS V1.0(2025年一月29日)的Augmented Forward Signal码:AFS-Q的10230码片主码,由IS-GPS-800 L1C导频构造方法结合IS-GPS-800J索引生成(与LSIS附录D所列的210个分配相同);AFS-I的2046码片Gold码,由g1 = x^11 + x^2 + 1与g2 = x^11 + x^8 + x^5 + x^2 + 1生成,各PRN的G2延迟取自标准的附件3文件;四组副码、1500码片的三级码、临时的表11节点分配以及分级导频码。LSIS内容在运行时从经SHA-256校验的本地缓存读取,该缓存取自NASA托管的PDF,从不再分发
参考基准
参照:LSIS V1.0为核对而印出的数值(表C-1至C-5、D-1至D-6、E-1至E-6)及其附件3电子码文件,依据在比较之前确定的零失配判据。该判据被一个印出的单元格未达到,而该单元格与标准自身的附件3文件在内部不一致,因此该行保持MODELLED;勘误说明已起草。同样的码片也等于LANS-AFS-SIM的码片(行“LunaNet AFS基带渲染对照独立生成器,给定其信道状态”)
测试
lunar_afs::codes::tests(最大长度寄存器,Legendre平衡,G2延迟往返,层级组合);tests/lunar_afs_codes_lsis_reference.rs::afs_codes_finding_one_misprinted_table_cell(没有LSIS缓存…
已独立核对LunaNet AFS基带渲染对照独立生成器,给定其信道状态(LSIS V1.0)lunar_afs::waveform::render, lunar_afs::codes, lunar_afs::frame
能力
AFS基带的渲染核心(LSIS-130:复包络I + jQ,I = AFS-I Gold码乘以1.023 Mchip/s下的500符号/秒帧,Q = 5.115 Mchip/s下的分级AFS-Q导频,载波旋转,码片与符号对齐),在由该生成器自己记录的信道状态(码相位与速率、载波相位与频率、每通道幅度)驱动时,可复现独立生成器的采样。不涵盖:由多普勒、延迟和载噪比推导该状态的节点模型、由载噪比计算得出的50/50功率分配(幅度取自模拟器),以及SigMF元数据和8位采样写入
参考基准
库:LANS-AFS-SIM(T. Ebinuma,BSD-2-Clause,提交480c6bf353717bafc04b5ee5bafb38ed90e61aae,S波段构建,作为单独程序运行);Kshana的采样仅由模拟器记录的信道状态驱动,且仅打印跟踪记录的构建经核对与未打补丁的构建逐字节相同。运行之前确定的判据:码片和符号零失配,整个运行中|rho| >= 0.999,每个2 ms块中 >= 0.99,相位在0.05 rad以内。相等的I和Q幅度是比较的输入,因此功率分配不在此项测试之列。LANS-AFS-SIM从LSIS附件3文件读取其三级码,因此该部分并不独立于码行。LANS-AFS-SIM与PocketSDR-AFS出自同一作者,算作一个独立实现。受数据限制:LANS-AFS-SIM的比较需要本地LSIS V1.0缓存(xval/lunar-afs/fetch_lsis.sh,经SHA-256校验),没有该缓存时会跳过并给出提示
测试
tests/lunar_afs_waveform_lans_afs_sim_oracle.rs::afs_chips_match_lans_afs_sim(始终测试210个AFS-Q主码;有KSHANA_LANS_RUN与LSIS缓存时测试全部630个码,零码片不一致)…
已独立核对LunaNet AFS帧信道编码,FID 0(LSIS V1.0)lunar_afs::frame, lunar_afs::ldpc, lunar_afs::lsis
能力
LSIS V1.0的12 s、6000符号的FID 0帧:68符号同步图样,BCH(51,8)子帧1(八进制763生成器),子帧2-4上的CRC-24((1 + X)·P(X)),使用所印出的A、B^-1、C、D的1/2码率LDPC编码(LSIS附件1,运行时从经SHA-256校验的本地缓存读取)及标准的打孔,60 x 98块交织器;一个会标记超出0..99的TOI的穷举子帧1译码器,以及仅依据H = [[A, B, 0], [C, D, I]]编写的归一化min-sum LDPC译码器
参考基准
库:LANS-AFS-SIM(T. Ebinuma,BSD-2-Clause,提交480c6bf353717bafc04b5ee5bafb38ed90e61aae),其自带的BCH、CRC、LDPC和交织器对相同内容产生的帧与Kshana的逐符号相同(零失配,判据在运行之前确定)。另有参考值佐证:LSIS V1.0图8的BCH算例和CRC-24/LTE-A校验值(Greg Cook的参数化CRC算法目录),均逐位精确;以及PocketSDR-AFS在三次运行中对其同步到的帧的每个子帧译码,CRC通过且子帧2的比特一致。奇偶校验测试近乎内部恒等式(它确认所印出的B^-1是所印出的B的逆),不计作参考基准(oracle)。受数据限制:LANS-AFS-SIM的比较需要本地LSIS V1.0缓存(xval/lunar-afs/fetch_lsis.sh,经SHA-256校验),没有该缓存时会跳过并给出提示
测试
tests/lunar_afs_waveform_lans_afs_sim_oracle.rs::afs_frames_and_baseband_match_lans_afs_sim(有LSIS缓存时:LANS-AFS-SIM发射的3个帧,由相同的FID、TOI和数据位构建:18,000个符号中零个…
由模型计算得出由独立接收机对LunaNet AFS闭环可译码性的检验(LSIS V1.0)lunar_afs::waveform (recording and truth labels), xval/lunar-afs/run_pocketsdr.sh
能力
一份Kshana AFS记录由独立的软件接收机捕获、跟踪并译码,并与该记录自身的真值标签比较。这仅证明与标准的一致性以及标签的一致性;它不是关于信道物理、传播、接收功率或链路预算的声明,这些在记录中的值都是选定的输入
参考基准
库:PocketSDR-AFS(T. Ebinuma基于T. Takasu的PocketSDR 0.13,BSD-2-Clause,提交5b23809f30d68518b7fad7a564fd0fac57cc497d,S波段构建,仅打印的日志级别副本),判据在每次运行之前确定。第三次预先登记的比较完全达到其译码与跟踪判据C1和C2,但未按所写达到其防护条件G0(未经修改的接收机的两次运行在相同的四条捕获记录上不同),第二次则有5处违反而未达到,因此该行保持MODELLED。LANS-AFS-SIM与PocketSDR-AFS出自同一作者,算作一个独立实现;帧编码行的印出向量核对用于防范共同的误读
测试
tests/lunar_afs_decodability_pocketsdr_v3_oracle.rs::third_run_finding_c1_c2_hold_g0_is_receiver_nondeterminism (third pre-registration: 2 nodes, 4 channels tracked, worst Doppler error 0.57 Hz, worst code offset error…
由模型计算得出GPS L1 C/A跨生成器一致性gps_lnav, sdr
能力
GPS L1 C/A扩频码(sdr::CaCode)和LNAV子帧1-3(gps_lnav:按IS-GPS-200规范以规范的pi值进行字段量化,二进制补码打包,TLM与HOW字,带D29*/D30*翻转的表20-XIV奇偶校验,字2和10的奇偶求解位),与gps-sdr-sim在其自带的brdc0010.22n(32颗卫星)上逐位比较
参考基准
gps-sdr-sim(MIT,提交28ca29a6,通过已提交的测试装置作为单独程序运行),预先登记f88f2969,对(A)C/A码片、(B)每个计算的LNAV字段、(C)每个奇偶位采用逐位精确的判据。发现:(A)32,736个码片中有0个不同,(C)1,920个字中有0个字的奇偶不同,(B)1,152个计算字段中有230个相差一个单位:gps-sdr-sim的eph2sbf用C强制转换向零截断,而广播整数需要四舍五入(每个不同的值都在Kshana四舍五入整数的0.01个单位以内)。保持MODELLED:登记的判据是各项的合取
测试
tests/gps_l1ca_gpssdrsim_cross_generator.rs::gps_sdr_sim_truncates_where_the_broadcast_integer_needs_rounding (pinned finding); tests/gps_l1ca_gpssdrsim_cross_generator.rs::ca_codes_lnav_fields_and_parity_match_gps_sdr_…
已独立核对GNSS IQ场景信号几何对照独立基带生成器iq::scene (Scene, SatGeometry, TruthRecord)
能力
IQ场景生成器对GPS L1 C/A广播星历场景的逐卫星真值(iq::scene:由广播星历SatGeometry生成的TruthRecord真值记录):哪些卫星在地平线之上、伪距、第一个采样处的码相位、载波多普勒和视角,针对静止接收机,与gps-sdr-sim在相同星历、接收机和起始时间下(双方均关闭电离层)构建其自身I/Q输出第一个块所用的信道状态比较
参考基准
gps-sdr-sim(T. Ebinuma,MIT,提交28ca29a6),一个独立的GPS L1 C/A基带生成器,用其自带Makefile构建,作为单独程序在其自带的brdc0010.22n上于其使用说明文本的示例位置运行(scripts/gen_iq_gpssdrsim_ref.sh);一个与同一构建链接的已提交测试装置会打印该程序第一个块背后的信道状态(computeRange、computeCodePhase)。判据在运行生成器之前确定(预先登记7777da53)。范围:静止接收机在无电离层、对流层或接收机钟的情况下的GPS L1 C/A几何;场景的信道模型、噪声和导航数据内容不属于该行
测试
tests/iq_gpssdrsim_cross_generator.rs::scene_geometry_matches_gps_sdr_sim_channels (11 channels: worst pseudorange 1.6e-3 m against 0.05 m, code phase 5.5e-6 chip against 2e-4, Doppler 7.4e-5 Hz against 0.02 Hz, look…
由模型计算得出独立生成的I/Q采样上的GNSS IQ捕获iq::acq (acquire, AcqConfig); iq::io (decode_samples); iq::scene (GpsL1Ca)
能力
iq::acq::acquire(采用平方律Marcum-Q阈值的FFT并行码相位搜索)配合GpsL1Ca复制码,作用于gps-sdr-sim自身8位I/Q输出的20 ms(由iq::io采样译码器译码,ci8,2.6 MHz,11颗卫星,无噪声):PRN 1至32的每个都在两个10 ms窗口中搜索,结果与gps-sdr-sim调制的码相位和多普勒比较
参考基准
gps-sdr-sim(MIT,提交28ca29a6)的I/Q采样及其自身的信道状态,预先登记7777da53:(B1)每个模拟的PRN都被捕获,(B2)没有其他PRN被捕获,(B3)码相位在0.5码片以内,(B4)多普勒在125 Hz以内。发现:B1、B3和B4在两个窗口中均成立(最差0.195码片、72 Hz),但B2不成立:gps-sdr-sim未模拟的全部21个PRN也越过了阈值(统计量151至206,阈值为79.5;模拟的PRN为1,300及以上)。阈值是按所测采样功率的高斯噪声设定的;gps-sdr-sim不加噪声,因此缺席PRN的单元中含有其他卫星的互相关。保持MODELLED:登记的判据是各项的合取
测试
tests/iq_gpssdrsim_cross_generator.rs::acquisition_threshold_is_crossed_on_gps_sdr_sim_noise_free_samples (pinned finding); tests/iq_gpssdrsim_cross_generator.rs::acquisition_finds_gps_sdr_sim_satellites_in_its_samples…
由模型计算得出在实验室回放测评活动中评分的IQ监测器:检测、漏检、虚警和闭式虚警数值iq::campaign (detect, runner, spec); iq::monitor (stats::gaussian_two_sided_pfa, sqm)
能力
iq::campaign::detect与测评活动运行器:可选的[monitors]表使IQ监测器在运行器的单次遍历中对每个单元运行。功率和频谱监测器看到每条前端链之后的采样;C/N0、SQM和锁定监测器看到每个被跟踪通道的环路更新。每个告警都针对所述事件评分:按(事件,告警类型,通道)判定检测到或漏检,检测时间,以及事件之外的虚警及其暴露时间。每项测试的闭式虚警数值均已给出:每块功率(精确Gamma尾部)、每块频谱超额(近似)、峰度(单侧高斯)、脉冲(二项式上限)、每次平均更新的SQM(2Q(k) = Q(1/2, k^2/2),新增)以及C/N0 CUSUM的ARL0(Siegmund)。没有该表时,单元、键和摘要均不变。不合成任何干扰波形
参考基准
监测器自身的闭式结果,作用于Kshana自己的GPS L1 C/A场景(噪声与合法信号;卫星自身信号的衰减事件),判据在docs/design/MONITORS-IN-CAMPAIGN.md中预先登记(382ab2f4)。发现:M1、M2和M4达到判据。M3在检测上达到判据(18次衰减中有18次,P_md 0),而在其时间条款上为NOT MET:检测时间中位数为1.001 s,对比2 x ARL1个采样 = 0.433 s。CUSUM每1 s窗口只看到一个估计值,因此采样数上界低于一个采样。仅为内部一致性:未核对任何真实接收机或记录的干扰
测试
tests/iq_campaign_monitors.rs: m1_power_test_false_alarm_rate_matches_the_closed_form (73 of 5900 blocks against the 99 % binomial interval [40, 80] of P_fa 0.01)…
由模型计算得出来自评分的实验室回放测评活动的IQ监测器检测ROCiq::campaign (detect, report, runner); iq::monitor::spectral (kurtosis_reference)
能力
iq::campaign::detect(windows、roc)和iq::campaign::report::rocs:带监测器的测评活动的每个单元,针对每种告警类型和通道,保留监测器自身检验统计量在每个所述事件窗口上的最大值(正例)以及在事件之外平铺的roc_window_s窗口上的最大值(负例)。这些统计量为块功率偏离、PSD超额、峰度z、平均指标的SQM |z|以及C/N0 CUSUM。报告按类型汇集它们,得到带AUC的经验窗口级ROC以及在所配置阈值处的工作点,写入roc.json(kshana.campaign-roc/1)和report.html的检测ROC一节。没有监测器的测评活动两者都不写入
参考基准
来自Kshana自己GPS L1 C/A场景(卫星自身信号的衰减)的合成测评活动,判据在docs/design/DETECTION-ROC.md中预先登记(b47e358d)。发现:R2达到判据(无可检测对象时处于随机水平)。R1 NOT MET:cn0_drop的AUC为0.7855,对比0.95,原因是事件之后的每个负例窗口都继承了检测时CUSUM的衰减(全部18个事件后负例都达到81或更高;全部18个事件前负例都保持在0)。仅为内部一致性:未核对任何真实接收机或记录的干扰
测试
tests/iq_campaign_roc.rs: r2_with_nothing_to_detect_the_roc_sits_at_chance (AUC cn0_drop 0.500, sqm_delta 0.566, power_drop 0.639 on stated events that attenuate nothing)…
由模型计算得出依据IQ测评活动结果标定开放接收机的C/N0和锁定模型,并给出预测误差iq::labfit (campaign, cn0, iqfit, iqreport, schema, mod); iq::cli::labfit
能力
iq::labfit(campaign、cn0、iqfit、iqreport)以及[input] campaign(位于kshana iq labfit)、Python kshana.iq_labfit和MCP labfit工具(仅限其工作目录内的测评活动文件夹):按DIGEST读取kshana iq campaign输出文件夹,并将评分后的单元分组为拟合单元(信号x环路设计x前端链x干扰源类型,绝不合并)。对每个单元,用频谱分离形式将测得的C/N0对所述J/S拟合。没有对干扰和信号功率的独立测量,就无法从C/N0数据中辨识Q_eff,因此Q是给定的,绝不拟合(类型表、事件的q,或对未知类型取最具破坏性的给定值,cw Q = 1)。被拟合的参数是可辨识的偏移delta_eff = delta - 10 log10 Q,并由相关性防护报告其简并。锁定率低于90 %的C/N0分箱被截尾并列出。阈值J/S既直接给出,也由闭式给出;跟踪环路模型与经验锁定模型通过C/N0模型耦合,并带有失锁与重锁驻留时间。对记录做带种子的聚类自助法(1000次重复)给出百分位区间;90 %预测区间来自残差抽样;留一记录保留集分为内插与外推;预先登记的[validation]表被哈希,每个判据判定为PASS/FAIL。报告kshana.labfit-iq/1以JSON、CSV和生成的Markdown给出,并带一个units块。仅为合成数据(无第三方记录,无干扰波形)。接收机日志的labfit路径不变
参考基准
在Kshana自己的GPS L1 C/A场景上做合成参数恢复,场景中施加按第3.1节公式得到的已知C/N0剖面,由kshana iq campaign跟踪并评分,判据在docs/design/LABFIT-FROM-IQ.md(第5.1节,2026-10-12在b7117bf中修订,第13节)中预先登记。测评活动的C/N0估计器(M2M4)在5b13e3c2中固定,在首次判据评估之前推送(与拟合代码一同提交,而非单独提交),此前有一次已披露的诊断性跟踪运行。对18事件判据测评活动的发现:(c)PASS;(a')NOT MET,delta_eff误差为-1.097 dB,对比0.5 dB(在38 dB-Hz及以上的分箱上仍为-0.89 dB);(b')NOT MET,50个测评活动中有0个覆盖真值(误差-1.189 +/- 0.093 dB,区间约0.3 dB);(d)NOT MET,闭式值在失锁时比直接J/S低2.20 dB,约等于拟合的失锁驻留时间乘以斜坡速率(2.09 dB);(a)和(b)原有的Q条款为NOT MET,因为Q不可辨识。后续(判据在1e532f84中预先登记,docs/design/evidence/labfit-followup/RESULTS.md):在阶跃J/S测评活动上,delta_eff恢复到+0.185 dB以内(S1 MET:斜坡误差是估计器滞后);(d)按所写在其上由跟踪环路模型达到判据(0.45 dB),经验模型则未达到(6.42 dB),因此S2为NOT MET;在新的斜坡测评活动上,用拟合的失锁驻留时间加上每个事件的斜坡速率,(d)对两种模型均在1 dB以内(R1 MET),而(a')和(d)按所写再次未达到(-1.25 dB;2.32和9.47 dB)。被检验的是方法,而不是任何接收机:它不能从合成数据得到VALIDATED
测试
tests/iq_labfit_campaign.rs: bar_c_holdout_prediction_intervals_cover_between_80_and_98_percent (PI90 coverage 0.891 over 558 bins, 0.900 over 10 time-to-loss events under each lock model)…
由模型计算得出由独立接收机库对GPS LNAV编码的译码gps_lnav
能力
Kshana的LNAV子帧1-3(gps_lnav::encode_subframes),针对32个brdc0010.22n星历,输入RTKLIB的decode_word和decode_frame:每个字的奇偶校验、数据期号一致的子帧译码,以及每个译码参数对照Kshana的整数和输入值
参考基准
RTKLIB v2.4.2-p13(BSD-2-Clause,提交71db0ffa)的decode_word/decode_frame作为单独程序,预先登记ca5f0142:R1奇偶与译码,R2译码值等于Kshana的整数乘以IS-GPS-200比例因子,相对误差在2^-52以内,R3在输入的半个量化单位以内。发现:R1 960个字中有960个、96个子帧中有96个;R3每个参数、周数和参考时间都精确;R2在41个值(af1、delta-n、IDOT)上失败,在最后一位上相差1到4个单位,因为RTKLIB的P2_43是十进制1.136868377216160E-13,相对2^-43偏差2.6e-16;除以RTKLIB的常数则在每种情况下都得到Kshana的整数。保持MODELLED:登记的R2判据对参考基准(oracle)自身的常数而言过紧
测试
tests/gps_lnav_rtklib_decode_oracle.rs::rtklib_recovers_every_integer_and_differs_only_by_its_decimal_two_to_the_minus_43 (pinned finding)…
由模型计算得出GPS LNAV导航电文编码gps_lnav
能力
IS-GPS-200 LNAV子帧1-3(gps_lnav::encode_subframes:按规范的比例因子和pi值对每个钟和轨道参数做就近取整量化,二进制补码打包,TLM与HOW字,带D29*/D30*翻转的表20-XIV奇偶校验,字2和10的奇偶求解位),即GPS L1 C/A信号生成器所发射的电文
参考基准
RTKLIB v2.4.2-p13(BSD-2-Clause,提交71db0ffa)的readrnx解析IGS每日广播文件BRDC00IGS_R_20250610000_01D_MN.rnx,并由decode_word/decode_frame译码Kshana的字,作为单独程序运行;预先登记d4d9eb9d,早于获取该文件,采用精确整数判据。变异:用截断代替四舍五入给出235次失败。同一编码器此前的比较被记录为发现:对照gps-sdr-sim(其采用截断,230个字段),以及对照RTKLIB的缩放值(其十进制2^-43常数未达到一个ulp的判据,41个值)。集成方事后核验(保持MODELLED):比较一致,奇偶集变异也使其变红,但预先登记d4d9eb9d到达公开分支的时间为UTC 20:02:29,比已含有RTKLIB对该文件输出的结果提交1783f904(UTC 20:02:27)晚两秒,因此无法证明“在获取该文件之前已登记”这一先后顺序;在获取一份未见过的广播文件之前推送一次新的登记即可解决此事
测试
tests/gps_lnav_rtklib_integer_oracle.rs::kshana_lnav_integers_decode_in_rtklib_from_an_unseen_broadcast_file(2025年3月2日IGS广播文件的32颗卫星:960个字中的960个通过RTKLIB奇偶校验,96个中的96…
由模型计算得出真实月球IQ上的捕获与C/N0估计acquisition, portable_math, realdata::ion_sdr, realdata::lugre
能力
并行码相位搜索(acquisition::pcps_acquire:可移植FFT、相干折叠、非相干累积、针对全搜索虚警概率的卡方阈值)、精化、带码多普勒的开环即时相关以及M2M4 C/N0估计器,作用于经realdata::ion_sdr读取的LuGRE L1 4位IQ批次
参考基准
GNSS-SDR 0.0.19(GPL-3.0,单独程序,固定配置)作用于九个非月面L1批次以及飞行接收机的RAW C/N0(LuGRE任务数据,Zenodo 16411687,CC BY 4.0),预先登记768cb62b。发现:Kshana的读取器对全部288个比较区间的译码与独立转换器完全一致;GNSS-SDR判定288次搜索中有266次为阳性,Kshana在全部266项判定上与之一致,但只有250次定位在GNSS-SDR的单元上(A2失败);C/N0一环是空洞的,没有任何飞行RAW历元落在任一批次的30 s之内(最近为141 s)。多数阳性是伪迹:裸二进制补码电平在I和Q上带有-0.5的均值,即在1 kHz分箱中高出噪声32 dB的零频线,两台接收机都会捕获它。两个批次(OP5、OP12)被错误排除:把其元数据去掉数字后的读法当成了与其头部的矛盾;真正的原因是读取器无法读取宽于一个字的采样(此后已修复)。保持MODELLED
测试
tests/lugre_acquisition_gnss_sdr_oracle.rs::finding_dc_artefacts_and_no_contemporaneous_flight_cn0 (pinned finding, data-gated); tests/lugre_acquisition_gnss_sdr_oracle.rs::acquisition_and_relative_cn0_on_lugre_iq_match…
由模型计算得出真实月球IQ上对照轨道预测多普勒的捕获(采样功率判决)acquisition, realdata::ion_sdr
能力
acquisition::pcps_acquire以其采样功率判决作用于九个具有中升电平的非月面LuGRE L1批次;被捕获卫星之间的多普勒差与由ESA最终轨道和Firefly重构的Blue Ghost轨迹预测的差比较
参考基准
由ESA/ESOC最终轨道和NAIF CLPS重构轨迹预测的多普勒(xval/lugre-predicted-doppler/predict.py,独立于Kshana),预先登记0d1839d2。发现:全部288次搜索都因噪声越过阈值(采样功率统计量约430至520,对比346.3),因此P1平凡成立,P3成立(288个中有274个预测可见),而P2在4036对中有4033对失败。带限前端使每个单元的噪声升高约1.46倍(已固定:OP2 PRN 1上的噪声底为292,对比白噪声的200),采样功率统计量看不到这一点。保持MODELLED
测试
tests/lugre_acquisition_predicted_doppler_oracle.rs::noise_alone_crosses_the_sample_power_threshold_on_lugre_iq (pinned finding, data-gated)…
由模型计算得出真实月球IQ上按轨道预测多普勒评分的捕获acquisition, realdata::ion_sdr
能力
acquisition::pcps_acquire以单元平均判决(峰值对照网格的平均单元,对带限噪声稳健)作用于九个具有中升电平的非月面LuGRE L1批次;被捕获卫星之间的多普勒差与由ESA最终轨道和Firefly重构的Blue Ghost轨迹预测的差比较
参考基准
由ESA/ESOC最终轨道和NAIF CLPS重构轨迹预测的多普勒(xval/lugre-predicted-doppler/predict.py,独立于Kshana),预先登记a81a9a4e。发现:P1和P3成立(4个批次,12次捕获中有12次预测可见),但P2在8对中有8对失败。最强的两对在量值上与预测吻合而符号相反(OP2 PRN 18/24:测得+7670.0 Hz,预测-7693.9;OP17 PRN 11/30:+11155.0,-11114.4),因此登记的I在低半字节的顺序是这些批次的共轭;刚过阈值的六次检测与两种符号都不吻合。精化的多普勒散布(两次运行之间30至50 Hz)也被登记低估。保持MODELLED
测试
tests/lugre_acquisition_cell_average_doppler_oracle.rs::strong_pairs_match_the_prediction_only_with_the_doppler_sign_reversed (pinned finding, data-gated)…
由模型计算得出对保留的真实月球IQ按轨道预测多普勒的捕获acquisition, realdata::ion_sdr, realdata::lugre
能力
acquisition::pcps_acquire(单元平均判决,虚警概率1e-7)配合refine_doppler_coherent,作用于在月面记录的LuGRE L1批次(I在高半字节,中升电平);被捕获卫星之间的多普勒差与由ESA最终轨道和Firefly着陆点内核预测的差比较
参考基准
由ESA/ESOC最终轨道和NAIF CLPS Firefly着陆点内核预测的多普勒(xval/lugre-predicted-doppler/predict_surface.py,独立于Kshana),预先登记2108e6ff,作用于此前从未打开过的批次。发现:非空洞性失败;没有任何批次含有两次捕获。OP40被排除(元数据指向一个缺失的文件);OP38、OP73、OP77_0、OP77_1什么也没有捕获,且在1e-7下没有虚警(最高统计量325至356,对比385.9);OP74和OP76捕获PRN 31,OP78_0和OP78_1捕获PRN 12,每个都只有一颗,且均预测可见。保持MODELLED。已披露的偏离:登记的10 Hz多普勒判据依据的是相干精化的合成蒙特卡罗,而不是集成方所要求的、对已见过的批次的散布;OP40在运行之前被排除,因为其元数据指向一个数据集并未提供的采样文件
测试
tests/lugre_surface_acquisition_doppler_oracle.rs::each_surface_acquisition_is_a_single_predicted_visible_satellite (pinned finding, data-gated)…
已独立核对月球通信与导航联合几何lunar_service
能力
在指定的月面经纬度站点处,给定卫星在该站点月固坐标系中的位置,每颗卫星的站心视角(方位角自正北顺时针,高度角)和斜距(经核对的论断)。信号在空间中的测距精度作为场景参数给出,使服务体积扫描得出测距要求,而不是在某个固定sigma上给出通过/未通过;该参数是位于经核对论断之外的设计输入
参考基准
ANISE 0.10.2(Nyx Space,MPL-2.0,作为工具从xval/anise-service-geometry运行,二进制lunar-look-angles-xval,不调用任何Kshana代码):ANISE自身的方位角、高度角和距离例程(azimuth_elevation_range_sez),站点由其经纬高构造器在pck00011月球(球体1737.4 km)上构建,卫星通过moon_pa_de440_200625.bpc旋转到MOON_PA_DE440。8个站点(4个指定站点和4个其他站点,位于地平线之上和之下)、12个历元和8颗卫星上的768个采样,方位角和高度角吻合到1e-6度以内,距离和站点位置吻合到1 mm以内(在比较之前确定);实测2.2e-12度、2.1e-13度和5.6e-9 m。论断:给定卫星在站点月固坐标系中的位置时的站点放置与视角。Kshana自己的平均自转月固坐标系实现以及测距精度参数不在其内;闭式几何单元测试仍作为辅助检验保留
测试
lunar_service::tests(站心坐标对手工计算的几何:头顶、正北/东/西、对跖点,以及退化的极区正东方向;所导出的可见标志与独立的可见性…
由模型计算得出月球差分PNTlunar_dpnt
能力
NovaMoon类差分参考站:共模抵消 + 随基线增长的残差 + DGNSS保护级
参考基准
差分误差抵消恒等式 + 复用DO-229E SBAS保护级机制;单差 + WLS解算另外还与RTKLIB的lsq()/matinv()(Takasu,BSD-2-Clause,编译的C代码)做了交叉核对——这是独立的求解器代码,但采用同样的一阶视线差代数,因此仍为InternalConsistency
测试
lunar_dpnt::tests(钟差共模精确抵消;残差随基线增大;复用SBAS PL;卫星数遵从构建器的上限24,因此更大的星座不会悄悄返回……
由模型计算得出月球互操作性导出lunar_interop
能力
与LunaNet/IOAG对齐的月球坐标系 + 时间 + 星历导出(CCSDS OEM + KIF),带往返一致性检验
参考基准
kshana的月球OEM导出被独立的第三方oem库(R. J. Anderson)重新解析:坐标系/时间标记及每个历元状态吻合到写入精度(1 mm / 1e-9 km/s),且缺少TIME_SYSTEM的导出被拒绝——这是结构性的交换往返检验;月球坐标系/时间的物理语义由各自的行核对,因此该行保持MODELLED。0.30外部比较,一项发现(保持MODELLED):第二个独立读取器,Orekit 12.2 CCSDS OEM解析器(Apache-2.0,严格默认值),拒绝两个月球文件,因为它没有实现LTC和TCL时间系统(它能译码该crate的EME2000/UTC OEM,并在把TIME_SYSTEM换成TDB之后译码月球文件);oem 0.4.5仅在从不受支持的时间系统回退之后,才在写入精度之内译码这些文件。这些月球文件与主流CCSDS读取器的互换尚未确立
测试
lunar_interop::tests(OEM带有月球REF_FRAME/TIME_SYSTEM;时间元数据往返;KIF信封);tests/lunar_interoperability_export_reference.rs(kshana所发出的月球OEM由独立的oem重新解析…
由模型计算得出与PNT韧性框架对齐的评分resilience::arch, resilience::score, resilience::diversity, resilience::timeline
能力
针对Kshana自己的七个韧性类别(不是DHS术语)、RethinkPNT RDRR功能和Yang准则的各维度子分数,每项都标注为由模型计算得出并注明其驱动因素;带有有界退化门限的暂定RPCF等级。基于仿真得出的自我评估,绝非认证。
参考基准
手工推导的各指标公式:逆Simpson多样性、加权平均综合分、有界/无界时间线持续时间、最弱环节等级阶梯
测试
resilience::score::tests (monotonicity, composite bounds, level cap, modelled-provenance); resilience::diversity::tests (inverse-Simpson, common-mode, SPOF)
由模型计算得出韧性分数的决策不稳定性研究resilience::stats, resilience::study, resilience::panel
能力
量化在合理的加权单纯形和威胁集合下,单一综合得分 / RPCF Level如何重新排列各架构的次序(top-1翻转率、Kendall-tau离散度、Level翻转率、排名范围);以及声明值与实测值对比和多样性坍缩分析。
参考基准
闭式秩统计恒等式(tau位于[-1,1],附手算数值;确定性带种子的Dirichlet)以及构造的稳定/不稳定见证例
测试
resilience::stats::tests (Kendall-tau hand example, Dirichlet simplex, flip-rate); resilience::study::tests (stability control, instability witness, declared-vs-measured, diversity collapse)
由模型计算得出演示的代表性与距飞行的差距representativeness
能力
对演示输出作出限定的逐结果诚实台账:其外部锚点、建模假设、距飞行的差距和有代表性的TRL区间,并强制执行不变量(经核对的项需要外部锚点;由模型计算得出的项需要差距,且不能声称高于TRL 4)。
参考基准
对应“论证了代表性并识别出距飞行差距”这一compliance规程的闭式不变量;与核对状态/参考基准(oracle)类型的边界相联系
测试
representativeness::tests (validated-needs-external-anchor, modelled-needs-gap, modelled-TRL-ceiling, malformed-band, JSON fields)
由模型计算得出量子对经典的权衡证据(通用形式)qtrade
能力
一个可复现的TradeEvidence对象(固定框架:场景+种子+引擎;每个性能指标上通用的量子对经典数值,带极性正确的收益,可选的95%置信区间,经核对/由模型计算得出的标签),附带一条代表性记录,使每个量子PNT垂直领域都以同样诚实的方式报告权衡。
参考基准
闭式收益/胜者恒等式 + 对现有quantum_trade::TradeResult的忠实封装;诚实性与代表性台账和核对标签相联系
测试
qtrade::tests(效益极性越高/越低越好,如实包装真实的TradeResult,不诚实的证据被拒绝,经独立核对的FoM需要外部锚点,确定性JSON)
由模型计算得出量子器件误差模型库quantum_devices
能力
器件卡片(光学/囚禁离子/汞离子 + 复用自holdover/clock_state的经典时钟;冷原子干涉仪;经典与纠缠/单光子时间传递链路),每张都带有代表性记录;纠缠链路增加一个散粒噪声受限的授时精密度模型(~jitter/sqrt(R*tau),暗计数惩罚,系统误差下限)。
参考基准
复用的时钟/CAI系数(holdover/clock_state,已发表的数值)+ 纠缠链路的闭式散粒噪声/损耗恒等式
测试
quantum_devices::tests (clock cards honest+ordered; entanglement precision ~1/sqrt(tau); detected rate -10x/10dB; dark counts degrade; systematic floor bounds; card modelled+valid)
由模型计算得出可信量子授时(时间传递 + 安全分发 + 异常)timetransfer_chain
能力
端到端的量子对经典时间传递链路(时钟滑行 + 链路精密度按平方和合成),复用的授时保护级,延迟/重放攻击安全性能指标(1-P_md)以及时钟异常检测概率 + CUSUM延迟,作为诚实的TradeEvidence给出,并附代表性记录。
参考基准
在复用的经核对内核上的闭式平方和预算(ADEV对照Stable32/NIST;TPL界;检测analytic_pd/pmd);诚实性与代表性台账相联系
测试
timetransfer_chain::tests(精密度随积分提高;量子既可能胜出也可能落败;PL有限且为正;安全FoM在 [0,1] 内并随攻击延迟增大;异常Pd单调;权衡is_honest)
由模型计算得出无GNSS的量子导航quantum_nav_od
能力
在GNSS中断期间,量子(冷原子干涉仪)对经典导航级INS航位推算:位置误差增长、守时(holdover)到位置阈值,以及作为诚实TradeEvidence的量子对经典权衡;诚实的可观测性说明(没有定位修正时偏差不可观测,因此误差增长)。
参考基准
复用的惯性预算与同一航位推算ODE的独立Octave二重积分做了交叉核对(不同运行时,共用模型 → ReferenceImpl),并以Freier-2016已发表的短期噪声作为单侧锚点;量子对经典的综合结果保持MODELLED
测试
quantum_nav_od::tests(在长时间中断中量子优于经典;优势取决于中断时长;权衡is_honest);tests/gnss_free_quantum_navigation_reference.rs(航位推算位置增长对独立的…
由模型计算得出量子PNT系统的故障/异常检测quantum_faults
能力
带标签的量子故障目录(时钟频率跳变/漂移/失锁;传感器偏差阶跃/掉线),带自助法置信区间的检测统计量ROC AUC,以及在固定虚警率下的最小可检测故障;量子时钟辅助的监测器能检测到比经典监测器更小的故障,作为诚实的TradeEvidence给出。
参考基准
闭式Gaussian AUC = Phi(mu/(sigma*sqrt2)),与经外部核对的eval_stats::bootstrap_auc_ci(对照scikit-learn)及检测解析阈值做了交叉核对
测试
quantum_faults::tests(解析AUC已知值;经验自助法AUC包住闭式解;量子检测更小的故障 / 更高的AUC;对极大故障优势消失;5类目录;权衡is_honest)
已独立核对无力矩刚体姿态动力学attitude_dynamics
能力
Euler转动运动方程(I ω̇ = τ − ω × Iω,主轴与一般惯量张量)与四元数姿态运动学(q̇ = ½ q ⊗ ω)耦合,用每步对四元数重新归一化的定步长RK4积分器传播
参考基准
Basilisk 2.9.1航天器主体刚体传播(AVSLab,ISC;通过其自身的耦合主体方程得到MRP姿态,svIntegratorRKF78,相对容差1e-12),这是无力矩刚体方程的独立实现:Kshana的RK4四元数(dt 0.01 s)与本体角速率在1e4 s内、在两个一般的非对角惯量上吻合到1e-9以内(最差3.3e-11和3.4e-12 rad/s);容差在比较之前确定。经核对的论断:无力矩运动;外力矩项未做比较。守恒律和对称陀螺检验仍作为辅助的自洽性检验保留。没有柔性体/控制回路/外力矩环境
测试
attitude_dynamics::tests (apply/solve inverse, spherical-top zero torque, principal-axis fixed point, short-run energy+momentum conservation, q̇=½q⊗ω, symmetric-top rate sign + body-cone precession)…
已独立核对Clohessy–Wiltshire / Hill相对运动动力学cw_dynamics (propagate, second_order_correction, propagate_second_order)
能力
追踪器相对于圆形参考轨道上目标的相对运动,在LVLH坐标系中:线性化的Clohessy–Wiltshire方程(ẍ−2nẏ−3n²x=0,ÿ+2nẋ=0,z̈+n²z=0)由闭式6×6状态转移矩阵Φ(n,t)求解(Clohessy–Wiltshire 1960;Vallado Alg. 48),并带有有界相对轨道条件ẏ₀=−2n·x₀,以及一个闭式二阶修正(cw_dynamics::second_order_correction,即CW对精确圆形主星方程二次项的响应;Karlgaard和Lutze 2003,Newman、Lovell和Pratt 2015),组合为cw_dynamics::propagate_second_order。经核对的输出是propagate_second_order;仅线性Φ是针对非线性真值做了刻画,并未经核对
参考基准
Orekit 12.2(Apache-2.0)NumericalPropagator,两体,LOFType.QSW,作为单独程序运行(测试夹具自第1轮以来未变)。预先登记的判据为每个算例的每个采样上1e-3 m;二阶引擎修复对照它在不变的情况下重新运行(修订8c8e768d,写于传播器存在之前,披露了一阶差距是已知的)。propagate_second_order吻合到1.15e-7 m(C1)、9.8e-8、5.4e-8和2.2e-8 m;把二阶项减半则在1.85e-3至3.14e-3 m处失败。仅线性Φ在100 m处、三分之一轨道内偏离非线性真值1.2至6.3 mm(被省略的二阶项;其严格测试保持忽略),因此是被刻画而非经核对。保留的内部检验:Φ对照Hill方程的RK4积分、Φ(t)Φ(−t)=I、有界轨道与−12π·x₀漂移恒等式,以及二阶项的三阶残差缩放。范围:圆形主星,间距接近100 m,至多三分之一轨道;没有偏心率(Tschauner–Hempel)、J2或差分阻力项;小间距假设
测试
cw_dynamics::tests(Φ(0)=I,横向解耦的简谐运动);tests/cw_dynamics_reference.rs(闭式 Φ 对同一组Hill常微分方程的独立定步长RK4积分,在三分之一个轨道上吻合到<1e-6;Φ(t)Φ(−t)=I至…
由模型计算得出TDOA/FDOA被动辐射源地理定位geolocation
能力
由接收机网络上的到达时间差定位辐射源(干扰源/欺骗源,或用于反向PNT的机会源)——τᵢ=(Rᵢ−R₀)/c双曲面交点用Gauss–Newton最小二乘求解——并在加入到达频率差(距离变化率差)且接收机运动时,联合恢复位置和速度;并由测量几何给出位置协方差上的Cramér–Rao下界
参考基准
估计器与几何的自洽性:正向→逆向往返、Fisher/CRLB恒等式J·CRLB=I、GDOP单调性,以及估计器在蒙特卡罗噪声下达到其自身的Cramér–Rao界——内部一致性检验,不是外部数据集,因此该行保持InternalConsistency。MODELLED被动地理定位——点源视线模型;没有多路径/NLOS、接收机钟差或大气折射项。0.30第2轮,对照Ho和Chan 1993以及Ho和Xu 2004(预先登记f89018b8,每个印出值的1 %),一项发现(保持MODELLED):受地表约束的TDOA界复现了40 N几何因子(-0.11 %,-0.02 %)和最大TDOA;联合TDOA+FDOA界复现了图6(+0.06 %,-0.17 %),并在作者自己的代码为图7所指明的源处,复现了图7(+0.11 %,-0.02 %)(该修订写于看到该结果之后,已披露);它与作者已发表的界代码(BSD风格,在GNU Octave下运行)相等,吻合到3e-12;协方差加权的最大似然求解器达到印出的界(+0.3至+0.4 %)。该论文由蒙特卡罗印出的Ottawa因子(251,7.1)相差+1.3 %和+4.4 %,超出1 %的判据
测试
geolocation::tests(无噪声TDOA正向→反向吻合到1e-6 m;J·CRLB=I,协方差为对称正定;增加一台接收机时,CRLB位置方差迹不增;联合TDOA+FDOA恢复运动的…
已独立核对3-DoF弹道式再入峰值减速度对照已发表的Stardust标称值entry_eo_ascent::entry_heating (simulate_entry, inertial_to_relative, EntryHeatingScenario)
能力
在旋转球形地球上通过US Standard Atmosphere 1976的3-DoF质点再入,由惯性再入状态用RK4积分,报告峰值减速度及其高度;行星相对再入状态由惯性状态得出。可作为entry-heating场景类型运行。
参考基准
Desai、Mitcheltree和Cheatwood(1999,NASA NTRS 20050042027)的Stardust标称值:自12.6 km/s行星相对速度起,45.8 kg发射质量时最大减速度33.4 g,为带完整气动数据库的6-DoF POST轨迹;再入界面取自Desai、Lyons、Tooley和Kangas(NTRS 20090004445):半径6503.14 km,惯性速度12.9 km/s,-8.2度。判据在任何基于这些输入的运行之前已在xval/entry-stardust/PREREGISTRATION.md中预先登记;两者在首次运行时均达到。不涵盖:仅一个已发表的算例和一个量(峰值减速度,在弹道近似中它不取决于弹道系数);再入纬度和航向是假设的;热流、热负荷和着陆点未对照它核对;是带常数C_D的质点,不是6-DoF。
测试
tests/entry_stardust_published.rs(峰值35.44 g对已发表的33.4 g,+6.1 %,判据10 %;相对行星的再入速度12.551 km/s对12.6,判据0.1 km/s);entry_eo_ascent::entry_heating::tests(旋转坐标系…
由模型计算得出3-DoF再入上的驻点对流再入加热(Sutton-Graves)entry_eo_ascent::entry_heating (stagnation_heat_flux, simulate_entry)
能力
驻点对流热流q = k sqrt(rho/R_n) V^3,采用地球空气和火星大气的Sutton-Graves常数(NASA TR R-376,1971),其峰值和沿3-DoF再入(弹道式或恒定倾侧角的升力式,在地球或火星上)的积分热负荷。
参考基准
内部一致性:NASA TR R-376中印出的关系式与常数、半步收敛检验,以及加热与减速度峰值的预期次序。不涵盖:未对任何已发表的加热值做比较(Stardust论文给出的是设计限值和约1200 W/cm2的对流加辐射估计,仅含对流的关系式无法与之吻合);没有辐射加热、壁温或催化性修正,也没有热防护响应。
测试
entry_eo_ascent::entry_heating::tests::heat_flux_relation_has_the_published_form_and_constants; entry_eo_ascent::entry_heating::tests::lift_lowers_peak_deceleration_and_heat_flux_of_a_shallow_entry…
由模型计算得出光电成像仪辐射测量、MTF、相对边缘响应与GIQE 4 NIIRSentry_eo_ascent::eo_radiometry (Imager, snr_budget, giqe4_niirs, EoRadiometryScenario)
能力
天底成像仪信噪比预算(Lambertian场景辐亮度、相机方程、散粒噪声、暗噪声、读出噪声和量化噪声),奈奎斯特处的系统MTF(为无遮挡孔径衍射、探测器孔径、线性拖尾与Gaussian抖动之积),由该MTF积分得到的边缘响应与相对边缘响应,Q = lambda F / p,以及不带MTF补偿的GIQE 4版NIIRS。可作为eo-radiometry场景类型运行。
参考基准
闭式结果:半截止频率处的衍射MTF、纯探测器孔径的一像素斜坡边缘(RER 1)、Gaussian模糊的正态CDF边缘(RER = erf(0.5/(sigma sqrt 2)))、散粒噪声缩放,以及按已发表形式的GIQE 4系数(Leachtenauer et al., Applied Optics 36(32), 1997)。不涵盖:未对任何外部成像仪、实测MTF或已评级图像做比较;GIQE是带自身误差的经验回归;没有杂散光、大气MTF、MTF补偿或混叠。
测试
entry_eo_ascent::eo_radiometry::tests::diffraction_mtf_has_its_closed_form_values; entry_eo_ascent::eo_radiometry::tests::a_pure_pixel_aperture_has_a_ramp_edge_and_rer_one…
由模型计算得出发射上升段的重力、阻力、转向和背压损失entry_eo_ascent::ascent (simulate_ascent, AscentScenario); reentry::us76_pressure
能力
多级飞行器在非旋转球形地球上通过US Standard Atmosphere 1976(密度和压力)的平面重力转弯上升,带俯仰踢动、因喷管背压而减小的推力、恰在步长边界上的级关机,以及与状态一同积分的重力、阻力、转向和背压损失。可作为ascent-losses场景类型运行。
参考基准
内部一致性:精确恒等式 关机速度 = sum Isp g0 ln(m0/mf) 减去四项积分损失(残差低于1e-6 m/s)、仅有重力损失的垂直真空燃烧上的Tsiolkovsky方程,以及US76海平面和对流层顶压力。不涵盖:未对任何已发表飞行器的损失做比较;没有地球自转、滑行、节流或踢动之外的制导;C_D为常数;不是轨迹优化器。
测试
entry_eo_ascent::ascent::tests::the_loss_identity_holds_to_integration_error; entry_eo_ascent::ascent::tests::vertical_vacuum_burn_has_only_gravity_loss_and_stays_vertical…
由模型计算得出TWSTFT双向方程、不确定度预算与带闪烁和日变非互易性的链路稳定度twstft_budget (counter_readings, solve_offset, combined_uncertainty, flicker_phase, two_way_series, series_stability); time_transfer_budget (TimeTransferBudgetScenario, read_series)
能力
针对T_A - T_B求解的TWSTFT双向方程,含站发射与接收延迟、Ku波段电离层上/下行不对称、转发器延迟差和Sagnac项,并对照其精确正向模型;以链路TDEV为A类项的平方和不确定度预算;带白相位噪声和闪烁相位噪声(Kasdin-Walter)、日变非互易性和恒定互易性残差的双向序列;以及所提供的Circular T、MJD-CSV或IGS RINEX测站钟序列的速率、残差RMS、TDEV和ADEV。可作为time-transfer-budget场景类型运行。
参考基准
内部一致性:正向模型与所解方程吻合到1e-15 s,Sagnac项等于该模块独立的BIPM 2A omega/c^2回路形式,电离层项为40.3 TEC (1/f_up^2 - 1/f_down^2)/c,噪声过程显示出其预期的TDEV形状。不涵盖:未对任何真实TWSTFT测量或标定报告做比较;所述延迟和不确定度是输入,不是测得的;所提供序列的稳定度是被报告的,并未经核对。
测试
twstft_budget::tests(双向方程精确恢复偏差;Sagnac项等于BIPM环路闭式解;电离层项随频率分离变化,对流层抵消;闪烁相位有…
由模型计算得出光学斜程大气数值:Rytov方差、闪烁、gamma-gamma衰落概率、孔径平均、云与晴空光学厚度optical_atmosphere (rytov_variance, scintillation, gamma_gamma_cdf, fade_margin_db, aperture_averaging_factor, cloud_optical_depth, clear_air_optical_depth); optical_linkbudget (optical_link_budget_atmosphere)
能力
沿斜程积分的Hufnagel-Valley Cn2,得到平面波与球面波Rytov方差(上行与下行)、Andrews-Phillips闪烁指数和gamma-gamma参数、gamma-gamma衰落概率与衰落裕度、弱湍流孔径平均因子、液态水柱的云光学厚度,以及Kim能见度加Rayleigh晴空光学厚度;在提供大气时,取代光链路预算中的集总大气损耗。可在optical-atmosphere场景类型内运行。
参考基准
这些数值与一个独立程序(xval/optical-atmosphere/oracle.py,mpmath 1.4.1,30位数字,对原始高度变量做tanh-sinh求积,并用Bessel-K gamma-gamma密度)做了比较,该程序与Kshana没有共用代码,判据在任何实现存在之前确定(xval/optical-atmosphere/PREREGISTRATION.md)。为何为MODELLED:该参考基准(oracle)计算的是同样已发表的公式,因此它核对的是所述公式的实现,而不是大气;没有使用ITU-R核验算例,也没有使用实测的闪烁或斜程消光记录(ITU数值是待定的许可决定,因此不放入代码库)。Cn2剖面水平、能见度、气溶胶与分子标高、孔径平均路径长度,以及把孔径平均应用于gamma-gamma参数所用的矩匹配,都是所述的输入或约定。模块中的一行源码注释记录了一份被广泛复制的综述把第二个闪烁指数印成7/6,而Andrews和Phillips给出的是5/6;这里实现的是5/6形式
测试
tests/optical_atmosphere_reference.rs(预先登记的判据A1-A3对独立的mpmath参考基准:216个Rytov网格点,最坏相对误差3.4e-7,判据为1e-6,闪烁最坏4.5e-16,孔径因子…
由模型计算得出受天气驱动的光学地面站点可用性与随距离相关的站点分集optical_weather; optical_sitediv; optical_techniques; optical_atmosphere_scenario
能力
光链路在给定链路裕度下的可用性,来自对数正态云液态水气候(ITU-R P.840量,几何光学消光)和独立的gamma-gamma湍流衰落,目标可用性所需的链路裕度及任何裕度都无法突破的上限,对数正态中断持续时间,增强技术的假设分析,以及单因子Gaussian-copula网络可用性,其成对相关性为exp(-distance/decorrelation length)。可作为optical-atmosphere场景类型运行。
参考基准
内部一致性:分集模型的闭式极限与单调性、云上限闭式,以及对数正态中断恒等式。不声称存在、也未比较任何外部参考基准(oracle):没有使用实测的光学地面站可用性或无云视线记录。为何为MODELLED:云气候(云的概率、液态水柱的中位数与散布、中断持续时间)、云与湍流的独立性、Gaussian-copula形式、去相关长度以及每项技术增益都是假设;所附场景给出的是ILLUSTRATIVE气候,而不是数据集。要提升该行,需要一份引用的实测可用性记录以及一条在比较之前登记的判据
测试
tests/optical_atmosphere_identities.rs(判据A4:rho = 0等于独立并集,rho = 1等于最佳单站,吻合到1e-12,且在站点数和相关性上都没有单调性违反;首个…
由模型计算得出光学中断期间的授时与测距连续性optical_outage_holdover (couple, clock_psds); holdover (coast_phase_sigma, holdover_seconds, phase_to_range_m)
能力
光学站点的中断持续时间分布,与守时(holdover)模型的闭式滑行方差耦合:在给定中断分位数处的授时与测距误差、到授时阈值的守时时长、处于其内的中断比例和中断时间比例,以及授时可用性A + U E[min(D, T_h)]/E[D],分别针对经典和量子时钟类别。可在optical-atmosphere场景类型内运行。
参考基准
与守时(holdover)模块逐位一致的内部一致性;不声称存在外部参考基准(oracle)。各类别的PSD是守时模块已带有的合成长tau下限,因此这些数值继承了它所述的告诫:到严格阈值的守时由假设的红噪声下限决定,而不是由所引用的阿伦偏差决定。中断持续时间是带所述参数的对数正态模型,而不是实测的云驻留记录
测试
tests/optical_atmosphere_identities.rs(判据A6:每次中断的授时误差等于holdover::coast_phase_sigma,距离误差逐位等于phase_to_range_m,覆盖9个钟、3个平均时长、3个离散度和4…
由模型计算得出光链路裕度随时间变化:某一站点天气的一次带随机种子的实现optical_timeseries (site_series, SiteModel, SeriesSpec, Series); optical_atmosphere_scenario (TimeseriesSpec)
能力
一个可选启用的[timeseries]表(持续时间、步长、种子)使optical-atmosphere类型还会针对每个站点,写出所述站点模型随时间的一次带种子的实现:云事件(晴期为指数分布,云中断为带所述均值与散布的对数正态,云中时间占比设为所述云概率),每个云事件一个对数正态液态水柱,每步一个gamma-gamma闪烁采样,并由这些得出链路裕度、云与闪烁衰落和链路在线标志,以及实现的可用性、云占比、中断次数和最长中断。没有该表时,结果就是0.37文档。抽样经由可移植的分布与数学路径进行,因此原生与wasm32给出相同的字节。
参考基准
仅为内部一致性;不声称存在外部参考基准(oracle),对天气实现而言也并不存在。这些检验把一次抽样与同一模型的统计输出比较,因此通过只说明生成器是按所述分布取样的(抽样的可用性与云占比落在对所述数值的预先登记容差之内),而不说明任何真实站点会如此表现。该序列是一次实现,而不是气候:其可用性与所述值相差抽样误差,且不同步的闪烁采样彼此独立,这是对一个在毫秒内去相关的过程所作的所述简化。天气输入仍是该场景的假设。
测试
tests/optical_atmosphere_timeseries.rs(xval/optical-atmosphere/PREREGISTRATION-timeseries.md的判据T1-T6,在首次运行前固定:相同随机种子得到相同字节,另一随机种子得到不同字节;没有表就没有键;在…
由模型计算得出TRK-2-18轨道数据文件读取器与火星斜坡式2-way多普勒模型odf (parse_odf, Odf, OdfObservation, OdfRamp, seconds_1950); mars_od (DopplerModel, RampTable, compress_two_way, MarsDynamics, fit, fit_damped); naif_kernel (SPK type 1); gravity_pds (SphericalHarmonicField::from_shadr)
能力
DSN轨道数据文件(TRK-2-18)的读取器:36字节的记录组(文件标签、标识符、轨道数据、各测站斜坡、时钟偏差、摘要、文件结束),以及每条轨道数据记录中的自1950年起算的时间标记、下行与上行时延、观测量、测站、数据类型、频段、有效性、通道、航天器、46位参考频率和压缩时间;斜坡的起止时间、速率和起始频率。在此之上,还有斜坡式2-way X波段多普勒模型(积分的上行斜坡、含Shapiro效应和对流层的往返光行时、经IAU 2006/2000A CIO链和IERS EOP的DSN测站、测站时间),以及火星轨道器批处理定轨(GMM-3场、第三体、SRP、阻力)。
参考基准
DSN导航数据调理流程随该文件一起生成的PDS3标签(NASA PDS Geosciences Node,MRO-M-RSS-1-MAGR-V1.0),对照在读取器出现之前就已在xval/mro-odf/PREREGISTRATION.md中预先登记的判据进行核对。为MODELLED,是因为有一条登记的判据(文件结束表的行数,文件中为121,标签中为120)未达到;标签在此处自身不一致。第2阶段(xval/mro-od/PREREGISTRATION.md,修订A1和A2均在评分结果之前):由MRO导航团队重建结果(mro_psp5,NAIF)预测的多普勒,与观测到的斜坡式2-way多普勒在开发中未使用的弧段上相符到12.5 mHz,达到判据;登记的定轨在评分弧段上失败(正规矩阵非正定),没有产生轨道,因此轨道判据未达到。第2次运行(xval/mro-od/PREREGISTRATION-RUN2.md,阻尼估计器,同一弧段和判据,评分修订R2-A1已在docs/revisions中披露)收敛:估计轨道与重建结果的均方根偏差在0.36 km以内(最大0.53 km),达到判据,但拟合后多普勒均方根为48.6 mHz,对照30 mHz的判据,未达到,因此这一行仍为MODELLED。不包括的内容:没有任何一条估计轨道达到了全部登记判据;电离层、太阳等离子体以及大部分天线偏移(在开发弧段上拟合了一个1.5 m的径向偏移)均未建模。
测试
tests/mro_odf_reader_label_oracle.rs(一份真实的MRO ODF,2007-304/305,对照其PDS标签:记录数、组位置、测站、起止时间和数据类型均成立;文件末尾表的行数偏差…
已独立核对使用反作用轮的闭环MRP反馈姿态控制aocs (AocsConfig, required_torque, motor_torques, rates, rk4_step, simulate, mrp_from_quaternion); aocs_kind (AocsScenario)
能力
带有三个或更多平衡反作用轮的刚性中心体的惯性指向姿态控制:MRP反馈律L_r = -K sigma_BR - P omega_BR(Schaub与Junkins)、截断到各轮限幅的最小范数轮电机力矩G_s u = -L_r、中心体与轮的耦合动力学(中心体惯量含轮的自旋惯量)、四元数运动学、带零阶保持的RK4。可作为aocs场景类型运行(真实状态回路)。
参考基准
Basilisk 2.9.1(AVSLab,ISC;bsk轮运行为单独的工具,从不链接或内置):航天器中心体、reactionWheelStateEffector(BalancedWheels,开启力矩限幅)、simpleNav、inertial3D、attTrackingError、mrpFeedback(无积分项)和rwMotorTorque,dt = 0.1 s并采用其自带的RK4,在三种算例上与Kshana自身的实现对照(三个正交轮;四轮金字塔构型;一个饱和的四轮算例),判据在代码和运行之前已在xval/aocs-basilisk/PREREGISTRATION.md中预先登记。所有判据在首次运行时均成立。不包括的内容:回路中的传感器噪声、积分反馈、跟踪制导、轮摩擦、抖动、转速限制与功率,以及任何真实航天器的增益;这一比较检验的是该控制律和动力学的实现与独立实现之间的一致,不是飞行控制器。
测试
tests/aocs_basilisk_oracle.rs(3个用例,各601个样本:MRP最坏2.4e-14,判据1e-9;本体角速率1.6e-15 rad/s,判据1e-9;飞轮转速2.9e-11 rad/s,判据1e-6;施加的电机力矩1.2e-13 N m,判据1e-9;t = 0力矩…
由模型计算得出基于陀螺和星敏感器的乘性EKF姿态估计aocs_mekf (Mekf, GyroSim, attitude_error, spd_solve6); aocs_kind (estimator)
能力
Lefferts-Markley-Shuster乘性EKF:本体系姿态误差和陀螺偏置状态,以陀螺速率减去偏置估计并采用Farrenkopf离散过程噪声(角度与速率随机游走)进行传播,星敏感器更新采用Joseph形式的残差2 vec(q^-1 q_st),以及乘性重置;还有Farrenkopf离散陀螺与星敏感器模拟器。aocs类型可以基于其估计值闭合控制回路。
参考基准
内部一致性:滤波器的归一化估计误差平方,对照由相同传感器模型模拟的真值,遍历蒙特卡罗随机种子;以及姿态和偏置估计的收敛。不包括的内容:没有与外部估计器或飞行数据比较过(Basilisk 2.9.1没有MEKF模块);传感器模型是教科书式的,不含安装失准、标度因子或星敏感器视场效应。
测试
aocs_mekf::tests::mekf_is_consistent_over_monte_carlo_seeds(40个随机种子,后半段平均六自由度NEES在4.5到7.5之内);aocs_mekf::tests::star_tracker_updates_bound_the_attitude_error…
已独立核对Wahba/TRIAD/QUEST姿态确定wahba
能力
由加权矢量观测(恒星/太阳/磁强计方向)得到最优三轴姿态:确定性的双矢量TRIAD、Davenport的q方法(Wahba损失的精确极小化器:最优四元数是4×4 Davenport矩阵K最大特征值对应的特征向量,由对称Jacobi特征求解得到),以及QUEST(以 Σ 权重为初值,对K的特征方程做Newton/割线求根,再恢复Gibbs矢量四元数)
参考基准
scipy.spatial.transform.Rotation.align_vectors(SciPy 1.13;Virtanen等,Nature Methods 2020):Wahba问题的Kabsch/Markley SVD解,是真正独立的算法(姿态剖面矩阵的SVD)和代码库,不同于kshana的Davenport-K特征求解/QUEST特征根方法,计算的是同一个唯一确定的Wahba最优姿态。在无噪声的加权矢量观测集上,TRIAD、q方法和QUEST复现scipy的最优旋转,偏差小于1e-9 rad(通过与符号无关的姿态误差角比较)。带噪声的蒙特卡罗“最优优于TRIAD”这一统计结论仍为MODELLED(没有外部参考基准);仅限点方向的单位矢量观测,不含传感器视场/偏置/时间相关性建模,且QUEST在180° 处奇异(q方法涵盖该情形)
测试
wahba::tests(A(单位四元数)=I;Jacobi特征值求解器满足Kv=λv,并在已知对称矩阵上保持迹;K为对称);tests/wahba_reference.rs(TRIAD、Davenport的q方法和QUEST…
已独立核对GNSS平方律捕获检测统计量acquisition
能力
在码相位 × 多普勒搜索上的平方律(非相干)捕获检测器:虚警概率(自由度为2M的中心 χ²),达到目标P_fa的门限(对 χ² 累积分布函数用二分法求逆),以及检测概率(对每个单元相关后信噪比 ρ,非中心参数为2M·ρ 的非中心 χ²),并含广义Marcum Q函数Q_M(a,b)=1−F_{χ'²(2M,a²)}(b²)
参考基准
scipy.stats.ncx2 / scipy.stats.chi2(SciPy 1.13;Cephes/Boost):是与kshana的不完全伽马级数(raim::chi2_cdf / noncentral_chi2_cdf)不同的独立算法(连分式非中心/中心 χ²),计算同一个唯一确定的检测统计量内核(KERNEL):广义Marcum Q_M(a,b)=ncx2.sf(b²,2M,a²)、检测概率P_d、虚警概率P_fa以及由P_fa到门限的反演,符合到约1e-6;独立性的依据与经独立核对的“RAIM/ARAIM完好性统计内核”行相同。仅限内核(KERNEL):逐单元的CFAR单元平均以及码/多普勒单元跨越损失仍为MODELLED
测试
acquisition::tests(Marcum-Q中心情形Q_1(0,b)=exp(−b²/2);P_d=Q_M(√(2Mρ),√γ) 恒等式;P_fa↔门限往返,跨M与P_fa;ROC单调性:P_d随SNR上升,随门限下降,P_d→P_fa当…
已独立核对GNSS载波相位整周模糊度解算(LAMBDA)lambda
能力
按LAMBDA方式的整数最小二乘模糊度固定:保持体积的整数(Z)去相关变换(对L D Lᵀ 因子做整数Gauss尺寸缩减),加上精确的Schnorr–Euchner深度优先分支定界整数最小二乘搜索,并对两个最佳候选做比值检验(经独立核对的结论);另有闭式的自举成功率P_s=∏(2Φ(1/(2σ_{i|I}))−1),仅做了内部核对,不在经独立核对的结论之内
参考基准
RTKLIB v2.4.2-p13 lambda()(其lambda.c源文件,T. Takasu,BSD-2-Clause),一个独立的LAMBDA缩减和MLAMBDA搜索,由C编译并作为工具运行,在300个随机协方差上(n为2至10):整数最小二乘有唯一的极小解,因此固定的整数必须完全一致(0处不一致),而供比值检验使用的两个最佳平方范数,相对偏差在1e-9以内(实测5.6e-13);容差在比较之前就已确定。经独立核对的结论:ILS解及其两个最佳范数。RTKLIB不计算自举成功率,该项仍对照舍入过程的蒙特卡罗做内部核对;Z变换的不变量以及暴力枚举仍作为辅助检查。仅限整数Gauss去相关(完整LAMBDA缩减中的重排置换会加快搜索,但既不改变精确的ILS答案,也不改变自举成功率)
测试
lambda::tests(L D Lᵀ 重构Q);tests/lambda_reference.rs(Z变换是幺模的 |det Z|=1,Q_z=ZᵀQZ为对称正定,保持行列式,且总的非对角相关性更低;Schnorr–Euchner ILS与…相符
已独立核对B平面瞄准与圆锥曲线拼接引力辅助bplane
能力
双曲线飞越几何(a=−μ/v∞²,e=1+r_p·v∞²/μ,转角 δ=2·asin(1/e),瞄准参数 |B|=|a|·√(e²−1)),B平面 Ŝ/T̂/R̂ 瞄准点坐标系及B·T̂/B·R̂ 分解,以及圆锥曲线拼接引力辅助(v∞ 的大小守恒,方向偏转 δ,日心 Δv=2·v∞·sin(δ/2),不耗推进剂),以及Tisserand参数T_P=a_P/a+2√((a/a_P)(1−e²))cos i
参考基准
GMAT R2026a(Apache-2.0,作为单独的程序运行)在192个双曲线地球状态上:B.T、B.R和 |B| 偏差在1e-6 km以内(最差1.35e-8 km),转角和两条渐近线偏差在1e-9 rad以内(最差9.3e-15 rad);由GMAT的C3和渐近线得到的辅助速度变化偏差在1e-9 v_inf以内(最差5.6e-14);辅助前后350个以太阳为中心的状态上的日心SMA、ECC和INC,相对偏差在1e-9以内,角度偏差在1e-12 rad以内(最差分别为2.2e-14和4.1e-14 rad);Tisserand参数在GMAT轨道根数上对照sbpy 0.6.0(BSD-3),偏差在1e-9以内(最差1.3e-15),并对照3 - C3/v_c^2(8.9e-16);Tisserand闭式解对照Kasuga与Jewitt(2019)表8.1中12个天体,在印刷舍入界之内(最差为该界的0.39;一项P1已发表的算例值)。预先登记(436293bf;日心修复6fd9f5e6);修订374c806b写于参考基准文件生成之后、任何Kshana数值出现之前,把倾角输入过滤条件从1e-2放宽到1e-3 rad,保留了更多、条件更差的状态。MODELLED范围:圆形行星轨道上的圆锥曲线拼接二体飞越,没有影响球过渡、遭遇摄动或星历
测试
bplane::tests(飞越标量满足闭式解,两个 |B| 恒等式一致且 |B|>r_p;转向角随近心点半径减小,并达到 δ→0 / δ→π 的极限;偏转保持v∞ 速率且…
已独立核对CRPA抗干扰阵列波束形成crpa
能力
受控接收方向图天线调零:复阵列导向矢量a(û)=exp(j·k·pₙ·û),确定性调零(朝向SV的增益为一,经最小范数w=Aᴴ(AAᴴ)⁻¹b对至多N−1个干扰源形成精确的零点),以及MVDR自适应权值w=R⁻¹a_sv/(a_svᴴR⁻¹a_sv),可把深零点自行指向强干扰源(附带从零实现的复线性代数内核)
参考基准
numpy.linalg / scipy.linalg(LAPACK zgesv复数求解):是与kshana从零实现的复数内核不同的独立线性代数代码库,计算同一组唯一确定的权值:MVDR w=R⁻¹a_sv/(a_svᴴR⁻¹a_sv) 和最小范数调零w=Aᴴ(AAᴴ)⁻¹b,以及由此得到的阵列响应增益,符合到约1e-9;与经独立核对的DOP(gnss_lib_py)和Fisher信息(numpy)两行属于同一类参考基准。MODELLED的窄带远场、相同的各向同性阵元阵列:不含互耦、逐阵元失配、有限带宽(STAP)或导向矢量估计误差
测试
crpa::tests(复数运算恒等式,含z/z=1、|exp(jθ)|=1、zᴴz=|z|²;确定性零陷操控给出精确的单位SV增益,以及<1e-9的干扰零陷,在4阵元ULA上带3个干扰源;N阵元阵列抑制…
已独立核对IEEE-1139幂律时钟噪声与闪烁调频底限powerlaw
能力
五系数的IEEE-1139 PSD与阿伦方差互换S_y(f)=Σh_α f^α → σ_y²(τ)(白/闪烁调相,白/闪烁/随机游走调频),把闪烁调频底限 σ_y=√(2 ln2·h_{-1}) 作为一等可拟合项,以及在{(2π²/3)τ, 2 ln2, 1/(2τ)}基上的非负调频族拟合,可恢复漂移基{1/τ,τ,τ³}无法表示的底限
参考基准
allantools 2024.06(A. Wallin;Kasdin与Walter 1992 / Vernotte 2015系数):是独立的第三方代码库和引用谱系,对五种幂律噪声类型中的每一种,计算同一个唯一确定的IEEE-1139 PSD到阿伦偏差 σ_y(τ) 的转换。kshana的powerlaw::allan_deviation与allantools的闭式解相符(白/闪烁调频、随机游走调频和白调相相对偏差小于5e-9;闪烁调相约1e-5,这是真正体现独立性的信号,因为kshana使用NIST-SP-1065列表中的1.038常数,而allantools使用完整的3γ−ln2),闪烁调频底限 √(2 ln2·h_{-1}) 在整个梯度上与allantools相符;与经独立核对的MDEV/TDEV/Theo1/MTIE各行所达到的判据相同。MODELLED的平稳幂律模型:没有确定性漂移(τ²)项;逐器件的系数/实测底限仍为模型计算得出
测试
powerlaw::tests(每种纯噪声类型都显示其特征性的ADEV对数—对数斜率:白噪声调频 −½,闪烁调频0,随机游走调频 +½,白噪声调相 −1;闪烁调频项是平坦的下限,等于 √(2 ln2·h_{-1}),跨越五个数量级…
已独立核对CCSDS OEM协方差块互换oem (covariance_block_kvn, parse_covariance_block)
能力
序列化并解析CCSDS 502.0 OEM的COVARIANCE_START…COVARIANCE_STOP块:6×6位置/速度协方差以其21个元素的下三角写出(标准的CX_X … CZ_DOT_Z_DOT次序),并带可选的COV_REF_FRAME,与现有的OEM状态矢量写入器/解析器相配合,使定轨和滤波器的协方差能以标准格式往返转换
参考基准
oem 0.4.5(MIT,https://pypi.org/project/oem/):与经独立核对的“CCSDS OEM互操作性”行所信赖的是同一个独立的CCSDS-502解析器,是完全独立的代码库(有自己的KVN词法分析器、协方差段状态机和numpy矩阵装配)。kshana输出一个完整的OEM段,其中带有无标签的纯数字下三角COVARIANCE块;oem将其解析并重建出对称的6×6矩阵,与kshana输入的协方差逐元素相符,直到f64舍入误差;这是真正的库对库互换往返(与oem的重建结果比较,而不是kshana的再次解析),弥补了该行此前“没有第三方测试数据”的缺口
测试
oem::tests(对称正定协方差经KVN→解析往返至f64舍入误差,并保持对称;该块恰好输出21个下三角元素,即每行矩阵i+1个,带/不带COV_REF_FRAME;带有……的块…
已独立核对INS/TRN惯性滑行误差增长与阈值穿越inertial::coast (ErrorDynamics, ErrorSource, source_error_m, CoastModel, Contribution, Combination, TrnFixMode, first_crossing_s, InsTrnCoastScenario); scenario kind ins-trn-coast
能力
由IMU系数构建的位置误差对滑行时长的预算,各误差源(加速度计偏置、陀螺偏置、速度随机游走、角度随机游走、巡航时和持续比力下的标度因子)通过带Schuler反馈的九状态当地水平INS误差模型传播(inertial::coast::ErrorDynamics,依据Groves第2版第14章:姿态、速度和位置误差,含重力梯度的垂向通道,WGS-84半径和正常重力,以配置速度向北飞行的水平平台,latitude_deg和height_m;系统项用增广矩阵指数,随机游走用Van Loan方法),平地球单项式仅作为leading_order_m保留;各贡献按一条声明的规则组合(rss / linear-sum / deterministic-sum-with-stochastic-rss);达到调用方提供的位置阈值(默认10 m和50 m)的滑行时长,由对首次穿越的前向扫描确定(first_crossing_s,因为受Schuler约束的曲线不是单调的),并给出每次穿越处的主导误差源;还有TRN约束模式,给出能守住每个阈值的最大地形定位间隔。可作为ins-trn-coast场景类型运行
参考基准
NaveGo v1.4(提交24d9488,LGPL-3.0),在GNU Octave 8.4.0下作为单独的程序运行:使用相同IMU误差剖面的自由惯性滑行运行,并对其四元数更新中的一处数值死区做了更正(qua_update.m:把速率低于1e-8 rad/s的保护条件替换为wnorm == 0,应用于运行时副本并断言只匹配一次;有该保护条件时,缓慢漂移的平台姿态会冻结并切断Schuler反馈)。更正后的生成器在运行之前已预先登记(4262b969);引擎(440b3877)在打开任何更正后的输出之前就已提交;与第1轮采用相同的5 % 判据、48个点、误差项、随机种子和统计量。结果:48/48在5 % 以内(最差为1200 s处速度随机游走的 +3.70 %,以及1800 s处角度随机游走的 +3.33 %);在3600 s时,NaveGo/Kshana对加速度计偏置给出2375.4/2376.2 m,对陀螺偏置给出130 885/131 675 m。把Schuler输运速率反馈置零会使测试失败(3600 s时为 +695 %)。已披露:单通道的Schuler预测和第1轮的NaveGo数值是已知的;该模型没有拟合参数。范围:Tactical级的逐项误差曲线,45度N,水平且指向正北,至多3600 s;穿越、组合规则和TRN模式都是这些曲线的确定性函数。IMU等级系数(Groves 2013表4.1的区间数值)和TRN定位残差仍为MODELLED输入。第1轮(已被取代):平地球单项式,现为leading_order_m,在600 s之后偏高(一小时时为2.2倍至8倍)。0.30修订:每一项ins-trn-coast输出都有变动(所发布场景的TRN峰值由52.932679变为44.711834 m)
测试
tests/ins_coast_schuler_navego_oracle.rs::coast_error_model_matches_the_corrected_navego_runs(48个点,六个误差项,30 s至3600 s,战术级,北纬45度,水平且指向正北:每个点都在5 % 以内…
由模型计算得出孔径的导航与通信占空比aperture_duty
能力
一次运行接收一份联系计划(aos_s/los_s窗口列表,每个窗口请求孔径用于导航或通信,使用与passes::predict_passes输出相同的窗口词汇,由aperture_duty::windows_from_passes转换)、孔径数量和一条明确的仲裁策略,并返回导航占空、通信占空、空闲占空以及每次会话的中断。策略是一项输入,有文档化的默认值(navigation-priority;另有communications-priority和非抢占的first-come-first-served),报告中带有解析后的策略、其完整定义以及占空和中断的定义,因为不附带其仲裁规则的占空数字是不可复现的。调度是对窗口边界做的精确区间扫描,因此恰好在下一个窗口开始处结束的窗口从不发生争用,而导航、通信和空闲的孔径秒数在这一次扫描中被独立累计。可作为aperture-duty-cycle场景类型运行
参考基准
内部一致性:取自在同一次扫描中用不同表达式算出、再要求闭合的三个量。导航孔径秒数、通信孔径秒数和空闲孔径秒数分别累计(空闲由每个基本区间的(孔径数 − |被服务数|)得出,绝不作为余数),并断言其总和等于孔径数 × horizon_s,边界划分错误、区间重复计数或遗漏都会立刻使之失败;各会话被服务的时间另外要求加回后等于两项服务总量。调度器的结构性质是实测的而不是假定的:对三种策略,在200个伪随机计划上断言被服务时间随孔径数不减(对非抢占策略并不显然,因为多一个孔径会改变此后每个边界上由谁占用什么),并且边界运算被固定在恰好相接和重叠一秒的一对情形上,否则这里的差一错误会被掩盖。通过预测器的桥接对照passes::predict_passes的输出进行核对:在一个孔径且无竞争服务时,导航孔径秒数等于预测器自身汇总的过境时长。不声称有外部参考基准,也不存在这样的基准:该能力取代的是手工算术,而不是对照手工算术来核对;所附的联系计划是示意性的,不是实际飞行的;没有任何运行中的调度器发布附带其仲裁规则的计划与答案成对数据:在未声明策略下算出的占空,与在已声明策略下算出的占空不可比,而对策略的依赖是实测的(在完全相同的计划上,导航占空分别为100/150与50/150)。转向与切换时间、数据量、缓冲状态、能量和链路闭合在报告标签中明确排除,而不是悄悄地建模
测试
aperture_duty::tests(一个窗口恰好在下一个窗口开始时结束,则不发生争用;将其提前一秒,恰好多付出一秒的代价,即差一防护;重叠窗口超过孔径数…
由模型计算得出月面导航射频压制干扰(逐卫星J/S)lunar_jamming (composing jamming, lunar_service, lunar)
能力
在示意性的、取自公开来源的Moonlight/LCNS类星座之上,月面(或抬高的)干扰源作用下,月面经纬坐标用户的月球原生干信比、有效C/N₀ 和失锁。它组合了开放的压制干扰链(j_over_s_db、effective_cn0_dbhz、rx_antenna_gain_db、lock_status、q_factor、nominal_cn0_dbhz、free_space_path_loss_db)与开放的月球天空几何(lunar_service::LunarConstellation加topocentric、lunar::selenographic_to_mcmf);不重新推导任何几何或辐射度量。与地球的jamming类型不同,信号一段不是固定的接收功率:每颗卫星的各向同性接收功率是其自身链路预算的EIRP − FSPL(斜距),所以J/S随月球距离和仰角逐卫星变化。对每条可见(历元,卫星)链路各输出一行(每条链路一行),格式为JSON以及 *.table.csv制品,并在旁边印出构成J/S之差的两个接收功率;汇总性能指标放在该表之旁,决不取代该表。可作为lunar-jamming场景类型运行
参考基准
对照仓库内一条独立代码路径的组合交叉核对:每条链路的J/S都被重新推导为用linkbudget::received_signal_power_dbw算出的两份链路预算之差,其自由空间损耗是单一表达式20·log10(4πRf/c),而不是jamming::free_space_path_loss_db所用的三项之和;两者在每一行上相符,偏差小于1e-9 dB(实测最差7.11e-14 dB,即浮点舍入)。它所组合的底层干扰链,另外已在tests/gnss_denied_jamming_resilience_reference.rs中取得外部锚定(对J/S和有效C/N₀ 做独立的numpy/scipy重新推导,固定到Kaplan与Hegarty §9.4,并加上JammerTest 2024的实测C/N₀,Zenodo 10.5281/zenodo.15910563);它所组合的月球几何,是带有自身参考基准的lunar_service/lunar几何。这里核对的闭式恒等式:干扰源距离减半,每一行恰好增加20·log10(2) dB;J/S对用户天线视轴增益严格不变,而C/N₀ 恰好随该增益变化;仰角掩模不会使任何保留下来的行有逐位变化。该行本身仍为ReferenceImpl/Modelled:不存在可供核对的实测月球压制干扰测评活动,且星座是示意性的、取自公开来源的Moonlight/LCNS类几何,不是实际飞行的星历
测试
lunar_jamming::tests (17 lib tests: j_over_s_equals_the_difference_of_two_independent_link_budget_runs; the_report_prints_both_link_budget_legs_so_the_difference_is_checkable_from_it…
由模型计算得出带有由实测C/N₀ 散布得到的不确定带的月球拒止等值线lunar_jamming (denial_js_db, range_for_free_space_path_loss_m, Cn0Distribution, DenialContourPoint, ContourBand, DenialContour; inverting jamming::effective_cn0_dbhz, jamming::j_over_s_db and jamming::free_space_path_loss_db)
能力
lunar-jamming报告不再把拒止等值线建立在单个标量上。它在逐卫星表之上输出完整的实测期望信号C/N₀ 分布:n、最小值、p05、p25、中位数、p75、p95、最大值、均值、样本标准差,以及样本自身的不对称度 (p95 − median) − (median − p05),并置于逐链路各行之旁,各行不变。随后,等值线按这些顺序统计量逐一给出,同时采用引擎认可的两种拒止判据(BOTH),绝不以其一取代另一:现行的功率比判据(J/S = 30 dB,与attack_surface和tracking_loop使用的阈值相同,也是已发布的月球链路压制干扰表中denial一列背后的判据),以及失锁判据(有效C/N₀ 降到tracking_threshold_dbhz),本报告自身的links[].status一列即以此评分。每个等值点都在拒止平面的两条轴上给出:在场景的干扰距离下所需的干扰源EIRP,以及在场景的EIRP下的拒止距离,因此这个带是绘制等值线图所用的同一坐标轴上的一个区间。带的边缘就是(ARE)contour(p05) 和contour(p95):同一个闭式映射作用于样本自身的分位数,不是拟合到样本上的sigma,也不是中位数 ± k·stdev,报告在数值旁的band_definition字符串中如此说明。stdev是为保持连续性而输出的,不被任何部分使用。C/N₀ 已处于或低于跟踪阈值的分位数没有有限的拒止J/S;这些列输出为null并附带计数的原因,而不是输出为无穷大或被截断的半径
参考基准
对照引擎自身正向函数的内部一致性,这是该能力能够如实声称的全部。每个等值点都是闭式反演,每个反演都通过把其答案送回报告各行评分所用的正向(FORWARD)函数来核对:J/S一列经jamming::effective_cn0_dbhz(必须返回tracking_threshold_dbhz,偏差小于1e-9 dB-Hz),距离一列经jamming::free_space_path_loss_db和jamming::j_over_s_db(得到同一J/S,偏差小于1e-9 dB),EIRP一列在场景自身的距离下经jamming::j_over_s_db。还进一步核对了等值线确实是拒止集合的边界,而不是其内部的一点:lock_status按严格不等式失锁,因此实测判定在等值线两侧各1e-4 dB的J/S范围内由DEGRADED翻转为LOST,差一个epsilon的等值线会使之失败。最强的核对是逐链路而不是逐分位数的:把同一映射应用于每一行自身的C/N₀,能精确复现报告的状态列,在文档记载的工作点上(kind = lunar-jamming,除jammer.range_m = 25,000 m外所有输入均为默认值),38行中38行都相符,不一致0行,其中26行为LOST,12行不是。单调性是实测的,不是假定的:在 [tracking_threshold + 1e-3, 80] dB-Hz上取20,001个样本,距离严格递减、所需功率严格递增,违反0次,因此带的分位数次序是被演示出来的,而不是被断言的。ExternalDataset被拒绝,经独立核对(Validated)亦随之被拒绝:不存在可用来对照拒止半径的实测月球压制干扰测评活动,星座是示意性的、取自公开来源的Moonlight/LCNS类几何,而不是实际飞行的星历,而且等值线的输入(EIRP、干扰源功率、天线增益、噪声温度)是有代表性的量值。ReferenceImpl也曾被考虑并被拒绝:反演与正向表达式是同一套代数从两个方向读取,所以往返只能发现抄写和符号错误,并不是独立的实现;称之为交叉核对,就是矩阵不变量所要防止的借用独立性之举。带带来的好处是实测并引用的,而不是断言的:在该工作点上,单一标量的等值线为27.402916 km,把25 km放在全部38行的被拒止一侧,而带21.256108 .. 29.921360 km包含该工作点,因此报告了该表实际显示的分裂。两种判据也被实测为不一致:功率比的带(38.186527 .. 53.691675 km)完全不包含25 km,这正是两者都被印出的原因
测试
lunar_jamming::tests (10 lib tests: the_contour_is_the_exact_inverse_of_the_functions_the_rows_were_scored_with; the_band_is_the_measured_quantiles_pushed_through_the_contour_not_a_sigma…
由模型计算得出跨模态完好性监测器的检测能力hybrid_integrity
能力
hybrid-optical-rf报告说明跨模态卡方监测器实际上能检测(DETECT)到什么,而不只是说明它通过无故障情形:在场景所述的虚警概率和漏检概率下,每个受监测轴(东、北、天、钟)的最小可检测偏差、其两侧的检测能力曲线、实际统计量首次越过阈值时的无噪声偏差倍数,以及在所述速率下对偏差斜坡的检测时间。还通过真实的监测器注入故障,并将其返回的统计量与解析预测一并报告
参考基准
两个内部参考基准,没有外部数据集。(1)闭式往返:最小可检测偏差由对非中心参数反演非中心卡方尾部(raim::pbias)得出,并通过把所得非中心参数在监测器自身阈值处送回raim::noncentral_chi2_cdf来验证,其结果必须返回P_md。(2)注入与解析对比:把偏差写入某一轴的射频估计并重新运行cross_raim::run_cross_raim,因此与解析非中心参数相比较的统计量是监测器自身算出的,而不是重新推导的。统计量本身的带随机种子的蒙特卡罗作为第三项核对放在测试中;它被有意不放入报告(NOT),因为抽样估计会更慢,且不能逐位复现。ExternalDataset被拒绝:被量化的是此监测器在此场景的sigma分配下的检测能力,而MDB所依据的sigma量值是有代表性的模型输入,不是测量值。ReferenceImpl也曾被考虑并被拒绝:蒙特卡罗抽样的是解析所描述的同一统计量,所以能发现抄写和系数错误,但不是该监测器的独立实现。0.30第2轮(预先登记0135a9e4),受阻(仍为MODELLED):SciPy 1.18.1的chi2/ncx2/brentq在五种配置上复现了报告阈值(偏差在5.4e-12以内)、各轴MDB、功率曲线、越过倍数和斜坡检测时间(偏差在5.3e-10以内);注入故障的统计量没有独立的参考基准,且sigma量值是模型输入,因此范围界定有待所有者决定
测试
hybrid_integrity::tests(检测功效曲线从零故障时的虚警率出发,到最小可检测偏差处的1 − P_md;最小可检测偏差经noncentral_chi2_cdf回代于…
由模型计算得出切换后协方差重新增长与告警限值的对比hybrid_integrity
能力
hybrid-optical-rf报告公开了滤波器的过程噪声模型,并说明切换后的解在告警限值之内能维持多久:对两个切换方向,报告给出切换后遗留的各轴协方差,在所述的随机游走过程噪声下向前传播,并报告覆盖系数缩放后的1σ 达到水平、垂直和授时告警限值的时间、哪一个限值最先起作用、方差倍增时间常数,以及一条括住该穿越的抽样滑行剖面。过程噪声PSD、覆盖系数和告警限值都是带有文档化默认值的输入
参考基准
没有外部参考基准。该穿越是随机游走方差增长的闭式解,测试根据报告自身公布的数值独立地重新计算它,而不是根据输出器的内部量。起始协方差逐位固定为现有切换块已报告的迹,因此滑行不会传播无人见过的协方差。过程噪声PSD是MODELLED的有代表性的输入,穿越时间与它们直接成比例,缩放测试把这一点作为实测属性陈述,而不是作为声明。ExternalDataset被有意拒绝:滑行时间是两个模型PSD和本身也只是有代表性的告警限值的直接函数,且不存在可对照的实测月球光学/射频切换滑行。这里的外部参考基准需要为可比的接收机公布的、说明其过程噪声模型的切换后协方差增长或守时精度曲线,并核对到一个容差
测试
hybrid_integrity::tests(滑行恰好从交接块所报告的协方差迹开始,两个方向均如此,因此重放的对角线不会偏离所报告的交接;所报告的穿越时间…
由模型计算得出月球几何导出中的偏离视轴天线方向图lunar_service, antenna
能力
逐卫星几何导出在每个(历元,卫星)上给出卫星处(AT THE SATELLITE)的偏离视轴角,以及由真实的均匀照射圆口径(Airy)方向图得到的朝向站点的发射增益,并把该方向图下的波束内计数,与对称的增益-波束宽度近似(θ_3dB[deg] = √(31000/G_lin))下的波束内计数并列报告,二者之差作为显式修正,分别以链路数、每历元卫星数和最差的单个历元给出。该近似隐含的两个孔径效率都已输出(对其所引用的70·λ/D度规则为0.641,对均匀圆口径为0.920),因此它悄悄假定的效率被陈述出来,而不是由人推断。默认关闭:仅当同时给出导出站点和孔径时才出现该块
参考基准
混合,且分开而不是合并。其下的方向图(PATTERN)经过外部核对,保有自己的一行(tests/validate_p1_orbital_footprint.rs中一个scipy.special.j1的固定数据,偏差小于0.05 dB,此外这里还通过二分法求得了已发表的Airy半功率横坐标x = 1.61634,而不是假定)。几何(GEOMETRY)对照闭式的三角形三角学核对,该三角学写成与被测的点积不同的表达式。真实波束被近似锥体包容(CONTAINMENT)是推导出的代数:每 λ/D为28.019/√η 对29.479度,因此对 η ≤ 0.9035,修正只可能为非正。但波束内计数本身(COUNTS)没有外部参考基准:没有已发表的表格给出一个Moonlight/LCNS类壳层中有多少颗卫星会让某个南极站点落在某口天线的半功率波束内,而且星座是示意性的、取自公开来源的近似,不是实际飞行的星历。在文档记载的工作点上实测到的分歧(在真实方向图下波束内有0条链路,在近似下为28条,每历元 −2.33颗卫星,最差历元为3,评估了76条链路),因此是关于该近似的MODELLED发现,被固定为回归字面值(最近的一行距任一波束边缘0.069°,比任何末位数字的分歧高出四个数量级),不是经外部核对的覆盖数字。凭方向图自身的外部锚点就把这一行标为ExternalDataset,将是借用核对,而这正是矩阵不变量所要防止的做法。0.30第2轮(预先登记d9755d28),受阻(仍为MODELLED):SPICE几何和SciPy的Bessel函数在6,336行实际飞行轨道器状态和文档记载的工作点上复现了偏离视轴角(最差3.0e-5 deg)、Airy增益和波束内标志;但在实际飞行几何上,标志按卫星身份而分裂(最近的链路距波束边缘1.66 deg),5 deg的可见性是作为标志核对的,不是数值仰角,对称近似的标志把31000/G经验法则应用于一个经核对的角度,却没有核对该法则,而隐含的效率没有参考基准;范围界定有待所有者决定
测试
antenna::tests与lunar_service::tests(由方向图上的二分法定位的半功率交叉点与已发表的Airy x = 1.61634相符,并得出精确的1.02899·λ/D宽度,同时记录惯用的1.02…
由模型计算得出干扰下的跟踪环失锁与欺骗拉出tracking_loop (composing sdr, jamming)
能力
由环路动力学而不是功率比算出的失锁:载波(Costas)和码(非相干超前/滞后)的1σ 热噪声抖动对C/N₀ 的关系(含平方损耗),对照所述规则3σ_PLL + θ_e ≤ 45° 和3σ_DLL + 斜坡滞后 ≤ d/2码片;掉锁和重新锁定的C/N₀ 阈值,并指明起约束作用的环路,其迟滞由更宽的牵入带宽推导(DERIVED)而不是断言;由带确认驻留的双阈值锁定检测器得出的声明失锁时间,与物理的相位逃逸时间(Viterbi平均周跳间隔,因跨越数百个数量级而以log₁₀ s表示)分开报告;受害方环路能够跟随的最大码滑移和载波多普勒变化率;以及环路动力学所隐含的拒止半径(DENIAL RADIUS),与现有的功率比半径并列报告,二者的带符号之差作为单独命名的字段。可作为tracking-loop场景类型运行
参考基准
引擎自身的sdr相关器(sdr::correlate / synth_if / CaCode)在以校准的C/N₀ 生成的、带随机种子的合成IF上逐步向前运行:这是一条独立的代码路径,通过对采样IQ的数值相关而不是代数抖动表达式得到同样的数值,所以是另一条路径,而不是同一说法的复述;另外还有周跳项所用的标准列表修正Bessel I₀ 值。环路理论依Kaplan与Hegarty第8章,周跳时间依Viterbi和Gardner。这一行仍为ReferenceImpl/MODELLED:交叉核对存在于同一代码库中,bessel_i0核对所核对的是一个特殊函数而不是跟踪模型,因此据此提升该行就是自我标榜的标注。ExternalDataset需要一份带有真值C/N₀ 和带注释的失锁时刻的原始IF录制数据集(TEXBAT/OAKBAT一类);本代码树中没有随附这样的数据,而且即使有IQ,这些数据集也不公布逐历元的环路状态真值,因此声明的失锁时间只能对照另一台接收机的锁定检测器来核对,而那是模型选择,不是参考基准。环路带宽、积分时间、相关器间隔、牵入比、驻留、干扰源功率和天线增益是有代表性的频段数值,不是数据手册。0.30第2轮,GNSS-SDR 0.0.19(GPL-3.0,作为程序运行)在独立生成的IF上(预先登记6ef7698c,对测量方法的修订已披露),一项发现(仍为MODELLED):闭环PLL和DLL抖动在35至45 dB-Hz上相符到8 % 以内,10 Hz/s的动态应力相符到1 % 以内,一阶码斜坡滞后相符到2 % 以内;在30 dB-Hz时,PLL抖动高出21 %,DLL抖动低32 %,实测的15度规则阈值比引擎高1.5 dB,而二阶环路的周跳比一阶周跳时间界限频繁0.5至2个数量级。0.30修订:Costas周跳时间现使用环路SNR rho/4(半周跳);默认的jitter_table log10_mean_time_to_cycle_slip_s在25.47 dB-Hz阈值处由11.58降至2.10
测试
tracking_loop::tests(开环Costas鉴别器抖动,对照在带随机种子的合成中频上前向步进的sdr::correlate,3次合并的噪声实现 × 900个历元,在35-45 dB-Hz范围内吻合到0.63%,且…
已独立核对由跟踪计划得到的月球VLBI测站坐标协方差lunar_vlbi_fim (composing lunar_vlbi, fim, cio, lunar_frame, frames)
能力
把基线 × 历元的计划上累积的时延偏导数汇成Fisher信息矩阵,求逆得到测站坐标协方差和逐坐标的测站sigma,取代由标量时延精度假设出的各向同性均分关系。状态携带地固(ITRS)测站坐标,因此雅可比矩阵是由每个历元的GCRS→ITRS矩阵旋转的惯性偏导数,正是地球自转使这些坐标可观测:报告测量(MEASURES)地固视线扫掠和信标赤纬,而不是假定它们。每次运行都输出秩、基准亏损、条件数、信息谱和自由网零空间,而在秩亏时,头条sigma以NULL并附状态的方式发布,而不是从近奇异的逆矩阵中读出。对同一计划的均分值c·σ_τ·√(g/N) 与算出的值并列印出并给出其比值,同时给出各向同性迹界 √(p/trace(M)),AM-HM使它成为硬下限。可作为lunar-vlbi-fim场景类型运行
参考基准
一条独立的仓库内路径。每一行雅可比都由lunar_vlbi::vlbi_delay_s的中心有限差分重新推导,该函数在状态自身的地固和月固坐标上取值,并通过坐标系链向前旋转:这条路径不计算任何导数,也与解析偏导数没有共用的表达式;两条路径构建的信息矩阵相符,偏差小于最大对角元的1e-6。它所组合的线性代数内核(information_matrix、crlb、sym_eig)另外已在tests/fim_observability_reference.rs中对照numpy.linalg.eigh / numpy.linalg.inv取得外部锚定,而时延观测量带有lunar_vlbi自身的delta-DOR远场参考基准;该行不借用这两者的状态。这里核对的闭式恒等式并如此标注:σ² 和1/N缩放,以及作为AM-HM下界的 √(p/trace(M))(算出的sigma不可能优于它),它仅在各向同性几何上与均分值重合:这正是实测比值恰好就是该假设所舍弃的各向异性的原因。0.30外部比较(库:NAIF SPICE CSPICE N0067,经spiceypy 8.2.0,MIT;DE440、ITRF93 earth_latest_high_prec、MOON_PA),连同引擎一侧的模型误差敏感性运行一起预先登记(50863551):每一行雅可比都由SPICE几何得出的、已收敛的牛顿光行时差的中心差分重建(光行时方程是基于SPICE位置的一小段脚本;SPICE提供几何),计划由SPICE仰角重建。计划、秩、亏损、信息谱、条件数、测站sigma、头条数值、迹界、均分比值、自由网零空间、视线扫掠和信标赤纬,在预先登记的1 % / 0.1 deg以内相符,该范围高于引擎已知的解析月球误差(sigma上为3.2e-3,在运行之前测得)。NumPy 2.3.5在已提交的引擎雅可比上重做线性代数,相符到2e-13(P2)。经独立核对的是:在所述示意性输入上、对所述缩减参数集的Cramér-Rao界:月心星历、时钟、对流层和地球定向参数在两侧都保持固定,因此它不是真实测评活动的精度
测试
lunar_vlbi_fim::tests(24个库测试:解析雅可比矩阵对lunar_vlbi::vlbi_delay_s的中心有限差分,其路径将状态自身的坐标向前旋转,且从不触及…
由模型计算得出由VLBI时延计划得到的月面点坐标协方差,与地球测站的协方差分开lunar_vlbi_fim (composing lunar_vlbi, fim, cio, lunar_frame, frames)
能力
第三种基准选择all-stations-fixed,保持所有地球测站不变,仅估计信标(BEACON)的月固坐标:这正是月面点不确定度实际被引用时的配置,因为地球测站坐标是时延模型的输入,而不是其未知量。之所以存在这一选择,是因为测站级协方差和月面点协方差是由杠杆臂 ρ/B分开的不同量(DIFFERENT QUANTITIES),而此前没有任何机制阻止把其中一个当作另一个来引用。输出的beacon_link块给出 ρ、最长基线、杠杆臂、均分关系的月面点形式c·σ_τ·(ρ/B)·√(g/N)、算出的逐坐标信标sigma及其比值:每当信标未被估计或矩阵秩亏时,该比值为null,而不是产生误导。B取现有的最长基线(LONGEST),也是最有利的一条,因此该比值只会低估。可作为datum = "all-stations-fixed"配合estimate_beacon = true运行,当信标未被估计时,会被拒绝并附一条指出缺失输入的消息
参考基准
闭式恒等式,不声称也没有外部参考基准。杠杆臂对照 ρ/B核对,两种均分形式相互核对,偏差到1e-15:这些是代数恒等式,因此只能发现接线错误而不能发现其他,并如此标注。实质性的结果是MEASURED的而不是断言的:来自固定基线的时延约束的是信标的方向(DIRECTION),所以视线分量只通过近场距离项进入信息矩阵,测试从输出的谱中读出由此产生的各向异性,而不是推导它。AM-HM使 √(p/trace(M)) 成为硬下限,因此各向同性均分关系只可能低估(UNDERSTATE),而算出值与均分值之比,恰好就是它所舍弃的各向异性。在弦长为10726.748 km的Goldstone类/Canberra类站对上MEASURED:在抽样的112天中,有36天在10° 掩模下完全没有互相可见的历元,互相可见最多的一天为49个采样计划中的17个,在73个可行的日子里,三分量比值从113.9× 到高出四个数量级,中位数1513×,而限于视线不致匮乏的两个横向方向时,为3.94× 至25.8×,中位数7.8×。本行不声称的内容(WHAT THIS ROW DOES NOT CLAIM):把其中任何数字当作真实测评活动的属性。它确立的是,月面点这个量现在是算出的(COMPUTED)而不是假定的,并且它不能被悄悄地与测站级的量互换。仍为ReferenceImpl/MODELLED:不存在已发表的月球VLBI月面点协方差可供核对,测站和信标站点是示意性的,不是经过测量的,而星历、时钟、对流层和地球定向参数保持固定(FIXED),所以这是针对缩减参数集的Cramér-Rao界,本身就偏乐观。内核路径(信标位于DE440月球上)上的同一个量,在其自己的一行“……,内核路径”中经独立核对;在这条解析路径上,最小的信标sigma比该行的SPICE参考基准低3.9 %,这就是本行仍为MODELLED的原因
测试
lunar_vlbi_fim::tests(7个库测试:每种基准写法都能经parse/as_str往返,未知的写法被拒绝;固定所有测站而没有信标时,以点名estimate_beacon的错误拒绝;…
已独立核对由VLBI时延计划得到的月面点坐标协方差,内核路径lunar_vlbi_fim (epoch_geometry_with, schedule, schedule_jacobian); ephem_provider (KernelEphemeris); naif_kernel
能力
lunar-vlbi-fim场景的“所有测站固定”的信标协方差(所有地球测站保持不变,仅估计信标的月固坐标),信标置于由引擎自身内核读取器读出的JPL DE440月球上(planetary_kernel_path;lunar_vlbi_fim::epoch_geometry_with、ephem_provider::KernelEphemeris)。只有月心与解析路径不同;IAU 2015天体自转、测站、地球自转和线性代数都相同。经独立核对的输出是观测集、3 x 3信息谱、秩和条件数、三个月固信标sigma及其RMS、杠杆臂,以及在默认计划上的算出值与均分值之比。可作为lunar-vlbi-fim场景运行,设置datum = "all-stations-fixed"、estimate_beacon = true并设置planetary_kernel_path
参考基准
起约束作用的库一侧:NAIF SPICE Toolkit N0067(spiceypy 8.2.0,MIT),使用de440s、earth_latest_high_prec(含UT1和极移的ITRF93)以及DE440月球坐标系,信标固定在MOON_ME中;每一行雅可比都是已收敛的牛顿光行时差的3 km中心差分(引入M069参考基准自身的光行时代码),绝不是Kshana的偏导数;可见性由WGS-84仰角重建;NumPy 2.3.5 / SciPy 1.18.1(BSD-3-Clause,LAPACK)的eigh和inv。P2一侧:NumPy在引擎已提交的雅可比上运行。在测试数据或参考基准出现之前预先登记(4a51256),特征值、条件数、sigma、RMS和比值的判据为1 %,杠杆臂为1e-4,观测集和秩要求完全一致;P2为1e-9。已披露:解析月球与内核月球的仅引擎比较(y sigma上为3.9 %)是在预先登记之前运行的,目的是选择内核路径,并已在登记中说明。结果:两侧相符,最差1.7e-3(信标y sigma为0.081211 m,对照0.081351 m)。变异检验:把信标偏导数的天体自转转置,两侧都失败。两侧都读取DE440,因此相符所核对的是DE440上的几何和线性代数,而不是DE440本身。不在声明之内:真实测评活动的月面点精度(时钟、对流层和地球定向保持固定;测站和信标站点是示意性的),以及解析默认路径(上一行,仍为MODELLED:在解析月球上,y sigma比该参考基准低3.9 %)
测试
tests/lunar_vlbi_surface_point_spice_oracle.rs::surface_point_covariance_kernel_path_matches_spice_geometry_and_numpy (16 observations identical; rank 3/3; eigenvalues within 5.9e-5; condition 5.9e-5; beacon sigmas…
由模型计算得出月球差分PNT:修正链路的残差预算lunar_dpnt
能力
差分修正在其被计算的历元与被使用的历元之间会增加的三项,此前每一项都作为未建模的余量留空:参考站测量误差(跨卫星相关,与基线无关,位置传递约为1:1,可证明不被DOP放大);修正老化(冻结的轨道误差矢量,被重新投影到引擎自身的传播器在一个时延之后把卫星放置的视线方向上,加上由已校准幂律得到的c·σ_y(τ)·τ 时钟漂移);以及在精确的 ±(orbit_err + clock_err) 满量程上、方差为step²/12的均匀链路量化。同时在距离域和位置域报告,置于现有残差和保护级之旁,决不取代它们,并在单一数字之旁给出时延曲线
参考基准
闭式恒等式与自洽性:均匀量化器的step²/12方差,精确的 (GᵀG)⁻¹GᵀRG(GᵀG)⁻¹ 协方差传播在 σ 相等时坍缩为 σ·PDOP,测量项的1:1传递是 û_user ≈ û_ref的结果,以及关闭项后的求积闭合。对照orbit::dop的PDOP交叉核对共用 [−û, 1] 正规矩阵,因此它是一致性检查,并如此标注,而不是独立的参考基准。没有可用的也没有声称的ExternalDataset:没有任何月面站有已发表的测量精度,没有任何月球差分修正链路有已发表的时延或消息格式,而且量化结果是闭式解,不是测量。RTKLIB已是单差和加权最小二乘内核的外部代码参考基准,可以用一个有意测错的基准站来驱动,以确认1:1的测量传递,但那是在同一套一阶视线代数之上的独立代码。量值为MODELLED:测量默认值是本crate自己的月球坐标系实现分配,不是实测的测站,时延和比特数是示意性(ILLUSTRATIVE)输入,而广播星历误差矢量本身的增长则完全没有建模,这一点在输出的老化律字符串中有说明,因为它是最可能在真实链路中占主导的项
测试
lunar_dpnt::tests(一项纯加性的防护,其键集差异恰好是{correction_link, units},且每个已有的值都与变更前捕获的字面值逐位相同;测量误差并不…
由模型计算得出月球参考站覆盖与精度地图lunar_station (over lunar_dpnt, lunar_service)
能力
对月球差分PNT模型在南极用户网格和一天历元上的蒙特卡罗扫描(lunar-station-coverage类型):对位于已知南极站点的差分参考站,逐点并在整个区域上,给出修正后与未修正的位置误差分位数(3-D、水平、垂直),可用性以及对每个不可用历元的原因(user_lt4、station_missing_sat),相对于运行前所述阈值的覆盖,DO-229E保护级,每个方位扇区的覆盖半径,以及在站点和最差点上的修正链路预算。不是对任何真实系统性能的陈述;与任何机构无隶属关系,也未经其认可
参考基准
算术由一份独立的numpy脚本在导出的算例上重新计算(scripts/gen_lunar_station_ref.py,numpy 2.5.4;预先登记于tests/fixtures/lunar_station/PREREGISTRATION.md,在首次运行之前单独提交于9caedf97):在每一项误差都开启的20个算例上,可见集合和状态完全相同,原始距离误差相符到1.4e-14 m,位置误差矢量和大小相符到1.4e-9 m(判据为1e-6 m),每个点的p95与numpy.percentile逐位相同;测站修正未达到其1e-9 m的判据(最差3.73e-9 m,20个算例中有15个),修正后的距离误差也随之未达到:以60位算术核对,两侧都在双精度舍入范围内逼近精确值,测量项是两个1e7 m距离之差,其末位单位为1.86e-9 m;如实记录,未做调整。在一个点、一个历元、一次试验时,该类型与lunar-differential-pnt类型严格相同。误差模型、去相关模型和每个阈值都是本项目自己的,或是示意性(ILLUSTRATIVE)的;此处没有任何内容是对真实系统的陈述
测试
tests/lunar_station_coverage_reference.rs(one_point_one_epoch_one_trial_reduces_to_lunar_differential_pnt:在有无接收机噪声时均吻合到1e-12 m;zero_baseline_floor_is_zero_in_every_trial:0至1e-9 m…
由模型计算得出由所述剖面或极区DEM得到的月球地形地平线掩模lunar_terrain (over skyline, lunar_service::topocentric_basis); lunar_station; lunar_service (coverage_masked, masked_visible)
能力
为lunar-station-coverage类型(参考站及每个用户点)以及moonlight-service-volume网格及其逐卫星导出站点(每个导出行新增clears_terrain)提供按站点的、随方位变化的地平线掩模,采用0.36天际线表格式(skyline::Skyline,沿方位线性,在360 deg处回绕;同一站点上所述剖面与DEM地平线按逐点最大值组合):可以是带来源标注的 [terrain] station_horizon或user_horizon,和/或在南极立体投影DEM上(LRO LOLA网格化极区布局,由固定其大小和SHA-256的描述符读取,或带有 [terrain] dem_tile_path的经纬度realdata::lola_dem图块,并回显其SHA-256)沿月球球面上的大圆、以精确曲率、从所述桅杆高度、按所述方位步长和距离做射线步进得到的地平线。当卫星越过平坦的mask_deg以及其方位上的地平线时,它在某站点计入;如果某个历元在某点被地平线挡到不足四颗卫星,而平坦掩模下为四颗,则该历元被计为不可用原因terrain_masked。所附DEM是公有领域LOLA LDEM_75S_240M产品的一块裁剪,经5 x 5块均值重采样到1200 m(data/lunar-dem/NOTICE.md)。未提供时,每个站点保持平坦掩模,每份文档逐字节相同
参考基准
闭式曲面(InternalConsistency):裸球的俯角,球面上高原中的一个陨石坑(观测者位于其中心和偏离中心两种情形),以及一个解析圆锥对照其自身的栅格化。在真实裁剪上,一份独立的numpy射线投射(scripts/gen_lunar_terrain_ref.py,numpy 2.5.3;预先登记于tests/fixtures/lunar_terrain/PREREGISTRATION.md,在脚本存在之前单独提交于edbb9b02)在五个站点上相符:站点高度相符到1.0e-11 m,全部1800个地平线仰角相符到5.5e-10 deg,对照1e-6的判据,被截断射线的计数完全一致;这核对的是算术,不是地形。没有复现任何已发表的极区地平线或光照数字:所附的1200 m裁剪抹平了已发表光照研究所分辨的亚千米级起伏,所以DEM地平线是在重采样的真实DEM上的MODELLED视线,不是经独立核对的地平线。站点和星座仍为示意性(ILLUSTRATIVE);此处没有任何内容是对真实系统的陈述
测试
lunar_terrain::tests(bare_sphere_horizon_is_the_dip:射线步进在每个方位角上复现 -acos(R / (R + a)),吻合到1e-3度;a_cone_on_a_lat_lon_tile_matches_the_analytic_cone:同一圆锥采样到一个0.005度…
由模型计算得出月球参考站的多路径与接收机硬件项lunar_receiver; lunar_station
能力
lunar-station-coverage的可选 [receiver] 段(LRS-02):用户处和站点处随仰角变化的多路径sigma(el) = a + b exp(-el / el0)(RTCA DO-229机载函数形式,默认a = 0.13 m、b = 0.53 m、el0 = 10 deg;在月球上每个值都是示意性(ILLUSTRATIVE)的),用户处为白噪声,站点处为历元间的一阶Gauss-Markov(rho = exp(-dt / tau));超前减滞后DLL热码噪声sigma = L_c sqrt(B_L d / (2 C/N0) (1 + 2 / ((2 - d) T C/N0)));用户处和站点处在一次试验内保持不变的逐通道通道间偏置。站点项进入其修正,用户项进入原始测量和修正后的测量,各自使用自己的带随机种子的流。未提供时,每份文档不变
参考基准
闭式解以及模型自身抽样的统计量(InternalConsistency):DLL公式对照手算,DO-229形式,两台接收机的零基线差,以及Gauss-Markov的lag-1相关。不存在可供比较的月球多路径或接收机测量;这些数值是示意性(ILLUSTRATIVE)的,此处没有任何内容是对真实接收机的陈述
测试
lunar_receiver::tests (multipath_is_the_do229_form; dll_noise_matches_a_hand_computation: 0.825279 m at 45 dB-Hz, 0.5 Hz, d = 1, 20 ms; bad_sections_are_refused); tests/lunar_station_ext.rs…
由模型计算得出月球参考站星历误差在修正时延内的增长lunar_station (orbit_growth_range_sigma_m)
能力
lunar-station-coverage的可选输入orbit_err_growth_m_per_s(LRS-03):在计算之后latency_s才应用的修正,会漏掉广播轨道误差的增长g latency_s,其中g为各向同性,3-D RMS速率,按每颗卫星和每次试验在其自己的带随机种子的流上抽取(距离1-sigma速率tau / sqrt(3)),叠加在冻结误差的视线重新投影之上。未提供时,每份文档不变。已发表声明比较的K5附录,单独预先登记,在0.001、0.01和0.1 m/s下运行K5(示意性,ILLUSTRATIVE)
参考基准
增长项的闭式sigma和一阶传播核对(InternalConsistency)。K5附录(tests/fixtures/lunar_station_published/ADDENDUM-LRS03.md,单独预先登记于59d88248):K5在每一个速率下都失败,修正后p95 3-D误差为369.8 m、2315 m和22797 m,对照1.5 m的判据(无增长时记录为292.96 m),这在运行之前已经说明。没有公开来源给出月球的增长速率:示意性(ILLUSTRATIVE)
测试
tests/lunar_station_ext.rs(growth_absent_or_zero_is_the_frozen_error_run;the_growth_term_has_the_closed_form_sigma:增长开启减去增长关闭的链路误差,其样本sigma速率tau / sqrt(3) 在6 % 以内,覆盖1600…
由模型计算得出月面参考站解算模式:高度约束、三颗卫星、静态用户窗口lunar_solution; lunar_station (solution_figures)
能力
lunar-station-coverage(LRS-06)的可选 [solution] 部分:一行高度伪观测up . dx = e_h,按所给的1-sigma加权并与距离观测行联合,仅在启用该约束时才允许最少三颗卫星;并在最近window_epochs个历元上做加权最小二乘解算,各历元共用一个静态位置、每个历元一个钟差(等同于滤波器对同一数据、无过程噪声的静态位置所给出的答案;各历元的误差按相互独立处理)。若缺省,则快照解算及所有文档均保持不变。这是对已发表声明比较的补充,采用与原文献相同的解算方式,并单独预先登记
参考基准
快照约化与解算器的闭式情形(InternalConsistency)。补充文档(tests/fixtures/lunar_station_published/ADDENDUM-LRS06.md,在001ca100中单独预先登记),采用1 m的高度约束、三颗卫星和6个历元的窗口(ILLUSTRATIVE设置:原文献说明了滤波器、高度约束和三颗卫星,但未给出其设置):K1至K5未通过,K6通过,即6项中1项通过,与已记录的运行一致;R300修正后p95 3-D误差从280.6 m降至2.11 m(水平0.90 m,不计分),覆盖率仍为0。窗口的独立性假设对结果有利。不构成对任何真实系统的说明
测试
lunar_solution::tests(one_epoch_without_height_is_the_snapshot_solve:吻合lunar_dpnt::position_error_vector_from_range_errors至1e-8 m,宽松的高度行不改变任何结果,严格的高度行则固定高度误差…
由模型计算得出月面参考站的精度与覆盖率:与已发表声明的对照lunar_station (over lunar_dpnt, lunar_service)
能力
在已发表的月面差分参考站资料所给的公开假设下运行lunar-station-coverage类型(四颗导航卫星位于24 h冻结椭圆轨道,10 m 95 % SISE,0.30 m码噪声,1 s与600 s的修正延迟,亚分米级的测站测量,已发表的示例测站位置,300 km与600 km的南极圆),并依据运行前预先登记的六条单侧判据,对照原文献的数值声明评分:整个南极在p95亚米级的覆盖(K1、K2),修正后p95达到亚米级和分米级(K3、K4),在600 s延迟下仍保持亚米级(K5),以及基线从10 km到500 km时精度保持不变(K6)
参考基准
参考:五个公开来源的数值声明,已连同URL、检索日期、SHA-256和许可登记于tests/fixtures/lunar_station/SOURCES.md(arXiv:2602.08432v3;IOAG Cislunar PNT Workshop 2025与2026年的幻灯片;UNOOSA ICG WG-B Lunar PNT,2024年六月),并附页码转录于tests/fixtures/lunar_station_published/CLAIMS.md。判据、案例和输入已预先登记于tests/fixtures/lunar_station_published/PREREGISTRATION.md(修订版2,05bf9a19,在运行前单独提交)。0.36首次运行,一项发现(仍为MODELLED):6条判据中有1条通过。两个圆上的覆盖率均为0.00,而判据为 >= 0.95;修正后p95 3-D误差为280.6 m(300 km),在600 s延迟下为293.0 m,而判据为<= 1.5 m。分米级判据(K4)在原文献的0.30 m码噪声下无法通过,这反映的是各来源之间的矛盾,而不是模型的结果。K6通过(比值1.39,判据为<= 1.5),但由于它是两个由几何主导的量之比,对去相关性而言,它在任何方向上都不构成证据。原因:卫星的轨道根数未公开,在ILLUSTRATIVE的树内轨道根数下,用户与测站在仰角5度以上共视四颗卫星的历元仅占8.2 %(300 km)和6.3 %(600 km),且几何接近奇异(未修正p95为3.8 km,而原文献为< 10 m)。原文献的仿真使用了滤波器、高度约束和三颗共视卫星,而快照类型并不对此建模。因此,该比较既不能证实、也不能否定已发表的“整个南极达到亚米级”。它表明的是,本模型的结果取决于未公开的轨道。不构成对任何真实系统的说明;与任何机构无关联,也未获其背书
测试
tests/lunar_station_published_oracle.rs::recorded_finding_one_of_six_bars_passes (the recorded figures against the registered bars); tests/lunar_station_published_oracle.rs::published_claims_comparison_run (ignored…
已独立核对月面ARAIM保护级内核lunar_service (lunar_protection_level, lunar_protection_level_with_sigma), lunar (lunar_araim_with_sigma), raim (araim_raim)
能力
月面保护级从几何到协方差的步骤,即对全视场和每个单故障子几何计算 (GᵀG)⁻¹,投影到局部垂直方向和水平块的迹上;以及其统计内核:Bonferroni检测器乘数、各故障假设的高斯上尾,以及把完好性风险预算映射为保护级的求根,在7点的月面服务体积上进行
参考基准
组合了两个成熟的第三方实现,均离线运行,夹具从头到尾重新生成并验证为逐字节一致。RTKLIB 2.4.2-p13(T. Takasu,BSD-2-Clause),提交71db0ff,src/rtkcmn.c以 -ULAPACK从C源码编译:lsq() → matinv() → ludcmp()/lubksb() 用带部分主元的Crout LU对法方程矩阵求逆,该算法与kshana手写的Gauss-Jordan invert4() 无关;numpy.linalg.inv(LAPACK getrf/getri)对每一个矩阵再次求逆,作为第三个独立的逆,与RTKLIB的相对一致性达到1.112e-12。SciPy 1.17.0 / NumPy 2.4.1(BSD-3-Clause)提供norm.isf、norm.sf(Cephes ndtri/ndtr)和optimize.brentq,与kshana的Numerical-Recipes不完全伽马级数、二分求逆和200步二分法相对照;而且SciPy直接计算sf进入远尾部的数值路径不同于kshana的1 − Φ,因此深尾部的相消是被实测的,而不是被照搬的。垂直轴取径向单位矢量(球形月球上局部垂直的定义),水平方差取水平块的迹,因此不共用任何东/北方位角约定。本行明确不对以下各项给出VALIDATED:σ_URE、每颗卫星的故障先验以及示意性的Moonlight/LCNS类星座,它们是按给定值交给参考基准的MODELLED输入;单故障MHSS完好性方程的形式转录自kshana所实现的同一已发表界限,共用闭式即共用假设,因此本行涵盖的是对该方程的错误求值,而不是对它的错误选择。目前无法获得第三方的MHSS ARAIM实现(RTKLIB未提供保护级入口,PyPI上没有此类发行包,Stanford MAAST是MATLAB实现),这是尚待完成的升级
测试
tests/lunar_protection_level_reference.rs(7个服务体积用例,含南极、中纬度、赤道、抬升的高地,6至19颗卫星,σ_URE 10/30/60 m,P_HMI自1e-3降至1e-7,保护级跨越…
已独立核对ARAIM MHSS保护级与已发表参考向量的对照araim_reference (araim_reference_protection_levels, published_vectors), raim (araim_protection_level, araim_integrity_risk, normal_quantile)
能力
多假设解分离保护级方程本身:在东/北/天几何上,每个星座一个钟差状态,分别对全视场和各故障模式做加权最小二乘,得到子解标准差、解分离标准差和单侧标称偏差投影,Bonferroni K_fa门限,未监测故障的风险分配,以及求解完好性风险方程的VPL/HPL。可作为araim-reference-check场景类型运行
参考基准
EU-U.S. Working Group C ARAIM Technical Subgroup,Reference Airborne Algorithm Description Document v3.1(2019年六月20日),附录D的数值算例:已发表的输入(10颗卫星2个星座的几何矩阵、C_int/C_acc对角线、b_nom、P_sat、P_const、LPV-200常数)和已发表的输出(VPL 18.3 m,HPL 13.45 m,EMT 7.2998 m,σ_v_acc 1.3694 m,K_fa_3 5.1083,以及六个星座故障中间量),检索于2026-09-20,来源SHA-256为7f42934488c5c2261363439fabd48385e39526df34d514f395e22b6990b6bdb7。在该参考文献自身给出的容差TOL_PL = 5e-2 m下一致:VPL 0.0074 m,HPL 0.0437 m;EMT与 σ_v_acc在其印刷精度内一致。同一小组的Milestone 3 Report(2016)Annex A §A.IX给出了同一算例,但其内部不一致:G的第3行有一处符号笔误(该处为 +0.7477,而2019年文档印刷的是 −0.7477;取正号时,该文档自身的 σ_v_acc为0.8690 m,而其公布值为1.47 m),并且K_fa_3是按57个故障模式求得的,而该文档声明N_fault_max = 1,即12,因此其EMT对应57模式门限,而其VPL/HPL并非如此。没有任何符合规范的实现能够同时复现它的全部输出。其几何中间量可精确复现,其保护级则记录为实测差异(VPL 0.0171 m,HPL 0.0842 m,EMT 0.4806 m),不计入验收数字;容差没有被放宽来吸收这些差异。范围:仅限N_fault_max = 1,多事件故障子集会被拒绝而不是被截断,而排除、卡方一致性检验和重复计数的重新分配步骤仍为MODELLED
测试
tests/araim_reference_vectors.rs(2个已发表的向量 + 6个负对照,夹具tests/fixtures/araim_reference/wgc_araim_reference_vectors.txt:去掉标称偏差会使已发表的VPL偏差2.6457 m,一个10…
由模型计算得出含多颗卫星同时故障假设的ARAIMaraim_reference (add_v42_subset_plan, add_v42_protection_levels_to_order); raim (araim_subset_raim, SubsetRule)
能力
araim_reference::add_v42_subset_plan:ADD v4.2的子集确定规则(P_THRES、FC_THRES,受监测子集按移除数量从少到多排列),从成对推广到至多max_order个卫星和星座事件的同时组合,先验为精确的P_no fault prod q_e;add_v42_protection_levels_to_order在其上运行ADD v4.2的保护级路径(阶数2恰好就是现有路径)。raim::araim_subset_raim(需主动启用):在该假设集上的先进RAIM,每个受监测子集在完好性风险求和中对应一个 (p_fault, T, b, sigma) 模式,不可观测的子集移入未监测风险,预算按ADD对未监测风险的分配进行缩放,并在检测到故障时报告归一化分离最大的子集。需要比max_order更深子集的先验会被拒绝,绝不截断
参考基准
内部自洽(InternalConsistency):2阶情形约化为经MAAST核对的ADD v4.2路径,先验的独立重新推导,以及一个构造出的双卫星故障。尚未在超出成对的情形下进行MAAST或RTKLIB运行,因此更深的假设集和子集RAIM的保护级没有经过外部核对。araim_subset_raim沿用araim_dual_raim的简化(完好性与精度共用一个sigma,一个钟差,普通的正态尾部):它不符合ADD
测试
tests/raim_multi_sv_subsets.rs(deeper_orders_change_nothing_when_pairs_suffice;triples_are_refused_at_order_two_and_planned_deeper:N_fault,max >= 3,未监测的风险在P_THRES以内,剔除三个或…的子集
由模型计算得出RAIM与时钟守时(holdover)性能指标并列clock_integrity (run, sky_at, IntegrityCfg); scenario (Scenario::integrity); report (RunResult::integrity_fom); api (clock dispatch)
能力
时钟类型的可选 [integrity] 部分(clock_integrity::run):根据给定的站点和星座预设(geometry::sky_geometry),在GNSS时间线未被拒止的每个完好性历元,对高于截止角的卫星做快照RAIM(raim::snapshot_raim:奇偶校验卡方检验、斜率保护级),残差为所给sigma的带种子高斯噪声,并可附加所给的偏差;另有独立的integrity_fom块,含逐历元的判定、保护级和可用性。被拒止的历元报告为不可用,绝不外推;守时性能指标保持不变,缺省该部分时输出逐字节一致
参考基准
内部自洽(InternalConsistency):保护级即snapshot_raim的保护级(它已在自己的一行中与RTKLIB对照验证),在同一几何上重新计算;含无故障与注入故障的行为。天空是具代表性的预设几何(不是带日期的历书),残差是合成的,sigma、告警限值和概率均为给定输入;此处任何内容都不构成对真实接收机可用性的说明
测试
tests/clock_integrity.rs(the_block_is_separate_and_absent_by_default:守时数字不变,111个被拒绝的历元不可用且无保护级,运行次数 > 1时被拒绝…
由模型计算得出空间、含噪声、多族的地月空间弧长可观测性cislunar_observability, observability_gramian, intersat_range, cislunar_srif
能力
在空间六状态CR3BP(而非平面四状态)中,跨DRO、L2晕轨道和L2近直线晕轨道各族的地月空间弧长可观测性阈值,测量噪声进入Gramian,并报告两项判据,因为不存在唯一诚实的判据:其一是已发表的秩判据,可证明它对同方差测量sigma不变(白化把可观测性矩阵乘以一个标量,相对奇异值谱,因而秩、亏秩和条件数都不变);其二是可估计性判据,即首领星初始状态的形式1σ 位置不确定度降到给定界限以下的第一个弧长,它才是会随噪声变化的那一个。每个阈值都带有它所处的历元网格区间;未达到的判据为null并附原因。平面模式仍为默认,平面模式下会拒绝面外各族,而不是把它们压平成无法表示它们的状态
参考基准
一个独立的、用带部分主元的高斯消元得到的行阶梯秩,确认每一个六状态秩判定,其算法不同,且与被测的特征值/SVD路径不共用任何代码。它所组合的6×6 CR3BP状态转移矩阵自带ReferenceImpl参考基准,对照SciPy变分积分,而晕轨道/NRHO初始条件来自一个校正器,该校正器复现了已发表的L2南向9:2 Gateway轨道。已有的平方根信息滤波器环节明确不算作佐证:它使用相同的雅可比矩阵并归结为同一个法方程矩阵,所以它只是两台数值机器之间的一致性检查,所发出的扩展标签也这样说明。没有外部锚定,因此ExternalDataset被拒绝,而不是从STM的那一行借用:阈值弧长本身取决于MODELLED星座设计、历元网格,以及奇异值容差,其影响经MEASURED可达40倍。已发表的平面2.09 h在rel_tol = 1e-6下精确复现,而它本身也依赖容差(在1e-4下为10.25 h,在1e-8下为0.42 h),这是该判据的性质,而不是轨道的性质。没有公开数据集发布过所选地月空间星座的弧长可观测性阈值。实测结果:空间六状态阈值在L2 NRHO上为22.17 h,在L2晕轨道上为40.42 h,而对已发表声明所依据的平面DRO族则不存在:秩为6中的4,基准亏秩2,有两个精确为零的特征值,这是任何弧长都无法恢复的结构性亏秩
测试
cislunar_observability::tests与observability_gramian::tests(默认文档由其JSON、摘要和SVG的FNV-1a逐位固定,显式默认值经断言为无操作,且八个…
由模型计算得出运行式的地球定向预测误差,按预测值对终值实测frame_eop, realtime_frame_eop
能力
在尾随窗口上做最小二乘的偏置加速率拟合,再加上主要周期项:UT1取周年、半周年和两个主要带谐潮,极移取Chandler、周年和半周年项;外推时沿用窗口内最后一个残差:这是IERS Bulletin A所用的一类方法,取代已发表预测时段所依据的持续性预测器。以唯一诚实的方式评分:用不晚于T的快速Bulletin A各行构造T+h的预测,对照稍后发布的Bulletin B在T+h的终值来衡量,并在同一历元集合上、对照同一批终值,并列给出持续性预测的评分。没有已发布终值的目标历元会被舍弃,而不是改用快速列重新评分;窗口无法约束的周期项会被报告为已拒绝,并附其实际跨越的周数;不完整的窗口会被拒绝,而不是悄悄缩短
参考基准
三条独立路线,其中没有一条是已发表的预测精度数字。(1)已知系数的解析信号:这是检验周期项机制的唯一办法,因为已提交的序列都不够长,无法容纳周年项。(2)教科书式的闭式最小二乘解,其代数不同于被测的矩阵求解,在真实数据行上进行。(3)真实2026年产品所发布的实际归档Bulletin A预测行,按预报时长作为一致性统计量比较,明确不是作为误差:1天为0.256 ms,2天为0.695 ms,3天为1.252 ms,9天漂移到3.885 ms。所以这是Bulletin A的同一类方法,在短预报时长内接近,但并不就是Bulletin A。预测值对终值的残差是对真实IERS数据行的真MEASURED量量,但其量级只与比较的方向对照检查,绝不与IERS发布的精度数字对照;读取真实产品是出处,不是参考基准。实测:第1天,运行式预测器的月固系误差为3.78 m,持续性预测为11.39 m(3.01×);第2天为10.23 m对21.72 m(2.12×);第3天为20.33 m对30.57 m(1.50×);而超过三天后更差(5天为0.87×,10天为0.43×),报告会如实给出这些结果,而不是只展示对它有利的时段。未复现:自回归残差滤波器和表列带谐潮的归算;365天的运行式窗口在已提交的数据下无法达到;本仓库中不存在该序列更早的任何归档版本,因此归档版本表不报告任何行,而不是对合成的版本评分。0.30外部比较,一项发现(仍为MODELLED):在178期归档Bulletin A上对照同一批终值评分,采用该crate默认的15天窗口,预测器的UT1 MAE在1至10天为Bulletin A的2.4x至12.6x(判据1.5x),10天为5.32 ms,超出第2次EOP PCC的0.36至3.13 ms范围;极移为Bulletin A的1.5x至1.85x(仅在6天和7天处在1.5x以内);21个预先登记的条件中有19个未通过。对路线(3)的更正:与之比较的2026年产品数据行带有IERS的I(实测)标志,而不是P,所以那些一致性数字对照的是实测的快速值,而不是Bulletin A的预测。0.30第2轮,用解析方式去除带谐潮的最小二乘加自回归预测器,在178期归档Bulletin A上按第1轮(round-1)的判据评分(预先登记c93605b4),一项发现(仍为MODELLED):21个条件中有12个成立;UT1 MAE在2至10天为Bulletin A的1.73至2.11x(判据1.5x),而极移在每个预报时长上都在1.27x以内。0.30修订:离线输入现已按IERS标志分类后,路线(3)的一致性数字对照的是真实的Bulletin A预测(0.256/0.695/1.252/3.885 ms,对应1/2/3/9天,对照快速数据行 -> 0.133/0.421/0.839/2.786 ms)
测试
frame_eop::tests, realtime_frame_eop::tests and tests/operational_eop_predictor_reference.rs (analytic-signal coefficient recovery to 1e-9 at a 365-day window; a bias-plus-rate fit equal to the closed-form…
由模型计算得出由观测活动得到的月面坐标系基准lunar_frame_campaign (composing lunar_vlbi, lunar_vlbi_fim, fim, lunar, lunar_frame_realise, frames, cio, lunar_frame)
能力
七参数Helmert基准由模拟观测活动传播得到,而不是由注入的变换恢复得到。地球测站按明确的计划观测一份有来源的月面信标目录;月面VLBI延迟偏导数累积成信标坐标Fisher信息矩阵,并通过Helmert设计矩阵A = [I₃ | [p]ₓ | p] 推送为H = AᵀM_bA,因此所报告的基准精度是观测计划的函数,对延迟sigma严格呈线性,并通过报告所MEASURED的天平动随弧长单调变化。基准亏秩是研究对象,而不是脚注:每次运行都会给出秩、亏秩、条件数、谱、七参数基下的不可观测方向、即使满秩时最弱的方向,以及各参数在其中所占的份额,而观测活动未约束的任何参数都会以NULL并附状态发布。信标误差相关性是实测的,而不是假设的:测站固定时恰好为零,测站被估计时则连同其代价一并给出。可作为lunar-frame-campaign场景类型运行
参考基准
闭式恒等式和一条仓库内独立的路线,不声称有任何外部参考基准。Helmert设计矩阵是该模块中唯一新增的导数,它通过对lunar_frame_realise::apply_helmert做中心有限差分重新推导,这条路径与解析形式不共用任何表达式。它所组合的累积来自lunar-vlbi-fim,其雅可比矩阵在那里对lunar_vlbi::vlbi_delay_s做有限差分,其线性代数内核又在tests/fim_observability_reference.rs中单独对numpy做了外部锚定;本行不借用这两者的地位。物理参考基准是结构性的,而不是数值性的:信标延迟偏导数是两个近乎平行的单位矢量的近场之差,所以确定得最差的平移方向必然是指向地球的体固方向,而测试把计算出的答案与另行MEASURED的方向对照断言。实测:由观测活动得到的平移sigma为6.3975 m,而注入变换场景的恢复误差为0.3125 m(紧20.5×),同时旋转和尺度则朝相反方向,分别松2.32× 和13.5×;注入路径假设单一的各向同性sigma,因此把误差均匀分摊到七个参数上,而延迟观测量并非如此。秩7/7,但条件数为3.8e5,其中一个方向有99.57 % 是纯粹的指向地球的平移,且比任何其他方向差四十倍。本行不声称的内容:观测活动的数字在绝对意义上是正确的。它确立的只是,该数字现在由计划、几何和误差模型推导而来,而不是来自预先植入的答案。仍为ReferenceImpl/MODELLED:不存在已发表的月面VLBI观测活动加基准协方差的配对,测站网络和延迟sigma是ILLUSTRATIVE输入(信标目录有来源,观测活动没有),观测被按独立处理,而真实观测时段中邻近扫描之间的对流层和时钟是相关的,星历、时钟、对流层和地球定向参数则保持固定。0.30外部比较,一项发现(仍为MODELLED):每一行信标雅可比矩阵都用NAIF SPICE光行时重建(DE440、ITRF93、MOON_ME;预先登记50863551),计划、Helmert秩、基准sigma(在4.7e-3以内)、条件数、最弱方向(0.07度)、天平动扫描和弧长排序在六个场景上一致,处于预先登记的1 % / 0.2 / 0.05度以内。在测站固定的情形下,NumPy对已提交的引擎雅可比矩阵的一致性达到3e-14。测站被估计时,差异为6.8e-6,而预先登记的是1e-9,其条件数的前提是错误的(Helmert条件数为2.1e8;独立的NumPy路线之间相差3e-6;不能排除引擎1e-9伪逆回退的贡献),因此本行不据该预先登记升级。0.36以随条件数缩放的判据重新登记(预先登记b887eb05;t = max(1e-12, 10 kappa 2^-53),由联合信息矩阵及其Helmert约化的条件数得出),一项发现(仍为MODELLED,NOT MET):第0步排除了伪逆回退是造成6.8e-6差距的原因(在原先六个场景中,Helmert矩阵上游没有任何矩阵发生回退,最紧的裕量为2.6倍),SPICE环节在全部六个场景上仍成立,NumPy在八个场景中的六个在判据内一致(默认、两种弧长、3x延迟sigma、共线亏秩,以及2026-12-01的全新测站固定运行;最差为其判据的0.13)。它在stations_estimated上失败(基准sigma最高6.8e-6,条件数9.1e-6,舍弃独立性后的范数3.5e-6,而t = 5.9e-7),并且在全新日期上,南极信标没有任何观测,因此信标信息秩亏(两个全新场景中Helmert矩阵上游都出现伪逆回退),未更改的NumPy参考基准无法评估stations_estimated_fresh(矩阵奇异)。结果:docs/design/evidence/mr05-lunar-datum-cond/RESULTS.md
测试
lunar_frame_campaign::tests(21个库测试:Helmert设计对lunar_frame_realise::apply_helmert的中心有限差分,该模块正是基准所服务的对象,它不计算导数,因此固定 [p]ₓ…
由模型计算得出地月空间弧长阈值的独立估计器佐证cislunar_arc_recovery, batch_ls
能力
一个批量最小二乘估计器,在与秩对弧长表所用的同一历元网格的递增前缀上,由模拟的星间测量恢复首领星的初始状态,其测量偏导数取自组合前向模型的中心有限差分。它不使用测得该阈值时所用的任何机制:没有解析雅可比行,没有变分状态转移矩阵,没有奇异值或特征值分解,没有秩容差,没有平方根信息滤波器;它只共用动力学、初始条件、标量观测量和历元网格,这些在所发出的文档中都有指明。两项判据,均做扫描:无噪声恢复(对应秩)和蒙特卡罗可估计性(对应可估计性,对照已知真值测量,而不是由协方差预测)。可作为cislunar-arc-recovery场景类型运行
参考基准
本代码库中另一个估计器,算法不同、代码路径互不相交:带有限差分偏导数的非线性加权高斯-牛顿法,其判定读作以km和mm/s表示的MEASURED状态恢复误差。它与Gramian的秩加协方差路线没有任何共同的表达式,而这种分离由源文本守卫强制保证,而不是仅仅声称。在已发表的平面DRO网格上的实测:可估计性判据为CORROBORATED:实测的蒙特卡罗边界为5.739130 h,形式值为5.739130 h(比值1.0000),而实测RMS在21个弧长上复现形式1σ,几何平均比值为0.9804。秩判据作为可恢复性边界未得到佐证:估计器从0.782609 h起即可恢复,而Gramian为2.086957 h,比值0.375;在1.826087 h,即秩读数评为4中的3的最后一个前缀,恢复到先验位移的1.96e-5。恢复边界在其自身界限的三个数量级内保持不动,而秩阈值在rel_tol的四个数量级内从“从不”跨到0.782609 h,两者在rel_tol = 1e-8处恰好重合。该跨度最初曾记录为达到0.260870 h;那个数字是一个假象,由一次秩读数产生,它在2个测量行低于f64噪声底的情况下数出了4个方向,现已在此更正,而不是任其留存。秩读数现在受Sylvester不等式约束并给出原因,更正后的跨度恰好饱和于独立估计器能够恢复的那个弧长,这加强而不是削弱本行的交叉验证:已发表的1e-6是一个保守的奇异值约定,而不是关于可恢复性的陈述。空间情形同理:NRHO为9.290323 h对21.677419 h,晕轨道为22.978723 h对39.829787 h,两者的可估计性都恰好一致。平面DRO六状态在任何弧长下都无法恢复,由一个未被告知此情况的估计器独立地复现了该族的结构性基准亏秩。没有外部锚定:动力学和初始条件与被测分析共用,且没有公开数据集发布这样的阈值,因此ExternalDataset被拒绝
测试
cislunar_arc_recovery::tests与tests/cislunar_arc_recovery_reference.rs(两个边界及其比值固定在已发表的网格上;实测误差曲线与形式协方差逐行比较,并带有…
由模型计算得出由实际检索到的星座几何得到的月面服务体积lunar_ephemeris, lunar_service
能力
接受表格化的月心状态星历(对SPK/BSP内核求值的结果)或ephemeris_path之后的已发表星座定义,对其运行相同的覆盖率 / DOP / 保护级扫描,并给出由此推出的 σ_URE测距要求,与保持不变的示意性开普勒及摄动结果并列,两者之差作为单独命名的量。每个数字都带有出处类别,区分由内核导出、由已发表轨道根数导出和由模型计算得出的三类,使下游引用时绝不会把它们混淆
参考基准
几何是外部的并带有哈希:三套夹具,其数字只来自连同URL、检索日期和SHA-256一起检索到的文档,可由已提交的生成器重新生成,生成器会校验上游哈希,校验不符即中止,而不是输出数字,它们是LANS互操作性演示参考星座(NASA NTRS 20250009447,SHA-256 d1b916be…)、LNCSS案例研究(NAVIGATION 70(4) navi.613,CC BY,SHA-256 4e294687…),以及由JPL自己的重建内核经Horizons求值得到的、LRO、Danuri、Chandrayaan-2和CAPSTONE的真实在轨航天器星历。公开渠道不存在任何月面导航星座内核(Moonlight/LCNS、LCRNS和LNSS均未在轨运行,NAIF也没有为它们发布任何内容),也没有凭空捏造任何内核。导出的 σ_URE要求没有外部参考基准(没有人发布过50 m月面HPL在该服务体积上所要求的测距精度),因此它对照自身的代数恒等式检查,并且另以独立方式检查:在算得的要求值上重新运行整个扫描,确认可用性在该处翻转。MEASURED:已发表的8颗卫星设计在100 % 覆盖率下需要 σ_URE 2.9044 m,而示意性星座在37.85 % 下为0.3591 m,这是按计划规则R4对一个已发表数字所做的8.09× 修订。定性结论仍然成立(LNIS级的30 m仍无法满足50 m的南极HPL),但差距被夸大了八倍。5颗卫星的LANS演示得到零个保护级样本(五颗卫星无法给出单故障假设集所需的六颗共视卫星),要求字段缺失而不是编造;覆盖率为0 % 的四个真实航天器同样如此。InternalConsistency是诚实的一类:输入数据是外部的并带有哈希,但本行所涉及的量只与自身核对。0.30外部比较,一项发现(仍为MODELLED):对照navi.613的LNCSS案例研究在346个网格点上的统计量,12项可用性统计量中有4项落在预先登记的2个百分点之外(案例A:-4.0、+22.5和 -3.6 pp;案例B:-12.1 pp)。可能的原因:轨道根数按错误的坐标系读取,在15天内采用二体开普勒而论文未说明其力模型,以及网格无法根据文本复现。PDOP部分无法评估(LANS没有给出数值统计量);该比较测试已提交但被忽略。0.30第2轮,一项发现(仍为MODELLED):对照一个Orekit 12.2 / Hipparchus 3.1参考基准,它计算整份报告(Orekit传播,DOPComputer可见性和DOP,Hipparchus组合的MHSS保护级,逐样本求解要求值;预先登记d3ce97b2),在全部五个检索到的几何和两个网格上,160个值中有155个在预先登记的判据内一致(2 pp、5 %、1 %),包括LNCSS A和C的sigma_URE要求(案例A双方均为3.879072208 m),以及LANS和各轨道器缺失的要求值。稠密网格上的LNCSS B在其最差样本统计量上未通过(sigma_required为0.000923,对照0.001511 m;hpl_max为1.63e6,对照0.99e6 m),近奇异的几何(PDOP约1e6)放大了米级的位置一致性;其p95要求值一致(1.6343对照1.6357 m)。最差样本要求值在退化几何上是不适定的。对照navi.613:12项中仍有4项在2 pp之外(已固定)
测试
lunar_ephemeris::tests(格式与坐标系解析;拉格朗日插值在节点上精确,在线性轨迹的非节点处也精确;ICRF轨道根数采用IAU 2015归算,并与显式的icrf_to_iau_moon逐字节相等…
由模型计算得出为每个报告的量声明单位和出处field_schema
能力
一份机器可读的模式,为每个场景报告的每个数值字段给出单位、出处类别和定义;另有一个全局唯一的闸门,运行每一种已登记的场景类型,并在所发出的数值字段缺少其中任何一项时失败。出处词汇是封闭的,每个类别都带有一个证据等级,其中两个类别被有意映射到inherits-scenario-label和depends-on-input,而不是被指派一个该类别无法决定的等级
参考基准
所发出的文档本身:每个数值叶节点都必须解析到该文档自身units块中的某一条目。没有外部的单位登记表可用来核对已声明的单位,所以已声明的单位是经审阅的断言,而不是经验证的结论:闸门验证的是完整性和格式良好性,而不是真实性,说“已与独立参考基准核对一致”是错误的,因为没有任何外部来源确认m是名为_m的字段的正确单位。曾对当时所描述的1,434个字段做过一次独立的名称后缀交叉检查:在带有表示单位的后缀的691个字段中,40个与声明的单位不一致,这40个全部得到解释(每秒后缀、最小值、孔径秒、牛顿米与看似纳米的后缀相对),因此没有发现错误的单位。此后没有重新运行该交叉检查,而覆盖范围已经超出当时的范围:这个数字保持为实际测得的数值,而不是按当前总数重述。在那次变更时(0.27.0),覆盖范围从56种类型中的7种增至61种中的60种,字段从1354个中的389个增至1,744个中的1,742个(docs/field-units-schema.json,由一项过期检查保持其为最新)。没有任何类型仍未覆盖(上限0,FUT-28,0.36):最后一个是sweep-nd,其中两列由调用方指定键名,所以它们的单位是数据;现在它们被描述为mixed - see note,每个位置的单位都从被扫描包自身的单位表读入key_units和metric_units(或取自坐标轴声明的unit,两者同时存在时必须与包中的一致;两者都不存在时为null,如实说明而不是猜测)。cislunar-observability是它之前的一个,当其已发布的文档增加了units块后,它就从清单上移除了:曾把units列为禁用键的可加性固定现在转而证明这一新增是可加的,即把该块再删除,文档的哈希仍等于在它出现之前冻结的两个常量,所以已发布的值若在该新增之下发生移动,仍会失败。这项工作还发现现有代码中有十二处单位或文档缺陷,已按R1报告而不是修复
测试
tests/field_units_global.rs(全部61种已注册类型都运行,每种一个文档形状:每个数值叶节点都必须解析到该文档自身units块中的一个条目;格式有误的条目对每一种类型都计为缺失…
已独立核对由真实观测活动得到的月面坐标系基准lunar_llr, realdata::llr_crd (composing fim, cio, frames, ephem, lunar_frame, lunar_frame_campaign)
能力
七参数Helmert基准协方差,其两项模拟输入被实测输入取代:计划是337个已归档的ILRS月球激光测距标准点的地面发射历元(2015-04-08至2015-06-27,Grasse MeO 7845和Matera MLRO 7941,全部五个后向反射器阵列),每个观测权重是该点自身已归档的精度bin_rms/√n_raw,其单程距离的中位数为5.13 mm,直接读自文件。测站坐标取IERS ITRF2020,反射器坐标取JPL DE430表7。可作为lunar-llr-datum场景类型运行。已验证的声明(0.36)范围很窄:在解析默认路径上,基准协方差的计算与一个独立的SPICE光行时和NumPy参考基准在新的实测标准点上一致;它不是LLR的精度,也不是解析月球精确的证据
参考基准
闭式恒等式、一条仓库内独立的路线,以及自0.36起在新的MEASURED数据上的一个独立的SPICE与NumPy库参考基准(见下);不存在可对照的已发表月球LLR基准协方差配对,所以不声称任何精度。唯一新增的导数,即距离对反射器体固位置的偏导,通过对它所求导的双程光行时做中心有限差分重新推导,这条路径与解析形式不共用任何表达式。物理参考基准是结构性的:距离的偏导就是视线方向的两倍,因此沿指向地球平均方向的体固坐标必须比两个天球平面坐标确定得好得多,后者只有天平动才能触及;在五个阵列上实测为50.7× 至71.7×,对照报告独立测量的天平动扫描,并同时给出各向同性小角预测和解释该差距的横向各向异性。变化之处:计划、观测数量和每个观测权重现在都是实测的;已归档的349个点中使用了337个,其余12个被跳过并计数,因为ITRF2020没有Apache Point的位置。实测:基准平移sigma为1.851746e-2 m,而模拟观测活动为6.3975 m(345×),旋转36×,尺度24×,这是激光测距网络与VLBI延迟网络之间的比值,所以是一项发现,而不是一次验证。反射器信息秩15/15,阵列间耦合恰好为0;Helmert秩7/7,条件数2.4e4。本行不声称的内容:该数字在绝对意义上是正确的。真实的LLR解会同时估计月球轨道、物理天平动、地球定向、测站坐标以及潮汐和相对论参数,并报告分米级(DE430表7自身的0.12-0.27 m),而本界限要小得多;这是针对所述缩减参数集的Cramér-Rao界,而不是精度。在已验证的声明之外(按模型计算,未经验证):月心星历和IAU 2015天体方位是按模型计算的,而对流层、潮汐、测站偏心、极移、UT1-UTC、相对论延迟和测站时钟均不存在。它们合起来的大小是已发表的,而不是推论得出的:337个点上单程距离的观测减计算RMS为156,494 m;它们对协方差的影响是有界的,而不是推论得出的:把整个基准重新求解,使每个偏导倾斜0.1°(实测最差历元星历倾斜的两倍,符号交替),交付量仅移动0.288 %。外部检查(0.30第2轮,预先登记6b27964a),一项发现(仍为MODELLED):SPICE双程光行时(DE440、ITRF93、DE440月球方位)加有限差分偏导,以及numpy求逆,在同样的337个实测标准点和权重上,在记账、两个秩、零耦合、残差RMS(2.1e-5)以及16个协方差数字中的15个上一致。z向平移sigma偏高1.03 %,而预先登记的判据为1 %。月心取自DE440后,降至0.049 %(c51f8b2,已见数据),在新的2019年标准点上,内核月球基准满足每条判据(行“……,kernel Moon centre”),而解析月球也仍在判据之内(最差3.8e-3,仅供参考),所以该比较并不能区分各种月球模型。解析路径的新数据运行(0.36,在获取任何点之前即预先登记31f5283):未更改的SPICE和NumPy参考基准,在151个所用的EDC CRD v2标准点(2025-04..06,一个没有任何测试用过的年份;文件已重新获取,参考基准已独立重新运行,见夹具NOTICE)上,采用同样的判据:记账、秩、各阵列计数和零耦合相等;sigma与范数最差1.11e-3(1 % 判据),条件数8.95e-4(2 %),横向/纵向比值最差1.79e-3(2 %);SPICE O-C 10.79 m。仅就协方差计算而言,据此证据作为库检查得到VALIDATED;该时段上的解析残差RMS为222 km,所以这些判据无法区分各种月球模型(与内核那一行相同)。结果:docs/design/evidence/mr06-llr-analytic-fresh/RESULTS.md
测试
tests/lunar_llr_real_data.rs(11项测试:全部15个已提交的CRD文件与其记录的摘要逐字节相同;全部349条记录均有交代,337条被使用,12条因所述原因被跳过;每个存档的测距都在…内
由模型计算得出月面参考站大地测量:对照五阵列基准新增的后向反射器与VLBI信标lunar_llr (over lunar_frame_campaign::beacon_information, schedule_for and solve_datum_information, lunar_vlbi_fim)
能力
lunar-llr-datum场景上可选的extra_reflectors和extra_beacons输入会增加一个station_geodesy块:来自已归档月球激光测距时段的五阵列Helmert信息,加上在所述站点新增的后向反射器(在测距站位于其地平线以上的已归档标准点历元上测距,每个点使用该标准点已归档的权重)和新增的VLBI信标(由lunar-frame-campaign网络与计划观测,地球测站固定,经由lunar-vlbi-fim延迟偏导)对七参数基准所增加的信息,重新求解,并给出每个Helmert参数前后的1-sigma、其比值、前后的范数以及Fisher差的极端特征值。缺省或为空时,报告保持不变
参考基准
仅为内部自洽:每个新增站点都是一个不同的点,一次激光测距或一次固定测站的VLBI延迟只涉及一个点,所以其信息A_p^T M_p A_p是半正定的并可累加;测试据此检查Fisher差和每个方差。五阵列的结果即现有的真实数据行,保持不变。新增的反射器沿用为五个现有阵列安排的历元,这是ILLUSTRATIVE的计划,而新增信标的网络、计划和延迟sigma是lunar-frame-campaign的ILLUSTRATIVE输入;该站点是ILLUSTRATIVE的南极位置。南极站点看到的地球在其地平线上很低或完全看不到,现有的视角测试已对此作了表达;两个站点都不是连续测距的。这些数字是缩减参数集的Cramer-Rao界,不是解出的基准,也不是对任何真实测站的说明
测试
tests/lunar_station_geodesy.rs(empty_or_absent_extra_lists_are_bit_identical:空列表与基线示例逐字节给出相同的默认报告和摘要;an_added_site_never_increases_any_variance:…
已独立核对由真实观测活动得到的月面坐标系基准,月心取自星历内核lunar_llr (llr_geometry_with, LunarLlrDatumScenario); ephem_provider (KernelEphemeris); naif_kernel
能力
lunar-llr-datum的七参数Helmert基准协方差,来自已归档的ILRS标准点及其实测权重,走内核路径:地心月球中心由引擎自带的内核读取器从JPL DE440读出(planetary_kernel_path;lunar_llr::llr_geometry_with、ephem_provider::KernelEphemeris)。与解析行相比,只有月心不同;IAU 2015方位、缺失的极移和UT1、星表、选取规则、权重和线性代数都相同。已验证的声明只是:该路径的基准协方差与一个独立的SPICE和NumPy参考基准在新的、未见过的标准点上一致。该比较并不区分各种月球模型,也不检查月心:在同一时段上,解析月球同样通过每条判据,预先登记的变异(内核月球晚读一小时)没有被检测到,月心偏差约4,650 km同样通过(见参考基准的文字)。它不是内核月球改进了基准的证据。可作为带planetary_kernel_path的lunar-llr-datum场景运行(另一时段另加normal_points_dir)
参考基准
NAIF SPICE Toolkit N0067(spiceypy 8.2.0,MIT)在DE440上的双程光行时、ITRF93地球定向和DE440月球方位(MOON_ME),采用100 m有限差分偏导,以及numpy 2.3.5(BSD-3-Clause,LAPACK)的信息矩阵与逆矩阵:即解析行比较所用的未更改的生成器(6b27964a),在一个新的时段(EDC CRD标准点,2019-04..06)上运行,该时段在获取其中任何数据之前即已在830d945a中预先登记,采用解析行的判据(sigma和范数1 %,条件数和比值2 %,记账、秩和耦合须精确一致)及其参考基准自检(SPICE O-C 10.86 m < 100 m)。每个量都成立,最差7.6e-5。变异:计划中的一小时月球延迟没有被检测到(协方差取决于视线方向的分布,而不是其时序);事后选定并如实披露的一个结构性变异,即去掉下行链路偏导,使每个sigma都失败。发现:在该时段上解析月球同样通过(最差3.8e-3),所以该判据无法区分各种月球模型,这验证的是新数据上的协方差,而不是内核月球的改进。折叠处的积分器检查(未预先登记):内核月球改为相对地月质心而不是相对地球读取(残差RMS 4,649 km),以及内核历元缺少TT减UTC(69 s;残差2.6 km),二者仍通过每条判据,而从实测权重中去掉sqrt(n_raw) 则使全部16个带判据的量失败;该比较对权重、偏导和线性代数敏感,而对月心不敏感。两侧读取的都是DE440:这验证的是在DE440上的计算,而不是DE440本身。在声明之外:LLR精度(针对缩减参数集的Cramér-Rao界)
测试
tests/validate_llr_datum_kernel_moon_fresh.rs::llr_datum_kernel_moon_matches_spice_and_numpy_on_fresh_normal_points(447个未见过的2019-Q2正常点;sigma与范数在4.0e-5之内(相对1e-2),条件数在1.6e-5之内(相对2e-2)…
已独立核对内置的解析月球星历:其所述的精度界限已对照真实数据检查ephem (moon_position), lunar_llr, realdata::llr_crd
能力
ephem::moon_position,即该crate在没有DE/SPK内核时回退使用的低精度地心月球级数,对照真实月球激光测距以及同一时间跨度上的已发表行星星历进行测量。本行验证的是该模块对自身所述的界限,而不是精度:确认的是该级数不比它自己所说的更差,而不是确认它很好
参考基准
两个互不相干的独立外部数据集。(1)337个已归档的ILRS月球激光测距标准点(EUROLAS Data Center,DGFI-TUM,2015-04-08至2015-06-27,五个后向反射器阵列,附带逐文件SHA-256和重新下载并验证的脚本):单程距离观测减计算RMS为156,494 m,测站坐标取自IERS ITRF2020,反射器坐标取自JPL DE430表7,所以残差由月心级数主导。(2)同一时间跨度上的JPL Horizons几何地心月球状态:径向RMS 112,567 m,矢量RMS 195,655 m,最差历元360,324 m = 0.0536°。距离残差对星历误差的径向分量有响应,所以(1)与(2)是通过两种途径得到的同一个量,彼此一致到1.39×,这正是允许lunar-llr-datum场景把其残差归因于星历的依据。引擎自带的模块文档声称为 ~0.3° / ~数·10² km;两项测量都在其范围之内,其中角度声明有5.6× 的裕量。范围,特此说明,以免读者误解:这验证的是所述的界限,而不是精度数字。该级数仍不适用于需要优于 ~1e5 m的任何应用,而这一限制与一致性同样是本行的内容。可由已提交的获取并验证脚本离线重新生成
测试
tests/lunar_llr_real_data.rs::the_analytic_moon_series_disagrees_with_jpl_by_the_same_amount(12个每周地心状态,最坏历元角度断言< 0.3°,RMS < 5e5 m,对照该模块自身记录的声明…
由模型计算得出闸门完整性:绿灯就意味着它所说的scripts/gate.sh, scripts/check-gate-receipt.sh, scripts/check-repeatability.sh, scripts/install-gate-hook.sh
能力
针对验证过程本身的三项结构性防护,各自堵住一类曾以间歇性或虚假红灯的形式进入规范闸门的缺陷。(1)Rust源码中每个构造出来的临时路径都必须带有每次调用唯一的组成部分;进程号会被拒绝,因为cargo把库测试作为同一个进程的并行线程运行,而进程号为它们全体所共用。(2)每一个逐字节或哈希固定都必须在自身旁边或其模块头部声明它涵盖什么、又有意排除什么,这样,一项跨领域的变更就能一眼看出哪些固定在其范围之内,哪些已经悄然变成整个仓库范围的变更检测器。(3)只有完整套件才能声称绿灯:scripts/gate.sh运行cargo test --all,在中间没有管道的情况下捕获真实退出码,并写出一份回执,注明提交、集成二进制数、测试数和耗时;推送前检查会拒绝这样的推送:在干净的工作树上,没有任何有效回执指明其提交。可重复性由scripts/check-repeatability.sh另行抽样,它把库套件运行N次,并在通过的测试集合不一致时失败。
参考基准
闭式:每个防护都在一段固定的已知有缺陷的代码片段(必须触发)和一段固定的已知正确的代码片段(必须保持静默)上运行,两者都是检测器无法影响的字面常量。两个已知有缺陷的片段就是原始形态下的F22和F25缺陷。这是内部参考基准,因此本行相应为MODELLED:它证明这些防护能把缺陷与其修复区分开来,而不是证明它们所描述的类别已穷尽。其所述的盲区(不是路径的共享状态、保存在简短具名常量中的固定、三次运行无法抽样到的罕见竞态,以及任何能写入该文件的人都能伪造的回执)都已写在tests/source_guards.rs的模块文档和每个脚本的头部,而不是留待日后发现。
测试
tests/source_guards.rs(9项测试:两项防护覆盖整个源码树,另有变异夹具对每项防护从两个方向评分,即在两条冲突路径上都报告的F22模式、已发布的原子序列…
已独立核对组合授时PL:标量MHSS特化(H=1_N)src/integrity/tpl_scalar.rs
能力
异构来源上的标量时间解分离TPL;PL由最差排除子集的噪声加UTC(k) 偏差驱动
参考基准
P2:numpy 2.3.5 linalg.lstsq和scipy 1.18.1(norm.isf、norm.sf、brentq)以各自的算法,在300个已提交的输入上(tests/fixtures/tpl_scalar_numpy_oracle)重新计算子集加权最小二乘估计量、一般分离协方差sqrt(Δ Σ Δᵀ)、偏差以及由它们得到的保护级;PL的相对一致性在1e-9以内(最差1.2e-10),驱动的排除子集完全相同,容差在比较之前固定。乘数、先验和偏差上界是输入,PL方程的结构(模式列表、ir/2拆分、偏差投影)是给定的输入,与月面ARAIM保护级内核那一行相同;已验证的声明是线性代数以及这些输入上的PL,而不是授时场景的物理量级。ARAIM的渊源Blanch 2015 / Joerger 2014
测试
integrity::tpl_scalar::tests (rank-1, fuse/exclude, bias-dominance, IR cross-check); tests/tpl_scalar_numpy_oracle.rs::scalar_mhss_pl_matches_numpy (300 committed cases: numpy lstsq subset estimators, general…
由模型计算得出组合授时PL:以P0为种子的守时(holdover)穿越src/integrity/composed_pl.rs
能力
PL(τ)=max(TPL_handover,HPL(τ));下半连续PL(0+)≥PL(0−);K(IR/2) 滑动最大值;τ/τ³/τ⁵ 相位指数
参考基准
性质测试(单调性、交接时不下降)加针对holdover::coast_phase_variance的指数检查
测试
integrity::composed_pl::tests (monotone, P0-floor, K(IR/2), exponents, lower-semicontinuity)
已独立核对组合授时PL:守时(holdover)包络覆盖,多年期区段(tau>=90d)src/integrity/composed_pl.rs
能力
滑动最大值包络在不相交的区段上,对每个被测滞后tau>=90d的真实计量序列都构成上界覆盖(零穿越);短tau(<=30d)是已披露的按模型计算的边界
参考基准
BIPM Circular-T [UTC-UTC(USNO)] 5天序列MJD 56074-60429(872个点,webtai API);拟合与测试不相交,多年期零穿越覆盖
测试
tests/cti_holdover_coverage_reference.rs
由模型计算得出组合授时PL:LIL a.s. 包络(不可能性与一致性)src/integrity/lil_envelope.rs
能力
不存在有限的最坏情形守时(布朗运动的上确界发散);当IR→0时,按IR分配的HPL与Hartman-Wintner包络一致
参考基准
闭式a.s. 包络 √(2Dt·lnln t) 恒等式加HPL支配性检查;Baweja arXiv:2606.24210不可能性接缝
测试
integrity::lil_envelope::tests (divergence, threshold, IR-tightening dominance)
由模型计算得出异构UTC(k) 可溯源性偏差的完好性上界src/integrity/hetero_budget.rs
能力
每个来源的偏差上界b = (U/k_cov)·Phi^-1(1-tail/2) + 老化,把已发表的B类扩展不确定度放大为分配到的完好性尾部;以bias_s的形式桥接到tpl_scalar
参考基准
对上界闭式的独立numpy加标准库statistics复现(InternalConsistency)。BIPM Circular-T [UTC-UTC(USNO)] 序列仅为被引用的输入:它就是已经就R4守时覆盖那一行与外部参考核对一致的同一序列,在此并未重新验证;复现其数值对R2没有任何证明作用。深层完好性尾部是按模型计算的。0.30外部比较,一项发现(仍为MODELLED):在BIPM各实验室的UTC-UTC(k) 文件上(102个实验室,105,024行带有已发表的不确定度),在1e-2尾部处的上界b = 2.576 u被50.8 % 的行超出(Clopper-Pearson 95 %:50.4至51.1 %),并且在102个实验室中的101个,超出比例都大于1 %。已发表的u是BIPM对UTC-UTC(k) 的测定的不确定度,而不是对偏移量的界限,偏移量常常达到u的许多倍;按所规定的方式,该上界并不能界定真实的UTC(k) 可溯源性偏差。0.30第2轮,一个对实现的UTC-UTC(k) 偏移的上界,以2015-2022年的数据训练,在2023-2026年的BIPM Circular T数据上测试(预先登记ca0921a4,合并超出率至多1e-2),一项发现(仍为MODELLED):合并超出率为0.0333(82个实验室的20,826行中有694行;去掉按规则没有界限的430行后为0.0127)。D9第3轮,一个合并的分层老化界限(utck_bound),预先登记fb475550,并对自465期起的Circular T各期做前瞻评分:尚未运行(第465期于2026-10-12发布,约有285个测试值;预先登记的1000值规则需要到约第468期,而运行需要已归档的2026-09-30各实验室文件,因为BIPM此后已改写了113个中的87个)
测试
integrity::hetero_budget::tests + tests/hetero_budget_reference.rs; tests/hetero_budget_utc_k_oracle.rs::overbound_exceedance_on_real_utc_k_finding (data-gated: skips with a message when the BIPM series is absent)…
由模型计算得出相关的可溯源性偏差互协方差(共模不安全的分配)src/integrity/hetero_budget.rs
能力
N×N偏差互协方差,对共用同一UTC(k) 实现者的来源,非对角元为rho·b_i·b_j;已证明correlated_fused_bias >= independent_fused_bias(朴素的独立分配会低估融合偏差,从而偏乐观,因而不安全)
参考基准
对互协方差以及相关与独立融合偏差不等式的独立numpy复现(InternalConsistency)。具代表性的来源集;按模型计算的场景。
测试
integrity::hetero_budget::tests (correlated_fused_bias_dominates_independent_when_correlated, rho_one_single_realizer_recovers_linear_sum) + tests/hetero_budget_reference.rs
已独立核对GLS共模白化(Aitken)加Mahalanobis恒等式src/integrity/gls_commonmode.rs
能力
手写Cholesky Omega=LL^T与前代白化z=L^-1 r(当Cov(r)=Omega时Cov(z)=I);Mahalanobis平方z^T z = r^T Omega^-1 r
参考基准
P2:numpy 2.3.5的linalg.cholesky(LAPACK potrf)、solve(gesv)和inv,在201个已提交的SPD输入(tests/fixtures/gls_whitening_numpy_oracle)上,核对手写的分解因子、白化残差和白化算子;马氏距离平方对照solve(Omega, r) 核对,后者不使用Cholesky,因此恒等式z^T z = r^T Omega^-1 r经由另一条路径得到确认。全部在相对1e-12以内(最差7.9e-16),容差在比较之前就已确定。最大条件数为19.3,因此不涵盖病态矩阵。GLS/Aitken 1935白化为引用(Cited)。
测试
integrity::gls_commonmode::tests + tests/gls_reference.rs + tests/gls_whitening_numpy_oracle.rs::whitening_and_mahalanobis_match_numpy_lapack (201 committed SPD cases: factor, whitened residual, whitening operator and…
由模型计算得出共模一致性统计量(分离盲区的共享参考故障)src/integrity/gls_commonmode.rs
能力
得分统计量 (1^T Omega^-1 r)^2/(1^T Omega^-1 1) ~ chi^2_1,针对解分离(与1正交的对比)无法看见的共模偏移;共模偏移会使它增大,而两两分离保持平坦
参考基准
对该统计量的独立numpy复现,加上共模注入会使其增大的性质测试(InternalConsistency)。模型场景。0.30第2轮(预先登记f9aa360d),受阻(仍为MODELLED):numpy 2.3.5的LAPACK gesv在261个已提交的算例上复现了统计量的值(条件良好时在3.5e-15以内,条件数高达6.1e7时在1.2e-9以内);chi-square(1) 零分布律是被引用的定理,而平坦的两两分离是恒等式,没有可供比较的引擎输出,因此范围界定有待所有者决定
测试
integrity::gls_commonmode::tests (common_mode_shift_inflates_statistic_but_not_contrasts, post_fit_common_mode_statistic_is_zero) + tests/gls_reference.rs…
已独立核对Omega之外残差的不可检测共模界src/integrity/gls_commonmode.rs
能力
不可检测的共模上限:沿方向d同时逃过(BOTH)分离(alpha_ss = T_ss / d的白化对比范数)和共模统计量(alpha_cm = sqrt(T_cm 1^T Omega^-1 1) / |1^T Omega^-1 d|)的最大故障量值,报告为min(alpha_ss, alpha_cm)。在正定的Omega下,两个盲方向(d与1成比例,以及1^T Omega^-1 d = 0)互相排斥,所以对每个非零d,该上限都是有限的(FINITE);仅当方向为零或Omega非正定时才为无穷大。位于建模的共模轴之外的方向仅对共模统计量是盲的,并受分离所界定
参考基准
P2:numpy 2.3.5的linalg.solve(LAPACK gesv,LU,不用Cholesky)在256个已提交的(Omega、d、T_ss、T_cm)输入上(tests/fixtures/gls_outside_omega_bound_numpy_oracle)重新计算alpha_ss(阈值除以去掉其GLS共模系数之后d的白化对比范数)、alpha_cm及其最小值,包括纯共模方向、位于建模共模轴之外的方向,以及必须给出 +inf的零方向和非正定情形;预先登记(d070699a;修订8a44267b,在任何比较之前,重述矩阵形式);容差在比较之前就已确定。能力文本已按所有者决定(2026-10-02)更正:它此前称对位于共模轴之外的方向,该界为无穷大,这与代码及本比较相矛盾。理想化的单对比检测器是否构成真实子集检测器不可检测量值的下界,仍为模型计算得出
测试
integrity::gls_commonmode::tests (separation_alone_is_blind_to_common_mode, degenerate_direction_or_non_pd_gives_no_finite_ceiling, every_nonzero_direction_under_pd_omega_has_a_finite_ceiling)…
已独立核对月球基准可辨识性:分解的线性代数lunar_identifiability
能力
7参数Helmert基准Fisher阵的{lunocenter-X, scale}块的Schur补边缘分布:标量退化度量lambda_min(S)、origin-X的CRLB,以及origin-scale相关
参考基准
独立的SciPy/NumPy参考(scripts/gen_datum_identifiability_ref.py -> tests/fixtures/datum_identifiability/scipy_ref.csv):Schur补、其特征值,以及由独立库计算的2x2逆矩阵。范围限于分解的线性代数(LINEAR ALGEBRA);由真实几何得到的月球相关/CRLB量值(MAGNITUDES)仍为MODELLED。
测试
tests/lunar_datum_identifiability_reference.rs::decompose_matches_scipy_reference(16个合成的7x7对称正定矩阵,从良态到{0,3}近退化;Schur lambda_min / 原点CRLB / |corr| 对…
由模型计算得出月球基准零空间分类(LLR秩可加性加天平动亏损提升)lunar_identifiability, lunar_datum
能力
对内部测距基准问题的分类:单次测距观测贡献的秩为1(6维零空间);origin-X与尺度这一对近乎为零,而物理的DE440天平动把亏损提升为零,但这一对仍近乎退化
参考基准
引擎复现的几何结构,加上闭式的2x2 Schur恒等式;在结构(STRUCTURE)上与Sosnica等2025(arXiv:2510.15484)一致,其所报告的量值在此并未复现(NOT)。该分类是结构性的;真实几何下的相关/CRLB量值为MODELLED(反射器坐标和朝向保持固定)。0.30外部比较,一项发现(仍为MODELLED):对照Sosnica等2025,测距Fisher的origin-scale相关(-0.993 / -0.988)与已发表的 -0.97相差在0.05以内,但在该论文自己的五反射器几何上,等权重7参数Helmert相关为 -0.78(已发表的值依赖论文未印出的逐反射器误差),而origin CRLB(在3 mm测距噪声下为0.6至1.2 mm)比论文的3.07 cm低96至98 %,而容差为20 %。量值未复现
测试
tests/lunar_datum_identifiability_reference.rs (single_internal_range_row_has_six_dim_datum_null_space; extending_the_librating_arc_lifts_the_origin_scale_degeneracy)…
由模型计算得出多技术月球基准信息(LLR加月球VLBI加轨道器测距)lunar_datum, lunar_identifiability
能力
在7参数基准上,针对地球反射器LLR测距、双站月球VLBI差分时延和轨道器到信标测距的基准雅可比行,合并为一个经一致预处理的Fisher阵;演示了偏离径向(轨道器/深度多样)的跟踪能打破origin-X与尺度的退化,而横向VLBI只能间接起作用
参考基准
对每种技术偏导数的解析与有限差分交叉核对(内部);改善方向(DIRECTION)是几何事实。信标位置、计划和噪声为MODELLED/有代表性的(见tests/fixtures/llr_geometry/NOTICE.md)。
测试
lunar_datum::tests (LLR/VLBI/orbiter analytic partials vs finite difference); lunar_identifiability::tests (adding_an_offradial_technique_collapses_the_origin_scale_degeneracy; transverse-vs-radial via crlb_diag)
已独立核对DE440月球主轴朝向提供器lunar_orientation
能力
在2014-01-01至2030-12-31 TDB范围内任意历元的MOON_PA_DE440到J2000旋转,由已提交的6 209行日序列的节点之间的测地线插值R0·Exp(f·Log(R0ᵀR1)) 得到(try_ 函数在范围之外返回OrientationSpanError,不带try_ 的函数则panic;它从不截断);在编译时嵌入,因此没有运行时文件系统I/O,WASM构建也带有它
参考基准
NAIF SPICE Toolkit(CSPICE N0067,通过spiceypy 8.2.0,作为工具运行):pxform从MOON_PA_DE440到J2000,直接计算JPL的二进制PCK moon_pa_de440_200625.bpc,并采用NAIF自己的坐标系内核moon_de440_250416.tf,在嵌入窗口内的2,000个随机非节点历元上。Kshana与SPICE矩阵之间的旋转角在1.7e-5 rad以内(在平均半径1737.4 km处为30 m,比较之前就已确定);实测最差1.7e-6 rad(3 m),RMS 7.8e-7 rad,而在验证程序另外抽取的6,000个历元上最差为1.75e-6 rad。每日节点本身就是从同一内核提取的(scripts/gen_de440_moon_pa.py,测试数据SHA-256 3076f81ef95d83f5efa240ed4c7ccb422f109407dde841fcf28d42dc63586eb7),所以这一比较检验的是节点之间的插值,那正是所声明的内容。由这一比较发现并修复:此前带Gram-Schmidt的逐元素线性插值保住了轴,却没有保住13.2 deg/day旋转的角度,在四分点附近误差最高达2.0e-4 rad(340 m);此前约14 m的数字,来自仅在区间中点取样的保护检查。该序列覆盖2014-01-01至2030-12-31,在其之外报错(第2轮);其2024-2025的节点由同一内核重新生成,相符到4.3e-13。上述SPICE非节点比较仅覆盖2024-2025,这是经核对的窗口;扩展的节点来自同一内核和脚本,但未做非节点比较。这是用于可辨识性分析的几何基础,不是亚米级的朝向产品
测试
lunar_orientation::tests (de440_moon_pa_reproduces_fixture_rows, de440_moon_pa_shows_real_libration); tests/lunar_pa_frame_realisation_guard.rs::the_orientation_series_interpolation_error_is_tens_of_metres_not_sub_metre…
由模型计算得出月球LLR基准几何基础(主轴反射器、地面站、解析测距偏导数)lunar_llr_geometry
能力
以PA本体系米为单位的五个近侧后向反射器阵列,以及以大地坐标表示的LLR地面站;经DE440 PA朝向的反射器本体到惯性系的放置;地球到反射器距离相对4参数基准的解析偏导数;以及仅LLR的Fisher矩阵,它展现了促成7参数分析的月心X与尺度的退化
参考基准
计算是内部核对的:每个解析偏导数对照有限差分,零基准情形对照标称距离。目录(CATALOGUE)是外部独立核对的:DE440主轴坐标(Park等2021,tests/fixtures/llr_geometry/de440_retroreflectors_pa.csv)与DE430月面坐标备忘录表6(tests/fixtures/lunar_llr/de430_retroreflectors_pa.csv,由tests/fixtures/lunar_llr/generate_de430_retroreflectors_pa.py从经SHA-256验证的PDF机器提取)交叉核对,相符到1.12 m,而同样五个阵列的平均地球实现相差672至871 m。退化结构(DEGENERACY STRUCTURE)对照已发表的结果核对:Sosnica等2025,“Definition and Realization of the International Lunar Reference Frame”,arXiv:2510.15484,该文报告月球主轴坐标系的月心X与尺度之间的相关系数为r = -0.97,并指出由于这一相关,LLR无法以优于12 cm的精度到达月球的实际质心。本模块从仅LLR的Fisher设计中恢复了同样的结构(|corr(t_x, scale)| 介于0.9与0.9999之间,基准亏损<= 1)。这一印证是跨星历的,不是往返:该论文综合了INPOP21a、DE430和EPM2021,而本模块由DE440天平动驱动。未复现的是量值(NOT reproduced):此处的相关约为 -0.988,对照其 -0.97,而4参数CRLB为亚毫米级,对照其12 cm的已达成底限,因为朝向和反射器坐标在此保持固定,而在那里则被求解。仅限几何和退化结构;不对已求解的基准作任何精度声明。0.30外部比较:本模块的实测测距部分(reflectors()、stations_itrf()、DE440 PA放置以及质心光行时llr_bcrs_one_way_m)在其自己的一行“LLR实测测距模型”中,对照192个ILRS标准点经独立核对(RMS为2.81 m,对照10 m)。这一行仍为MODELLED,因为实测比较并未检验其声明的其余部分。大地测站目录stations() 把APOLLO舍入到0.001 deg;采用地心光行时,在同样的点上给出22.7 m(测试reflector_ranges_against_ilrs_normal_points;采用此前逐元素朝向插值时为96 m)。解析测距偏导数和仅LLR的Fisher阵是通过llr_range_m和reflector_inertial、采用解析月球级数(ephem::moon_position,与GCRS相差约0.3 deg)且不含光行时算出的
测试
lunar_llr_geometry::tests (reflector_and_station_catalogs_are_well_formed, analytic_partials_match_finite_difference, llr_one_way_range_is_earth_moon_scale, zero_datum_reproduces_nominal_range…
已独立核对LLR实测测距模型(反射器目录、ITRF2020测站、DE440主轴放置、IERS 2010质心光行时)lunar_llr_geometry (reflectors, stations_itrf, ItrfStation, StationCoordinates, llr_bcrs_one_way_m, body_to_bcrs_tdb, shapiro_leg_m, BcrsEvent); lunar_orientation (try_de440_moon_pa_body_to_inertial); lunar_vlbi (station_inertial_position_itrs)
能力
月球激光测距标准点的单程地球测站到反射器距离:DE440主轴(PA)本体系米单位的五个近侧后向反射器阵列(lunar_llr_geometry::reflectors);stations_itrf() 中的测站,即取自历元2015.0的ITRF2020、带其速度的Grasse 7845和Matera 7941,经IERS 2010变换并加上Bulletin A极移(lunar_vlbi::station_inertial_position_itrs)置于地心天球参考系(GCRS)中,以及位于运营方公布的近似地心位置的APOLLO 7045(无速度);反射器本体到惯性系的放置经DE440 PA朝向(lunar_orientation::try_de440_moon_pa_body_to_inertial,在2014-2030之外报错);以及IERS Conventions 2010第11.2节的质心光行时(lunar_llr_geometry::llr_bcrs_one_way_m:测站和反射器的式11.19本体到BCRS变换,以及来自太阳、地球和月球的式11.17 Shapiro时延)。输入(INPUTS),不属于声明:质心的地球、月球和太阳状态及势(经SPICE的DE440),IERS UT1-UTC和极移,以及由TT转换为TDB的实测往返。测试装置一侧(HARNESS-SIDE),不属于声明:测试中采用FCULa映射的Mendes-Pavlis天顶时延,其仰角取自大地stations() 目录。未建模:潮汐、测站偏心、反射器热学项
参考基准
实测:192个ILRS CRD v2月球标准点(EUROLAS Data Center,DGFI-TUM,2024-04至2024-06;Grasse 151,APOLLO 32,Matera 9;连同SHA256SUMS逐字提交)。预测的单程距离与c乘以TDB中实测往返的一半相比较。判据在比较之前就已确定:在全部192个点上,并且(AND)仅在两个ITRF2020测站的160个点上,RMS至多10 m。该判据来自第三次预先登记修订3e0f5cdf,在引擎改动和运行之前提交;10 m这一数字自第1轮以来未变。实测:全部点上为2.81 m(均值2.67 m);ITRF2020测站上为2.96 m;APOLLO为1.94 m;2015年切片(349个点,次要)为3.82 m。变异检验:把太阳Shapiro项置零给出10.19 m,未通过。已披露的历史:采用逐元素朝向插值时为96 m;采用测地线插值和大地目录后为22.7 m;采用ITRF2020测站和极移但使用地心光行时时为10.94 m(共同的 +10.9 m偏移)。质心模型是在看到该偏移之后写成的。它是已发表的IERS 2010第11.2节模型,没有自由参数。第三次修订取代了在BLOCKED结果之后自行施加的全ITRF2020/SLRF2020条件。仅ITRF2020的RMS在不含APOLLO时通过,而APOLLO没有ITRF2020或SLRF2020解,其位置是运营方给出的近似位置。仍留有共同的 +2.7 m,低于判据,未做调整。该判据相对结果是宽松的:缺失7.6 m的太阳项仍给出10.19 m。低于判据的项并未逐一分辨:极移置零时RMS为6.15 m(ITRF2020测站5.98 m),去掉式11.19变换时为2.96 m;两者仍会通过。测站速度以及地球和月球的Shapiro项还要更小。这一比较核对的是在10 m RMS下组装的单程距离和太阳Shapiro项,不是所列各个分量
测试
tests/lunar_llr_geometry_range_oracle.rs::reflector_ranges_bcrs_iers2010_relativistic(192个ILRS正常点:RMS 2.81 m;仅两个ITRF2020测站时2.96 m;两者至多10 m)…
已独立核对耦合的月球坐标系与时标规范:联合的空间基准、钟差和钟速零空间lunar_gauge
能力
assemble_coupled_info在 [t_x, t_y, t_z, s, theta_x, theta_y, theta_z, d_tau, d_alpha] 上构建9参数耦合Fisher阵;classify_null_space返回其零空间的、与基无关的分解,分为仅空间、仅时间和真正耦合的维度,以及空间到时间投影算子的耦合范数;coupled_marginal_eigs给出{scale, offset}的Schur补边缘分布。在已提交的网络上,引擎对适定情形报告满秩基准(亏损0),对单历元情形报告精确的单个速率方向亏损(经过的时间为零,因此速率在构造上不可观测),并对两者都计算{s, d_tau}边缘分布。
参考基准
外部核对了什么(WHAT IS EXTERNALLY CHECKED),陈述从窄:kshana用自己手写的Jacobi求解器(fim::sym_eig)计算特征分解,用自己的伪逆计算边缘分布;参考基准通过scripts/gen_coupled_gauge_ref.py,用numpy/LAPACK(np.linalg.eigvalsh/eigh/pinv)重新计算两者。因此,rel<1e-3的一致,是以独立库对照标准实现,对本crate算术(THIS CRATE ARITHMETIC)所做的核对,这就是经独立核对的结论,也是它的全部。不包括的内容(WHAT IS NOT):装配和零空间分类是本模块自己的规则,参考基准是依据同一规格而不是独立来源复现它们的:这印证的是实现,而不是规则。信标和轨道器几何是模型计算得出且有代表性的。观测行确实带有真实的DE440月球PA朝向(lunar_datum::orbiter_range_row_datum7 -> lunar_orientation::de440_moon_pa_body_to_inertial),但那是双方都接收的输入(INPUT),不是关于答案的证据,在此作为来源记录,而不是作为状态的依据:这与main在共模完好性那一行中已划出的区别相同。每个行浮点数在写入network.json之前都舍入到小数点后6位,因此双方读取的是相同的IEEE-754双精度数,剩下的唯一差别就是求解器。
测试
tests/lunar_coupled_gauge_reference.rs::coupled_gauge_matches_numpy_on_real_de440_rows(9个特征值,defect/dim_spatial/dim_temporal/coupled_dim/p_st_norm以及well_posed的{scale,offset} Schur边缘…
由模型计算得出单向月球测距中的距离与钟差退化,以及几何多样性设计律lunar_gauge
能力
每个节点的径向距离与接收机钟差之间的退化在1 m对3.336 ns(即c的倒数)处是精确的。{scale, offset} Schur补边缘分布(coupled_marginal_fisher)表明,在几何多样的网络中,双向测距对边缘分布的提升,与同样数量的额外单向数据大致相同,而在理想化的单节点情形中,双向的提升要大几个数量级。由此得出的设计律是:在单向测距中,把月球坐标系尺度与时标偏差区分开来的,是几何多样性,而不是双向测距本身;只有在低多样性或单用户情形下,才需要双向或外部时间联系。
参考基准
耦合信息矩阵的Schur补边缘Fisher阵,用闭式线性代数给出,并对照其所预测的两种极限情形做了核对。1 m对3.336 ns的等价关系是通过c对米的定义,不是经验结果。观测网络是有代表性的模型几何,因此该设计律是关于所给几何的陈述,不对任何已部署的月球网络作出声明。
测试
lunar_gauge::tests (coupled_marginal_well_posed_network_is_psd, coupled_marginal_twoway_equals_more_oneway_in_diverse_network, coupled_marginal_twoway_lift_three_orders, oneway_range_row_has_correct_temporal_entries…
已独立核对月球时标的相对论时钟速率与坐标系耦合lunar_gauge, lunar_time
能力
rate_frame_jacobian(_with) 给出月球时标速率对坐标系实现的敏感度,基于截断到2阶的赤道有效位势(GM、赤道半径、J2、自转;LunarSurfacePotential):d_alpha/d_scale = L_m,约为 +3.1388e-11;d_alpha/d_velocity = -|v_moon|/c^2,约为 -1.11e-14(随时间变化);d_alpha/d_r_radial = g_eff/c^2,每米约为 +1.806e-17。对1 m的径向基准移动,这是约1.8e-17的速率扰动(径向项的算术结果),远小于月球时标相对TT约1.7e-11的速率偏差
参考基准
预先登记(5590ab21):L_m对照Ashby与Patla 2024(AJ 167:149)式 (10),3.13881(15)e-11,取自该论文的GM、a_m、omega_m,以及该论文所引用的两个350阶场(Bertone等2021,AIUB-GRL350A/B)的J2,偏差在1e-4以内;径向项对照pyshtools 4.14.1(BSD-3)对同样两个场的赤道重力,偏差在1e-4以内(实测8.3e-5和6.7e-5,余量很窄);速度项对照JPL Horizons DE441月球速度,偏差在4.5e-3以内。这是对一个350阶已发表数值的2阶闭式近似(残差为3-350阶;Reference,不是P1)。已披露:第1项的结果在预先登记之前就已知,所附默认半径1738.14 km是该论文的表面定义,在第1轮之后采用。潮汐贡献和比较带仍为模型计算得出的参考表面数字
测试
tests/lunar_rate_frame_coupling_preregistered.rs(entry1_d_alpha_d_scale_matches_the_published_l_m_for_both_cited_fields:L_m与Ashby和Patla 2024相差在2.8e-6以内,J2取自AIUB-GRL350A/B…
已独立核对耦合的坐标系与时标零空间的与基无关分类lunar_gauge
能力
classify_null_space把基准零空间分解为仅空间(维数d减rank U_T)、仅时间(d减rank U_S)和真正耦合(rank U_S加rank U_T减d)三部分,另加空间到时间投影算子耦合范数p_st_norm,即零空间投影算子非对角块的Frobenius范数。这些量中的每一个都是投影算子(PROJECTOR)的函数,而不是所选基的函数,因此在零向量的任何标准正交选择下都不变:这正是该分类能够被报告的原因。
参考基准
SciPy/NumPy(BSD-3-Clause;scipy.linalg.null_space和numpy.linalg.svd,LAPACK gesdd)通过子空间交集dim null([F; E_T]) 和dim null([F; E_S]),以及SVD零空间投影算子,对同样已提交的矩阵做分类,这与Kshana的Jacobi特征向量和Gram秩公式不同;预先登记(d429993c):整数完全一致,p_st_norm到1e-9(P2,独立的数值库),秩阈值事先确定,并断言谱间隙至少为1e6。该行的声明是对所述矩阵的分类,因此P2对其作了完整覆盖。构造的算例包括直和、耦合和混合的零空间以及随机换基;耦合规范行的真实网络维数在此不重新计数。保留crate内的不变性测试(旋转后的零空间基给出相同结果)
测试
lunar_gauge::tests(classify_is_invariant_under_null_basis_rotation:轴对齐的零空间基及其0.6 rad旋转给出相同的defect、dim_spatial、dim_temporal、coupled_dim与p_st_norm…
由模型计算得出有代表性的多技术测量菜单与可加的Fisher组合规则lunar_techniques
能力
MeasurementBlock保存一次候选测量活动,其形式为7x7的Fisher信息贡献加一个标量相对成本;block_from_rows由原始基准雅可比行构建一个,使每个块都通过lunar_identifiability::assemble_multi_info得到相同的预处理;combine对所选子集的信息求和,这是正确的规则,因为Fisher信息在独立测量之间是可加的;representative_lunar_menu提供确定性的四块菜单(LLR、横向VLBI月缘信标、近侧轨道器和远侧轨道器)。使用该菜单的受预算约束的设计优化器不属于本crate。
参考基准
Fisher信息在独立测量之间的可加性是闭式性质,在此对照独立写成的逐元素求和核对,并对照由此得出的次序不变性和单调性核对。关于证据的说明:组合器此前根本没有测试,模块中唯一的测试是直接内联地对两个信息矩阵求和,而没有调用它,因此即使组合器坏了,模块也仍会通过;该测试现在经由combine,并且在其被变异时失败。所有信标位置、轨道器几何、各技术的精度和相对成本都是有代表性的选择,而不是任务数值(见tests/fixtures/llr_geometry/NOTICE.md),因此通过该菜单得到的每一个退化度量和CRLB数字,都继承lunar_identifiability::decompose的模型计算得出的状态。
测试
lunar_techniques::tests(combine_is_additive_order_independent_and_empty_is_zero:空选择给出零矩阵,单一选择是恒等,一对选择等于独立写出的逐元素之和,并且…
已独立核对跨提供方的月球坐标系/动力学一致性(真实星历间差异)lunar_interop_budget
能力
对DE440/INPOP21a/EPM2021地心月球差异的仅旋转(6参数平移加旋转)分解,分为可消除的共同ICRF坐标系联系和不可消除的月球轨道朝向超出量(完整的7参数Helmert拟合是另一个公开函数,不在这一外部核对的涵盖范围之内(NOT):其证据是一项内部解析恢复单元测试,加上tests/lunar_helmert_fit_cross_check.rs,后者使其与lunar_frame_realise中经独立核对的精确Gauss-Newton拟合相符,并固定二者之间相反的旋转符号约定)
参考基准
三个独立的权威星历:DE440(JPL)、INPOP21a(IMCCE)、EPM2021(IAA RAS),通过IMCCE calceph采样,并由独立的numpy SVD最小二乘拟合交叉核对。为什么这一行是经独立核对的,而lunar_common_mode却不是,尽管用的是同样三个星历:这里所报告的量就是已发表数据本身的属性(它们之间的相互差异),所以这些星历就是参考基准,而不是输入。在lunar_common_mode中,同样的差异输入到一个MODELLED的星座几何,答案是该模型的属性,所以那一行被正确地标为Modelled/ReferenceImpl。
测试
tests/lunar_interop_budget_reference.rs(raw / rotation-residual / theta_moon / theta_frametie / theta_excess / reducible / irreducible,对3个提供方对,与独立的SciPy SVD lstsq拟合在…
由模型计算得出混合提供方用户的跨提供方一致性容差lunar_interop_budget
能力
consistency_tolerance:把用户位置预算反演为,在参考杠杆臂处,对每个参数的提供方间Helmert一致性要求(origin/scale/rotation),可选择按P1单提供方实现CRLB放大
参考基准
Helmert点雅可比作用的最坏情形三角不等式界(闭式)
测试
lunar_interop_budget::tests(预算的单调性;在每个提供方CRLB下的RSS预算削减;月球杠杆臂处算出的旋转容差;约束项 = 旋转)
由模型计算得出多提供方月球互操作误差预算与坐标系对星历设计律lunar_interop_budget
能力
interop_budget:在PerProvider / CommonFrameTie / CommonEphemeris约定下,把可消除(共同坐标系联系)与不可消除(动力学)分开,并给出不可消除比例这一设计律度量(在真实DE440/INPOP/EPM上约为0.69:仅有共同的坐标系标记,仍留下占主导的底限)
参考基准
在每种约定下,对经独立核对的逐对拆分做RMS汇总(闭式)
测试
lunar_interop_budget::tests(CommonEphemeris使预算归零;CommonFrameTie < PerProvider;在真实划分上irreducible_fraction > 0.5;约定排序)
已独立核对自主自由网故障可观测性线性代数流程(奇偶投影算子、可检测性、MDB非中心参数、拜占庭块spark)lunar_faultobs
能力
在基于真实DE440的逐节点月球网络上(每一行是通过pernode_range_row构建的节点间差分单向距离,带真实DE440月球PA坐标系视线),引擎计算加权奇偶投影算子P⊥ = I − G(GᵀWG)⁺GᵀW(在8维基准⊕时标规范下仍然成立的秩亏伪逆形式)、T1可检测性残差 ‖P⊥·b‖(位于值域内的故障被湮灭,一般故障可检测)、Baarda MDB非中心二次型cᵀWP⊥c(正确的单P⊥ 加权形式,而不是(NOT)双P⊥ 形式cᵀP⊥WP⊥c),MDB = √(λ₀/cᵀWP⊥c),以及堆叠的有效对等节点特征P⊥·B_T的拜占庭块spark检测/辨识计数(列秩,而不仅是非零)
参考基准
在真实DE440月球PA坐标系视线行上做独立的numpy/scipy线性代数复现(P⊥ 来自白化设计W^{1/2}G的SVD;MDB非中心参数来自经典的Baarda(1968)奇偶子空间平方范数;块的秩来自numpy SVD的奇异值计数):这是与本crate对GᵀWG的循环Jacobi特征分解真正不同的数值路径。范围(依据tests/fixtures/faultobs/NOTICE.md):这只在这些行上核对线性代数流程(LINEAR-ALGEBRA PIPELINE)。节点几何是模型计算得出的。它不是(NOT)运行中的完好性保证,不是保护级认证,也不是任何RAIM/ARAIM可用性声明,也不是(NOT)拜占庭容错的任务保证:该网络所容忍的故障计数(COUNT)是模型计算得出的,而detect>f / identify>2f块spark界(BOUND)是引用的(Fawzi–Tabuada–Diggavi 2014;Shoukry–Tabuada 2016;Donoho–Elad 2003的块式spark),并在代码中作了已证明的实例化
测试
tests/lunar_faultobs_reference.rs(faultobs_matches_numpy_scipy_on_real_de440_rows:84×84的P⊥ 逐元素,trace(P⊥) = parity_dim = 52,rank(G) = 32,可检测性范数 + 标志,MDB二次型cᵀWP⊥c +…
由模型计算得出自主逐节点月球网络上的拜占庭块spark检测/辨识界(T3)lunar_faultobs
能力
byzantine_bound在逐节点网络几何上实例化了安全状态估计的编码/稀疏可观测性界:拜占庭对等节点会注入它所参与的测量的任意线性组合,网络可检测(DETECTS)任何 ≤ f = block_spark − 1个对等节点的联盟,并可唯一辨识(IDENTIFIES)任何 ≤ ⌊(block_spark − 1)/2⌋ 个的联盟,其中block_spark是堆叠的有效特征P⊥·B_T列秩亏的最小对等节点联盟。对等节点的可检测性是P⊥·B_j的满列秩(FULL COLUMN RANK)(非零但秩亏的块是落入range(G) 而不留下残差的非零攻击),而不仅仅是P⊥·B_j ≠ 0
参考基准
块式spark / 安全状态估计界的几何实例化(Fawzi–Tabuada–Diggavi 2014;Shoukry–Tabuada 2016;Donoho–Elad 2003的块式spark;Candès–Tao 2005),不是(NOT)Lamport–Shostak–Pease的3f+1共识阈值(“拜占庭”仅指任意/共谋的故障模型)。具体的容忍故障计数是有代表性的网络几何的模型计算得出的属性,由手工构造的解析算例和计数公式做了自洽性核对
测试
lunar_faultobs::tests — byzantine_c3_rank_deficient_but_nonzero_is_undetectable (nonzero yet rank-deficient block ⇒ block_spark 1, f_detect 0; independent columns ⇒ block_spark 2, f_detect 1)…
由模型计算得出自洽月球星座的自主守时时间规范底限(T4)lunar_faultobs
能力
holdover_floor确立:在仅由节点间测量相连的自主节点集合中,共同时钟速率(δα_j += 1 ∀j)是位于N(GᵀWG) 中的集合时间自由参数:再多的节点间测距也无法观测它(rate_in_gauge = true,连同共同偏差temporal_gauge_dim = 2)。这就是真正的守时底限:刚性坐标系位置规范在时间上的对应物。加入一个外部绝对速率联系(与网络之外参考的直接链路),就把共同速率从零空间中排除(rate_in_gauge = false,temporal_gauge_dim = 1),证明该底限是真实的规范,不是振荡器模型的人为产物
参考基准
集合时间自由参数论证(Percival 1978;Lewandowski与Thomas 1991),在有代表性的、基于真实DE440的逐节点网络上实例化:对解析共同速率生成元相对GᵀWG做相对残差零空间检验,并用打破联系后的对比区分真正的规范与振荡器模型的人为产物。有代表性的模型几何,不是经认证的授时预算
测试
lunar_faultobs::tests — holdover_floor_self_ref_and_anchored (self-referential net: the common rate lies in N(GᵀWG), temporal_gauge_dim 2; after one external rate-tie row: rate expelled from the gauge…
由模型计算得出提供方共同/差分拆分、单一秩亏统一,以及保护间隙斜率(T5 / §0 / g7)lunar_faultobs
能力
同一分解 ℝ^{state_dim} = N(GᵀWG) ⊕ range(GᵀWG) 的三个侧面,其中8维基准⊕时标规范为N(G),而state_dim − 8 = 32个可观测方向为range(G):(T5)provider_mismatch_split把共同的多提供方偏差(∈ range(G))归类为不可检测(UNDETECTABLE),需要外部联系,而把差分偏差(∉ range(G))归类为自监测/可检测(DETECTABLE);(§0)统一在于,同一个range(G) 盲子空间支配着不可检测的故障类,因此基准规范N(G) 与故障盲子空间range(G) 是同一种几何,而不是两种;(g7)slope返回Brown保护间隙斜率 ‖Π_obs Δx̂‖ / ‖P⊥b‖_W,对故障b ∈ range(G)(估计器受到破坏而奇偶为零)趋于 ∞,对可检测故障则有限
参考基准
在有代表性的、基于真实DE440的逐节点网络上的闭式奇偶投影算子/伪逆代数:共同/差分拆分、N(G) ⊕ range(G) 统一,以及Brown(1992)保护间隙斜率,都由值域湮灭P⊥·G = 0推出。有代表性的模型几何,不是经认证的保护级
测试
lunar_faultobs::tests — provider_mismatch_split_common_undetectable_differential_detectable (common bias undetectable, differential detectable), slope_infinity_in_range_finite_detectable (g7: slope ∞ for b ∈ range(G)…
已独立核对守时时间误差序列上的电信授时MTIE与TDEVtelecom_timing (mtie_sliding, mtie_curve_ns, tdev_curve_ns); allan (mtie, time_deviation)
能力
telecom-timing场景类型所报告的最大时间间隔误差和时间偏差,在电信量级的守时记录上:一个O(n) 的单调队列滑动窗口MTIE(telecom_timing::mtie_sliding,使一天的秒级采样仍然很快所必需),以及引擎的TDEV(allan::time_deviation),在该类型所报告的网格上求值,并从摄入该序列的一次完整运行中读回
参考基准
allantools 2024.06:一个独立的第三方频率稳定度库,对tests/fixtures/telecom_timing/holdover_te_series.csv做mtie() 和tdev(),双方从同一份17位有效数字的文本解析该序列;参考基准记录了该序列的SHA-256,并可通过tests/fixtures/telecom_timing/generate_telecom_timing_reference.py离线重新生成。核对的是该记录上的估计器(ESTIMATORS),不是产生它的合成守时
测试
tests/telecom_timing_reference.rs(在已提交的2 048个样本的芯片级原子钟守时(holdover)序列上,17个MTIE与12个TDEV平均因子,序列含老化、闪烁和温度,对allantools 2024.06,吻合到<1e-12 / <1e-9…
由模型计算得出带PASS/FAIL和裕度的ITU-T电信同步模板telecom_timing (MASKS, eprtc_a_holdover_limit_ns, check_curve, check_mask)
能力
转录的限值:ITU-T G.8272(07/2025)PRTC-A/B,G.8272.1(2024)Amd. 1(07/2025)ePRTC锁定与ePRTC-A守时(包括表3时间误差包络),G.8273.2(2023)Amd. 2(11/2025)T-BC/T-TSC A-D类,以及G.8271.1(2022)Amd. 3(05/2025)参考点C,每个区间按表中所述为开或闭,并略去每一项“待进一步研究”的条目;每项检查给出判定和约束点上的裕度,以及超出每个预算的时间。可作为telecom-timing场景类型运行
参考基准
对所列建议书的转录(可从itu.int免费下载),每项限值都带有其表或条款,并连同每一个未经确认或未实现的条目列于docs/TELECOM-TIMING.md;这些表所隐含的断点连续性恒等式在测试中核对。这是带内部一致性核对的标准转录,不是一致性测试,也不是外部核对。0.30第2轮(预先登记970003ee),受阻(仍为MODELLED):建议书以算例形式印出的十个模板值和十三个ePRTC-A守时值(G.8272图1-2,G.8272.1 Amd.1第8.2.1条和图V.1-V.3,G.8271.1 Amd.3图7-2至7-4)在半个印刷单位之内被复现,其中大多是表中常数或断点;G.8271.1图7-2在1.3 s处标注200 ns,与其自身的表7-1(197.5 ns)不一致。G.8273.2 A-D类的限值没有印出的算例值,而G.8272.1 ePRTC锁定断点标注(位于实线构造线上)被预先登记的选取规则排除,所以这些仍是转录
测试
telecom_timing::tests(mask_boundaries_follow_the_tables_exactly:开端与闭端,G.8271.1表7-3的 τ = 400 s间隙,各表所隐含的每个断点处的连续性…
由模型计算得出ITU-T频率同步漂移产生模板(G.811、G.812、G.8262、G.8262.1)telecom_timing (MASKS, Segment::tau_exponent, MeasurementFilter::LowPass10HzAtSource, MaskCondition::Autonomous)
能力
为telecom-timing类型提供七个恒温MTIE和TDEV漂移产生模板:G.811(09/1997)PRC(自主)、G.812(06/2004)I、II和III型、G.8262(10/2024)EEC选项1和2,以及G.8262.1(11/2025)eEEC(锁定模式),包括表中所写的幂律片段(8 τ^0.5之类),每个区间按印刷所示为开或闭,通过条款所述的10 Hz滤波器测量(取为在采样之前施加);参考场景scenarios/telecom-synce-eec.toml把一台自由运行的OCXO对照三个EEC模板。未实现:变温容许量、守时、瞬变、抖动,以及G.811的频率精度
参考基准
对所列建议书的转录(于2026-10-13从itu.int下载),每一行都对照文本重新读过,并在测试中界定了印刷系数所隐含的断点连续性(例如40 · 10^0.4 = 100.48 ns,对照G.812表4的100 ns平台)。这是带内部一致性核对的标准转录,不是一致性测试,也不是外部核对。G.812(06/2004)被列为已被一个预先发布的08/2026版取代,G.811有Amd. 1(04/2016);二者都无法读到,因此都未核对。自由运行的OCXO场景在相对于环路时间常数较长的观测间隔上,高估了振荡器的贡献;它对任何设备时钟都没有说明
测试
telecom_timing::tests (g811_prc_masks_follow_clause_6_1; g812_masks_follow_tables_3_4_6_and_7; g8262_masks_follow_tables_1_3_4_and_5; g8262_1_eeec_masks_follow_tables_1_and_3; a_linear_piece_is_evaluated_without_powf…
由模型计算得出读成归一化相位序列的时钟日志格式(RINEX时钟、TimeLab ASCII、TAPR TICC)clock_log (read_input, MeasuredPhaseReport, MEASURED_UNITS, TELECOM_LOG_UNITS); telecom_timing (SeriesInput::clock_log); api (clock kind [clock_log])
能力
clock_log::read_input:一个解析层,把RINEX时钟文件(某个指定时钟的AS/AR记录,版本2以及3.00至3.04)、TimeLab式ASCII相位或频率日志,或TAPR TICC时间戳或间隔日志,转成统一的相位网格,tau0由声明、由头部或由中位间隔给出,每个间隙、离网格读数和重复都被计数,并有拒绝、最长连续段或线性的间隙策略;以可选方式接入电信授时序列([series.clock_log],增加一个clock_log块)和时钟类型([clock_log],增加一个measured块,含ADEV、TDEV和MTIE、表的SHA-256和相位的SHA-256;runs = 1)。没有该表时,两种类型逐字节相同
参考基准
预先登记于tests/fixtures/clock_log/PREREGISTRATION.md(单独提交,159334f2,在测试数据存在之前);记录于RESULTS.md。三份带随机种子的合成日志,每种格式一份(一份TICC有三个历元的间隙,一份RINEX带需忽略的第二个时钟),由同一作者依据docs/CLOCK-LOG-FORMATS.md写成的独立读取器读回:网格、间隙和填充计数相等,最大相位差为0 s(判据1e-13 s)。allantools 2024.6的oadev、tdev和mtie在该相位上,对其评估的每个平均因子,相对偏差在2.5e-14以内(判据1e-10);它不评估整个记录上的MTIE,而引擎会报告这一项,因此每份日志的这一个点没有参考基准值,按其措辞的判据在该处未达到。MODELLED:合成日志,且读取器参考基准与作者相同;没有对仪器的真实TimeLab、TICC和RINEX时钟文件做比较
测试
clock_log::tests(每种格式的手写日志:头部、分隔符、单位、频率积分、TICC通道与模式、间隙与策略、拒绝);tests/clock_log_allantools.rs(预先登记的比较…
由模型计算得出读成归一化相位序列的时钟日志格式linuxptp(ptp4l、phc2sys、ts2phc)和chrony(tracking、statistics)clock_log (parse_linuxptp, parse_chrony, grid_timed_offsets)
能力
clock_log::read_input支持格式ptp4l、phc2sys、ts2phc、chrony-tracking和chrony-statistics:linuxptp伺服行所记录的偏移(ns,采用该行自带的括号内时间戳,在伺服首次报告s2之前的读数被略去并计数),或chrony tracking或statistics日志的偏移(s,按列位置,UTC日期和时间),经与其他格式相同的间隙策略成为统一的相位网格;来源选择器(clock)指定若干接口、时钟或地址之一;这些日志供给电信授时序列、时钟类型和守时测试类型
参考基准
测试数据是为Kshana依据各守护进程公开的行布局编写的,数值为编造(见测试数据文件夹中的NOTICE.md);没有读取任何真实安装的日志,也没有参考基准把解析结果与另一个读取器比较,因此在不同守护进程版本之间有差异的布局,仍可能被拒绝或被误读。由相位序列供给的估计器,就是在上面各行中对照allantools经独立核对的那些
测试
clock_log::tests (ptp4l_reads_the_locked_offsets_in_ns; linuxptp_reads_only_the_named_program; ts2phc_gap_is_refused_or_filled; linuxptp_reads_syslog_prefixed_lines_and_picks_an_interface…
由模型计算得出由运营方提供的时间误差记录评分的守时测试holdover_test (HoldoverTestScenario, recovery, linear_fit); telecom_timing (check_mask, check_envelope, budget_results)
能力
holdover-test类型:时间误差记录(linuxptp、chrony、TICC、TimeLab或RINEX时钟日志,或time_s,time_error_ns数据对)在运营方声明的GNSS移除和恢复两个时刻处被拆分为基线、守时和恢复三步;基线对照为锁定时钟编写的ITU-T模板度量,守时对照为守时或自主时钟编写的模板、ePRTC-A守时包络和时间误差预算度量;守时部分报告系统所保持的最小二乘频率偏差,恢复部分报告 |TE| 是否以及何时进入所述的带并在所述驻留时间内保持其中,以及峰值和最大阶跃。每项限值都是电信授时类型所转录的那一项;这两个时刻是运营方的陈述,未经核实
参考基准
对由公式构建的记录做手工计算,其斜率、阶跃、极值和恢复时间在运行之前就已知(测试中陈述了它们),并对照上面电信授时各行的模板、包络和预算。没有对真实守时做过实验室测量评分,也没有与外部参考基准比较,因此该类型不对任何时钟或系统作出声明;在任何逐时钟等级的数字能够被提升之前,需要一个授时实验室合作方
测试
holdover_test::tests (the_record_is_split_at_the_stated_times; holdover_figures_match_a_hand_computation; recovery_is_timed_from_the_restoration; masks_are_measured_on_the_step_their_condition_names…
由模型计算得出空间服务体积及以外的GNSS信号可用性,与ICG SSV手册对比ssv (constellations, geom, sweep, pattern, check)
能力
gnss-ssv类型的可用性扫描:逐星座(GPS、GLONASS、Galileo、BDS、QZSS、NavIC)以及合并后,至少有一个信号和至少有四个信号的(用户,历元)对所占的份额,以及最长中断,对象是位于球面上的用户(手册的2,562点全球球壳,14天,间隔1分钟)或位于轨迹上的用户(GEO、HEO、月球转移),由手册附录C的开普勒轨道、参考偏离视轴角之内恒定的最小辐射功率、球体加50 km的地球遮挡以及C/N0阈值得出;用户天线取自手册的表B10
参考基准
ICG空间服务体积手册(UN OOSA ST/SPACE/75,2018)本身就是一次仿真,在运行之前提交的预先登记下做了比较(xval/gnss-ssv/PREREGISTRATION.md;结果见xval/gnss-ssv/RESULTS.md,由tests/ssv_booklet_results.rs固定,包含未达到的项)。第1次运行采用预先登记的解读:最小辐射功率常数和月球判据相符(S0、S6达到判据);上SSV、下SSV、射频阈值、GEO和HEO的判据NOT MET,几乎全部由GLONASS引起,手册在表B2和B6中给出的是20和28度,而在表4.2中是26和34度。采用表4.2角度的诊断变体,在上SSV、下SSV和六个GEO任务的每个单元格中都相符(它不取代第1次运行;射频、HEO和月球单元格仍有未达到)。实测的GPS L1面板方向图没有被参数化的替代复现(RMS为6至9 dB,对照3 dB的判据)。相符说明手册所述的方法被复现了,而不是说明GNSS信号就是这样表现的
测试
ssv::geom::tests (the_grid_has_the_booklets_2562_points_on_the_unit_sphere; the_interval_form_equals_the_general_predicate; a_user_behind_the_earth_is_blocked_and_one_beside_the_limb_is_not); ssv::sweep::tests…
由模型计算得出gnss-ssv类型中,掠射GNSS信号的临边射线电离层、等离子体层和大气效应,以及弱信号接收机设计ssv (limb, weak)
能力
沿发射机与用户之间的直线射线积分的Chapman电离层、Gallagher型等离子体层和中性大气(折射率弯曲、氧吸收、散焦):斜向总电子含量、其等离子体层部分、附加时延、切点高度以及掠射链路上的损耗;以及一个弱信号接收机设计(相干与非相干积分、数据比特限制、辅助、多普勒搜索),它根据捕获和跟踪环路模型确定C/N0阈值
参考基准
测试中的闭式解与已发表的量级(查普曼层的峰值和地表临边的弯曲,GPS至GEO射线上几TECU的等离子体层);接收机设计复用捕获和跟踪环路模型及其测试。没有拿实测的临边探测数据或弱信号接收数据与之比较
测试
ssv::limb::tests (the_chapman_layer_peaks_at_its_height_with_its_density; the_surface_limb_bends_about_one_and_a_third_degrees; plasmaspheric_tec_is_a_few_tecu_for_an_equatorial_gps_to_geo_ray); ssv::weak::tests…
由模型计算得出面向高轨和月球转移轨道航天器的星载GNSS导航滤波器ssv::nav (run_nav, Ekf)
能力
gnss-ssv类型的[navigation]模式:九状态扩展卡尔曼滤波器(位置、速度、接收机钟差和钟漂、一个太阳辐射压尺度),作用于伪距,其可用性、噪声和C/N0与扫描所用的链路几何一致;真值积分计入J2、太阳和月球第三体引力以及带阴影的辐射压,滤波器对J2和第三体建模并估计辐射压;报告GNSS轨道之内和之上的位置与速度误差、最长的测量间隙以及平均NEES
参考基准
仿真真值对照滤波器自身的估计(一致的滤波器,其位置的平均归一化估计误差平方约为3),以及固定随机种子下的确定性。没有拿飞行数据或已记录的高轨GNSS数据与之比较;太阳和月球是低精度的圆轨道替代模型
测试
ssv::nav::tests (the_filter_converges_where_signals_are_plentiful_and_is_deterministic; the_covariance_is_consistent_with_the_error; without_signals_the_filter_coasts_and_the_gap_is_reported); ssv::scenario::tests…
由模型计算得出基于GNSS的大椭圆轨道多航天器编队相对导航ssv::formation (run_formation, RelEkf)
能力
gnss-ssv类型的[formation]模式:主星和副星各自运行绝对滤波器;副星相对主星的位置,一方面由绝对估计相减得到,另一方面由一个相对滤波器估计,该滤波器作用于两颗航天器都跟踪的信号的单差伪距,相对动力学为两条非线性轨道之差
参考基准
与绝对滤波器相同的仿真真值:相对滤波器相对真实相对状态的误差,以及检验其表现至少不逊于两个独立绝对定位结果相减。没有拿飞行编队数据与之比较
测试
ssv::formation::tests (differencing_beats_subtracting_absolute_estimates_and_is_deterministic); ssv::scenario::tests (navigation_and_formation_run_and_report; formation_needs_navigation_and_one_mode_only)
由模型计算得出从发射到再入的一串任务阶段的导航与授时误差预算(mission-thread)mission_thread (scenario, handover, conversions, budget, phase)
能力
mission-thread类型:由多个阶段组成的文档,每个阶段是八种已注册类型之一,按顺序运行,6x6协方差、时钟和坐标系依所述规则向后交接(carry;inflate,在直线模型上对所述间隔施加白加速度噪声;reacquire,先航位推算,再取来源下限,绝不低于它,也绝不复位);GCRF、MCI和MCMF之间的坐标系转换以及经由TT的时间标度转换,各为单独的预算行,月球状态取自可选的DE440星历裁切文件,并以解析级数作为所述的后备;相对既定需求的余量、最薄弱环节、事件和一张时间线图。每个数字要么是既定输入,要么是对既定输入的建模
参考基准
测试中的手工计算(直线协方差增长、平均恒星自转、月球时钟的长期速率),以及仅针对月球状态,已提交的DE440星历裁切文件对照已固定的JPL Horizons数值(最大偏差2.6 m和7e-6 m/s)。没有任务数据与该链比较;其各阶段本身各有单独的行。该文档是一条既定的链,输入为 ILLUSTRATIVE,仅使用公开来源,且没有任何机构背书
测试
mission_thread::scenario::tests::a_thread_runs_hands_over_converts_and_names_the_weakest_link; mission_thread::scenario::tests::bad_documents_fail_with_the_reason…
由模型计算得出发射与上升至停泊轨道,含GNSS捕获与衰落(launch-ascent)mission_thread::earth::launch (LaunchAscent)
能力
launch-ascent阶段:带白加速度噪声的匀速位置与速度协方差(航位推算等级)、在捕获时间之后且在所述衰落之外施加的、具有所述精度的GNSS定位解、由同一批定位解校准的偏差加漂移时钟,以及停泊轨道入轨状态
参考基准
测试中的Riccati稳态和预测的手工计算。这里没有对运载火箭或接收机建模;每个数字都是既定输入
测试
mission_thread::earth::launch::tests::with_gnss_the_sigma_settles_near_the_fix_and_an_outage_lets_it_grow; mission_thread::earth::launch::tests::before_acquisition_the_sigma_only_grows_and_a_longer_acquisition_is_worse…
由模型计算得出在各传感器弧段上,近地轨道内到对接包络的相对导航(leo-rendezvous)mission_thread::earth::rendezvous (LeoRendezvous); cw_dynamics; mission_thread::sensors
能力
leo-rendezvous阶段:目标LVLH轴系中的相对状态,采用闭式Clohessy-Wiltshire转移矩阵、带白加速度噪声的6x6卡尔曼协方差,以及方差为传感器在当前距离处方差的位置更新,覆盖所述传感器的各弧段(ILLUSTRATIVE 的光学相机、激光雷达和无线电测距形式);对接窗口是从相对sigma保持在捕获包络之内的时刻到该阶段结束的时间。追踪器的绝对协方差原样交接,并有一行说明这一点
参考基准
测试中对预测与更新的单轴手工计算;Clohessy-Wiltshire转移矩阵就是cw_dynamics对照独立数值积分检验过的那一个。传感器为 ILLUSTRATIVE,且未与任何真实交会比较
测试
mission_thread::earth::rendezvous::tests::the_relative_sigma_falls_through_the_legs_and_opens_a_docking_window; mission_thread::earth::rendezvous::tests::without_relative_sensing_the_sigma_only_grows_and_no_window_opens…
由模型计算得出地月转移注入与地月巡航:含跟踪更新的平均状态与协方差传播(tli-and-cruise)mission_thread::earth::tli_cruise (TliCruise); propagator; ssv::sweep
能力
tli-and-cruise阶段:平均状态由引擎的Cowell传播器给出(地球点质量和J2、作为第三体的太阳和月球;月球取自任务链的DE440星历文件(在其覆盖该航段时),太阳取自解析级数);协方差由该传播的前向差分状态转移矩阵给出(每个航段一次名义运行加六次扰动运行),并带白加速度噪声;TLI点火的大小与指向误差;gnss-ssv定位解,其可用性和PDOP来自沿一条充当该弧段的密切轨道所做的空间服务体积扫描;沿地心方向的距离与距离变化率跟踪,按地面网络占空比缩放,并采用Joseph形式更新
参考基准
测试中的刘维尔定理(保守部分的状态转移矩阵行列式为一)和更精细的差分;平均状态与下一行中的公开轨迹比较,而它未达到判据。点火误差、更新和协方差未与任何数据比较
测试
mission_thread::earth::tli_cruise::tests::the_stm_is_symplectic_for_the_conservative_part_and_matches_a_finer_difference; mission_thread::earth::tli_cruise::tests::with_no_tracking_the_covariance_is_the_stm_propagation_…
由模型计算得出再入界面协方差、走廊概率、峰值减速度和着陆足迹(entry)mission_thread::earth::entry (Entry); reentry
能力
entry阶段:tli-and-cruise的返回滑行段,不点火,终止于再入界面;飞行路径角及其sigma由完整协方差经有限差分梯度得出;该角处于所述走廊之内的概率;在名义角和走廊两个边缘处的峰值减速度,取自引擎的平面弹道质点再入(检测跳出),并与Allen-Eggers闭式解并列;着陆足迹由所述的下程灵敏度和穿越轨道面的界面协方差得出。未对升力、制导或热流建模
参考基准
测试中的手工计算(角度sigma等于垂直速度sigma除以速度;走廊内的高斯质量)。平面再入是引擎自身的,Allen-Eggers形式是闭式比较;没有与任何实际飞行的再入比较
测试
mission_thread::earth::entry::tests::the_flight_path_angle_and_its_sigma_follow_the_velocity_error_over_the_speed; mission_thread::earth::entry::tests::the_corridor_probability_is_the_gaussian_mass_inside…
由模型计算得出某任务阶段的地面网络覆盖与跟踪占空比(mission-thread的[ground_network])mission_thread::earth::ground_network
能力
地面网络叠加层:设有最低仰角的测站、飞行器在所述几何下的可见性(再入状态按带J2的二体问题飞行,巡航段取月球位置,或取所述占空比)、每次损失所述时间的测站切换,以及传给该阶段地面跟踪更新率的最终占空比;任何测站都不可见的最长间隔是一条预算行
参考基准
测试中的天顶与对跖点几何检查,以及遥远目标的预期可见性。未对真实网络、天线或日程建模
测试
mission_thread::earth::ground_network::tests::a_vehicle_over_a_station_is_seen_and_one_on_the_other_side_of_the_earth_is_not; mission_thread::earth::ground_network::tests::the_moon_is_in_view_of_three_well_spread_statio…
由模型计算得出月球轨道上对接的相对导航(lunar-orbit-rendezvous)lunar_rendezvous (LunarRendezvousScenario); lunar_phase; mission_thread::lunar
能力
lunar-orbit-rendezvous类型与阶段:在弧段上对两个飞行器做联合批处理Gauss-Newton估计(二十一个参数:两者的状态,以及持续存在的信号在空间中的位置偏差,含共同部分和独立部分),按四分之一、二分之一和整段弧段逐步扩展并采用步长减半,输入为每个飞行器的一个绝对定位解(AFS导频码跟踪界,ILLUSTRATIVE 的中继集)和一个交联测距,采用该库的月球力模型;平均归一化估计误差平方、圆轨道上的Clohessy-Wiltshire检验,以及向后交接的6x6协方差
参考基准
预先登记下的自洽性(xval/mission-thread-lunar/PREREGISTRATION.md,结果及估计器历史见RESULTS.md):在四种配置中,相对状态的平均NEES为5.85至5.93,判据区间为5.2至6.8,在三种序贯滤波器设计未达到判据之后,第四种估计器设计为 MET;真值与估计器共用同一力模型,因此这对模型误差没有任何说明。其共用的传播器与LRO和CAPSTONE的比较见下面的一行
测试
lunar_rendezvous::tests::b1_mean_nees_is_inside_the_registered_band_in_all_four_configurations; lunar_rendezvous::tests::circular_cw_check_is_within_the_pre_registered_bar…
由模型计算得出月球极区着陆点的着陆散布预算(lunar-descent)lunar_landing (LunarLandingScenario); lunar_phase; terrain_nav
能力
lunar-descent 类型与阶段:针对动力下降的五状态逐轴惯性误差模型(位置、速度、加速度计偏差、倾斜、陀螺偏差),由 AFS 定位(独立或差分,含时钟辅助的三中继情形)、地形相对定位(引擎在合成地形上的地形导航匹配器,或在 LOLA DEM 上带孔径问题规则的 Cramer-Rao 界)以及月球时间辅助,并给出蒙特卡洛触地椭圆
参考基准
测试中包含闭式惯性漂移、所复用类型自身的结果,以及 3-sigma 椭圆的标定(椭圆内比例与其期望一致)。未与任何已飞行或已测试的着陆进行比较
测试
lunar_landing::tests::b4_with_no_aid_the_landing_error_is_the_closed_form_inertial_drift; lunar_landing::tests::b4_each_aid_reports_exactly_what_the_reused_kind_gives; lunar_landing::tests::b3_ellipse_calibration…
由模型计算得出月球极区按站点和季节划分的地表定位与授时可用性(lunar-surface)lunar_surface_map (LunarSurfaceMapScenario); lunar_phase
能力
lunar-surface 类型与阶段:每个站点和季节的中继可用性与 PDOP、地球与太阳可见性以及受驯服的地表时钟,并带有 moonlight-service-volume 的地形天际线;单站点运行与该类型的可用性和 PDOP 逐位一致
参考基准
测试中包含与现有类型在单站点下的精确相等以及单调性检查。中继集合为 ILLUSTRATIVE,未与任何地表测量进行比较
测试
lunar_surface_map::tests::b5_equals_the_service_volume_for_a_single_site; lunar_surface_map::tests::b5_equals_the_service_volume_with_the_real_terrain; lunar_surface_map::tests::terrain_never_adds_availability…
由模型计算得出从月球极区站点到入轨轨道的动力上升(lunar-ascent)lunar_ascent (LunarAscentScenario); lunar_phase
能力
lunar-ascent 类型与阶段:沿航迹带有比力的动力上升过程中运行的五状态逐轴惯性误差模型,由 AFS 定位和月球时间辅助,报告传递至轨道的入轨位置与速度协方差以及发动机关机散布(仅报告,不传递)
参考基准
测试中包含闭式惯性漂移和单调性检查。未与任何已飞行的上升进行比较
测试
lunar_ascent::tests::with_no_aid_the_insertion_error_is_the_closed_form_inertial_drift; lunar_ascent::tests::the_aid_never_hurts_and_the_velocity_is_carried_with_its_correlation…
由模型计算得出月球力模型传播对照公开的重建月球轨道器和地月轨迹lunar_od (LunarForceModel); precise_od; mission_thread_lunar_oracles (example)
能力
各月球类型共用的传播器(GRAIL GL0660B,阶次150,地球和太阳作为第三体,相对论,DE440月球定向),与LRO(24 h,10分钟采样)和CAPSTONE(一个6.5天的周期,一小时采样)的JPL Horizons公开轨迹比较,判据在运行前已固定于一个已提交的文件中
参考基准
LRO和CAPSTONE的JPL Horizons航天器星历,对照xval/mission-thread-lunar/PREREGISTRATION.md中预先登记的判据(修订1至6)。LRO:MET,最大3-D差异33 m,径向RMS为2.4 m,判据分别为500 m和60 m。CAPSTONE:NOT MET,末端位置差异136.8 km,判据为25 km;近心点差异28.4 km,判据为10 km,原因未能分离。该行属于建模,因为CAPSTONE的判据未达到,而且该比较检验的是共用的传播器,而不是任何滤波器、信号或预算
测试
tests/mission_thread_lunar_oracles.rs::the_stored_numbers_meet_or_miss_the_registered_bars_as_recorded; tests/mission_thread_lunar_oracles.rs::the_fixtures_match_their_recorded_hashes
由模型计算得出地月平均状态传播对照公开的阿尔忒弥斯 I 轨迹(tli-and-cruise)mission_thread::earth::tli_cruise; propagator; mission_thread_oracle (example)
能力
tli-and-cruise阶段的平均状态传播(Cowell,地球点质量和J2,作为第三体的太阳和月球,月球取自DE440裁切文件),与阿尔忒弥斯 I 在72 h滑行弧段上的JPL Horizons公开轨迹比较,起点为2022-11-16 18:00 TDB,每隔12小时取一个历元,判据在运行前已固定于一个已提交的文件中
参考基准
JPL Horizons目标-1023(NASA导航的TLI后实际飞行轨迹),对照xval/mission-thread/PREREGISTRATION.md中预先登记的判据(修订1仅更改请求的时间跨度)。NOT MET,并如实记为未达到:最大位置差异45.3 km,判据为5 km;72 h处的速度差异0.249 m/s,判据为0.05 m/s。在判定之后撰写的一份诊断把偏差归于参考轨迹中的五次脉冲式速度变化,每次为0.09至0.22 m/s(预先登记的那一读法,即该窗口内没有点火,是错误的);在其余67小时内,模型复现下一小时状态的中位偏差为0.38 m。仅检验一段滑行弧段的平均状态:不含协方差、滤波器、更新或其他阶段
测试
tests/mission_thread_oracle.rs::the_stored_numbers_miss_the_registered_bars_as_recorded; tests/mission_thread_oracle.rs::the_diagnostic_places_the_miss_in_five_impulsive_events_not_in_the_force_model…
由模型计算得出冷原子干涉仪误差项:拉曼激光相位噪声、波前曲率偏差和条纹模糊度解算inertial::cai_error_terms
能力
inertial::cai_error_terms(库函数,尚不能从场景类型调用):方脉冲三脉冲干涉仪的拉曼相位权重函数(Cheinet等,2008,式8)及白相位闭式解 (pi/2)^2 S_phi0/tau_R,并提供适用于任意谱的数值方法;回射延迟无法抵消的激光频率噪声(Le Gouet等,2007,式9至11);热原子云的纯离焦波前偏差sigma_v^2/R及其随探测半径的减小;经典加速度计辅助下以及两个询问时间下的错误条纹级次概率erfc(pi/(sqrt(2) s)),及其反函数
参考基准
测试中每个闭式解都对照一条独立的数值途径(对精确传递函数和延迟滤波器作频域求积,对波前偏差对原子作蒙特卡罗,对条纹级次对测量次数作蒙特卡罗)及其极限情形。一个已发表的算例:Cheinet等2008(arXiv:physics/0510197,第IV节)指出,在tau_R = 20 us时,要使每次测量为1 mrad,白拉曼相位噪声须低于 -111 dB rad^2/Hz;仅白噪声项给出0.99 mrad(该文以其式17,闪烁加白噪声,推出此水平)。这是内部自洽加一个算例,不是外部验证;高阶像差和任何具体激光器的噪声均未建模
测试
inertial::cai_error_terms::tests (raman_transfer_short_pulse_limit_matches_the_acceleration_transfer_function; white_raman_phase_closed_form_matches_quadrature; short_pulse_band_limited_closed_form_matches_quadrature…
已独立核对阿伦方差、修正阿伦方差和哈达玛方差的Greenhall与Riley精确等效自由度allan (edf_greenhall, greenhall_edf_core); assurance::uncertainty (edf)
能力
allan::edf_greenhall(及edf_greenhall_adev、_mdev和 _hdev封装):Greenhall与Riley的完整算法,Proc. 35th PTTI(2003),第3节(公式7至13及表1至3的大J系数),差分阶数1至3,噪声指数 +2至 -4(凡alpha + 2d > 1),重叠与非重叠、修正与未修正估计量;不适用处给出NaN,包括ceil(M/S) <= d的未修正白PM情形,其闭式解尚未实现。assurance::uncertainty::edf现共用该代码,输出保持逐位一致
参考基准
allantools 2024.6 ci.edf_greenhall,这是该已发表算法的第三方实现,由scripts/gen_greenhall_edf_ref.py在xval/greenhall-edf/PREREGISTRATION.md预先登记的网格上运行(单独提交,0db0bb7a,早于任何比较):在其返回有限edf的全部4,876个点上,kshana的相对一致程度在6.0e-13以内(判据1e-9);在其46个NotImplementedError点上,kshana返回NaN;每个用例标签均出现;各封装与核心逐位相等;uncertainty::edf在274,280个值上逐位一致(重构之前已固定为SHA-256)。在32个点上(alpha -4,d 3,未修正,情形2.2),allantools在其表2查找中失败,因此这些点没有参考基准值,不计入。未运行Stable32。0.36修订(docs/revisions/STUDIO15-greenhall-edf-portable.md):在可移植数学库上,核心从一次舍入的双双精度求值取对数(allan::greenhall_ln),未改动的判据1在全部4,876个点上再次成立,最坏相对6.0e-13;uncertainty::edf的防护基线重设为0.36可移植转储(274,280个值中有3,746个发生移动,相对至多1.6e-12,相对于主机数学库基线)
测试
tests/greenhall_edf_allantools.rs (bars_1_to_3_against_allantools; bar_4_wrappers_equal_the_core); tests/greenhall_edf_no_moved_output.rs (uncertainty_edf_is_bit_identical_to_the_0_36_portable_baseline)…
由模型计算得出基于公开数据手册的振荡器守时(holdover)预设telecom_timing (PRESETS, fit_noise, with_flicker_floor, synthesize_holdover); models (ClockModel)
能力
四个预设:OCXO(Microchip OX-208)、铷钟(Microchip 8040C)、铯钟(Microchip 5071A高性能管)和CSAC(Microchip SA.45s),各自带有其数据手册的阿伦偏差上限、老化和温度界限;对白噪声、闪烁噪声与随机游走频率噪声做非负最小二乘拟合,并缩放以包络每个数据手册点,闪烁下限不低于最长 τ 的数值,另有线性老化和正弦温度项,合成为GNSS丢失之后带随机种子的守时(holdover)
参考基准
输入数值来自四份指名的Microchip数据手册(文档编号和网址见各预设及docs/TELECOM-TIMING.md);闭式的老化斜坡和拟合的包络性质作为内部检查。这些数值如何变成噪声模型(拟合、下限规则、30天的月、线性温度读法)是一种建模选择;没有任何预设是对某台设备的测量。0.30第2轮,针对实测设备的单侧判据(预先登记a01c491c),一项发现(仍为MODELLED):ESA MGEX最终钟差中的IGS站THU2 Symmetricom 8040C,其阿伦偏差为铷钟预设的0.35至0.87,但守时(holdover)误差为其1.07至1.60;5071A记录在1000 s以内处于铯钟预设之外(测量白相位噪声,在1 s处为30倍),在守时(holdover)中也是如此(1.15至8.74);2011年最差的量产SA.45s在1 s处为CSAC预设的1.26倍;OX-208没有实测记录(受阻)
测试
telecom_timing::tests(every_preset_carries_a_named_datasheet_and_figures;the_noise_fit_envelopes_every_datasheet_point;pure_aging_matches_its_closed_form:离散老化斜坡与 (1/2)·D·t² 相差在0.1 % 以内,跨越…
已独立核对基于实测时钟记录的守时(holdover)预测,并在保留数据上检验slot_timing (ClockNoise::from_phase_record, fit_weighted, slot_budget, breach_after_sync_s)
能力
slot-timing类型的实测记录路径:相位记录的重叠阿伦偏差,在白相位与IEEE Std 1139调频基下,以edf加权非负最小二乘拟合(slot_timing::fit_weighted),再反解出钟差达到阈值的滑行时间(slot_timing::slot_budget)。红噪声下限由记录实测得出,而非假定
参考基准
一台真实的自由运行原子钟:以氢钟为参照测得的5071A铯标准的556,990个一秒相位采样(A. Wallin,随allantools分发;固定的提交和SHA-256见scripts/fetch_cs5071a.sh),与tests/cs5071a_reference.rs用于估计量的是同一份记录。保留的三分之二是预测从未见过的外部测量。受数据门控:realdata-clock工作流获取该记录,并在KSHANA_REQUIRE_REALDATA=1下运行该测试。验证了在以白调频为主的原子标准上、滑行至约50,000 s的拟合再反解路径;不包括数据手册或等级来源,也不包括确定性项。并非晶体振荡器:在一份实测OCXO记录上(tests/slot_timing_ocxo_holdout.rs,allantools,对氢钟5.5 h),保留数据上的预测偏保守,为实测越限的0.59至0.70,且大多在判据之外,因为该振荡器的噪声下限在记录期间减半;在样本内为0.98至1.17。晶体情形仍为MODELLED。也并非轨道上的原子钟:在10颗GPS Block IIF卫星钟上(tests/slot_timing_igs_holdout.rs,IGS最终30 s钟差,14天,协议在下载之前写定),8颗落在判据之内,2颗(G25、G30)偏乐观,最多约2倍,因此按该协议,轨道情形仍为MODELLED
测试
tests/slot_timing_cs5071a_holdout.rs(holdover_inversion_predicts_the_held_out_caesium_record:用记录的前三分之一拟合,预测在0.5、0.75、1、1.5、2和2.5 ns处的一个sigma越限,并在……上测量…
由模型计算得出自由运行的时钟离开某个按时间编排的时隙保护间隔所需的秒数,以及使其保持在间隔之内的定位更新节奏slot_timing (predicted_error_s, breach_after_sync_s, terms_at, slot_budget, ClockNoise::from_datasheet, SlotTimingScenario); clock_state (ClockClass::Tcxo, Ocxo, Rafs, source)
能力
slot-timing类型:预测误差E(t) = k·√(σ₀² + σ_x²(t)) + (|y₀| + |c_T·ΔT|)·t + ½|D|t²,反解得出越限、剩余时间、扣除定位更新延迟后的重新同步间隔以及每天的定位更新次数,每一项逐一列出并指明起主导作用的一项;时钟来自六个ClockClass默认值(新增TCXO、OCXO和RAFS,各引用一份数据手册)、电信授时预设、内联数据手册或实测记录;越限超出来源最长平均时间的,标记为外推
参考基准
每一项单独的闭式解,以及独立的holdover::holdover_seconds求根;数据手册数值即所指名的文档(docs/SLOT-TIMING.md)。等级默认值建立在假定的红噪声下限之上,数据手册来源是上限值的包络,因此两者都不是对任何设备的测量
测试
tests/slot_timing_igs_holdout.rs(10颗GPS Block IIF卫星钟,14天的IGS最终钟差:8颗在1.5的判据之内,G25与G30偏乐观,最多约2倍,已固定);tests/slot_timing_ocxo_holdout.rs(一条实测的…
由模型计算得出轨道上接收机在GNSS欺骗干扰(spoofing)下的授时保护级orbital_timing (orbital_timing, visibility_half_angle_rad, max_pass_s, crosslink_neighbour_is_outside_footprint)
能力
orbital_timing::orbital_timing,可作为slot-timing类型的欺骗干扰(spoofing)部分调用:圆轨道速度和周期,地面欺骗源每次过境能触及卫星的最长时间,钟辅助的监测下限和CUSUM检测延迟,条件保护级(下限加检测延迟内的滑行),在规定的最大斜坡速率下欺骗源在卫星离开其覆盖区或独立检查运行之前累积的牵引量,以及每次地面接触或星间链路检查是否独立于一个地面欺骗源
参考基准
归约到现有的授时保护级,以及圆轨道和球形地球可见性闭式解。以检测到为条件,一个地面欺骗源,规定的斜坡速率,在非旋转地球上的正上方过境;没有在遭受欺骗干扰的在轨接收机上做过独立核对
测试
orbital_timing::tests(reduces_to_the_terrestrial_tpl:当时钟没有闪烁、白相位或随机游走项时,恰好等于tpl::timing_protection_level_ns;leo_geometry_matches_its_closed_forms…
已独立核对L波段信号功率谱密度和谱分离系数的闭式解navsignal (Modulation::psd, spectral_separation_coeff_offset, q_from_ssc); spectrum (psd_nulls_hz, psd_peak_hz, main_lobe_null_to_null_hz, Jammer::ssc)
能力
GPS L1 C/A和L2C(BPSK(1))、GPS L5和Galileo E5a(BPSK(10))、正弦BOC(1,1) 以及Galileo E1 MBOC(6,1,1/11) 的单位面积功率谱密度(navsignal::Modulation::psd,另增MBOC变体),其数值定位的零点和极大值(spectrum::psd_nulls_hz、psd_peak_hz、main_lobe_null_to_null_hz),某个信号相对任意谱在任意偏移处的谱分离系数(navsignal::spectral_separation_coeff_offset),或相对单音、平坦噪声、线性调频或匹配噪声的谱分离系数(spectrum::Jammer::ssc),以及抗干扰系数Q = 1/(R_c kappa)
参考基准
已发表的教科书数值:BPSK(n) 主瓣零点到零点为2n x 1.023 MHz,抗干扰系数对窄带(CW)干扰源为Q = 1,对与C/A匹配的扩频干扰源为Q = 1.5(Kaplan与Hegarty,Understanding GPS/GNSS,第3版,第9.4节);BOC(m,n) 主瓣以正负m x 1.023 MHz为中心(Betz,Binary Offset Carrier Modulations for Radionavigation,NAVIGATION 48(4),2001);C/A与C/A、BOC(1,1) 与BOC(1,1)、C/A与BOC(1,1) 的谱分离系数分别为 -61.8、-64.8和 -67.8 dB/Hz(Betz 2001;Hein等,MBOC: The New Optimized Spreading Modulation Recommended for Galileo L1 OS and GPS L1C,Inside GNSS,2006年5/6月),此处由其帕塞瓦尔自相关闭式解复现。BOC(1,1) 的极大值不在1.023 MHz:主瓣自载波零点延伸到2.046 MHz,峰值在0.759 MHz,测试对两者都做了固定。MBOC混合取自ICD定义,仅检查了单位面积和线性
测试
spectrum::tests(bpsk_main_lobe_null_to_null_is_two_n_times_1_023_mhz:BPSK(1) 的2.046 MHz与BPSK(10) 的20.46 MHz,在闭式解上以数值方法定位;boc11_lobes_are_centred_at_plus_minus_1_023_mhz:载波零点…
由模型计算得出在脚本化干扰源时间线下,带有各频段J/S和有效C/N0的L波段频谱瀑布图spectrum (SpectrumScenario, SpectrumModel::bin_psd_w_per_hz, SpectrumModel::band_state, effective_cn0_multi_dbhz, system_temp_k, Jammer::power_fraction_in, Jammer::duty)
能力
spectrum类型:L波段功率谱密度的频率-时间网格(热噪声下限k T_sys,其中T_sys = T_ant + 290 K (F - 1),各信号取接口规范的最小接收功率,以及带开关时间的连续波、窄带、线性调频和匹配噪声干扰源),每个单元在其频率格和行上取平均(线性调频对完整和部分扫频精确取平均,干扰源按占空比取平均),每行的各频段有效C/N0 = [1/(C/N0) + sum (J/S) kappa]^-1,各频段J/S、带内J/S,以及带C/N0条的SVG瀑布图。报告含有与jamming类型在相同链路输入下的链路的交叉检查
参考基准
归约到现有jamming类型的抗干扰方程和链路预算(同一份代码,以相同输入调用),以及k T0 F噪声下限闭式解。其下的信号谱即上面那条已独立核对的行;干扰源功率、时间线和前端带宽是场景输入,谱是连续的(没有扩频码谱线),也没有自动增益控制、消隐或天线方向图作用于干扰源。仓库中没有实测的受干扰频谱可用来核对该合成结果。jamming类型的Q表(CW和窄带1,自0.36起宽带和扫频2:教科书数值,固定于navsignal闭式解)与本模型的CW值一致,但与本模型对与C/A匹配的噪声(1.5)以及对未作带内归一化的平坦零点到零点噪声(2.2)所推导的值不同;报告同时给出两者
测试
spectrum::tests(agrees_with_the_jamming_kind_chain:J/S等于jamming::j_over_s_db,有效C/N0等于jamming::effective_cn0_dbhz,其中Q = 1/(R_c kappa),吻合到1e-9 dB,以及jamming的32.105 dB锚点…
已独立核对SigMF记录的输入输出,以及复IQ的Welch谱估计sigmf (read, write, encode, decode, parse_meta, meta_to_json); spectrum (welch_psd, fft_in_place, synthesise_iq)
能力
sigmf:读写Signal Metadata Format记录(JSON .sigmf-meta,含核心的global、captures和annotations字段;原始 .sigmf-data为cf32_le、ci16_le或ci8,其整数解码器与realdata::iqif::load_iq共用),全部基于字符串和字节缓冲区。spectrum::welch_psd:汉宁窗、重叠、平均周期图,按密度缩放,基于crate内的基2变换(spectrum::fft_in_place)。这两项是已独立核对的声明。spectrum::synthesise_iq把模型绘制为IQ,spectrum类型的 [iq] 部分依次运行模型到IQ、到SigMF、再到Welch,并与模型比较;其 [recording] 部分估计真实记录(原生构建);合成以及这些与模型的比较不在已独立核对的声明范围之内
参考基准
scipy 1.18.1 scipy.signal.welch(BSD-3-Clause),使用相同的周期汉宁窗、重叠、密度缩放、不去趋势和双边均值平均:在27个用例上每个频点的相对一致程度都在1e-12以内(观测为6.0e-14),分段数取自scipy自己的频谱图。sigmf-python 1.13.0(LGPL-3.0,作为工具运行)写出五份第三方记录(cf32_le、ci16_le、ci8,两份带标注的采集,一份首个sample_start非零),该crate逐位一致地解码并得到相同的核心字段,也逐位一致地读回该crate的记录;SigMF v1.2.6元数据模式对该crate的元数据报告零个错误。容差在首次比较之前固定。不在声明范围之内:spectrum::synthesise_iq以及 [iq] 和 [recording] 与模型的比较(合成没有唯一正确的答案;周期线性调频会显示谱线、菲涅耳波纹和平滑模型所忽略的边缘拖尾,总功率在2 % 以内),整数到浮点的缩放约定(该crate除以32767和127,sigmf-python的自动缩放除以2^15和2^7,规范对此未作规定;比较使用原始码值),多通道记录,以及读取器拒绝的数据类型
测试
sigmf::tests (cf32_round_trip_is_exact_to_single_precision; ci16_round_trip_is_within_half_a_code; ci16_is_little_endian_i_then_q; integer_encoding_counts_saturation; metadata_uses_the_core_namespace…
已独立核对基于JPL Standish开普勒根数的太阳系行星位置ephem (standish_state, standish_elements, standish_nominal_error, ecliptic_to_icrf); ephem_provider (AnalyticSolarSystem); solar_system (SolarSystemScenario)
能力
水星、金星、地月质心、地球、火星、木星和土星的日心位置取自Standish表1(公元1800年至2050年),全部八大行星的日心位置取自表2a/2b(公元前3000年至公元3000年,含b、c、s、f平近点角项),逐步遵循JPL页面的算法,并按该页面的黄赤交角旋转到ICRF(国际天球参考系);地球由Montenbruck & Gill月球级数和质量比从质心中分离。组合为ephem_provider::AnalyticSolarSystem,使任一天体都可相对任一其他天体取得,并可作为solar-system类型运行
参考基准
JPL Horizons DE441几何日心矢量(黄道和ICRF),在预先登记提交80451866、8d38a28b和558cc807之后获取。判据:对每颗行星每个分量,RMS至多为《Explanatory Supplement》第3版表8.10.1近似误差的1.0倍(地球取EMB行);地球与EMB的分离直接对照DE441 399减3检验,在1950-2050年的每个历元至多0.3度和8.1 km(8.1 km的长度判据来自Kshana自身星历文档所述的月球级数精度,该文档引用Montenbruck和Gill,并未对照该书核对;实测的6.09 km与之接近)。选用RMS统计量时已知,先前一次27历元的比较在最大处达到名义值的1.87倍;单历元误差达到3.83倍(ICRF情形为3.87倍)。该《Supplement》并未把其数值定义为RMS。情形B对两侧都用测试中键入的IAU 1976黄赤交角旋转,因此旋转并非对照自身检查。AnalyticSolarSystem的默认表选择未被演练(测试强制使用表1)。来自表1的天王星和海王星是另一条MODELLED行
测试
tests/solar_system_standish_preregistered.rs::standish_rms_errors_are_within_explanatory_supplement_table_8_10_1(取自表1的1800-2050年质心,以及取自表2的公元前3000年至公元3000年,8908与21857个历元,最坏RMS…
已独立核对在UTC历元上取自DE440星历核文件的太阳、月球、水星和金星位置(KernelEphemeris)ephem_provider (KernelEphemeris::relative_position_utc, utc_to_tdb_jd2); naif_kernel; timescales
能力
太阳、水星、金星、地球和月球彼此之间的几何位置(J2000/ICRF轴,米),由JPL DE440核文件通过ephem_provider::KernelEphemeris在UTC历元上给出:天体名称映射到NAIF编码,UTC经闰秒表,TT经两项TDB-TT级数转换到TDB,核文件由引擎自己的读取器读取。核文件中只以系统质心形式保存的天体(火星到海王星,de440s中的冥王星)会被拒绝,绝不替代。不依赖核文件的Standish行仍是浏览器和回退路径
参考基准
Skyfield 1.54(MIT),使用自己的闰秒表、自己的TDB-TT以及自己对同一份NAIF de440s.bsp的读取器(jplephem),作为独立程序在UTC历元上运行。在测试数据出现之前预先登记(0bfafe6d),网格由该提交的哈希播种,判据为每个分量5e-5 s乘以相对速度(引擎所述两项TDB-TT的精度),加上质心距离的1e-13,再加1e-5 m。结果:全部600个都在判据之内,最坏为判据的0.66(快速天体对上为2.96 m,即TDB-TT级数自身的误差)。变异检验:把TT当作TDB使用,在判据的33倍处失败。两侧都读取DE440:这验证的是提供器及其时间链,而不是DE440。不在声明范围之内:金星以外的行星作为天体(de440s只含其质心)、行星卫星,以及低于两项TDB-TT级数的精度(最快的天体对为几米)
测试
tests/kernel_ephemeris_skyfield_oracle.rs::kernel_ephemeris_matches_skyfield_at_utc_epochs(取自预先登记哈希的1973-2026年200个UTC历元上的600个位置;最坏为判据的0.66,2.96 m)…
已独立核对太阳系天体之间的光行时radiometric (light_time_solution, two_way_range, shapiro_delay); solar_system (link, link_on); ephem_provider (AnalyticSolarSystem)
能力
从任一天体到任一其他天体、在某历元接收的牛顿单程光行时,由射电测量不动点光行时求解器(radiometric::light_time_solution,发射器取其推迟位置)经solar_system::link_on在任一EphemerisProvider上求解;太阳系类型在日心坐标系中的解析太阳系上运行它(solar_system::link)。来自radiometric::two_way_range的双程距离和来自radiometric::shapiro_delay的太阳夏皮罗延迟分别报告,未与外部比较。solar-system类型对每个天体相对一个观测者、对任何额外链路都会给出,body-pnt类型则对天体到地球的下行链路给出
参考基准
JPL Horizons DE441单程下行牛顿光行时LT(VEC_CORR=LT,观测者为地心),已预先登记(480037d3,修订54d5c86f只在首次获取未通过其10 m插值精度前提之后改动插值节点间距,早于任何光行时的比较),判据为每个光行时1e-6 s,求解器输入DE441质心位置,使推迟发射器的迭代可见(一阶迭代求解器最多偏差0.1 s)。在解析的Standish位置上,光行时只与这些位置一样好(见行星位置一行);随附的链路把太阳视为惯性中心,这仍在该位置误差之内,但没有另行独立核对。two_way_range和shapiro_delay未与外部比较
测试
tests/solar_system_light_time_solver_preregistered.rs::light_time_solver_on_de441_positions_matches_horizons_lt_within_1e_6_s(水星、金星、火星、木星和土星的质心,太阳与月球到地球…
由模型计算得出取自Standish表1的天王星和海王星、冥王星,以及行星速度ephem (standish_state, StandishElements::state_at_mean_anomaly, Planet::Pluto); solar_system (position_label)
能力
天王星和海王星的位置取自Standish表1(在公元1800年至2050年内为默认),冥王星取自当前JPL页面不再列出的1992年表1行,以及每颗行星的日心速度:二体导数采用根数所蕴含的平均运动,再加上近日点、倾角和升交点变化率引起的椭圆转动
参考基准
对照JPL Horizons DE441(同样的已提交测试数据)测得,但没有经过独立核对:对照DE441日心位置,天王星和海王星超出表1所述数值最多2.0倍和5.2倍(海王星对照质心位置则达到该数值,这表明拟合并非日心的),该页面未给出冥王星的误差,速度也没有已发表的界限。表2a/2b对天王星和海王星达到其自身的数值,并已包含在已独立核对的行中
测试
tests/solar_system_horizons_reference.rs(standish_table1_uranus_and_neptune_exceed_the_nominal_error:固定为标称经度误差的2.04倍与5.16倍,低于六倍…
由模型计算得出月球和七颗主要卫星(火卫一、火卫二、伽利略卫星、土卫六)的位置ephem (satellite_state, Satellite, SatelliteMethod, moon_icrf, moon_icrf_velocity); ephem_provider (AnalyticSolarSystem)
能力
地心月球取自Montenbruck & Gill级数(其每世纪 -1.3972度的项已使其归算到J2000春分点),火卫一、火卫二、木卫一、木卫二、木卫三和木卫四的行星中心位置与速度取自JPL太阳系动力学平均根数,在各卫星的拉普拉斯平面中,平经度变化率取自IAU同步自转速率(该表给出的周期位数太少,无法保持相位),土卫六取自IAU自转模型(卫星位于沿体固x轴负方向、平均距离处),因为土卫六所印的拉普拉斯平面一行即使在其自身历元也不能复现Horizons
参考基准
对照JPL Horizons卫星星历(DE441、MAR099、JUP365、SAT441)测得,附有查询和检索日期,提交于tests/fixtures/solar_system/horizons_satellites_icrf.csv;平均根数和自转模型定位都没有已发表的精度,因此所固定的判据只用于捕捉回归,并不构成独立核对。平均根数略去了共振和太阳摄动,火卫一的长期加速度未建模
测试
tests/solar_system_horizons_reference.rs(moons_track_horizons_to_the_measured_angles:从行星看去,在2000至2040年间的最坏角度误差,火卫一5.65度,火卫二0.38,木卫一0.40,木卫二1.63,木卫三0.22…
由模型计算得出每个太阳系天体的物理常数,以及整个系统的报告body (Body::by_name, Body::facts, Body::prime_meridian, SOLAR_SYSTEM, BodyFacts); solar_system (SolarSystemScenario, position_label)
能力
Body新增水星、金星、木星、土星、天王星、海王星、冥王星、火卫一、火卫二、木卫一、木卫二、木卫三、木卫四和土卫六(引力参数、参考半径、已发表时的J2及其所参照的半径、IAU极点和本初子午线)、一个名称查找,以及一条BodyFacts记录(NAIF编码、类别、母天体、赤道半径和平均半径);solar-system类型对全部十八个天体报告这些,连同位置、光行时和一圈的轨道轨迹,每个天体标注为VALIDATED或MODELLED
参考基准
抄录已发表的常数,每一项在其定义处注明出处:引力参数取自JPL Horizons天体记录和JPL卫星物理参数表,半径取自JPL物理参数表(IAU WGCCRE 2015),极点和本初子午线取自IAU制图坐标与自转要素工作组(均值,不含T变化率和周期项),J2取自Smith等2012、Iess等2018和2019,以及Jacobson 2009和2014。检查了内部自洽(木星自转周期对照系统III速率,每个J2对照其参考半径),而没有对照外部参考基准。0.30第2轮:GM值采自gm_de440,火卫一和火卫二的根数采自pck00011,因此新增的十四个天体的84个常数中,现在有0个与NAIF不同(原为12个),这是抄录检查,不计入。0.36:新增十四个太阳系天体的IAU体固定姿态和GM已拆出,归入各自的VALIDATED行(“新增十四个太阳系天体的IAU天体姿态和引力参数”);本行保留其余部分。J2和平均半径是引用的,没有经过独立核对;报告中的位置依赖各自的行;而报告中地球、月球和火星的prime_meridian_deg仍采用约定常数(与IAU_<BODY>相差最多6.6e-3、2.8e-2和9.6e-4 rad)。0.30修订:火卫一GM 7.087e5 -> 7.087546066894452e5,火卫二9.62e4 -> 9.615569648120313e4,天王星5.7939506103e15 -> 5.793951256527211e15,海王星6.83509997e15 -> 6.835103145462294e15,冥王星8.69326e11 -> 8.696138177608748e11 m³/s²;火卫一赤道半径13.1 -> 13.0 km;prime_meridian_deg现包含二次项和周期项
测试
body::tests (every_catalogue_body_resolves_by_name_and_carries_its_record; a_zonal_field_is_referenced_to_its_sources_radius; retrograde_rotators_have_negative_rates_and_periods_match_the_iau_rate); solar_system::tests…
已独立核对新增十四个太阳系天体的IAU天体姿态和引力参数body (Body::iau_rotation_et, Body::iau_angles_et, Body)
能力
Body::iau_rotation_et,即从J2000到水星、金星、木星、土星、天王星、海王星、冥王星、火卫一、火卫二、木卫一、木卫二、木卫三、木卫四和土卫六的IAU体固定坐标系的旋转,含pck00011中该天体所带的每一项世纪变化率、二次项和周期项,以及同样这十四个天体的引力参数字段mu。太阳、地球、月球和火星采用约定常数,归其他行负责,不在本行范围之内
参考基准
NAIF SPICE Toolkit(CSPICE N0067,经spiceypy)在pck00011.tpc上的pxform('J2000', 'IAU_<BODY>'),这是同一IAU自转模型的独立实现,GM则取NAIF gm_de440.tpc,测试数据由不调用任何Kshana代码的独立程序生成(tests/fixtures/body_orientation_spice_oracle/,NOTICE.md)。预先登记154bc54(含c2434204最初的1e-9 rad判据),早于全新历元测试数据出现;全新的测试数据由独立重新生成,且逐字节一致。GM是对DE440的抄录,已对照已发布的文件检查,并非对GM的独立测定。结果:docs/design/evidence/mr08-body-orientation/RESULTS.md
测试
tests/body_orientation_spice_oracle.rs::orientation_matches_spice_pxform_for_the_fourteen_added_bodies(1955至2044年的41个历元,574个矩阵吻合到1e-9 rad以内,最坏为火卫一1.43e-10 rad)…
由模型计算得出以本地星座和来自地球的深空链路,对任一太阳系天体周围进行定位body_pnt (BodyPntScenario, formal_sigma, fix_error); orbit (dop); batch_ls (gauss_newton); mars_pnt (chord_clears_sphere); mars_frame (bodyfixed_to_inertial)
能力
body-pnt类型:按名称选定的天体周围的轨道器或表面着陆器,利用来自该天体周围沃克导航星座的单程伪距(二体轨道,含该天体J2的长期漂移,用户钟差未知)以及可选的来自地球的无钟差双程测距进行导航,地球的方向和距离在每个历元取自解析星历;被该天体球体遮挡的视线和一个表面高度截止角;每个历元的仅星座GDOP和PDOP(orbit::dop),含地球行与不含地球行的形式位置不确定度,以及两种情形各自带随机种子的高斯-牛顿定位解(batch_ls::gauss_newton),连同天体到地球的光行时和往返时间
参考基准
闭式解与自洽性:中继周期的开普勒第三定律,整个运行期间保持的轨道半径和表面半径,增加一个测量绝不会增大形式不确定度,以及带随机种子的误差与协方差相符。中继轨道忽略第三体(木星对木卫二周围中继卫星的引力未建模),噪声是所述水平的高斯噪声,测量模型是瞬时的,因此没有对照任何任务的导航数据做独立核对
测试
body_pnt::tests (relay_period_is_keplers_third_law_for_the_body; an_orbiter_keeps_its_radius_and_a_lander_sits_on_the_surface; the_earth_range_never_worsens_the_formal_uncertainty…
已独立核对沃克星座几何,以及GPS、Galileo和GLONASS已发表的标称轨位constellation (WalkerSpec::elements, gps_slots, galileo_walker, glonass_slots, GPS_BASELINE_SLOTS, GPS_EXPANDABLE_SLOTS)
能力
constellation-design类型的生成器:T/P/F约定下的沃克delta和star构型(节点间距360/P或180/P,面内间距360·P/T,轨道面间相位偏移360·F/T),以及由其已发表的标称根数建立的GPS基线和可扩展的24轨位、Galileo和GLONASS预设,按其文档所述的格林尼治时角放置在地固坐标系中
参考基准
已发表的机构文件:Galileo Open Service Service Definition Document第1.1版(European GNSS Service Centre)表1和表23,2016-11-21 00:00 UTC的参考星座;GLONASS Interface Control Document第5.1版(2008)第5.2节,节点经度和纬度幅角的轨位公式;GPS Standard Positioning Service Performance Standard第5版(2020年4月)表3.2-1、3.2-2和3.2-3,包括星下点轨迹赤道穿越一列,它是对预设必须复现的地固几何的独立陈述。验证生成器和抄录;北斗中圆轨道的相位和倾斜地球同步轨道的节点没有公布,不在范围之内
测试
constellation::tests::walker_24_3_1_reproduces_galileo_os_sdd_table_23(全部24行RAAN与平近点角吻合到1e-9度);constellation::tests::glonass_icd_slot_formula_is_a_walker_24_3_1(ICD槽位公式与一个…
已独立核对GPS基线星座的全球精度因子constellation (coverage, dop_at, NormalAccum)
能力
constellation-design覆盖引擎在GPS基线24轨位预设上,按GPS Standard Positioning Service Performance Standard(SPS PS)附录B的条件(一个恒星日,287个五分钟步长,4 x 4度的全球网格按纬度余弦加权,全部可见,5度截止角,一个接收机钟):全球HDOP分布、PDOP中位数、PDOP不大于6的可用性,分别给出全球和最差站点的结果
参考基准
GPS SPS PS第5版(2020年4月)附录B第B.3.2.2和B.3.2.3节,满星座基线24轨位星座已发表的全球平均HDOP分布(中位数0.94,90 % 为1.16,95 % 为1.25,98 % 为1.37,均值0.96),表3.8-1(PDOP可用性)和表B.3-1(降级星座的集合PDOP,仅用作上界),外加一个对单个历元手工推导的闭式解。满星座的VDOP和PDOP分布只以图的形式发表,因此PDOP采用单侧固定;最差的时空点(此处HDOP 2.40和VDOP 5.22,已发表为2.49和5.43)取决于网格,只报告,不固定
测试
constellation::tests::gps_baseline_global_dop_matches_the_sps_performance_standard(HDOP中位数0.940,90 % 为1.165,95 % 为1.255,98 % 为1.370,均值0.965,对照0.94、1.16、1.25、1.37与0.96,每个固定值的判据为0.03…
由模型计算得出围绕任一中心天体、面向大规模任意多星座设计的覆盖和精度因子地图constellation (coverage, ConstellationDesignScenario, beidou_slots, body_by_name)
能力
constellation-design类型在两个固定算例之外:显式设计和多壳层设计,每次运行含多个星座且每个星座一个接收机钟,由天体常数给出的地球、月球和火星,北斗预设(已建模中圆轨道相位和118度E的倾斜地球同步轨道穿越),每个单元的可见卫星数、GDOP、PDOP、HDOP、VDOP和可用性,降采样的星下点轨迹,以及一个星下点纬度可见性预筛选,可在不到一秒内对10度网格运行5 000颗卫星的设计
参考基准
内部自洽:暴力仰角扫描、手算和orbit::dop的归约,以及闭式的沃克和地球同步几何。二体轨道,可选长期J2,球形天体且局部垂线沿半径方向,仅几何可见性(不含信号功率、卫星健康状态、地形或第三体摄动),而且各系统之间的相对相位取自不同的参考历元,因此它不是任何日期的快照。0.30审查,一项发现(仍为MODELLED):这些预设在100 % 时达到已发表的单侧DOP可用性下限(北斗OS Performance Standard 3.0,Galileo OS SDD),但在一份临时副本中把引擎的PDOP加倍后它们仍然达到(最差点99.36 %),因此这些下限连本行所计算的量中100 % 的误差都无法检出;运行之后再收紧它们,就成了事后容差。晋升需要在相同几何上对DOP值作双侧比较,并事先设定容差。0.30第2轮(tests/coverage_dop_full_oracle.rs,预先登记add671d6),一项发现(仍为MODELLED):Orekit 12.2的位置、仰角、方位角和星下点轨迹,加上gnss_lib_py 1.0.4的GDOP/PDOP/HDOP/VDOP(共用一个钟)以及一个numpy求逆(每个星座一个钟),在Galileo、GPS、北斗、Galileo+GPS(各一个钟)以及一个1584颗卫星的地球设计上,每一项判据都一致(DOP相对误差在2e-14以内,定位解、可用性和可见数完全一致)。在月球和火星设计上,根数、位置、可见性和轨迹一致,但在最大PDOP为1434或更大的单元中,DOP超出事先设定的1e-9相对判据(最多8e-6),并且有4个单元在数值奇异的几何上相差一个定位历元(引擎主元1e-10对numpy秩),因此本行没有经过独立核对。0.30修订:TDOP/GDOP参考钟现为可见的编号最小的星座(constellation-multi-gnss-coverage全球GDOP最大值2.2236 -> 2.1205,均值1.122 -> 1.131),各星座的可见数按整数求和
测试
constellation::tests(prefilter_matches_brute_force_exactly:每个映射和计数器都等于用直接仰角测试的扫描;five_thousand_satellites_on_a_coarse_grid:5,000颗卫星,打印运行时间并…
由模型计算得出在同一条共享时间线上跨场景类型串联的任务campaign (run_campaign_detailed, run_chain, presets, extract, to_svg)
能力
campaign类型的各阶段:每个阶段通过run_toml运行一个或多个现有类型的场景,按各类型预设或显式结果路径把其输出读入具名通道(时钟钟差与保护间隔、平均有效载噪密度比与跟踪下限、垂直保护级与告警限值、位置误差、跟踪的卫星数、告警标志),在阶段起点放置并保持到共同网格上,带有阶段边界和事件;状态通过carry(通道从上一阶段的终值继续)、handoff(上一阶段的某个数写入下一个场景)和end_at(阶段在某次运行算出的时刻结束,例如欺骗干扰监测的检测时间)传递;以及一个测评活动哈希,外加对每个成员结果的摘要
参考基准
与相同类型的独立运行比对的组合恒等式:单阶段的测评活动逐位复现独立运行的输出,携带的偏移等于上一次运行自己的最后一个采样,由end_at结束的阶段,其长度恰好等于该次运行的检测时间。跨阶段边界的加性携带和零阶保持是建模选择,各阶段的质量取决于运行它的类型;没有任何串联任务对照过实测任务
测试
tests/campaign_composition_reference.rs (a_one_phase_clock_campaign_reproduces_the_standalone_run_bit_for_bit, a_one_phase_integrity_campaign_reproduces_the_standalone_run_bit_for_bit…
由模型计算得出针对任一场景类型的参数扫描和带随机种子的蒙特卡罗集合campaign (run_sweep, run_monte_carlo, ensemble); sweep (GenericAxis, coords_of, set_dotted_value); inertial (metric_stat)
能力
campaign类型的sweep(一至三个任一类型的点分键,取通用扫描的轴值,可在每个节点上选择性地加一个集合)和monte_carlo部分:第k次实现以base_seed + k运行;每个指标报告均值、标准差、最近秩法的第5/50/95百分位数,以及对均值的固定随机种子百分位自助法95% 置信区间(inertial::metric_stat);指标单位取自被扫描类型自己的units块
参考基准
白频率噪声下相位随机游走的闭式解,方差q_wf tau(NIST Technical Note 1337),用于统计机制;以及与独立运行逐字节相等,用于随机种子。它检查的是引擎自身时钟模型上的集合算术,而不是外部数据集
测试
tests/campaign_composition_reference.rs (a_fixed_seed_ensemble_is_byte_stable_and_each_realisation_is_the_standalone_run; the_ensemble_mean_and_spread_match_the_white_fm_closed_form — 200 seeds of a…
由模型计算得出共享条件下的多个场景,附合并摘要campaign (run_compose)
能力
campaign类型的compose部分:具名共享值(例如某个干扰源的功率和位置)写入各成员所绑定的键,运行每个成员,每个指标给出各成员中的最小值、最大值和平均值,并指明对应的成员;各成员的指标单位必须一致
参考基准
与独立运行比对的组合恒等式。共享条件的算术只是记账;物理属于各成员类型,各有自己的行
测试
tests/campaign_composition_reference.rs(a_one_node_sweep_and_a_one_member_composition_read_the_standalone_number:单成员组合读取独立数值与结果摘要)
由模型计算得出在测评活动参数上对一个指标做有界优化campaign::optimize (run_optimize, nelder_mead)
能力
campaign类型的optimize部分(CAP-32):一至三个点分场景键,在lin或log尺度上限定于 [lo, hi],一个按结果路径读取的指标,目标为minimize、maximize或target;方法为grid(扫描的轴值)或在归一化坐标下的确定性Nelder-Mead单纯形,带箱形投影和标准系数;缺失或非有限的指标记为最差并保留在trace中;runs > 1时,指标为各共同随机种子上的均值;每次评估都是对所指名类型的一次真实运行,列于trace并计入可复现性摘要
参考基准
仅限内部:链路方程的精确 -20 log10(range) 闭式解、对同一类型的独立暴力网格,以及Rosenbrock函数。第1轮的1-D判据NOT MET(预先登记的区间排除了3 dB的解;优化器停在边界上),已记录于docs/design/evidence/cap32-optimize/RESULTS.md,未重新评分。最优值只在该区间和起点的局部范围内成立;不作全局最优的声明
测试
tests/campaign_optimize_reference.rs(预先登记fbe6c8b3,并在第1轮协议未达之后为441f31bc:p2_prime_interior_target_range_matches_the_closed_form:1-D目标求解吻合到6.1e-15,r* = r0 10^((m(r0)…
已独立核对任意测距信号的带限闭式解:带内功率和早迟码跟踪抖动对照已发表的数值,并交叉检查Gabor带宽和偏移谱分离navsignal (sine_integral, bpsk_power_in_band_closed_form, bpsk_gabor_bandwidth_closed_form_hz, dll_jitter_bandlimited_s, dll_jitter_small_spacing_limit_s, bpsk_offset_ssc_closed_form, altboc_15_10_psd, parse_modulation)
能力
navsignal:正弦积分(sine_integral),BPSK-R双边频带内功率占比的闭式解(bpsk_power_in_band_closed_form),带限BPSK Gabor带宽的闭式解(bpsk_gabor_bandwidth_closed_form_hz),依Betz与Kolodziejski 2009的、适用于任意单位面积谱的带限相干与非相干早迟延迟锁定环抖动(dll_jitter_bandlimited_s)及其间距趋零的Gabor界(dll_jitter_small_spacing_limit_s),偏移BPSK谱分离系数的闭式解(bpsk_offset_ssc_closed_form),Galileo E5 AltBOC(15,10) 谱(altboc_15_10_psd)和一个调制标签解析器(parse_modulation);由leo-signal类型用于每一种信号设计
参考基准
由外部固定:90.3 % 的主瓣功率、所述工作点的相干早迟抖动、正弦积分表值,以及零偏移处BPSK自谱分离系数2/(3 R_c)。仅为内部交叉检查,不是外部验证:带限BPSK Gabor带宽闭式解及其渐近线,以及非零偏移处的偏移BPSK谱分离系数,两者均在此推导并与求积核对。已发表的闭式解:BPSK-R的sinc平方谱及其90 % 的主瓣功率(Kaplan & Hegarty,Understanding GPS/GNSS,第3版);相干早迟码跟踪抖动sigma^2 = B_L d / (2 C/N0) chips^2(Kaplan & Hegarty,第8节),以及带限推广及其Gabor带宽极限(Betz & Kolodziejski,Generalized Theory of Code Tracking with an Early-Late Discriminator, Part I,IEEE Transactions on Aerospace and Electronic Systems 45(4),2009);Abramowitz与Stegun的正弦积分表(表5.1);谱分离系数作为平方自相关函数的傅里叶变换(Betz 2001)。AltBOC谱只检查了单位面积和瓣的位置(Galileo Open Service Signal-in-Space Interface Control Document的表达式积分为8,并除以该值)。
测试
navsignal::band_limited_tests(sine_integral_matches_tables_and_its_limit:Si(1)、Si(pi)、Si(2 pi) 吻合到1e-12;bpsk_power_in_band_closed_form_matches_textbook_and_numeric:主瓣中功率的0.9028,对于…
已独立核对低地球轨道导航卫星的最大多普勒,用以确定捕获搜索的规模leo_signal (max_doppler_hz)
能力
leo_signal::max_doppler_hz:圆轨道在截止仰角处过顶时卫星的最大多普勒,v R_E cos(el) / (R_E + h) 乘以f / c,取自每个预设自己的载波和轨道高度;leo-signal类型再加上振荡器项和用户项,并将其转换为多普勒格
参考基准
已发表的数值:Xona Pulsar X1最大多普勒32至34 kHz(Leclère、Marathe和Reid,ION GNSS+ 2025,https://arxiv.org/abs/2509.19551);Iridium多普勒最高 +/-36 kHz(Resilient Navigation and Timing Foundation,Recent PNT Improvements and Test Results Based on Low Earth Orbit Satellites)。地球自转未计入,这会使该数值最多变动约2.3 kHz;不计入它,两个已发表的数值也都达到。
测试
leo_signal::tests::max_doppler_matches_published_xona_and_iridium_figures — Xona Pulsar X1 (1593.3225 MHz, 1080 km) 33.2 kHz inside the published 32 to 34 kHz; Iridium (1621 MHz, 780 km) within 0.5 kHz of the published…
由模型计算得出低地球轨道定位、导航与授时信号设计:码跟踪、捕获、GNSS兼容性,以及适用于任何系统的频段权衡leo_signal (LeoSignalScenario, SignalDesign, Component, Shape, code_jitter_m, gabor_bandwidth_hz, detection_probability, threshold_for_pfa, mean_acquisition_time_s, ssc_leo_into_gnss, ssc_gnss_into_leo, jammer_tolerance, gnss_victim, preset, public_signal)
能力
leo-signal类型:参数化的信号设计(频段、发射带宽、ITU划分;含BPSK(n)、BOC(m,n)、MBOC或平坦谱的捕获、数据和导频分量,功率份额,FDMA子载波,码长和数据速率),来自编译进来的公开预设文件(Xona Pulsar、Iridium STL、Starlink机会信号、CentiSpace、一个通用C波段设计以及通用UHF/L/S/C/宽C设计,每个都带有其来源网址,未公开的数值标注为REPRESENTATIVE)或内联编写;每个信号给出带限功率谱密度、带内功率占比、Gabor带宽、码抖动对C/N0和间距的关系以及测距精度、捕获搜索空间、平方律检测概率以及平均串行和码并行捕获时间、进出GPS L1 C/A、Galileo E1、GPS L5、Galileo E5a、E5b和AltBOC的谱分离系数及C/N0劣化,以及取自频谱类型SSC链的CW、宽带和匹配J/S容限;电离层延迟、自由空间损耗、等C/N0和等EIRP下的测距精度以及干扰容限的频段权衡;以及设计对照所描述测量的定性形状检查
参考基准
上面两行已独立核对的闭式解,平方律虚警恒等式P_d(snr = 0) = P_fa和Holmes的平均捕获时间,以及归约到频谱类型自己的SSC链(同一份Jammer::ssc代码)。设计本身是输入:标注为REPRESENTATIVE或WORKSHOP的预设不是已发表的规范,增强型Feher QPSK、码移键控和OFDM谱是近似的,形状检查比较的是形状,而不是校准过的电平。
测试
leo_signal::tests (every_public_preset_parses_and_cites_a_url; detector_reduces_to_pfa_and_grows_with_snr; detection_probability_with_several_looks_matches_the_noncentral_chi_square…
由模型计算得出带有设计信号和各频段干扰源的多频段频谱瀑布图(UHF、L、S、C)spectrum (Band::unit_psd, Band::tracked_power_dbw, BandDesign, BandCfg, PanelCfg, SpectrumScenario, Waveform, multi_band_svg); leo_signal (SignalDesign::to_spectrum_band)
能力
spectrum类型扩展到L波段之外:频段由预设信号设计给出(绘出每个分量,带限于发射带宽,C/N0和J/S以被跟踪分量为参照),或由自定义载波和调制给出;在同一时间线和色标上、针对任意频率范围的额外瀑布图面板;除CW、窄带、线性调频和匹配噪声外,还有宽带(阻塞式)干扰源;由未改动的谱分离系数链给出各频段J/S和有效C/N0
参考基准
归约到现有的频谱链和干扰类型的抗干扰方程(单分量频段给出与扩展之前相同的数值),以及已独立核对各行的信号谱。干扰源功率、时间线、前端带宽和设计信号都是输入,设计信号在其发射频段处截断(无带外辐射)。
测试
tests/leo_signal_reference.rs(多频段瀑布图以四个面板运行,UHF、L5频段、S和C干扰源各自只压制自己的频段,而纯频段运行不因扩展而改变)…
已独立核对LEO-PNT链路所用任一频段的降雨比衰减系数leo_link::itu (p838_coefficients, p838_k_alpha, rain_specific_attenuation_db_km)
能力
ITU-R(国际电信联盟无线电通信部门)P.838-3公式(1)至(5):k_H、alpha_H、k_V、alpha_V取自表1至4的曲线拟合,随路径和极化而变的 (k, alpha),以及比衰减k R^alpha;由leo-pass类型的降雨项使用
参考基准
ITU-R P.838-3(03/2005)表5,建议书自己列表给出的k_H、alpha_H、k_V、alpha_V,已提交于tests/fixtures/leo_link/p838_3_table5.csv,附PDF网址和检索日期。该表按其印出的位数舍入,因此判据即该舍入
测试
tests/leo_link_reference.rs(p838_coefficients_reproduce_table5_to_its_printed_digits:表5的全部115行,1 GHz至1000 GHz,每个系数都在其最后一位印刷数字的0.6之内;实测最坏0.51)
已独立核对地空链路上的长期斜路径降雨衰减leo_link::itu (p618_rain_attenuation_db, RainPath)
能力
ITU-R P.618-14第2.2.1.1节步骤2至10(降雨高度以下的斜路径和水平路径,水平缩减和垂直调整因子,A0.01及其换算到平均年的0.001 % 至5 %),降雨高度(P.839)和R0.01(P.837)作为输入,因为引擎不带这两种数字地图;由leo-pass类型按频段和历元应用
参考基准
ITU-R第3研究组的P.618-14验证算例文件CG-3M3J-13-ValEx-Rev8.3.0,按ITU-Rpy验证页面所列,每个站点的P.839-4降雨高度取自同一算例;已提交于tests/fixtures/leo_link/p618_14_rain_attenuation.csv,附网址和检索日期。验证的是给定h_R和R0.01时的流程,而不是地图
测试
tests/leo_link_reference.rs(p618_rain_attenuation_matches_the_itu_validation_examples:五个站点的56个用例,14.25与29 GHz,0.001 % 至1 %,吻合到1e-4 dB以内;实测5e-6 dB)
已独立核对地空链路上的对流层幅度闪烁leo_link::itu (p618_scintillation_db, wet_refractivity, ScintillationPath)
能力
ITU-R P.618-14第2.4.1节步骤3至9(由N_wet得出参考sigma,有效路径长度,天线平均因子,0.01 % 至50 % 时间的衰落深度),N_wet为输入,或由ITU-R P.453-14的表达式从温度、湿度和气压算出;低于4 GHz时,leo-pass类型把该值标记为外推
参考基准
ITU-R第3研究组针对P.618-14闪烁的验证算例(CG-3M3J-13-ValEx-Rev8.3.0),每个站点的P.453-14 N_wet取自同一算例;已提交于tests/fixtures/leo_link/p618_14_scintillation.csv,附网址和检索日期。由温度和湿度得出湿折射率的表达式不在本行范围之内
测试
tests/leo_link_reference.rs(p618_scintillation_matches_the_itu_validation_examples:七个站点的42个用例,14.25与20 GHz,吻合到1e-5 dB以内;实测5e-7 dB)
已独立核对室内LEO-PNT用户的建筑物穿透损耗leo_link::itu (p2109_building_entry_loss_db, BuildingClass); detection (normal_inv_cdf)
能力
ITU-R P.2109-2附件1公式(1)至(10)及表1:传统建筑和热效率建筑的损耗,在立面处路径仰角下,以概率P不被超过,80 MHz至100 GHz;由leo-pass类型按频段和历元应用于室内用户(UHF室内情形)
参考基准
ITU-R第3研究组的Clutter and BEL验证工作簿数值,如参考MATLAB实现的验证脚本(github.com/eeveetza/p2109)所抄录,已提交于tests/fixtures/leo_link/p2109_bel.csv,附网址和检索日期。该工作簿印出三位小数
测试
tests/leo_link_reference.rs(p2109_building_entry_loss_matches_the_itu_workbook:568个值,0度时28 GHz和45度时2 GHz,两种类别,P从1e-7到0.998,吻合到0.001 dB以内)
已独立核对各频段的一阶电离层延迟、无电离层组合和自由空间损耗leo_link::iono (group_delay_m, iono_free_coefficients, iono_free_noise_amplification); leo_link (fspl_db); linkbudget (free_space_loss_db)
能力
群延迟40.3 STEC/f^2(每个频段);任一频段对的无电离层系数f1^2/(f1^2 - f2^2) 和 -f2^2/(f1^2 - f2^2) 以及噪声放大sqrt(a1^2 s1^2 + a2^2 s2^2);linkbudget::free_space_loss_db的自由空间损耗20 log10(4 pi R f/c),取其千米-兆赫形式
参考基准
IS-GPS-200第20.3.3.3.3.2节,其中给出由一阶1/f^2缩放得出的L1/L2群延迟比gamma = (77/60)^2,以及Friis传输公式(Proc. IRE,1946)。验证的是缩放规律,而不是斜向TEC
测试
tests/leo_link_reference.rs (first_order_iono_reproduces_the_is_gps_200_group_delay_ratio: gamma = (77/60)^2 to 1e-12, L1/L2 and L1/L5 amplification 2.978 and 2.588…
已独立核对静止用户在LEO或MEO轨道上所见的最大多普勒leo_link::geometry (max_static_user_range_rate, DopplerEnvelope, doppler_hz)
能力
leo_link::geometry::max_static_user_range_rate:在圆轨道上,对每一个轨道位置和卫星地平线上的每一个用户作搜索,计入地球自转,求最大距离变化率,另加轨道速度和最大地固卫星速度;由leo-pass类型按频段报告为多普勒包络,并用作其低能耗模型的冷启动搜索窗口
参考基准
Leclere、Marathe和Reid,Insights into Xona Pulsar LEO PNT: Constellation, Signals, and Receiver Design,ION GNSS+ 2025,arXiv 2509.19551,表1(6371 km球面上的静止接收机,地球自转是仅有的其他效应):L1上为37751.7 / 33628.5 / 31813.4 / 4018.4 Hz。涵盖圆形二体轨道
测试
tests/leo_link_reference.rs(doppler_envelope_reproduces_the_pulsar_paper_table_1:Pulsar IOV 520 km 97度,Pulsar FOC极轨1080 km 97度,Pulsar FOC倾斜1080 km 53度,以及GPS 20180 km 55度;轨道速度…
由模型计算得出LEO-PNT过境及其各频段链路预算,对照所见的MEO GNSS卫星leo_pass (LeoPassScenario); leo_link::geometry (design_pass, link_geometry, numerical_check, SatMotion, UserMotion); leo_link::antenna; leo_link::itu (p676_gaseous_attenuation_db); leo_link (system_noise_temperature_k, cn0_dbhz)
能力
leo-pass类型:卫星来自设计的过境、根数、经SGP4的TLE,或来自constellation-design的沃克星座;每个频段和历元给出观测角、距离、闭式距离变化率和距离加速度(每次运行都对照中心差分检查并报告)、自由空间损耗、带等通量、高斯或平坦方向图的EIRP、贴片、半球或全向用户天线、ITU-R P.676-10附件2气体衰减、P.618降雨和闪烁、P.2109建筑物穿透损耗、极化失配、系统噪声温度、C/N0、多普勒和多普勒变化率,以及由Klobuchar或垂直TEC斜向TEC按卫星以下的查普曼分数缩放得出的一阶延迟;过境峰值处带码噪声的无电离层频率对;Galileo或GPS载波,取自其接口文档的接收功率,经同一接收机处理
参考基准
闭式解与自洽性:距离变化率和距离加速度恒等式对照数值导数,等通量增益抵消距离增长,教科书的极化损耗极限,以及定性的LEO对GNSS观测(持续数分钟的钟形过境,峰值比平坦的44-51 dB-Hz GNSS载波高几dB)。EIRP和方向图是由已发表的接收功率换算成的EIRP或具代表性的选择,气体项是已被取代的P.676-10简化方法,也没有任何东西与实测的LEO C/N0比较
测试
leo_pass::tests (the_leo_pass_is_a_bell_above_flat_gnss; closed_form_doppler_agrees_with_the_numerical_derivative: under 0.01 Hz and 0.01 Hz/s; indoor_uhf_suffers_less_building_loss_than_c_band…
由模型计算得出带有所述来源的具名LEO-PNT系统预设,以及一个与系统无关的引擎leo_link::presets (SystemPreset, BandPreset, all, by_id, gnss_meo); leo_pass (resolve_bands)
能力
leo_link::presets:通用多频段(UHF、L、S、C)、通用C波段、Xona Pulsar X1/X5、Iridium STL、作为仅多普勒机会信号的Starlink、CentiSpace,以及一个可选的Celeste IOD预设,每个都把来源标注为PUBLIC(附网址)、REPRESENTATIVE或WORKSHOP,工作坊的那一个在可选的Celeste IOD预设文件中,仅当该文件存在时才编译进来;每个频段和轨道在场景中都可覆盖,场景也可以完全不指名任何预设
参考基准
抄录所引用的公开数值并做一致性检查:由已发表的最小接收功率设定的EIRP,在平坦方向图下预测已发表的最大值,误差在0.5 dB以内。这是对距离跨度的检查,不是对任何卫星天线的独立核对;具代表性的预设不对真实系统作任何声明
测试
leo_link::presets::tests (every_preset_is_sourced_and_self_consistent; only_the_celeste_preset_is_sourced_from_the_workshop); leo_link::presets::xona_pulsar::tests…
由模型计算得出低能耗定位:首次定位时间和每次定位能耗对占空比leo_link::energy (fix_budget, duty_curve, IotReceiver, IotSignal); leo_pass (iot_section)
能力
leo_link::energy和leo-pass类型的 [iot] 部分:受多普勒变化率限制的相干积分,到检测门限的平方律非相干累加,在轨道静止用户包络上的多普勒格搜索(冷启动)或辅助窗口(热启动),并行或串行码搜索,冷启动时的导航电文时间,各定位间隔下每次定位的能耗和电池寿命,针对每个LEO频段和GNSS信号
参考基准
对所述设计模型的内部自洽检查:每个功率、门限和搜索选择都是输入,该模型忽略比特边沿模糊、漏检和重新捕获。没有与实测接收机比较
测试
leo_link::energy::tests (stronger_signals_and_smaller_doppler_windows_fix_faster; the_doppler_rate_caps_the_coherent_time; battery_life_grows_with_the_fix_interval_toward_the_sleep_floor); leo_pass::tests…
已独立核对任意轨道高度的全球平均空间信号测距误差权重leo_navmsg::sisre (sisre_weights, StatsAcc)
能力
leo_navmsg::sisre::sisre_weights:径向权重w_R和横向权重的平方w_AC^2,分别为视线天底角的cos^2和二分之一sin^2在截止仰角之上可见地球球冠上均匀分布的用户上的平均值,适用于任意轨道半径,由辛普森积分得出;用于leo-navmsg的每一个SISRE数值(在510 km处,w_R 0.46,w_AC^2为1/2.5)
参考基准
Montenbruck、Steigenberger和Hauschild(2018)已发表的SISRE加权因子表,Multi-GNSS signal-in-space range error assessment - Methodology and results,Advances in Space Research 61(12):3020-3038,doi 10.1016/j.asr.2018.03.041:GPS 0.98和1/49,GLONASS 0.98和1/45,Galileo 0.98和1/61,北斗MEO 0.98和1/54,北斗IGSO/GEO 0.99和1/126。在LEO半径处计算同一平均,得出LEO权重;没有固定已发表的LEO表,因此LEO数值是应用了经独立核对的方法,本身并未另行独立核对
测试
leo_navmsg::sisre::tests(weights_reproduce_the_published_meo_and_geo_table:GPS 0.979与1/48.9,GLONASS 1/45.0,Galileo 0.984与1/61.1,北斗MEO 1/54.2,地球静止轨道0.992与1/126.2,截止角0度,每个…
已独立核对以Galileo ICD广播星历用户算法作为LEO导航电文的基础leo_navmsg::elements (kepler_point, kepler_frame, ephemeris_at, sat_state)
能力
leo_navmsg::elements::kepler_point:Galileo OS SIS ICD的开普勒求值(开普勒方程、二阶谐波改正、地固节点),与引擎的RINEX求值器分开编写,返回位置以及构建沿迹/横迹/径向改正坐标系所用的纬度幅角、倾角和节点,以及Liu等2025的扩展项
参考基准
RTKLIB 2.4.2-p13 eph2pos的ECEF位置(同一ICD算法的独立实现),针对2024-09-10的真实BKG/IGS广播记录,两者都连同出处提交于tests/fixtures/rinex_sp3_interop(NOTICE、rinex_ecef_reference.txt、brdc_multignss_slice.rnx)。这验证了开普勒用户算法;在其上叠加的沿迹/横迹/径向改正由各自的行覆盖,Liu项由Liu等2025 22参数一行覆盖
测试
tests/leo_navmsg_reference.rs(the_galileo_user_algorithm_reproduces_rtklib_to_a_millimetre:四条真实的Galileo广播星历E10、E19、E24、E25,在tk = 0、+/-600、+/-1800、+/-3600 s,每个轴都在1 mm以内,对照…
已独立核对LEO导航电文的CRC-24Q帧校验leo_navmsg::codec (crc24q, encode, decode)
能力
leo_navmsg::codec::crc24q:生成多项式0x1864CFB,初值0,无反射,无最终异或,Kshana LEO帧对其之前的每个字节都带有该校验
参考基准
这些参数的CRC目录校验值(reveng.sourceforge.io CRC目录,CRC-24/LTE-A:宽度24,poly 0x864CFB,init 0,check 0xCDE703),它们即RTCM 10403和Galileo OS SIS ICD的CRC-24Q参数,以及RTCM 10403中印出的消息类型1005示例帧
测试
leo_navmsg::codec::tests(crc24q_matches_the_catalogue_check_value:ASCII字符串123456789的0xCDE703;crc24q_matches_the_rtcm_1005_example_frame:RTCM 10403消息类型…的三个校验字节0x360B98…
已独立核对LEO广播星历拟合器,以及空间信号测距误差随拟合区间和更新周期的变化leo_navmsg::fit (fit_message, lstsq, polyfit); leo_navmsg::truth (TruthOrbit, TruthClock); leo_navmsg (sequence_stats, LeoNavmsgScenario)
能力
leo-navmsg类型的拟合器和权衡:真值轨道按所选阶数的带谐J2-J6或EGM2008引力和大气阻力积分,并带一个带随机种子的自由或受控时钟;对非奇异根数带弱先验,用Levenberg-Marquardt拟合Galileo开普勒参数集,再用线性最小二乘得到沿迹、横迹和径向改正多项式;钟差多项式在扣除用户相对论项之后拟合;SISRE(仅轨道和含钟差)在以拟合窗口居中的使用期上,随拟合区间和更新周期变化。已独立核对的部分:16参数开普勒拟合及其仅轨道SISRE随拟合区间的变化,针对真实精密轨道;以及积分得到的J2-J6/EGM2008(20, 70)/大气阻力真值轨道,对照Orekit 12.2,在6 h内相差4.6 mm以内(判据2 cm,同样的密度输入);改正多项式、钟差拟合(带随机种子的自由或受控时钟)和更新周期权衡仍属模型计算
参考基准
以真实的精密科学轨道作为真值(TU Graz IfG/ITSG业务化简化动力学轨道,凡注明出处即可自由使用;SHA-256值见测试数据NOTICE),用16参数集在20和30 min弧段上拟合,并对照Liu等2025(Remote Sensing 17(16):2894,CC BY 4.0)针对相同卫星和相同日期公布的统计:沿迹、横迹和径向RMS各在1.5倍以内(实测0.804至1.087),SISRE在1.5倍以内(实测0.716至0.809),SISRE权重与其表2相差0.005以内(实测0.0007);容差在比较之前固定。逐分量的门限使该测试有了约束力:把倾角变化率置零,每个SISRE比值仍在1.5倍以内,却通不过横迹门限。统一的0.72至0.81 SISRE比值出自该论文:其印出的SISRE值使用的是表2中未平方的权重,而不是其自己的式9,Kshana则遵循后者(Montenbruck等2018)。积分得到的真值轨道(带谐J2-J6、20和70阶的EGM2008、大气阻力)与Orekit 12.2(CS GROUP,Apache-2.0)和Hipparchus 3.1一致,二者由同一初始状态、在同一坐标系、用同一密度输入外推,在6 h内相差4.55 mm以内(判据0.02 m,运行之前固定,预先登记65e4d46c)。不在声明范围之内:改正多项式、钟差拟合和更新周期权衡,它们保留内部检查(16参数集把二体真值恢复到1 mm以下,以及对GRACE-FO及其CLK1B钟差所导出电文做的内部numpy交叉检查,该检查由本项目编写并运行,不是独立参考基准)
测试
leo_navmsg::tests::a_two_body_truth_is_recovered_by_the_keplerian_fit_to_a_millimetre; leo_navmsg::tests::the_user_algorithm_reproduces_the_fitted_truth_to_a_millimetre_with_corrections…
由模型计算得出LEO导航电文在过境中途更新,并在切换处做连续性检查leo_navmsg (LeoNavmsgScenario::midpass, worst_case_jump, elevation, geodetic_to_ecef)
能力
leo-navmsg中途更新分析:在搜索时间范围内,用户上空最高的一次过境,按全局时间表发出的、使用期以拟合窗口居中的电文,以及在每次切换处的3D位置跳变、钟差跳变、用户伪距跳变、任一可见视线上的最大跳变(天底锥上的闭式解)、前后的距离误差,以及对照某个阈值的PASS/FAIL
参考基准
内部自洽(跳变恒等式和锥界对照暴力采样)。阈值是输入;没有固定任何已发表的LEO连续性要求
测试
leo_navmsg::tests::a_mid_pass_update_is_continuous(每次切换的距离跳变都等于距离误差的变化,一个300 s的拟合每150 s更新一次,可通过5 cm的阈值)…
由模型计算得出LEO导航电文的文档化二进制编码,附量化误差预算leo_navmsg::codec (encode, decode, write_payload, read_payload, field_table, quantisation_budget)
能力
leo_navmsg::codec:Kshana自己的帧(前导码、版本、模型、长度、载荷、CRC-24Q),涵盖四种星历模型、钟差多项式、SVID、星历数据龄期、频段、健康状态、一组Klobuchar参数、NeQuick-G系数和UTC参数,每个字段都有所述的宽度和步长(field_table),量化时超出范围则拒绝,另有一份预算,给出每个字段改变半个步长时在有效期内引起的最大位置和钟差变化
参考基准
往返恒等式和预算本身。该格式是Kshana自己的,仿照已发表的电文成分和Galileo ICD的字段集;它不是Celeste或任何其他系统的比特布局(均未公开),因此没有可供核对的外部布局
测试
leo_navmsg::codec::tests (signed_fields_round_trip_through_the_bit_packer; week8_resolves_near_the_reference); leo_navmsg::tests::every_model_round_trips_through_the_binary_frame (every model within 2 mm of the exact…
由模型计算得出LEO导航电文的RINEX-4风格和CSV导出leo_navmsg::text (rinex_export, rinex_import, csv_export, csv_import, calendar, from_calendar)
能力
leo_navmsg::text:RINEX-4风格的块(> EPH记录头,带三个钟差项的卫星和历元行,D19.12广播轨道行),系统字母为L,记录类型为KP16、KRAC、LU22和APOL,每个头部都标注其为Kshana扩展,不属于RINEX 4.02;以及带默认列模式和预设模式的CSV表,各有一个导入器
参考基准
往返和日历算术。RINEX 4.02没有定义LEO导航记录(IGS RINEX 4.02),因此该布局是一种文档化的扩展,引用arXiv 2401.17767作为在先工作;没有可供核对的外部读取器
测试
leo_navmsg::text::tests(calendar_round_trips_and_knows_the_gps_origin;d19_is_rinex_shaped);leo_navmsg::tests::rinex_and_csv_round_trips(文本块之后每个模型都在0.1 mm以内,CSV精确)
已独立核对Liu等2025 22参数LEO星历模型及其在真实精密轨道上的拟合leo_navmsg::elements (kepler_point, Liu22Extra); leo_navmsg::fit (fit_message, fit_kepler, initial_params, formal_sigma); leo_navmsg::truth (TruthOrbit)
能力
leo_navmsg::elements::EphemerisModel的Liu22变体,由kepler_point配合Liu22Extra求值:16参数集,外加半长轴变化率a_dot、以n = sqrt(mu/A0^3) + dn + n_dot tk形式进入的平均运动变化率n_dot(抄自论文式1;拟合比较不依赖该尺度约定,因此所发送的nDot值的含义在此并未独立核对),以及对未改正纬度幅角的每圈一次和每圈三次的半径谐波Crs1、Crc1、Crs3、Crc3。其由leo_navmsg::fit::fit_message做的拟合采用论文第2.3节的起点和估计器(每一项改正都从零开始;无先验的普通最小二乘;论文的100次迭代上限),但按Kshana的参数收敛规则停止(每一步都低于其形式sigma的1e-3),而不是按论文的RMS变化低于0.1 mm的规则。在一条列表化精密轨道的20和30分钟弧段上拟合
参考基准
实测:TU Graz IfG/ITSG业务化简化动力学轨道(凡注明出处即可自由使用;SHA-256值见测试数据NOTICE)中GRACE-A、GRACE-C、Sentinel-2A和Sentinel-6A的轨道作为真值,在20和30 min弧段上拟合,并与Liu、Su、Xie、Zhou和Qu(2025)的表4、5、6和8的22参数各行(a_dot、n_dot、Crs3、Crc3、Crs1、Crc1)比较,Remote Sensing 17(16):2894,doi 10.3390/rs17162894(CC BY 4.0;数值为引用,未随附)。判据在首次比较之前固定:对每颗卫星和两种弧长,沿迹、横迹和径向RMS各在1.5倍以内(双侧),SISRE在1.5倍以内。第2轮重新运行已在引擎改动之前、保留轨道获取之前预先登记(aa559785):论文式1和第2.3节的拟合,外加每颗卫星两个新的保留日,对照相同的印出数值。实测:论文各日的比值均为0.755至1.138,各保留日的比值均为0.683至1.186。披露:首次运行时20 min沿迹比值1.71(Sentinel-2A)和1.86(Sentinel-6A)在重新运行之前就已知。保留日SISRE比值最低的接近0.667下界,因为论文印出的SISRE使用的是表2中未平方的权重(见16参数拟合器一行)。预先登记误述了论文的停止规则(论文在RMS变化低于0.1 mm时停止);预先登记的参数收敛规则得以保留。变异检验:恢复以零为中心的先验,则Sentinel-6A 20 min沿迹为1.08,对照0.70 cm(1.54),未通过。审阅者探查:0.30之前的约定(n_dot乘以1/2的因子)使每个数值保持不变,因此该比较约束的是22参数模型的函数空间及其拟合质量,而不是n_dot的约定。不在声明范围之内:ATOMIC ECEF多项式和合成的五高度模型比较表,它们有各自的MODELLED行
测试
tests/leo_navmsg_fit_real_orbit_oracle.rs::liu22_model_matches_the_published_sisre(四个论文日:沿迹、横向、径向与SISRE之比为Liu等人2025的0.755至1.138,在1.5倍以内)…
由模型计算得出ATOMIC零钟差ECEF多项式,以及合成的五高度LEO模型比较leo_navmsg::elements (EcefPoly, ephemeris_at); leo_navmsg (liu_comparison, LIU2025_TABLE)
能力
leo_navmsg::elements::EphemerisModel的EcefPoly变体:每轴一个ECEF多项式,没有钟差项,相对论项取自 -2 r.v/c^2,对照受控时钟打分。还有模型比较分析(liu_comparison,作用于LIU2025_TABLE),它在论文的五个高度上,对Kshana积分轨道的20分钟弧段拟合22参数模型,并把结果印在已发表的SISRE旁边
参考基准
取自InsideGNSS的ATOMIC模型事实(6阶多项式,约一分钟有效期,30 s刷新,钟差受控,24 cm钟差误差)。这些是描述性事实,没有可供比较的已发表数值。五高度表把Liu等2025的SISRE(在320、475、786、966和1336 km、20分钟弧段上分别为8.88、6.21、2.87、2.11和0.75 cm)印在Kshana对其自身积分轨道的拟合(4.25、2.87、2.20、1.25和0.51 cm;比值0.46至0.77)旁边,未固定,因为论文拟合的是真实精密轨道,真值不同。22参数模型及其拟合本身已对照真实轨道独立核对,见Liu等2025 22参数LEO星历模型及其在真实精密轨道上的拟合一行。0.30修订:表中数值随论文约定的拟合而变动(GRACE-A 5.40 -> 4.25 cm,GRACE-C 4.12 -> 2.87,Sentinel-2A 2.95 -> 2.20,HY-2A 2.38 -> 1.25,Sentinel-6A 0.70 -> 0.51)
测试
leo_navmsg::tests::liu22_beats_the_16_parameter_set_over_a_20_minute_arc; leo_navmsg::tests::the_ecef_polynomial_fits_a_minute_to_millimetres…
已独立核对LEO导航电文的单频电离层和UTC服务leo_navmsg::services (klobuchar_delay_m, effective_ionisation_level, system_to_utc)
能力
leo_navmsg::services:任一载波的Klobuchar广播延迟(引擎的L1模型按 (f_L1/f)^2缩放),NeQuick-G有效电离水平Az = ai0 + ai1 mu + ai2 mu^2,含全零规则和 [0, 400] sfu规则,以及系统时间到UTC,含ICD的三种闰秒情形
参考基准
GNSSTk 15.3.1(ARL:UT,LGPL-3.0,提交55ea3344,经测试框架作为独立程序运行;未随附任何GNSSTk代码):L1、L2和L5上KlobucharIonoNavData的getIonoCorr,NeQuickIonoNavData的getEffIonoLevel(对Az,含全零规则和 [0, 400] sfu规则),以及用于UTC漂移的GPSLNavTimeOffset的getOffset,分别在1e-3 m、1e-6 sfu和1e-9 s以内;以及经pyerfa 2.0.1.5(BSD-3)使用的ERFA,它由IERS闰秒表推出UTC,用于ICD的三种闰秒情形,涵盖真实的2015-06-30和2016-12-31闰秒,包括23:59:60读数,在1e-9 s以内(GNSSTk没有实现ICD情形 (b) 的日长规则,因此那里没有使用它,如预先登记所写)。输入是真实的IGS BRDC头部系数。已预先登记(6a66994b;修订88807a7e在比较任何Kshana数值之前,提交了闰秒网格的一个21 602行子集)。NeQuick电子密度积分未实现,也没有对在电离层内部飞行的LEO卫星做任何改正
测试
leo_navmsg::services::tests (klobuchar_scales_with_inverse_frequency_squared — the L1 value is RTKLIB's 6.1278 m; nequick_az_rules; utc_without_an_event_is_tow_minus_leap_seconds_folded_to_a_day…
已独立核对地面接收机必须应对的、来自LEO导航卫星的多普勒leo_fusion::geom (EarthOrbit); leo_fusion::doppler (range_rate, doppler_envelope)
能力
地固位置和速度来自带长期J2漂移和地球自转的二体轨道的卫星的精确距离变化率(leo_fusion::geom::EarthOrbit::state,速度为位置的精确时间导数),在某一载波上换算为多普勒;在截止仰角之上,一个窗口内最大的绝对多普勒、多普勒变化率和加加速度(leo_fusion::doppler::doppler_envelope),由leo-pvt类型在doppler模式下按每个LEO系统报告
参考基准
由所述轨道和载波复现的已发表数值:Iridium多普勒最高正负36 kHz(Resilient Navigation and Timing Foundation,Recent PNT improvements and test results based on LEO satellites),以及Xona Pulsar X1最大多普勒32至34 kHz(Leclère、Marathe和Reid,ION GNSS+ 2025,arXiv:2509.19551)。Iridium的数值是取整的上界,因此判据为5%。多普勒变化率和加加速度已报告,但没有独立核对:Pulsar X1的模型过顶加加速度约为1.0 Hz/s^2,而已发表的为1.26
测试
tests/leo_doppler_reference.rs(iridium_doppler_reaches_the_published_36_khz:一颗卫星在780 km、86.4度,在1621 MHz上飞行一天,覆盖四个纬度,最大值在36 kHz的5% 以内…
由模型计算得出基于LEO多普勒的定位,单星和多星,带钟漂和速度状态leo_fusion::doppler (solve, formal_covariance, single_pass_geometry, offset_site, closest_approach); leo_fusion::pvt_kind (run_doppler)
能力
以距离变化率为基础、带解析偏导数的批量高斯-牛顿定位(d rho_dot / d r = -(I - u u^T)(v_s - v_u)/rho,d/dv = -u,d/d drift = 1),可选恒定用户速度,对地表用户的高度伪测量,带阻尼的步长;真值处的形式协方差;沿迹、横迹和垂直方向的投影;单次过境精度随用户横迹偏移的变化;最接近时刻。leo-pvt类型的doppler模式增加误差随窗口长度的变化,以及仅多普勒的机会信号模式(starlink-sop预设)
参考基准
内部自洽:无噪声恢复,数值微分的运动学恒等式rho_ddot = (|v|^2 - rho_dot^2 + d.a)/rho,最接近时刻的多普勒为零,单次过境的镜像解,以及带随机种子的误差对照形式协方差。Kozhaya、Saroufim和Kassas的Starlink数值(NAVIGATION 72(1),2025:三颗卫星在20 s内约2 m)只是比较:模型接收机在完美星历下,把全部误差计入30 Hz的多普勒sigma,在同一窗口内的精度要差好几倍,而论文的接收机和测量速率没有复现
测试
leo_fusion::doppler::tests(range_acceleration_obeys_the_kinematic_identity_and_vanishes_doppler_at_closest_approach;noise_free_multi_satellite_doppler_recovers_the_user:到1 mm,漂移到1e-6 m/s…
由模型计算得出带系统间偏差和各信号误差模型的GNSS与LEO联合伪距定位leo_fusion::joint_pvt (solve, dop, code_sigma_dll_m, SystemClock); leo_fusion::system (SystemCfg, System); leo_fusion::pvt_kind (run_joint)
能力
对任意系统组合的加权最小二乘高斯-牛顿定位,每个系统一个接收机钟(系统间偏差与位置一并估计),或在参考时间尺度上取已知的广播偏移;各测量的sigma由调用方提供,默认为引擎的延迟锁定环热噪声(navsignal::dll_code_jitter_chips),取该仰角的C/N0,并与空间信号测距误差合成;局部大地坐标系中的未加权DOP(GDOP、PDOP、HDOP、VDOP、TDOP)、形式的东-北-天sigma以及偏差sigma;leo-pvt联合模式比较仅GNSS、仅LEO和融合的定位解,并扫描DOP随所加LEO卫星数的变化
参考基准
一个手工推导的四卫星DOP(一颗卫星在天顶,三颗在地平线上相隔120度,其法矩阵可手工求逆),一个结构恒等式,即带自己时钟且只有一颗卫星的系统不增加任何几何,位置、钟差和偏差的无噪声恢复,以及带随机种子的误差对照协方差。仅为内部检查;没有与接收机的输出比较。0.30外部比较,一项发现(仍为MODELLED):在一个多GNSS的IGS日(ABMF 2018-05-13,GPS和Galileo C1C,广播星历,Klobuchar)上,系统间偏差与RTKLIB v2.4.2-p13 rnx2rtkp一致(在0.30广播群延迟修正之后差值中位数为 -0.11 ns,修正之前为 -0.35 ns;判据1 ns),但对照预先登记的95 %,在280个历元中只有93.6 %(修正之前为93.2 %)位于ITRF2020坐标的3 m以内。RTKLIB自己在同一数据上达到88.2 %,因此该判据超出了该站点和该日的单频广播定位能力,而不是求解器的差异;该比较测试以忽略状态提交。0.30第2轮,在判据3 m / 95 % / 1 ns不变的情况下采用更严格的输入,一项发现(仍为MODELLED):采用Galileo E1/E5a无电离层组合(预先登记6927e039),79.9 % 的历元在3 m以内(RTKLIB 67.9 %);采用精密CODE MGEX轨道、钟差、卫星天线偏移和码偏差(预先登记7d8c3597),为94.2 %(RTKLIB 94.1 %),系统间偏差与RTKLIB相差 -1.03 ns,因为RTKLIB的单点模式忽略卫星天线偏移(两者都略去时为 +0.04 ns)
测试
leo_fusion::joint_pvt::tests (dop_matches_the_hand_derived_zenith_plus_three_horizon_case: HDOP = VDOP = sqrt(4/3), TDOP = sqrt(1/3), PDOP = sqrt(8/3), GDOP = sqrt(3) to 1e-9…
由模型计算得出仅用GNSS和用LEO增强的精密单点定位收敛leo_fusion::ppp (run, PppScenario, LI_2019)
能力
基于无电离层码和相位的浮点PPP扩展卡尔曼滤波器:静态坐标,白噪声接收机钟,每多一个系统一个系统间偏差,按1/sin(仰角) 映射的随机游走天顶湿延迟,每个卫星弧段一个浮点模糊度(升起时加入,落下时删除),以及卫星码与相位共有的精密轨道和钟差误差,按约瑟夫稳定形式以一次相关的两行更新处理;测量由同一模型仿真;收敛时间(误差在阈值以下直到运行结束)、误差曲线以及仅GNSS和各个LEO情形的运行平均位置NEES,作为leo-ppp类型运行
参考基准
NEES卡方检验是内部自洽检查(真值和滤波器共用模型)。趋势与Li等,LEO constellation-augmented multi-GNSS for rapid PPP convergence,J. Geod. 93:749-764(2019),doi 10.1007/s00190-018-1195-2比较:多GNSS的9.6 min,在60、96、192和288颗LEO卫星下缩短为7.0、3.2、2.1和1.3 min。随附场景采用其自己具代表性的1000 km、60度壳层、噪声和测站,给出7.4、4.8、3.2、2.7和2.3 min;论文的星座、噪声和收敛定义没有复现,因此这是趋势上的一种MODELLED一致性(单调缩短,最大星座不到仅GNSS时间的三分之一),而不是独立核对
测试
leo_fusion::ppp::tests(the_filter_is_consistent_over_monte_carlo_seeds:24个随机种子,运行平均的NEES均值在 [2.4, 3.6] 内,且至少75% 的历元落在双侧95% 卡方区间内;用150个随机种子测得,均值…
已独立核对由信号带宽决定的5G非地面网络定位精度leo_fusion::ntn (gabor_bandwidth_flat_hz, gabor_bandwidth_bpsk_hz, gabor_bandwidth_numeric_hz, rms_duration_numeric_s, toa_crb_sigma_m, doppler_crb_sigma_hz, frequency_crb_sigma_hz, NtnScenario::geometry, NtnScenario); leo_fusion::joint_pvt (formal_sigma_enu)
能力
基于均方根(Gabor)带宽的到达时间克拉美-罗界,c/(2 pi beta sqrt(2 (C/N0) T)),适用于平坦OFDM谱(beta = B/sqrt(12))、带限BPSK谱(闭式分子)或由求积得到的任意谱,以及复单音频率的界sqrt(3/(2 pi^2 (C/N0) T^3));在3GPP n256 MSS S波段上,一次过境中接收机钟差未知的下行到达时间定位和单星多普勒定位,作为ntn-positioning类型运行
参考基准
已发表的算例(P1):Bachl、Lei和Nabeel,arXiv:2608.10270(2026),NR NTN的单SSB界,由3GPP TS 38.211 SSB映射经Kshana自己的数值函数复现(W_rms 1.9616对1.96 MHz,sigma_t 38.755对39 us,sigma_f 100.79/87.28对101/87 Hz,sigma_rho 0.5970/0.5831对0.60/0.58 m,各在所印末位的半个单位以内);Betz 2001表1的BPSK-R RMS带宽(1.128/3.477对1.1/3.5 MHz,补充);到达时间和多普勒定位协方差与导出几何上的numpy 2.4.6 numpy.linalg.inv一致(P2;相对5e-15和1.2e-5,判据1e-5和1e-3)。已预先登记(9f2875db;C部分0d66dccd)。引擎定位joint_pvt::formal_sigma_enu(在真实位置而不是含噪定位解处求值的界)是在首次200 kHz运行以6.5e-5失败之后编写的,并在容差不变的情况下重新运行。场景运行的平坦谱和复单音形式(gabor_bandwidth_flat_hz、doppler_crb_sigma_hz)通过crate内的恒等式单元测试到达P1检查。这些是无多径信道上的界,不是已达到的精度。0.30修订:ntn-5g-positioning toa_median_sigma_3d_m 2.0903959 -> 2.0903962 m(NR 5 MHz)和25.938613 -> 25.938839 m(NB 200 kHz)
测试
leo_fusion::ntn::tests (the_numerical_rms_bandwidth_matches_the_closed_forms; the_range_bound_scales_as_one_over_bandwidth_and_root_cn0: 0.4157 m by hand at 5 MHz, 45 dB-Hz, 0.1 s…
由模型计算得出LEO辅助的对UTC时间传递,随C/N0和接收机振荡器变化leo_fusion::timing (simulate, utc_offset_s, system_to_utc_s); leo_fusion::pvt_kind (run_timing)
能力
来自视野内每颗已知位置LEO卫星的钟差测量,按伪距噪声模型以逆方差合并,由两状态(相位、频率)卡尔曼滤波器滤波,其过程噪声为振荡器等级的白噪声和随机游走频率噪声(slot_timing::ClockNoise、clock_state::ClockClass;holdover::coast_phase_variance的滑行方差),由同样水平给出带随机种子的真值时钟,以及IS-GPS-200第20.3.3.5.2.4节的系统时间到UTC表达式,并把广播偏移的不确定度作为每次运行的偏差加入;leo-pvt授时模式扫描振荡器和C/N0偏移
参考基准
内部自洽:手工求值已发表的偏移表达式,在40个随机种子上的归一化误差,以及由偏移不确定度设定的下限。NIST对带微型原子钟的Iridium授时接收机的数值(在40天内相对UTC(NIST) 低于40 ns)只是比较;随附的Iridium场景在标称功率下,计入其具代表性的5 m距离误差,给出10至11 ns RMS。闪烁频率噪声和电离层延迟未仿真
测试
leo_fusion::timing::tests (the_utc_offset_follows_the_is_gps_200_expression; continuous_tracking_approaches_the_measurement_floor_and_gaps_cost_time; the_filter_is_consistent_over_seeds…
已独立核对极区和北极用户的LEO覆盖和精度因子,对照MEO GNSSleo_fusion::polar (latitude_sweep, latitude_sweep_at, element_sets, satellite_states_at); leo_fusion::joint_pvt (dop); sgp4 (MeanElementSet::from_earth_fixed, SgpOrbit, teme_to_itrs_matrix)
能力
视野内卫星数,以及PDOP、HDOP和VDOP的中位数及可用性随纬度的变化,取样经度和历元,分别针对仅MEO GNSS系统、仅LEO系统和全部系统,每个系统带自己的截止角和钟模型,作为leo-pvt极区模式运行;轨道是扫描历元(极区模式中为2026-01-01T00:00:00 UTC)的SGP4/SDP4根数集,经已独立核对的地球轨道路径(IAU 2006/2000A,UT1 = UTC,无极移)转到地固坐标系
参考基准
Orekit 13.1.8(Apache-2.0)配合Hipparchus 4.0.3:引擎的GCRS状态由Orekit旋转到ITRF(IERS 2010),WGS-84 TopocentricFrame的可见性对照各系统的截止角,一个钟未知量用org.orekit.gnss.DOPComputer,多个用NumPy 2.4.6 numpy.linalg.inv(P2);路径对照python-sgp4和ERFA检查(“One Earth-orbit path”一行)。判据在运行之前固定(预先登记72ea9eb0;T2和T3是0.30第2轮的判据)。把TEME -> GCRS步骤冻结在J2000,测试即变红(4739次失败)。仅几何;没有闪烁、地形或信号功率。GNSS的VDOP向极区上升(在随附场景中,GPS和Galileo从赤道的1.20升到89.9度处的1.51),而近极轨LEO壳层则在那里收敛。历史:第2轮(3254d456)与列表化的二体状态一致;D8第1轮对照Orekit自己的TLE外推的完整声明(e947e69d)是一项发现,即Orekit在e = 0时的SDP4及其IERS 1996 TEME,已固定
测试
tests/leo_polar_coverage_on_path_orekit_oracle.rs(配置A和B,4040个样本:地固位置吻合到6.8e-5 m以内,判据0.2 m;可见数完全相同,4040/4040;DOP中位数相对吻合到2.3e-11以内,判据…
由模型计算得出具名的LEO PNT系统,作为可选的数据预设,各附其来源leo_fusion::presets (all, by_id, cn0_range_dbhz, noise_density_dbw_hz); leo_fusion::system (SystemCfg::build)
能力
与系统无关的输入:每个系统都是沃克壳层、显式根数或GNSS预设,一个信号(载波、码速率、带宽、接收功率或C/N0范围),一个SISRE,一个多普勒sigma和一个钟模型;预设只填补场景遗漏的部分,每个一个文件,来源标注为PUBLIC(附网址)、WORKSHOP或派生,未公开的数值列为具代表性:Xona Pulsar X1/X5、Iridium STL、Starlink机会信号、CentiSpace、一个具代表性的C波段系统、ATOMIC零钟差星历模型,以及可选的Celeste IOD预设文件中一个源自工作坊的预设,删除该文件及其场景即可将其撤出
参考基准
抄录所引用的公开数值,并检查了结构(每个公开来源都有网址,沃克构型能均分,C/N0由接收功率除以290 K下的kT得出),没有对照外部参考基准。具代表性的数值已在各预设中指明,属于示意性
测试
leo_fusion::presets::tests (every_preset_has_a_source_and_every_public_source_a_url; only_one_preset_uses_workshop_material; noise_density_at_290_k_is_minus_204_dbw_per_hz); tests/workshop_preset_isolation.rs…
由模型计算得出端到端的一个LEO-PNT系统:信号设计、过境链路预算、导航电文和融合定位,每个阶段的输出交给下一阶段leo_pnt_chain (LeoPntChainScenario); leo_pass (BandCfg::signal, design_tracking); leo_navmsg (LeoNavmsgScenario::broadcast_sisre); leo_fusion::pvt_kind; leo_fusion::ppp
能力
leo-pnt-chain类型:一个leo-signal设计(公开预设或内联)设定leo-pass频段的中心、带宽、码速率和EIRP分配;过境给出每个历元被跟踪分量的C/N0和带限码抖动;对sin(仰角) 的最小二乘C/N0直线、leo-navmsg电文的SISRE(在过境卫星的轨道上拟合,再按方和根加上所述的定轨项)以及该设计的载波和码速率,交给leo-pvt联合定位的每一个LEO系统,并可选地交给leo-ppp的LEO情形;每一次交接都连同其数值和单位一并报告
参考基准
交接的自洽性:每个交接的值都等于上游阶段自己的输出,改动上游输入会使依赖它的每个下游数值随之变动。各阶段保留自己的标签;该链条不增加物理,也没有外部参考基准
测试
leo_pnt_chain::tests(a_sine_line_fit_recovers_its_line);tests/leo_pnt_chain.rs(every_upstream_change_moves_the_downstream_figures:更强的EIRP、更长的拟合区间和更大的定轨项各自…
由模型计算得出基于LEO多普勒与过境几何一致性的欺骗干扰(spoofing)检测leo_link::spoof (range_rate_position_gradient, line_of_sight, fll_frequency_jitter_hz, doppler_consistency_window, doppler_consistency); leo_pass (SpooferCfg, spoof_section)
能力
leo-pass类型的[spoofer]部分:欺骗源在距离和距离变化率上自洽地伪造在某个声称位置处所见的信号,该位置在起始之后发生跳变和/或被从真实位置推开(针对每个LEO频段和MEO GNSS信号);接收机根据广播轨道和一个独立的先验位置与速度预测每一个距离变化率,并在若干历元的窗口上,对GNSS通道、LEO通道和全部通道,用广义最小二乘卡方统计量检验测得的距离变化率(钟漂作为干扰量或带先验),锁频环热噪声由C/N0得出(Kaplan & Hegarty 2006,第5.6.2节);检测概率取自给定虚警概率下的非中心卡方分布,检测在给定漏检概率下宣告
参考基准
闭式解与恒等式,不是外部测量:距离变化率梯度对照中心差分,信息形式的统计量对照稠密协方差形式,纯钟漂给出零,先验可解释的推动至多给出 |dx|^2/sigma_p^2,统计量对跳变呈二次关系。没有把任何检测数值与实测攻击比较;欺骗源是理想化的(没有功率、到达角或相关峰特征)
测试
leo_link::spoof::tests (the_gradient_is_the_derivative_of_the_range_rate; fll_jitter_matches_the_formula_by_hand; a_common_mode_residual_is_a_clock_drift_and_is_not_detected…
由模型计算得出基于多频段LEO信号跨频段一致性的欺骗干扰(spoofing)检测leo_link::spoof (cross_band_step); leo_pass (spoof_section: pairs, cross_band)
能力
对每颗LEO卫星和每一对测距频段,[spoofer]部分构成无几何伪距组合,去掉接收机的电离层模型,并把其历元间的阶跃与两个频段的码噪声以及所述可容许的未建模电离层变化率相比较(双侧高斯,精确检测概率);欺骗源若伪造某些频段而不伪造另一些,或伪造每个频段而没有电离层,则在其起始时被发现;若伪造每个频段并仿真电离层,则不被发现,结果对此有明确说明
参考基准
恒等式:无电离层欺骗源的起始阶跃等于该频段对的模型电离层延迟差,阈值为双侧正态分位数乘以该阶跃的标准差,再加上变化率界。接收机的电离层模型即引擎自己的,因此真实信号的残差按构造均值为零;没有外部参考基准
测试
leo_link::spoof::tests (the_cross_band_threshold_and_power); tests/leo_resilience_verticals.rs (a_ground_spoofer_leaves_the_ionospheric_step_and_an_ionosphere_aware_one_does_not…
由模型计算得出电离层探测:由一次LEO过境的双频延迟得出斜向TECleo_pass (IonoFreePair::geometry_free_stec_tecu, geometry_free_stec_sigma_tecu); leo_link::iono::geometry_free_stec_tecu
能力
对leo-pass卫星的每个频段对,报告给出无几何码组合在过境峰值处恢复的斜向总电子含量 (P2 - P1) f1^2 f2^2 / (40.3 (f1^2 - f2^2)),以及由两个频段热码噪声得出的1-sigma,因此任何多频段LEO-PNT设计都可以作为电离层探测器来权衡
参考基准
一阶色散恒等式,按构造相对引擎自己的一阶延迟是精确的(其1/f^2缩放已在自己的一行中对照IS-GPS-200达到VALIDATED);精度仅取决于热码噪声,不含多径或频间偏差。0.30第2轮,实测(预先登记5e795f93),一项发现(仍为MODELLED):CODE全球电离层图CODG1330.18I对照ABMF C1C/C2W码及CODE偏差,在36个弧段均值中有33个在3 TECU以内(最差为傍晚弧段上的 +6.84 TECU;逐历元RMS为3.95 TECU),而判据要求每个弧段都满足;没有经过独立核对
测试
tests/leo_resilience_verticals.rs(the_geometry_free_tec_is_the_pass_slant_tec:在峰值处等于该次过境的斜程TEC,吻合到1e-9,其sigma等于对40.3 (1/f1^2 - 1/f2^2) 的RSS码噪声)…
已独立核对估计测站时的月球坐标系基准协方差,对照50位扩展精度lunar_frame_campaign, fim
能力
lunar-frame-campaign场景在估计地球测站(测站1锚定)时的七参数Helmert基准协方差,按lunar_frame_campaign在binary64中的计算方式:由延迟雅可比矩阵累积的测站与信标联合费舍尔信息,测站块经Schur补通过雅可比谱逆边缘化,H = AᵀSA由Helmert设计构成并按谱方法求逆。该问题按构造就是病态的(Helmert条件数2.1e8至2.3e8,联合信息条件数1.6e12至3.0e13):Schur修正中1e-9的相对变化可使基准sigma变动最多28 %。报告:七个基准sigma、Helmert条件数和最弱方向。声明,已收窄:引擎的基准sigma和条件数处于该问题上后向稳定的双精度流程的先验最坏情形误差界之内;这并不声称它们达到双精度所能允许的精度(采用分解途径时,同样输入上的精度约高一千倍,选择启用的平方根求解器则约高一千万倍),而最弱方向只在其判据低于直角处才经过独立核对(测站固定的对照)
参考基准
mpmath 1.3.0(BSD-3-Clause),50位有效数字,在80位自检(一致性1.1e-38或更好),作用于引擎已提交的雅可比矩阵、权重和Helmert设计:Schur补用mpmath自己的LU求解,H用其求逆,并用其雅可比特征分解(P2,独立的数值库)。在测试数据出现之前预先登记804662d5,判据来自一阶后向误差公式:常数 (3n+1)n + m乘以单位舍入误差(Higham,Accuracy and Stability of Numerical Algorithms,定理10.4,Tier B形式),再乘以每个量对联合信息、Schur补和H的精确一阶灵敏度。实测:基准sigma在2026-03-18为4.8e-6以内(判据9.6e-2至2.2e-1),2024-01-01为9.7e-6(判据2.8e-2至6.9e-2),测站固定时为2.0e-14(判据1.0e-11至2.8e-7);条件数在4.6e-6、1.3e-5和4.1e-14以内。在估计测站的场景上,判据是最坏情形,比实测误差高四个数量级,而且那里最弱方向的判据超过直角,因此该项检查不计入;在测站固定的对照上,最弱方向一致到6.6e-16 rad,判据为9.4e-11,由单位向量之间的弦测得(先前的acos比较器无法分辨低于1.5e-8 rad的角度;判据不变)。诊断:NumPy 2.3.5的Cholesky和QR途径在2024-01-01输入上达到9e-9和5e-9,其求逆和特征值途径为2.9e-6和6.2e-6:引擎在其界之内,但精度约比分解途径低一千倍。验证的是已提交输入上的线性代数,不是雅可比矩阵(测评活动一行的SPICE一支负责这一点),也不是该示意性测评活动的物理精度
测试
tests/lunar_frame_campaign_mpmath_oracle.rs(lunar_frame_campaign_datum_matches_mpmath_extended_precision:三个场景:在新的测评活动日期2026-03-18估计测站(约束),在该日期固定测站…
已独立核对平方根信息基准求解器,对照50位扩展精度linalg_sr, lunar_frame_campaign
能力
一个选择启用的平方根信息求解器(lunar-frame-campaign solver = "srif";默认不变),对基准从不形成或求逆信息矩阵:对白化的延迟雅可比矩阵作Householder QR(正交-三角分解),作为平方根信息滤波器的测量更新,地球测站通过尾部三角块边缘化(其Gram积即Schur补),对七参数Helmert基准再对R_bb A作第二次QR,sigma为三角逆的行范数,谱(条件数、最弱方向)来自单边雅可比奇异值分解。内积用Dekker拆分的无误差乘积补偿,因此每个运算都是正确舍入的IEEE-754基本运算或平方根;各平台上结果相同,是据此论证的,没有跨平台测试
参考基准
mpmath 1.3.0(BSD-3-Clause),50位有效数字,在80位自检(一致性1.4e-43或更好),作用于引擎已提交的雅可比矩阵、权重和Helmert设计(P2,独立的数值库:mpmath自己的LU求解、求逆、Cholesky和雅可比特征分解)。在求解器编写之前预先登记b41908c9,判据来自平方根形式的一阶后向误差界:Householder QR常数mn加 (3n+1)n乘以单位舍入误差(Higham,Accuracy and Stability of Numerical Algorithms,定理19.4和第8章)再乘以精确灵敏度。实测:基准sigma在2026-06-09为3.0e-13以内(判据4.1e-7至5.3e-7),测站固定时为1.9e-15(判据低至4.8e-12),2026-03-18为3.8e-13,2024-01-01为2.3e-13,而默认谱求解器在这两天偏差为4.8e-6和9.7e-6;条件数在4.9e-13以内;最弱方向在1.4e-13 rad以内(对照为1.7e-16,判据5.1e-10)。该检查的局限:判据只能保证基准误差低于约2e-7相对;实测的1e-13数值是观测,并非判据所保证的。该检查拒绝了默认谱求解器(在2024-01-01上sigma为9.7e-6,对照2.9e-7;在起约束作用的日期上为1.3e-6,对照4.9e-7,裕度为1.3至2.6)和取错的三角逆(列范数:red),但符号翻转的Householder、未补偿的点积,以及由平方根因子构成的H的谱逆所得的sigma(3.7e-9)全都通过,因此它并不表明每个平方根步骤都是必要的。验证的是选择启用的求解器在已提交输入上的线性代数,不是雅可比矩阵,也不是默认求解器;跨平台的逐位可复现性是据所用运算论证的,只在一个平台上以重新运行的一致性做了测试
测试
tests/lunar_frame_campaign_srif_mpmath_oracle.rs(srif_datum_matches_mpmath_extended_precision:四个场景:在新的测评活动日期2026-06-09估计测站(约束),在该日期固定测站(对照)…
已独立核对海事信任监测器:其所依赖的算术(NMEA解码、测地线偏移、运动学和传感器残差统计)receiver_trust (ingest, maritime)
能力
对一艘船舶,receiver_trust解码接收机及其仪器发出的NMEA 0183语句(GGA、RMC、VTG、HDT、VHW、VBW、ZDA、GSV),形成各定位之间的东-北偏移(maritime::en_offset_m),并由此得出其监测器据以判断的统计量:在30 s窗口上的隐含速度、航位推算残差、隐含加速度和隐含转向率,航向对航迹、计程仪速度对对地速度以及天线高度的残差(10 s中位数),以及卫星信噪比的离散度和上升。
参考基准
外部核对的范围,狭义表述:(1) 监测器所读每个字段的解码,对照pynmea2 1.19.0(MIT),在8份合成日志(1,086个历元)上,在该字段单位下一致到1e-9(纬度和经度、高度、大地水准面差距、HDOP、速度、航迹、航向、信噪比;整数和日期完全一致;一天中的时刻一致到1e-6 s),最大差异处于双精度末位的水平;(2) 两个定位之间的东-北偏移,以距离和方位表示,对照geographiclib 2.1(MIT)的WGS84测地线,在223对定位上,基线最长2 km,纬度从 -45至70度并跨越反子午线,一致到0.01 m和0.001度(方位对照测地线的平均方位角,即弦的方向);(3) 监测器在一段400 s的合成航程(含一次转向和一次位置阶跃)的341个计分历元上的输入统计量,对照Python重新计算(距离和方位角用geographiclib,解码用pynmea2,中位数和标准差用numpy):隐含速度一致到0.005 m/s,航位推算残差0.02 m,加速度5e-4 m/s^2,转向率1e-3 deg/s,残差中位数以及信噪比的离散度和上升1e-6。不在核对范围之内:监测器的窗口长度、容许量和阈值是本项目自己的规则;该Python依据同一份文档复现它们,因此一致只是佐证算术的实现,并不佐证这些规则。THS语句没有pynmea2类,ROT语句未被读取;两者都不在覆盖范围之内。从NMEA发射器和卫星编号到RINEX风格卫星标识的对照表是本项目自己的(只比较编号、发射器和数值)。时间步长、主机时钟和认证状态输入没有参考基准。所有数据都是由receiver_trust::synth生成的合成文本;这里没有任何东西是测量,对于任何监测器在真实干扰下的表现也不作任何陈述。方位:与测地线平均方位角比较。对照定位1处正向方位角的预先登记比较,在0.001度处失败(223对中有77对,最差8.3e-3度),原因是定义上的不一致,而不是算术;修订是在首次运行之后作出的,两个结果都已记录(正向方位角的比较作为描述性的、未预先登记的0.01度界保留在测试中)。披露:首次运行发现输入的覆盖太少(加速度和转向率在每个历元都被钳为零,反子午线航迹也从未跨越它)、合成生成器中的一处缺陷(没有经度回绕),以及对方位而言,所登记的参考量(首个定位处测地线的正向方位角)与弦方向相差约半个子午线收敛角(223对中有77对在0.001度之外,最差8.3e-3);输入已更正,方位在相同容差下对照平均方位角比较(预先登记中的修订1至3,是在看到结果之后作出的,因此不是盲测);航迹和航向的比较改为循环比较(360度和0度是同一航迹,修订5)。变异检验:把东向偏移缩放1e-4,则测地线比较失败。
测试
tests/maritime_trust_reference.rs (t1_nmea_decoding_matches_pynmea2, t2_east_north_offsets_match_the_wgs84_geodesic, t3_t4_monitor_input_statistics_match_the_oracle) against…
由模型计算得出海事信任度:把监测器的证据汇总为0-100的分数及其三个档位receiver_trust (score, monitors, live)
能力
每个监测器把其证据归约为统计量对阈值的比值;分数为100减去各监测器的权重乘以该比值的限幅线性斜坡(0到0.5,在1.5处为1)之和,限定在0至100并舍入到0.1,档位在90和55;每个历元列出扣分的监测器及其分数。
参考基准
对照规范的实现,并非外部参考基准:一份洁净室Python重新实现(scripts/maritime_score_cleanroom.py),由只拿到docs/RECEIVER-TRUST.md和docs/MARITIME-TRUST.md而没有Rust源码的读者编写,与score_from_ratios在600个比值向量上一致(分数、档位、分值和扣分顺序,差值0),这是在文档于第一位读者发现其沉默或不一致之处(并列顺序、舍入、通过或失败型监测器的比值、两个数字与公式不符的示例)得到补全之后。这表明文档是充分的,代码做的就是它所说的事。不在核对范围之内,也是该行仍为MODELLED的原因:规则本身(权重、斜坡、档位边界、证据保持)是本项目自己的,已预先登记但没有外部来源,这里没有任何东西表明80或40的分数在真实干扰下就是领航员所希望它表示的含义;也不给出这类数值。监测器的阈值同样是本项目自己的(行A只检查它们的算术)。
测试
tests/maritime_trust_reference.rs::t5_score_matches_the_clean_room_reading_of_the_documented_rule; receiver_trust::score::tests (monotone in every statistic, adding a monitor never raises the score, healthy statistics…
已独立核对NMEA 0183训练数据流的一致性和解码数值nmea_synth (track, sentences, scenarios); cli nmea-scenario
能力
供船员训练用的合成驾驶台NMEA 0183数据流(kshana nmea-scenario):GGA、RMC、VTG、ZDA、GNS、GSA、GSV、HDT、VBW和PKSHT标记,由真值航迹生成,带有经建模的接收机、天空、压制干扰和欺骗干扰效应。仅文本输出;不发射任何信号。
参考基准
外部核对的范围,狭义表述:八条合成训练数据流(四个库内场景,随机种子1和7;GGA、RMC、VTG、ZDA、GNS、GSA、GSV、HDT、VBW和PKSHT标记)的全部225,227条语句,在独立的NMEA解析器pynmea2 1.19.0中都能解析,校验和有效,发射器和类型符合预期。它所解码的位置、对地速度、对地航向、航向、UTC时间和日期、定位状态以及GGA卫星数,在首次比较之前固定的容差内与生成器的真值航迹相等(1.5e-6度、0.06 kn、0.07 km/h、航向0.11度、航首向0.5度、0.02 s),由scripts/gen_nmea_training_ref.py运行,测试数据位于tests/fixtures/nmea_training_ref/。GGA卫星数的预期在首次运行之后依NMEA约定作了更正(无定位时为00);数值容差与预先登记的提交相比未变。不在核对范围之内:任何接收机、海图绘图仪或驾驶台系统是否接受这些数据流;接收机、天空、压制干扰或欺骗干扰模型的真实性(标称天空、经建模的噪声、拖曳和重放剖面,均为MODELLED);HDOP、高度,以及句法和计数之外的DOP与GSA/GSV内容;教员日志。不发射任何信号,也不声称任何抗压制或抗欺骗干扰的性能。
测试
tests/nmea_training_reference.rs (pynmea2 oracle comparison); tests/nmea_training_scenarios.rs::every_sentence_is_checksum_valid_and_the_reader_accepts_it, ::every_sentence_type_is_present_each_epoch…
已独立核对干扰地图:精度代码的含义、AIS不可用值、网格单元归属、各单元状态下的航线长度,以及内陆屏蔽interference_map (adsb::nacp_epu_bound_m, adsb::nic_rc_bound_range_m, adsb::AdsbParams::classify, ais::ais_position_is_valid, ais::ais_speed_kn, grid::Grid::cell_of, route::exposure, land::LandMask::is_inland)
能力
地图所用ADS-B导航精度和完好性代码的解读(NACp代码所代表的EPU界、NIC代码所代表的包含半径界,以及该方法由它们推出的低类和良好类);AIS读取器所丢弃的AIS位置和速度不可用值;一个位置所落入的固定纬度/经度网格单元;航线长度及其按单元状态(降级、未降级、未评估、未观测)的划分,由航线暴露报告给出;以及一个位置是否位于某个陆地多边形内陆一侧且超过缓冲距离。被标记为降级或异常的单元,所述的是所报告的精度字段或不合理的位置,不是对干扰的结论,这里也没有任何东西核对这一点。
参考基准
外部核对的范围,狭义表述:五种独立实现读取同样的合成输入。(1) pyModeS 2.21解码合成的DF17运行状态帧和空中位置帧;Kshana的NACp EPU界一致到0.5 m(最大差异0.4 m),其代码5至11的NIC包含界一致到1 m,其低类和良好类把全部12个NACp代码以及参考基准产生的每个NIC代码(0至11)放在该参考基准的界所隐含的阈值的同一侧(0处不一致)。(2) pyais 3.3.0解码AIVDM类型1语句,其载荷比特由脚本依据ITU-R M.1371原始字段值打包;Kshana恰好拒绝解码所得的不可用位置(纬度91,经度181)和速度(102.3 kn),并把0至102.2 kn保留为解码所得(94帧上0处不一致)。(3) shapely 2.2.0在单元多边形上的covers() 与grid::Grid::cell_of在1770个点上一致,单元尺寸为0.5、0.25、1和0.07度,包括近边缘的点、两极和反子午线(0处不一致)。(4) shapely 2.2.0的航线与单元相交,配合GeographicLib 2.1的WGS84测地线长度,与航线暴露在8条合成航线上一致,其中两条跨越反子午线:总长度一致到0.6%(最大差异0.49%,球体对椭球体),每个单元状态的长度一致到0.6% 加每段125 m(最大为该容差的21%)。(5) shapely 2.2.0的contains() 配合pyproj的方位等距到海岸线的距离,与2000 m内陆屏蔽在围绕四座合成岛屿(其中一座带湖)的992个格点中心点上一致(0处不一致;4个距缓冲区边界20 m以内的点被排除并计数)。容差在任何比较之前固定于tests/fixtures/interference_map_ref/PREREGISTRATION.md,此后未作改动;首次运行发现的合成输入中的两处缺陷记录在那里。不在核对范围之内:Kshana不解码原始Mode S帧或AIVDM语句,因此这验证的是它对已解码数值的解读,不是解码器。参考基准对代码1、2和4的NIC包含半径与DO-260B(20、8和2 NM)不同,因此只对代码5至11做了数值比较。(0, 0) 位置规则、高度下限、来源类型过滤器、标识符哈希、该方法的阈值和统计量,以及单元尺寸的选择,都是Kshana自己的,没有对照任何东西核对。航线比较在两侧使用同样的纬度和经度上的直线路径定义,因此它检查的是长度和单元归属,而不是该路径对船舶或飞机是否正确。这里没有任何东西表明被标记的单元就是干扰。输入是合成的;参考基准的测试数据由scripts/gen_interference_map_ref.py写出(pyModeS为GPL-3.0,只在该离线脚本中使用;CI不需要Python)。
测试
tests/interference_map_reference.rs::adsb_accuracy_and_integrity_codes_agree_with_pymodes (12 NACp codes, 59 NIC rows); tests/interference_map_reference.rs::ais_field_rules_agree_with_pyais_decoding (94 frames)…
由模型计算得出干扰源区域:由飞机和船舶位置报告得出的可行发射源区域interference_map::emitter (estimate, sessions, build_units, profile, GaussianFix::from_tdoa), interference_map::emitter_out (locate), kshana interference-map locate
能力
由ADS-B(NIC/NACp)或AIS位置报告得出的、降质导航报告来源可能所在位置的可行区域:按报告高度和发射源天线高度范围、在4/3地球半径下的无线电视距;针对未知功率的有限有效距离;受影响的单元把后验拉向其可达范围,而具有视距的未受影响单元则把后验推离之,并按时间和空间归并为时段。输出为所述置信水平下的最高密度区域、带矩椭圆的后验质心、时段起止、持续时间、受影响面积以及高于发布下限的不同飞机数量、一日内的时段分布以及每日小时数。不含地形;每个时段只有一个来源;可信度以模型为条件。可选与来自地理定位的TDOA定位解融合。
参考基准
尚无外部检验。仅有合成的正向—反向往返,其生成器与估计器共用同一模型,因此它们检查的是代码和该模型下所述水平的校准,对真实发射源没有任何说明。已预先登记(docs/emitter-region/PREREGISTRATION.md,在任何评分运行之前由所有者签字确认)并运行一次(docs/emitter-region/RESULTS.md)的、对照已公布的Jammertest 2025发射机地点的外部检验:ADS-B为 NOT ASSESSABLE(2个计划时段,少于登记的最低数4),AIS为 NOT ASSESSABLE(没有已公布的时段),因此没有任何判据被检验,该行仍为 MODELLED
测试
interference_map::emitter unit tests (projection round trip, horizon figure, synthetic forward and inverse round trips: the known emitter lies inside the stated region at about the stated rate, edge cases, session…
已独立核对信任遥测的线路格式:Prometheus文本展示格式和OpenTelemetry OTLP/HTTP JSONtelemetry (prometheus: Registry, render; otlp: build_payload, Exporter (feature otlp); sample)
能力
GNSS信任度(分数、档位、原因、门控,以及按请求给出的位置),作为在 /metrics上提供的Prometheus文本展示格式,以及作为OTLP/HTTP JSON指标,对原因标签的基数设有上限。
参考基准
外部核对的范围,狭义表述:我们针对一条84行合成数据流的Prometheus文本展示(含引号、反斜杠、换行符和非ASCII文本的标签值,64条原因序列加一个“other”折叠,门控和位置仪表)被prometheus_client 0.26.0的文本解析器接受,其读出的指标族、类型、帮助文本、标签集和数值与注册表的状态完全相等(数值按f64相等)。针对同一注册表的OTLP/HTTP JSON,经protobuf 7.36.2 json_format.Parse(ignore_unknown_fields=False) 解析为opentelemetry-proto 1.45.1的ExportMetricsServiceRequest,每个指标的名称、描述、单位、种类、单调性、聚合时间性、属性、值、起始时间和时间都与注册表的状态完全相等。两个解析器都已证明会拒绝未知字段、类型错误的值和格式错误的行(scripts/gen_telemetry_formats_ref.py)。模式1.3(0.36),在任何工具读取之前预先登记(fb226057):对一条64行合成的模式1.3数据流(几何状态、DOP、标签和信号丢失,分别为存在、空值、缺失和未知;扣分类别;无法解析的行),同样的两个解析器读出几何序列(Prometheus kshana_trust_geometry*,OTLP kshana.geometry.*)以及kshana_trust_reason_active上的类别标签,与注册表所隐含的完全一致(24个指标族和54个样本;12个指标和31个数据点),promtool 3.5.0 check metrics以0退出,无任何lint问题,OpenTelemetry Collector contrib 0.135.0接受该OTLP/HTTP JSON(状态200,无任何被拒绝),其文件导出器原样记录该请求(xval/telemetry-1.3,受数据门控:发布压缩包按固定的SHA-256获取,并提交其输出)。不在核对范围之内:HTTP端点、投递、超时和重连都没有参考基准核对,Collector的prometheus接收器也没有;注册表是通过访问器读取的,因此注册表状态本身的故障不会被发现;OTLP“已提交输出为最新”的检查只在启用otlp特性时运行;指标名称及其对运行中心的用处没有经过独立核对;CEF和LEEF不在覆盖范围之内(见下一行)。
测试
tests/telemetry_formats_reference.rs (prometheus_client_reads_our_exposition_as_the_registry_implies, the_official_otlp_proto_reads_our_json_as_the_registry_implies, awkward_reason_text_survives_the_parser…
已独立核对信任遥测的SIEM事件:基于syslog的通用事件格式(CEF)telemetry (syslog: cef, rfc5424, SyslogSink; time)
能力
档位变化(或逐历元)事件,作为通用事件格式载荷,装在经UDP或TCP的RFC 5424信封中,带有文档化的字段映射和CEF转义。
参考基准
外部核对的范围,狭义表述:对照两个独立的开源解析器(参考基准:pycef 1.11(PyPI,MIT);Logstash CEF编解码器(Logstash 8.15.3中的logstash-codec-cef 6.2.7)),在本crate写出的一组CEF行上(下面的修订4之前为157行,之后为170行,修订5之后为176行):一条已提交的84行合成信任数据流中的每一次档位变化和每一个历元,加上主机、原因、时间标签和门控名称中的对抗性文本,其中含等号、反斜杠、反斜杠加等号、竖线、换行符、回车符、制表符、连续空格、多字节和星面字符以及形似键的文本,极端分数和偏移,以及有和没有前一档位的每个档位。pycef解析其头部无需转义的行(修订4之前为153,之后为166,修订5之后为172),并按CEF规范的反转义规则(pycef不应用,由scripts/gen_cef_ref.py应用)精确恢复头部字段、严重度、精确的扩展键集和每一个值(数值按f64相等)。Logstash编解码器自己做反转义,解析每一行(157,然后170,然后176),达到同样的判据,并且还恢复出四个需要转义的头部字段(版本字符串中的竖线、反斜杠和等号),而pycef的头部模式读不出这些,因此头部转义仅依靠Logstash编解码器。比较判据在任一解析器运行之前登记于提交5172e579(pycef)和0a7598aa(Logstash),两者在首次比较时都达到了该判据。披露五项修订。修订 (1) 至 (3) 没有触及任何比较规则和任何预期值:(1) 语料库大小断言由5更正为4次档位变化,这是数错了,因为数据流中有4次;(2) 在首次尝试没有产生事件之后,修复了Logstash运行器的管道分隔符接线;(3) 信任度分数和历元偏移从CEF整数字段cn1和cn2移到浮点字段cfp1和cfp2,这是本次发布中作出的线路格式改动,此后重新生成语料库,并在判据不变的情况下重新运行两个参考基准,它们再次达到判据。修订 (4),0.36,扩展了语料库和预期键集,在任一解析器在新行上运行之前登记于d6331429:模式1.3的输入在自定义字段cs6(标签geometry:状态,然后是“;”和扣分类别)、cfp3(geometryHdop)和cfp4(geometryPdop)中加入卫星几何;13个几何用例(语料库增至170行)和三个新键;两者在首次比较时都达到判据,其余不变(pycef解析了170行中的166行,4个tier 2头部用例同前;Logstash为170行中的170行)。修订 (5),0.36,追加了6个几何标签用例(语料库增至176行),在任一解析器在这些行上运行之前登记于9a8e4fa9:对带有几何标签的输入,cs6增加第三个字段(“;”和标签),cn1(geometryUsedSatellites)给出所用卫星数;先读取了Logstash编解码器的映射表(没有flexString字段,因此用cs6而不是flexString1);两者在首次比较时都达到判据(pycef为176行中的172行,Logstash为176行中的176行),而此前的每个参考条目都原样复现。不在核对范围之内:两种解析器都不对cfp值做类型检查(两者都按文本保留),因此浮点字段的使用依据的是CEF数据字典,而不是参考基准;没有运行任何厂商的SIEM;扩展键名及其映射是本crate的选择,解析器只表明它们按所写读回;RFC 5424信封、投递、超时和重连不在覆盖范围之内;pycef是一个最后发布于2020年的小型解析器,Logstash编解码器是更有分量的参考基准。
测试
tests/cef_reference.rs (pycef_reads_every_tier_1_event_as_the_sample_implies, the_logstash_cef_codec_reads_every_event_including_escaped_headers_as_the_sample_implies…
由模型计算得出信任遥测SIEM事件:基于syslog的Log Event Extended Format(LEEF)telemetry (syslog: leef, rfc5424, SyslogSink; time)
能力
频段变化(或逐历元)事件,以Log Event Extended Format 2.0载荷的形式封装在RFC 5424信封中,经UDP或TCP发送,并附有文档化的字段映射。
参考基准
检查范围:本crate自身对文档化LEEF字段映射和RFC 5424信封字段所做的精确字符串测试;目前没有维护中的开源LEEF解析器(在Python包索引中检索未发现),因此该格式只是对照其自身规范、由同一作者读取后进行检查,而不是对照外部参考基准(oracle)。不在检查范围:任何厂商的解析器或SIEM是否接受这些LEEF载荷;文档化规则之外的转义规则;真实syslog收集器的行为。
测试
telemetry::syslog::tests(精确的LEEF字符串、转义、严重性、RFC 5424信封、投递超时与重连);tests/telemetry_cli.rs
已独立核对证据包完好性:签名、哈希链与验证流程evidence (bundle: create_bundle, sign_detached, chain_link, sha256_hex; verify: verify_bundle, verify_detached; tsr; assemble; cli)
能力
GNSS信任事件的签名哈希链证据包:对每个文件计算SHA-256,并在清单上建立哈希链;对清单的精确字节做Ed25519签名;验证器会逐一指明每种失败(文件被更改、删除、重命名、调换或新增,清单被重排或编辑,清单在无密钥的情况下被重新哈希,证据包被重新签名,所固定的密钥有误,以及时间戳令牌被剥离、被替换、为无效内容或对应另一份文档)。
参考基准
外部核对的内容(范围从窄表述):(1)证据包用于签名和严格验证的Ed25519函数(evidence::bundle::sign_detached、evidence::verify::verify_detached)能逐字节复现RFC 8032第7.1节测试向量1、2、3和1024的公钥与签名,接受这些向量,并拒绝向量1的每一个翻转比特、其余向量中每隔七位的翻转比特以及非规范的S+L签名;这些向量取自RFC文本,并由scripts/gen_ed25519_rfc8032_ref.py中的两个独立实现(cryptography/OpenSSL和PyNaCl/libsodium)复现。(2)evidence::bundle::sha256_hex,即所有证据包哈希及哈希链背后的哈希函数,能精确复现FIPS 180-4的SHA-256示例(abc;448比特消息;一百万个a)、空消息,以及跨越填充边界的0至130字节阶梯的hashlib摘要。(3)仅依据docs/EVIDENCE-PACKS.md用Python编写的验证器(scripts/evidence_verify_cleanroom.py:使用hashlib和cryptography;其作者未读过任何Rust代码)在71个合成的完好与被篡改证据包上与Rust验证器完全一致,包括裁决、带文件名的失败集合、签名裁决,以及由文件重新计算出的哈希链头与清单所记录的哈希链头。首次运行71个中有64个一致;不一致之处为一处规范歧义(对照一份不可读的清单检查所固定的密钥)、一处参考基准接口偏差和一个构建不完整的用例;随后澄清了规范语句,依据文本重新实现了参考基准并补全了该用例,未更改任何容差或预期(记录于提交d54e14c6)。不在检查范围:该洁净室验证器是由另一位作者完成的独立实现,而不是第三方权威,且与规范共享相同的取舍,因此它印证的是对规则的这一实现,而不是规则本身;这些向量验证的是密码原语,而不是证据包格式的设计。在本行中,RFC 3161令牌仅读取其消息摘要印记,测试令牌为合成且未签名;时间戳机构的签名与证书链由另一行“RFC 3161时间戳令牌签名与证书链验证”以可选方式(kshana evidence verify --tsa-ca)验证。篡改用例为合成。此处没有任何内容构成对任何证据包的法律意见或证明。
测试
tests/evidence_crypto_reference.rs (RFC 8032 section 7.1 vectors 1, 2, 3 and 1024; FIPS 180-4 SHA-256 examples; exact); tests/evidence_pack_reference.rs::kshana_and_the_clean_room_verifier_agree_on_every_case (71…
已独立核对RFC 3161时间戳令牌签名与证书链验证evidence::tsa (verify_token, pem_certificates); evidence::verify (VerifyOptions::tsa_anchors, Failure::TimestampAuthorityInvalid); evidence::cli (--tsa-ca)
能力
evidence::tsa::verify_token,以及针对证据包timestamp.tsr的可选命令kshana evidence verify --tsa-ca <anchors.pem>:对RFC 3161 TimeStampResp或裸TimeStampToken(基于TSTInfo的CMS SignedData),依据受信任的锚点离线检查,方式与openssl ts -verify的检查方式相同:已签名属性的内容类型以及对TSTInfo的消息摘要;对已签名属性的签名(RSA PKCS#1 v1.5、RSASSA-PSS、ECDSA P-256和P-384;RSA公钥运算基于crypto-bigint);指明签名者证书的ESS signing-certificate v1(SHA-1)或v2哈希,该证书在令牌自带证书与调用方提供的不受信任证书中查找;签名者证书的关键性、唯一的timeStamping扩展密钥用途;到受信任的自签发锚点的证书链,包括每份证书的签名、CA状态和密钥用途,以及每份证书在令牌genTime时均有效;还有消息摘要印记与数据的比对。未检查:吊销(CRL、OCSP)、名称与策略约束、随机数
参考基准
OpenSSL 3.0.13(openssl ts -verify -attime genTime,对RSA-PSS令牌则为openssl cms -verify -cades -purpose timestampsign加上TSTInfo印记),由tests/fixtures/evidence_tsa/run_openssl.sh在cases.tsv的27个用例上运行:使用SHA-256和SHA-512以及ESS v1和v2的RSA PKCS#1 v1.5,P-256中间证书之上的ECDSA P-384根证书以及P-256和P-384 TSA,RSA-PSS,缺少签名者证书的令牌(分别在提供与不提供该证书时),CAdES签名的令牌,被翻转一个字节的签名(三种算法),被更改的TSTInfo(两个),被翻转的中间证书签名,ESS孪生证书,错误的锚点(四个),已过期的TSA证书,非关键的和错误的扩展密钥用途,以及错误的数据(三个)。预先登记于tests/fixtures/evidence_tsa/PREREGISTRATION.md(单独提交,30ad70b2,早于验证器存在之时;OpenSSL裁决随后重新运行,逐字节一致)。首次运行:全部27个裁决一致(B1),且每个genTime精确到秒一致(B2)。范围,从窄表述:自行生成的测试证书和令牌,由作出裁决的同一个OpenSSL制作;OpenSSL是独立实现,而不是时间戳机构;未收录任何公共机构的令牌(freetsa.org未声明许可)。此处不证明任何真实的时间戳
测试
tests/evidence_tsa_openssl.rs::every_case_agrees_with_openssl (the pre-registered comparison); evidence::tsa::tests (civil dates and times, base64, the RSA public operation)…
由模型计算得出在JammerTest 2024数据集上标定的接收机信任干扰阈值receiver_trust::calibration (run_dataset); receiver_trust::monitors (MonitorConfig::profile, JAMMERTEST_2024_CALIBRATED); realdata::jammertest; examples/jammertest_trust_calibration.rs
能力
receiver_trust::calibration::run_dataset:在公开的JammerTest 2024数据集(Zenodo 15911589,GPL-3.0-or-later,运行时获取,从不内置)上,对C/N0下降、AGC和压制干扰指示器三类监测器进行的预先登记标定:对每个文件夹,依据mon_rf.csv和rinex.csv生成1 s时间线,监测器运行一次,标定之后的每个历元依据该文件夹的attack_log(由CEST换算为UTC,60 s保护间隔)标记为干净或存在压制干扰,每个阈值在固定网格上扫描,选取使汇总的干净虚警概率不超过0.01的最小阈值,并给出留一文件夹的保留集计数;另有UBX读取器交叉核对。所选结果仅作为可选配置发布:[monitors] profile = "jammertest-2024-calibrated"(cn0_drop_db 1.5,agc_k_sigma 3.5,jam_ind_threshold 29);默认规则以及未使用该配置的所有输出均不变
参考基准
以该数据集已发布的事件日志(attack_log时间窗)作为事件真值,依据预先登记xval/jammertest-trust/PREREGISTRATION.md(单独提交,0fa012b,早于测试框架运行)。首次也是唯一一次运行(xval/jammertest-trust/RESULTS.md):24个文件夹中有14个可评估(其中7个含压制干扰),干净历元3,502个,压制干扰历元9,560个。保留集干净虚警概率:cn0_drop_db为0.0231(81/3502),判据为0.02,FAIL;agc_k_sigma为0.0003,通过;jam_ind_threshold为0.0094,通过;三者的并集:虚警0.0328,检测0.807,判据分别为0.05和0.50,通过。依据登记的规则,该行为MODELLED(有一项判据未通过)。范围有限:仅一种接收机类型(u-blox ZED-F9P)、一次事件,以预定的一分钟时隙作为真值(检测率为下界;干净指处于记录的时间窗之外);标定基于CSV日志,而UBX读取器在两个文件夹上给出更多虚警。船舶信任度分级未经标定
测试
tests/receiver_trust_jammertest_calibration.rs::the_recorded_calibration_reproduces(忽略,由KSHANA_JAMMERTEST_DIR数据把关:所记录的选择、留出的计数、判据判定及判定…
由模型计算得出Jammertest评分:依据已发布的测试计划,对接收机日志按每次预定测试评分(检测延迟、漏报警、虚警、恢复时间)jammertest::plan (parse_catalog, parse_plan, import, import_attack_log, events_toml); jammertest::score (score_run); jammertest::dataset (run_dataset); jammertest (score_log, score_pack); examples/jammertest_score_2024.rs
能力
jammertest::{plan, score, dataset}(kshana jammertest import|score):将NPRA测试目录与发射计划(MIT,以固定的SHA-256获取,从不内置)读作预定真值,并保留目录标识;对接收机信任度运行按每次测试评分(首次报警减去计划开始时间,对照容差判定为detected/late/missed,到首个无报警时段的时间,位于所有时隙及其保护间隔之外的报警),并附带携带评分卡的已签名证据包。该时间表是计划时隙,而不是实际播发时间的记录
参考基准
计划中每个测试区域的时隙数(76、77和45个时隙,其中61、63和32个发射)由脚本对同一份JSON独立计数;以2024数据集的attack_log时间窗作为事件真值,依据预先登记xval/jammertest-score/PREREGISTRATION.md(单独提交,c2e6d3b,早于评分器运行)。首次也是唯一一次运行(xval/jammertest-score/RESULTS.md):登记的最小数据量规则未通过(12个UBX文件夹中有4个共4个可评分的压制干扰时间窗,而最低要求为来自2个文件夹的10个时间窗:5个文件夹被基线规则剔除,3个UBX日志仅含GPS周内时),因此判据B1至B4无法评估;未放宽任何条件,也未重新运行。v2(xval/jammertest-score/PREREGISTRATION-v2.md,单独提交,仅涉及数据处理:仅含GPS时间的日志按日期定位,12个仅有CSV的文件夹,针对移动流动站的移动平台会话;判据和最小数据量规则不变):24个文件夹中保留14个,但可评分的压制干扰时间窗仅7个,最小数据量规则再次未通过,没有任何判据可评估(RESULTS-v2.md)。预定真值:计划时隙不是实际播发记录,漏检可能是该测试根本没有运行,延迟自计划开始时间算起,干净指处于计划时隙之外。测量域监测器的检测结果并不能说明低功率欺骗源的情况。仅一种接收机类型(u-blox ZED-F9P)。2025 SimulaMet NMEA数据集未被使用(未声明许可,需订阅访问)
测试
tests/jammertest_plan_roundtrip.rs(由KSHANA_JAMMERTEST_PLAN_DIR数据把关:2025年计划中每个测试区域的槽位数、目录标识、TOML往返);tests/jammertest_score.rs(带有已知丢失的合成日志…
已独立核对Test-bench导出(kshana bench-export):地固系、大地坐标和局部速度各列、姿态各列以及NMEA 0183输出interop::testbench (write_motion_csv, write_nmea, trajectory_of, export); fusion::pack::truth_trajectory
能力
运动CSV的地固系位置、大地位置、地固系速度、航向/俯仰/横滚和UTC各列,以及NMEA GGA/RMC语句,由合成场景生成(gnss-ins,含automotive-urban-canyon、jamming、gnss-sim)。仅含运动与事件;不写入任何信号,也不声称任何模拟器或接收机的性能。
参考基准
外部核对的内容(范围从窄表述):对照pyproj 3.8.0(PROJ 9.8.1)、geographiclib 2.1、pynmea2 1.19.0和scipy 1.18.1,由scripts/gen_testbench_ref.py在4个合成场景上运行,容差在首次比较之前固定(均取写出程序舍入的最坏情形):每一行的地固系各列等于大地坐标各列的WGS 84换算结果(最差1.3e-4 m,判据3e-4),反向换算亦然(1.3e-9 deg,判据2e-9;高度1.3e-4 m,判据3e-4);经PROJ的站心运算旋转到北东地的地固系速度等于引擎的真实NED速度(7.5e-5 m/s,判据2e-4);航向、俯仰和横滚等于scipy对引擎真实四元数求得的偏航-俯仰-横滚(5.0e-7 deg,判据1e-6);每条NMEA语句都能在pynmea2中解析且校验和有效,其解码得到的位置(1.2e-3 m,判据5e-3)、高度、速度、航迹向(5.0e-4 deg,判据1e-3)和时间均等于运动数值;UTC列等于独立的日期时间运算。所检查的CSV和NMEA精确字节的SHA-256已固定。不在检查范围:场景的真值轨迹本身(行驶剖面及其积分);各项约定(航向是机体偏航角,而不是航迹向,在automotive-urban-canyon上与航迹向最多相差约77度;GGA质量指示、卫星数和HDOP为占位值);任何实验室模拟器是否按预期读取这些文件;任何模拟器或接收机的性能。这些参考基准检查的是换算和编码,而不是场景的物理。局部坐标系的处理仅通过速度旋转以及NMEA速度和航迹向来检查(CSV没有局部位置列)。
测试
tests/testbench_reference.rs (7 tests: oracle pins, export bytes, worst case over every row, position columns, local velocity vs true NED velocity, Euler angles vs scipy, NMEA vs pynmea2); tests/interop_testbench.rs…
由模型计算得出与公开框架的compliance对应compliance
能力
compliance(kshana compliance-report):仅按编号,将Kshana的输出映射到公共框架的条款,依据所给的运行填写;一项结果只有在携带该映射所指明的证据时才计为对某项能力的支持,空集不证明任何事情,措辞为“supports evidence for”;该报告不是任何框架已被满足的结论,也不是任何人作出的评级或批准。
参考基准
参考文献依据对所引公共文档于2026-10-10读取并由脚本提取的标题索引进行核对(tests/compliance_references.rs)。检查范围:49处所引条款、章节、段落或标题的引用存在于所引文档中,7个所引URL在记录的日期可解析(其中2个通过第二条途径);负面对照均失败。不在检查范围:任何转述、映射或缺口是否正确;EN 16803的条款(付费,仅有目录文本);后续修订版;该索引不是独立实现。
测试
tests/compliance_report.rs::mapping_is_well_formed; tests/compliance_report.rs::wording_rule_holds_in_mapping_report_and_docs; tests/compliance_report.rs::empty_set_evidences_nothing…
由模型计算得出船舶集成:Signal K插件、OpenCPN门控数据流与评分面板、参考构建receiver_trust(实时:门控、其TCP监听器、PKSHT);crate之外:integrations/signalk(JavaScript)、integrations/opencpn(JavaScript中继、C++ 原生插件)、deploy/reference-build(systemd单元、容器)
能力
在Signal K服务器中发布于navigation.gnss.kshana之下的信任度、分级、原因、门控状态和接收机上报位置,并带有warn、alarm和normal通知(integrations/signalk);经门控的NMEA数据流,在信任度崩溃时将定位标记为无效,并每个周期输出一条PKSHT语句,由门控自身或一个小型中继经TCP提供给OpenCPN,以及读取PKSHT语句的原生OpenCPN评分面板(integrations/opencpn);还有运行该门控的systemd单元和容器(deploy/reference-build)。这些组件显示输出之处均带有咨询性声明:仅供参考的软件,不是经型式认可的导航设备(IEC 61108、IEC 61162):船舶航行的责任仍由操作人员承担。
参考基准
检查范围,从窄表述:这些集成能够与其所针对的真实软件协同工作。证据已提交于integrations/signalk/evidence/README.md(含其JSON文件)和integrations/opencpn/evidence/README.md(含其截图和日志),并各附复现它的脚本。(1)Signal K:插件加载到固定版本的signalk-server 2.33.0 npm包中,运行在仅限环回的私有网络命名空间内,输入合成数据。服务器自身的REST和WebSocket接口显示了所发布的路径、评分元数据,以及一条通知;当数据停止时,该通知依次经历缺失、warn、alarm、normal(保持时间之后)、再次warn。在由插件运行真实kshana、处理服务器自己收到的NMEA的情况下,通知先为warn后为alarm,并发布了上报的位置;服务器自身的navigation.position由其NMEA提供方写入,从不由插件写入。已对照实时JSON schema 1.2重新运行。(2)OpenCPN:插件依据OpenCPN插件API头文件和wxWidgets 3.2.4构建,加载到虚拟显示下OpenCPN 5.8.4的Ubuntu 24.04软件包中;OpenCPN加载了它,运行了其初始化,并将经门控数据流的PKSHT语句交给它,面板在不受信任的分级上变为红色。在一次干净的运行中,当门控将定位标记为无效时,OpenCPN自身的本船位置停止更新,其定位指示灯也熄灭。第二次运行由门控的TCP监听器直接馈送,显示了向插件的传递,但没有得到干净的前后对比。(3)中继测试通过真实的TCP套接字重放一段已记录的门控数据流摘录,并检查消费方收到的内容(字节不变,每条语句(包括被改写的语句)校验和有效,GGA与RMC一致,每个周期一条PKSHT,且在定位无效处带有门控字段),端到端脚本则检查门控监听器的消费方收到的字节,与同一门控写入标准输出的字节完全相同。(4)PKSHT解析器(JavaScript和C++)在由kshana输出记录的语句上运行,并拒绝错误的校验和、版本或位于0至100之外的评分。(5)systemd单元以systemd-analyze verify(systemd 255,二进制文件为桩)检查,并带有针对ExecStart中的shell、重启策略和沙箱键的防护检查;容器入口点的参数处理以桩二进制文件检查。不在检查范围:这些集成所显示的任何数值都没有外部参考基准(oracle)。信任度数值本身即上面各行,而集成运行只表明这套管线能够传递它们;因此该行为MODELLED,而不是VALIDATED(docs/VALIDATION.md)。未使用真实船舶、接收机、长时间运行、任一宿主软件的其他版本、其他操作系统或桌面环境;所有数据均为合成文本,这里没有任何内容是测量结果。真实Signal K客户端对通知的声音和视觉处理、OpenCPN的工具栏按钮、首选项和陈旧状态,以及OpenCPN插件管理器的打包,均未试验。systemd沙箱键仅检查了语法,未在实际运行的systemd下运行,且容器镜像构建及其健康检查在此没有已提交的证据。不声称任何检测或虚警数据。仅供参考的软件,不是经型式认可的导航设备(IEC 61108、IEC 61162):船舶航行的责任仍由操作人员承担。
测试
tests/receiver_trust_live_cli.rs(门限及其TCP监听器,Rust一侧);integrations/signalk/test/adapter.test.js、integrations/signalk/test/model.test.js与integrations/signalk/test/plugin.test.js(24个Node…
由模型计算得出BOC(1,1) 跟踪:DLL缩放与bump-jump模糊度解算(可选)iq::track::boc (BocKind, BocTracking, BumpJump, boc11_dll_scale); iq::track::channel (the bump-jump taps and Channel::bump_jumps)
能力
iq::track::LoopConfig的boc字段(可选,默认为None):将三种DLL鉴别器重新缩放,使其以码片为单位读出码误差,并在正弦BOC(1,1) 主峰上具有单位斜率;以及一个位于极早和极晚相关器上、间隔为一个副载波半周期(0.5码片)的bump-jump监测器,当增减计数器达到N(默认8)时,将码NCO向主峰跳变。不启用该选项时,所有输出均不变。
参考基准
针对注入的真值和闭式解的内部自洽性,判据于6b68f6cc预先登记(docs/design/evidence/boc-bump-jump/)。由iq::scene生成的北斗B1C数据信号(PRN 19,5 MS/s):关闭该选项时,从旁瓣起步的跟踪仍错锁在预测的 ±(0.5 + d/4) 码片处(实测 ±0.549);开启时,在0.08 s处向主峰跳变一次,后段窗口RMS在45 dB-Hz时为0.0008码片,在35 dB-Hz时为0.0048码片;在35、40和45 dB-Hz下,4 s内从主峰处无跳变;缩放后的EMLP斜率在采样信号上为0.94至0.99(未缩放为3.6至3.8)。仅bump-jump检测器,在具有精确BOC(1,1) 噪声协方差的相关器三元组上,在25至45 dB-Hz的100,000次更新中没有出现虚假跳变,并在35 dB-Hz下检测出1000次旁瓣起步中的1000次。NOT MET(发现F1):缩放的预先登记单元测试网格包含超出鉴别器线性范围的偏移,其中缩放后的读数与偏移相差最多48 %。不在检查范围:现场IQ、带限前端、复合MBOC/QMBOC副本以及任何外部接收机。
测试
tests/iq_boc_bump_jump.rs (b1_b2_b3_side_peak_and_false_jumps_on_the_iq_chain, b4_scaling_on_the_sampled_signal, b5_false_jump_rate_and_detection_at_correlator_level); iq::track::boc unit tests…
由模型计算得出对照实测50 Hz GPS L1闪烁的IQ电离层闪烁信道(Cornell模型)iq::channel::scint (Scintillation, ScintParams); realdata::scint50 (parse_log, segments, measured_windows, model_windows, compare)
能力
iq::channel::scint,即Cornell闪烁模型(Rice强度、二阶Butterworth谱、相位arg z),以实测窗口的S4和强度去相关时间驱动,并就其在这两个输入之外所生成的内容进行比较;realdata::scint50读取实测日志,去除趋势并运行该比较。
参考基准
实测数据,判据于b6ccb499预先登记(xval/scint-malindi/):Zenodo记录16941224(INGV,Malindi,2023年3月18日,GPS PRN 26,50 Hz强度和载波相位,CC BY 4.0,已核对SHA-256)。22个合格的60 s窗口(N1达到)。MET:强度分布(Kolmogorov-Smirnov D为0.0415,判据0.05)以及与S4相关联的相位闪烁(实测/模型sigma-phi的中位数0.779,判据2/3至3/2)。NOT MET(发现F1):模型的深衰落占比为实测的2.38倍(判据0.5至2),其平均衰落时长为实测的3.51倍(判据2/3至3/2)。发现F2:登记的处理读取的是模型的缠绕相位,这一点由一次自检暴露;事后在相位解缠的情况下重复B3,得到0.804。不在检查范围:其他夜晚、台站、纬度或信号;模型中的接收机噪声。该行仍为MODELLED。
测试
tests/iq_scint_malindi_measured.rs(cornell_model_verdict_is_the_recorded_one,所登记的判定按所记录的断言,发现F1;finding_model_fades_are_deeper_and_longer_than_measured…
由模型计算得出IQ捕获中的单元平均CFAR选项iq::acq (CfarConfig, ca_cfar, ca_cfar_cells, ca_cfar_pfa, ca_cfar_alpha)
能力
iq::acq::ca_cfar和ca_cfar_cells(可选):将捕获网格的一个单元与其多普勒行的参考单元均值(保护延迟和步进延迟,绕周期回卷)比较,所用因子alpha由M个非相干块的闭式CA-CFAR虚警概率(ca_cfar_pfa、ca_cfar_alpha)设定。采样功率检测器仍为默认,所有现有输出均不变。
参考基准
闭式解,判据于3724aefa预先登记(docs/design/evidence/acq-cfar/)。Gamma(M) 单元的CA-CFAR虚警概率,对照精确模型的蒙特卡罗:18个用例中有18个落在3个二项sigma之内。在iq::acq搜索的每个单元上(GPS L1 C/A,2.5 MS/s,每次210,000个单元),设计值为1 %:高斯噪声下为0.977 % 和0.969 %,2比特量化噪声下为1.006 % 和0.999 %(M = 1和4;判据为正负20 %);输入被缩放时,判决不变。NOT MET(发现F1):在无噪声的2比特信号上,检测及其单元均正确,但峰值所在行的非峰值单元中有1.28 %(判据1 %)超过门限,位于该码的确定性相关旁瓣处。不在检查范围:其他CFAR变体、二维窗口、带限前端、现场数据。
测试
tests/iq_acq_cfar.rs (c1_closed_form_matches_monte_carlo_of_the_exact_model, c2_false_alarm_rate_on_gaussian_noise, c3_false_alarm_rate_on_two_bit_noise, c5_decisions_do_not_depend_on_the_input_scale…
由模型计算得出频谱模型:GLONASS、北斗和Galileo E6频段(可选)spectrum (default_band, MORE_BAND_NAMES, GLONASS_CHANNELS)
能力
spectrum::default_band仅按名称(MORE_BAND_NAMES)解析:每个FDMA频道K = -7至6上的GLONASS L1OF和L2OF(BPSK,0.511 Mchip/s),北斗B1I(BPSK(2))、B1C(MBOC(6,1,1/11))、B2a和B3I(BPSK(10)),以及Galileo E6(BPSK(5)),其载波和最小接收功率取自各自的接口控制文件;默认频段集和所有现有输出均不变。
参考基准
已发布的接口控制文件和闭式解,判据于5806f28b预先登记(docs/design/evidence/spectrum-bands/):GLONASS ICD Edition 5.1、BDS-SIS-ICD B1I 3.0、B1C 1.0、B2a 1.0和B3I 1.0、Galileo OS SIS ICD Issue 2.1。MET:每个载波、码速率和接收功率均与转录值一致(28个GLONASS频道),BPSK的第一零点位于码速率处,B1C复合信号等于其ICD功率表给出的MBOC(6,1,1/11),C/N0路径恒等式成立,以及频谱场景逐字节一致。NOT MET:单位面积判据,按原文写法无法达到(发现F1;这些面积等于闭式的带内占比),以及IQ层的B1I和B1C波形与模型包络的逐频点一致性(1.26和1.56 dB,判据为0.5 dB,发现F2;GLONASS为0.07 dB),原因是Gold码和Weil码的线谱不均匀;按频带平均,主瓣在0.25 dB之内一致。不在检查范围:记录的IQ、其他信号、系统内干扰。
测试
tests/spectrum_more_bands.rs (s1_new_bands_carry_their_icd_values, s2_nulls_and_b1c_parts, s4_cn0_paths_agree_on_the_new_bands; s2_closed_form_densities_verdict_is_the_recorded_one, finding F1, pinned by…
已独立核对对照独立生成器检验北斗B1I主测距码iq::signals::beidou (b1i_bits, b1i)
能力
iq::signals::beidou::b1i_bits和b1i:截断为2046个码片的BDS-SIS-ICD-B1I-3.0 Gold码,PRN 1至63,即IQ层生成、捕获和跟踪的码。
参考基准
GNSS-SDR v0.0.19(标签v0.0.19,提交1ddd4562),同一ICD的一个独立开源实现:其beidou_b1i_code_gen_int经单独编译后生成了全部63个码。仅提交其程序输出:tests/fixtures/iq_signals/beidou_b1i_gnss_sdr.txt,即64个码片的前缀以及每个2046码片码的SHA-256。该输出就是公开的BDS-SIS-ICD-B1I-3.0所定义的北斗B1I PRN码;仓库中不含GNSS-SDR的源代码或二进制文件。判据于911106d1预先登记(xval/beidou-b1i-gnss-sdr/):全部63个PRN的全部2046个码片完全一致,无反相、移位或重新标号。结果:63个中有63个一致;该固定数据由全新的v0.0.19检出重新生成(源文件SHA-256按所记录),并逐字节一致。不在检查范围:NH20二次码、GEO PRN列表、载波和码速率。
测试
tests/iq_signals.rs::beidou_b1i_matches_gnss_sdr_generator_for_all_63_prns
已独立核对对照IS-GPS-800J印刷校验列检验GPS L1C测距码和叠加码iq::signals::gps (l1c_weil, l1c_ranging_bits, l1c_p_bits, l1c_d_bits, l1co_s1_run, l1c_o_bits); iq::signals::tables
能力
iq::signals::gps::l1c_p_bits、l1c_d_bits和l1c_o_bits:L1CP和L1CD的Weil测距码(计算得到的Legendre序列、Weil索引、插在码片p之前的扩展序列)以及L1CO的S1叠加码,PRN 1至63。
参考基准
IS-GPS-800J(01-AUG-2022,分发声明A),即其在生成器参数旁印出的校验列:表3.2-2中每个L1CP和L1CD码的起始和末尾24个码片,表3.2-3中每个L1CO码的起始和末尾11比特,表6.2-1中长度为10223的Legendre序列;由scripts/extract_is_gps_800_tables.py自PDF转录(SHA-256 c4aad710...)。判据于fe372e26预先登记(docs/design/evidence/l1c-codes/):252列中有252列、63个叠加码中有63个、10,223个Legendre比特中有10,223个完全一致;提取的 --check通过;负面对照使重新标号、反相和移位的码均失败。不在检查范围:生成器参数本身(它们来自同样的表格)、印刷列之间的码片、TMBOC副载波图样以及L1CO的S2码。
测试
tests/iq_signals_gps_l1c.rs (c1_l1cp_and_l1cd_initial_and_final_24_chips_match_is_gps_800j_table_3_2_2, c2_l1co_initial_and_final_11_bits_match_is_gps_800j_table_3_2_3…
已独立核对对照LSIS-AFS V1.0印刷校验列检验LunaNet AFS-I和AFS-Q主码iq::signals::lunanet (afs_i_bits, afs_q_primary_bits, legendre_bits); iq::signals::lunanet_tables; iq::lunanet_afs::check_spec
能力
iq::signals::lunanet::afs_i_bits和afs_q_primary_bits(kshana iq中的信号名为lunanet-afs-i和lunanet-afs-q):AFS-I Gold码(2047经短周期截断为2046,G2按PRN延迟)和AFS-Q Weil主码(计算得到的Legendre序列、Weil索引、插在码片p之前的扩展序列),PRN 1至210。
参考基准
对照LSIS-AFS V1.0印刷表格(规范中标注为TBC):LunaNet Interoperability Specification V5,适用文件1卷A:LunaNet Signal-In-Space Recommended Standard, Augmented Forward Signal (LSIS-AFS) V1.0,2025年1月29日(NASA;PDF SHA-256 986e0795...),即其在生成器参数旁印出的校验列:表C-1至C-5和D-2至D-6中每个AFS-I和AFS-Q码的起始和末尾24个码片,表D-1中长度为10223的Legendre序列;由scripts/extract_lunanet_afs_tables.py提取(xval/lunanet-afs/oracle/)。判据于生成器存在之前在b3ba5d5预先登记(xval/lunanet-afs/PREREGISTRATION.md):B1 420个中有420个,B2一致,B3 420个中有420个。该文件将其码表标注为{LSIS-TBC},并说明这些码表仅用于测试和集成,因此这里验证的是该版本表格所对应的构造,而不是后续版本的。一项关于印刷的G2初始状态的预先登记声明(B1b)当初方向表述有误,为NOT MET(210个中有0个),已固定;更正后的关系(2047减去延迟)在210个中有210个成立,并记录为事后结果。不在检查范围:生成器参数本身(同样来自这些表格)、印刷列之间的码片、三次码、电文层和LDPC编码。
测试
tests/lunanet_afs_codes.rs (b1_afs_i_gold_codes_match_the_printed_first_and_last_24_chips_for_all_210_prns, b2_the_legendre_sequence_of_length_10223_is_the_printed_table_d1…
由模型计算得出对照LSIS-AFS V1.0检验LunaNet AFS三次码与电文层(SB1 BCH、CRC-24Q、交织器)iq::lunanet_afs; iq::signals::lunanet (afs_q_tertiary_bits, afs_q_overlay_bits, afs_q_tiered); surface (lunanet_afs_check_spec, lunanet_afs_check_symbols, lunanet_afs_generate)
能力
iq::signals::lunanet::afs_q_tertiary_bits、afs_q_tiered;iq::lunanet_afs:同步图样、SB1 BCH(51,8) 编码器与256假设解码器、CRC-24Q、60 x 98分组交织器、符号流检查器(kshana lunanet-afs-check),以及带占位子帧的测试流生成器。子帧2至4的码率1/2 LDPC编码尚未实现(其矩阵位于另一附件中)。
参考基准
LSIS-AFS V1.0(同上):长度为1499的Legendre序列(表E-1,一致),以及三次码的起始和末尾24个码片(表E-2至E-6:420列中有419列一致;该文件为PRN 147和PRN 151印出了相同的末尾24个码片A14850,而生成器复现的是PRN 151的,因此PRN 147条目很可能是印刷错误;420个中有420个的判据为NOT MET,该未达标已固定);SB1码的图8算例(一个算例:0x045编码为0x229F61DBB84A0);对照目录校验值0xCDE703检验ASCII 123456789的CRC-24Q;该文件自身的帧算术。判据于b3ba5d5预先登记。记录在案的有一处未达标,电文层只有一个算例,因此该行保持MODELLED。不在检查范围:LDPC及子帧2至4内的CRC字、电文内容以及任何已记录的数据流
测试
tests/lunanet_afs_codes.rs (b4_legendre_1499_matches_and_tertiary_codes_match_except_one_printed_column, the_spec_check_reports_every_bar_and_pins_the_b4_miss); iq::lunanet_afs::tests…
由模型计算得出标准包:对照运行前已声明的判据进行评分的场景standards_pack; compliance (standards-pack facts in compliance-report)
能力
standards_pack(kshana standards-pack):DHS Resilient PNT框架针对1至4级的测试配置、IMO MSC.1/Circ.1575精度等级与完好性评估,以及ICAO Doc 9849附录F的监测、评估与缓解包:每项测试运行一种内置场景类型,并将结果字段与包中声明的判据比较,需要接收机日志的测试列为NEEDS INPUT,不予评分。
参考基准
场景结果没有外部参考基准:每项包内测试运行的都是MODELLED场景类型。判据是包作者声明的配置(DHS框架未给出数值;IMO精度限值为MSC.1/Circ.1575的表C-1,已通读;ICAO包依据ICAO自己的RFI Mitigation Plan演示文稿,因为Doc 9849为付费出版物,未读),在任何评分运行之前,提交于standards/ 下xval风格的PREREGISTRATION.md文件中。MET的判据说明的是某个模型化场景达到了所声明的判据,与任何产品无关
测试
tests/standards_packs.rs(pinned_outcomes:每项测试的状态,包括未达到的L4-T1和四项IMO精度测试);standards_pack::tests
由模型计算得出实验室往返证据包(场景、测试条件、接收机日志、评分)evidence::roundtrip, evidence::assemble, interop::testbench (write_conditions_json), iq::campaign::conditions
能力
evidence::roundtrip(kshana evidence round-trip)以及kshana bench-export的kshana.test-conditions/1接收机日志导出:一个已签名的证据包,记录场景哈希、所声明条件的哈希、日志哈希以及对照所声明事件的评分,并拒绝与评分事件不一致的条件,或哈希不是所声明哈希的日志。不写入、重放或调度任何信号。
参考基准
无外部参考基准:该证据包关联各哈希以及一项MODELLED的接收机日志评分,在合成数据上检查(将内置场景导出的NMEA视作接收机日志)。不声称进行过任何实验室运行
测试
tests/round_trip_pack.rs (pack_links_scenario_conditions_log_and_score_and_verifies, conditions_that_disagree_with_the_scoring_events_are_refused, a_stated_log_hash_that_does_not_match_is_refused…
由模型计算得出在独立录制数据上对照GNSS-SDR 0.0.19检验IQ跟踪引擎iq::track (Channel, LoopCore, design); iq::cli::track
能力
完整的IQ层跟踪引擎(经kshana iq track使用iq::track:捕获交接、相关器、NCO、二阶15 Hz Costas PLL、一阶2 Hz载波辅助EML包络DLL、锁定指示器和C/N0估计器),用于30至45 dB-Hz的GPS L1 C/A。
参考基准
GNSS-SDR 0.0.19(GPL-3.0-or-later,Ubuntu 24.04软件包,作为单独的程序运行;仅提交推导出的数值)跟踪相同的numpy录制数据(独立于引擎),两者均对照解析真值衡量。判据于48edd4a5预先登记,并在任何测试录制之前于1e4288c4修订(仅在牵引阶段,两台接收机均使用10 Hz FLL,原因是登记的标定因GNSS-SDR的交接有误而失败,发现F3)。在30、35、40和45 dB-Hz下均为MET:载波抖动在GNSS-SDR的4.3 % 之内,码抖动在4.6 % 之内,多普勒的均值与离散度在GNSS-SDR的范围之内。NOT MET:引擎的NWPR C/N0比GNSS-SDR的SNV低2.3至7.1 dB(发现F4,即已知的NWPR局限;其M2M4与真值相差在0.06 dB之内);相位锁定指示器因定义不同而不同(F5);在30 dB-Hz下GNSS-SDR发生了两次周跳而引擎没有(F6)。GNSS-SDR自身的交接在30次标定运行中有3次锁定到错误的频率。不在检查范围:其他信号、数据比特剥离、重新捕获、现场录制数据。该行仍为MODELLED。
测试
tests/iq_track_gnss_sdr_oracle.rs (calibration_passes_for_both_receivers, registered_bars_give_the_recorded_verdict, recorded_numbers_are_pinned), on numbers derived by…
由模型计算得出对照独立numpy重新计算检验压制干扰类型中的CRPA天线增益jamming (CrpaCfg, crpa_weights, run_jamming); crpa (null_steering_weights, mvdr_weights, covariance)
能力
压制干扰类型的可选 [crpa] 段:对每颗卫星的逐通道波束(以干扰源为零陷的零陷转向,或基于sigma^2 I + P_j a_j a_j^H的MVDR),在现有的抗干扰C/N0公式之前,以 ||w||^2缩放每条链路的噪声,并以 |w^H a_j|^2缩放干扰。
参考基准
对压制干扰演示几何的每条链路,在4单元方阵、两种加权下,做独立的numpy重新计算(xval/crpa-jamming/oracle.py,不共享代码:numpy导向矢量、numpy.linalg.solve和inv)。判据于08d83b4d预先登记。MET:A1(不含该段时,全部150个场景结果逐字节一致,经一次修复后:首个构建曾在每次压制干扰运行的单位表中加入了crpa单位),A2(单个阵元与无阵列相等,精确到1e-12 dB),A3的阵列噪声增益和有效C/N0(912个链路加权在1e-9 dB之内,最差2.1e-14 dB)以及零陷转向的干扰零陷(两侧均低于 -200 dB),A4(在JNR为80 dB时,MVDR与零陷转向相差在0.1 dB之内)。NOT MET:A3的MVDR干扰增益,在0.36可移植数学库下,456条链路中有194条超过1e-9 dB(在宿主数学库下为202条;docs/revisions/STUDIO15-batch4-rebaseline.md)(最差1.7e-6 dB),残差为 -100至 -188 dB,此处float64的相消限制了两种实现(numpy的inv和solve在169条链路上彼此不一致,最差7.9e-7 dB);由此产生的有效C/N0不受影响。不在检查范围:互耦、阵元失配、宽带处理、多个干扰源、任何天线硬件。这是对同一组公式的重新计算,不是外部参考基准;该行保持MODELLED。
测试
tests/jamming_crpa.rs (a1_crpa_units_only_with_the_section, a2_one_element_is_no_array, a3_verdict_is_the_recorded_one, a4_mvdr_tends_to_the_null_at_high_jnr), against xval/crpa-jamming/expected.json from…
由模型计算得出在真实SRTM图幅上,对照独立numpy重新计算检验压制干扰类型中干扰源的地形遮蔽jamming_terrain (TerrainCfg, jammer_terrain, knife_edge_loss_db); jamming (run_jamming_sky)
能力
压制干扰类型的可选 [terrain] 段:在SRTM .hgt图幅上取干扰源与接收机之间的大圆地形剖面,含k因子地球隆起,取主导刃形边缘(最大的Fresnel-Kirchhoff nu)以及ITU-R P.526-15第4.1节的单刃损耗,并从干扰源的接收功率中扣除。
参考基准
针对位于Badwater Basin的一台接收机周围十个干扰源布置,在已提交的真实SRTM图幅tests/fixtures/terrain/N36W117_sub6.hgt上做独立的numpy重新计算(xval/jamming-terrain/oracle.py,不共享代码:自有的 .hgt读取、双线性插值、WGS 84往返、剖面、隆起、nu和J(nu))。判据与布置于92cd2bfd预先登记。全部MET:可加性(不含该段时,全部150个场景结果逐字节一致);每个布置的剖面点和障碍物相等,nu与损耗在1.6e-10之内(判据1e-9);干扰源高度从2升到4902 m时,损耗从不上升;该损耗使每个J/S恰好降低其自身大小,不影响其他量;J(nu) 与参考基准相差在1e-12 dB之内。发现:跨越Black和Funeral山脉的布置损耗44至48 dB;两个谷底布置在2 m天线高度下,仅地球隆起就分别损耗8和15 dB,这是单刃模型的掠射情形。不在检查范围:任何实测传播、多刃衍射、地面反射、杂波、DEM自身的误差。这是对同一模型的重新计算,不是外部参考基准;该行保持MODELLED。
测试
tests/jamming_terrain.rs (b1_terrain_units_only_with_the_section, b2_every_placement_matches_the_independent_numpy_recomputation, b3_the_loss_never_rises_as_the_jammer_rises…
由模型计算得出对照独立重新计算检验压制干扰类型中的捕获迟滞与前端量化器jamming_rx (AcquisitionCfg, AcqState, FrontEndCfg, front_end); jamming (run_jamming_sky); iq::frontend::quant (optimum_step_sigma)
能力
压制干扰类型的可选 [acquisition] 段(卫星在重新捕获延迟之后,于不低于捕获门限时被捕获,并在不低于跟踪门限时保持)与 [front_end] 段(AGC读数10 log10(1 + J/N),以及ADC的高斯输入量化损耗,两者从每条链路中扣除,并标注对非高斯干扰源无效)。
参考基准
依据引擎逐历元的有效C/N0,对每个捕获标志做独立的Python重新计算(xval/jamming-acq-agc/hysteresis.py);对量化损耗做独立的numpy蒙特卡罗(xval/jamming-acq-agc/quantiser_mc.py,自有的最优步长搜索,2^22个样本);以及IQ层的AGC环路。判据于70c72fcc预先登记,另有一组补充运行,种子为37793290。MET:可加性(不含这些段时,全部150个场景结果逐字节一致);补充运行中每个标志均相等(1824条链路,其中732条表现出迟滞);对门限单调;量化损耗在1至4比特下与蒙特卡罗相差在0.0007 dB之内(判据0.02 dB);AGC读数与AGC环路相差在0.012 dB之内(判据0.05 dB)。NOT MET:登记的迟滞运行(10至30 dBW下的jamming-demo)没有信息量,所有链路均已丢失,其H2和H4仅是平凡地达到。发现:对于CW干扰源,1比特ADC比引擎所用的高斯数值多损耗约5 dB,并被标注为无效。不在检查范围:捕获搜索本身、AGC的时间动态、任何接收机硬件。这是对同一模型的重新计算,不是外部参考基准;该行保持MODELLED。
测试
tests/jamming_acq_agc.rs (h1_g1_units_only_with_their_section, h2_no_hysteresis_is_no_hysteresis, h2s_no_hysteresis_is_no_hysteresis_on_the_supplementary_runs, h3_flags_match_the_independent_recomputation…
由模型计算得出低于默认设计FLL到PLL交接下限的封顶FLL牵引(可选)iq::track (LoopConfig, FllGate, design); iq::track::channel (the FLL gate)
能力
iq::track的可选carrier.fll_pull_in_max_s(iq::track::LoopConfig的fll_pull_in_max_s字段):在fll_assist = pull-in下,无论PLI如何,FLL都在固定的牵引时间之后交接给PLL,并带有一段对应的返回驻留,直到PLI首次达到fll_off_pli。
参考基准
针对注入真值的内部自洽性:一个无数据的合成GPS L1 C/A信号源(PRN 13,1500 Hz,4.1 MHz,8 s,十个噪声种子),其载波相位已知,判据于58789af0预先登记(docs/design/evidence/fll-handover-floor/)。MET:对照(不封顶的默认设置在33 dB-Hz下,10个种子中有9个从不交接);可加性(默认哈希及现有跟踪测试不变);在45 dB-Hz下对偏差100 Hz的交接的牵引。NOT MET:在1.0 s封顶下,每次运行都实现交接并保持(33 dB-Hz下20次中有16次,31 dB-Hz下20次中有8次;其余在强制交接与FLL返回之间循环),且相位抖动在单独PLL的25 % 之内(33 dB-Hz下为10.8度对6.1度)。不在检查范围:数据比特、其他信号和采样率、现场录制数据。默认设置不变;该行保持MODELLED。
测试
tests/iq_fll_handover_floor.rs (registered_bars_give_the_recorded_verdict, d1_the_key_is_part_of_the_hash_only_when_set, d4_the_capped_design_pulls_in_a_100_hz_handoff_error), on…
由模型计算得出用于receiver-trust的RTKLIB .pos解文件读取器receiver_trust::machines::rtklib (read_rtklib_pos); receiver_trust::LogFormat::RtklibPos
能力
将RTKLIB解文件(日历或GPS周/TOW时间、纬度/经度或ECEF位置、所用卫星数)读入receiver-trust时间线(receiver_trust::machines::rtklib)。
参考基准
无外部参考基准:未读取任何RTKLIB生成的文件,列布局来自RTKLIB手册。仅在自行编写的文件上检查;ECEF转换复用frames::ecef_to_geodetic,后者有自己的行
测试
receiver_trust::machines::rtklib::tests (lat/lon epochs, week/TOW and ECEF, dms refused, hostile input); tests/receiver_trust_machines.rs::rtklib_pos_runs_as_a_receiver_log; integrations/gnss_lib_py/test_bridge.py
由模型计算得出用于receiver-trust的NovAtel OEM7 ASCII与二进制日志(BESTPOS、RANGE、RXSTATUS)receiver_trust::machines::novatel (read_novatel, novatel_crc32); receiver_trust::LogFormat::Novatel
能力
从ASCII和二进制OEM7日志中读取BESTPOS(位置)、RANGE(每个信号的C/No)和RXSTATUS(接收机的干扰标志,作为该历元的自报告),带CRC检查,只读(receiver_trust::machines::novatel)。
参考基准
作为通过判据,没有外部参考基准。字段布局和CRC遵循公开的OEM7文档(docs.novatel.com);CRC例程曾对照文档为其BESTPOSA示例所给出的CRC检查过一次(仅引用,未摘录)。测试数据为自行编写;未读取任何真实接收机的日志
测试
receiver_trust::machines::novatel::tests(固定的CRC、ASCII与二进制记录,坏CRC被跳过,恶意输入);tests/receiver_trust_machines.rs::novatel_jammer_flag_reaches_the_receiver_self_report
由模型计算得出用于receiver-trust的RTCM 3 MSM4和MSM7载噪比读取器receiver_trust::machines::rtcm3 (read_rtcm3, crc24q); receiver_trust::LogFormat::Rtcm3
能力
从帧流中读取RTCM 3 MSM4和MSM7消息(GPS、GLONASS、Galileo、SBAS、QZSS、北斗、NavIC)每个信号单元的C/N0,带CRC-24Q检查(receiver_trust::machines::rtcm3)。布局来自BSD许可的pyrtcm表格,而不是RTCM标准文本。
参考基准
一次性检查中的ReferenceImpl,而不是套件中的测试:pyrtcm 1.2.0的解码器读取同样自行编写的帧,得到相同的C/N0和历元时间。它与本读取器共享表格来源,因此检查的是比特处理,而不是布局。未读取任何来自真实接收机或基站的采集数据
测试
receiver_trust::machines::rtcm3::tests(CRC-24Q目录校验值,MSM4/MSM7 C/N0与历元合并,GLONASS时间与SBAS标识映射,坏CRC与其他消息)
由模型计算得出用于receiver-trust的GNSS-SDR监测适配器receiver_trust::machines::gnss_sdr (read_gnss_sdr_monitor); receiver_trust::LogFormat::GnssSdr
能力
读取GNSS-SDR Monitor(Gnss_Synchro)和PVT监测消息(以proto字段名转发为JSON行),得到逐通道的C/N0、定位、所用卫星数、HDOP和天空图(receiver_trust::machines::gnss_sdr;integrations/gnss-sdr/relay.py)。
参考基准
无外部参考基准:字段名来自GNSS-SDR文档;读取器和relay.py均未对照实时GNSS-SDR或真实采集数据运行过
测试
receiver_trust::machines::gnss_sdr::tests; integrations/gnss-sdr/example.jsonl
由模型计算得出IMU日志导入、陀螺航向输入,以及混合传感器参数的Allan拟合receiver_trust::machines::imu, imu_fit; surface::imu_fit; scenario [log.imu]
能力
读取IMU CSV(文档化的列,或EuRoC布局);将偏航角速率积分为航向-航迹监测器所读取的航向([log.imu]);并通过重叠阿伦偏差,由静止日志拟合混合与融合场景的加速度计和陀螺噪声参数(imu-fit)。
参考基准
无外部参考基准:拟合在系数已知的合成白噪声日志上检查,航向在恒定偏航角速率日志上检查。未拟合任何真实IMU日志,且q_aa未被拟合
测试
receiver_trust::machines::imu::tests; receiver_trust::machines::imu_fit::tests (known white-noise coefficients recovered within 10 %, refusals, TOML parses as AccelCfg); tests/receiver_trust_machines.rs (heading…
由模型计算得出用于信任遥测的Home Assistant MQTT发现与状态导出器telemetry::mqtt (discovery, state_json, connect_packet, publish_packet, MqttSink); surface::TelemetryFormat::Mqtt
能力
一份JSON状态文档和Home Assistant MQTT发现消息,用于信任数据流;在所有界面上以文本打印,并由命令行通过MQTT 3.1.1 QoS 0发布(telemetry::mqtt;trust-telemetry --mqtt-tcp、--print-mqtt、format mqtt)。
参考基准
无外部参考基准:数据包由为该测试编写的环回监听器读取,而不是由真实代理读取,也未运行Home Assistant
测试
telemetry::mqtt::tests (packet bytes, loopback broker, dead broker counted); tests/receiver_trust_machines.rs::trust_telemetry_mqtt_text_has_discovery_then_state
由模型计算得出ROS 2 receiver-trust包与gnss_lib_py桥接integrations/ros2/kshana_trust (bridge.py, trust_node.py); integrations/gnss_lib_py/kshana_gnss_lib_py.py
能力
一个不依赖ROS的桥接,将定位和卫星消息写成NMEA,并通过Python绑定评分(integrations/ros2/kshana_trust),以及一个经由rtklib-pos格式将gnss_lib_py NavData接入receiver-trust的桥接(integrations/gnss_lib_py)。
参考基准
无外部参考基准:ROS节点未在实时ROS 2图上运行,ublox_ubx_msgs的字段名也未对照正在运行的驱动程序检查。桥接测试运行了gnss_lib_py(MIT)
测试
tests/receiver_trust_machines.rs(rtklib_pos_runs_as_a_receiver_log:gnss_lib_py桥接程序所写的格式,经receiver-trust运行);各桥接程序的Python测试…

由引擎的验证矩阵生成,并由一项测试固定。可滚动列表,或展开一行查看其能力、参考基准(oracle)和测试。完整表格,所有列一次呈现,见文档:能力参考。

Pro需要把这份台账(ledger)做成可供审计、可复现的证据包,提交评审委员会?Kshana Pro可为您打包。

04默认可复现

重新运行,得到相同的数字。

免费核心结果可由场景、随机种子和引擎版本逐位复现。这里的一切都不需要许可、账号或我们。

每个result.json所带的戳已记录的运行

这个来自已记录的时钟守时(holdover)运行。可在Kshana Studio中打开,或自己重新运行:

scenario_hash
5ba83a232b94e902273fb6dcb71dd27d8109401dc8834d0a735eebf230ed5378
随机种子
42
engine_version
0.40.0
schema_version
0.7

引擎v0.40.0 · clock-holdover.toml · 随机种子42在Kshana Studio中打开报告

  1. 安装引擎。或使用pip install kshana,或任何其他渠道。
  2. 运行同一个场景。它会在场景旁写出result.json、chart.svg、report.html和table.csv。
  3. 比对戳。场景哈希是对规范化场景的SHA-256(256位安全哈希算法)摘要:随机种子、阈值、模型参数。任何输入改变,哈希就随之改变。每个图表页脚都带有其前12个十六进制字符。
  4. 让引擎自行检查。每次构建时,测试都会确认已发表的数字仍可复现(tests/published_figures_still_reproduce.rs),并确认台账(ledger)的每一行都点名了一项存在的测试,且引用的证据确实存在(tests/verification_rows_name_a_test_that_exists.rs、tests/verification_rows_cite_evidence_that_exists.rs)。
05标准网格

说你已经在提交的格式。

引擎实现了18项标准和格式。绿色标记表示已对照真实数据、已发表的示例或独立的参考实现做过检查。

  • TLE / SGP4AIAA 2006-6753已核对TLE两行轨道根数 · SGP4简化通用摄动4,一种轨道模型 · AIAA美国航空航天学会
  • RINEX 3真实IGS数据 → 测量坐标已核对RINEX接收机独立交换格式 · IGS国际GNSS服务
  • SP3-c / d对真实ESA/ESOC精密轨道的拟合已核对SP3标准产品3,一种精密轨道格式 · ESA欧洲航天局 · ESOC欧洲空间操作中心
  • CCSDS OEM / OMM解析CCSDS 502.0-B-3蓝皮书OEM示例已核对CCSDS空间数据系统咨询委员会 · OEM轨道星历消息 · OMM轨道平均根数消息
  • IS-GPS-200广播星历 → 真实数据PVT已核对IS-GPS-200 L1和L2信号的GPS接口规范 · GPS全球定位系统 · PVT位置、速度与时间
  • IEEE 1139ADEV/MDEV/TDEV/HDEV对照NIST SP 1065参考偏差已核对IEEE电气与电子工程师学会 · ADEV阿伦偏差 · MDEV修正阿伦偏差 · TDEV时间偏差 · HDEV阿达马偏差 · NIST美国国家标准与技术研究院
  • RAIM / ARAIM快照检测核(χ²/非中心 χ²/正态)对照SciPy · ARAIM MHSS预算待审已核对RAIM接收机自主完好性监测 · ARAIM高级接收机自主完好性监测 · MHSS多假设解分离
  • SBAS / DO-229EDO-229E HPL/VPL对照RTKLIB SBAS-PL分支,使用真实EGNOS数据 · L1/L5无电离层组合已核对SBAS星基增强系统 · DO-229E RTCA关于星基增强系统接收机的最低运行性能标准,E版 · HPL水平保护级 · VPL垂直保护级 · RTKLIB一个开源GNSS定位库 · EGNOS欧洲静地导航重叠服务
  • IONEX / KlobucharKlobuchar L1延迟对照RTKLIB ionmodel · IONEX TEC图读取器较宽松,尚无外部参考基准(oracle)已核对IONEX电离层图交换格式 · RTKLIB一个开源GNSS定位库 · TEC总电子含量
  • IGRF-14对照BGS官方IGRF-14数值已核对IGRF-14国际地磁参考场,第14代 · BGS英国地质调查局
  • CCSDS 133.0主头部对照CCSDS 133.0-B-2 + spacepackets-py向量已核对CCSDS空间数据系统咨询委员会
  • CCSDS TDM解析CCSDS 503.0-B-2蓝皮书TDM示例已核对CCSDS空间数据系统咨询委员会 · TDM跟踪数据消息
  • CCSDS 401 / DSN链路方程对照已发布的DESCANSO/JPL伽利略号设计控制表已核对CCSDS空间数据系统咨询委员会 · DSN深空网 · DESCANSO深空通信与导航系统卓越中心 · JPL喷气推进实验室 · DCT设计控制表,即链路预算工作表
  • IMO GNSS干扰指南(船舶)面向船舶的IMO指南,按条款编号对应已实现GNSS全球导航卫星系统
  • 欧盟NIS2,第21条风险管理措施,按条款编号对应已实现
  • EN 16803交通运输中的天基PNT,按条款编号对应已实现PNT定位、导航与授时
  • 美国DHS韧性PNT框架韧性PNT符合性框架,按条款编号对应已实现DHS美国国土安全部 · PNT定位、导航与授时
  • EASA GNSS干扰指南(航空)面向航空的EASA指南,按条款编号对应已实现GNSS全球导航卫星系统
当评审需要更多时

同样的证据,打包好,或为您代办。

引擎和上面的一切保持免费。有两条付费路径建立在其上,须签订合同。

Pro

Kshana Pro:任务档案与证据包

Kshana Pro把评审或采购委员会所要求的证据以可复现的方式打包。它建立在什么之上:这份台账(ledger),其中每项能力都点名其参考基准(oracle)和测试,以及每个结果所带的戳。一条命令即可让任务档案依据真实运行核对每一项需求,并写出验证矩阵,附带其未决事项和一份PDF(Portable Document Format,可移植文档格式)。

申请Pro评估 查看真实的档案

定制研究

定制研究:您的问题,得到解答

定制研究用同样的标签回答您自己的问题:每个数字要么经独立核对,要么由模型计算,不是认证。受出口管制的工作在许可和NDA(保密协议)下处理。

申请研究 为何而做,为谁而做

基准测试

在同一批日志上比较各种方法。

kshana-bench为GNSS干扰检测和授时守时(holdover)确定任务、数据划分和指标,并提供基线,其判据在首次评分运行之前就已写下。得分描述的是一份日志或一个语料库,而不是某个产品。

06研究与引用

已发表的研究。

6篇发表于arXiv(开放的预印本存档)的论文,均建立在开源引擎之上。每篇都可展开为一张在引擎上重新运行的图、其发现、命令及其DOI(数字对象标识符)。

月球导航 · arXiv:2610.23871

地月空间导航是可观测性问题:弧长阈值、Gramian条件数与多普勒杠杆

在地月空间中,精度因子并不适用:仅测距的链路在任一瞬间都使速度不可观测,因此需求应归入弧长、条件数和测量类型预算。

数值
012345Range only, one instantRange only, one instant: 2 · GDOP undefined: the velocity columns of the range Jacobian vanish2Range and range rate, one instantRange and range rate, one instant: 4 · a snapshot solution exists; GDOP 6.3534Range only, tracked for 1.83 hRange only, tracked for 1.83 h: 3 · the last sampled arc short of full rank3Range only, tracked for 2.09 hRange only, tracked for 2.09 h: 4 · the first sampled arc at full rank; Gramian condition 1.6e+09 at 6 h4
由模型计算得出引擎v0.40.0 · cislunar-observability.toml · 确定性,无随机种子在Kshana Studio中打开
主要发现
  • 在引擎运行中,单一时刻的仅测距几何的秩为2(共4),因此精度因子无定义;经过2.09 h的弧段后,完整状态才变得可观测。
  • 加入距离变化率后,瞬时秩从2升至4:具备多普勒能力的链路使快照解得以存在,而仅测距的链路做不到。
  • 越过阈值之后,条件数随弧长而改善,因此需求更适合表述为弧长、条件数和测量类型预算。
Kshana如何复现

cislunar-observability类型对四条平面远距逆行轨道做微分修正,通过三体状态转移矩阵组装距离与距离变化率的雅可比矩阵,并报告随跟踪弧段增长的可观测秩、可观测性Gramian的条件数,以及一个以第二条途径重新计算同一量的平方根信息滤波器。

图示。内置场景:四条经微分修正的平面远距逆行轨道,由星间测距跟踪,弧段6 h,每0.26 h采样一次。

复现该结果

用已安装的引擎运行场景类型cislunar-observability(scenarios/cislunar-observability.toml)。

在Kshana Studio中打开
引用
BibTeX · baweja2026cislunar
@misc{baweja2026cislunar,
  title         = "{Cislunar navigation is an observability problem: arc-length thresholds, Gramian conditioning, and the Doppler lever}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2610.23871},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2610.23871},
  url           = {https://arxiv.org/abs/2610.23871}
}

月球导航 · arXiv:2607.06212

月球南极几何的代价,以及作为高效修复手段的地表信标:一项精度因子分析

规划轨道会在月球南极用户头顶聚成一团;在附近高地上设置少量测距信标,比增加卫星更省地修复几何。

数值
0510156 satellites, no beacons6 satellites, no beacons: 11.66 · 5 satellites and 0 beacons in view · 11.2 m (1 sigma)11.666 satellites + 1 visible beacons6 satellites + 1 visible beacons: 4.998 · 5 satellites and 1 beacons in view · 4.8 m (1 sigma)4.99824 satellites, no beacons24 satellites, no beacons: 2.893 · 19 satellites and 0 beacons in view · 2.8 m (1 sigma)2.893
由模型计算得出引擎v0.40.0 · lunar-beacon.toml · 确定性,无随机种子在Kshana Studio中打开
主要发现
  • 在内置运行中,唯一越过地平线的那个信标把几何精度因子从11.66降到4.998;而改用24颗卫星的星座则达到2.893。
  • 南极用户所见的卫星聚集在头顶的一小块区域,因此几何受限于它们的分布范围,而不是数量。
  • 高地上的少量信标即可达到仅靠轨道的设计只有用大得多的星队才能达到的几何。
Kshana如何复现

lunar-beacon类型构建轨道星座的测距几何,加上越过无大气地平线的已测绘地表信标,基于经独立库核对的精度因子核,并报告每种配置的精度因子及其以米计的精度。

图示。内置场景的一个历元,其默认几何:仅卫星、卫星加上越过地平线的信标,以及改用24颗卫星的星座。

复现该结果

用已安装的引擎运行场景类型lunar-beacon(scenarios/lunar-beacon.toml)。

在Kshana Studio中打开
引用
BibTeX · baweja2026cost
@misc{baweja2026cost,
  title         = "{The Cost of Lunar South-Polar Geometry, and Surface Beacons as the Efficient Fix: A Dilution-of-Precision Analysis}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2607.06212},
  archivePrefix = {arXiv},
  primaryClass  = {astro-ph.EP},
  doi           = {10.48550/arXiv.2607.06212},
  url           = {https://arxiv.org/abs/2607.06212}
}

月球导航 · arXiv:2607.02566

地球基线VLBI在联合定轨与钟差确定中恢复月球地表测站的可观测性

月球网络内的测距只固定相对几何;地球基线甚长基线干涉测量延迟把地表测站系到地球坐标系上,即使卫星很少也是如此。VLBI甚长基线干涉测量

数值
1 m10 m100 m1,000 m10,000 mWithout the interferometry tieWithout the interferometry tie: 2,182 m · Fisher information rank 15 of 16: the station position is not observable, no Cramér–Rao bound2,182 mWith the Earth-baseline interferometry tieWith the Earth-baseline interferometry tie: 3.5 m · full rank 16 of 16 · Cramér–Rao bound 20.1 m3.5 mlog scale
由模型计算得出引擎v0.40.0 · lunar-joint-od-clock.toml · 随机种子42在Kshana Studio中打开

按发表时在macOS上记录。全新的Linux x86-64运行给出2184 m / 3.537 m(求解器迭代对主机的依赖,issue #36第6行)。

主要发现
  • 月球网络内部的测距使整个星团可以不被察觉地平移和旋转;钟差仍可观测,因此亏损纯粹是位置上的。
  • 在引擎运行中(3颗卫星),不含干涉测量支路的Fisher信息的秩为15(共16);含有它们时则为满秩,克拉美—罗界为20.1 m。
  • 星座丰富时,干涉测量约束只会使界更紧;星座稀疏时,它恢复测站的绝对位置。
Kshana如何复现

lunar-joint-od-clock类型在一次批量最小二乘拟合中融合地球基线干涉测量延迟、月球本地测距和星间测距,在相同随机种子下分别带与不带干涉测量支路运行,并报告Fisher信息的秩、基准亏损和克拉美—罗界。

图示。内置的模拟网络:3颗月球卫星、6个地球测站、一个地表测站,两次拟合使用相同的随机种子和真值。

复现该结果

用已安装的引擎运行场景类型lunar-joint-od-clock(scenarios/lunar-joint-od-clock.toml)。

在Kshana Studio中打开
引用
BibTeX · baweja2026earth
@misc{baweja2026earth,
  title         = "{Earth-baseline VLBI restores the observability of a lunar surface station in joint orbit-and-clock determination}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2607.02566},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2607.02566},
  url           = {https://arxiv.org/abs/2607.02566}
}

授时完好性 · arXiv:2606.24210

条件授时保护级:GNSS欺骗干扰下受守时限制的未检出时间误差

一次记录下来的欺骗干扰显示,授时接收机所提供的时间比它所报告的要错得多;不存在无条件的界,因此该论文以条件方式给出未检出误差的界。GNSS全球导航卫星系统

数值
10 ns100 ns1 µs10 µs100 µs1 ms10 ms10 s30 s60 sserved error 1.01 ms, receiver unawareaccuracy it claimed ≤ 51 nsTiming Protection Level 114 ns at 1 sTiming Protection Level 119 ns at 5 sTiming Protection Level 128 ns at 10 sTiming Protection Level 200 ns at 30 sTiming Protection Level 458 ns at 60 sprotection level 114 ns458 ns
由模型计算得出引擎v0.40.0 · examples/tpl_jammertest.rs · 确定性,无随机种子
主要发现
  • 一次公开记录的欺骗干扰把接收机所提供的时间拉偏了约1.01 ms,而它最多只报告了51 ns。
  • 面对足够缓慢的斜坡,不存在有限的无条件界,因此该界以一项独立的跨卫星检查检出攻击为条件。
  • 引擎的授时保护级在检测延迟为1 s时为114 ns,在60 s时为458 ns。
Kshana如何复现

授时保护级模块把监测器的检测下限加上振荡器在检测延迟内的滑行量。该示例用从公开的JammerTest 2024记录中恢复的标量对其进行校准;原始记录不随发行版提供。

图示。示例的打印输出:五种检测延迟下的条件授时保护级,以及它从公开的JammerTest 2024记录中恢复的两个标量。

复现该结果

在仓库的克隆中,用examples/tpl_jammertest.rs重新生成研究产物。

引用
BibTeX · baweja2026conditional
@misc{baweja2026conditional,
  title         = "{A Conditional Timing Protection Level: Holdover-Limited Undetected Time Error Under GNSS Spoofing}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2606.24210},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2606.24210},
  url           = {https://arxiv.org/abs/2606.24210}
}

韧性评分 · arXiv:2607.05415

PNT韧性评分有多稳定?按框架对齐加权的单一数字韧性评级的决策不稳定性

定位、导航与授时的单一数字韧性评级,只有在某一设计占优时才稳定;加权、威胁和所声明的技术都可能使其翻转。PNT定位、导航与授时

数值
0%5%10%15%20%25%NominalNominal: 22%22%Wideband jammingWideband jamming: 1.25%1.25%SpoofingSpoofing: 1.1%1.1%MeaconingMeaconing: 1.1%1.1%Combined threatsCombined threats: 1.1%1.1%
由模型计算得出引擎v0.40.0 · examples/resilience_report.rs · 随机种子12345
主要发现
  • 在标称条件下,仅重新加权就使排名第一的架构在22% 的抽样中发生改变;在每种有效威胁下,最多为1.25%。
  • 最弱环节的成熟度等级取决于所假设的威胁,而不仅仅取决于架构。
  • 由于综合分数奖励所声明的技术,声明更多的设计可能比韧性更强的设计得分更高。
Kshana如何复现

韧性模块对七个参考架构按七个框架类别和五种威胁评分,从Dirichlet分布中随机抽取类别权重,并统计排名第一者发生变化的频率。该示例把整个研究写成一个确定性文件。

图示。7个参考架构,每种威胁2,000组随机类别权重。

复现该结果

在仓库的克隆中,用examples/resilience_report.rs重新生成研究产物。

引用
BibTeX · baweja2026stable
@misc{baweja2026stable,
  title         = "{How Stable Is a PNT Resilience Score? Decision-Instability of Single-Number Resilience Ratings under Framework-Aligned Weighting}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2607.05415},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CR},
  doi           = {10.48550/arXiv.2607.05415},
  url           = {https://arxiv.org/abs/2607.05415}
}

射频干扰 · arXiv:2606.22054 · 版本2

预判乐观差距:由分布内统计量预测射频损伤检测器的分布偏移退化

干扰检测器在偏移条件下损失多少,可以由它自身的分布内得分预测;结果为合成数据,并已在公开的现场记录上核对。RF射频

数值
-0.10-0.05-0.050.000.000.050.050.100.100.150.150.200.200.250.25R² 0.46, detector left outpredicted →↑ actual
由模型计算得出引擎v0.40.0 · examples/optimism_study.rs · 随机种子1、2、3、4、5
主要发现
  • 分布内与偏移后的曲线下面积之差随偏移加深而增大,并且取决于检测器使用多少个观测量,而不取决于它是否为学习型。
  • 在引擎运行中,基于分布内得分统计量的岭回归模型可以预测它没见过的检测器的差距(R² 0.46),以及它没见过的干扰类别的差距(R² 0.33)。
  • 主要发现为合成数据;该论文随后在公开的现场记录上对其进行核对。
Kshana如何复现

损伤研究为四个干扰类别生成一个合成的、以参数为依据的语料库,在五个随机种子上以四种偏移严重程度对十三个检测器评分,并用留一法交叉验证和置换检验拟合差距预测器。

图示。260个检测器、类别与严重程度的单元格;每个预测都针对一个被排除在拟合之外的检测器作出。

复现该结果

在仓库的克隆中,用examples/optimism_study.rs重新生成研究产物。

引用
BibTeX · baweja2026anticipating
@misc{baweja2026anticipating,
  title         = "{Anticipating the Optimism Gap: Predicting Distribution-Shift Degradation of RF-Impairment Detectors from In-Distribution Statistics}",
  author        = {Baweja, Chakshu},
  year          = {2026},
  eprint        = {2606.22054},
  archivePrefix = {arXiv},
  primaryClass  = {eess.SP},
  doi           = {10.48550/arXiv.2606.22054},
  url           = {https://arxiv.org/abs/2606.22054}
}

引用引擎

每个发行版都存档在Zenodo上,带有可引用的DOI,仓库中附有CITATION.cff。请引用引擎版本、场景和随机种子。

Baweja, C.(2026)。Kshana — a PNT-resilience simulator with quantum-sensor performance models(版本0.40.0)。Ashforde OÜ。https://doi.org/10.5281/zenodo.20528627

引擎的BibTeX
BibTeX
@software{kshana,
  title   = {Kshana — a PNT-resilience simulator with quantum-sensor performance models},
  author  = {Baweja, Chakshu},
  version = {0.40.0},
  year    = {2026},
  doi     = {10.5281/zenodo.20528627},
  url     = {https://github.com/ashfordeOU/kshana},
  license = {AGPL-3.0-only}
}