Android 智能手机实时精密单点定位软件实现及精度分析

郭 斐 1吴维旺 1张小红 1刘万科 1

郭斐

博士,教授,主要从事 GNSS 精密定位技术及其应用研究。fguo@sgg.whu.edu.cn

摘要

随着智能手机的普及和卫星导航定位技术发展,导航定位已成为智能手机必不可少的功能之一。

华为(Huawei)小米(Xiaomi)双频智能手机Huawei Mate 20/30Xiaomi 8观测数据进行质量分析,提出了一套适用于手 机精密单点定位(precise point positioning, PPP)的质量控制方案,开发了一款 基于安卓(Android)平台的实时PPP应用程序

通过实验对比分析了单频与双频、实时与事后手机PPP的定位性能。结果表明,Xiaomi 8和Huawei Mate 20/30手机单频PPP平面方向的定位精度均可达到0.5~0.6 m,高程方向的定位精度为1.0~2.0 m。

相比于单频PPP,双频PPP收敛后,其平面与高程方向的定位精度均有提高,且高程方向提升显著。实时与事后PPP在平面方向的定位精度相当,但在高程方向上,事后PPP较实时PPP的定位精度提升20%~40%。

引用

随着智能手机的普及和全球导航卫星系统(global navigation satellite system,GNSS)的发展,导航定位已经成为智能手机必不可少的功能,超过一半的手机应用程序需要访问位置信息。

2016年起,谷歌公司在安卓(Android)N操作系统上开放了访问GNSS原始观测值的应用程序接口(application programming interface,API),这为开发者从智能手机中实时获取GNSS伪距、载波相位、多普勒等观测值提供了可能,从而进行高精度导航定位与授时。

考虑到低成本和低功耗,大众智能手机普遍集成的是单频GNSS芯片。2018年5月,全球首款双频智能手机Xiaomi 8发布,其搭载了支持L1/L5波段的双频GNSS定位芯片,并取消了占空比(duty cycle)机制,引起了学界广泛关注。随后,众多手机厂商也争相发布了具备双频定位功能的手机,如华为公司发布的Huawei Mate系列手机(Mate 20/30)、联想公司发布的Lenovo Z6手机等。双频GNSS芯片的搭载为智能手机进行精密单点定位(precise point positioning,PPP)创造了条件,也增加了手机在复杂环境下的适应性。

国内外众多学者对智能手机的数据质量和定位性能进行了评估。文献[8]指出,手机中存在的duty cycle机制导致相位观测数据不连续。

文献[9]使用Huawei P10手机的相位变化量评估手机的相位观测值噪声,在duty cycle关闭的情况下,手机的测速精度可以达到厘米级。

文献[10]对Samsung 8、Huawei P10、Nexus 9等智能手机的信噪比、伪距残差进行了分析,建立了相应的信噪比定权模型,同时分析了duty cycle机制下相位跟踪状态和设备运动状态的相关性,提出了一种考虑duty cycle的连续平滑定位算法。

文献[11]对Xiaomi 8手机在郊区开阔和高楼林立场景下的信噪比和多路径进行了分析,与测地型接收机相比,手机信噪比值平均降低5~12 dB; 在多路径效应方面,欧盟伽利略(Galileo)系统较GPS卫星的多路径更小,且L5频率的多路径误差明显小于L1频率。

在定位性能评估方面,文献[12]使用Xiaomi 8手机进行双频PPP和实时动态定位(real time kinematic,RTK)测试,其精度仅为米级。

文献[13]在静态开阔的环境下使用Xiaomi 8手机进行静态PPP,东、北、天方向定位误差的均方根(root mean square,RMS)分别为0.50 m、0.47 m、0.56 m,静态模拟动态PPP 3个方向定位误差的RMS分别为2.20 m、2.32 m、2.03 m。

文献[14]评估了Xiaomi 8手机分别在静态和动态场景下双频PPP的定位性能,结果表明,静态PPP收敛后的位置误差在东、北、天3个方向上的RMS分别为4.1 cm、21.8 cm和11.0 cm,但收敛到亚米级的时间长达3 h; 对于动态PPP,由于卫星数较少,定位误差达到几米甚至几十米。

1 智能手机实时PPP数学模型

1.1

函数模型

通过调用Android API的GNSS Clock类、GNSS Measurement类,可以获取智能手机的原始GNSS观测值,包括伪距、载波相位和多普勒观测值。

目前,大部分智能手机的GNSS接收芯片仅提供GPS的L1单频点信 ,少数智能手机如Huawei Mate 20/30、Xiaomi 8/9支持GPS、Galileo和日本准天顶卫星系统(quasi-zenith satellite system,QZSS)的L1/E1、L5/E5双频定位。对于单频PPP,常用的定位模型有半和模型和非差非组合模型。

对于L1/E1、L5/E5a双频PPP,采用双频无电离层组合模型,其观测方程为:

在误差处理方面,通过国际GNSS服务组织(International GNSS Service,IGS)实时播发的状态空间表达(state space representation,SSR)信息修正广播星历轨道和钟差。

对于单频PPP中的电离层延迟误差,采用预 的全球电离层格 模型进行改正,其精度约为0.3 m。对流层延迟干分量采用萨斯塔莫宁(Saastamoinen)模型改正,湿分量附加参数进行估计。接收机端的硬件延迟偏差可被接收机钟差吸收,而卫星端的硬件延迟偏差可被模糊度参数吸收,故在PPP浮点解时可不顾及硬件延迟偏差。

1.2

随机模型

在GNSS数据处理中,常用的随机模型有卫星高度角模型、信噪比模型、方差分量估计模型。基于方差分量估计的随机模型,其实时性较差、无法满足实时PPP的要求。

信噪比是反映信 接收质量的重要指标之一,其定义为接收信 的功率与接收机噪声的功率谱密度的比值。文献[3]证实了智能手机的伪距单差残差与卫星高度角弱相关,但与信噪比强相关。因此,使用信噪比模型更能反映手机GNSS观测值的特征[3, 7]。信噪比随机模型可表示为:

1.3

质量控制

由于智能手机通常采用体积小、低成本、低功耗、高灵敏度的线性极化天线,而GNSS信 衰减、非视距传播和多路径干扰更易产生粗差和周跳,严重影响手机定位的精度。

利用Android API中提供的载波相位跟踪状态指示参数(accumulated delta range state,ADRS)和相位历元差分法(time difference carrier phase,TDCP)探测相位周跳,其流程如图 1所示。具体步骤如下:

图 1 联合ADRS和TDCP的周跳探测流程

1) 采用ADRS和多普勒较差法(相位导出的多普勒与实际多普勒值之差)对当前历元的相位观测值进行周跳初步探测。当ADRS被标识为4时,表示相位跟踪失锁; 当多普勒较差小于给定阈值0.75 m时,认为未发生周跳,否则将其标记为周跳。

2) 选取未被标定为周跳的n个相位观测值,构造历元差分模型:

λ?Δφ=Δρ?c?Δdts+c?Δdtr+ΔT+ΔI+εΔL (5)

式中,Δ为历元间单差算子。当历元间隔较短时,ΔI和ΔT可近似为零,采用最小二乘方法估计载体位置变化量及钟差变化量。

3) 计算各卫星相位观测值的验后残差及单位权中误差。若最大验后残差或单位权中误差超过设定阈值,则认为最大验后残差的观测值发生周跳; 将其剔除后重新进行最小二乘解算,直到所有的验后残差都小于设定阈值。

4) 保留当前历元无周跳的相位观测值,进入下一历元的周跳探测,重复步骤2)和步骤3),直至结束。

需要说明的是,最小二乘抵抗多粗差的能力较弱,当周跳观测值超过全部观测值的1/3时,相位历元差分法探测周跳的成功率较低。因此,对于n个有效的相位历元差分方程,当连续n/3次剔除最大残差时,则认为周跳探测失败。

2 基于Android的实时PPP架构

2.1

开发环境搭建

Android是一款主要面向移动终端的开源操作系统,其底层基于Linux操作系统,支持丰富的硬件驱动开发,涵盖多元化的硬件配置和无线通信功能,广泛用于各类交互平台。

Android系统的经典架构分为4层,从下往上分别为Linux内核层、C/C++本地系统库和Android运行时环境、应用程序框架层、应用程序层。在底层的Linux内核层中,Android以虚拟机(Android run time,ART)的形式最终调用底层的Linux内核以执行命令。当设备具有特定的硬件设备支持时,其内核层还涵盖有硬件抽象层。

当上层请求访问设备硬件层时,系统会为该硬件加载相应的库模块。第2层为系统库和Android运行时,系统库主要负责提供连接应用框架层和内核层的方法库,Android运行时则包括核心库和ART,应用在运行时都拥有自己的ART实例,ART的主要功能包括预编译和及时编译、优化的资源回收、调试支持等。第3层为应用程序框架层,其提供了各种基本的API,例如Activity、Service、Notification等组件,方便开发人员实现一些基本功能,封装成接口给上层调用。

最上层为Android应用程序层,其主要包括Android原生应用以及第三方应用,为开发的应用所在层级。

Android系统的用户接口(user interface,UI)层是通过Java语言进行封装的,而底层则是基于C/C++语言。软件开发设计可以充分结合Java语言库丰富、开发效率高以及C/C++语言开源算法丰富、运行效率高的优点,交互操作部分使用Java语言编写,嵌入的PPP算法则使用C/C++语言编写。

通过Java本地开发接口,使Java和C/C++编写的程序可以相互调用。因此,开发前需要配置Android Java和C的开发环境,具体如下:

1) Java开发工具集配置

Java开发工具包(Java development kit,JDK)是Java开发的核心,由Java运行环境、Java工具集、Java基础类库构成,为应用开发者提供了基本的开发环境和开发工具。在Windows系统上进行开发,需要配置JDK的系统环境变量,其配置如表 2所示。在完成JDK配置后,继续安装Android集成开发环境(integrated development environment,IDE),软件开发使用的IDE为Android Studio 3.3版本。

表 2 Windows平台中JDK的系统环境变量配置

2) Android开发工具集配置

Android软件开发工具包(software development kit,SDK)是开发Android应用必备的工具集,其为开发者提供了在对应平台上的开发组件。Android SDK包括Android ART和Android开发工具插件(Android development tools,ADT)以及一些开发调试、应用程序包(Android application package,APK)打包、ART管理的工具。

由于软件涉及到C/C++与Java程序的交互,还需要进一步配置Android本地开发工具集(native development kit,NDK),NDK包含快速开发C/C++动态链接库和将其合并打包到APK的工具。NDK可以通过Android Studio自带的Android SDK Manager进行自动下载和配置。

2.2

实时PPP架构与工作原理

开发的智能手机实时PPP软件整体架构与工作原理如图 2所示,主要分为3个部分——用户交互UI界面、外部数据的传输、软件后台服务。交互UI包括用户配置、结果显示、数据记录、地图显示,其主要负责定位的参数配置以及数据的可视化。

外部数据流的传输部分包括NTRIP(networked transport of RTCM via internet protocol)传输的RTCM(radio technical commission for maritime services)格式的广播星历和SSR改正数据以及调用Android应用框架API获得的GNSS观测数据,对于单频PPP定位,可事先下载预 的全球电离层格 模型。

图 2 智能手机实时PPP软件的架构及工作原理

图 2为智能手机实时PPP软件的架构及工作原理,红色虚线框表示的是嵌入PPP算法的后台服务部分,其主要负责对RTCM格式的数据流进行解码,对获得的观测数据加工生成原始观测值,并将数据处理核心解算的位置反馈给UI界面,调用百度地图API实现定位结果的地图可视化。

3 手机定位实验与结果分析

3.1

实验数据描述

3款手机均能跟踪全GNSS星座,并且能在GPS、Galileo、QZSS星座上提供L1/L5频率的双频观测值。此外,3款手机的内置系统已经取消了duty cycle机制,允许输出连续跟踪的相位观测值。

表 3 智能手机内置的GNSS芯片型 及配置

采用静态模拟动态的方式验证算法的正确性,两次静态实验的GNSS数据采集场景如图 3所示。实验A采集于湖北省武汉市某实验大楼楼顶,实验手机为Xiaomi 8和Huawei Mate 20,测量时手机正面朝上固定于观测台上。在手机旁架设有NovAtel-704-WB天线,其连接的是Septentrio PolaRx 5S测地型接收机,用于计算手机的坐标参考真值。两台手机至NovAtel天线的距离已事先量取,并进行了相应的距离改正。

此外,在手机附近的观测墩上设有观测站,其采用的是Trimble Zephyr 3天线,接收机类型为Septentrio PolaRx 5,将其作为基站,基站的位置精确已知。实验B采集于海南省海口市某居民区楼顶,实验手机为Xiaomi 8和Huawei Mate 30,两台手机正面朝上放置。两次实验的观测时长均为4 h,采样率为1 Hz。

图 3 两次静态实验的手机布局及观测环境

3.2

卫星可视性分析

图 4和图 5分别给出了两次实验中不同手机在L1和L5波段所观测到的卫星总数。实验A中Xiaomi 8和Huawei Mate 20对L1波段的平均可见星数分别为33颗和27颗,明显少于同时段测地型接收机Septentrio观测的卫星数。

对于L5波段的卫星观测情况,由于播发L5信 的卫星本身数量较少,因此Huawei Mate 20和Xiaomi 8在L5波段所跟踪的平均卫星数分别仅为14颗和8颗。实验A和实验B均表明,在L1波段,Huawei Mate系列手机比Xiaomi 8的平均观测卫星数多5~8颗,而在L5波段的平均卫星数多4~5颗。

图 4 实验A中手机跟踪的L1波段和L5波段的可视卫星数

图 5 实验B中手机跟踪的L1波段和L5波段的可视卫星数

3.3

单频与双频PPP结果

图 6~8给出了3组双频和单频PPP算例,包括可用卫星数(Sat)、定位精度因子( position dilution of precision,PDOP)和定位误差时序,对应的定位精度统计如表 4所示。从图 6~8中不难发现,单频PPP可用的卫星数明显多于双频PPP,且对应的PDOP值也相对更小; PPP定位误差整体上呈现随时间累积而减小并趋于平稳的趋势

图 6 实验A中Xiaomi 8双频和单频PPP的定位误差、可用卫星数及PDOP

图 7 实验B中Xiaomi 8双频和单频PPP的定位误差、可用卫星数及PDOP

图 8 实验B中Huawei Mate 30双频和单频PPP的定位误差、可用卫星数及PDOP

表 4 双频和单频PPP精度统计/m

由于同时跟踪L1、L5双频信 的卫星数较少,因此双频PPP的收敛速度要慢于单频PPP。以实验A中的Xiaomi 8手机为例,其单频和双频PPP平面方向收敛到1 m以内的时间分别为1 700 s和3 000 s左右。而在定位精度方面,双频PPP的结果则略优于单频PPP,收敛后双频和单频PPP在东、北、天方向上的定位误差RMS分别为0.36 m、0.28 m、0.16 m和0.46 m、0.56 m、2.04 m。

对于重复性分析,实验B中Xiaomi 8双频PPP收敛后,其东、北、天3个方向的标准差( standard deviation,STD)在0.2 m左右,单频和双频PPP的坐标重复性相当,收敛时间均在1 500 s左右。

对于Huawei Mate 30,尽管其观测到的卫星数要明显多于Xiaomi 8,但其用于解算的可用卫星数相当,主要原因是Huawei Mate 30在质量控制中剔除了较多发生粗差和周跳的卫星。因此,Huawei Mate 30单频和双频PPP的重复性精度比较差,其收敛的时间也比较长。

3.4

实时与事后PPP结果

为了满足时效性要求,实时PPP一般采用预 的轨道与钟差改正数以及预 的电离层模型或产品。后处理PPP(事后PPP)则可以采用最终的精密星历和精密钟差以及实测电离层模型,以提高PPP定位精度。

本节以单频PPP为例,对比分析了实时与事后PPP的精度。图 9给出了Xiaomi 8和Huawei Mate 20实时和事后PPP的定位结果,相应的定位误差RMS统计结果列于表 5。

图 9 Xiaomi 8和Huawei Mate 20实时和事后单频PPP的定位误差、可用卫星数及PDOP

表 5 实时和事后单频PPP精度统计(RMS)/m

从图 9中可以看出,由实时PPP和事后PPP获得的定位结果在平面方向上基本一致,即使用实时或事后精密轨道、钟差及电离层产品对平面方向上的定位精度影响较小,其差值仅在0.1 m左右; 但在高程方向上,两者的坐标差值达到0.3~0.7 m,这主要是因为采用的预 电离层格 模型相对事后的精度较差,而电离层延迟对定位的影响主要反映在天顶方向上。

4 结 语

随着智能手机的普及和全球导航卫星系统的发展,导航定位已成为智能手机不可或缺的功能之一,大众对智能手机的高精度定位需求也越来越高。从2016年起,开发者可通过谷歌Android应用程序接口获得GNSS原始观测数据。Android 9.0及以上版本提供了关闭占空比的选项,这为智能手机的精密单点定位创造了有利条件。

设计实验对比分析了单频与双频、实时与事后PPP的定位性能。结果表明,Xiaomi 8和Huawei Mate 20/30手机单频PPP的定位精度在平面和高程方向上分别约为0.5~0.6 m和1.0~2.0 m; 相较于单频PPP,双频PPP精度在高程方向上虽有显著改善,但受限于可用的双频卫星数较少,收敛时间明显更长。

相比于实时PPP,后处理PPP的定位精度在高程方向改善幅度达到20%~40%。智能手机普遍使用低成本的线性极化天线,在城市复杂环境下更容易受到粗差、周跳和多路径影响,联合GNSS、MEMS等多传感器提升手机定位性能是未来的研究重点。

向上滑动阅览对应参考文献

[3] 史翔. 基于智能手机GNSS观测值的连续平滑定位算法[D]. 武汉: 武汉大学, 2019

Shi Xiang. Continuous Smoothing Positioning Algorithm Based on GNSS Observations of Smartphones[D]. Wuhan: Wuhan University, 2019

[4] Aggrey J, Bisnath S, Naciri N, et al. Use of PPP Processing for Next-generation Smartphone GNSS Chips: Key Benefits and Challenges[C]. The 32nd International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2019), Miami, Florida, USA, 2019

[8] Riley S, Lentz W, Clare A. On the Path to Precision-Observations with Android GNSS Observables[C]. The 30th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2017), Portland, Oregon, USA, 2017

[9] Pirazzi G, Mazzoni A, Biagi L, et al. Preliminary Performance Analysis with a GPS+Galileo Enabled Chipset Embedded in a Smartphone[C]. The 30th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2017), Portland, Oregon, USA, 2017

[10] Liu W, Shi X, Zhu F, et al. Quality Analysis of Multi-GNSS Raw Observations and a Velocity-Aided Positioning Approach Based on Smartphones [J]. Advances in Space Research, 2019, 63(8): 2 358-2 377 doi: 10.1016/j.asr.2019.01.004

[12] Fortunato M, Critchley-Marrows J, Siutkowska M, et al. Enabling High Accuracy Dynamic Applications in Urban Environments Using PPP and RTK on Android Multi-frequency and Multi-GNSS Smartphones[C]. European Navigation Conference (ENC), Warsaw, Poland, 2019

[15] 郭斐. GPS精密单点定位质量控制与分析的相关理论和方法研究[D]. 武汉: 武汉大学, 2013

Guo Fei. Theory and Method of Quality Control and Quality Analysis for Precise Point Positioning[D]. Wuhan: Wuhan University, 2013

[16] 张小红, 郭斐, 李盼, 等. GNSS精密单点定位中的实时质量控制[J]. 武汉大学学 ·信息科学版, 2012, 37(8): 940-944 http://ch.whu.edu.cn/article/id/281

Zhang Xiaohong, Guo Fei, Li Pan, et al. Real-Time Quality Control Procedure for GNSS Precise Point Positioning[J]. Geomatics and Information Science of Wuhan University, 2012, 37(8): 940-944 http://ch.whu.edu.cn/article/id/281

邮箱:geomaticshtd@163.com

慧天地同名新浪微博:

ID:慧天地_geomaticser

发展研究 | 关于地理信息数据产品开发交易工作的研究与建议

赢得导航战:美国如何防御关键定位、导航和授时系统

基于PIE-Engine实现交互式植被覆盖度估算及分级统计

《慧天地》敬告

——《慧天地》运营团队

指导:万剑华教授

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月22日
下一篇 2021年7月23日

相关推荐