如何分析GPSLog

来源:互联网 发布:matlab二维数组 编辑:程序博客网 时间:2024/04/30 18:51


对于GPSLog有两种类型的文件,主要是依据其文件内容划分。文件内部存储的只是$GP开口的log,那么这种log称为NMEA log;文件内部除了$GP的log,还有其他的一些log,例如$PMTK的log等等,这种log称为GPS DebugLog。

其实一般情况下,可以通过NMEALog就可以看出来很多的信息。看NMEALog主要是对NMEA协议里的集中常用NMEA语句的各个字段熟悉即可。

1.   基本检查

GPGGA中可以得到UTC时间、经纬度、当前定位状态、使用的卫星数目、HDOP等等;

GPGSA中可以得到定位类型、所使用到的卫星ID;

GPGSV中可以得到可视卫星的数目,然后会一次列举出每科可视卫星的ID、方位角、仰角和信号强度

GPRMC中可以得到UTC时间、定位状态、经纬度、速度、UTC日期;

GPACCURACY是我司加入的获取定位精度的语句。

2.   检查SNR

根据SNR值是很好的判断卫星信号强弱的方法,强信号是指CNR大于40db,中讯号是指 CNR大于30db,弱讯号是指CNR大于20db,20db以下视为极弱讯号。我司根据的spec:6颗卫星SNR>40db,可以达到CEP:3m。

在测试传导性能/整机性能的时候,打入-130dbm的信号,如果可以看到收到的卫星SNR>40.5db,这表示贵司的硬件GPS天线做的不错;如果是在35db以下,可能就是表示硬件GPS做的很差喽。

3.   缺少哪些辅助资讯

如果产看是否触发AGPS,需要从GPS debug Log中分析,搜索PMTK730这个语句,因为辅助数据主要是看时间、位置、星历这三个。$PMTK730,0,0,0,1,0,1,1,0:从这个语句中的一个1表示缺少星历、第二个1表示缺少位置、第三个1表示缺少时间。PMTK710表示获取星历辅助数据,PMTK712表示获取时间辅助资讯,PMTK713表示缺少位置辅助资讯

当所有的辅助资讯都有拿到之后,显示出来的PMTK730后面的都会是0.

4.   查看卫星分布如何

通过看GPGSV里的卫星的方位角和仰角可以判断卫星的位置,通过判断GPGSA里的卫星可以知道当前定位使用了哪些卫星,这样就可以知道当前使用定位计算的这些卫星的卫星分布如何、信号强度如何。

通过GPGGA里的HDOP来判断当前卫星的分布如何,这个值越小越好。卫星分布越好,越有可能产生的定位精度越高。所以HDOP是定位精度的充分但非必要条件。

5.   当前有哪些星历被保存

通过搜索GPS Debug Log文件中PMTKEPH,该关键词会告诉你当前有哪些卫星是已经解析下来辅助资讯的。例如PMTKEPH,3,12,15,18表示有3颗卫星已经解析下来了星历数据,他们的卫星ID 是12、15、18.

6.   如何判断GPS已经正常工作

GPS工作起来首先会在GPS debug Log中打印出来PMTK010的字样,所以通过判断这个可以知道GPS是否有正常工作起来。

7.   星历数据是来自EPO、HotStill还是实时解算

如果知道当前使用到的卫星星历数据是来自实时接收解算下来的星历、还是EPP,或者是HotStill,同样也是通过判断PMTKEPH。

如果该关键字后面跟着的卫星ID是正整数,那么是实时接收解算下来的星历;

如果是浮点数,而且是负数,但是小数点后都是0,表示的是EPO;

如果是浮点数,而且是负数,但是小数点后的是非0,表示的是Hotstill;

8.   判断AGPS/EPO/HotStill是否工作

从GPS Debug log中搜索到wk,epo表示EPO有工作;

从GPS debug log中搜索到wkbee表示Hotstill有工作;

从GPS Debug log中搜索到wkssi表示AGPS有工作。

9.   H/W/C/F GPS Start

通过从打开GPS的第一条GPGGA语句来确认是什么启动方式,如果该语句中的时间是235944,那么表示没有时间辅助资讯,这是完全冷启动;如果有时间信息,但是位置是8960.0000,N,0000.0000,E,这表示是冷启动;果既有时间也有位置,可以看第一条PMTKEPH中是几颗有卫星的星历,如果一颗没有,那么这是暖启动;如果发现也有位置、时间、而且至少4颗以上的星历,那么这是热启动。

10. 定位

看定位精度,请以3D定位为准。因为2D定位下定位精度会很大。

0 0
原创粉丝点击