APP下载

基于有限状态机对GPS数据快速提取的研究

2016-07-01天津理工大学电子信息工程学院姜道连重庆邮电大学自动化学院杨成成王皓辰

电子世界 2016年10期
关键词:数据处理

天津理工大学电子信息工程学院 王 江 姜道连重庆邮电大学自动化学院 杨成成 王皓辰



基于有限状态机对GPS数据快速提取的研究

天津理工大学电子信息工程学院 王 江 姜道连
重庆邮电大学自动化学院 杨成成 王皓辰

【摘要】本文提出一种基于有限状态机的GPS数据过滤与清理方法,提高GPS系统中数据的质量。结合u-blox公司的NEO-6M模组以及ST公司提供的Cortex-M3内核的芯片,主要叙述怎样使用有限状态机对GPS数据进行快速分析、识别以及提取。在大量的GPS数据中快速识别提取所需的数据,很大程度上提高了解析的准确性与快速性,降低漏读、多读、误读带来的误差。体现出在信息的提取处理过程中有限状态机思想的优越性,这种方法对数据处理具有很高的实用价值,在大数据时代的今天显得愈加重要。

【关键词】有限状态机;数据处理;GPS;Cortex-M3

0 引言

近年来,GPS广泛渗入军用、商用、民用、实验室等各个领域,信息时代发展的今天离不开导航系统。某些实验室已经加紧导航系统的研发,只要涉及到有关信息的产品的研发,就会涉及到数据处理,由于原始的GPS数据包含的信息比较多,数据量大,它包括了地理定位信息,推荐定位信息,地面速度信息,GPS定位信息,当前卫星信息,可见卫星信息等多种数据类型的信息。对于有些简单应用来说,并不是所有数据都是必须的,所以,我们需要从大量的数据中提取出核心数据。然而有限状态机方法就是使用简单而有效的技术手段从大量的GPS信息中快速甄别、提取关键有用的数据,它的状态是有限的,各状态之间相互转移,构成整个状态机系统。

1 GPS

GPS(全球定位系统)由美国军方研制,是一种具有全时段、全天候、全方位的高精度卫星导航系统,抗干扰性好,保密能力强。它的数据主要包含以下六大信息类型:$GPGGA、$GPGLL、$GPGSV $GPGSA、$GPRMC、$GPVTG[1]。可见GPS芯片在正常工作状态下更新一次卫星传送来的数据包所包含内容繁多,很多信息对于多数应用系统来说都是冗余信息,快速识别提取关键的有用信息是研究的核心。

2 有限状态机

FSM描述了特定算法,是计算机科学、离散系统和数学建模的有力工具,能够简化系统的复杂性,我们可以假定系统是在某个状态下,由于状态的固定性,在有限的时间里,固定状态从前驱状态向后继状态转移。有限状态机的工作方式是在事件驱动的基础上建立的,包括了状态→转移→事件→动作四个要素。

3 主系统设计

NEO-6M模组与Cortex-M3内核的嵌入式主控单元通过UART接口连接,从数据包中提取出有用信息再与应用层软件共享,这里为了验证有限状态机方法的实际效果,将主控单元再与USB-TTL模块通过UART接口连接,USB-TTL模块通过USB口与电脑连接,用于测试提取数据的结果。快速识别并提取GPS数据的主系统示意图如图1所示。

图1 系统硬件连接示意图

GPS模块设计:

模块采用u-blox公司的NEO-6M模组,默认采用NMEA-0183协议输出定位数据,通过UBX协议对其进行配置,搜星能力强,追踪灵敏度高达-161dBm,数据输出时,刷新频率可以最高达到5Hz,其原理图如图2所示。

图2 GPS接收机原理图

4 GPS数据识别与提取

4.1GPS数据格式

GPS数据帧主要有帧头、帧尾和帧内数据组成,由于数据帧的不同,帧头也不同,常用的主要有$GPGGA、$GPGSA、$GPGSV和$GPRMC。以$GPRMC帧为例,结构及各字段如下[2]:

GPRMC,102020.00,A,3903.45973,N,11708.02472,E,0.043,350.33,031214,-6.2,E,A*7A

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>

<1>UTC时间、<2>定位状态、<3>纬度、<4>纬度半球、<5>经度、<6>经度半球、<7>地面速率、<8>地面航向、<9>UTC日期、<10>磁偏角、<11>磁偏角方向、<12>模式指示[2]。

4.2接收与解析数据

本系统中,NEO-6M模组实时更新当前定位的数据,再通过UART串口发送给Cortex-M3内核的处理器,当状态处于启动标识符时,立即启动解析提取功能。通过在大量数据间的状态转移,对数据信息进行区分,经过帧结构、字段分析等过程,最终快速得到所需要的数据。本系统状态转移图如图3所示。

图3 状态转换图

4.2.1帧结构分析

根据接收到的数据,进行信息检索分析。s1状态分析出“$”,自动转到下一状态分析出“G”,以此原理,直到找到$GPRMC这一帧数据,然后进入数据提取状态,其中s1-s6为帧结构分析,s7-s10为字段分析。

4.2.2字段分析

在帧结构分析的基础上,进行信息提取,通过计算逗号的个数,提取出UTC时间,纬度,经度,UTC日期等相关核心信息。字段分析状态机图如3图所示,检索数据,根据原数据中逗号个数进行匹配,如匹配成功,则将逗号后面内容保存到数组中,遇到相应标志时,转移到发送状态,将数据数据共享到应用层软件,否则返回继续检索。UTC时间发送指令由第1个逗号触发,纬度发送指令由第3个逗号触发,经度发送指令由第5个逗号触发,UTC日期发送指令由第9个逗号触发,这一系列的状态转移均由相应程序控制自动完成,极大提高了识别数据的速度。

其中s0为初始状态,成功提取到$字符时,自动转移到s1状态,s2为成功提取到G字符状态,s3为成功提取到P字符状态,s4为成功提取到R字符状态,s5为成功提取到M字符状态,s6为成功提取到C字符状态,s7为成功提取到UTC时间状态,s8为成功提取纬度状态,s9为成功提取经度状态,s10为成功提取日期状态,s11为显示提取到的数据状态。其中seg_count1、seg_count3、seg_count5、seg_count9是逗号计数信号,seg_countA、seg_countV分别为数据有效和无效信号。RI、TI为接收和发送触发信号。

4.3大地——高斯坐标变换

由于现行的GPS系统基本采用WGS-84坐标系,为了将提取出来的数据显示到数字地图上,必须把大地坐标,过程如下:→本地高斯坐标。

下面给出高斯投影正算公式:

5 系统实现及测试

当解析成功后,主控单元将识别并提取的信息提供给应用层软件使用,如显示、存储、计算等。为了对系统算法进行简单验证,这里将检测结果通过UART发送到上位机进行显示,来验证算法的有效性和可靠性,通过实验验证得到如图4的实时提取数据示意图,经过反复实验和数据分析,本文提出的利用有限状态机提取GPS数据信息得到实际验证,不仅消耗资源少,而且快速有效,同时也给类似序列检测的问题提供了一种行之有效的技术手段。

图4 验证结果的截图

6 结语

GPS定位系统,作为全球卫星定位系统,在满足军事用途的同时,也在不断加紧民用化,科研化的进程。本文研究了解决识别GPS数据慢的问题,为以后的学术应用,生活导航奠定了坚实的基础。此文的研究方案性能稳定,消耗系统资源少。对于其他工程设计具有一定参考价值。本文采用有限状态机法,能够快速识别提取出所需的GPS数据。取代了人工对GPS数据的分析,达到快速而精准获取信息的目的,该方法在科技研究领域有较好的应用前景。

参考文献

[1]李文斌.基于.NET平台的车辆监控系统设计与应用[D].杭州电子科技大学,2014.

[2]杜楠.基于嵌入式系统的GPS车辆导航的设计与实现[D].哈尔滨工程大学,2012.

[3]朱华炳,冯霄,董伯麟.基于有限状态机的STEP-NC加工程序信息提取技术的研究[J].现代制造工程,2012,No.38712:44-47+65.

[4]王君刚,王解先,陈俊平等.U-Blox 6接收机解码与定位测试[J].测绘通报,2015,No.46411:24-27.

[5]潘宗鹏,柴洪洲,刘军等.基于部分整周模糊度固定的非差GPS精密单点定位方法[J].测绘学报,2015,v.4411:1210-1218.

[6]丁锁妹.北斗卫星导航系统观测数据的可用性分析[D].大连理工大学,2014.

[7]罗元剑,姜建国,王思叶等.基于有限状态机的RFID流数据过滤与清理技术[J].软件学报,2014,v.2508:1713-1728.

王江(1994—),男,贵州毕节人,大学本科在读,主要从事单片机的研究、信号处理的研究。

姜道连(1972—),男,安徽泗县人,讲师,主要从事信息信号处理,嵌入式技术等方面的教学研究。

杨成成(1993—),男,贵州毕节人,大学本科在读,主要从事单片机、过程控制的研究。

王皓辰(1994—),男,陕西宝鸡人,大学本科在读,主要从事单片机、自动控制的研究。

Research on Fast GPS Data Extraction Based on FSM

WANG Jiang1,JIANG Dao-lian1,YANG Cheng-cheng2, WANG Hao-chen2

(1.School of Electronic Information Engineering,Tianjin University of Technology,Tianjin 300384,China;2.School of Automation and Electrical Engineering,Chongqing University of Posts and Telecommunications,Chongqing 400065,China)

Key Words:Finite-state machine;data processing;GPS;Cortex-M3

Abstract:A method of GPS data filtering and cleaning based on finite-state machine is put forward in this paper,which can improve the quality of data in GPS system.In combination with the NEO-6M module of u-blox Company and the chip with Cortex-M3 core provided by ST Company,how finite-state machine is utilized to rapidly analyze,identify and extract GPS data is mainly discussed in this paper.The realization of rapidly identifying and extracting required data from a mass of GPS data has greatly raised the accuracy and speed of analysis,and reduced error due to omissive reading,excessive reading or misreading.The advantages of the finite-state machine thought in the process of information extraction and processing have been reflected.This method is of high practical value to data processing,and it is especially important in the age of big data.

作者简介:

猜你喜欢

数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
无人机测绘数据处理关键技术及运用
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
Matlab在密立根油滴实验数据处理中的应用