微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > GPS导航数据抽取的设计与研究

GPS导航数据抽取的设计与研究

时间:02-08 来源:互联网 点击:

上4个方程式可计算出待测点的坐标x、y、z和接收机的钟差Vt0。因此导航数据能够有效计算必须保证接收到4个卫星的星历。对固定格式的导航电码中提取卫星符号进行确认,通常,3颗卫星可以在二维平面上得到经度纬度坐标,为精确起见,4颗卫星可以保证获得三维空间坐标。

2.2 有效数据提取和数据格式转化

有效数据的提取和数据格式转化都是在回调函数中进行的[5]。eVC支持CString类型格式,由于定位信息格式固定,本文先利用mbstowcs函数将缓存中的字符型数据转换为宽字符型,然后强制转化为字符串类型。

WCHAR wszbuf[512];

mbstowcs(wszbuf,(char*)buf,strlen((char*)buf));字符串类型进行处理,然后利用Find函数,搜索$GPGGA,

strRecv.Find(_T($GPGGA),1);

state=strRecv.Mid(pos+37,1);

得到GPS 质量指示指标

strSatelliteNum=strRecv.Mid(pos+39,1) ;

int iSatelliteNum=atoi((LPSTR)(LPCTSTR)strSatelliteNum);

当iSatelliteNum>3 state = =‘1’时说明接收到的是有效数据,可对strRecv中的数据进行提取,并赋给经纬度和时间变量。

strLatitude =strRecv.Mid(pos+16,8);

strLongitude=strRecv. Mid(pos+27,9);

double Longitude_new = (atof(strLongitude))/100;

这样将经度纬度信息提取到GPS结构数组中,后续的处理和高层决策可根据该结构中存储的数据作出相应的处理。

3 程序运行结果分析

结果分析,可知通过串口在不同时段接收的数据是比较稳定的,能够以此为基础提取到有效的数据和定位信息,本系统结合超图格式(pwr,pmw)的北京市公交站点地图数据,在编写程序时调用超图接口函数打开电子地图数据,将串口接收到的数据读入,得到附近的公交站点并以文本方式输出到界面。

本文结合相关程序代码陈述了基于eVC环境下串口通信程序的设计,对GPS全球定位系统定位信息的接收和数据提取进行了详细的分析和讨论。主要解决了EVC编程环境下实现串口通信功能、对GPS定位信息的提取和处理的问题。实验对wince5.0自定义平台下开发GPS接收装置给出了代码样例供参考,并已应用于智能阅读器项目中盲用定位模块。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top