GPS定位过程

来源:互联网 发布:怎么查ftp的端口号 编辑:程序博客网 时间:2024/06/05 15:44
 
 
GPS模块通过MMCX天线不断接收GPS定位卫星发送的导航电文,通过GPS模块(单片机)进行处理,并且输出串口TTL电平信号与主AP进行通讯,传输NMEA-0183格式的信息流,主CPU通过处理NMEA-0183格式的定位信息、当前卫星信息、地面数度信息、等卫星信息,按照一定的公式进行计算(公式很复杂,没有进行深入分析),经过应用逻辑处理,返回给用户显示
 
相关技术信息,见以下内容。请知悉!
 
以下内容为收集总结GPS相关信息内容!
 
 
GPS导航系统是以全球24颗定位人造卫星为基础,向全球各地全天候地提供三维位置、三维速度等信息的一种无线电导航定位系统。它由三部分构成,一是地面控制部分,由主控站、地面天线、监测站及通讯辅助系统组成。二是空间部分,由24颗卫星组成(实际上是21颗使用,3颗备用),分布在6个轨道平面。三是用户装置部分,由GPS接收机和卫星天线组成。民用的定位精度可达10米内。
 
基本原理
 
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大地坐标系中的位置速度等信息便可得知。
 
可见GPS导航系统卫星部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x、y、z外,还要引进一个Δt即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。
GPS接收机可接收到可用于授时的准确至纳秒级的时间信息;用于预报未来几个月内卫星所处概略位置的预报星历;用于计算定位时所需卫星坐标的广播星历,精度为几米至几十米(各个卫星不同,随时变化);以及GPS系统信息,如卫星状况等。
GPS接收机对码的量测就可得到卫星到接收机的距离,由于含有接收机卫星钟的误差及大气传播误差,故称为伪距。对0A码测得的伪距称为UA码伪距,精度约为20米左右,对P码测得的伪距称为P码伪距,精度约为2米左右。
GPS接收机对收到的卫星信号,进行解码或采用其它技术,将调制在载波上的信息去掉后,就可以恢复载波。严格而言,载波相位应被称为载波拍频相位,它是收到的受多普勒频 移影响的卫星信号载波相位与接收机本机振荡产生信号相位之差。一般在接收机钟确定的历元时刻量测,保持对卫星信号的跟踪,就可记录下相位的变化值,但开始观测时的接收机和卫星振荡器的相位初值是不知道的,起始历元的相位整数也是不知道的,即整周模糊度,只能在数据处理中作为参数解算。相位观测值的精度高至毫米,但前提是解出整周模糊度,因此只有在相对定位、并有一段连续观测值时才能使用相位观测值,而要达到优于米级的定位 精度也只能采用相位观测值。
按定位方式,GPS定位分为单点定位和相对定位(差分定位)。单点定位就是根据一台接收机的观测数据来确定接收机位置的方式,它只能采用伪距观测量,可用于车船等的概略导航定位。相对定位(差分定位)是根据两台以上接收机的观测数据来确定观测点之间的相对位置的方法,它既可采用伪距观测量也可采用相位观测量,大地测量或工程测量均应采用相位观测值进行相对定位。
在GPS观测量中包含了卫星和接收机的钟差、大气传播延迟、多路径效应等误差,在定位计算时还要受到卫星广播星历误差的影响,在进行相对定位时大部分公共误差被抵消或削弱,因此定位精度将大大提高,双频接收机可以根据两个频率的观测量抵消大气中电离层误差的主要部分,在精度要求高,接收机间距离较远时(大气有明显差别),应选用双频接收机。
 

构成

空间部分
GPS定位系统的空间部分是由24颗GPS工作卫星所组成,这些GPS工作卫星共同组成了GPS卫星星座,其中21颗为可用于导航的卫星,3颗为活动的备用卫星。这24颗卫星分布在6个倾角为55°的轨道上绕地球运行。卫星的运行周期约为12恒星时。每颗GPS工作卫星都发出用于导航定位的信号。GPS用户正是利用这些信号来进行工作的。可见,GPS定位系统卫星部分的作用就是不断地发射导航电文。
控制部分
GPS定位系统的控制部分由分布在全球的由若干个跟踪站所组成的监控系统所构成,根据其作用的不同,这些跟踪站又被分为主控站、监控站和注入站。主控站的作用是根据各监控站对GPS的观测数据,计算出卫星的星历和卫星钟的改正参数等,并将这些数据通过注入站注入到卫星中去;同时,它还对卫星进行控制,向卫星发布指令,当工作卫星出现故障时,调度备用卫星,替代失效的工作卫星工作;另外,主控站也具有监控站的功能。注入站的作用是将主控站计算出的卫星星历和卫星钟的改正数等注入到卫星中去。
用户部分
GPS定位系统的用户部分由GPS接收机、数据处理软件及相应的用户设备如计算机气象仪器等所组成。它的作用是接收GPS卫星所发出的信号,利用这些信号进行导航定位等工作。
以上这三个部分共同组成了一个完整的GPS定位系统。

特点

GPS定位系统具有性能好、精度高、应用广的特点,是迄今最好的导航定位系统。随着全球定位系统的不断改进,硬、软件的不断完善,应用领域正在不断地开拓,已遍及国民经济各种部门,并开始逐步深入人们的日常生活。
 
GPS常见技术误区
1、GPS模块的20通道是什么含义?
GPS模块有一个通道数量的参数,例如20通道,它表示该模块最大可以同时和20颗卫星建立通讯,3颗卫星是2D定位,数据不稳定,模块只有同时收到3颗以上卫星信号后,经过复杂运算后才能获得正确的定位数据,如果同时通讯的卫星颗数越多,模块就能越快越准确地获得定位数据,在地球表面上一般的城市环境下通常可以同时和4~11颗卫星同时通讯。 
2、GPS模块为什么开机后很长时间才能获得定位数据?
GPS模块有冷启动,热启动和暖启动(现在的技术基本上已经将该冷启动和暖启动两模式参数做得非常接近,从而就逐步取消了暖启动)三个参数,如果GPS模块初次通电,或者移动超过500公里后通电时,模块要重新计算一次星历数据,一般正常情况下的GPS模块只需要30多秒钟就能正常定位(这就是冷启动),S-87具有内置纽扣电池,可以将星历数据存储在模块内部,当下次模块工作的时候可以很快速的定位,一般像S-87只需要1~3秒就可以实现新的定位,那这种定位就叫做热启动,如果模块断电时间超过4小时,内部RTC没有实时供电,那么再一次的开机也相当于冷启动。
3、如果出现长时间无法冷启动定位时怎么办?
那么就需要检查GPS天线摆放位置是否在一个开阔的环境下,能否读取到GPS模块输出的GPS数据?GPS数据中的GSV语句里面可以观测到GPS卫星信号状态?从这些方面就可以判断具体问题在什么地方!模块可以每秒输出一次:$GPGGA $GPGSA $GPGSV $GPRMC的定位数据,我们通常用$GPRMC精简数据输出这条信息,这条信息包含了目标的:经度、纬度、速度(海里/小时)、运动方向角、年份、月份、时、分、秒、毫秒、定位数据是有效的还是无效的这些重要信息, GPS模块的芯片大部分还是采用全球市占率第一的SiRFIII(美国瑟孚)系列为主,SiRFIII芯片是20通道,实时解算能力强。该部分模块市面上很常见:环天,达伽马,Ublox等等
4、天线状态监测怎么办?
当天线开短路的时候,需要怎么处理呢?这个最好的办法是GPS模块能输出天线开短路状态的语句来提示客户做这方面的查验,这样的好处就是可以让客户很方便的查看问题点,同时保护模块不受到大电流冲击,市面上很多这样的应用,比方S-87、S-90、S-93和UBLOX一些模块也具有这样的功能,但是区别点就是Ublox的需要搭外围器件来实现这个功能,达伽马的是不用任何外围器件,好像这个功能只能flash版本的才能实现,rom版本的不能配置IO口,这个功能就没办法实现。
 
GPS 数据处理
1、GPS 模块
GPS定位模块称为用户部分,它像“收音机”一样接收、解调卫星的广播C/A码信号,中以频率为1575.42MHz。GPS模块并不播发信号,属于被动定位。通过运算与每个卫星的伪距离,采用距离交会法求出接收机的得出经度、纬度、高度和时间修正量这四个参数,特点是点位速度快,但误差大。初次定位的模块至少需要4颗卫星参与计算,称为3D定位,3颗卫星即可实现2D定位,但精度不佳。GPS模块通过串行通信口不断输出NMEA格式的定位信息及辅助信息,供接收者选择应用。
GPS模块性能的指标主要有接收灵敏度、定位时间、位置精度、功耗、时间精度等。模块开机定位时间在不同的启动模式下有很大不同。一般来说,冷启动时间是指模块内部没有保存任何有助于定位的数据的情况,包括星历、时间等,一般标称在1分钟以内;温启动时间是指模块内部有较新的卫星星历(一般不超过2小时),但时间偏差很大,一般标称在45秒以内;热启动时间是指关机不超过二十分钟,并且RTC时间误差很小时的情况。一般标称在10秒以内;重新捕捉时间就如同汽车钻过了一个隧道,出隧道时重新捕捉卫星。一般标称在4秒以内。
如果模块在定位后放的时间很久,或模块在定位后运输到几百公里以外的地方,这样模块内部有星历,但是这个星历是错误的或不具有参考意义的。在这些情况下,定位时间可能要几分钟甚至更久的时间。所以一般GPS模块出厂时要将模块内部的星历等数据清掉,这样客户拿到模块后可以冷启动方式快速定位。
定位精度可在静态与动态情况下进行考察,且动态定位效果优于静态定位。GPS模块所标称的定位参数是指在完全开放的天空下,卫星信号优良的情况下测得。所以在常规的测试中很难达到标称的定位时间与定位精度。常见的水平定位精度描述方式有两种:一是?mCEP,即圆概率误差,意指测出的点有50%的概率位于一个以真实坐标为圆心,以?m为半径的圆内;二是?m2DRMS,即2倍水平均方根误差,意指测出的点有约95.5%的概率位于一个以真实坐标为圆心,以?m为半径的圆内。
2、NMEA-0183 GPS数据格式
NMEA国际海上电子协会(National Marine Electronics Association)
NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。
GPGGA
(定位信息)
例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,M,19.7,M,,,0000*1F
字段0:$GPGGA,语句ID,表明该语句为Global Positioning System Fix Data(GGA)GPS定位信息
字段1:UTC 时间,hhmmss.sss,时分秒格式
字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段3:纬度N(北纬)或S(南纬)
字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段5:经度E(东经)或W(西经)
字段6:GPS状态,0=不可用(FIX NOT valid),1=单点定位(GPS FIX),2=差分定位(DGPS),3=无效PPS,4=实时差分定位(RTK FIX),5=RTK FLOAT,6=正在估算
字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0)
字段8:HDOP水平精度因子(0.5 - 99.9)
字段9:海拔高度(-9999.9 - 99999.9)
字段10:单位:M(米)
字段11:地球椭球面相对大地水准面的高度 WGS84水准面划分
字段12:WGS84水准面划分单位:M(米)
字段13:差分时间(从接收到差分信号开始的秒数,如果不是差分定位将为空)
字段14:差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空)
字段15:校验值
 
GPGSA
( 当前卫星信息)
例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A
字段0:$GPGSA,语句ID,表明该语句为GPS DOP and Active Satellites(GSA)当前卫星信息
字段1:定位模式(选择2D/3D),A=自动选择,M=手动选择
字段2:定位类型,1=未定位,2=2D定位,3=3D定位
字段3:PRN码(伪随机噪声码),第1信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段4:PRN码(伪随机噪声码),第2信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段5:PRN码(伪随机噪声码),第3信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段6:PRN码(伪随机噪声码),第4信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段7:PRN码(伪随机噪声码),第5信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段8:PRN码(伪随机噪声码),第6信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段9:PRN码(伪随机噪声码),第7信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段10:PRN码(伪随机噪声码),第8信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段11:PRN码(伪随机噪声码),第9信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段12:PRN码(伪随机噪声码),第10信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段13:PRN码(伪随机噪声码),第11信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段14:PRN码(伪随机噪声码),第12信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)
字段15:PDOP综合位置精度因子(0.5 - 99.9)
字段16:HDOP水平精度因子(0.5 - 99.9)
字段17:VDOP垂直精度因子(0.5 - 99.9)
字段18:校验值
 
GPGSV
(可见卫星信息)
例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70
字段0:$GPGSV,语句ID,表明该语句为GPS Satellites in View(GSV)可见卫星信息
字段1:本次GSV语句的总数目(1 - 3)
字段2:本条GSV语句是本次GSV语句的第几条(1 - 3)
字段3:当前可见卫星总数(00 - 12)(前导位数不足则补0)
字段4:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)
字段5:卫星仰角(00 - 90)度(前导位数不足则补0)
字段6:卫星方位角(00 - 359)度(前导位数不足则补0)
字段7:信噪比(00-99)dbHz
字段8:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)
字段9:卫星仰角(00 - 90)度(前导位数不足则补0)
字段10:卫星方位角(00 - 359)度(前导位数不足则补0)
字段11:信噪比(00-99)dbHz
字段12:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)
字段13:卫星仰角(00 - 90)度(前导位数不足则补0)
字段14:卫星方位角(00 - 359)度(前导位数不足则补0)
字段15:信噪比(00-99)dbHz
字段16:校验值
 
GPRMC
(推荐定位信息数据格式)
例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
字段0:$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息
字段1:UTC时间,hhmmss.sss格式
字段2:状态,A=定位,V=未定位
字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段4:纬度N(北纬)或S(南纬)
字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段6:经度E(东经)或W(西经)
字段7:速度,节,Knots
字段8:方位角,度
字段9:UTC日期,DDMMYY格式
字段10:磁偏角,(000 - 180)度(前导位数不足则补0)
字段11:磁偏角方向,E=东W=西
字段16:校验值
 
GPVTG
(地面速度信息)
例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F
字段0:$GPVTG,语句ID,表明该语句为Track Made Good and Ground Speed(VTG)地面速度信息
字段1:运动角度,000 - 359,(前导位数不足则补0)
字段2:T=真北参照系
字段3:运动角度,000 - 359,(前导位数不足则补0)
字段4:M=磁北参照系
字段5:水平运动速度(0.00)(前导位数不足则补0)
字段6:N=节,Knots
字段7:水平运动速度(0.00)(前导位数不足则补0)
字段8:K=公里/时,km/h
字段9:校验值
 
GPGLL
(地理定位信息)
例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D
字段0:$GPGLL,语句ID,表明该语句为Geographic Position(GLL)地理定位信息
字段1:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段2:纬度N(北纬)或S(南纬)
字段3:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段4:经度E(东经)或W(西经)
字段5:UTC时间,hhmmss.sss格式
字段6:状态,A=定位,V=未定位
字段7:校验值