GnssClock 構造体リファレンス
#include < gps.h >
データフィールド | |
サイズ_t | サイズ |
Gnssクロックフラグ | フラグ |
int16_t | うるう秒 |
int64_t | time_ns |
ダブル | time_uncertainty_ns |
int64_t | full_bias_ns |
ダブル | バイアス_ns |
ダブル | bias_uncertainty_ns |
ダブル | ドリフト_nsps |
ダブル | ドリフト_不確実性_nsps |
uint32_t | hw_ Clock_discontinuity_count |
詳細な説明
フィールドドキュメント
ダブルバイアス_ns |
二重バイアス_不確実性_ns |
ダブルドリフト_nsps |
ダブルドリフト_不確実性_nsps |
int64_t full_bias_ns |
GPS 受信機内のハードウェア クロック (「時間」フィールド) と、1980 年 1 月 6 日 0000Z 以降の実際の GPS 時間との差 (ナノ秒単位)。
値の符号は次の方程式で定義されます: GPS 時間のローカル推定値 = time_ns - (full_bias_ns +bias_ns)
受信機が推定 GPS 時間を持っている場合、この値は必須です。計算された時間が非 GPS コンステレーションのものである場合、この値を埋めるために、GPS に対するそのコンステレーションの時間オフセットを適用する必要があります。これとbias_nsの合計の誤差推定値はbias_uncertainty_nsであり、呼び出し元はこの不確実性を使用する責任があります(GPS時間が解決される前に非常に大きくなる可能性があります)。データが利用可能な場合、「フラグ」には次の値が含まれている必要があります。 GNSS_CLOCK_HAS_FULL_BIAS。
uint32_t hw_lock_discontinuity_count |
HW クロックに不連続がある場合、このフィールドは必須です。
「不連続性」は、あるクロック ソースから別のクロック ソースへの切り替えの場合をカバーすることを目的としています。単一の自走水晶発振器 (XO) には通常、不連続性があってはなりません。これは 0 に設定してそのままにすることができます。
ただし、time_ns 値 (HW クロック) が、一般的な XO ほどスムーズではないソースの複合から導出される場合、または停止および再起動される場合、この値は不連続が発生するたびに増加します。 (たとえば、この値はデバイスの起動時にゼロから始まり、クロックの連続性に変化が生じるたびに増加します。万が一、この値がフルスケールに達した場合は、この値が継続的に維持されるようにロールオーバー (クランプではなく) が必要です。その後の不連続イベント中に変更されます。)
この数値はGnssClockレポート間で同じままですが、time_ns 値が連続的に実行されている、たとえば連続 GNSS 信号サンプリング中に通常使用される単一の高品質クロック (XO のような、またはそれ以上のクロック) から導出されていると想定できます。 )
特にそれは予想されています。利用可能な GNSS 信号がほとんどない期間中は、GPS クロックのバイアスとドリフトを完全に解決するために GNSS 測定を使用 (無駄) する必要がなくなるため、ハードウェア クロックが可能な限り長く不連続にならないようにします。連続したGnssDataレポートからの付随する測定値を使用します。
int16_t 閏秒 |
int64_t time_ns |
GNSS受信機の内部クロック値。これはローカル ハードウェア クロック値です。
ローカル ハードウェア クロックの場合、ハードウェア クロックが電源オンのままである間、この値は単調増加すると予想されます。 (HW クロックが継続的にオンになっていない場合については、hw_ Clock_discontinuity_count フィールドを参照してください)。受信機の GPS 時間の推定値は、この値から full_bias_ns とbias_ns (利用可能な場合) の合計を減算することで導き出すことができます。
この GPS 時間は、GNSS 受信機が達成できる現在の GPS 時間の最良の推定値であると予想されます。
「bias_ns」フィールドを使用すると、ナノ秒未満の精度を提供できます。この値には「時間の不確実性」が含まれています。
このフィールドは必須です。
double time_uncertainty_ns |
この構造体のドキュメントは次のファイルから生成されました。