AIS数据分析详解

技术总结 专栏收录该内容
44 篇文章 0 订阅

      想必大家在刚接触AIS时,对AIS数据的解码感到困惑,其是采用6位ASCII压缩码传输的,所以对AIS数据的正确解析,就是完成任务的关键所在。通过最近的一个项目,了解了AIS数据的解码分析过程,现将其流程和相关代码列出,此参表可以参见快乐鹦鹉的AIS解码算法一文http://blog.csdn.net/happyparrot/archive/2007/04/26/1585185.aspx。

 

结合自己在AIS项目中的理解,提出几点需要注意的方面:

1. AIS的数据校验采用的是异或校验,校验的数据时!和*之间的数据,比如原始数据位:!ABVDM,1,1,,B,169G?I0P007k`vT;BwhP7gv4@d0e,0*0A

则校验的数据应该是:ABVDM,1,1,,B,169G?I0P007k`vT;BwhP7gv4@d0e,0。下面列出异或算法的代码:

 

2、关于AIS数据各个数据段的具体含义

 

!aaccc,x,y,z,u,c-c,v*hh <CR><LF>

aaccc为标识符,指明本条句子封装的背景信息;
x为传输该条消息所需的表达句数目(至多为9条);
y为本条句子在序列中的牌号;
z为同一序列的统一标识(0-9的循环);
u表示接收该条消息时对应的频道(A/B);
c-c为封装信息,需要映射6位ASCII码;
v表 示填充的字符,因为封装的字符需要是6的整数倍,若不满足,则需要填充0-5个字符;
hh表示的是检验和字段。

 

这里需要说明的是:关于填充字符,已经填充在封装信息,时期成为6的整数倍,在数据解码过程中无需在额外填充。

 

3、关于数据解析过程中,有些数据需要使用ASCII码,比如说船舶类型,这就涉及到将解码的二进制进行编码的问题,下面将实现程序列出:

此算法对应的参表请查看 GB-T20068-2006船载自动识别系统(AIS)技术要求



如果有问题及建议,欢迎关注微信公众号:


  • 1
    点赞
  • 31
    评论
  • 27
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值