自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
GnssClock 結構體參考資料
#include <
gps.h
>
代表 GPS 時鐘時間的預估值。
定義位於檔案
gps.h
的
1455
行。
低於奈秒的偏差。這個值和 full_bias_ns 的總和所產生的誤差估計值就是 bias_uncertainty_ns
如果資料可用,則「flags」必須包含 GNSS_CLOCK_HAS_BIAS。如果 GPS 已計算出位置修正值。如果接收器有預估 GPS 時間,則必須使用這個值。
定義位於檔案
gps.h
的
1534
行。
double bias_uncertainty_ns
|
與 GPS 時間 (時鐘偏差) 的本機估計值相關的 1 標準差不確定性,以奈秒為單位。不確定度以絕對值 (單邊) 表示。
如果資料可用,則「標記」必須包含 GNSS_CLOCK_HAS_BIAS_UNCERTAINTY。如果接收器有預估 GPS 時間,則必須使用這個值。
定義位於檔案
gps.h
的
1545
行。
時鐘的漂移量 (以奈秒為單位)。
正值表示頻率高於額定頻率,且 (full_bias_ns + bias_ns) 隨著時間推移而變得更正。
這個值包含「漂移不確定性」。如果資料可用,則「flags」必須包含 GNSS_CLOCK_HAS_DRIFT。
如果接收器有預估的 GNSS 時間,則必須使用這個值
定義位於檔案
gps.h
的
1559
行。
double drift_uncertainty_nsps
|
與時鐘漂移相關的 1 標準差不確定性,以奈秒 (每秒) 為單位。不確定度以絕對值 (單邊) 表示。
如果資料可用,則「標記」必須包含 GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY。如果 GPS 已計算出位置修正值,則必須填入這個欄位。
定義位於檔案
gps.h
的
1569
行。
一組旗標,用來指出此資料結構中的欄位是否有效。
定義位於檔案
gps.h
的
1463
行。
自 1980 年 1 月 6 日 00:00 世界協調時起,GPS 接收器內的硬體時鐘 (「time」欄位) 與實際 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 訊號較少的期間,硬體時鐘應盡可能避免中斷,這樣一來,當您使用連續
GnssData
報告的隨附測量資料時,就不會需要使用 (浪費) GNSS 測量資料來完全解決 GPS 時鐘偏差和漂移問題。
定義位於檔案
gps.h
的
1600
行。
閏秒資料。值的符號由下列方程式定義:utc_time_ns = time_ns - (full_bias_ns + bias_ns) - leap_second * 1,000,000,000
如果資料可用,則「標記」必須包含 GNSS_CLOCK_HAS_LEAP_SECOND。
定義位於檔案
gps.h
的
1473
行。
GNSS 接收器內部時鐘值。這是本機硬體時鐘值。
對於本機硬體時鐘,這個值應會在硬體時鐘持續開啟時單調遞增。(如果硬體時鐘並非持續開啟,請參閱 hw_clock_discontinuity_count 欄位)。接收器的 GPS 時間預估值,可透過從這個值中減去 full_bias_ns 和 bias_ns (如有) 的總和來得知。
這個 GPS 時間應為 GNSS 接收器可取得的目前 GPS 時間最佳預估值。
您可以透過「bias_ns」欄位提供小於奈秒的精確度。這個值包含「時間不確定性」。
這是必填欄位。
定義位於檔案
gps.h
的
1494
行。
double time_uncertainty_ns
|
與時鐘時間相關的 1-Sigma 不確定性,以奈秒為單位。不確定度以絕對 (單邊) 值表示。
如果資料可用,則「flags」必須包含 GNSS_CLOCK_HAS_TIME_UNCERTAINTY。這個值實際上為零 (這是參考本機時鐘,用於測量所有其他時間和時間不確定性)。(因此,根據 GNSS_CLOCK_HAS_TIME_UNCERTAINTY 標記,您可以選擇不提供這個欄位,或提供並設為 0)。
定義位於檔案
gps.h
的
1506
行。
這個結構體的說明文件是由下列檔案產生:
-
hardware/libhardware/include/hardware/
gps.h
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-03-26 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-03-26 (世界標準時間)。"],[],[]]