Android 架構可讓您在多部 Android 裝置上存取原始 GNSS 測量結果。
您可以在 GitHub 的 GPS Measurement Tools 存放區中找到這些工具,包括 GnssLogger 預先發布版本的原始碼,以及適用於 Linux、Windows 和 macOS 的 GNSS 分析桌面應用程式可執行檔。安裝和使用手冊。
Google 智慧型手機公寸挑戰賽
Google、航海學會衛星部門和 Kaggle 將在 ION GNSS+ 贊助第 3 屆智慧型手機公寸挑戰賽。這項競賽將於 2023 年 9 月 12 日開始,2024 年 5 月 23 日結束。我們將公開提供超過 150 個新追蹤記錄,內含原始 GNSS 測量值、感應器資料和精確的真值。所有人都可以參加這項競賽。我們鼓勵參與者向「智慧型手機公寸挑戰」提交摘要,這場研討會將在 2024 年 ION GNSS+ 舉行。
如要瞭解更多資訊 (包括規則和法規),請前往 Kaggle 上的競賽頁面,該頁面將於 2023 年 9 月 12 日下午 3:30 (MDT) 上線。
支援原始全球導航衛星系統測量資料的 Android 裝置
搭載 Android 10 (API 級別 29) 以上版本的裝置必須支援原始 GNSS 測量值。在 Android 9 (API 級別 28) 以下版本中,凡是硬體年份為 2016 年或更新的 Android 裝置,都必須支援原始 GNSS 測量值。目前,超過 90% 的現有 Android 手機都有原始測量值。
部分原始全球導航衛星系統測量欄位為選用欄位,支援情形會因使用的全球導航衛星系統晶片組而異。這類欄位的範例如下:
- 虛擬距離和虛擬距離變化率。
- 導覽訊息。
- 自動增益控制器 (AGC) 值。
- 累計三角範圍 (ADR) 或載波相位。
下表列出幾個 Android 裝置的範例,並顯示其支援的原始 GNSS 測量值層級:
型號 | Android 版本 | AGC | ADR (載波階段) | L5 | 全球系統 |
---|---|---|---|---|---|
Google Pixel 4/5/6/7 | 12 | 是 | 是 | 是 | GPS GLO GAL BDS QZS |
小米 Mi 9 | 9 | 是 | no | 是 | GPS GLO GAL BDS QZS |
小米 Mi 8 | 8.1 | no | 是 | 是 | GPS GLO GAL BDS QZS |
Huawei P30 Pro | 9 | no | 是 | 是 | GPS GLO GAL BDS |
Huawei Mate 20 | 9 | no | 是 | 是 | GPS GLO GAL BDS |
One Plus 7 Pro | 9 | 是 | no | 是 | GPS GLO GAL |
One Plus 7 | 9 | 是 | no | 是 | GPS GLO GAL |
Samsung Galaxy S20/S21 Ultra (Exynos)* | 12 | 是 | 是 | 是 | GPS GLO GAL BDS QZS |
Samsung Galaxy S9 (Exynos)* | 8.0 | no | 是 | no | GPS GLO GAL QZS |
Samsung Galaxy S9+ | 8.0 | no | no | no | GPS GLO GAL |
* Samsung Galaxy Exynos 版本近幾年提供 ADR。Samsung Snapdragon 版本目前不支援 ADR。
如要進一步瞭解 Android 裝置提供的原始測量值欄位定義,請參閱「全球導航衛星系統」。
原始設備製造商 (OEM)、開發人員和研究人員可以利用本頁面的工具測試新手機設計、驗證功能、開發新演算法、評估 GNSS 系統實作的改善項目,以及建構加值應用程式。
SUPL 用戶端程式碼範例
Suplclient 是存取 supl.google.com 以取得即時星曆的程式碼範例。SuplTester
類別提供如何使用 SUPL 用戶端專案的範例。SuplTester
會設定 SUPL TCP 連線規格,然後在指定經緯度傳送 LPP SUPL 要求,並列印 SUPL 伺服器回應。
天線校正資訊
從 Android 11 (API 級別 30) 開始,您可以使用 GnssAntennaInfo
類別存取天線特性,例如:相位中心偏移 (PCO) 座標、相位中心變異 (PCV) 校正和訊號增益校正。這些修正項目可套用至原始測量結果,以提高準確度。
使用 GnssAntennaInfo
時,請注意下列系統行為。這些做法旨在加強保護使用者隱私。
- 這個 API 提供的特徵僅適用於裝置型號,不適用於個別裝置。
記錄原始測量資料
您可以使用 Android Studio 建構應用程式,擷取原始 GNSS 測量值和其他位置資料,並記錄到檔案中。如需這類應用程式的原始碼範例,請參閱「GPS Measurement Tools」。
Google GNSSLogger 是使用這項功能開發的範例應用程式。 如要使用範例應用程式取得 GNSS 輸出內容,裝置必須支援原始 GNSS 測量值。
使用 GNSS 記錄器擷取 GNSS 記錄後,您可以將記錄檔從裝置複製到電腦,以供進一步分析。在 GNSS Logger 中,您可以透過電子郵件將檔案傳送給自己,或是將檔案儲存到 Google 雲端硬碟。或者,您也可以使用裝置上的檔案管理應用程式儲存檔案,或使用 Android Debug Bridge (ADB),詳情請參閱「將檔案複製到裝置或從裝置複製檔案」。
分析原始測量資料
GNSS Analysis 應用程式會讀取 GNSS Logger 收集的原始 GPS/GNSS 測量資料,並用於分析 GNSS 接收器行為,如圖 1 所示。
您可以下載適用於 Linux、Windows 和 macOS 系統的應用程式。
圖 1. GNSS Logger 會收集可供 GNSS 分析使用的測量資料。
GNSS Analysis 應用程式是以 MATLAB 為基礎建構而成,但您不需要 MATLAB 即可執行。應用程式會編譯為可執行檔,並安裝 MATLAB Runtime 的副本。
GNSS 分析控制台
如圖 2 所示,GNSS 分析控制台可讓您管理應用程式功能,例如:
- 選取要顯示的衛星。
- 控制用於計算測量誤差的參考位置、速度和時間 (PVT)。
- 產生分析報表。
- 在開始和結束時間之間定義資料的時間範圍。
)
圖 2. GNSS 分析控制台
GNSS 分析互動式圖表
GNSS 分析應用程式會提供互動式圖表,並依射頻 (RF)、時鐘和測量值欄位整理,如圖 3 所示。
)
圖 3. GNSS Analysis 應用程式顯示互動式圖表。
「RF」欄會顯示下列資料:
- 每個星群中訊號最強的四顆衛星。
- 每個衛星的載波雜訊密度 (C/No) 時間圖。
- 衛星位置的天空圖。
「時鐘」欄會顯示下列資料:
- 偽距。
接收器時鐘的偏移頻率,是使用下列其中一個參考位置計算得出:
- 系統會自動計算平均排名。
- 使用者輸入的緯度、經度和海拔高度。
- 含有真實參考 PVT 的 National Marine Electronics Association (NMEA) 檔案。
接收器重設主要振盪器的占空比時,用於計時的待機時鐘偏移量。
「測量」欄會顯示下列資料:
- 從原始虛擬距離取得的加權最小平方位置結果。加權作業會使用每項評估的報告不確定度,這是原始評估 API 規格的一部分。
- 每次測量時,每個虛擬距離的誤差。
各項測量的每個虛擬距離速率誤差。
GNSS 分析測試報告
GNSS 分析可以產生測試報告 (如圖 4 所示),評估 API 實作、接收到的訊號、時鐘行為和測量準確度。應用程式會根據與已知基準的比較結果,回報接收器是否通過測試。這份測試報告對裝置製造商很有幫助,他們可以根據報告反覆調整新裝置的設計和實作方式。如要產生測試報告,請按一下「製作報告」。
圖 4. GNSS 分析測試報告
「比較」分頁會並排顯示多個 GNSS 記錄檔的 C/No,如圖 5 所示,方便您比較多部裝置的 RF 效能。
圖 5. 並列比較多個記錄檔中的 C/No 資料
想瞭解原始碼嗎?GPS 測量工具專案提供開放原始碼 MATLAB 範例,您可以使用 GPS 星座信號執行下列動作:
- 讀取使用 GNSS Logger 範例應用程式擷取的資料。
- 計算並以圖表呈現虛擬距離。
- 計算加權最小平方位置和速度。
- 查看及分析載波階段。
GNSS Analysis 應用程式 4.6.0.1 版版本資訊
GNSS Analysis 應用程式 4.6.0.1 版包含下列更新:
- 以 Matlab R2022a 建構 GnssAnalysisTool,提供新功能:
- 狀態視窗會自動捲動,方便您隨時查看最新狀態訊息。
- 新增 C/N0 比較表,按星座分類,並比較 L1 和 L5。
- 新增虛擬距離速率殘差圖。
- 移除「參考 PVT 靜止」或「參考 PVT 移動」的個別分頁,方便查看所選的參考 PVT 類型。
- 將「製作報表」結果從 HTML 移至狀態視窗。
- 移除「任務規劃」分頁。請使用 gnssmissionplanning.com/ 或 www.gnssplanning.com/。
- 修正與 RINEX 觀測檔案剖析相關的問題。
- 如果 BKG 無法運作,則改用 NASA CDDIS 星曆來源取得 GPS 和 GLO 資料。
- 從 igs.bkg.bund.de 遷移至 igs-ftp.bkg.bund.de
- 如果 GAL、QZSS 或 BDS 星曆下載失敗,請勿結束分析。
- 即使晶片組不支援 BaseBandCNo,仍可建立天線 CNo 分析
提供意見
我們希望改善 Android 的 GNSS 支援功能。如要回報 Android 裝置的 GNSS 支援問題,請使用 GNSS Issue Tracker。發布問題前,請先查看常見問題,確認是否已有解答。
如果您使用過 GNSS 分析工具,請填寫簡短問卷調查提供意見回饋。如有其他問題或需要支援,請參閱開發人員支援資源。
如需常見問題的解答,請參閱 GNSS 分析工具常見問題。