GnssClock 構造体リファレンス
#include <
gps.h
>
データ フィールド |
|
size_t | size |
GnssClockFlags | フラグ |
int16_t | leap_second |
int64_t | time_ns |
ダブル | time_uncertainty_ns |
int64_t | full_bias_ns |
ダブル | bias_ns |
ダブル | bias_uncertainty_ns |
ダブル | drift_nsps |
ダブル | drift_uncertainty_nsps |
uint32_t | hw_clock_discontinuity_count |
詳細な説明
フィールドのドキュメント
double bias_ns |
double bias_uncertainty_ns |
drift_nsps を 2 倍にします。 |
double drift_uncertainty_nsps |
GnssClockFlags flags |
int64_t full_bias_ns |
GPS レシーバー内のハードウェア クロック(time フィールド)と、1980 年 1 月 6 日 0000Z からの正確な GPS 時間との差(ナノ秒単位)。
値の符号は、GPS 時間のローカル推定値 = time_ns -(full_bias_ns + bias_ns)という式で定義されます。
受信機が GPS 時間を推定している場合、この値は必須です。計算された時刻が GPS 以外のコンステレーションの時刻である場合、この値を入力するには、そのコンステレーションと GPS の時刻オフセットを適用する必要があります。この値と bias_ns の合計の誤差推定値は bias_uncertainty_ns です。この不確実性の使用は呼び出し元の責任となります(GPS 時間が解決される前は非常に大きくなる可能性があります)。データが利用可能な場合は、「flags」に GNSS_CLOCK_HAS_FULL_BIAS を含める必要があります。
uint32_t hw_clock_discontinuity_count |
ハードウェア クロックに不連続性がある場合は、このフィールドは必須です。
「不連続」とは、あるクロックソースから別のクロックソースに切り替える場合を対象としています。通常、単一のフリーランニング水晶発振器(XO)には不連続性がないため、この値は 0 のままにできます。
ただし、time_ns 値(HW クロック)が、典型的な XO ほどスムーズでないソースの組み合わせから派生している場合や、停止と再起動を繰り返している場合は、不連続が発生するたびにこの値がインクリメントされます。(例: この値はデバイスの起動時に 0 から始まり、クロックの連続性が変化するたびに増分します。この値がフルスケールに達した場合は、ロールオーバー(クランプではなく)が必要になります。これにより、その後の不連続イベント中にこの値が引き続き変化します。
この数値は GNSSClock レポート間で同じままですが、time_ns 値は連続的に実行されていると安全に想定できます(たとえば、単一の高品質クロック(XO のような、またはそれ以上のクロック。通常は連続的な GNSS 信号サンプリング中に使用されます)から派生しています)。
特に、利用可能な GNSS 信号が少ない期間は、HW クロックをできるだけ長く連続的に維持することが期待されます。これにより、連続した GNSSData レポートから付属の測定値を使用するときに、GPS クロックのバイアスとドリフトを完全に再解決するために GNSS 測定値を使用する(浪費する)必要がなくなります。
int16_t leap_second |
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 |
この構造体のドキュメントは、次のファイルから生成されました。
- hardware/libhardware/include/hardware/ gps.h