GPRMC定位数据提取课程设计

上传人:re****.1 文档编号:490100770 上传时间:2023-01-22 格式:DOC 页数:14 大小:50KB
返回 下载 相关 举报
GPRMC定位数据提取课程设计_第1页
第1页 / 共14页
GPRMC定位数据提取课程设计_第2页
第2页 / 共14页
GPRMC定位数据提取课程设计_第3页
第3页 / 共14页
GPRMC定位数据提取课程设计_第4页
第4页 / 共14页
GPRMC定位数据提取课程设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《GPRMC定位数据提取课程设计》由会员分享,可在线阅读,更多相关《GPRMC定位数据提取课程设计(14页珍藏版)》请在金锄头文库上搜索。

1、目录绪论 21设计要求说明 32. 全球卫星定位系统(GPS)组成及原理 33定位信息的发送 54. 定位信息的接收 65. 提取GPRMC定位数据 76小结 10参考文献 11谢辞 11附录 12绪论数字信号处理技术包括硬件和软件实现两大部分。数字信号处理器(Digital Signal Processor, DSP)是数字信号处理技术实现的重要工具,它以高速数字信号处理为目标进行芯片设计,采用改进的哈佛结构、内部具有硬件乘法器、应用流水线技术、具有良好的并行性和专门用于数字信号处理的指令等特点。由于它的高速处理性能使得许多以前难以实现的复杂数字信号处理算法得以应用,许多必须由模拟电路完成的

2、信号处理和处理电路可以用软件实现,因而DSP为信息处理技术的发展提供了广阔的应用空间。DSP虽然也是集成了CPU及相应外设的单片芯片,但它与普通的单片机相比还是有许多不同之处,主要是超强处理速度和高处理精度,便于满足那些图像和语音处理中的大数据量要求及模式识别、神经网络等复杂算法的实时实现。而普通单片机由于处理速度及精度的限制难以完成这些工作。正是由于DSP追求的是计算速度和运算精度,所以它的特点包括了许多单周期复杂运算指令。而对于一些管理程序,例如键盘程序、显示程序等普通单片机擅长的处理,DSP并没有特别的优势。为了节省硬件资本及制造成本,在运算空间和时间允许的情况下,也可以使用单片DSP同

3、时完成信号处理和系统管理功能。通用DSP芯片代表性的产品主要有TI公司的TMS320系列、AD公司ADSP21xx系列、Motorola公司的DSP56xx系列和DSP96xx系列等单片器件,其中占市场份额最大的是美国德州仪器(TI)公司。TI生产OMAP芯片,集成了一个TMS320C55的核和一个ARM9的单片机核,这样的组合既有DSP长于复杂计算的功能,又有单片机易于管理的特点,更适合于便携式仪器设备的使用。DSP技术属于应用技术,实践是学习此类应用技术的必经途径,而这次课程设计正是用来检验实践学习效果的重要手段。1设计要求说明 基于DSP的GPRMC定位数据提取要求:1.1、利用异步串口

4、传输实验程序,修改适当程序段,实现解调功能; 1.2、利用串口调试助手做卫星信号源,提取出定位信息,显示在LCD上; 1.3、能把设计文件下载到实验箱进行观察;1.4、给出相应的设计报告。2.全球卫星定位系统(GPS)组成及原理 全球定位系统(GPS, Global Positioning System)是利用人造地球卫星进行点位测量导航技术的一种,全称是NAVSTAR(NAVigation Satellite Timing And Ranging)/GPS,由美国军方组织研制建立,从1973年开始实施,到九十年代初完成。用户通过测量到太空各可视卫星的距离来计算他们的当前位置,左右卫星相当于精

5、确的已知参考点。每颗GPS卫星时刻发布其位置和时间数据信号,用户接收机可以测量每颗卫星信号到接收机的时间延迟,根据信号传输的速度就可以计算出接收机到不同卫星的距离。同时收集到至少四颗卫星的数据时就可以解算出三维坐标、速度和时间。2.1 GPS系统组成 GPS系统包括三大部分: 空间部分一一GPS卫星星座;GPS由21颗上作卫星和3颗备用卫星组成,它们均匀分布在六个相互夹角为60度的轨道平面内,即每个轨道上有四颗卫星。卫星高度离地面约20000公里,绕地球运行一周的时间是12恒星时,即一天绕地球两周。GPS卫星用L波段两种频率的无线电波(1575. 42MHz和1227. 6MHz)向用户发射导

6、航定位信号,同时接收地面发送的导航电文以及调度命令。 地面控制部分一一地面监控系统;对于导航定位而言,GPS卫星是一动态已知点,而卫星的位置是依据卫星发射的星历一一描述卫星运动及其轨道的参数一一计算得到的。每颗GPS卫星播发的星历是由地面监控系统提供的,同时卫星设备的上作监测以及卫星轨道的控制,都由地面控制系统完成。GPS卫星的地面控制站系统包括位于美国科罗拉多的主控站以及分布全球的三个注入站和五个监测站组成,实现对GPS卫星运行的监控。 用户设备部分一一GPS信号接收机。GPS信号接收机的任务是,捕获GPS卫星发射的信号,并进行处理,根据信号到达接收机的时间,确定接收机到卫星的距离。如果计算

7、出四颗或者更多卫星到接收机的距离,再参照卫星的位置,就可以确定出接收机在三维空间中的位置。2.2 G PS原理 GPS接收机可接收到可用于授时的准确至纳秒级的时间信息;用于预报未来几个月内卫星所处概略位置的预报星历;用于计算定位时所需卫星坐标的广播星历,精度为几米至几十米(各个卫星不同,随时变化);以及GPS系统信息,如卫星状况等。 GPS接收机通过对码的量测可得到卫星到接收机的距离,由于含有接收机卫星钟的误差及大气传播误差,故称为伪距。对OA码测得的伪距称为UA码伪距,精度约为20米左右,对P码测得的伪距称为P码伪距,精度约为2米左右。 按定位方式,GPS定位分为单点定位和相对定位(差分定位

8、)。单点定位就是根据一台接收机的观测数据来确定接收机位置的方式,它只能采用伪距观测量,可用于车船等的概略导航定位。相对定位(差分定位)是根据两台以上接收机的观测数据来确定观测点之间的相对位置的方法,它既可采用伪距观测量也可采用相位观测量,大地测量或上程测量均应采用相位观测值进行相对定位。 在GPS观测量中包含了卫星和接收机的钟差、大气传播延迟、多路径效应等误差,在定位计算时还要受到卫星广播星历误差的影响,在进行相对定位时大部分公共误差被抵消或削弱,因此定位精度将大大提高,双频接收机可以根据两个频率的观测量抵消大气中电离层误差的主要部分,在精度要求高,接收机间距离较远时(大气有明显差别),应选用

9、双频接收机。在定位观测时,若接收机相对于地球表面运动,则称为动态定位,如用于车船等概略导航定位的精度为30一一100米的伪距单点定位,或用于城市车辆导航定位的米级精度的伪距差分定位,或用于测量放样等的厘米级的相位差分定位(RTK),实时差分定位需要数据链将两个或多个站的观测数据实时传输到一起计算。在定位观测时,若接收机相对于地球表面静止,则称为静态定位,在进行控制网观测时,一般均采用这种方式由几台接收机同时观测,它能最大限度地发挥GPS的定位精度,专用于这种目的的接收机被称为大地型接收机,是接收机中性能最好的一类。目前,GPS已经能够达到地壳形变观测的精度要求,工GS的常年观测台站已经能构成毫

10、米级的全球坐标框架。3. 定位信息的发送这里我们用串口调试助手做卫星信号源来发送卫星定位信息数据,PC机作为GPS接收机,其程序流程图如下图所示。其中卫星数据波特率为4800 B/s. 通过启动Uart_tx函数发送信息:unsigned int Uart_tx(unsigned int data)volatile unsigned long ii = 0L; while(!(UART_LSR & 0x20) if(ii+1000000) return(0xffff); UART_THR = data;return(0);定位信息发送程序调异步串口初始化库函数初始化变量 发送数据=0调异步串口

11、发送库函数(发送数据+1)&0XFFN标志寄存器=0?结束Y4. 定位信息的接收由于GPS定位信息内容较少,因此多用RS-232串口将定位信息(NEMA0183语句)进行信息提取处理。从串口读取数据有多种方法,在对串口进行侦听之前需要打开串口,并对其进行相关参数配置,在成功打开并设置通讯口后,可采取轮询串口和事件触发两种方式对数据进行接收处理,在此采取效率比较高的事件触发方式进行接收处理,通过启动Uart_rx函数完成对GPS定位信息的接收:unsigned int Uart_rx(void)volatile unsigned long ii = 0L; while(!(UART_LSR &

12、0x01)if(ii+2000000) return(0xffff);定位信息接收程序return(UART_RBR);调异步串口初始化库函数其程序流程图如右图所示:初始化变量 调异步串口接收库函数将接收数据送LCD显示调异步串口发送库函数N标志寄存器=0?Y结束5. 提取GPRMC定位数据 对GPS进行GPRMC定位数据提取必须首先明确其帧结构,然后才能根据其结构完成对各定位数据的提取。对于本论文所使用的串口调试助手,其发送到计算机的数据主要由帧头、帧尾和帧内数据组成,根据数据帧的不同,帧头也不相同,主要有$GPGGA、$GPGSA、$GPGSV以及$GPRMC等。这些帧头标识了后续帧内数据

13、的组成结构,各帧均以回车符和换行符作为帧尾标识一帧的结束。而在此,我们所关心的是GPRMC定位数据提取,即提取如经纬度、速度、时间等定位数据,$GPRMC帧的结构及各字段释义如下:$GPRMC,*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

14、也将被传输) UTC 日期,ddmmyy(日月年)格式 磁偏角(000.0-180.0 度,前面的0 也将被传输) 磁偏角方向,E(东)或W(西) 模式指示(仅NMEA0183 3.00 版本输出,A=自主定位,D=差分,E=估算,N=数据无效)由于帧内各数据段由逗号分割,因此在处理缓存数据时一般是通过搜寻ASCII码$来判断是否是帧头,在对帧头的类别进行识别后再通过对所经历逗号个数的计数来判断出当前正在处理的是哪一种定位导航参数,并作出相应的处理。下面就是对缓存Data中的数据进行解帧处理的主要代码,在此只关心时间(日期和时间)和地理坐标(经、纬度):while(ii300) /提取出帧头$GPRMC if(dataii=36) / $ if(ii+1)300&dataii+1=71) /

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号