电子与信息工程专业课程设计
摘要
GPS是利用卫星,在全球范围内实时进行定位、导航的系统,目前可以说是最热门、最受人瞩目的一项科技。它具有在海、陆、空进行全方位实时三维导航与定位能力,并提供实时、全天候和全球性的导航服务。所以,船舶可以根据GPS的解析信息来确保稳定而精确最佳航线。
随着科技的迅速发展,各种新型的航海仪器均已实现了数字化和计算机化,目前各种航海仪器之间的通信一班采用NMEA-0183接口。NMEA-0183现已成为GPS导航设备统一的标准协议,主要包括GPGGA,GPRMC,GPVTG,GPGSV,GPZDA等语句格式,其中GPVTG的功能就是解析卫星信号中的对地速度信息,将其信号序列变为非专业人员可读取的文字。
本文针对当前比较普及的GPS系统,介绍了GPS通信的NMEA-0183协议、GPVTG信息解析的实现方法。
关键字:GPS NMEA-0183协议 GPVTG
电子与信息工程专业课程设计
目 录
前 言 ................................................................................................................... 1 第1章 绪论 ........................................................................................................... 2 1.1 GPS定位系统原理 ......................................................................................... 2 1.2 C语言编程特点 ............................................................................................. 3 第2章 NMEA-0183协议的简介 .................................................................................. 4
2.1 NMEA-0183协议的格式定义 ............................................................................ 4 2.2 NMEA-0183的应用领域 ................................................................................. 5 2.3 NMEA-0183数据处理中的注意事项 .................................................................... 5 第3章 设计方案 ...................................................................................................... 6 3.1 主要方案思路及步骤 ....................................................................................... 6
3.1.1主流程图 ............................................................................................. 6
3.1.2调用函数流程图: .................................................................................. 7 3.1.3解析程序的编写及流程图 .......................................................................... 7 3.2程序的编写及调试结果 ..................................................................................... 8
3.2.1 最终程序及其注解 .................................................................................. 8 3.2.2调试步骤及显示结果 .............................................................................. 11 3.3文本输出显示结果:...................................................................................... 13 第4章 小结 ......................................................................................................... 14 4.1 设计中遇到的问题及解决方案 .......................................................................... 14 4.2心得体会 ................................................................................................... 15 [参考文献] ........................................................................................................... 17
电子与信息工程专业课程设计
前 言
GPS系统是美国研制的全球性、全天候的卫星导航系统。它主要是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的;其基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置;主要特点有:高精度、全天候、高效率、多功能、操作简便、应用广泛等。它能连续、实时地确定船舶的准确位置,在任何时间,任何地方都可以通过接收机同时接收到来自4颗卫星的位置及时间等信号,并且它能覆盖全球,用户数量不受限制。
在船位测定系统中,GPS的主要优点是在离岸比较远、缺少路标的情况下可以进行定位,是一种永恒的定位方法;缺点主要是定位精度低,受气候影响较大。利用GPS全球定位系统,能将GPS信息反馈给船舶驾驶自动控制系统的中央处理系统,通过对GPS信息的解析,中央处理系统可以随时检查船舶是否偏离最佳航线,据此采取措施,确保船舶稳定而精确地沿最佳航线航行。
GPS系统通过测定3颗卫星发出信号至测定点接收到信号所需要的时间来进行定位,首先,计算出测定点到3颗卫星的距离,再根据各卫星当时所处的位置信息算出测定点的经纬度。对于空中飞行的物体,还需要知道它所处的高度,第4颗卫星发来的信号便是用来确定高度的。它主要有三个方向的应用:
(1) 海洋应用,包括远洋船最佳航程航线测定、船只实时调度与导航、海洋救援、海洋探宝、水文地质测量以及海洋平台定位、海平面升降监测等;
(2) 航空航天应用,包括飞机导航、航空遥感姿态控制、低轨卫星定轨、导弹制导、航空救援和载人航天器防护探测等;
(3) 陆地应用,主要包括车辆导航、应急反应、大气物理观测、地球物理资源勘探、工程测量、变形监测、地壳运动监测、市政规划控制等。
随着电子技术与计算机技术的迅速发展和广泛地应用,各种新型的航海仪器均已实现了数字化和计算机化,为航海仪器之间的相互连接传递数据提供的便利,目前各种航海仪器之间的通信一班采用NMEA-0183接口。NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。NMEA通讯协议所规定的通讯语句都是以ASCII码为基础的,NMEA-0183协议语句的数据格式如下:“$”为语句起始标志;“,”为域分隔符;“*”为校验和识别符,其后面的两位数为校验和,代表了“$”和“*”之间所有字符的按位异或值(不包括这两个字符);“/”为终止符,所有的语句必须以它来结束,也就是ASCII字符的“回车”(十六进制的0D)和“换行”(十六进制的0A)。
GPVTG是NMEA-0183协议的主要数据之一,它的功能主要是对地速度的解析。我们可以通过解析它来确定船舶当前的以真北为参考基准的地面航向,以磁北为参考基准的地面航向,地面速率,模式指示等。
本次设计主要是要通过学习GPS原理及NMEA-0183协议,运用C语言进行编程,即读取、解析数据的定位信息。
电子与信息工程专业课程设计
第1章 绪论
1.1 GPS定位系统原理
GPS由21颗工作卫星和3颗备用卫星组成。他们分步在6个等间距的轨道平面上,轨道相对赤道的夹角是55度,每个轨道有四颗工作卫星,卫星轨道接近圆形,轨道高度为2.01836万km,周期11小时58分。GPS导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。要达到这一目的,卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。而用户到卫星的距离则通过记录卫星信号传播到用户所经历的时间,再将其乘以光速得到。
GPS技术通过发射的卫星上搭载的天文电子钟、微波无线等设备,地面监测站在卫星1d绕地球转2周后,可以精确地测量它的位置、高度和速度,并且适当的调整信号处理系统。GPS导航系统卫星部分的作用就是不断地发射导航电文。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x,y,z外,还要引进一个?t即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。在地球上任何地点GPS接收仪启
图1 GPS卫星环绕图 动时,卫星发射信号的时间为t1,接收机收到信号的时间为t2,则?t?t2?t1,卫星站距离?为:??c?t,由接收机测得。因卫星钟很精确,而接收机钟有误差? t,故??c?t?c? t在地面任一点最少可观测4颗卫星,得,4个距离,便得到如下4个方程式:
222?1?(X1?x)?(Y1?y)?(Z1-z)?c? t 222?2?(X2?x)?(Y2?y)?(Z2-z)?c? t
222?3?(X3?x)?(Y3?y)?(Z3-z)?c? t 222?4?(X4?x)?(Y4?y)?(Z4-z)?c? t
解4个未知数x、y、z、? t即可实现定位。
GPS接收机可接收到可用于授时的准确至纳秒级的时间信;息用于预报未来几个月内卫星所处概略位置的预报星历;用于计算定位时所需卫星坐标的广播星历,精度为几米至几十米;以及GPS系统信息,如卫星状况等。
GPS接收机对收到的卫星信号,进行解码或采用其它技术,将调制在载波上的信息去掉后,就可以恢复载波。严格而言,载波相位是收到的受多普勒移影响的卫星信号载波相位与接收机本机振荡产生信号相位之差。相位观测值的精度高至毫米,只有在相对定位、并有一段连续观测值时才能使用相位观测值,才能解出整周模糊度,因此也只能采用相位观测值来达到优于米级的定位精度。其中GPS的定位分为单点定位和相对定位。
电子与信息工程专业课程设计
在GPS观测量中包含了卫星和接收机的钟差、大气传播延迟、多路径效应等误差,在定位计算时还要受到卫星广播星历误差的影响,在进行相对定位时大部分公共误差被抵消或削弱,因此定位精度将大大提高,双频接收机可以根据两个频率的观测量抵消大气中电离层误差的主要部分,在精度要求高,接收机间距离较远时,应选用双频接收机。目前,我国广泛使用的是美国国防部开发的GPS卫星导航系统。该系统由空间部分、地面监控部分和用户接收机三大部分组成。接受并解析由GPS模块发送的数据是数据处理中心的一项重要任务,处理该任务的模块必须具备高可靠性和高有效性。
1.2 C语言编程特点
C语言是一门非常优秀的结构化程序设计语言,深受广大编程人员的喜爱,并得到广泛地应用。它的主要特点如下:
(1) 语言简洁、紧凑,使用方便、灵活,具有丰富的运算的运算符和数据结构。C语言一共只有
32个关键词、9种控制语句、34种运算符。
(2) 允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进
行操作。
(3) 具有结构化的控制语句(如 if?else语句、while语句、switch语句、for语句),用函数
作为程序模块以实现程序的模块化,是结构化的理想语言,符合现代化编程风格的要求。
(4) 语法限制不太严格,程序设计自由度大。 (5) 用C语言编写的程序可移植性好。 (6) 生成目标代码质量高,程序执行效率高。 结构特点有:
(1) 一个C语言源程序可以由一个或多个源文件组成。 (2) 每个源文件可由一个或多个函数组成。
(3) 一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。 (4) 源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或
源程序的最前面。
(5) 每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能
加分号。
(6) 标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格
来间隔。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库3.GPS信息-GPVTG数据解析在线全文阅读。
相关推荐: