Software GPS的原理与应用

本文作者:admin       点击: 2006-04-07 00:00
前言:
全球卫星定位系统发展至今己有20余年的历史,其应用主要都是基于一个完整的、独立的系统方案,主要架构不外乎:天线、射频前端、基带处理器、中央处理单元、内存单元、晶振等,所设计出的产品多为航天用、船用及车用导航设备,由于尺寸、功耗、成本及接收敏感度等种种考虑而难以与其它个人消费类产品结合(如个人移动电话)。本文将介绍最新的技术架构,让设计人员可以仅使用射频前端芯片及相应的软件,并能与移动设备相结合的软件卫星定位方案。
  
全球卫星定位系统概况与介绍

全球定位系统(Global Positioning System)是一套由美国国防部(Air Force)建构的卫星定位系统,其基本原理是利用绕着地球的24颗卫星所发射的信号,再加以几何计算,以得到接收者的“笛卡尔座标”(Cartesian Coordinate)。另一个与此相当的系统是由前苏联所建构的定位系统(Global Navigation Satellite System, GLONASS),基本上,此系统也是由24颗卫星所组成,这24颗卫星分别分布在3个轨道面,每一个轨道面又分别由8颗卫星以相差45度(Latitude)均匀分布,此轨道面的高度约为19,100 km,卫星运行一周需费11小时15分钟。由于本文主要在介绍美国所建构的定位系统(Navstar GPS),有关GLONASS的部分就不多做叙述。
简单地说,全球定位系统是一个以空间为基准,利用无线电波与时间差来测量距离的一个系统;它能够提供精准的位置资料、速度,以及时间。整个系统可被区分为3大部分,我们称之为Space Segment、Control Segment和User Segment。

第一个Space Segment,主要就是由24颗卫星运行于半同步轨道,所谓半同步轨道指的就是卫星运行一周需费大约12小时(11小时58分钟),所以在一天之中,同一颗卫星刚好出现在一个固定不动的使用者的头顶上两次(23小时56分钟)。这24颗卫星以每个轨道4颗卫星均匀的分布在6个轨道面上,每个轨道面都与赤道相差55度的倾斜角,而这些卫星所在的轨道高度平均约为20,200 km,图1为卫星轨道分布图。

这24颗卫星所发射出来的测距信号有两个频道(D-Band),其一称为L1,发射频率为1,575.42 MHz;其二为L2,发射频率为1,227.6 MHz。这两个为载波频率,负责将展频信号以高频载波来传送,GPS所使用的是展频通信(Spread-Spectrum)技术。展频所调变的测距码(ranging codes)又可分成两种,一为1.023MHz的C/A码(coarse/acquisition codes),顾名思义,依据这个码所得到的精确度较为粗略,而且C/A码也只用L1来调变,专门开放给一般商业用途的使用者。

另外一个测距码是10.23 MHz的P码(Precision Codes),这个码同时调变在L1及L2载波上,由于P码的Chip较短,因此能够得到较精准的定位。基本上,这两种测距码都能够被用来测量卫星与接收者之间的距离,然而通常P code还会被加密、而且也只开放给被授权的使用者,所以P code通常也只应用在军事用途的定位系统上。也因为有这样不同的两组码,全球定位系统又被区分成“标准定位服务”(Standard Positioning Service, SPS),以及“精确定位服务”(Precise Positioning Service, PPS)两种;其中标准定位服务就是只使用C/A码在L1载波上,而精确定位服务除了使用C/A码在L1载波上,也再加上P code于L1和L2两个载波。

除了这些测距码之外,最后也是最重要的就是一个50Hz的资料信息码。这个码载有的资料包括了卫星时序资料和卫星精确轨道资料(ephemeris),此资料只含有发射信号的卫星本身的轨道资料和卫星基本轨道资料(almanac data),此资料含有所有卫星的基本轨道资料及信号传播于电离层的修正资料。

Control Segment,主要是由各个位于不同地点的地面控制站台所组成。其主控制站台(Master Control Station, MCS)位于美国科罗拉多州,其余几个站台则均匀沿着赤道分布。这些地面控制站的主要任务就是监测并控管这些在太空中运行的卫星,其功能包括:卫星轨道控管、卫星轨道资料更新、卫星本体维护等。这个系统的运作流程是由各个子站台分别接收它们所锁定的卫星的轨道资料,然后通过美国的防卫卫星通信系统将资料传送到主控制站台进行轨道资料的估计及再预测,然后再将新的轨道资料地面天线站上载至各个卫星。

最后一个部分User Segment,跟一般使用大众有密切关系。所谓User Segment,指的就是GPS接收器,也就是本文要探讨的主角;其功能不外乎就是射频接收、译码以及处理卫星的轨道资料,进而计算出接收器的位置。
  
GPS传统架构

一般商业用的GPS芯片组大都是由天线、低噪声放大器、前端滤波器、射频、IC、晶振、存储芯片与基带IC(内含中央处理单元)所组成,如图2所示。射频IC的主要功能是将GPS的1.57542 GHz载波降频至基带,主要是由低噪声放大器、混波器、自动增益控制、锁相回环,以及模拟/数字转换器所组成,一般这样的芯片设计都会采用Bi-CMOS工艺,以兼顾Bipolar快速高增益、高驱动力、低宽带噪声,以及CMOS的低功耗和高密度等好处。绝大多数的基带信号处理IC都是由CMOS制成,一般的基带信号处理芯片除了具有de-spread的correlators之外,也都包含中央处理单元,以处理tracking及navigation的算法而实现卫星信号追踪和几何定位计算。

中央处理单元也负责与存储芯片之地址/资料计算及与外部I/O的接口(如:UART这样的传统架构),因存在着一些瓶颈而无法应用在如移动电话等消费类电子产品上。第一个也是最关键的问题就是接收敏感度的问题。一般消费者在使用GPS时,多数会处在市区内,甚至在建筑物内,这样的环境绝对是GPS的天敌!因为在这样的环境下,卫星传送下来的信号?仅会被削弱或发生多重反射(multi-path),甚至完全收不到任何信号(indoor)。为了改善接收敏感度的问题,各家厂商无不在RF IC及追踪导航算法上力求精进。甚至更有厂家与移动通信网络(如GSM/GPRS或WiFi Hot Spot)相结合,提供辅助导航功能,使得即使GPS接收器在室内,仍然可以得到定位。

第二个瓶颈是消耗功率过大,在手持式的电子产品,省电一直是一个最重要的课题。目前在市场上各家IC的功率消耗分别从150mW~200mW不等。除了基本的耗电需要再继续降低外,有效的电源管理设计也成了重要的设计之一。尤其是传统架构需要用上一颗CPU使得功耗问题一直无法改善,而且芯片设计也会降低电压至1.8V以降低功耗。

第三个障碍是GPS接收器的尺寸大小,一般的GPS接收器设计,大体包含有射频芯片,GPS ASIC处理器芯片,CPU和内存。再加上外围其它电路后,其尺寸约比一般的名片稍小。然而这样的尺寸完全不能符合手持式电子产品的需求。
最后一个就是成本问题,凡是要同消费大众普及化的产品,在价格上一定要有竞争力。而传统方案整个BOM成本则至少要15美元以上。
  
Software GPS的原理

所谓Software base 全球卫星定位方案,简单地说就是将软件移植到主机(Host base)上执行,以分享中央处理单元(CPU)、存储芯片等,进而达到省电、低成本、低功耗及small board level size的需求。其架构可由图3表示:

这样的方案只需要外部一个射频芯片,其它都是利用主机(Host base)的固有资源。前端射频芯片将射频信号降到基带适用的频率,再经由模拟/数字转换器将信号快速取样出来,一般是由SPI (serial port interface)或SD Interface接到主机上的中央处理单元,接着由移植到Host processor的量测演算单元(Measurement Engine)将射频取样信号转换出原始的GPS各种量测信息(raw GPS measurements),再由导航演算单元(Navigation Engine)计算出所有的定位资料、速度和时间等。在硬件部分,一般冷开机模式下大约需share掉主机上的中央处理单元约占50MIPS~400MIPS不等,不同厂家的方案会有不同的系统需求。

Software GPS的应用

本节将以一个RF Micro Devices之RF8110为设计实例来说明Soft GPS之技术应用,由前一环节所述的原理可知,Soft GPS需要将其计算软件移植到Host端的应用处理器上。其硬件架构如图4所示。
接着,我们再选用INTEL XScale的PXA-27X为Host的应用处理器,并以Single SPI (Serial Port Interface)模式来加以说明,其界面的明确接线如下:

在这个应用范例中,这个接口使用4-wire SPI slave port来传送控制信号及GPS的数据流。其中MISO (Master In Salve Out)及MOSI (Master Out Slave In)分别作为单向GPS串行数据传输用,而SPI RDY则告诉Host其GPS数据流己available,然后Host就要下read命令。在软件移植上,则由图6做说明。

RF8110 提供可移植性高的ANSI C sGPS library,负责从GPS取样信号中计算出位置、速度及时间,sGPS Library与系统软件的接口为SAL(System Abstraction Layer)。Host端并可以在其上开发导航应用软件,可以只是简单的NMEA输出,或是到复杂的地图导航。
  
Aiding GPS

辅助式全球卫星定位系统的好处主要有两方面:一是提供更便捷、快速的TTFF性能,二是在卫星信号强度极弱的状况下,持续提供定位导航。如前文所述,一个几何定位的计算主要是由伪距(pseudorange,一个纯量的距离)和各个卫星方位、航向(方向)组合成向量所计算得出,伪距的求得是依据接收端与卫星间识别码的时间差而得到。

而卫星的方位航向,是由卫星所送出的Ephemeris及Almanac得到。当卫星信号强度衰减到-155dBm~160dBm的大小时,卫星所送出的Ephemeris及Almanac资料已无法被正确的解调出来,这时就可以使用辅助式的定位机制。一般而言,辅助资料有:(1)Time Aiding,可以辅助识别码的辨认,增加伪距的准确度;(2)Ephemeris/Almanac Aiding,在弱信号状况下由其它系统(移动通信系统或互联网等)提供资料。

图7所示是一个利用移动通信系统作为媒介来提供time aiding及Ephemeris/Almanac aiding data的示意图,此种架构必须与基地台(即移动通信系统的服务供应商紧密配合)。而图8所示则是另外一种架构,由GPS供应商设置Server,然后通过互联网,使用HTTP protocol作为媒介来提供aiding data,这种方式的好处是不必直接跟移动通信系统的运营商做深度的技术整合,而可以由任一个LBS(Location Base Service)服务厂商通过GPRS来提供aiding data及service。

结 语

本文主要阐述了softGPS如何克服传统方案、standalone GPS应用在手持移动设备上的瓶颈,并说明Soft GPS的原理及其应用。在讲究尺寸,功耗及性能的移动设备上,Soft GPS以仅仅单一射频芯片及可移植性高的运行软件来搭配上Host端的应用处理器,可以容易地达到在尺寸、功耗及性能上的各项要求,使得卫星定位系统内建在Smart Phone、PDA更为普遍。目前市场上绝大部份的Smart Phone及PDA其应用处理器都有足够之horse power来处理Soft GPS之运行软件,再加上辅助式定位系统aiding GPS,将使得GPS的应用更为方便及实用。一旦GPS的导航功能搭配上适当的电子地图与规划完善的导航软件,未来GPS将会成为人人必备的生活必需品。