传感器系列之4.12GPS定位传感器

4.12 GPS定位实验

一、实验目的

  1. 了解GPS的基本概念
  2. 了解NMEA-0183格式数据串的组成和关于GPS的常用语句
  3. GPS的数据串解析

二、实验材料

  1. 具有串口通讯的电脑一台
  2. ADS1.2开发环境
  3. J-Link-ARM仿真器一个
  4. NXP LPC2378实验节点板1个
  5. GPS模块一个
  6. LCD显示实验板1个

三、实验原理

  GPS定位实验环境由PC机(安装有Windows XP操作系统、ADS1.2集成开发环境和J-Link-ARM-V410i仿真器)、J-Link-ARM仿真器、NXP LPC2378实验节点板、直GPS定位实验模块和LCD显示实验模块组成,如图4.12.1所示。

图4.12.1 传感器实验环境

1.GPS简介

  GPS是英文Global Positioning System(全球定位系统)的简称。GPS起始于1958年美国军方的一个项目,1964年投入使用。20世纪70年代,美国陆海空三军联合研制了新一代卫星定位系统GPS 。主要目的是为陆海空三大领域提供实时、全天候和全球性的导航服务,并用于情报搜集、核爆监测和应急通讯等一些军事目的,经过20余年的研究实验,耗资300亿美元,到1994年,全球覆盖率高达98%的24颗GPS卫星星座己布设完成。

  GPS的前身是美国军方研制的一种子午仪卫星定位系统(Transit),1958年研制,1964年正式投入使用。该系统用5到6颗卫星组成的星网工作,每天最多绕过地球13次,并且无法给出高度信息,在定位精度方面也不尽如人意。然而,子午仪系统使得研发部门对卫星定位取得了初步的经验,并验证了由卫星系统进行定位的可行性,为GPS的研制埋下了铺垫。由于卫星定位显示出在导航方面的巨大优越性及子午仪系统存在对潜艇和舰船导航方面的巨大缺陷。美国海陆空三军及民用部门都感到迫切需要一种新的卫星导航系统。

  为此,美国海军研究实验室(NRL)提出了名为Tinmation的用12到18颗卫星组成10000km高度的全球定位网计划,并于67年、69年和74年各发射了一颗试验卫星,在这些卫星上初步试验了原子钟计时系统,这是GPS精确定位的基础。而美国空军则提出了621-B的以每星群4到5颗卫星组成3至4个星群的计划,这些卫星中除1颗采用同步轨道外其余的都使用周期为24h的倾斜轨道,该计划以伪随机码(PRN)为基础传播卫星测距信号,其强大的功能,当信号密度低于环境噪声的1%时也能将其检测出来。伪随机码的成功运用是GPS得以取得成功的一个重要基础。海军的计划主要用于为舰船提供低动态的2维定位,空军的计划能供提供高动态服务,然而系统过于复杂。由于同时研制两个系统会造成巨大的费用而且这里两个计划都是为了提供全球定位而设计的,所以1973年美国国防部将2者合二为一,并由国防部牵头的卫星导航定位联合计划局(JPO)领导,还将办事机构设立在洛杉矶的空军航天处。该机构成员众多,包括美国陆军、海军、海军陆战队、交通部、国防制图局、北约和澳大利亚的代表。

  最初的GPS计划在美国联合计划局的领导下诞生了,该方案将24颗卫星放置在互成120度的三个轨道上。每个轨道上有8颗卫星,地球上任何一点均能观测到6至9颗卫星。这样,粗码精度可达100m,精码精度为10m。由于预算压缩,GPS计划不得不减少卫星发射数量,改为将18颗卫星分布在互成60度的6个轨道上,然而这一方案使得卫星可靠性得不到保障。1988年又进行了最后一次修改:21颗工作星和3颗备用星工作在互成60度的6条轨道上。这也是GPS卫星所使用的工作方式。

  GPS导航系统是以全球24颗定位人造卫星为基础,向全球各地全天候地提供三维位置、三维速度等信息的一种无线电导航定位系统。它由三部分构成,一是地面控制部分,由主控站、地面天线、监测站及通讯辅助系统组成。二是空间部分,由24颗卫星组成,分布在6个轨道平面。三是用户装置部分,由GPS接收机和卫星天线组成。民用的定位精度可达10米内。

2.GPS系统的组成

2.1空间部分

  GPS的空间部分是由24颗卫星组成(21颗工作卫星;3颗备用卫星),它位于距地表20200km的上空,运行周期为12h。卫星均匀分布在6个轨道面上(每个轨道面4颗),轨道倾角为55°。卫星的分布使得在全球任何地方、任何时间都可观测到4 颗以上的卫星,并能在卫星中预存导航信息,GPS的卫星因为大气摩擦等问题,随着时间的推移,导航精度会逐渐降低。

2.2地面控制系统

  地面控制系统由监测站(Monitor Station)、主控制站(Master Monitor Station)、地面天线(Ground Antenna)所组成,主控制站位于美国科罗拉多州春田市(Colorado. Springfield)。地面控制站负责收集由卫星传回之讯息,并计算卫星星历、相对距离,大气校正等数据。

图4.12.2GSP卫星系统

图4.12.3GPS卫星

2.3用户设备部分

  用户设备部分即GPS信号接收机。其主要功能是能够捕获到按一定卫星截止角所选择的待测卫星,并跟踪这些卫星的运行。当接收机捕获到跟踪的卫星信号后,就可测量出接收天线至卫星的伪距离和距离的变化率,解调出卫星轨道参数等数据。根据这些数据,接收机中的微处理计算机就可按定位解算方法进行定位计算,计算出用户所在地理位置的经纬度、高度、速度、时间等信息。接收机硬件和机内软件以及GPS 数据的后处理软件包构成完整的GPS 用户设备。GPS接收机的结构分为天线单元和接收单元两部分。接收机一般采用机内和机外两种直流电源。设置机内电源的目的在于更换外电源时不中断连续观测。在用机外电源时机内电池自动充电。关机后机内电池为RAM存储器供电,以防止数据丢失。各种类型的接受机体积越来越小,重量越来越轻,便于野外观测使用。其次则为使用者接收器,现有单频与双频两种,但由于价格因素,一般使用者所购买的多为单频接收器。

图4.12.4 GSP客户终端

3.GPS工作原理

  GPS导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过记录卫星信号传播到用户所经历的时间,再将其乘以光速得到(由于大气层电离层的干扰,这一距离并不是用户与卫星之间的真实距离,而是伪距(PR):当GPS卫星正常工作时,会不断地用1和0二进制码元组成的伪随机码(简称伪码)发射导航电文。GPS系统使用的伪码一共有两种,分别是民用的C/A码和军用的P(Y)码。C/A码频率1.023MHz,重复周期一毫秒,码间距1微秒,相当300m;P码频率10.23MHz,重复周期266.4天,码间距0.1微秒,相当于30m。而Y码是在P码的基础上形成的,保密性能更佳。导航电文包括卫星星历、工作状况、时钟改正、电离层时延修正、大气折射修正等信息。它是从卫星信号中解调制出来,以50b/s调制在载频上发射的。导航电文每个主帧中包含5个子帧每帧长6s。前三帧各10个字码;每三十秒重复一次,每小时更新一次。后两帧共15000b。导航电文中的内容主要有遥测码、转换码、第1、2、3数据块,其中最重要的则为星历数据。当用户接受到导航电文时,提取出卫星时间并将其与自己的时钟做对比便可得知卫星与用户的距离,再利用导航电文中的卫星星历数据推算出卫星发射电文时所处位置,用户在WGS-84大地坐标系中的位置速度等信息便可得知。

图4.12.5 大地坐标及计算方法

  可见GPS导航系统卫星部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x、y、z外,还要引进一个Δt即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。

  GPS接收机可接收到可用于授时的准确至纳秒级的时间信息;用于预报未来几个月内卫星所处概略位置的预报星历;用于计算定位时所需卫星坐标的广播星历,精度为几米至几十米(各个卫星不同,随时变化);以及GPS系统信息,如卫星状况等。

  GPS接收机对码的量测就可得到卫星到接收机的距离,由于含有接收机卫星钟的误差及大气传播误差,故称为伪距。对 CA码测得的伪距称为CA码伪距,精度约为20米左右,对P码测得的伪距称为P码伪距,精度约为2米左右。

  GPS接收机对收到的卫星信号,进行解码或采用其它技术,将调制在载波上的信息去掉后,就可以恢复载波。严格而言,载波相位应被称为载波拍频相位,它是收到的受多普勒频 移影响的卫星信号载波相位与接收机本机振荡产生信号相位之差。一般在接收机钟确定的历元时刻量测,保持对卫星信号的跟踪,就可记录下相位的变化值,但开始观测时的接收机和卫星振荡器的相位初值是不知道的,起始历元的相位整数也是不知道的,即整周模糊度,只能在数据处理中作为参数解算。相位观测值的精度高至毫米,但前提是解出整周模糊度,因此只有在相对定位、并有一段连续观测值时才能使用相位观测值,而要达到优于米级的定位 精度也只能采用相位观测值。

  按定位方式,GPS定位分为单点定位和相对定位(差分定位)。单点定位就是根据一台接收机的观测数据来确定接收机位置的方式,它只能采用伪距观测量,可用于车船等的概略导航定位。相对定位(差分定位)是根据两台以上接收机的观测数据来确定观测点之间的相对位置的方法,它既可采用伪距观测量也可采用相位观测量,大地测量或工程测量均应采用相位观测值进行相对定位。

  在GPS观测量中包含了卫星和接收机的钟差、大气传播延迟、多路径效应等误差,在定位计算时还要受到卫星广播星历误差的影响,在进行相对定位时大部分公共误差被抵消或削弱,因此定位精度将大大提高,双频接收机可以根据两个频率的观测量抵消大气中电离层误差的主要部分,在精度要求高,接收机间距离较远时(大气有明显差别),应选用双频接收机。

4.NMEA-0183标准

NMEA-0183是美国国家海洋电子协会(National Marine Electronics Association)为统一海洋导航规范而制定的标准,该格式标准已经成为国际通用的一种格式,协议的内容在兼容NMEA-0180NMEA-0182的基础上,增加了GPS、测深仪、罗经方位系统等多种设备接口和通讯协议定义,同时还允许一些特定厂商对其设备通信自定协议(例,Garmin GPSDeso 20等)。

MEA-0183格式数据串的所有数据都采用SASCII文本字符表示,数据传输以$开头,后面是语句头。语句头由五个字母组成,分两部分,前两个字母表示系统ID,即表示该语句是属于何种系统或设备,后三个字母表示语句ID,表示该语句是关于何方面的数据。 语句头后是数据体,包含不同的数据体字段,语句末尾为校验码(可选),以回车换行符<CR><LF>结束,也就是ACSII字符回车(十六进制的0D)和“换行”(十六进制的0A)。 每行语句最多包含82个字符(包括回车换行符和$符号)。

数据字段以逗号分隔识别,空字段保留逗号。以GPSGPRMC语句为例:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF> 。 

其中GP表示该语句是GPS定位系统的,RMC表示该语句输出的是GPS定位信息,后面是数据体。最后校验码*hh是用做校验的数据。

4.1NMEA-0183协议语句

常用NMEA-0183协议中的GPS语句如下表所示

表4.12.1 NMEA-0183协议语句

语句
$GPZDA,194633.656,18,03,2008,00,00*59
$GPGGA,194633.656,3150.300000,N,12001.433333,E,1,4,3,2,M,1,M,,*48
$GPGLL,3150.300000,N,12001.433333,E,194633.656,A,A*57
$GPVTG,0,T,0,M,1.62,N,3.00166759310728,K,A*20
$GPRMC,194633.656,A,3150.300000,N,12001.433333,E,1.62,0,180308,0,E,A*3C
$GPGSA,A,3,1,2,3,4,,,,,,,,,2,3,2*2B
$GPGSV,1,1,4,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0*49
$GPWPL,3153.007167,N,12016.008833,E,TEST*5A
$GPRTE,1,1,C,0,TEST*1D

  GPS固定数据输出语句($GPGGA),这是一帧GPS定位的主要数据,也是使用最广的数据。$GPGGA语句包括17个字段:语句标识头+世界时间+纬度+纬度半球+经度+经度半球+定位质量指示+使用卫星数量+水平精确度+海拔高度+高度单位+大地水准面高度+高度单位+差分GPS数据期限+差分参考基站标号+校验和结束标记(用回车符 <CR>和换行符 <LF>),分别用14个逗号进行分隔。该数据帧的结构及各字段释义如下:

$GPGGA, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>,M, <10>,M, <11>, <12>*xx <CR> <LF>

$GPGGA:起始引导符及语句格式说明(本句为GPS定位数据)
UTC(世界时间):时间格式为hhmmss.sss
纬度格式为:ddmm.mmmm(第一位是零也将传送)
纬度半球:N或S(北纬或南纬)
经度格式为:dddmm.mmmm(第一位零也将传送)
经度半球:E或W(东经或西经)
GPS状态:0=未定位、1=非差分定位、2=差分定位、6=正在估算定位 质量指示0=定位无效、1=定位有效
正在使用解算位置的卫星数量从00到12(第一个零也将传送)
HDOP水平精度因子、水平精确度0.5到99.9
天线离海平面的高度-9999.9到9999.9米
高度单位。M:指单位米
地球椭球面相对大地水准面的高度,大地水准面高度-9999.9到9999.9米
高度单位。M:指单位米
差分时间:从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空,差分GPS数据期限(RTCM SC-104)最后设立RTCM传送的秒数量
差分参考基站ID标号从0000到1023(首位0也将传送),如果不是差分定位将为空。
*语句结束标志符xx从$开始到*之间的所有ASCII码的异或校验和<CR>回车、<LF>换行

4.2GSA当前卫星信息

$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>
模式:M = 手动、A = 自动。
定位型式:1 = 未定位、2 = 二维定位、3 = 三维定位。
PRN :数字01至32表天空使用中的卫星编号最多可接收12颗卫星信息。
PDOP位置精度因子:0.5~99.9
HDOP水平精度因子:0.5~99.9
VDOP垂直精度因子:0.5~99.9
Checksum(检查位)

4.3GSV可见卫星信息

$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8>
GSV语句的总数
本句GSV的编号
可见卫星的总数:00至12
卫星编号:01至32
卫星仰角:00至90度
卫星方位角:000至359度的实际值
讯号噪声比C/No:00 至 99 dB。无表未接收到讯号
Checksum(检查位)。

  第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现。若未使用,这些字段会空白。

4.4GGA GPS定位信息

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh
UTC时间:hhmmss时分秒格式
纬度:ddmm.mmmm度分格式。前面的0也将被传输
纬度半球:N北半球或S南半球
经度:dddmm.mmmm度分格式。前面的0也将被传输
经度半球:E东经或W西经

4.5RMC推荐定位信息

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
UTC时间:hhmmss时分秒格式
定位状态:A=有效定位、V=无效定位
纬度:ddmm.mmmm度分格式。前面的0也将被传输
纬度半球:N北半球或S南半球
经度:dddmm.mmmm度分格式。前面的0也将被传输
经度半球:E东经或W西经
地面速率:000.0~999.9节前面的0也将被传输
地面航向:000.0~359.9度以真北为参考基准前面的0也将被传输
UTC日期:ddmmyy,日月年格式
磁偏角:000.0~180.0度。前面的0也将被传输
磁偏角方向:E东或W西
模式指示:仅NMEA0183 3.00版本输出A=自主定位、D=差分、E=估算、

4.6VTG地面速度信息

$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh
以真北为参考基准的地面航向000~359度前面的0也将被传输
以磁北为参考基准的地面航向000~359度前面的0也将被传输
地面速率:000.0~999.9节。前面的0也将被传输
地面速率:0000.0~1851.8公里/小时。前面的0也将被传输
模式指示:仅NMEA0183 3.00版本输出A=自主定位、D=差分、E=估算、

N=数据无效。

5.GPS的特点

1) 全球全天候定位

  GPS卫星的数目较多,且分布均匀,保证了地球上任何地方任何时间至少可以同时观测到4颗GPS卫星,确保实现全球全天候连续的导航定位服务(除打雷闪电不宜观测外)。

  

2) 定位精度高

  应用实践已经证明,GPS相对定位精度在50km以内可达10-6m,100-500km可达10-7m,1000km可达10-9m。在300-1500m工程精密定位中,1小时以上观测时解其平面位置误差小于1mm,与ME-5000电磁波测距仪测定的边长比较,其边长较差最大为0.5mm,校差中误差为0.3mm。

实时单点定位(用于导航):P码1~2m ;C/A码5~10m。

静态相对定位:50km之内误差为几mm+(1~2ppm*D);50km以上可达0.1~0.01ppm。

实时伪距差分(RTD):精度达分米级。

实时相位差分(RTK):精度达1~2cm。

3) 观测时间短

  随着GPS系统的不断完善,软件的不断更新,20km以内相对静态定位,仅需15-20分钟;快速静态相对定位测量时,当每个流动站与基准站相距在15KM以内时,流动站观测时间只需1-2分钟;采取实时动态定位模式时,每站观测仅需几秒钟。

因而使用GPS技术建立控制网,可以大大提高作业效率。

4) 测站间无需通视

  GPS测量只要求测站上空开阔,不要求测站之间互相通视,因而不再需要建造觇标。这一优点既可大大减少测量工作的经费和时间(一般造标费用约占总经费的30%~50%),同时也使选点工作变得非常灵活,也可省去经典测量中的传算点、过渡点的测量工作。

5) 仪器操作简便

  随着GPS接收机的不断改进,GPS测量的自动化程度越来越高,有的已趋于“傻瓜化”。在观测中测量员只需安置仪器,连接电缆线,量取天线高,监视仪器的工作状态,而其它观测工作,如卫星的捕获,跟踪观测和记录等均由仪器自动完成。结束测量时,仅需关闭电源,收好接收机,便完成了野外数据采集任务。

如果在一个测站上需作长时间的连续观测,还可以通过数据通讯方式,将所采集的数据传送到数据处理中心,实现全自动化的数据采集与处理。另外,接收机体积也越来越小,相应的重量也越来越轻,极大地减轻了测量工作者的劳动强度。

6) 可提供全球统一的三维地心坐标

  GPS测量可同时精确测定测站平面位置和大地高程。GPS水准可满足四等水准测量的精度,另外,GPS定位是在全球统一的WGS-84坐标系统中计算的,因此全球不同地点的测量成果是相互关联的。

7) 应用广泛

6.GPS的应用

6.1道路工程中的应用

  GPS在道路工程中的应用,主要是用于建立各种道路工程控制网及测定航测外控点等。随着高等级公路的迅速发展,对勘测技术提出了更高的要求,由于线路长,以知点少,因此,用常规测量手段不仅布网困难,而且难以满足高精度的要求。中国已逐步采用GPS技术建立线路首级高精度控制网,然后用常规方法布设导线加密。实践证明,在几十公里范围内的点位误差只有2厘米左右,达到了常规方法难以实现的精度,同时也大大提前了工期。GPS技术也同样应用于特大桥梁的控制测量中。由于无需通视,可构成较强的网形,提高点位精度,同时对检测常规测量的支点也非常有效。GPS技术在隧道测量中也具有广泛的应用前景,GPS测量无需通视,减少了常规方法的中间环节,因此,速度快、精度高,具有明显的经济和社会效益。

6.2巡更应用

  GPS运用到电子巡更里的优势是如果一个比较长比较远的巡检线路,不需要安装巡检点,直接从卫星上取得坐标信号,主要适用于长距离巡更巡检如电信、森林防火、石化油气管道勘查等。澳普门禁的左光智介绍:“但是GPS容易受环境的影响,比如因为阴天的森林天上有云、电离层都会对卫星信号产生影响甚至有可能定位不到。”加上GPS耗电量大,成本高;最大的局限性是GPS不能在封闭的空间内比如大楼里面使用,而巡更产品大部分是用于室内的。

  

6.3汽车导航和交通管理中的应用

6.3.1车辆跟踪。

  利用GPS和电子地图可以实时显示出车辆的实际位置,并可任意放大、缩小、还原、换图;可以随目标移动,使目标始终保持在屏幕上;还可实现多窗口、多车辆、多屏幕同时跟踪。利用该功能可对重要车辆和货物进行跟踪运输。

6.3.2提供出行路线规划和导航。

  提供出行路线规划是汽车导航系统的一项重要的辅助功能,它包括自动线路规划和人工线路设计。自动线路规划是由驾驶者确定起点和目的地,由计算机软件按要求自动设计最佳行驶路线,包括最快的路线、最简单的路线、通过高速公路路段次数最少的路线的计算。人工线路设计是由驾驶员根据自己的目的地设计起点、终点和途经点等,自动建立路线库。线路规划完毕后,显示器能够在电子地图上显示设计路线,并同时显示汽车运行路径和运行方法。

6.3.3信息查询。

  为用户提供主要物标、如旅游景点、宾馆、医院等数据库,用户能够在电子地图上显示其位置。同时,监测中心可以利用监测控制台对区域内的任意目标所在位置进行查询,车辆信息将以数字形式在控制中心的电子地图上显示出来。

6.3.4话务指挥。

  指挥中心可以监测区域内车辆运行状况,对被监控车辆进行合理调度。指挥中心也可随时与被跟踪目标通话,实行管理。

6.3.5紧急援助。

  通过GPS定位和监控管理系统可以对遇有险情或发生事故的车辆进行紧急援助。监控台的电子地图显示求助信息和报警目标,规划最优援助方案,并以报警声光提醒值班人员进行应急处理。

6.4其它应用

  GPS除了用于导航、定位、测量外,由于GPS系统的空间卫星上载有的精确时钟可以发布时间和频率信息,因此,以空间卫星上的精确时钟为基础,在地面监测站的监控下,传送精确时间和频率是GPS的另一重要应用,应用该功能可进行精确时间或频率的控制,可为许多工程实验服务。此外,据国外资料显示,还可利用GPS获得气象数据,为某些实验和工程应用。

7.GPS系统的分类
GPS卫星接收机种类很多,根据型号分为测地型、全站型、定时型、手持型、集成型;根据用途分为车载式、船载式、机载式、星载式、弹载式。

7.1按接收机的用途分类

7.1.1导航型接收机

  此类型接收机主要用于运动载体的导航,它可以实时给出载体的位置和速度。这类接收机一般采用C/A码伪距测量,单点实时定位精度较低,一般为±10m,有SA影响时为±100m。这类接收机价格便宜,应用广泛。根据应用领域的不同,

分类及应用
车载型——用于车辆导航定位;
航海型——用于船舶导航定位;
航空型——用于飞机导航定位。由于飞机运行速度快,因此,在航空上用的接收机要求能适应高速运动。
星载型——用于卫星的导航定位。由于卫星的速度高达7km/s以上,因此对接收机的要求更高。

7.1.2测地型接收机

  测地型接收机主要用于精密大地测量和精密工程测量。这类仪器主要采用载波相位观测值进行相对定位,定位精度高。仪器结构复杂,价格较贵。

7.1.3授时型接收机

  这类接收机主要利用GPS卫星提供的高精度时间标准进行授时,常用于天文台及无线电通讯中时间同步。

7.2按接收机的载波频率分类

7.2.1单频接收机

  单频接收机只能接收L1载波信号,测定载波相位观测值进行定位。由于不能有效消除电离层延迟影响,单频接收机只适用于短基线(<15km)的精密定位。

7.2.2双频接收机

  双频接收机可以同时接收L1,L2载波信号。利用双频对电离层延迟的不一样,可以消除电离层对电磁波信号的延迟的影响,因此双频接收机可用于长达几千公里的精密定位。

7.3按接收机通道数分类

  GPS接收机能同时接收多颗GPS卫星的信号,为了分离接收到的不同卫星的信号,以实现对卫星信号的跟踪、处理和量测,具有这样功能的器件称为天线信号通道。根据接收机所具有的通道种类可分为:

通道种类分类
多通道接收机
序贯通道接收机
多路多用通道接收机

7.4按接收机工作原理分类

7.4.1码相关型接收机

  码相关型接收机是利用码相关技术得到伪距观测值。

7.4.2平方型接收机

  平方型接收机是利用载波信号的平方技术去掉调制信号,来恢复完整的载波信号,通过相位计测定接收机内产生的载波信号与接收到的载波信号之间的相位差,测定伪距观测值。

7.4.3混合型接收机

  这种仪器是综合上述两种接收机的优点,既可以得到码相位伪距,也可以得到载波相位观测值。

7.4.4干涉型接收机

  这种接收机是将GPS卫星作为射电源,采用干涉测量方法,测定两个测站间距离。

经过20余年的实践证明,GPS系统是一个高精度、全天候和全球性的无线电导航、定位和定时的多功能系统。GPS技术已经发展成为多领域、多模式、多用途、多机型的国际性高新技术产业。

7.5类似车载GPS

  类似车载GPS终端的还有定位手机、个人定位器等。GPS卫星定位由于要通过第三方定位服务,所以要交纳不等的月/年服务费。所有的GPS定位终端,都没有导航功能。因为再需要增加硬件和软件,成本提高。

  

  我们在电视里看到的车载GPS广告,和上述的车载GPS完全是两回事。它是一种GPS导航产品,当需要导航时,首先定位,也就是导航的起点,但是它不能把定位信息传送到第三方和持有人那里,因为导航仪中缺少对外通信。比如你把导航仪放在车里,你朋友把车借开走了,导航仪可以继续使用,继续定位,但是不能发信息给你,你就无法查找车辆位置。学术上的定位只能获取自己的位置。广告中的定位其实是定位追踪,这个需要在完成学术上定位前提下,通过通讯手段把位置告知你。

  

  你说我买的是导航手机该行了吧,你想想,你把导航手机放在车上,车被盗了,那个手机会自己给你或第三方打电话发短信吗?它是需要人来操作的。所以说导航终端都没有定位功能。导航终端可以导航路线,让你在陌生的地方不迷路,划出路线让你到达目的地,告诉你自己当前位置,和周边的设施等等。

  

  各种GPS/GIS/GSM/GPRS车辆监控系统软件、GSM和GPRS移动智能车载终端、系统的二次开发车辆监控系统整体搭建方案.系统广泛应用于公安,医疗,消防,交通,物流等领域。该方案基于NXP的PNX1090 Nexperia移动多媒体处理器硬件和由NXP与合作伙伴ALK Technologies联合开发的软件。NXP声称,该方案提供了设计师搭建一个带导航能力的低成本、多媒体功能丰富的便携式媒体播放器所需的一切,这些多媒体功能包括:MP3播放、标准和高清晰度视频播放和录制、FM收音、图像存储和游戏。NXP以其运行于PNX0190上的swGPS Personal软件来实现GPS计算,从而取代了一个GPS基带处理器,进而降低了材料清单(BOM)成本并支持现场升级。

  

  跟随GPS 的一系列关联的应用都设计到数学和算法,和GIS系统,地图投影,坐标系转换!由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的影响,以及人为的SA保护政策,使得民用GPS的定位精度只有100米。为提高定位精度,普遍采用差分GPS(DGPS)技术,建立基准站(差分台)进行GPS观测,利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,得到一个比较准确的位置。实验表明,利用差分GPS(DGPS),定位精度可提高到5米。

7.6预警器

  GPS预警器是通过GPS卫星在GPS预警器中设定坐标来完成的,比如遇到一个电子眼,然后通过相关设备在电子眼的正下方设立一个坐标,这样,使得装上这个坐标点数据的预警器到达这个点时,在达到坐标点的前300米左右就会开始预警,告诉车主前面有电子眼测速,不能超速驾驶,这样就起到一个预警作用。这样的准确率跟数据点的多少是有关系的,主要就是利用卫星的定位来实现了。这种利用电子眼的经纬度信息进行预警的方式,关键在于电子眼数据的及时更新.这种产品的缺点在于不能测到流动性测速,有些反测速型的GPS导航仪,如凯旋智能预警GPS,配有反测速雷达机系统,GPS预警和反测速雷达机预警,两套系统同时工作,能够全面的实现电子眼预警的功能.

7.7智能系统

  主要由两大部分组成,即;本地的监控中心软件管理平台和远程的GPS智能车载终端。远程的GPS智能车载终端将车辆所处的位置信息、运行速度、运行轨迹等数据传回到监控中心,监控中心接收到这些数据后,会立即进行分析、比对等处理,并将处理结果以正常信息或者报警信息两类形式显示给管理员,由管理员决定是否要对目标车辆采取必要措施。

  

8.Fastrax uP501

  Fastrax UP501 GPS接收模块集成了GPS天线,能在恶劣条件下进行高性能的导航,甚至在低的GPS卫星可见度环境下实现稳定的定位;非常适合的应用有导航系统、资产跟踪设备和电池供电的消费导航产品,如手机、手提电脑、个人导航设备(PND)和运动附件等。由于UP501设计紧凑、接口简单,因此也非常适合G-鼠标领域。

8.1UP501特性

UP501具有如下特点:

  1. 市场领先的性能

    极佳的捕获灵敏度,在无需外置天线的情况下,在恶劣的城市狭缝或高楼林立的地区也能快速定位。可选内置备份电池,让模块在完全断电后重启也能有快速的TTFF(首次定位时间),这样可以实现客户定制和极有效的电源管理,而TTFF不会受到影响。

    客户可以将UP501定位率配置为10Hz,使UP501非常适合高动态的应用。

  2. 低成本

    由于Fastrax UP501接收模块内应用的尖端技术,模块的空间和成本都得以降低,也不需其他外围元件,集成的GPS天线和内置备份电池,让集成GPS功能到客户系统中更加简单。

  3. 快速易用的方案

    只需连接电源和串口数据就能让Fastrax UP501工作,模块也支持专门的控制命令实现外部对模块工作状态的控制。Fastrax UP501模块内置PCB安装法兰和标准的2.54mm I/O 引脚间距,使得安装到主系统中简单可靠。

8.2UP501的应用范围

  • 导航系统
  • 资产跟踪设备
  • 手机
  • 手提电脑
  • 个人导航设备(PND)
  • 运动附件
  • G-Mouse

8.3UP501的性能参数

  • MediaTek MT3329, 66通道接收芯片
  • 小尺寸:22mmx22mmx8mm
  • 集成patch天线:18.4x18.4x4.2mm
  • 低功耗:[email protected]
  • 高灵敏度: -165dBm(导航) -148dBm(冷启动捕获)
  • NMEA 协议(默认9600bps)
  • 一个串口:默认CMOS电平,可选RS232
  • 1PPS 输出
  • 可选内置备份电池
  • 支持WAAS/EGNOS
  • 14天扩展星历AGPS
  • 最高可配置定位率10Hz

8.4 UP501的电路原理

图4.12.6 接线电路图

图4.12.7 电路电路

图4.12.8 振荡器

图4.12.9 IC芯片电路

图4.12.10 复位电路

图4.12.11 实时时钟

图4.12.12 接口电路

图4.12.13实验模块接口电路

9.工作流程及主要函数

9.1工作流程

图4.12.14 工作流程图

9.2主要程序

while(curPos<*strLen)
{
    if(*(pStr+curPos)==‘$‘)
    {//取出单个命令串
        idx=0;
        memset(CmdStr,0,200);
        while(curPos<*strLen && *(pStr+curPos)!=0x0A)
        {
            CmdStr[idx]=*(pStr+curPos);
            idx++;
            curPos++;
        }
        //解析单个命令串
        if(idx>0 && *(pStr+curPos)==0x0A)
        {
            //UART0_SendBuf((uint8 *)CmdStr,idx);
            //usedPos=curPos;
            //从命令字后,第一个,号后开始取数
            idx2=0;
            while(CmdStr[idx2]!=‘,‘)
            {
                idx2++;
            }
            idx2++;
            if(idx2<=1)
            {
                break;
            }
            if(CmdStr[3]==‘G‘ && (CmdStr[4]==‘G‘) && (CmdStr[5]==‘A‘))
            {//GPS定位信息
                for(blockidx=0;blockidx<20;blockidx++)
                {
                    block[blockidx]=0;
                }
                xpos=0;
                ypos=0;
                blocknum=0;
                //直至字串结尾
                while(CmdStr[idx2]!=‘*‘)
                {
                    blockidx=0;
                    while(CmdStr[idx2]!=‘,‘)
                    {
                        block[blockidx++]=CmdStr[idx2++];
                    }
                    switch(blocknum)
                    {
                        case 0://在LCD液晶屏上显示时间
                            DispChnStr(0,40,"时间",2,&xpos,&ypos);
                            DispAscStr(xpos,ypos,":",1,&xpos,&ypos);
                            tmp=((block[0]-‘0‘)*10+(block[1]-‘0‘)+8);
                            //UTC时间+8,获取北京时间
                            block[0]=tmp/10+‘0‘;block[1]=tmp%10+‘0‘;
                            DispAscStr(xpos,ypos,&block[0],2,&xpos,&ypos);
                            DispAscStr(xpos,ypos,":",1,&xpos,&ypos);
                            DispAscStr(xpos,ypos,&block[2],2,&xpos,&ypos);
                            DispAscStr(xpos,ypos,":",1,&xpos,&ypos);
                            DispAscStr(xpos,ypos,&block[4],2,&xpos,&ypos);
                            xpos=0;
                            ypos=0;
                        break;
                        case 1://在LCD液晶屏上显示定位信息
                            DispChnStr(0,56,"定位",2,&xpos,&ypos);
                            DispAscStr(xpos,ypos,":",1,&xpos,&ypos);
                            if(blockidx>0)
                            {
                    DispAscStr(xpos,ypos,&block[0],blockidx,&xpos,&ypos);
                            }
                            DispAscStr(xpos,ypos," ",1,&xpos,&ypos);
                        break;
                        case 2:
                        case 3:
                        case 4:
                            if(blockidx>0)
                            {
                    DispAscStr(xpos,ypos,&block[0],blockidx,&xpos,&ypos);
                            }
                            DispAscStr(xpos,ypos," ",1,&xpos,&ypos);
                        break;
                        default:
                            break;
                        }
                blocknum++;
                idx2++;
                }
            }
            else if((CmdStr[3]==‘G‘)&&(CmdStr[4]==‘S‘)&&(CmdStr[5]==‘A‘))
            {
                //当前卫星信息
            }
            else if((CmdStr[3]==‘G‘)&&(CmdStr[4]==‘S‘)&&(CmdStr[5]==‘V‘))
            {
                //可见卫星信息
            }
            else f((CmdStr[3]==‘R‘)&&(CmdStr[4]==‘M‘)&&(CmdStr[5]==‘C‘))
            {
                //推荐定位信息
            }
            else if((CmdStr[3]==‘Z‘)&&(CmdStr[4]==‘D‘)&&(CmdStr[5]==‘A‘))
            {
                //地面速度信息
            }
        }
    }
    else
    {
        curPos++;
    }
}

四、实验内容

1.实验器材连线

本实验所使用的振动传感器实物图如图4.12.14所示

图4.12.14DHT11模块实物图

将温湿度传感模块安装到开发板上,然后用JLINK仿真器的一端用USB接口与电脑相连,一端的20Pin的JTAG引脚与NXP LPC2378节点板的J2相连,并给NXP LPC2378节点板上电,如图4.12.15所示。

图4.12.15实验电路连接图

2.GPS时间测量
3.GPS测量当前位置
4.当前服务卫星信息
时间: 2024-11-05 22:53:52

传感器系列之4.12GPS定位传感器的相关文章

传感器系列之4.5温湿度传感器

4.5 温湿数据采集实验 一.实验目的 了解智能传感器DHT11的原理与应用 掌握智能传感器DHT11的编程与操作方法 理解微处理器与湿度传感器DHT11之间的通讯 二.实验材料 具有USB 串口通讯的PC 机1 台 ADS1.2 集成开发软件1 套 J-Link-ARM 仿真器及软件1 套 NXP LPC2378 实验节点板1 个 LCD 显示实验板1 个 温湿度传感器模块1个 三.实验原理 振动传感器实验环境由PC机(安装有Windows XP操作系统.ADS1.2集成开发环境和J-Link

传感器系列之4.2气压传感器

4.2 气压传感实验 一.实验目的 掌握LPC2378芯片的编程方法 掌握气压传感器的使用方法 掌握气压传感器在实际中的应用 二.实验材料 具有USB 串口通讯的PC 机1 台 ADS1.2 集成开发软件1 套 J-Link-ARM 仿真器及软件1 套 NXP LPC2378 实验节点板1 个 LCD 显示实验板1 个 BMP085数字气压传感器模块1个 三.实验原理 振动传感器实验环境由PC机(安装有Windows XP操作系统.ADS1.2集成开发环境和J-Link-ARM-V410i仿真器

【Arduino】37种传感器系列实验(4)---振动传感器模块

---恢复内容开始--- 37款传感器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉. 实验四:振动传感器模块 手头这模块的实物照片 核心是sw-18015p(18010p) 高灵敏振动传感器 滚珠开关也叫钢珠开关,珠子开关,其实都是震动开关的一种只是叫法不一样是通过珠子滚动接触

【Arduino】66种传感器系列实验(5)---热敏温度传感器模块

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉. 实验五:热敏电阻温度传感器模块 手头这模块的实物照片 热敏电阻器是敏感元件的一类,按照温度系数不同分为正温度系数热敏电阻器(PTC)和负温度系数热敏电阻器(NTC).热敏电阻器的典型特点是对温度敏感,不同的温

iOS 9适配系列教程:后台定位

http://www.cocoachina.com/ios/20150624/12200.html Demo:GitHub地址 [iOS9在定位的问题上,有一个坏消息一个好消息]坏消息:如果不适配iOS9,就不能偷偷在后台定位(不带蓝条,见图)!好消息:将允许出现这种场景:同一App中的多个location manager:一些只能在前台定位,另一些可在后台定位,并可随时开启或者关闭特定location manager的后台定位. 如果没有请求后台定位的权限,也是可以在后台定位的,不过会带蓝条:

VR设备介绍

对于很多没有体验过现实增强,甚至虚拟现实眼镜产品的童鞋而言,这东西究竟应该怎么理解,硬件配置如何,用了什么操作系统,相比市面上的其他眼镜产品有何不同,这是个值得一说的问题.今天,我们先带大家一起领略下,各品牌研发的VR虚拟与现实设备吧. 首先我们科普下什么是虚拟设备 简单来说虚拟设备包括虚拟眼镜,虚拟头盔等.它们简称为VR(Virtual Reality虚拟现实).通过人机交互,语言,动作,口令进入到虚拟现实世界.可以在虚拟世界中实现:再生旅游,医疗学习,经营房产,游戏,生物,科学等一切人文有关

Android 百度地图 SDK v3.0.0 (二) 定位与结合方向传感器

在上一篇博客中,我们成功把地图导入了我们的项目.本篇我们准备为地图添加:第一,定位功能:第二,与方向传感器结合,通过旋转手机进行道路的方向确认.有了这两个功能,地图已经可以为我服务了~~~~ 效果图: 好了,可以代码,为了方便,我把所有的按钮都放到了menu菜单中. 1.初次启动定位 [java] view plaincopy /** * 定位的客户端 */ private LocationClient mLocationClient; /** * 定位的监听器 */ public MyLoca

浅谈百度地图的简单开发之结合方向传感器实现定位功能(三)

  今天我们来谈下百度地图的定位功能.在此之前我已经将百度地图的基本地图大概说了下,事实上百度地图的基本功能还有非常多的内容. 感兴趣的能够到百度地图的开发人员的官网看看.今天就開始来讲下百度地图中的定位功能. 今天所讲的百度地图所涉及的内容主要有:基本定位的实现.自己定义定位图标.结合方向传感器定位,选择定位中的几种模式(罗盘模式,普通模式,尾随模式). 一.基本定位的实现: 所谓定位无非就是获取到一个地方所处地球的经纬度坐标.这个反映到地图中就是一个点.可是怎么去实现一个定位呢?? 首先,须

智能手机上的常用传感器

Android操作系统11种传感器介绍 在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用. #define SENSOR_TYPE_ACCELEROMETER 1 //加速度 #define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力 #define SENSOR_TYPE_ORIENTATION 3 //方向 #define SENSOR_TYPE_GYROSCOPE 4 //陀螺仪 #define SENSOR_TYPE