GNSS的全称是全球导航卫星系统(Global NavigationSatellite System),它是泛指所有的卫星导航系统,包括全球的、区域的和增强的,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统,以及相关的增强系统,如美国的WAAS(广域增强系统)、欧洲的EGNOS(欧洲静地导航重叠系统)和日本的MSAS(多功能运输卫星增强系统)等,还涵盖在建和以后要建设的其他卫星导航系统。国际GNSS系统是个多系统、多层面、多模式的复杂组合系统,如下图所示:
全球系统 | GPS、GLONASS、Galileo、Beidou |
---|---|
区域系统 | QZSS、IRNSS |
增强系统 | WAAS、MSAS、EGNOS、GAGAN、NIGCOMSAT-1 |
SBAS(Satellite-Based Augmentation System),即星基增强系统,通过地球静止轨道(GEO)卫星搭载卫星导航增强信号转发器,可以向用户播发星历误差、卫星钟差、电离层延迟等多种修正信息,实现对于原有卫星导航系统定位精度的改进,从而成为各航天大国竞相发展的手段。目前,全球已经建立起了多个SBAS系统,如美国的WAAS(Wide Area Augmentation System)、俄罗斯的SDCM(System for Differential Corrections and Monitoring)、欧洲的EGNOS(European Geostationary Navigation OverlayService)、日本的MSAS(Multi-functionalSatellite Augmentation System)以及印度的GAGAN(GPS AidedGeo Augmented Navigation)。
上述SBAS系统的工作原理大致相同。首先,由大量分布极广的差分站(位置已知)对导航卫星进行监测,获得原始定位数据(伪距、载波相位观测值等)并送至中央处理设施(主控站),后者通过计算得到各卫星的各种定位修正信息,通过上行注入站发给GEO卫星,最后将修正信息播发给广大用户,从而达到提高定位精度的目的。
GPS是英文Global Positioning System(全球定位系统)的简称。它是一个由覆盖全球的24颗卫星组成的卫星系统。其目的是在全球范围内对地面和空中目标进行准确定位和监测。随着全球性空间定位信息应用的日益广泛,GPS提供的全时域、全天候、高精度定位服务将给空间技术、地球物理、大地测绘、遥感技术、交通调度、军事作战以及人们的日常生活带来巨大的变化和深远的影响。
GPS系统一般由地面控制站、导航卫星和用户接收机(GPS的移动用户端)三大部分组成。导航卫星至少24颗,均匀分布在6个极地轨道上,轨道的夹角为60度,距地平均高度为20200公里,每12恒星时绕地球一周。
1)空间部分:
GPS的空间部分是由24颗卫星组成(21颗工作卫星;3颗备用卫星),它位于距地表20200km的上空,运行周期为12h。卫星均匀分布在6个轨道面上(每个轨道面4颗),轨道倾角为55°。卫星的分布使得在全球任何地方、任何时间都可观测到4 颗以上的卫星,并能在卫星中预存导航信息,GPS的卫星因为大气摩擦等问题,随着时间的推移,导航精度会逐渐降低。
2)地面控制系统:
地面控制系统由监测站(Monitor Station)、主控制站(Master Monitor Station)、地面天线(Ground Antenna)所组成,主控制站位于美国科罗拉多州春田市(Colorado. Springfield)。地面控制站负责收集由卫星传回之讯息,并计算卫星星历、相对距离,大气校正等数据。
3)用户设备部分:
用户设备部分即GPS信号接收机。其主要功能是能够捕获到按一定卫星截止角所选择的待测卫星,并跟踪这些卫星的运行。当接收机捕获到跟踪的卫星信号后,就可测量出接收天线至卫星的伪距离和距离的变化率,解调出卫星轨道参数等数据。根据这些数据,接收机中的微处理计算机就可按定位解算方法进行定位计算,计算出用户所在地理位置的经纬度、高度、速度、时间等信息。接收机硬件和机内软件以及GPS 数据的后处理软件包构成完整的GPS 用户设备。
GPS导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过记录卫星信号传播到用户所经历的时间,再将其乘以光速得到(由于大气层电离层的干扰,这一距离并不是用户与卫星之间的真实距离,而是伪距(PR,):当GPS卫星正常工作时,会不断地用1和0二进制码元组成的伪随机码(简称伪码)发射导航电文。导航电文包括卫星星历、工作状况、时钟改正、电离层时延修正、大气折射修正等信息。它是从卫星信号中解调制出来,导航电文中的内容主要有遥测码、转换码、第1、2、3数据块,其中最重要的则为星历数据。当用户接受到导航电文时,提取出卫星时间并将其与自己的时钟做对比便可得知卫星与用户的距离,再利用导航电文中的卫星星历数据推算出卫星发射电文时所处位置,用户在WGS-84大地坐标系中的位置速度等信息便可得知。
GPS导航系统卫星部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x、y、z外,还要引进一个Δt即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。
空间直角坐标系转换为大地坐标系( XYZ → BLH ):
在相同的基准下,将大地坐标系转换为空间直角坐标系。公式为:
利用该式计算有一个问题:后两式中有交叉变量,因此需要进行处理。
Ⅰ迭代算法
1)利用下式求出B的初值。
2) 利用B的初值求出H和N的初值,再次求定B的值。
Ⅱ直接算法
公式如下:
**1)经度longitude:**定义为地球面上一点与两极的连线与0度经线所在平面的夹角。以球面上的点所在辅圈相对于坐标原点所在辅圈的角距离来表示。英国首都伦敦格林尼治天文台原址的那一条经线定为0°经线也叫本初子午线,它的东面的为东经,共180度,在它西面的为西经,共180度。
**2)纬度latitude:**是指某地地面法线对赤道面的夹角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N;位于赤道以南的点的纬度称南纬,记为S. 北极就是北纬90度,南极就是南纬90度。
**3)经纬度表示:**1884年国际经度会议规定,以通过英国伦敦格林威治天文台子午仪中心的经线为0°经线。从0°经线往东叫东经,往西叫西经,东、西各分180°。习惯 上以西经20°和东经160°为分界把地球分为东西两个半球。假如从地轴的正中间将地球切成南北两半,上边的一半叫北半球,下边的一半叫南半球。被切的这个平面,叫赤道面。赤道面与地球表面相交的线叫赤道。纬线从赤道往两极越来越短,到了两极就缩小成一个点了。科学家们把赤道定为0°纬线,从赤道向两极各 分为90°,赤道以南叫南纬,赤道以北叫北纬。在计算机或GPS上经纬度经常用度、分、秒和度.度、分.分、秒.秒的混合方式进行表示,度、分、秒间的进 制是60进制,度.度、分.分、秒.秒的进制是100进制,换算时一定要注意。
**4)经纬度转换:**可以近似地认为每个纬度之间的距离是不变的111KM,每分间 1.85KM,每秒间31.8M。经度间的距离随纬度增高逐渐减小,可按以下公式计算:
经度1°长度=111.413cosφ一0.094cos3φ公里(纬度φ处)
一般从GPS得到的数据是经纬度。经纬度有多种表示方法。
a)ddd.ddddd, 度 . 度的十进制小数部分(5位)例如:31.12035º
b)ddd.mm.mmm,度 . 分 . 分的十进制小数部分(3位)例如 31º10.335’
c)ddd.mm.ss, 度 . 分 . 秒 例如 31º12’42"
地球上任何一个固定的点都可以用确定的经纬度表示出来。把经纬度转换成十进制的方法:
Decimal Degrees = Degrees + minutes/60 +seconds/3600
例:57°55’56.6"=57+55/60+56.6/3600=57.9323888888888
把经纬度(longitude,latitude)(205.395583333332,57.9323888888888)
转换据成坐标(Degrees,minutes,seconds)(205°23’44.1",57°55’56.6")。
步骤如下:
a)直接读取"度":205
b)(205.395583333332-205)*60=23.734999999920 得到"分":23
c)(23.734999999920-23)*60=44.099999995200 得到"秒":44.1
GPS卫星发射的信号包含有三种成分,即50Hz导航电文(D码)、伪随机码(C/A码或P码)和载波(Ll,L2波段)。这3种信号分量都是在同一基准频率F0=10.23MHZ的控制下产生的。
GPS卫星所采用的两种测距码,即C/A码和P码(或Y码),均属于伪随机码。
1) C/A码
是由两个10级反馈移位寄存器组合而产生。码长Nu=1024-1=1023比特,码元宽为tu=1/f1=0.97752s,(f1为基准频率f0的10分之1,1.023 MHz),相应的距离为293.1m。周期为Tu= Nutu=1ms,数码率为1.023Mbit/s。
C/A码的码长短,共1023个码元,若以每秒50码元的速度搜索,只需20.5s,易于捕获,称捕获码。码元宽度大,假设两序列的码元对齐误差为为码元宽度的1/100,则相应的测距误差为2.9m。由于精度低,又称粗码。
2) P码
P码产生的原理与C/A码相似,但更复杂。发生电路采用的是两组各由12级反馈移位寄存器构成。码长Nu=2.35*10^14比特,码元宽为tu=1/f0=0.097752s,相应的距离为29.3m。周期为Tu= Nutu=267d,数码率为10.23Mbit/s。
P码的周期长,267天重复一次,实际应用时P码的周期被分成38部分,(每一部分为7天,码长约6.19 ,1012比特),其中1部分闲置,5部分给地面监控站使用,32部分分配给不同卫星,每颗卫星使用P码的不同部分,都具有相同的码长和周期,但结构不同。P码的捕获一般是先捕获C/A码,再根据导航电文信息,捕获P码。由于P码的码元宽度为C/A码的1/10,若取码元对齐精度仍为码元宽度的1/100,则相应的距离误差为0.29m,故P码称为精码。
3)导航电文
导航电文是包含有关卫星的参考星历(星历是指在GPS测量中,天体运行随时间而变的精确位置或轨迹表,它是时间的函数)、卫星工作状态、时间改正参数、卫星钟运行状态、轨道摄动改正、大气折射改正和由C/A码捕获P码等导航信息的数据码(或D码)。
导航电文也是二进制码,依规定格式组成,按帧向外播送。每帧电文含有1500比特,播送速度50bit/s,每帧播送时间30s。
每帧导航电文含5个子帧,每个子帧分别含有10个字,每个字30比特,故每个子帧共300比特,播发时间6s。为记载多达25颗卫星,子帧4、5各含有25页。子帧1、2、3和子帧4、5的每一页构成一个主帧。主帧中1、2、3的内容每小时更新一次,4、5的内容仅当给卫星注入新的导航电文后才得以更新。
a. 导航电文的格式
b. 一帧导航电文的内容
① 遥测字(TLM-Telemetry WORD)
位于每个子帧的开头,作为捕获导航电文的前导。
② 转换码(交接字)(HOW-Hand Over Word)
紧接各子帧的遥测字,主要向用户提供用于捕获P码的Z记数。所谓Z记数是从每个星期六/星期日子夜零时起算的时间记数(1.5s),表明下一子帧开始瞬间的GPS时。
③ 数据块1D:含有卫星钟改正参数及数据龄期、星期的周数编号、电离层改正参数、和卫星工作状态等信息。卫星钟改正参数a0、a1、a2分别表示该卫星的钟差、钟速和钟速变化率。
④ **数据块2:**包含在2、3两个子帧里,主要向用户提供有关计算该卫星运行位置的信息。该数据一般称为卫星星历,每30s重复1次,每小时更新一次。
⑤ 数据块3:包含在4、5两个子帧中,主要向用户提供其他GPS卫星的概略星历及其工作状态信息,称为卫星的历书。第3数据块的内容每12.5分钟重复一次,每天更新一次。
1)天线单元
GPS信号接收机的天线单元为接收设备的前置部分。天线单元包含接收天线和前置放大器两部分。其中天线部分可能是全向振子天线或小型螺旋天线或微带天线,但从发展趋势来看,以微带天线用的最广、最有前途。
为了提高信号强度,一般在天线后端设置前置放大器(LNA),前置放大器的作用是将由极微弱的GPS信号的电磁波能量转换成为弱电流放大。前置放大器分外差式和高放式两种。由于外差式前置放大器不仅具有放大功能,还具有变频功能,即将高频的GPS信号变换成中频信号,这有利于获得稳定的定位精度,所以绝大多数GPS接收机采用外差式天线单元。
2)信号通道
信号通道是一种软件和硬件相结合的复杂电子装置,是GPS接收机中的核心部分。其主要功能是捕获、跟踪、处理和量测卫星信号,以获得导航定位所需要的数据和信息。通道数目有1到24个不等,由接收机的类型而定。总的来讲,信号通道目前有相关型、平方型和相位型等三种。新一代GPS信号接收机广泛采用相关型通道,主要由信号捕获电路、伪噪声跟踪环路和载波跟踪环路组成。
3)存储器
这是GPS信号中接收机将定位现场采集的伪距、载波相位测量、人工量测的数据及解译的卫星星历储存起来的一种装置,以供差分导航和作相对定位的测后数据。
4)微处理机
接收机的计算部分由微处理机和机内软件组成。机内软件是由接收机生产厂家提供的,是实现数据采集、通道自校自动化的重要组成部分,主要用于信号捕获、跟踪和定位计算。微处理机结合机内软件作下列计算和处理:
(1)开机后指令各通道自检,并测定、校正和存储各通道的时延值;
(2)解译卫星星历,计算测站的三维坐标;
(3)由测站定位坐标和卫星星历计算所有卫星的升降时间、方位和高度角,提供可视卫星数据及卫星的工作状况,
以便获得最佳定位星位,提高定位精度。
上一节提到GPS天线的前置放大器,也叫LNA,如果GPS功能已经打开,但是搜星效果较差,可以检查GPS的天线使能脚是否拉高(因为发射功率的问题,GPS天线对GPS搜星效果影响很大)。GPS使能脚对应的GPIO口可以在硬件原理图中找到。在原理图GPS部分找到EXT_GPS_LNA_EN:
在到主板图上面找到EXT_GPS_LNA_EN所对应的GPIO口,在这里为96:
确认了使能脚后进入modem侧的函数cgps_ext.c中查看是否已经把GPIO96拉高,否则需要进行修改。这种问题只会在平台的第一个项目发生,所以在第一个项目的时候一定要做此修改。\modem_proc\gps\gnss\mgp\me\gen8\src\cgps_ext.c
如果没有LNA则此处修改无效,要具体看硬件原理图的GPS天线使能引脚,自己添加驱动拉高相应的GPIO。
NMEA-0183协议是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。现在已经成为GPS导航设备统一的RTCM(Radio Technical Commission for Maritime services)标准协议。NMEA-0183协议是目GNSS接收机上使用最广泛的协议,大多数常见的GNSS接收机、GNSS数据处理软件、导航软件都遵守或者至少兼容这个协议。NMEA-0183协议定义的语句非常多,常用的兼容性最广的语句有 X X G G A 、 XXGGA、 XXGGA、XXGSA、 X X G S V 、 XXGSV、 XXGSV、XXRMC、$XXVTG等。 随着各种卫星系统增多,每种报文的报头不一样,如GPS的报文头为GP,GLONASS的报文为GL,中国北斗卫星导航(BDS)的报文头为BD,对于多系统联合定位(双星或者多星)的头为GN。
协议格式:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*hh
协议格式:
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>*hh
GPGSA(当前卫星信息)
协议格式:
$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>*hh
协议格式:
$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,…,<4>,<5>,<6>,<7>*hh
协议格式:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh
协议格式:
$GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*hh
XTRA(eXTended Receiver Assistance)是高通提供的一种GPS增强功能,类似于AGPS功能,在GPS没有搜到卫星之前,先利用网络下载星历数据,然后通过数据可以很快找到可用的卫星,从而提高搜星的速度。
Xtra功能的设置:
对XTRA和AGPS的设置,NV4627、4628和4631分别对应着XTRA的功能开关、下载时能开关和下载时间间隔设置,而在AP侧同样必须进行相应的设置才能使得XTRA正常工作,需要支持 GLONASS 的话必须设置为XTRA 2.0;对于AGPS,在modem侧需要设置,NV4707=1、1920=7和3758,AP侧需要配置SUPL服务地址,需要兼容 GLONASS 同样需要设置为XTRA2.0.
/hardware/qcom/gps/etc/gps.conf
从XTRA_SERVER下载星历信息的过程参考GpsXtraDownloader.java
/framework/base/services/core/java/com/android/server/locaion/GpsXtraDownloader.java
AGPS(Assisted GPS)辅助全球卫星定位系统是结合GSM或GPRS与传统卫星定位,利用基站发送辅助卫星信息以缩减GPS芯片获取卫星信号的延迟时间。与纯GPS、基站三角定位比较,AGPS能提供范围更广、更省电、速度更快的定位服务。理想误差范围在10公尺以内,日本和美国都已经成熟运用AGPS于LBS服务(Location Based Service)基于位置的服务。AGPS技术是一种结合了网络基站信息和GPS信息对移动台进行定位的技术,可以在GSM/GPRS、WCDMA和CDMA2000网络中进行使用。该技术需要在手机内增加GPS接收机模块并改造手机的天线,同时要在移动网络上加建位置服务器、差分GPS基准站等设备。AGPS解决方案的优势主要体现在其定位精度上在室外等空旷地区其精度在正常的GPS工作环境下可以达到10米左右,堪称目前定位精度最高的一种定位技术。该技术的另一优点为首次捕获GPS信号的时间一般仅需几秒,不像GPS的首次捕获时间可能要2-3分钟。
AGPS是基于GPS的,在没有GPS的情况下,AGPS是没意义的。也就是说,要想使用AGPS必须有GPS模块。为什么AGPS定位快?因为AGPS帮助GPS定位解决了一个速度上非常关键的问题——寻找卫星。怎么解决的呢?每个基站都需要GPS来同步,所以每个基站上都有GPS,基站上有卫星所在位置的信息。通过AGPS,GPS模块可以直接从基站得到卫星的所在位置,就能通过卫星的数据来定位了。所以AGPS只不过是GPS技术的一种补充而已。
为什么手机只用GPS定位慢?因为手机GPS天线小,而且发射功率有限,手机的GPS模块要找到卫星需要很长时间,特别是第一次冷启动GPS的时候。模块设备连接GPS天线(蘑菇头)能够加速定位。
使用EFS Explorer连接手机/模块,打开CGPS_PE目录,查看是否有如下文件: