摘要:
简要综述近年来智能手机GNSS定位领域的研究进展,以期为进一步提升智能手机GNSS定位性能提供有益参考。介绍了智能手机获取伪距、载波相位和多普勒观测数据的方式;分析了智能手机GNSS观测数据的质量和特性及对定位性能的影响;梳理了智能手机在单点定位、相对定位、模糊度固定和融合定位算法方面的研究进展;讨论了该领域面临的挑战与机遇。结论:智能手机GNSS定位领域的研究已经取得了显著进展,但仍面临着数据质量、算法精度和实时性等方面的挑战。未来的研究应重点关注提升数据质量、优化定位算法,并探索与其他传感器融合的方法,以进一步提升智能手机GNSS定位的性能和应用范围。
引用:[1]张宝,吴泓正,邸越超,张传定.Android智能手机GNSS定位研究进展[J].测绘科学,2024,49(5):1-14. DOI:10.16251/j.cnki.1009-2307.2024.05.001.
引言
随着科学技术的不断进步,全球卫星导航系统(global navigation satellite system, GNSS)已经取得了显著的发展[1]。全球导航卫星系统在卫星星座部署、接收器设计和处理算法等方面的显著进步,推动了GNSS定位性能的提高,并扩大了全球导航卫星系统的应用范围[2]。现在,人们不仅能在高等级的大地测量型接收机上获得快速、精确的位置信息,也可以在手持式低成本接收机,甚至智能手机上获得[3]。加上微电子技术的进步,使得与GNSS相关的传感器可以实现微型化和低成本化。
近年来,智能手机、智能穿戴设备和共享单车等移动终端市场迎来爆发式的增长。这些设备无一例外都需要其内置的GNSS模块所提供的位置信息来实现其特定的功能。依托智能终端中携带的低成本 GNSS 模块,GNSS服务开始广泛融入人们的日常生活中,而在这之中,智能手机无疑对GNSS服务在大众市场的普及起着巨大的推动作用。欧洲全球导航卫星系统局(European Global Navigation Systems Agency, GSA)在2019年发布的GNSS市场报告中指出,当前在售的位置服务设备中,智能手机和穿戴式产品占据了90%以上[4]。图1展示了2019—2020年全球GNSS接收机年度出货量。从中可以看出,成本低于5欧元的低成本接收机占据了绝大部分的市场,并且在可预见的将来全球GNSS接收机市场将长期处于这种状态,而这些成本低于5欧元的GNSS接收机又大多应用于智能手机和可穿戴设备之中。
图1 2019—2029全球GNSS接收机年度出货量统计及预测
Fig.1 Global Average Annual Shipments of GNSS Receivers, 2019-2029
但在普及之初,智能手机并不能较好的应对定位精度要求较高的使用场景。以常用的伪距单点定位(standard point positioning, SPP)模式为例,智能手机SPP定位精度通常在2~10 m。在复杂环境中,定位精度会进一步降低至数十米。这意味着智能手机的定位精度还有着较大的提升空间,但在2016年之前,Android手机用户仅能接收到GNSS芯片组计算的位置-速度-时间(position-velocity-time, PVT)信息,而不能获取GNSS的原始观测数据,如伪距和载波相位观测值。无法获取GNSS原始观测值就意味着研究人员无法通过开发软件算法来提升智能手机的定位精度。同时,由于智能手机等移动终端设备对GNSS模块的功耗和体积有着严格的要求,致使其GNSS模块的功率和体积受到严格的限制。这就导致智能手机在GNSS硬件层面的提升空间较为有限。直到2016年,随着Android 7及其后续操作系统的发布,开发者得以通过相关应用程序接口获取Android智能手机的原始GNSS观测数据。此举使得通过开发先进算法提升Android智能手机定位精度成为可能。此后,科研人员针对智能手机的GNSS观测值数据质量和误差特性进行了大量的研究,并根据研究结果提出了多种适用于智能手机的定位算法。
综上所述,在硬件性能受限的情况下,研究和改进算法以提高智能手机的定位精度和稳定性具有重要意义。本文综述近年来智能手机定位性能及其算法,旨在深入理解使用智能手机GNSS观测值进行定位技术的最新研究动态。鉴于iOS系统不支持用户访问其GNSS原始观测数据,本文只关注Android智能手机。
1 GNSS原始数据的获取
Android系统为开发者提供了一系列应用程序编程接口(application programming interface, API)功能。通过这些API,开发者能够访问Android手机中各种传感器的数据。但不同版本的Android系统中的API也存在着一些差异。例如,Android 6的location API 23仅提供基本信息(图2),如卫星的载噪比(C/N0)、俯仰角、高度角、卫星编号及PVT模块的计算结果;而在Android 7中,开发者可通过GNSS Clock和GNSS Measurements这两个API接口获得伪距和载波相位的原始观测数据。同时,还可以利用GNSS Navigation Message接口来输出手机接收的卫星导航信息。然而,新版的location API 24不能直接输出伪距、载波相位和多普勒测量值,需从原始测量数据中提取用于定位的GNSS测量值。接下来,本文将简要介绍如何通过GNSS Clock和GNSS Measurements这两个API接口获取的数据来提取伪距、载波相位和多普勒值。
图2 Android 6与Android 7系统Location API对比
Fig.2 Comparison of Location API for Android 6 and Android 7 Systems
1.1 伪距观测值的提取
智能手机伪距计算如式(1)所示。
Ρ= t R -t S 10 9 c (1)
式中:P为伪距观测值;tR为手机接收GNSS信号时间;tS为GNSS信号发射时间;c表示光速。要获取伪距观测值需要先获得GNSS卫星信号发射时间和接收时间,卫星信号发射时间可以通过ReceivedSvTimeNanos字段直接获取。
而通过表1中的字段值,可以计算出Android终端接收到信号的真实时间。这里以GPS为例,由于智能手机中的GNSS芯片的硬件时钟初始时刻与GPS时的初始时刻是不同的,GPS时的初始时刻为1980-01-06 T 00:00:00,智能手机中GNSS芯片的初始时刻为设备启动的时间。因此设备GNSS信号接收时间就等于接收机内部硬件时钟值加上接收机内硬件时钟初始时刻与1980-01-06 T 00:00:00以来的真实GPS时间之间之差,由于系统输出的FullBiasNanos值为负,因此计算时需要减去FullBiasNanos字段的值。考虑到智能手机内部接收机时钟值与真实GPS时间存在着一定的偏差,所以需要在计算结果中减去这一偏差,计算如式(2)所示。
tR=TimeNanos-(FullBiasNanos+BiasNanos) (2)
式中:tR为手机接收GNSS信号时间;TimeNanos为智能手机GNSS接收机内部硬件时钟值;FullBiasNanos为GPS接收机内硬件时钟真实GPS时间之间之差;BiasNanos为接收机时钟的亚纳秒偏置。
将式(2)的计算结果与ReceivedSvTimeNanos字段的值带入式(1)中即可计算出伪距观测值。
1.2 载波相位观测值的获取
Android手机的载波相位观测值可以由GNSS Measurements接口中的AccumulatedDeltaRangeMeters字段值计算得到,其计算如式(3)所示。
φ= AccumulatedDeltaRangeΜeters λ (3)
式中:φ为载波相位观测值;λ为载波的波长;AccumulatedDeltaRangeMeters为自上次通道初始化以来的累计距离值。
1.3 多普勒观测数据的获取
Android手机的载波相位观测值可以由GNSS Measurements接口中的PseudorangeRateMetersPerSecond字段值计算得到,如式(4)所示。
Doppler= -ΡseudorangeRateΜetersΡerSecond λ (4)
式中:Doppler表示多普勒观测值;λ为载波的波长;PseudorangeRateMetersPerSecond为伪距变化率。
2 定位精度及数据质量分析
利用Android Location API中的字段值来提取智能手机GNSS观测值,计算过程稍显繁琐。为方便开发者获取智能手机GNSS原始观测值,谷歌推出了两款重要软件。这些软件分别是GnssAnalysisAPP(提供伪距单点定位和GNSS观测数据评估分析及可视化功能)和GnssLogger(用于获取Android智能手机上的GNSS接口数据)。此后,还出现了能将Android智能手机GNSS接口数据转换为标准RINEX数据的应用程序,如GEO++和RinexON。这些软件的发布极大地促进了关于Android智能手机GNSS数据质量和定位精度的研究。为了对智能手机的定位性能和数据质量有一个较为全面的认识,本节将从单点定位和相对定位两个维度对智能手机的定位性能进行综述,并以专业GNSS接收机为参照,对智能手机GNSS数据质量和定位精度进行对比分析。
2.1 数据质量分析
衡量GNSS数据质量的指标有很多,例如载噪比、可见卫星数量、多路径误差等,而在有关在智能手机GNSS数据质量的研究中,多用载噪比和多路径误差来对智能手机的数据质量进行表征。这是因为接收机输出的载噪比既可以反映被跟踪卫星的信号功率,又可以反映天线前端的噪声密度[5]。载噪比的值越大,意味着接收到的GNSS信号强度越高,若载噪比的值较小,通常意味着观测值中存在着较多的粗差和周跳。所以,载噪比能够直观反映出GNSS数据质量的优劣。因此,在有关智能手机GNSS数据质量的研究中,通常都会使用载噪比这一指标来直观展现观测数据的优劣。例如,文献[6]选取了多种Android智能终端,并全面深入地分析了它们的GNSS原始观测数据。研究发现,Android智能手机的载噪比平均值比大地测量型接收机低约10 dBHz。文献[7]分析了使用嵌入式和外部天线的智能设备的原始GNSS数据的测量误差特征。他们发现智能设备产生GNSS信号强度不均匀、C/N0 变化快、高海拔处 C/N0 较低。伪距噪声比大地测量接收机的伪距噪声高了近10倍;Nexus 9 的载波相位噪声比大地测量接收机高3~5倍。文献[8]对智能手机多星座GNSS观测值质量进行了分析,结果显示,智能手机载噪比C/N0明显低于大地测量型接收机,而且不同星座和频段之间的C/N0存在明显差异。此外,他们还发现卫星高度角越高,大地测量型接收机与智能手机之间的C/N0差异就越大。因此,传统的基于卫星高度角的随机模型可能并不适用于智能手机,而基于C/N0的随机模型可能是更加合适的选择。
关注智能手机多路径误差是因为智能手机内置天线对多路径信号的抑制能力较差,加之智能手机的使用环境通常为城市峡谷等多路径效应较为严重的区域,这导致在多数情况下,多路径误差会成为智能手机定位的主要误差源之一。为提升智能手机定位性能,一些学者对智能手机的多路径误差特性进行了研究。文献[9]指出智能手机使用的线性极化无源天线,与右旋极化的有源天线相比,可能因极化不匹配而损失大约3 dB的信号功率。文献[10]研究了Xiaomi8智能手机的伪距多路径误差和噪声,并将其与大地测量型接收机进行了对比,结果表明,Xiaomi8在多路径误差抑制和载噪比方面落后于大地测量型接收机。文献[11]的研究表明,由于智能手机的内置GNSS天线是全向的而非半球形的,这进一步增加了智能手机受多路径信号影响的风险,而严重的多路径误差会导致GNSS信号强度的深度衰落,并引入大量的周跳和信号失锁。
为解决智能手机天线相关的多径效应问题,部分研究者采用外接专业测量天线的方式得到了高质量的GNSS观测数据,并尝试进行模糊度固定来获取高精度的定位解。但在这个过程中,研究人员发现智能手机相位观测值中存在一种随时间累积的异常误差。举例来说,文献[7]通过将谷歌Nexus 9智能手机与专业测量天线相连,实现了厘米级别的相对定位精度。然而,该项研究也表明,智能手机的GNSS芯片组可能会引入一种异常的初始相位偏差,使载波相位观测值丧失整数属性,进而无法完成模糊度固定。而一旦丧失了整数属性,智能手机的定位精度上限便难以得到进一步的提高。
由于智能手机采用的全向线性极化天线较弱的多径信号抑制能力,导致其伪距和相位观测值的噪声水平相较测量型接收机要高出数倍,且常伴有失锁和周跳现象。此外,智能手机GNSS芯片组引起的初始相位偏差可能会破坏载波相位观测值模糊度整数特性,使得模糊度固定通常无法实现。上述误差的存在也是当前智能手机实现更高的定位精度的主要障碍。
2.2 定位精度分析
2.2.1 单点定位精度
智能手机发展初期,由于移动网络和GNSS芯片组的技术限制,其定位模式主要是单点定位。因此,早期的研究主要集中在分析智能手机单点定位的精度上。例如,文献[12]分析了装有博通4774 GNSS芯片组的三星Galaxy S7智能手机的GNSS原始观测数据。他们的研究结果显示,Android智能手机的伪距单点定位精度可达米级。文献[13]对谷歌Nexus 9平板的定位精度进行了分析,实验结果显示其GPS、GLONASS伪距单点定位精度分别为 5.43、11.39 m。文献[14]评估了3款智能手机——小米Mi 8、小米Mi 9和华为P30 Pro的定位性能,在多星座单频伪距单点定位中,华为P30以3.24 m的水平RMS表现最佳。小米Mi 8和小米Mi 9的水平RMS误差分别为4.14、4.90 m。
2018年5月,随着全球首款双频GNSS智能手机Xiaomi8的发布,研究人员开始关注双频GNSS智能手机的定位性能。双频GNSS的优势在于,它允许用户使用两个频段的相位观测值进行无电离层组合,消除电离层一阶延迟项以提高定位精度。文献[15]分别对Huawei Mate 20/30和Xiaomi8智能手机的观测数据进行了对比分析。结果表明3款智能手机单频精密单点定位(single-frequency precise point positioning, SF-PPP)在水平方向的精度可达0.5~0.6 m, 高程方向的精度为1~2 m, 双频精密单点定位(dual-frequency precise point positioning, DF- PPP)在水平方向的精度可达0.2~0.4 m, 高程方向为0.1~0.2 m。文献[16]分析了Xiaomi8智能手机在双频无电离层组合PPP算法下的定位性能。他们发现,在静态模式下,双频智能手机的定位精度可达分米级,但PPP解算需要较长的收敛时间。在动态模式下,双频智能手机观测值质量较差,难以实现连续PPP定位,性能低于单频PPP。文献[17]利用从智能手机进行了单频和双频多星座组合 PPP 实验;结果表明,智能手机在实时静态 PPP 下可实现分米级定位精度,而动态 PPP 在收敛后可实现米级定位精度。
2.2.2 相对定位精度
除了单点定位,一些学者也对智能手机相对定位精度进行了研究。例如,文献[18]评估了从Xiaomi8采集的GNSS原始数据。他们发现,PPP和实时动态差分(real-time kinematic, RTK)算法的定位精度高于Android智能手机原始定位精度。文献[19]使用华为P30智能手机的观测数据,以大地测量型接收机作为基准站。在GPS L1频段实现了模糊度固定,并在5 min内达到了厘米级的精度。但作者指出,要达到厘米级的定位精度,需要良好的观测环境和对数据处理软件进行优化,特别是在异常值检测、观测值加权和模糊度固定阈值设定方面。文献[20]分析了华为Mate 40在静态、行人动态和车载动态场景下的双频RTK定位性能。在静态场景下,该设备可达到厘米级的定位精度。在行人动态场景下,水平分量精度可达0.5 m, 高程分量精度低于1 m。在城市车载场景下,平面误差低于1.5 m。文献[21]使用恢复整周模糊度的载波相位观测值测试了华为P30和小米8的短基线RTK定位性能。对于华为P30,其E、N、U分量上的定位误差分别为7.8、2.4、1.1 mm; 对于小米8,其在E、N、U分量上的误差分别为4.3、4.2、4.2 mm。文献[22]设计了一款可以在智能手机上运行的RTK定位程序,并基于该APP进行了高精度定位实验。实验结果表明:在静态条件下,智能手机RTK定位精度可达分米级;在行人动态环境下可以达到水平方向亚米级、高程1~2 m的定位精度。
图3 智能手机在不同定位模式下的精度对比
Fig.3 Comparison of the Accuracy of Smartphones in Different Localization Modes
综上可得,在定位精度方面,智能手机在SPP模式下可在静态环境达到米级,动态环境10 m级的精度。在PPP模式下,定位精度在静态环境可达分米级,在动态环境精度则降低至米级。相对定位,如RTK模式,可进一步提升定位精度,达到静态厘米级和动态分米级。总之,不同的定位模式有着不同的定位精度,也有其各自的适用场景。就智能手机而言,由于使用场景和内置天线较差的多路径信号抑制能力,导致智能手机伪距和相位观测值质量受到严重的影响。其中,多路径效应对伪距观测值的影响尤甚,使得智能手机在城市等高多径环境下使用标准伪距定位的定位误差可达10 m乃至更大。因此,单纯利用伪距观测值的SPP的定位精度已经难以满足当前以智能手机为载体的位置服务需求,而相对于单点定位,相对定位对可用卫星数量要求更高,但智能手机在城市等环境遮挡较为严重的区域的可用卫星数资源是相对匮乏的,加之差分算法会放大智能手机本就偏大的观测噪声。因此,能够充分利用伪距和相位观测值且算法本身不会产生额外噪声的PPP相对更适用于智能手机。但这并不意味着相对定位在智能手机导航定位领域就失去实用性了,毕竟相对定位在环境良好的情况下拥有相对单点定位更高的定位精度。在智能手机进行导航定位活动时,可以在环境良好的情况下利用相对定位提供精度较高的初始位置,并辅以加速度计、陀螺仪、气压计等传感器对PPP的定位结果进行约束,从而使智能手机在复杂环境下也能够获得较为理想的导航定位精度。
3 Android智能手机定位算法进展
前文对智能手机定位性能和数据质量进行的综述表明,智能手机在定位性能和数据质量方面相较于专业GNSS接收机还有较大的差距。为提升智能手机的定位精度和稳定性,研究人员针对其在定位性能和数据质量方面的问题,提出了多种改进算法。为了详细介绍这些研究成果,本节将从单点定位、相对定位、模糊度固定和融合定位4个方面来详细分析Android智能手机定位算法的发展现状。
3.1 智能手机GNSS定位算法模型
传统的智能手机单频PPP定位模型函数表达式如式(5)所示。
式中:r代表接收机, s代表卫星;P、L分别是伪距和相位观测值;ρ代表卫星与测站之间的几何距离;c是光速;dtr、dts分别为接收机和卫星钟差;T是对流层延迟;I代表电离层延迟;λ和N分别代表载波波长和整周模糊度;Br和Bs分别是接收机端和卫星端的伪距偏差;br和bs分别为接收机端和卫星端的相位偏差;M和m分别表示伪距和相位的多路径误差;εP和εL分别是伪距和相位观测噪声。
若存在另一测站j与测站r同时对卫星s、i进行观测,则测站r、j可以组成双差观测值,其观测方程如式(6)所示。
式中:∇、Δ为单差算子。若智能手机与基准站的距离较近时,电离层延迟和对流层延迟可以认为已基本消除,则式(6)可简化为式(7)。
3.2 单点定位算法
在智能手机的日常使用中,单点定位应用最为普遍。因此,相关学者对单点定位算法的研究也是最为充分的。例如,文献[23]对3款智能手机的伪距与载波相位观测值进行对比分析,发现3款智能手机存在伪距和载波相位观测值差值不固定的问题。为应对这一问题,他们提出了改进的单频PPP算法,该算法对伪距和载波相位观测值的钟差分别进行估计。文献[24]分析了Xiaomi 8的双频GNSS观测值特征。由于无电离层组合的观测噪声远大于电离层影响,传统的双频无电离层组合不适用于Xiaomi 8。为合理利用高精度载波相位观测值,他们提出使用时差未组合载波相位观测值估计历元间位置变化(inter-epoch position variation, IEPV),并用IEPV构建状态方程准确描述用户运动。文献[25]为解决在智能手机中常出现的,由相位失锁引起的数据间隙问题。他们实施了数据缺口预测技术和基于载噪比的随机模型。实验结果表明,这些改进算法提高了定位可用性。文献[26]提出了混合单双频四星座精确单点定位(MSDQ-PPP)模型。该模型通过利用所有可用的GNSS观测频段来增强智能手机的定位性能。实验结果显示该算法在静态和动态环境下相较于SF-PPP和DF-PPP均有显著的性能提升。由于智能手机在一些情况下会出现相位观测值缺失的情况,而传统PPP算法无法在相位观测值缺失的情况下对伪距观测值进行高效利用。因此,为了能够在相位观测值缺失的情况下有效利用所有卫星观测数据,文献[27]提出了一种单频和双频组合的伪距增强PPP算法,并辅以新的自适应拟合后残差阈值,以优化测量质量控制方案。结果表明,该解决方案总体均方根误差为 1.4 m。由于智能手机GNSS观测质量较差,周跳、粗差等异常值频繁出现,加之传统卡尔曼滤波器对异常观测值的鲁棒性并不高,导致智能手机的定位精度产生较大的波动。为此,文献[28]将滚动时域估计(moving horizon estimation, MHE)引入PPP中。并针对PPP状态空间向量的维度不恒定的问题,提出了一种状态空间变化的滚动时域估计(state-space-varied moving horizon estimation, SSV-MHE)算法用于PPP。通过使用华为Nova 8 Pro智能手机在不同环境下进行实时PPP现场实验,以验证SSV-MHE在不同环境中的性能。结果表明,在恶劣环境下,SSV-MHE算法相较于扩展卡尔曼滤波器(extended Kalman filter, EKF)可以使PPP的定位结果更加准确和稳定。
与大地测量接收机类似,如何对智能手机GNSS观测值的电离层延迟进行建模对于高精度定位起重要的作用[29]。文献[30]对比了多种消除电离层延迟的方法。他们的实验显示,将倾斜电离层延迟作为待估参数加入PPP滤波器,并使用全球电离层地图作约束,可最大限度提高智能手机PPP解的精度。文献[31]基于实时电离层垂直总电子含量(vertical total electron contents, VTEC)产品,将每个伪距和载波相位钟差作为独立参数估算,并利用VTEC产品计算电离层伪观测值,以约束倾斜电离层延迟。基于数值结果,该算法在收敛后可实现分米级精度,运动学模式下可达亚米级精确度。文献[32]提出了一种基于区域连续参考站(continuously operating reference stations, CORS)的智能手机定位算法。该算法利用区域CORS观测值反演实时区域电离层改正模型,提升智能手机定位精度。文献[33]研究了电离层约束PPP(PPP-IC)模型的定位性能,并在大地测量型、低成本和智能手机等3种GNSS接收机上进行了对比分析。结果显示,相对于传统PPP模型,电离层约束显著提高了智能手机PPP解算性能,改善了水平RMS并缩短了PPP收敛时间。
3.3 相对定位算法
虽然目前智能手机的定位模式多为单点定位,但在一些环境较为理想场景下,相对定位能够达到更高的定位精度。因此,也有一些研究将相对定位算法应用于智能手机。例如,文献[1]提出了一种DGNSS校正投影方法。通过计算本地视线单位向量,并将其转换为地心地固坐标系中的坐标。利用视距单位向量构建适用于多个星座的观测矩阵。静态和动态实验结果表明,该算法使智能手机单星座GNSS定位精度提高约30%至60%。文献[34]通过实验验证了一种基于交换原始GNSS测量值的协同定位技术,用于计算Android智能手机之间的相对位置。该实验验证了使用Android智能手机进行协作定位以提高性能的可行性。文献[35]提出了一种利用多普勒平滑伪距,并使用恒定加速度模型约束定位结果的改进算法。数值实验显示,该算法显著提高了智能手机定位精度和连续性。文献[36]利用星间单差法消除智能手机伪距和载波相位观测值间的不固定差值影响,以提高智能手机的定位精度。文献[37]提出了一种结合高度角和载噪比的随机模型,该模型使用载噪比的模板函数估计未建模误差。实验结果显示,使用该模型后,RTDs在复杂环境下的总体精度提高超过10%。文献[38]提出了一种基于四分位鲁棒自适应卡尔曼滤波器的RTK定位模型,该模型在常规RTK定位模型中加入抗差自适应模型,以实现连续准确的动态定位。该算法能够有效地剔除较大粗差,并根据新息向量合理分配观测值权重。文献[39]提出了一种结合OpenStreetMap路网的RTK/DR定位方法,该方法使用OpenStreetMap路网数据修正直线运动阶段的航向角,以提高其定位精度。
3.4 Android智能手机模糊度固定算法
经过多年硬件迭代和算法优化,Android智能手机的定位精度得到显著提升,已能在不固定模糊度的情况下达到分米级精度。然而,要将定位精度进一步提升至厘米级,则需固定模糊度为整数解,但目前在智能手机上进行模糊度固定主要存在两大障碍。其中的第一大障碍就是由智能手机GNSS天线性能缺陷所引起的观测数据质量劣化问题。文献[40]指出,多径效应引起的残余相位偏差会导致智能手机相位观测值模糊度失去整数特性,使得智能手机通常无法进行模糊度固定。为应对智能手机在面对多径问题时的挑战,目前主要采用两种策略。其中一种方法是使用具有强大多径抑制功能的测量型GNSS天线作为外接设备。例如,文献[41]通过将Xiaomi8手机的内置天线替换为外置GNSS天线,成功实现了GPS模糊度的可靠固定。文献[42]使用扼流环天线平台抵消地面多径信号对智能手机的影响,从而获得了稳定的GPS/Galileo模糊度固定解。另一种方法是应用先进算法处理原始数据。例如,文献[43]开发了一种基于卷积神经网络的模型,使用智能手机的原始观测值来检测非视距(non line of sight, NLOS)信号,并通过变分模态分解技术对这些信号进行处理,以消除NLOS信号对数据质量的影响。
除多路径误差之外,智能手机天线相位中心偏差也是影响GNSS观测数据的一个主要误差来源。文献[19]对华为P30手机的GNSS天线相位中心进行了标定,提供了用于精密载波相位测量的相位中心偏移量(phase center offset, PCO)和变化量(phase center variation, PCV)的校正信息。文献[44]对华为Mate 20X智能手机的GPS和Galileo载波相位观测值进行了模糊度解算研究。在天线校正后,他们实现了厘米级的二维均方根误差(2D RMS)并成功完成了模糊度解算。此外,由于Google在Android 11(API 30)中引入了GnssAntennaInfo类,现在可以通过此类访问智能设备的天线特性,包括PCO和PCV校正信息。然而,需要注意的是,这些校正信息仅适用于特定设备型号,并非针对单个设备。
在智能手机GNSS载波相位观测中,存在一种被称为随机初始相位偏差(initial phase bias, IPB)的异常误差,可能源于芯片制造工艺的缺陷或操作系统的影响。该误差是影响智能手机GNSS数据质量和模糊度固定的另外一个重要影响因素。要彻底消除这些异常相位误差,需要芯片和智能手机制造商对生产工艺和操作系统进行针对性优化。在此之前,偏差校正算法能起到一定作用。举例来说,文献[41]在后处理模式下校准了Nexus 9的IPB,实现了模糊度的固定和厘米级定位精度。然而,这种定位策略不适用于实时定位。不过,由于并非所有载波频段都存在IPB。因此,利用无IPB的频段进行模糊度固定是可行的。例如,文献[29]使用华为P30智能手机在GPS L1波段成功实现了模糊度固定。针对智能手机GNSS观测值存在的伪距和相位观测的不一致性、双频数据的低完整性以及未知的接收机侧硬件偏差等问题。文献[45]提出了一种PPP-RTK算法。该算法首先通过调整载波相位观测值,使其与伪距观测值保持一致,在通过区域大气增强实现单频PPP的快速收敛,最后通过星间差分以消除接收机侧硬件偏差,并结合部分模糊度解算策略,以实现模糊度的固定。实验结果表明,使用所提出的PPP-RTK策略,使用智能手机内置天线在开阔环境中的定位误差RMS分别可达1.2、1.5和5.8 cm, 模糊度固定率达到98%。
值得注意的是,目前大部分针对智能手机的模糊度固定算法主要被设计用于GPS、BDS和Galileo等GNSS系统。虽然大多数Android 7及后续版本的智能手机提供GLONASS观测值,但与之相关的模糊度解算研究相对较少。Android GLONASS模糊度解算的挑战在于,它不仅可能受到IPB的影响,还受到频率间相位偏差(inter-frequency bias, IFB)的影响。GLONASS信号由于采用频分多址(frequency division multiple access, FDMA)策略,导致其信号频率各不相同。这导致不同制造商设计的接收机中,由于信号频率的不同,GLONASS双差观测值中可能仍存在残余的接收机硬件延迟[46]。为消除IFB影响,常规做法是在GLONASS模糊度解算中估计一个常数——IFB速率,假设所有GLONASS卫星的IFB速率相同,并用这个IFB率来替代IFB。然而,在IPB存在的情况下,这种方法是否仍适用于智能手机GLONASS观测值的IFB消除,仍是一个问题。文献[47]研究了智能手机多星座双差载波相位观测值,发现多星座模糊度固定过程中,受IPB影响的观测值会导致GLONASS IFB速率变化。因此,传统的固定GLONASS IFB速率改正方法已不再适用。为应对GPS/GLONASS/Galileo/BDS/QZSS双频模糊度固定的挑战,他们提出了一种动态相位偏差校正方法。这种方法专注于解决无偏差模糊度问题,并通过增益滤波对相位偏差进行动态估计,以实现可靠性验证。
3.4 融合定位算法
考虑到智能手机使用场景的复杂性,单纯依靠GNSS卫星信号只有在室外开阔地等能获得较高质量观测数据的场景中,才能得到较为理想的定位精度,而在室内、城市峡谷、隧道等GNSS信号受限的环境中,则难以获得稳定的定位解。为增强智能手机定位系统的稳定性和连续性,研究人员提出通过多传感器融合,来提高智能手机位置服务在缺乏GNSS信号时的可用性。由于智能手机的多功能特性,使得智能手机内置多种传感器,这些传感器包括摄像头、惯性传感器、光传感器、气压计、蓝牙和WIFI接口,甚至还有激光雷达。在现有的传感器中,微电机惯性传感器(micro-electro mechanical systems inertial measurement unit, MEMS IMU)具有更重要的意义,因为它具有与GNSS互补的特性(短期内误差小、更新率高),而且不需要在环境中安装额外的基础设施[48]。
由于智能手机内置的惯性传感器的零偏和噪声较大,而传统的捷联式惯导系统(strapdown inertial navigation system, SINS)的误差累计与所用时间成正比,导致基于智能手机内置IMU单元构建的SINS的定位精度会随着时间的累积而快速发散。而行人航位推算(pedestrian dead reckoning, PDR)系统积累的误差则是基于步数,PDR可以在GNSS信号不可用时,根据估计的行走步长和航向角更新行人位置[49]。因此,为了达到更高的航位推算精度,研究人员更加关注将PDR与智能手机中的全球导航卫星系统集成在一起。例如,文献[50]通过设计一种改进的有限状态机(improved finite state machine, IFSM)步态检测方法,结合步检测与航向估计的PDR动态模型,并采用自适应扩展卡尔曼滤波器(adaptive extended Kalman filter, AEKF)以减少PDR系统中的累积误差。在不同环境下进行的实验结果表明,上述改进算法显著提高了智能手机PDR系统的步态识别率和位置精度。PDR与GNSS通常需要使用卡尔曼滤波器进行数据融合,然而,由于卡尔曼滤波器是基于线性一阶马尔可夫过程建立载体运动方程,并假设系统噪声为高斯白噪声,加之其仅利用最新可用观测量,使得卡尔曼滤波器及其变体模型在智能手机PDR/GNSS融合上实现高精度的定位结果具有一定挑战性。为此,文献[51]提出了一种鲁棒自适应卡尔曼滤波器(robust adaptive Kalman filter, RAKF)来改进智能手机的紧耦合(tightly-coupled, TC)GNSS和IMU解决方案。该算法利用标准化残差作为观测量自适应的计算统计量,以及方差比来进行动态模型的适应性调整,并通过观测量和动态模型的自适应性,来平衡观测量和预测值的权重。实验结果表明RAKF算法将整体均方根误差改善了6%~28%。
近年来,研究人员开始考虑使用因子图优化(factor graph optimization, FGO)算法进行GNSS与IMU数据的融合。因子图是一种图形模型,用于有效解决复杂的估算问题,如时定位与地图构建(simultaneous localization and mapping, SLAM)[52]。与卡尔曼滤波器算法不同,因子图优化使用非线性优化算法来融合多个传感器的输出,以实现更精确的位姿估计。该方法可以利用整个时间序列中的所有测量值,通过构建一个全局优化问题来求解最优状态估计,这使得FGO在处理复杂的传感器融合问题时,特别是存在大量历史数据和需要高精度估计的情况下,相对卡尔曼滤波更具优势。因此,文献[53]使用FGO算法将PDR和GNSS数据进行融合,通过在行走和跑步活动中进行实验评估,文章比较了FGO与KF在不同行人运动模式下的性能,表明FGO在定位一致性上优于KF,相较于KF,FGO在行走和跑步两种运动模式下的平均水平误差分别降低了30.6%和10%。文献[54]基于伪距和时间序列数据构造因子图优化所需的代价函数,并使用卫星信号质量和时间衰落因子构建权值模型,以进一步提高定位精度。最后使用安卓智能手机收集GNSS数据进行算法性能评估,实验结果表明,该算法具有优越的性能。
由本节的总结可知,当前智能手机定位算法已经得到了长足的发展。在纯粹的GNSS算法领域,目前算法的优化方向主要集中在多路径误差的检测和抑制,以及高效利用可用卫星观测资源等方面。但人们在研究观测中也逐渐发现,在一些诸如城市、峡谷、隧道等GNSS卫星信号遮挡严重的环境下,单纯依靠卫星信号进行定位通常无法满足使用者的需求。在这种情况下,利用智能手机其他内置传感器与GNSS进行融合定位逐渐成为当前的研究热点。
4 智能手机定位所面临的挑战与机遇
4.1 面临的主要挑战
得益于GNSS技术的发展和智能手机市场的扩大,智能手机定位算法和硬件性能得到了长足的发展,在数据处理,算法理论和定位精度等方面均取得了较大的进展。但目前仍存在一些问题需要进一步的研究和探索,主要包括4个方面。
1)消除智能手机相位观测值中存在的异常误差,以进一步提升智能手机定位精度。目前,某些智能手机型号在特定波段存在接收机信道依赖偏差,这导致相位观测值的模糊度失去整数特性,无法实现模糊度固定。这种异常误差可能源于GNSS芯片组的生产缺陷、操作系统的影响,或者两者的结合。总的来说,产生这种异常相位误差的确切原因尚未有明确的定论,需要科研人员的进一步研究探索。
2)推进与GNSS相关传感器的研究。目前针对智能手机GNSS芯片组、天线观测值质量和误差特性的研究比较充分。但针对智能手机内部其他传感器,例如,加速度传感器、陀螺仪等传感器的误差特性研究则相对不足。鉴于当前智能手机GNSS芯片组和天线等硬件性能的局限性,通过多源传感器融合定位算法有效利用智能手机传感器输出的数据,可以提高智能手机的定位精度和稳定性。为了达成这一目标,对智能手机内部与GNSS相关的传感器误差特性以及多源传感器融合算法的深入研究是必要的。
3)重视环境因素对智能手机GNSS观测数据的影响。目前大多数关于智能手机GNSS数据质量和特性的研究都是在空旷环境下进行的,例如房顶或操场这些不易受多路径信号影响的地方。然而,智能手机在定位时易受多径信号干扰,尤其是在建筑物密集的城市环境中。因此,研究智能手机在城市等易受多径影响和卫星信号遮挡严重环境下的定位性能具有更高的实用价值。此外,大多数研究在采集GNSS观测数据时将智能手机固定在三脚架上,通常处于水平或竖直位置。然而,在日常使用中,智能手机的姿态是会频繁发生变化的,而且其天线通常是全向而非半球形。因此,仅了解智能手机在特定姿态下的数据质量和定位性能是不够的。所以,之后的研究需要准确了解不同姿态下的数据质量,以更准确地反映出智能手机日常使用中的GNSS数据质量和定位性能。
4)提高智能手机定位算法的通用性和适用性。近年来,研究人员针对智能手机误差特性提出了多种改进算法,其实验结果表明,应用这些算法可以显著提升定位性能。然而,其中许多实验是基于后处理模式进行的,并没有验证这些改进算法在智能手机平台上的实际运行效果,这就导致相应改进算法在智能手机上的实际适用性存在一定的疑义。因此,未来通过开发智能手机应用程序对这些定位算法的有效性进行实际验证将是十分重要的。
4.2 未来的发展机遇
尽管智能手机定位领域目前面临许多挑战,但挑战往往伴随着机遇。智能手机相比其他GNSS终端的优势在于其庞大的用户基数和多功能集成的特性。智能手机作为多功能设备,除了GNSS外,还集成了通信、计算、摄影和网络浏览等多项功能,这些功能的多样性为智能手机在各种应用场景中提供了丰富性和灵活性。这使得依赖位置服务的新兴技术行业可以利用智能手机作为平台。例如,增强现实(augmented reality, AR)和虚拟现实(virtual reality, VR)需要高精度位置数据以将虚拟对象准确融入真实世界;物联网(internet of things, IoT)设备用于智能城市、智能家居和物流管理等应用也需准确位置数据;位置数据在广告定位和商业决策中也至关重要。这些新兴产业的需求将会推动智能手机定位技术的研究。
同时,通信和芯片技术的发展也助力于智能手机定位技术的进步。例如,全球导航卫星系统(如GPS、GLONASS、Galileo、BDS)的持续升级和扩展增加了卫星数量和信号功率,从而有助于提升高精度定位性能;5G网络的部署,提供了更高的带宽和较低的延迟,助力于高精度位置数据的快速传输和处理;传感器技术的发展使智能手机得以配备多种传感器,如惯性传感器、摄像头和激光测距仪等,这些传感器的改进提高了实现高精度定位的可能性;云计算和大数据分析的发展使智能手机能处理大量定位数据,并提供更为复杂的位置分析和应用。因此,随着GNSS芯片组和智能手机定位算法的持续改进,有理由相信智能手机的定位精度和稳定性将得到进一步的优化和提升。