资源描述
GPS原理与应用复习题GPS测量 试卷A卷一、填空(每空0.5分,共10分) 1、GPS系统包括三大部分:空间部分GPS卫星星座;地面控制部分地面监控系统;用户部分GPS接收机。2、GPS系统的空间部分由21颗工作卫星及3颗备用卫星组成,它们均匀分布在6个近似圆形轨道上。3、GPS工作卫星的地面监控系统包括一个主控站、三个注入站和五个监测站。4、GPS卫星位置采用WGS-84大地坐标系。5、GPS系统中卫星钟和接收机钟均采用稳定而连续的GPS时间系统。6、GPS卫星星历分为预报星历(广播星历)和后处理星历(精密星历)。7、GPS接收机依据其用途可分为:导航型接收机、测地(量)型接收机和授时型接收机。8、在GPS定位工作中,由于某种原因,如卫星信号被暂时阻挡,或受到外界干扰影响,引起卫星跟踪的暂时中断,使计数器无法累积计数,这种现象称为整周跳变(周跳)。9、根据不同的用途,GPS网的图形布设通常有:点连式、边连式、网连式和边点混合连接四种基本方式。选择什么样的组网,取决于工程所要求的精度、野外条件及GPS接收机台数等因素。二 、名词解释(每题3分,共18分) 1、伪距:就是由卫星发射的测距码信号到达GPS接收机的传播时间乘以光速所得出的量侧距离。由于卫星钟、接收机钟的误差以及信号经过电离层和对流层的延迟,量侧距离的距离与卫星到接收机的几何距离有一定的差值,因此,称量侧距离的伪距。2、GPS相对定位:是至少用两台GPS接收机,同步观测相同的GPS卫星,确定两台接收机天线之间的相对位置。3、观测时段:测站上开始接收卫星信号到观测停止,连续工作的时间段称为观测时段,简称时段。4、同步观测环:三台或三台以上接收机同步观测获得的基线向量所构成的闭合环。5、后处理星历:一些国家某些部门,根据各自建立的卫星跟踪占所获得的对GPS卫星的精密观测资料,应用与确定广播星历相似的方法而计算的卫星星历。由于这种星历是在事后向用户提供的在其观测时间内的精密轨道信息,因此称为后处理星历。6、静态定位:如果在定位时,接收机的天线在跟踪GPS卫星过程中,位置处于固定不动的静止状态,这种定位方式称为静态定位。三 、简答(每题6分,共36分)1、简述GPS系统的特点。答:定位精度高;(1分)观测时间短;(1分)测站间无需通视;(1分)可提供三维坐标;(1分)操作简便;(0.5分)全天候作业;(1分)功能多,应用广;(0.5分)(回答:全能性、全球性、连续性和实时性的也各1分。)2、简述接收机的主要任务。答:当GPS卫星在用户视界升起时,接收机能够捕获到按一定卫星高度截止角所选择的待测卫星,并能够跟踪这些卫星的运行(2分);对所接收到的GPS信号,具有变换、放大和处理的功能(2分);测量出GPS信号从卫星到接收天线的传播时间,解译出GPS卫星所发送的导航电文,实时地计算出测站的三维位置,甚至三维速度和时间(2分)。3、简述无摄运动中开普勒轨道参数。答:轨道椭圆的长半径;(1分)轨道椭圆偏心率(或轨道椭圆的短半径);(1分)卫星的真近点角;(1分)升交点赤经;(1分)轨道面倾角;(1分)近地点角距。(1分)4、简述伪距定位观测方程中划横线参数的含义。 式中,j 为卫星数,j = 1 , 2 , 3 ,答:接收机钟差(1分); :(对j号卫星的)伪距观测值(2分); 、:分别为电离层延迟和对流层延迟的改正数(2分); :为卫星钟差(1分)。5、减弱电离层影响的措施。答:利用双频观测;(2分)利用电离层改正模型加以改正;(2分)利用同步观测值求差。 (2分)6、简述快速静态定位的作业方式。答:在测区中部选择一个基准站,并安置一台接收设备连续跟踪所有可见卫星(3分);另一台接收机依次到各点流动设站,每点观测数分钟(3分)。 四 、论述(共23分) 1、什么是伪距单点定位?说明用户在使用GPS接收机进行伪距单点定位时,为何需要同时观测至少4颗GPS卫星?(13分)答:根据GPS卫星星历和一台GPS接收机的伪距测量观测值来直接独立确定用户接收机天线在WGS-84坐标系中的绝对坐标的方法叫单点定位,也叫绝对定位。(5分)由于进行伪距单点定位时,每颗卫星的伪距测量观测值中都包含有接收机钟差这一误差,造成距离测量观测值很不准确。(4分)需要将接收机钟差作为一个未知数加入到伪距单点定位的计算中,再加上坐标三个未知数,所以至少需要4个伪距观测值,即需要同时观测至少4颗GPS卫星。 (4分)2、什么是多路径误差?试述消弱多路径误差的方法。(10分)答:在GPS测量中,如果测站周围的反射物所反射的卫星信号进入接收机天线,这就和直接来自卫星的信号产生干涉,从而使观测值偏离真值,产生多路径误差。(5分)消弱多路径误差的方法:(1)选择合适的站址 a、测站应远离大面积平静地水面; (1分)b、测站不宜选择在山坡、山谷和盆地中; (1分)c、测站应离开高层建筑物 . (1分)(2)对接收机天线的要求 a、在天线中设置抑径板(1分)b、接收天线对于极化特性不同的反射信号应该有较强的抑制作用。(1分)五 、综合分析(共13分)根据下列控制网的图形,用三台天宝4800双频接收机作业,相邻点的距离约1 km,仪器迁移时间约20-30分钟,已知接收机的使用序号和机号如下表,要求最少有三个同步观测环,同步观测时间为1小时。(1)编写定位的先后次序(6分)。(2)写出三个同步观测环和一个独立环。(4分)(3)根据下图PDOP值选择每一个同步观测环最佳的观测时段。(3分)答:(1)观测时段1:A点(接收机1)、B点(接收机2)、D点(接收机3)(2分)观测时段2:A点(接收机1)、B点(接收机2)、C点(接收机3)(2分)观测时段3:B点(接收机2)、C点(接收机3)、D点(接收机1)(2分)(2)同步观测环:观测时段1的AB、BD、AD三边所组成的闭合环;(1分)观测时段2的AB、BC、AC三边所组成的闭合环;(1分)观测时段3的BC、CD、BD三边所组成的闭合环;(1分)独立环:观测时段1的独立边AB、AD和观测时段3的独立边BD三边所组成的闭合环;(1分);(没有明确写明是独立边的酌情处理)(3)在这三个时间段内选择较好:观测时段1: 5:00 - 6:00(1分)观测时段2: 13:30:- 14:30(1分)观测时段3: 18:00 - 19:00(1分)序号机号129192293035306GPS测量 试卷B卷 一、填空(每空0.5分,共10分) 1、卫星定位中常采用空间直角坐标系及其相应的大地坐标系,一般取地球质心为坐标系原点。2、我国目前常采用的两个国家坐标系是 1954年北京坐标系和1980年国家大地坐标系 。3、GPS接收机的天线类型主要有:单板天线、 四螺旋形天线、微带天线和锥形天线。4、GPS接收机主要由GPS接收机天线单元 、GPS接收机主机单元和电源三部分组成。5、单站差分按基准站发送信息的方式来分,可分为位置差分、伪距差分 和载波相位差分。6、与信号传播有关的误差有电离层折射误差、对流层折射误差及多路径效应误差。7、GPS的数据处理基本流程包括数据采集、数据传输、数据预处理、基线解算、GPS网平差。8、GPS卫星的地面监控系统包括一个主控站、三个注入站和五个监测站。9、对于N台GPS接收机构成的同步观测环,有J条同步观测基线,其中独立基线数为N-1。10、双频接收机可以同时接收L1和 L2信号,利用双频技术可以消除或减弱对流层折射对观测量的影响,所以定位精度较高,基线长度不受限制,所以作业效率较高。二、名词解释(每题3分,共18分) 1、WGS-84 大地坐标系:原点位于地球质心,Z轴指向BIH1984.0定义的协议地球极(CTP)方向,X轴指向BIH1984.0定义的零子午面和CTP赤道的交点,Y轴与Z、X轴构成右手坐标系。2、GPS绝对定位:也叫单点定位,即利用GPS卫星和用户接收机之间的距离观测值直接确定用户接收机天线在WGS-84坐标系中相对坐标系原点的决对位置.3、广域差分:基本思想是对GPS观测量的误差源加以区分,并单独对每一种误差源分别加以“模型化”,然后将计算的每一种误差源的数值,通过数据链传输给用户,以对用户GPS定位误差加以改正,达到削弱这些误差源,改善用户GPS定位精度的目的。4、同步观测:同步观测:同步观测是指两台或两台以上接收机同时对一组卫星进行的观测.5、异步观测环:在构成多边形环路的所有基线向量中,只要有非同步观测基线向量,则该改多边形环路叫异步观测环。6、整周跳变:在定位过程中,卫星信号可能被暂时阻挡,或受外界干扰影响,引起卫星跟踪的暂时中断,使计数器无法累计计数,出现信号失锁,使其后的相位观测值均含有同样的整周误差,这种现象叫整周跳变,简称周跳。 三、简答(每题6分,共36分)1、简述美国GPS卫星的主要参数。答:GPS系统的空间部分由21颗工作卫星及3颗备用卫星组成(2分),它们均匀分布在6相对与赤道的倾角为55的近似圆形轨道上,它们距地面的平均高度为20200Km,运行周期为11小时58分(2分)。载波频率为1575.42MHz和1227.60MHz(2分)。2、简述卫星的受摄运动及其主要摄动力。答:考虑了摄动力作用的卫星运动称为卫星的受摄运动(2分)。主要的摄动力有:日月引力(1分);地球潮汐作用力(1分);太阳辐射压力(1分);大气阻力(1分)。3、简述动态定位的作业方法。答:建立一个基准站安置接收机连续跟踪所有可见卫星 (2分);流动站接收机先在出发点上静态观测数分钟,然后流动站接收机从出发点开始连续运动(2分);按指定的时间和间隔自动测定运动载体的实体位置(2分)。4、如何减弱GPS接收机钟差。答:把每个观测时刻的接收机钟差当作一个独立的未知数,在数据处理中与观测站的位置参数一并求解。(2分)认为各观测时刻的接收机钟差间是相关的,像卫星钟那样,将接收机钟差表示为时间多项式,并在观测量的平差计算中求解多项式的系数。此法可大大减少未知数,其成功与否关键在与钟误差模型的有效程度。(2分)通过在卫星间求一次差来消除接收机的钟差。(2分)5、试说明载波相位观测值的组成部分。答:完整的载波相位观测值是由三部分组成的:即载波相位在起始时刻沿传播路径延迟的整周数(2分),和从某一起始时刻至观测时刻之间载波相位变化的整周数(2分),以及接收机所能测定的载波相位差非整周的小数部分(2分)。6、简述GPS卫星的主要作用。答:接收地面注入站发送的导航电文和其它信号;(2分)接收地面主控站的命令,修正其在轨运行偏差及启用备件等;(2分)连续地向广大用户发送GPS导航定位信号,并用电文的形式提供卫星自身的现势位置与其它在轨卫星的概略位置,以便用户接收使用。(2分)四 、论述(每题10分,共20分) 1、如何重建载波?其方法和作用如何?(10分)答:在GPS信号中由于已用相位调整的方法在载波上调制了测距码和导航电文,因而接收到的载波的相位已不在连续,所以在进行载波相位测量之前,首先要进行解调工作,设法将调制在载波上的测距码和卫星电文去掉,重新获取载波 (3分) 。重建载波一般可采用两种方法:一是码相关法,另一种是平方法 (3分) 。采用前者,用户可同时提取测距信号和卫星电文,但用户必须知道测距码的结构;采用后者,用户无须掌握测距码的结构,但只能获得载波信号而无法获得测距码和卫星电文 (4分) 。2、GPS网的布网原则。(10分)答:为了用户的利益,GPS网图形设计时应遵循以下原则:(1)GPS网的布设应视其目的,作业时卫星状况,预期达到的精度,成果的可靠性以及工作效率,按照优化设计原则进行。(2分)(2)GPS网一般应通过独立观测边构成闭合图形,例如一个或若干个独立观测环,或者附合路线形式,以增加检核条件,提高网的可靠性。(2分)(3)GPS网内点与点之间虽不要求通视,但应有利于按常规测量方法进行加密控制时应用。(2分)(4)可能条件下,新布设的GPS网应与附近已有的GPS点进行联测;新布设的GPS网点应尽量与地面原有控制网点相联接,联接处的重合点数不应少于三个,且分布均匀,以便可靠地确定GPS网与原有网之间的转换参数。(2分)(5)GPS网点,应利用已有水准点联测高程。(2 分)试卷 C一、填空(每空0.5分,共20分) 1.20世纪50年代末期,美国开始研制多普勒卫星定位技术进行测速、 定位 的卫星导航系统,叫做子午卫星导航系统。2.GPS全球定位系统具有全能性、全球性、全天候、 连续 性和实时性的导航、定位和定时功能。能为各类用户提供精密的 三维坐标 、速度和时间。3.GPS系统的空间部分由21颗工作卫星及 3 颗备用卫星组成,它们均匀分布在6个轨道上,距地面的平均高度为 20200 km,运行周期为11小时58分。4.美国国防部制图局(DMA)于1984年发展了一种新的世界大地坐标系,称之为美国国防部1984年世界大地坐标系,简称 WGS84 。5.当使用两台或两台以上的接收机,同时对同一组卫星所进行的观测称为 同步观测 。6.在对卫星所有的作用力中,地球重力场的引力是最重要的。如果将它的引力视为 1 ,则其它作用力均小于10-5。7.在定位工作中,可能由于 卫星信号 被暂时阻挡,或受到外界干扰影响,引起卫星跟踪的暂时中断,使计数器无法累积计数,这种现象叫 整周跳变 。8.按照规范规定,我国GPS测量按其精度依次划分为AA、A、B、C、D、E六级,其中D级网的相邻点之间的平均距离为105km,最大距离 15 km。9.GPS工作卫星的地面监控系统包括一个主控站、三个 注入站 和五个 监测站。10.对于卫星精密定位来说,只考虑地球质心引力来计算卫星的运动状态是不能满足精度要求的。必须考虑地球引力场摄动力、 日月 摄动力、大气阻力、光压摄动力、 潮汐 摄动力对卫星运动状态的影响。11.当GPS信号通过电离层时,信号的 路径 会发生弯曲,传播速度会发生变化。这种距离改正在天顶方向最大可达 50 m,在接近地平线方向可达150m。12.在GPS测量定位中,与接收机有关的误差主要有接收机钟误差、接收机位置误差、 天线相位中心位置 误差和 几何图形强度 误差等13.按照GPS系统的设计方案,GPS定位系统应包括 空间卫星 部分、 地面监控 部分和用户接收部分。二、单项选择题(每小题1分,共10分)1.双频接收机可以同时接收L1和 L2信号,利用双频技术可以消除或减弱 ( C )对观测量的影响,所以定位精度较高,基线长度不受限制,所以作业效率较高。A、对流层折射 B、多路径误差 C、电离层折射 D、相对论效应2.GPS卫星信号取无线电波中L波段的两种不同频率的电磁波作为载波,在载波上调制有( A )。A、P码和数据码 B、C/A码、P码和数据码C、C/A和数据码 D、C/A码、P码3.在定位工作中,可能由于卫星信号被暂时阻挡,或受到外界干扰影响,引起卫星跟踪的暂时中断,使计数器无法累积计数,这种现象叫( A )。A、 整周跳变 B、相对论效应 C、 地球潮汐 D、负荷潮4.我国自行建立第一代卫星导航定位系统 “北斗导航系统”是全天候、全天时提供卫星导航信息的区域导航系统,它由( B )组成了完整的卫星导航定位系统。A、两颗工作卫星 B、两颗工作卫星和一颗备份星C、三颗工作卫星 D、三颗工作卫星和一颗备份星5.卫星钟采用的是GPS 时,它是由主控站按照美国海军天文台(USNO)的( D )进行调整的。在1980年1月6日零时对准,不随闰秒增加。A、世界时(UT0) B、世界时(UT1)C、世界时(UT2) D、协调世界时(UTC)6.在20世纪50年代我国建立的1954年北京坐标系是( C )坐标系。A、 地心坐标系 B、 球面坐标系C、 参心坐标系 D、 天球坐标系7.我国在1978年以后建立了1980年国家大地坐标系,采用的是1975年国际大地测量与地球物理联合会第十六届大会的推荐值,其长半径和扁率分别为( A )。A、a=6378140、=1/298.257 B、a=6378245、=1/298.3C、a=6378145、=1/298.357 D、a=6377245、=1/298.08.我国西起东经72,东至东经135,共跨有( D )个时区,我国采用东8区的区时作为统一的标准时间。称作北京时间。A、2 B、3 C、4 D、5 9.在进行GPSRTK实时动态定位时,需要计算在开阔地带流动站工作的最远距离,已知TRIMMRK(UHF)数据链无线电发射机天线的高度为9m,流动站天线的高度为2m,则流动站工作的最远距离为( A )。A、18.72m B、16.72m C、18.61m D、16.61m10.基准站GPS接收机与TRIMMRK(UHF)数据链无线电发射机之间的数据传输波特率为( D )。A、4800 B、9600 C、19200 D、38400三、名词、概念解释(15分)1.观测时段 答:测站上开始接收卫星信号到停止接收,连续观测的时间间隔称为观测时段,简称时段。2.数据剔除率答;同一时段中,删除的观测值个数与获取的观测值总数的比值。3.实测星历答:是一些国家根据自己的卫星跟踪站观测资料,经过事后处理直接计算的卫星星历,它需要在一些已知精确位置的点上跟踪卫星来计算观测瞬间的卫星真实位置,从而获得准确可靠的精密星历。这种星历要在观测后12个星期才能得到,对导航和动态定位毫无意义,但是在静态精密定位中具有重要作用。4.伪距:答:GPS定位采用的是被动式单程测距。它的信号发射时刻是由卫星钟确定的,收到时刻则是由接收机钟确定的,这就在测定的卫星至接收机的距离中,不可避免地包含着两台钟不同步的误差影响,所以称其为伪距。5. 黄道: 6. 答:地球绕太阳公转的轨道平面称为黄道面,它与天球相交的大圆称为黄道。它就是当地球绕太阳公转时,观测者所看到的太阳在天球上运动的轨迹。四、简答题(30分)1. 如何减弱GPS接收机钟差。(10分)答:把每个观测时刻的接收机钟差当作一个独立的未知数,在数据处理中与观测站的位置参数一并求解。认为各观测时刻的接收机钟差间是相关的,像卫星钟那样,将接收机钟差表示为时间多项式,并在观测量的平差计算中求解多项式的系数。此法可大大减少未知数,其成功与否关键在与钟误差模型的有效程度。通过在卫星间求一次差来消除接收机的钟差。2. 简述GPS网的布网原则。(10分)答:为了用户的利益,GPS网图形设计时应遵循以下原则:(1)GPS网的布设应视其目的,作业时卫星状况,预期达到的精度,成果的可靠性以及工作效率,按照优化设计原则进行。(2)GPS网一般应通过独立观测边构成闭合图形,例如一个或若干个独立观测环,或者附合路线形式,以增加检核条件,提高网的可靠性。(3)GPS网内点与点之间虽不要求通视,但应有利于按常规测量方法进行加密控制时应用。(4)可能条件下,新布设的GPS网应与附近已有的GPS点进行联测;新布设的GPS网点应尽量与地面原有控制网点相联接,联接处的重合点数不应少于三个,且分布均匀,以便可靠地确定GPS网与原有网之间的转换参数。(5)GPS网点,应利用已有水准点联测高程。3.如何重建载波?其方法和作用如何?(10分)答:在GPS信号中由于已用相位调整的方法在载波上调制了测距码和导航电文,因而接收到的载波的相位已不在连续,所以在进行载波相位测量之前,首先要进行解调工作,设法将调制在载波上的测距码和卫星电文去掉,重新获取载波。重建载波一般可采用两种方法:一是码相关法,另一种是平方法。采用前者,用户可同时提取测距信号和卫星电文,但用户必须知道测距码的结构;采用后者,用户无须掌握测距码的结构,但只能获得载波信号而无法获得测距码和卫星电文。五、论述及分析题(25分)1.根据下列控制网的图形,用三台天宝4800双频GPS接收机作业,相临点之间的距离约1km,仪器迁移时间约2030分钟,已知接收机的使用序号和天线编号如下表,试编写GPS作业调度表。(20分)序 号2机 号1291920293031530613根据右图编写定位的先后次序。26根据下图PDOP值选择最佳的观测3时段,填入GPS作业调度表中。4根据控制网的图形的观测顺序和观测时间5填写GPS作业调度表。0时段,接收机分别架设在1、2、3点;1时段,将2点处的接收机迁至6点,其余两台接收机继续观测;2时段,将1点处的接收机迁至3点,其余两台接收机继续观测;3时段,将6点处的接收机迁至4点,其余两台接收机继续观测。GPS作业调度表时段编号观测时间测站号/名测站号/名测站号/名机号机号机号08:108:4012329192930530618:509:2016329192930530628:509:2056329192930530638:509:2054329192930530642.已知权系数阵为:Q X =试从权系数阵中取出若干权系数元素,写出平面位置图形强度因子HDOP、高程图形强度因子VDOP、空间位置图形强度因子PDOP、接收机位置图形强度因子TDOP和几何图形强度因子GDOP的表达式。(5分)平面位置的图形强度因子:高程图形强度因子:VDOP = 空间位置的图形强度因子:接收机位置图形强度因子:TDOP = 几何图形强度因子:GDOP = GPS 常用数据格式 NMEA0183标准语句1、 Global Positioning System Fix Data(GGA)GPS定位信息$GPGGA,M,M,*hh$GPGGA,010101.130,3606.6834,N,12021.7778,E,1,07,1.2,32.00,M,*0C UTC时间,hhmmss(时分秒)格式 纬度ddmm.mmmm(度分)格式(前面的0也将被传输) 纬度半球N(北半球)或S(南半球) 经度dddmm.mmmm(度分)格式(前面的0也将被传输) 经度半球E(东经)或W(西经) GPS状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算 正在使用解算位置的卫星数量(0012)(前面的0也将被传输) HDOP水平精度因子(0.599.9) 海拔高度(-9999.999999.9) 地球椭球面相对大地水准面的高度 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空) 差分站ID号00001023(前面的0也将被传输,如果不是差分定位将为空)2、 GPS DOP and Active Satellites(GSA)当前卫星信息$GPGSA,*hh$GPGSA,A,3,09,18,21,22,24,26,29,2.0,1.2,1.6*3E 模式,M=手动,A=自动 定位类型,1=没有定位,2=2D定位,3=3D定位 PRN码(伪随机噪声码),正在用于解算位置的卫星号(0132,前面的0也将被传输)。 PDOP位置精度因子(0.599.9) HDOP水平精度因子(0.599.9) VDOP垂直精度因子(0.599.9)3、 GPS Satellites in View(GSV)可见卫星信息$GPGSV,*hh$GPGSV,3,1,12,18,72,335,38,21,41,211,27,24,19,179,23,09,76,068,28*77$GPGSV,3,2,12,22,35,313,31,29,11,070,27,26,19,065,32,12,21*49$GPGSV,3,3,12,14,16,271,05,16,159,30,05,171,32,03,308,*7B GSV语句的总数 本句GSV的编号 可见卫星的总数(0012,前面的0也将被传输) PRN码(伪随机噪声码)(0132,前面的0也将被传输) 卫星仰角(0090度,前面的0也将被传输) 卫星方位角(000359度,前面的0也将被传输) 信噪比(0099dB,没有跟踪到卫星时为空,前面的0也将被传输)注:,信息将按照每颗卫星进行循环显示,每条GSV语句最多可以显示4颗卫星的信息。其他卫星信息将在下一序列的NMEA0183语句中输出。4、 Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐定位信息$GPRMC,*hh$GPRMC,010101.130,A,3606.6834,N,12021.7778,E,0.0,238.3,010807,A*6C UTC时间,hhmmss(时分秒)格式 定位状态,A=有效定位,V=无效定位 纬度ddmm.mmmm(度分)格式(前面的0也将被传输) 纬度半球N(北半球)或S(南半球) 经度dddmm.mmmm(度分)格式(前面的0也将被传输) 经度半球E(东经)或W(西经) 地面速率(000.0999.9节,前面的0也将被传输) 地面航向(000.0359.9度,以真北为参考基准,前面的0也将被传输) UTC日期,ddmmyy(日月年)格式 磁偏角(000.0180.0度,前面的0也将被传输) 磁偏角方向,E(东)或W(西) 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)如果某字段的数值没有达到所定义的长度,将在前面添加0。任何无效的数字将以下划线”_”来代替。部分程序代码(c+) 1 /初始化串口2 /入口:strComm(串口名)3 /返回:TRUE(成功);FALSE(失败)4 BOOL CGPSDlg:InitComm(CString strComm)5 6 int i;7 DCB dcb;8 COMMTIMEOUTS TimeOuts;910 for (i=0; i3; i+) /串口最多初始化3次11 12 m_hComm = CreateFile(strComm, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);13 if (m_hComm != INVALID_HANDLE_VALUE)14 break;15 16 if (i = 3) /串口初始化失败17 18 AfxMessageBox(串口初始化失败.);19 return FALSE;20 21 22 SetupComm(m_hComm, MAXLENGTH, MAXLENGTH); /设置发送接收缓冲区大小23 24 TimeOuts.ReadIntervalTimeout = 0; /设定5个超时参数25 TimeOuts.ReadTotalTimeoutMultiplier = 0;26 TimeOuts.ReadTotalTimeoutConstant = 500;27 TimeOuts.WriteTotalTimeoutMultiplier = 0;28 TimeOuts.WriteTotalTimeoutConstant = 500;29 SetCommTimeouts(m_hComm, &TimeOuts); /设置超时参数30 31 GetCommState(m_hComm, &dcb); /获得通信状态32 dcb.fAbortOnError = FALSE; /有错误不停止33 dcb.BaudRate = CBR_4800; /波特率480034 dcb.ByteSize = 8; /8位35 dcb.Parity = NOPARITY; /奇校验36 dcb.StopBits = ONESTOPBIT; /1位停止位37 SetCommState(m_hComm, &dcb); /设置通信状态38 PurgeComm(m_hComm, PURGE_TXCLEAR|PURGE_RXCLEAR); /清空发送和接收缓冲区 39 40 return TRUE;41 4243 /获得GPS参数44 /注意:从GPS接收到的字符串已经在m_strRecv中,由于是定时接收,所以在这个字符串的头和尾都可能存在45 / 不完整的NMEA输出字符串,在处理时要特别注意46 /返回:TRUE(格式正确);FALSE(格式错误)47 BOOL CGPSDlg:GetGPSParam()48 49 int i,j;50 CString str,strNEMA;51 52 /先判断是否接收到数据53 if (m_strRecv.IsEmpty()54 return FALSE;5556 /若字符串不是以$开头的,必须删掉这部分不完整的57 if (m_strRecv0 != $)58 59 i = m_strRecv.Find(/n, 0);60 if (i = -1)61 return FALSE; /尾部未接收完整,必须等接收完后才能删除62 m_strRecv.Delete(0, i+1); /尾部已接收完整(尾部为/r/n结束),删除不完整的部分63 64 65 /截取完整的NMEA-0183输出语句(m_strRecv中可能有多条语句,每条间以/r/n分隔)66 for (;)67 68 i = m_strRecv.Find(/n, 0);69 if (i = -1)70 break; /所有的完整输出语句都已经处理完毕,退出循环71 72 /截取完整的NMEA-0183输出语句73 strNEMA = m_strRecv.Left(i+1); 74 m_strRecv.Delete(0, i+1);75 /下面对各种输出语句进行分别处理76 if (strNEMA.Find($GPRMC,0) = 0)77 78 /该输出语句中的各项以,分隔79 for (i=j=0; strNEMAi!=/r; i+) /j为逗号的计数器80 81 if (strNEMAi = ,)82 83 j+;84 str = ;85 for (i+; strNEMAi!=,&strNEMAi!=/r; i+)86 str += strNEMAi; /str为某项的值87 i-;88 89 /对各项数据分别处理90 switch (j)91 92 case 1: /时间(UTC) 93 m_strTime = str.Left(6);94 m_strTime.Insert(2, :);95 m_strTime.Insert(5, :);96 break;97 case 2: /状态(A-数据有效;V-数据无效,还未定位)98 if (str = A)99 m_strStatus = 有效数据;100 else if(str = V)101 m_strStatus = 正在定位.;102 else103 m_strStatus = 非法数据格式;104 break;105 case 3: /纬度(ddmm.mmmm)106 str.Insert(2, 度);107 str += 分;108 m_strLatitude = str;109 break;110 case 4: /纬度指示(N-北纬;S-南纬)111 if (str = N)112 m_strLatitude.Insert(0, 北纬);113 else114 m_strLatitude.Insert(0, 南纬);115 break;116 case 5: /经度(dddmm.mmmm)117 str.Insert(3, 度);118 str += 分;119 m_strLongitude = str;120 break;121 case 6: /经度指示(E-东经;W-西经)122 if (str = E)123 m_strLongitude.Insert(0, 东经);124 else125 m_strLongitude.Insert(0, 西经);126 break;127 case 7: /速度(单位:节)128 m_strSpeed = str;129 break;130 case 8: /航向(单位:度)131 m_strCourse = str;132 break;133 case 9: /日期(UTC)134 m_strDate = ;135 m_strDate += 20;136 m_strDate += str4;137 m_strDate += str5;138 m_strDate += -;139 m_strDate += str2;140 m_strDate += str3;141 m_strDate += -;142 m_strDate += str0;143 m_strDate += str1;144 break;145 default:146 break;147 148 149 150 151 else if (strNEMA.Find($GPGGA,0) = 0)152 153 154 155 else if (strNEMA.Find($GPGSA,0) = 0)156 157 158 159 else if (strNEMA.Find($GPGSV,0) = 0)160 161 162 163 else if (strNEMA.Find($GPGLL,0) = 0)164 165 166 167 else if (strNEMA.Find($GPVTG,0) = 0)168 169 170 171 else172 return FALSE; /格式错误173 174 return TRUE;175 18
展开阅读全文