GnssClock 結構參考

GnssClock 結構參考

#include < gps.h >

資料欄位

尺寸_t尺寸
Gnss時鐘標誌旗幟
int16_t閏秒
int64_t時間_ns
雙倍的time_uncertainty_ns
int64_t full_bias_ns
雙倍的偏差_ns
雙倍的偏差_不確定性_ns
雙倍的漂移_nsps
雙倍的drift_uncertainty_nsps
uint32_t hw_clock_discontinuity_count

詳細說明

表示 GPS 時鐘時間的估計值。

定義位於檔案gps.h的第1455行。

現場文檔

雙偏置_ns

亞納秒偏差。此值與 full_bias_ns 總和的誤差估計為bias_uncertainty_ns

如果資料可用,「標誌」必須包含 GNSS_CLOCK_HAS_BIAS。 GPS 是否計算出定位。如果接收器有估計的 GPS 時間,則該值是必要的。

定義位於檔案gps.h的第1534行。

雙偏差_uncertainty_ns

與本地 GPS 時間估計(時鐘偏差)相關的 1-Sigma 不確定性(以奈秒為單位)。不確定性表示為絕對(單邊)值。

如果資料可用,「標誌」必須包含 GNSS_CLOCK_HAS_BIAS_UNCERTAINTY。如果接收器有估計的 GPS 時間,則該值是必要的。

定義位於檔案gps.h的第1545行。

雙漂移_nsps

時鐘的漂移以奈秒(每秒)為單位。

正值意味著頻率高於標稱頻率,並且 (full_bias_ns +bias_ns) 隨著時間的推移變得越來越正。

該值包含“漂移不確定性”。如果資料可用,「標誌」必須包含 GNSS_CLOCK_HAS_DRIFT。

如果接收器有估計的 GNSS 時間,則該值是強制性的

定義位於檔案gps.h的第1559行。

雙漂移_不確定性_nsps

與時鐘漂移(以奈秒(每秒)為單位)相關的 1-Sigma 不確定性。不確定性表示為絕對(單邊)值。

如果資料可用,「標誌」必須包含 GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY。如果 GPS 已計算定位,則此欄位是強制性的且必須填寫。

定義位於檔案gps.h的第1569行。

一組標誌,指示該資料結構中欄位的有效性。

定義位於檔案gps.h的第1463行。

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。

定義位於檔案gps.h的第1523行。

uint32_t hw_clock_discontinuity_count

當硬體時鐘存在任何不連續性時,此欄位是必需的。

「不連續性」旨在涵蓋從一個時鐘來源切換到另一個時鐘來源的情況。單一自由運行的晶體振盪器 (XO) 通常不應有任何不連續性,並且可以將其設為 0。

然而,如果 time_ns 值(硬體時鐘)源自複合源,不像典型的 XO 那樣平滑,或者以其他方式停止並重新啟動,則每次發生不連續時,該值應遞增。 (例如,該值可能在設備啟動時從零開始,並在每次時鐘連續性發生變化時遞增。萬一該值達到滿量程,則需要翻轉(而不是箝位),以便該值繼續在隨後的不連續事件期間發生變化。)

雖然這個數字保持不變,但在GnssClock報告之間,可以安全地假設 time_ns 值一直在連續運行,例如源自單個高品質時脈(類似 XO 或更好,通常在連續 GNSS 訊號採樣期間使用。 )

這是預期的,特別是。在可用 GNSS 訊號很少的時期,硬體時鐘應盡可能長時間地保持無中斷,因為這樣可以避免需要使用(浪費)GNSS 測量來完全解決 GPS 時鐘偏差和漂移,當使用來自連續GnssData報告的隨附測量值。

定義位於檔案gps.h的第1600行。

int16_t 閏秒

閏秒數據。該值的符號由以下等式定義: utc_time_ns = time_ns - (full_bias_ns +bias_ns) - Leap_Second * 1,000,000,000

如果資料可用,「標誌」必須包含 GNSS_CLOCK_HAS_LEAP_SECOND。

定義位於檔案gps.h的第1473行。

size_t 尺寸

設定為 sizeof(GnssClock)

定義位於檔案gps.h的第1457行。

int64_t time_ns

GNSS 接收器內部時鐘值。這是本地硬體時鐘值。

對於本地硬體時鐘,當硬體時鐘保持通電狀態時,該值預計會單調遞增。 (對於不連續開啟的硬體時脈的情況,請參閱 hw_clock_discontinuity_count 欄位)。接收器對 GPS 時間的估計可以透過從此值減去 full_bias_ns 和bias_ns(如果可用)的總和來得出。

此 GPS 時間預計是 GNSS 接收器可以實現的當前 GPS 時間的最佳估計。

亞納秒精度可以透過“bias_ns”欄位提供。該值包含了“時間不確定性”。

此欄位是必填欄位。

定義位於檔案gps.h的第1494行。

雙倍 time_uncertainty_ns

與時鐘時間(奈秒)相關的 1-Sigma 不確定性。不確定性表示為絕對(單邊)值。

如果資料可用,「flags」必須包含 GNSS_CLOCK_HAS_TIME_UNCERTAINTY。該值實際上為零(它是參考本地時鐘,透過它來測量所有其他時間和時間不確定性。)(因此,根據 GNSS_CLOCK_HAS_TIME_UNCERTAINTY 標誌,可以不提供該字段,或提供並設定為 0。)

定義在檔案gps.h的第1506行。


該結構的文檔是從以下文件產生的:
  • 硬體/libhardware/include/hardware/gps.h