Android フレームワークでは、未加工の GNSS 測定値へのアクセスが可能 複数の Android デバイスと同期できます。
ここで説明するツールは、GitHub の GPS Measurement Tools リポジトリから入手できます。GitHub には、GnssLogger の予備版のソースコードと、Linux、Windows、macOS 用のデスクトップ GNSS Analysis アプリの実行可能ファイルが含まれています。インストールおよびユーザー マニュアル。
Google スマートフォン デシメーター チャレンジ
Google、Institute of Navigation の衛星部門、Kaggle は、ION GNSS+ の第 3 回スマートフォン デシメーター チャレンジのスポンサーです。コンテストは 2023 年 9 月 12 日に開始され、2024 年 5 月 23 日に終了します。未加工の GNSS 測定値、センサーデータ、正確なグラウンド トゥルースを含む 150 以上の新しいトレースが一般公開されます。コンテストへの参加はどなたでも可能です。参加者は、ION GNSS+ 2024 で開催される「スマートフォンのデシメートル チャレンジ」というセッションに要約を提出することをおすすめします。
ルールや規制などの詳細については、Kaggle のコンテスト ページをご覧ください。このページは 2023 年 9 月 12 日午後 3 時 30 分(米国中部夏時間)に公開されます。
生の GNSS 測定値をサポートする Android デバイス
Android 10(API レベル 29)以降を搭載したデバイスでは、未加工の GNSS 測定のサポートが必須です。Android 9(API レベル 28)以前では、2016 年以降のハードウェアを搭載しているすべての Android デバイスで、生の GNSS 測定のサポートが必須になっています。現在、既存の Android スマートフォンの 90% 以上が未加工の測定値を使用しています。
生の GNSS 測定フィールドの一部はオプションであり、使用される GNSS チップセットによって異なる場合があります。たとえば、次のようなフィールドがあります。
- 疑似距離と疑似距離レート
- ナビゲーション メッセージ。
- 自動ゲイン コントローラ(AGC)の値。
- 積算デルタレンジ(ADR)または搬送波位相。
以下の表に、Android 搭載デバイスの例と、未加工の GNSS 測定値のサポートレベルを示します。
モデル | Android バージョン | AGC | ADR(搬送波位相) | L5 | 測位システム |
---|---|---|---|---|---|
Google Pixel 4 / 5 / 6 / 7 | 12 | はい | はい | はい | GPS GLO GAL BDS QZS |
Xiaomi Mi 9 | 9 | はい | いいえ | はい | GPS GLO GAL BDS QZS |
Xiaomi Mi 8 | 8.1 | いいえ | はい | はい | GPS GLO GAL BDS QZS |
Huawei P30 Pro | 9 | × | はい | はい | GPS GLO GAL BDS |
Huawei Mate 20 | 9 | × | はい | はい | GPS GLO GAL BDS |
OnePlus 7 Pro | 9 | はい | いいえ | はい | GPS GLO GAL |
OnePlus 7 | 9 | はい | いいえ | はい | GPS GLO GAL |
Samsung Galaxy S20/S21 Ultra(Exynos)* | 12 | はい | はい | はい | GPS GLO GAL BDS QZS |
Samsung Galaxy S9(Exynos)* | 8.0 | いいえ | はい | いいえ | GPS GLO GAL QZS |
Samsung Galaxy S9+ | 8.0 | いいえ | いいえ | いいえ | GPS GLO GAL |
* Samsung Galaxy Exynos バージョンは、近年 ADR を提供しています。Samsung Snapdragon バージョンでは ADR はまだ提供されていません。
Android デバイスが提供する未加工の測定フィールドの定義について詳しくは、グローバル ナビゲーションをご覧ください。 衛星システム。
相手先ブランド製品製造企業(OEM)、デベロッパー、研究者は、このページで説明するツールを、GNSS を利用したアプリを開発するためだけでなく、新しいスマートフォンの設計の検証、機能のテスト、新しいアルゴリズムの開発、GNSS システムの実装に対する改善の評価にも利用できます。
SUPL クライアントのサンプルコード
Suplclient は、supl.google.com にアクセスしてリアルタイムのエフェメリスを取得するサンプルコードです。SuplTester
クラスは、SUPL Client Project の使い方の例になります。SuplTester
は、SUPL TCP 接続仕様をセットアップし、指定の緯度と経度で LPP SUPL リクエストを送信して、SUPL サーバーからのレスポンスを出力します。
アンテナ較正情報
Android 11(API レベル 30)以降では、GnssAntennaInfo
クラスを使用して、位相中心オフセット(PCO)座標、位相中心変動(PCV)補正、信号ゲイン補正などのアンテナ特性にアクセスできます。これらの補正を元の測定値に適用すると、精度が向上します。
GnssAntennaInfo
を使用する場合は、次のシステム動作に注意してください。Google
ユーザーのプライバシーを強化することを目的としています。
- この API によって提供される特性は、個々のデバイスではなく、デバイスモデルに固有のものです。
生の測定値のロギング
Android Studio を使用して、生の GNSS 測定値やその他の位置情報を取得してログをファイルに出力するアプリを構築できます。このようなアプリのソースコードの例については、GPS 測定ツールをご覧ください。
Google GNSSLogger は、この機能を使用して開発されたサンプルアプリです。 サンプルアプリで GNSS 出力を取得するには、デバイスが生の GNSS 測定値をサポートしている必要があります。
GNSS Logger を使用して GNSS のログを作成したら、そのログファイルをデバイスからパソコンにコピーして分析できます。 GNSS ロガーでは、ファイルをメールで自分自身に送信したり、Google に保存したりできます。 。または、Google ドライブ上のファイル管理アプリを使用してファイルを保存することもできます。 または、Android Debug Bridge(ADB)を使用して、 デバイス間でファイルをコピーする。
生の測定値の分析
GNSS Analysis アプリでは、GNSS Logger で収集された生の GPS(GNSS)測定値を読み取って、GNSS レシーバの動作を分析します(図 1)。
このアプリは、Linux、Windows、macOS システム用をダウンロードできます。
図 1. GNSS ロガーは、GNSS で使用可能な測定値を収集します。 分析。
GNSS Analysis アプリは、 MATLAB。ただし、 MATLAB で実行させますアプリが、インストール可能な実行可能ファイルにコンパイルされます。 MATLAB ランタイムのコピーを使用します。
GNSS Analysis コントロール パネル
図 2 に示す GNSS Analysis コントロール パネルでは、アプリの 次のような機能があります。
- 表示する衛星の選択
- 計算に使用する基準位置、速度、時間(PVT)を制御 測定エラーになります
- 分析レポートの生成
- 開始時刻と終了時刻の間におけるデータ ウィンドウの定義
)
図 2. GNSS Analysis コントロール パネル
GNSS Analysis インタラクティブ プロット
GNSS Analysis アプリは、無線周波数で整理されたインタラクティブなプロットを提供します (RF)、クロック、測定の各列を示しています。
)
図 3. インタラクティブなプロットを表示している GNSS Analysis アプリ。
RF 列には次のデータが表示されます。
- 各コンステレーションについて、最も強い電波を持つ 4 つの衛星。
- 各衛星の、搬送波対雑音密度比(C/No)の時間プロット。
- 衛星位置のスカイプロット。
クロック列には次のデータが表示されます。
- 疑似距離。
受信機クロックのオフセット周波数。次のいずれかの基準位置を使用して計算されます。
- 自動計算された平均位置。
- ユーザーが入力した緯度、経度、高度。
- 真の基準 PVT を含む米国海洋電子機器協会(NMEA)のファイル。
</ph>
受信機がリセットしたときに時刻を保持するスタンバイ クロックのオフセット デューティ サイクルを示します。
測定値列には次のデータが表示されます。
- 擬似距離の生データから重み付き最小二乗法で得られた位置。重み付けは、各データポイントに報告されている不確実性を使用して 測定(raw Measurement API 仕様に含まれています)を
- 測定ごとの各擬似距離の誤差。
測定ごとの各擬似距離レートの誤差。
<ph type="x-smartling-placeholder"></ph>
GNSS Analysis テストレポート
GNSS Analysis では、図 4 に示すようなテストレポートを生成できます。 API 実装、受信信号、クロック動作、測定 向上します各ケースについて、アプリは受信者の合格 / 不合格を報告します。 既知のベンチマークに照らして測定されたパフォーマンスに基づいてテストする。このテストレポートは、新しいデバイスの設計と実装を繰り返し行うデバイス メーカーにとって有用です。テストを生成する手順 [Make Report] をクリックします。
図 4. GNSS Analysis テストレポート
[Compare] タブには、複数の GNSS ログファイルからの C/No が横に並べて表示されます(図 5)。複数のデバイスの RF パフォーマンスを比較する際に役立ちます。
図 5. 複数のログファイルからの C/No データを並べて比較
ソースコードに興味がある場合は、GPS 測定 Tool Project を使用すると、 MATLAB サンプルを使用して を使用すると、GPS コンステレーション信号を使用して次の操作を行うことができます。
- GNSS Logger サンプルアプリで取得したデータの読み込み。
- 疑似距離の計算と可視化。
- 位置と速度の重み付き最小二乗法による計算。
- 搬送波位相の表示と分析。
GNSS Analysis アプリ v4.6.0.1 リリースノート
GNSS Analysis アプリ バージョン 4.6.0.1 には以下の更新が含まれています。
- Matlab R2022a で GnssAnalysisTool を構築し、次の新機能を利用できるようにしました。
- ステータス ウィンドウの自動スクロール: 最新のステータス メッセージを常に表示。
- コンステレーションごとの C/N0 の比較と、L1 と L5 の比較の表を追加しました。
- 疑似距離レートの残差プロットを追加しました。
- 参照 PVT の「静止」と「移動中」の個別のタブを削除し、選択されている参照 PVT のタイプを簡単に確認できるようにしました。
- [Make Report] の結果を HTML からステータス ウィンドウに移動しました。
- [ミッション プランナー] タブを削除しました。gnssmissionplanning.com/ または www.gnssplanning.com/ を使用してください。
- RINEX 観測ファイルの解析に関連する修正を行いました。
- BKG が機能しない場合、GPS と GLO の NASA CDDIS エフェメラル ソースにフォールバックします。
- igs.bkg.bund.de から igs-ftp.bkg.bund.de に移動
- GAL、QZSS、BDS エフェメリスのダウンロードに失敗しても、分析を終了しない。
- チップセットが BaseBandCNo をサポートしていない場合でも、アンテナ CNo 分析を作成する
フィードバックを送信
Google では、Android における GNSS のサポートの改善を図っています。問題があればお知らせください Android で GNSS をサポートしている場合は、GNSS issue 。その際には、あらかじめよくある質問に同じ問題が掲載されていないかご確認ください。
GNSS Analysis ツールを使用したことがある場合は、 簡単なアンケートその他の質問やサポート リクエストについては、デベロッパー サポート リソースをご覧ください。
よくある質問に対する回答は、GNSS Analysis ツールについてのよくある質問に掲載されている可能性があります。