如何实现A-GPS定位系统
2013-09-17葛伟
葛 伟
0 引言
GPS是全球定位系统(global positioning system),是随着现代化科学技术的发展而建立的新一代精密度卫星定位系统。GPS全球定位系统具有性能好、精度高、应用广的特点,是迄今最好的导航定位系统。随着全球定位系统的不断改进,硬、软件的不断完善,应用领域正在不断地开拓,越来越多的人开始接触到GPS。
A-GPS(Assisted GPS)即辅助GPS技术,它可以提高GPS 卫星定位系统的性能。通过移动通信运营基站它可以快速地定位,广泛用于含有GPS功能的手机上。GPS通过卫星发出的无线电信号来进行定位。当在很差的信号条件下,例如在一座城市,这些信号可能会被许多不规则的建筑物、墙壁或树木衰减。在这样的条件下,非A-GPS 导航设备可能无法快速定位,而A-GPS 系统可以通过移动基站信息来进行快速定位。本文主要是介绍A-GPS的定位原理,在具体实现过程以及遇到的相关问题以及解决的方案。
1 A-GPS原理的介绍
A-GPS,全称Assisted-GPS,它是一种结合移动网络基站和GPS进行定位的技术。整个A-GPS的架构,如图1所示:
图1 A-GPS的整个网络图
A-GPS利用移动基站 SM/GPRS、WCDMA和CDMA2000辅助,完美解决了GPS覆盖的问题。由于借用移动基站网络数据,接收器不必再下载和解码来自 GPS卫星的导航数据,因此可以有更多的时间和处理能力来跟踪GPS信号,这样能降低首次定位时间,增加灵敏度以及具有最大的可用性。这就是A-GPS最大的优势。
A-GPS依赖于GPS而存在,和GPS一样,都需要在终端接收机内增加GPS芯片接收模块,并配备相应的GPS天线才能够正常工作。A-GPS整个定位过程:1.首先终端接收机把本身的位置信息发送给位置服务。2.位置服务器把该位置相关的GPS信息,如GPS定位辅助信息,灵敏度辅助信息,工作状态信息;移动终端计算的辅助信息,如GPS历书,修正数据,GPS星历等。3.终端接收机把位置服务器传输的信息,很快的捕捉到卫星,并可以接收GPS原始信号并解调信号。计算接收机到卫星的伪距离,当然这个距离受到各种GPS误差影响。4.最后通过网络侧计算或者终端侧计算最后算出终端的具体位置。
2 A-GPS的优势
A-GPS的优势主要在其定位精度上。在室外等空旷地区,其精度在正常的GPS工作环境下,可达0.1米左右,堪称目前定位精度最高的一种定位技术。A-GPS的另外一个优点是:首次捕获 GPS信号的时间快。这个我们称之为TTFF,全称Time To First Fix。在开发过程的测试数据发现,A-GPS的TTFF基本在1秒到10秒之间。A-GPS之所以会比 GPS更定位,和它的定位方式和网络结构也是密切相关的。
首先,要介绍的是A-GPS的定位计算方式,一般来说,终端接收机接收到3个颗星就实现2D定位。如果接收到4颗星或者更多就可以3D定位。A-GPS的定位计算方式分3种:
1. MSB方式:定位计算由终端接收机完成。优点网络负担比较小,延时短,适合短时间的定位。
2. MBA方式:定位计算由移动基站网络完成,然后再传送给终端接收机完成。优点对终端要求比较低,延时比较大,不适合高速行驶中使用。
3. Autonomous 方式: 类似GPS,在这里就不多说了。
A-GPS的网络结构,这个也是有别于GPS的一个主要特点。主要分为两种:控制平台(Control Plane),如图2所示:
图2 控制平台
由移动定位中心(SMLC)与无线基站的无线网络控制器(RNC)集成,GPS辅助信息通过信令的方式来交互。这种方式是在核心网络内部传输数据,传输效率高,安全可靠。实现复杂,成本高。
用户平台(User Plane),如图3所示:
图3 用户平台
利用无线网络的IP功能,通过IP数据网和SMLC交互辅助信息,通过相应的标准接口(SUPL)传输信息。3G/2G兼容,容易实现,成本低。具体的SUPL,请查阅SUPL Manual.
从根本上来分析,由于终端接受本身并不对GSP位置信息进行计算,而是会将相关的 GPS的位置信息数据传给移动基站网络,由网络的定位服务器进行位置计算。在使用A-GPS定位之前,一般需要用户(终端接收机已经设定好的除外)设定好相对应的定位服务器的 IP,移动基站网络会按照GPS的参考网络所产生的辅助数据,如差分校正数据、卫星运行状态,星历等传递给终端接收机(如:手机),并从数据库中查出终端接收机的近似位置和小区所在的位置信息传给终端接收机,这时终端接收机可以很快捕捉到相关的 GPS信号,这样的首次捕获时间将大大减小,一般仅需几秒的时间。不需像 GPS的首次捕获时间可能要几分钟时间。这就是 A-GPS的优势所在。当然,AGPS也有一定的限制:必须有蜂窝网络(GRRS/EDGE/CDMA等)的支持用以数据传输,对一般用户而言可能需要为此支付一定的数据流量费用;必须有AGPS位置服务器的支持;与GPS一样,仍无法完美解决室内(室内无法接收 GPS信号)定位的问题。
3 A-GPS实现中的难点及解决方案
本节将会介绍具体实现A-GPS的硬件和软件架构,以及在实现过程中遇到的一些难点和相对应的解决方案。
在开发之前,3个方面需要开发人员确认,这些是实现A-GPS功能的基础和前提。
首先,芯片的支持。一定要确保现有的芯片是支持A-GPS功能的,一般会在相关的用户手册里找到相关观的信息,也可以找当地的代理商或者原厂设备商确认。如今,市面上有很多的GPS方案,但是绝大多数的方案都是不支持 A-GPS的。现在比较流行的是 SIRFIII芯片,它是支持A-GPS功能的,而且数据输出的标准的NMEA0183,所以,市场占有率很高。
其次,A-GPS需要移动网络的支持,所以,整个方案需要有GMS或者3G的网络支持。
第三,就是网络供应商的支持。如果本地的网络供应商不支持A-GPS服务,那其他的也都付之东流了。当然,中国移动和中国联动很早就支持A-GPS了。得到一个服务器的IP就可以进行A-GPS开发了。
在系统设计中,首先要确定好硬件的框架和总线连接方式。A-GPS的硬件接口一般分为UART、I2C和SPI3种,最为常见的是UART,如图4所示:
图4 UART
这种接口相对比较简单,调试也很方便。如果选定了硬件接口,然后需要考虑的是电源。一般会用 CPU的 GPIO来作为控制A-GPS的电源开关和电源。
系统设计的另一方面是软件架构设计,如图5所示:
图5 软件架构
主要有4个方面。A-GPS的驱动模块,A-GPS数据解析,A-GPS上层应用和网络通讯模块。
在驱动模块,主要负责UART的驱动设定,控制GPIO,已经相关A-GPS的参数设定,比如定位计算方式、移动网络基站参考服务器 IP、A-GPS精度范围、参考定位坐标等等。一般把A-GPS的参数定位会以XML文件的形式输入。当A-GPS设备启动时,有驱动模块负责读取参数,并输入到A-GPS模块和网络基站模块。
网络基站通讯模块,主要是负责和移动基站交互已经和驱动模块信息交互的任务。由这个模块负责将A-GPS设备的信息传输给移动基站服务器,并从基站服务器下载相关的A-GPS差分校正数据、卫星运行状态,星历等辅助数据 ,并传送给驱动模块。
数据解析模块,主要是负责将定位之后A-GPS芯片输出的NMEA0183定位信息解析成可视化的数据,比如经度、纬度、当前时间、方向、海拔高度、具体定位的卫星编号,以及卫星的信号强度等等。
A-GPS应用模块,主要是负责在GPS地图上显示当前定位的信息,或者更具当前的A-GPS信息来进行导航功能。
在具体开发中,同样也会遇到各种各样的问题。最常见的就是无法定位问题,首先,要判断这个是硬件问题还是软件设定问题。一般硬件问题,大致会分两块。一是天线问题。手持移动设备都比较小,而且对功耗有着极高的要求。所以A-GPS的天线,一般只能选用无源的贴片天线。和强大的有源天线相比,它的接受信号实在比较差,经常阻碍了开发人员的进度。一般可以选择用一个相对比较大的无源天线,这样就可以排除天线问题。第二,就是数据接口问题,一般GPS和A-GPS都会用UART作为数据传输通道。可以示波器等设备来检测UART线上的数据是否正确。
如果是软件问题。通常,开发过程中遇到的软件问题可以归纳为:Server IP设定错误;定位计算方式错位;精确度设定过高;参考坐标设定误差太大。下面具体分析一下每一个疑点。Server IP一般在开发中会有一到两个,首先要确保这些IP都是有效工作的。哪怎么去判断呢?可以咨询芯片供应商,也可以在A-GPS芯片输出的Log信息里可以看到,一般这些log信息开发人员可以设定保存的路径,通常会以txt的形式保存在SD卡中。如果IP有效的话,会在log里有提示,类似“连接Server成功”之类的信息。否则,就要考虑是不是IP有问题了。第二个问题是定位计算方式,必须要根据当地的网络来设定,如果只能支持MBA方式的,而误设定为MSB的话,那就一定不会工作的。第三,精确度过高,这个问题比较难发现。一般开发人员很少会去尝试修改这个参数来测试定位。如果精确度设定过高,那系统会认为每次精确度低于这个值的,都算定位失败。所以,在开发初期,建议不设定这个参数,或者精度范围设点得大些。最后,参考坐标问题。考虑到可以更快更精确地定位,A-GPS厂家都会有这样一个参数提供给开发人员使用。但是如果你把一个错误的坐标输入进去,那系统就会和当前得到的坐标进行比较,如果相差范围很大,系统也会认为定位失败。所以,在设计过程中,不能轻视每一个参数的设定。只有一步一步地去跟踪,去排除一个个疑点,然后最终找到问题并解决。
在整个 A-GPS实现过程中,最后一个开发环节就是A-GPS测试。很多没有做过相关开发的人不太清楚,一般网络上的文章很少提到.A-GPS产品的测试不同于GPS产品的测试,需要当地移动供应商的测试认证。如果想在中国销售A-GPS,而且是在中国移动的网络上使用的话,必须把A-GPS终端产品拿到中国移动研究院去按照严格的测试规范进行测试。
A-GPS测试环境。AGPS平台只提供定位能力,不提供用户、业务管理功能。SP接入、用户鉴权、业务鉴权均在用户归属地的CELLID平台进行。AGPS平台不保存移动基站数据,基站数据均由各省CELLID平台维护。AGPS平台需要通过Lr2.0接口来获取终端所在小区CELLID对应的经纬度。AGPS平台需要维护LAC与CELLID平台的对应表具体测试会分:终端发起和网络发起两种,这个也就是我刚才提到的SUPL相关的技术。也分漫游和非漫游之分。具体可以参考中国移动的相关测试规范。
4 结语
随着科技的不断进步,国内相关开发人员的水平不断进步,各种A-GPS的实现方案也将会变得越来越完善和成熟。在不久的将来,A-GPS将会在各种各样的领域发挥其作用。
[1]利希特内格尔(Lichtenegger)(作者), 瓦斯勒(Wasle)(作者), 程鹏飞 (译者), 蔡艳辉,全球卫星导航系统(GPS,GLONASS,Galileo及其他系统),[M]北京,测绘出版社; 第1版 (2009年8月1日)
[2]Christopher J.Hegarty,美,Elliott D.Kaplan (编者), 寇艳红 (译者)GPS原理与应用(第2版)[M]北京,电子工业出版社; 第1版 (2007年7月1日)
[3]SIRF III A-GPS/GPS Spec
[4]U-Blox GPS Datasheet
[5]位置业务AGPS平台定位功能测试规范V2.0.0,[R]中国移动通信集团公司研究院
[6]NME0183 Manual National Marine Electronics Association