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

完好性与干扰在GitHub上编辑来源:docs/INTEGRITY.md

完好性与安全性:Kshana建模了什么,没有建模什么

Kshana报告两项性能指标(FoM)——完好性与安全性——它们很容易被误认为航空级的同名量。本页如实说明它们目前是什么、不是什么,以及路线图将补充什么。如果您是在安全生命或认证的场景中评估Kshana,请先读本页。

现状(v0.37.0)#

完好性FoM——滤波器自洽性#

完好性FoM是指:在中断样本中,真实授时误差保持在卡尔曼滤波器自身k倍标准差保护界之内的样本所占的比例:

integrity = (# outage samples with |error| <= k * phase_sigma) / (# outage samples)

它衡量的是,在GNSS(全球导航卫星系统)中断期间,滤波器自行报告的不确定度对其自身误差是否如实。这是一项有用的内部自洽性检查。

它不是:

  • 水平/垂直保护级(HPL/VPL)——根本没有位置域的保护级(时钟包属于授时域);
  • 完好性风险/危险误导信息概率(P_HMI);
  • 与告警限的比较;
  • 符合RTCA DO-229E / DO-316或EUROCAE ED-259A(RTCA:无线电技术委员会;EUROCAE:欧洲民用航空设备组织)或任何其他认证标准。

安全性FoM——解析的欺骗可检测性界#

安全性FoM是一个基于时钟稳定度的欺骗可检测性界:给定时钟的噪声(白频率噪声和随机游走功率谱密度(PSD))和一个监测窗口,它是单时钟一致性监测器针对缓慢斜坡式虚假时间欺骗干扰的解析检测裕度。更安静的时钟(例如光钟)比噪声更大的时钟(例如CSAC(芯片级原子钟))能检测到更小、更慢的欺骗——这种对比正是该演示器的要点。

它不是多卫星RAIM(接收机自主完好性监测)检测器。这里没有跨卫星的伪距残差,没有保护级,也没有P_HMI。新息与标准差之比的检验与经典RAIM故障检测(Brown)在数学形式上相同,但这个数值是针对给定时钟的解析界,而不是RAIM的实现,并且只有在已配置的欺骗干扰场景中才有意义(参见注入真实斜坡式攻击的spoof场景类别)。

输出对此有明确说明。clock、orbit、hybrid和fusion类别不配置任何攻击,因此其单行摘要打印的是security n/a (no attack),而不是一个数字,其结果文档在figure_tiers块中把fom.security标记为applicable: false,并给出原因。该数值本身仍保留在文档中,供需要这一界的人使用。

真实的快照式、解分离式和ARAIM的RAIM(src/raim.rs)#

src/raim.rs中实现了一个真正的、位置域的RAIM,它独立于上述自洽性FoM:

  • 多卫星残差监测——它构建到可见卫星的视线几何矩阵,形成最小二乘位置/钟差解,并检验残差平方和。
  • χ² 故障检测——在无故障假设下,SSE/σ²(SSE:残差平方和)服从 χ²(n−4);超过chi2_{1-P_fa}(n-4)时判定存在故障。χ² 阈值来自一个无依赖的正则化不完全伽马函数求值(精确,无需查表)。
  • 基于斜率的HPL / VPL——max_i(slope_i)·pbias·σ,其中slope_i是由帽子矩阵得到的各卫星位置误差灵敏度,pbias是满足所配置漏检概率P_md的非中心 χ² 偏差。
  • 解分离RAIM(MHSS:多假设解分离)——对全视野解和每一个排除单颗卫星的子解,嵌套估计器的分离量Δ_k = x_k − x₀既检测又识别出故障卫星,并为保护级的界提供输入。
  • ARAIM(先进接收机自主完好性监测)完好性风险(P_HMI)预算——araim_raim求解最小的HPL/VPL,使其危险误导信息概率之和P_HMI = Σ_k p_fault,k · Q((PL − T_k)/σ_k)(Blanch等,Baseline ARAIM)满足明确的完好性风险分配,并报告这些保护级所达到的风险——这样完好性就可以直接与告警限相权衡,而不必隐含在固定的K_md乘数之中。
  • Stanford–ESA完好性图(ESA:欧洲航天局)——逐历元的累加器把(error, PL)归入可用 / 系统不可用 / 误导 / 危险误导区域,用于可用性汇总。
  • 可端到端运行——integrity场景类别在SGP4(简化通用摄动4)星座或开普勒星座上运行上述内容,星座也可以取自真实TLE(两行轨道根数)或RINEX(接收机无关交换格式)导航文件,并针对所配置的告警限输出逐历元的HPL/VPL可用性图(scenarios/integrity-raim.toml)。同一次运行还会导出垂直Stanford图:在每个受保护历元,把一个带种子、可复现的无故障测距误差抽样通过几何映射为实际垂直误差,并对照VPL和垂直告警限分类,因此JSON(JavaScript对象表示法)结果和CLI(命令行界面)摘要所携带的是各区域的计数(完好性事件,以及HMI:危险误导信息),而不仅仅是一个可用性比例。在随附的scenarios/integrity-raim.toml上,该次运行报告在40 m水平告警限和50 m垂直告警限下,361个历元中有344个可用(95.3 %),完好性事件为0次,HMI为0次。
  • 带完好性支持电文的双星座ARAIM——araim_dual_raim增加了全星座故障模式:除无故障和单卫星假设之外,每个星座还贡献一个剔除其全部卫星的假设,其先验为P_const,并计入同一个MHSS完好性风险求和。IntegritySupportMessage(ISM)携带用于完好性的用户测距精度(σ_URA)、精度均方根(σ_URE)、单侧折入每种模式的最大标称偏差b_nom,以及先验P_sat和P_const;其WG-C(欧盟与美国卫星导航合作的C工作组,其ARAIM技术分组发布该参考)参考集为 σ_URA = 0.75 m,σ_URE = 0.67 m,b_nom = 0.75 m,P_sat = 1e-5,P_const = 1e-4。P_const = 0逐位复现单故障的araim_raim结果。integrity类别以araim_dual = true走这条路径(scenarios/araim-gps-galileo.toml:GPS + Galileo,48颗卫星,在相同告警限下145个历元中有145个可用)。
  • 对照已发表参考向量的保护级——araim-reference-check类别在WG-C ARAIM小组自己的算例(参考机载算法描述文档v3.1,2019年,附录D;以及里程碑3报告,2016年,附件A)上运行引擎的araim_protection_level和araim_integrity_risk。验收向量上最差的垂直/水平保护级差异为0.0437 m,而文档自身的容差为0.05 m。该行在VERIFICATION-MATRIX.md中为VALIDATED:它检查的是保护级公式,而不是某个实际运行的ISM或某台接收机。

尚存的缺口(路线图)#

raim.rs目前尚未做到的事:

  • 它尚未并入时钟/守时场景FoM——那些包仍然报告上文的滤波器自洽性完好性数值,而不是HPL/VPL;
  • 故障假设包括无故障情形、单颗卫星和整个星座——两颗或更多卫星组成的子集(SV:空间飞行器,即卫星)同时发生的故障没有建模;
  • ISM是一组可配置的参数(带有WG-C参考值),而不是广播的实际运行电文,也不是经验证的威胁模型;
  • 故障检测与排除(FDE)仅限于单颗卫星和快照:解分离会指出故障卫星,snapshot_raim_fde对每一种排除单颗卫星的情形重新求解,并返回被排除的卫星,同时给出其余子集的卡方检验和保护级,但不报告经排除保护的位置,且integrity场景类别不运行排除步骤。

快照、解分离和ARAIM的核心在真实的IGS(国际GNSS服务)精密轨道(SP3:标准产品3)几何上经过检验,而不只是合成星座:tests/igs_real_data.rs利用真实地面站处一份真实IGS SP3产品的第一个历元构建视线几何,并检查保护级是否有限且处于APV-I(带垂直引导的进近)告警限之内,该告警限为水平40 m、垂直50 m;检查60 m的伪距偏差是否触发 χ² 监测器;检查解分离是否识别出故障卫星;以及检查ARAIM的保护级是否满足所分配的P_HMI。tests/araim_dual_real_data.rs在真实的2026-06-07 Celestrak GPS和Galileo星历目录上运行双星座路径,并传播到同一个共同历元(参见REAL_TLE_GUIDE.md §3)。更深入的交叉检查——在完整的RINEX观测弧段上,逐历元与gLAB(GNSS-Lab Tool,由ESA分发的GNSS数据处理套件)对比保护级——会增加接收机域的一致性。这一点尚未完成:pvt类别根据真实的RINEX观测值计算码单点定位,但由该解得出的保护级尚未与gLAB的结果比较。

因此,raim.rs是一个真实的保护级与完好性风险核心,可通过integrity和araim-reference-check场景类别使用,已在真实参考轨道几何上检验,并对照了WG-C参考向量。多卫星子集故障、接收机域的gLAB一致性和时钟FoM集成仍属路线图项目,这些内容都不是认证证据。

另请参阅#

  • GLOSSARY.md——每项FoM和缩写的一行定义。
  • ARAIM_REFERENCE.md——ISM参数和WG-C参考向量。
  • SLOT-TIMING.md——滑行时钟的授时保护级(TPL),以检测到为前提。
  • VALIDATION.md——哪些量经过参考基准验证,哪些只是自洽性检查。
  • src/security.rs——欺骗可检测性界的推导。

与时钟守时(holdover)性能指标并列的RAIM(0.36,需主动启用)#

一个时钟场景可以带有[integrity]段(src/clock_integrity.rs):一个站点(lat_deg、lon_deg、height_m)、星座预设(systems,默认gps-baseline)、一个遮蔽角、一个距离残差标准差、虚警概率和漏检概率、水平和垂直告警限、一个历元间隔,以及可选的、针对某一颗卫星的给定偏差。此时该次运行会另外报告一个integrity_fom块:逐历元的可见卫星、快照式RAIM保护级以及一个判定(available、alarm、unavailable-pl-above-al、unavailable-too-few-satellites、unavailable-gnss-denied),还有整个运行期间的计数和可用性。只要时间线表明GNSS被拒止,RAIM即不可用,也不做任何外推;降级窗口按标称情形评估。守时性能指标不变,没有该段时输出逐字节相同。MODELLED:具有代表性的预设天空、合成残差和给定的限值。它需要runs = 1。

欧美WG-C ARAIM里程碑3最大URA的复现(CAP-05c)#

早先的计划曾承诺与某份欧盟ARAIM技术说明的“表A-3”做对比。找不到该表的任何公开来源(欧美C工作组ARAIM技术分组公开的里程碑1至3报告中没有表A-3),因此该对比已撤回,也不再以该名义作任何承诺。

取而代之的是,尝试复现那份公开的报告:里程碑3报告(2016年2月25日,GPS.gov副本,SHA-256 156147e1...13d8)的表5、6和7,它们针对每种星座配置以及RNP 0.1和RNP 0.3,印出使90 % 的用户获得99.5 % 可用性的最大sigma_URA。共检查十二个印出的条目(双频表中的Depleted和Baseline行),判据在任何评分运行之前就已在xval/araim-m3/PREREGISTRATION.md中预先登记,其中也说明了无法消除的偏差:没有历书文件,用Walker星座壳层代替真实轨道位置,网格和步长更粗,以及用引擎的ADD v4.2水平路径代替报告自己的文字。表8至13(单频)和Optimistic行不在尝试之列,原因见该处。结果:12个条目中复现了8个,4个NOT MET(已固定):双星座条目和所有仅Galileo的条目吻合(包括N/A行);双星座Depleted RNP 0.1条目在9 m时覆盖率达到0.847,而印出值为9 m(需要0.90);三个仅GPS的条目大幅偏离(在4 m时覆盖率为0.70,在6 m时为0.58,在10 m时为0.65,而印出值分别为4 m、6 m和“>10 m”)。仅GPS条目的偏离可能源于用均匀的Walker壳层代替了真实的GPS轨道位置(D1);这只是一个假设,而不是发现。无论结果如何,它都仍是MODELLED。该研究为src/bin/gen_araim_m3_study.rs;其实测覆盖率位于xval/araim-m3/results.json,并由tests/araim_m3_reproduction.rs评分。报告本身仅作引用,不随附。