GPGSV 格式分析及错误分析 (2013-02-20 14:55:35)

http://blog.sina.com.cn/s/blog_9e2e5d14010170ih.html


使用蓝点共享回老家导航,上千里地导航正常,但是回程中出现一个小问题,报GPGSV语句解析异常,其中只提示一次,因此没有重视,但是有用户反应他的也出了同样问题了。并发来截图

因此我开始重视这个问题,并着手解决这个问题,出错的语句内容如下

 

GPGSV,3,3,14,30,24.0,70.0,15.3,31,5.0,125.0,19.6,80,47.0,336.0,20.7,81,52.0,43.0,21.8*4c

 

GPGSV是反应接收机搜索到定位卫星的相关信息,一次搜星如果搜3-4卫星即可定位,在环境好的情况下可搜到12个卫星,每一个GPGSV语句最多保存四个卫星的信息,因此超过

4颗星,就需要多条GPGSV语句来描述了。一次搜星所有GPGSV称为一个sentence (系列)

 

它的格式如下

 

标准格式: $GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF) 
  各部分含义为: 
  (1)一次搜星需要GPGSV语句总数;2;
  (2)当前GSV在整个序列里的编号,第一条编号为1,最后一条等于(1); 
  (3)当前可视的定位卫星总数。

接下来每4个一组,每组表示一个卫星的相关信息


  (4)PRN码(伪随机噪声码),整数用来充当卫星编号,取值范围是01 -32; 
  (5)卫星仰角(00~90度):;  
  (6)水平方位角(000~359度): 
  (7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息);    这用来表示卫星信号强度,信号越强定位效果越好,一般50db就是非常强的信号了。


然后按上述格式,描述下一个卫星情况。每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即: 
  (4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。

       最后*后面是校验值

 

  (CR)(LF)回车,换行。 
 

按上述分述出错数据


GPGSV, 3,3,14,   30,24.0,70.0,15.3,   31,5.0,125.0,19.6,   80,47.0,336.0,20.7,  81,52.0,43.0,21.8  *4c

 

总系列3个,这句是第3个 ,卫星总数是14!,(这里出错数据错误,3句最多表示12卫星,但是卫星搜到总数到14颗,按这个值处理数据就越界了)

而且这里编号出现80,81,难到美国又多发射了卫星?这样结合下可以知道,是在情况好情况下,能搜到14颗星,无论是构造还是解析GPGSV均出现了问题。

找到原因,处理起来就很容易了。



你可能感兴趣的:(GPGSV 格式分析及错误分析 (2013-02-20 14:55:35))