Kshana の位置づけ
Kshana は、オープンで再現可能な PNT(測位・航法・時刻)レジリエンスのエビデンスエンジンです。センサーや時計、GNSS(全球測位衛星システム)の途絶、ジャミングやスプーフィングの攻撃、バジェットといったシナリオを記述すると、時刻と位置がどれだけ維持されるかを、運用上の性能指標(FoM)に照らして採点して示します。これらの指標の裏付けとなる各機能は、機械で検査されるマトリクスで VALIDATED(独立した外部のオラクルと照合して確認)、MODELLED(内部では整合しているが、外部とは照合していない)、PARTNER(ハードウェアパートナーが所管)のいずれかのラベルが付けられています。このページでは、どこが強みか、何のためのものか、何ではないかを説明します。
強み:重要インフラ向けのタイミングとホールドオーバー#
このエンジンで最もよく検証されている部分はタイミングです。通信ネットワーク、電力網、金融取引の場は GNSS から時刻を得ており、いずれもホールドオーバー、つまりローカルの時計が GNSS を失ってから自走して、時刻誤差が許容範囲を超えるまでどれだけ持つかを見積もる必要があります。
- VALIDATED の対象。ホールドオーバーの答えを構成する周波数安定度の推定器、すなわちアラン偏差(ADEV)、修正アラン偏差(MDEV)、時間偏差(TDEV)、最大時間間隔誤差(MTIE)、拡張範囲の Theo1 推定器は、Stable32 の基準偏差、独立した
allantoolsライブラリ、実際に測定したセシウム時計と照合して確認しています。ホールドオーバーのコースト分散の計算と、それをホールドオーバー時間へ逆変換する処理は、SciPy と照合して確認しています。各行、そのテスト、そのオラクルについてはVERIFICATION-MATRIX.mdを参照してください。 - MODELLED のままの部分。時計クラスごとのノイズフロア(たとえば、ある発振器クラスの長期フロア)が、安定した時計の答えを決めます。これらは代表的な数値であり、お使いのデバイスの測定値ではありません。根拠として示すつもりの数値には、測定したフロアを入力してください。
- 通信ユニット。
telecom-timingシナリオ種別は、MTIE と TDEV を報告し、国際電気通信連合の電気通信標準化部門(ITU-T)のマスクと照合します。マスクは、プライマリ基準時刻クロック(PRTC)には G.8272、拡張 PRTC(ePRTC)には G.8272.1、通信用バウンダリークロック(T-BC)には G.8273.2、基準点 C でのネットワーク限界には G.8271.1 です。また、ホールドオーバーが各時刻誤差バジェットの範囲内にどれだけ留まるかを報告します。TELECOM-TIMING.mdを参照してください。
何が違うのか#
違いは物理や標準ではありません。Simplified General Perturbations 4(SGP4)による伝搬、アラン偏差、座標系、精度低下率は、他のライブラリでも無料で正しく利用でき、Kshana はそのいくつかと照合して自己検査しています。違いはエビデンスの規律にあります。
- オープン。エンジンは GNU Affero General Public License(AGPL)のもとにあり、誰でも読んで再実行できます。クローズドな統合向けには商用ライセンスがあります。
- 再現可能。結果は
scenario + seed + engine versionによってビット単位で決まり、実行はブラウザープレイグラウンドへのリンクとして共有できます。 - 来歴を明示。すべてのセンサーパラメーターは公表されている出典まで追跡でき(
PROVENANCE.md)、すべての機能に VALIDATED / MODELLED / PARTNER のティアが付いています。継続的インテグレーション(CI)のガードは、独立した外部のオラクルのない VALIDATED の行を拒否するため、内部の自己検査が検証として示されることはありません。
ホールドオーバー、インテグリティ、慣性コースト、量子センサーにまたがってこれらを併せ持つ別のオープンなツールは見つかっていませんが、何も見つからなかった調査は、何も存在しない証拠にはなりません。唯一のツールであるとは主張しません。
量子:中立的なトレード手法。結果には MODELLED と表示#
Kshana は、量子の時計や慣性センサーと古典のものを、同じシナリオ、同じコードで比較します。各デバイスは誤差モデルであり、エンジンはどれが「量子」かを知りません。これは、結果に MODELLED と表示する、量子と古典の中立的なトレード手法として扱ってください。入力の多くは、公表されているアラン偏差/ノイズバジェットの係数です。冷却原子干渉計の加速度計には、ノイズ係数を導出する第一原理のレイヤーがあります。パートナーが測定したアラン偏差のデータは quantum-trade 種別から取り込むことができ、これが特定のデバイスの数値を格上げする経路です。QUANTUM.md と QUANTUM-MODELS.md を参照してください。
月、シスルナー、深宇宙:維持はするが、主力ではない#
月・シスルナーのスイート(月のインテグリティ監視、地球・月の三体問題の中核、月の時間スケール、サービスボリューム解析)と深宇宙の電波航法エンジンは、維持している機能です。これらの行の大半は MODELLED であり、月の航法にはすでに専用のツールがあるため、主力としてではなく、同じエンジンの機能として、それぞれ独自のティアを付けて提供しています。
エンジンのその他の部分#
同じエンジンが、同じティアで、次のものも扱います。
- 低軌道(LEO)PNT をエンドツーエンドで。信号設計(
leo-signal)、パスとバンドごとのリンクバジェット(leo-pass)、航法メッセージの放送(leo-navmsg)、中軌道と低軌道を融合した測位(leo-pvt)、LEO 補強による精密単独測位(PPP)の収束(leo-ppp)、5G 非地上系ネットワークからの測位(ntn-positioning)、そして各段階の出力を次の段階に渡して単一のシステムとして扱うleo-pnt-chain。 - スペクトル。スクリプト化したジャマーのタイムラインの下での、L バンド(および超短波(UHF)、S バンド、C バンド)の電力スペクトル密度ウォーターフォール。バンドごとのジャマー対信号比と実効搬送波対雑音密度(
spectrum)を含み、Signal Metadata Format(SigMF)の記録の入出力にも対応します。 - 太陽系と任意の中心天体。惑星と主要な衛星の位置と物理定数(
solar-system)、それらの天体を周回する測位(body-pnt)、Walker と公表されたスロットによるコンステレーション設計、およびそれらの周囲のカバレッジと精度低下率のマップ(constellation-design)。 - キャンペーン。既存の種別を、共有する一本のタイムラインにつなげたり、掃引したり、シード付きモンテカルロのアンサンブルとして実行したり、共通の条件のもとで並べて実行したりします(
campaign)。 - 出力。実行のたびに、結果ドキュメント、グラフ、HTML(HyperText Markup Language)と JSON(JavaScript Object Notation)のレポートを書き出します。
--animateは SVG(Scalable Vector Graphics)、HTML、またはフレームシーケンスのアニメーションを書き出し、--exportは、物を地球上に配置する種別について CZML(Cesium Language)、KML(Keyhole Markup Language)、GeoJSON、STK(Systems Tool Kit)エフェメリスを、spectrumについては SigMF を書き出します。
これらの行の大半は MODELLED です。VALIDATED の行は検証マトリクスに挙げられており、数は少なく、たとえば国際電気通信連合の降雨とシンチレーションに関する勧告、Galileo の放送エフェメリスのアルゴリズム、CRC-24Q(24 ビット巡回冗長検査)のフレームチェック、惑星の光行時間ソルバーです。
Kshana が該当しないもの#
- 無線周波数(RF)信号シミュレーターでも、ハードウェア・イン・ザ・ループ(HIL)の装置でもありません。Kshana は無線ハードウェアを駆動せず、何も送信しません。大部分は、ハードウェアやラボの時間を購入する前の段階で、誤差モデルとリンクバジェットのレベルで動作します。信号レベルではソフトウェアのみです。GNSS IQ レイヤー(
iq)は、ソフトウェア受信機向けに正規の GNSS 信号のベースバンド同相/直交(IQ)サンプルファイルを書き出し、それに対して自前のソフトウェア受信機を実行します。spectrum種別の[iq]セクション(0.29.0 以降)は、設定したジャマー(ノイズ状のジャマーはビンごと、トーンとチャープは波形として)を含む解析モデルの SigMF(Signal Metadata Format)スナップショットを書き出します。spoof_captureは、正規の信号とスプーファーのレプリカ信号をメモリ内で合成してループのキャプチャを試験しますが、書き出しは行いません。ハードウェア受信機を実際の RF 刺激に対して試験するのは、RF シミュレーターの役割です。 - MATLAB/Simulink、STK、Orekit の代替ではありません。それらと並べて使うものです。それらが使う交換フォーマットを読み書きし(CCSDS(Consultative Committee for Space Data Systems)の Orbit Ephemeris Message、SP3(Standard Product 3)の精密軌道、RINEX(Receiver Independent Exchange Format))、それらのビューア向けに CZML、KML、GeoJSON、STK エフェメリスを書き出します。数値のフォースモデルは、Orekit の代わりとして提供するものではなく、Orekit と相互に照合しています。
- 搬送波位相の GNSS 処理エンジンでも、測位サービスでもありません(下記を参照)。
- 認証機関ではありません。VALIDATED のラベルは、機能が外部のオラクルと一致することを意味するものであり、いかなる製品や運用者についての認証でもありません。
GNSS 処理エンジンと比べた Kshana の位置づけ(何であり、何でないか)#
Kshana は搬送波位相の GNSS処理エンジンではなく、測位サービスに当たるシナリオ種別もありません。ただし、性能評価が依拠し、独立した参照と照合して確認しているライブラリコードとして、測定領域にも足がかりがあります。実際の二周波 RINEX 観測に対する LAMBDA(least-squares ambiguity decorrelation adjustment)による整数値バイアスの決定を伴う短基線リアルタイムキネマティック(RTK)測位が動作し、IGS の最終軌道・時計を用いる静的なフロート精密単独測位(PPP)フィルターも同様で、そのフィルターが推定する受信機時計は、IGS 最終局時計に対する時刻の解です。三つのそれぞれは、検証マトリクスの VALIDATED の行であり、そこに記載された IGS 観測局データと照合しています。いずれも静的で短い観測窓で動作し、長基線での整数値バイアスの決定、搬送波スムージング、移動局を備えたストリーミングサービスとしては動作しません。leo-ppp 種別は、コードと搬送波位相に対するフロート PPP フィルターを実行しますが、対象は自らシミュレートした測定値であり、LEO 補強の有無による収束時間を調べるためのものです。観測ファイルは処理しません。pvt 種別(位置、速度、時刻)は、実際の RINEX コード疑似距離と放送エフェメリスから受信機位置を解き、国際 GNSS サービス(IGS)の測量済み座標(観測局 ABMF、2018-05-13)に対して3 次元 RMS(二乗平均平方根)で 5.7 m、水平で 1.1 m の範囲で検証されています。ただし、製品は性能評価であって測位サービスではなく、以下の整理は、利用を検討している方が、ツール選びを誤って落胆することのないようにするためのものです。
| Kshana | GNSS 処理エンジン(RTKLIB:オープンソースのリアルタイムキネマティック測位ライブラリ。gLAB:カタルーニャ工科大学 gAGE グループによる GNSS ラボ用ツール群) | |
|---|---|---|
| 入力 | シナリオ:センサー誤差モデル、途絶の窓、ジオメトリ。pvt の場合は、実際の RINEX 観測ファイルと放送航法データ |
実際の GNSS 観測値(RINEX)、エフェメリス、補正情報 |
| 出力 | 性能 FoM:ホールドオーバー、タイミング/位置の誤差、可用性、インテグリティ/セキュリティの限界。加えて、pvt 種別によるコード単独測位(SPP)の位置 |
位置・速度・時刻の解(SPP、PPP、RTK) |
| 答える問い | 「このアーキテクチャはどれだけ良いものになり、どこで破綻するのか?」 | 「これらの測定値から、今自分はどこにいるのか?」 |
| 量子/光センサー | 誤差モデルとしてモデル化(光時計、冷却原子慣性計測装置(IMU)、光時刻伝送)。結果には MODELLED と表示 | モデル化していない |
| 実観測データの処理 | 実際の RINEX 観測によるコード SPP(pvt、メートル級)。短基線 RTK と LAMBDA、実際の搬送波位相に対する静的フロート PPP は、IGS 観測局と照合して確認したライブラリコードとして提供(VALIDATED。静的で短い観測窓であり、ストリーミングサービスではありません)。加えて、ジオメトリ/精度低下率(DOP)/可用性 |
中核となる能力で、搬送波位相の PPP/RTK まで対応 |
| インストール | ゼロ:ブラウザーのタブ内で動作(WebAssembly) | ネイティブビルド/ツールチェーン |
競合ではなく補完関係:RTKLIB と gLAB#
RTKLIB と gLAB は、成熟して広く使われている GNSS 処理スイートです。実際の測定値を入力として測位解を出力します(SPP/PPP/RTK。gLAB は、欧州宇宙機関(ESA)や欧州静止衛星航法オーバーレイサービス(EGNOS)で強い実績を持つ、優れた教育ツールでもあります)。Kshana はこれらの代替にはならず、そうしようともしていません。観測の経路は限定的で、コード単独測位(pvt)と、検査済みのライブラリコードとして、短基線 RTK と LAMBDA による整数値バイアスの決定、実際の二周波観測に対する静的フロート PPP フィルターがあり、いずれも IGS 観測局データと照合して VALIDATED です(PPP フィルターは、同じ入力に対する RTKLIB の実行結果とも照合しています)。搬送波スムージング、キネマティックまたはストリーミング処理、長基線での整数値バイアスの決定はありません。また pvt は対流圏や電離圏を推定せず、Saastamoinen/Niell の対流圏モデルと L1/L2 電離圏フリー結合を適用するだけで、状態量として解いてはいません。
パイプラインは補完的です。
- RTKLIB / gLAB は、「これらの信号から、自分はどこにいるのか?」に答えます
- Kshana は、「それらの信号が途絶えたとき、良い答えをどれだけ保てるのか。そして、古典か量子かを問わず、より良い時計や慣性センサーで何が得られるのか?」に答えます
自然な使い方は、GNSS が利用できる区間には処理エンジンを使い、その周辺のホールドオーバーの挙動とセンサーのトレード空間の調査に Kshana を使う、というものです。搬送波位相の測位サービス(キネマティック PPP や RTK、長基線、ネットワークでの整数値バイアスの決定)が必要なら RTKLIB や gLAB を使ってください。レジリエンスとホールドオーバーに関する、再現可能でラベル付きのエビデンスが必要なら、それが Kshana の役割です。
インストール不要のブラウザー層#
この分野のシミュレーションツールの多く(RTKLIB、gLAB、General Mission Analysis Tool(GMAT)、Orekit、STK)は、ネイティブでのインストールかライセンスが必要で、最初の結果が得られるまでに学習の手間がかかります。Kshana は WebAssembly にコンパイルされ、完全にブラウザー内で動作します。プレイグラウンドは作業例のシナリオを読み込み、実際のエンジンをクライアント側で実行し(何もアップロードされません)、数秒で結果を表示します。ガイド付きのスライダーとワンクリックのシナリオにより、最初の有用な結果を得るのに TOML(Tom's Obvious Minimal Language、シナリオファイルの形式)もツールチェーンも不要です。
このインストール不要の層は、意図的な位置づけです。
- リーチ — レビュアー、学生、調達担当者は、リンクから、どのデバイスでも、セットアップなしで実際のエンジンを試せます。
- 再現性 — ブラウザーで提供されるエンジンは、crates.io、Python Package Index(PyPI)、npm で提供されるライブラリと同じもので、結果は
scenario + seed + engine versionから再現でき、実行は URL(ウェブアドレス)として共有できます。 - 正直さ — エンジンを自分で、公開された形で実行することは、「数字を信用せよ」への最も強い反論です。ブラウザー層こそが監査の接点です。
ブラウザー層は、Kshana をデスクトップの処理スイートの代替にするものではありません。デスクトップの処理スイートをインストールしようとは思わない人にも、性能のトレードスタディという問いを身近にするものです。
関連項目#
CAPABILITY.md— 行ごとの範囲マップ(pvtソルバーの全範囲と残差は、GNSS / PNT 処理の行にあります)。VALIDATION.md— 検証済みの内容と、そのエビデンス。TELECOM-TIMING.md— 通信タイミングの種別とそのマスク。GLOSSARY.md— ここで使われている用語の平易な言葉による定義。web/README.md— ブラウザープレイグラウンド。