Android 框架可让您访问 GNSS 原始测量数据 。
您可以在以下位置找到这些工具: GPS 测量工具 代码库,其中包含初级版本的 GnssLogger 的源代码,以及用于 Linux、 Windows、 和 macOS。安装和用户手册。
Google 智能手机分米挑战
Google、导航研究所卫星部门和 Kaggle 正在赞助 ION GNSS+ 上的第三届智能手机分米挑战赛。竞赛将于 2023 年 9 月 12 日至 2024 年 5 月 23 日结束。超过 150 条新的跟踪记录将公开发布,其中包含 GNSS 原始测量数据、传感器数据和精确的标准答案。所有人都可以参加。鼓励学生提交标题为“智能手机分米挑战”的活动摘要这将于 2024 年 ION GNSS+ 上举行。
如需了解详情(包括规则和法规),请访问 Kaggle 上的竞赛页面。该页面将于美国中部夏令时 2023 年 9 月 12 日下午 3:30 开始。
支持 GNSS 原始测量数据的 Android 设备
搭载 Android 10(API 级别 29)或更高版本的设备必须支持原始 GNSS 测量数据。在 Android 9(API 级别 28)及更低版本中,所有硬件年份为 2016 年或更新的 Android 设备都必须支持原始 GNSS 测量数据。目前,超过 90% 的现有 Android 手机都有原始测量值。
对某些原始 GNSS 测量字段的支持是可选的,可能因所使用的 GNSS 芯片组而异。这些字段的示例包括:
- 伪距和伪距率。
- 导航消息。
- 自动增益控制器 (AGC) 值。
- 累计增量范围 (ADR) 或载波相位。
下表列出了一些 Android 设备示例,并展示了它们对 GNSS 原始测量数据的支持级别:
型号 | Android 版本 | AGC | ADR(载波相位) | L5 | 全球系统 |
---|---|---|---|---|---|
Google Pixel 4/5/6/7 | 12 | 是 | 是 | 是 | GPS GLO GAL BDS QZS |
小米 Mi 9 | 9 | 是 | 否 | 是 | GPS GLO GAL BDS QZS |
小米 Mi 8 | 8.1 | 否 | 是 | 是 | GPS GLO GAL BDS QZS |
华为 P30 Pro | 9 | 否 | 是 | 是 | GPS GLO GAL BDS |
华为 Mate 20 | 9 | 否 | 是 | 是 | GPS GLO GAL BDS |
One Plus 7 Pro | 9 | 是 | 否 | 是 | GPS GLO GAL |
One Plus 7 | 9 | 是 | 否 | 是 | GPS GLO GAL |
三星 Galaxy S20/S21 Ultra (Exynos)* | 12 | 是 | 是 | 是 | GPS GLO GAL BDS QZS |
三星 Galaxy S9 (Exynos)* | 8.0 | 否 | 是 | 否 | GPS GLO GAL QZS |
三星 Galaxy S9+ | 8.0 | 否 | 否 | 否 | 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 测量工具。
Google GNSSLogger 是一个采用此功能开发的示例应用。 要通过示例应用获取 GNSS 输出,您的设备必须支持原始 GNSS 测量结果。
使用 GNSS 日志记录器捕获 GNSS 日志后,您就可以复制该日志 将文件从设备传送到您的计算机,以进行进一步分析。在 GNSS 日志记录器,可让您通过电子邮件将这些文件发送给自己或将其保存到 Google 云端硬盘。您也可以使用文件管理应用 也可以使用 Android 调试桥 (ADB),如 将文件复制到设备/从设备复制文件。
分析原始测量数据
GNSS Analysis 应用读取由 GNSS 收集的 GPS/GNSS 原始测量数据 日志记录器,并使用它们来分析 GNSS 接收器行为,如图所示 1.
您可以下载该应用 Linux、 Windows、 和 macOS 系统。
图 1. GNSS 日志记录器会收集 GNSS 可以使用的测量数据 “分析”。
GNSS Analysis 应用构建于 MATLAB,但您不需要 让 MATLAB 运行它。该应用已被编译为可执行文件,该可执行文件会在 MATLAB 运行时的副本。
GNSS Analysis 控制台
您可以通过 GNSS Analysis 控制台(如图 2 所示)管理应用 功能,例如:
- 选择显示哪些卫星。
- 控制用于计算的参考位置、速度和时间 (PVT) 衡量误差。
- 生成分析报告。
- 定义开始到结束的数据测量时间窗口。
图 2. GNSS Analysis 控制台
GNSS Analysis 互动图
GNSS Analysis 应用提供按射频整理的互动图 (RF)、时钟和测量列,如图 3 所示。
图 3. 显示互动图的 GNSS Analysis 应用。
RF 列显示以下数据:
- 每个卫星群中信号最强的 4 颗卫星。
- 每颗卫星的载波噪声密度比 (C/No) 时间图。
- 卫星分布天空图。
时钟列显示以下数据:
- 伪距。
接收器时钟的偏移频率,该频率使用其中一个 以下参考位置:
- 自动计算的平均位置。
- 用户输入的纬度、经度和海拔。
- 包含可信参考资料的美国国家海洋电子协会 (NMEA) 文件 PVT。
</ph>
在接收器重置 主振荡器的占空比。
测量数据列显示以下数据:
- 从原始样本中获得的加权最小二乘法位置结果, 伪距。加权时依据的是各个实验报告的不确定性 Measurement API,这是原始 Measurement API 规范的一部分。
- 每次测量的每个伪距的误差。
每次测量的每个伪距率的误差。
<ph type="x-smartling-placeholder"></ph>
GNSS Analysis 测试报告
GNSS Analysis 可以生成测试报告(如图 4 所示),用于评估 API 实现、接收的信号、时钟行为和测量结果 准确率。对于每种情况,应用都会报告接收者是通过还是失败 根据已知基准测试的性能来进行测试。测试 报告对于设备制造商来说非常有用 通过设计和实现新设备的过程。生成测试 报告时,点击生成报告。
图 4. GNSS Analysis 测试报告
Compare 标签页提供并排比较(如图 5 所示) 多个 GNSS 日志文件中的 C/No,在比较 RF 时非常有用 性能
图 5. 多个日志文件中的 C/No 数据的并排比较
对源代码感兴趣?GPS 测量 Tool Project提供了一个 来源 MATLAB 示例, 可用于利用 GPS 星座信号执行以下操作:
- 读取通过 GNSS 日志记录器示例应用捕获的数据。
- 计算并以可视方式呈现伪距。
- 计算加权最小二乘法位置和速度。
- 查看和分析载波相位。
GNSS Analysis 应用 v4.6.0.1 版本说明
GNSS Analysis 应用版本 4.6.0.1 包含以下更新:
- 在 Matlab R2022a 上构建了 GnssAnalysisTool,提供了以下新功能:
- 状态窗口自动滚动:始终显示最新的状态消息。
- 添加了一个按星座比较 C/N0 比较表格,并比较 L1 和 L5。
- 添加了伪距率残差图。
- 移除了“参考 PVT 固定”或“移动”的单独标签页,以便更轻松地查看已选择的参考 PVT 类型。
- 已将“制作报告”结果从 HTML 移至状态窗口。
- 移除了“任务规划工具”标签页。请访问 gnssmissionplanning.com/ 或 www.gnssplanning.com/。
- 修复了与 RINEX Observation 文件解析相关的问题。
- 当 BKG 无法正常工作时,回退到 NASA CDDIS 星历源用于 GPS 和 GLO。
- 从 igs.bkg.bund.de 迁移到 igs-ftp.bkg.bund.de
- 如果 GAL、QZSS 或 BDS 星历下载失败,请勿退出分析。
- 即使芯片组不支持 BaseBandCNo,也能创建天线 CNo 分析
提供反馈
我们希望改进 Android 上的 GNSS 支持。如有任何问题,请告知我们 参阅 GNSS 问题,在 Android 上获得 GNSS 支持 跟踪器。在提交您的问题之前,请先检查问题是否已在常见问题解答中解决。
如果您使用过 GNSS Analysis 工具,请通过回答 简短的调查问卷。如果您有其他 问题或请求支持,请参阅开发者支持 资源。
您可以在 GNSS Analysis Tools 常见问题解答。