船载自动识别系统信息解码浅析
2013-08-22杨正峰
杨正峰 杨 磊
(上海海事大学,中国 上海 201306)
0 引言
船载自动识别系统(AIS)是船舶新一代的通信导航系统,依托自组织时分多址(SOTDMA)技术,实现对海上交通安全和船-岸、船-船间的自动识别、通信导航等功能。AIS概念自1994年瑞典等国首次提出到国际海事组织(IMO)、国际航标协会(IALA)、国际电信联盟(ITUR)共同强力推广,要求船舶强制安装AIS,前后仅仅经历了十年左右的时间,足以说明AIS系统对于船舶运行及其监管的重要性,AIS的出现是航海史上的一个里程碑。由于海上交通环境复杂多变,AIS的出现使船舶航行安全和海上交通安全有了保障[1-2]。AIS数据在ECDIS,ARPA,VTS,航行警告、通告,船舶监控管理系统等诸多系统中有着广泛的应用。对于AIS信息的准确获取和解码是船载自动识别系统能够充分发挥作用的基础和前提。
1 AIS系统介绍
1.1 AIS 系统构成
AIS的主要构成如图1所示:
图1 船载自动识别系统主要构成
AIS做为助航系统,通过VHF的两个频道 (87B161.975MHz和88B162.025MHz)进行收发同一信道上的船舶信息和安全相关信息,船和岸、船和船之间通过基站形成的通信网络,实现相互之间的数据通信。通信接口可以接收来自GPS/DGPS的导航定位信息,电罗经提供的本船对地航向COG,计程仪提供的本船对地航速SOG,同时,能够将AIS信息一同集成到电子海图ECDIS,自动雷达标绘ARPA以及VDR中[3]。用户接口为RS422通信协议,通过RS422/RS232转换器转换后的信号传送到PC机的串口,实现AIS信息的采集。采集的部分信息如下:
1.2 AIS通信协议
尽管AIS通信过程中会根据不同的操作模式采用不同的通信协议,分别是 FATDMA、RATDMA、ITTDMA、SOTDMA,但是 AIS 系统在连续运行时主要采用SOTDMA通信协议。自组织时分多址SOTDMA技术原理是将信道时间分割成固定的时间间隔,使得同一个信道发送的信息相互不干扰[4]。AIS网络中将1分钟做为一帧,一帧分为2250个时隙,每个时隙长度为26.67ms,每个时隙能够容纳小于256bit的一条消息,对于大于256bit的消息会占用2个及以上的时隙。每一帧的开始和结束均以卫星提供的世界时UTC时间为标志。
1.3 AIS 信息构成
AIS报文消息的主要由船舶向基站和其他船舶播发的消息,岸台管理中心向船舶播发的信息。其基本可以分为以下几种类型[3]:
1.3.1 静态信息:海上移动业务识别码(MMSI),呼号,船名,船长,船宽,船舶类型,船上定位天线的位置等。
1.3.2 动态信息:具有精度指示和完整性状态的船位,对地速度(SOG),对地航向,航行状态,转向率,UTC时间等。
1.3.3 航行信息:船舶吃水,目的港,预到时间,危险货物类型等。
1.3.4 安全信息:有关船舶航行相关的安全信息。
根据ITU-R M.1371规定,AIS信息总共分为22种不同的信息报文,具体报文类型如表1:
表1 22种报文的类型
2 AIS信息解码
AIS报文是整个船舶自动识别系统的数据交换和传输单位,包含丰富的船舶动态、静态以及和安全相关的数据信息,AIS报文解析是将接收到的无法直接识别的暗码数据解析成操作或者监管人员能够直接识别的明码信息。信息解码是AIS中关键技术之一。信息解码主要分为以下几个步骤:串口接收AIS报文、6bit二进制序列转换、帧校验正确、解析数据并显示。
2.1 AIS 报文结构
根据ITU-RM.137121和IEC6116222协议,AIS报文信息分为明码和暗码两种类型。 明码以 “$” 字符开始,如:$OSNT,1,2008,09,30,21,53,00,明码报文内容可以直接读取,此明码报文给出了接收的报文广播的具体时间。但是由于明码占用了更多的空间资源,IEC对明码的字符做了限制(少于等于82个字符)。
暗码则以“! ”开头,基本格式:! XXYYY,A,B,C,N,Data,V*HH。其中各部分相对应的内容见表2:
表2 AIS封装报文中各部分表示的内容
其中的校验部分采用的是循环冗余校验CRC的方法来确保通信的可靠性,CRC是一类在通信领域广泛地用于差错控制的方法,编解码简单且纠错能力强。AIS信息帧为高级数据链路控制规程HDLC的帧,其校验序列中使用CRC-32进行校验,其生成多项式为
2.2 AIS信息解码算法
为了将报文解析成明文信息,基本方法有两种:一、检索比对,将报文数据与表3中进行一一比对,转换成相应的6bit的二进制序列;二、根据表中数据间的相互关系,通过数学算法将8bit的报文信息转换成对应的6bit的二进制序列,算法流程图如图2所示[5-6]。鉴于AIS通常的数据量巨大,且图中的数学算法容易实现,采用第二种方法将报文转换成相应的二进制序列。
表3 8bit转6bit二进制表
图2 ASCⅡ码转换6bit二进制序列算法流程图
2.3 AIS 信息解码
以接收到的其中一条报文为例:
!AIVDM,1,1,3,B,169`K0001l8g@ADEaj55:42j00Rc,0*56
由文中算法编码将数据部分转换为6bit二进制序列如下:
本条报文对应的消息类型为1,根据ITU-R M.1371规定,其对应的解析如表4:
表4 第1类报文内容及解析结果
由此可知,通过文中的方法可以正确解析出AIS相应报文的内容,其他类型的信息解码原理、过程和第1类报文相似,对于一个时隙不能全部包含的报文,AIS将其分成多条报文分别进行传输,在解析之前,要将多条的报文合并成一条报文,参照ITU-R M.1371给出的对应的报文类型及内容进行正确的解析。
3 结束语
本文分析介绍了船载自动识别系统及信息解码方法,并通过实验解析获得了正确的AIS信息,充分说明了通过文中方法能够快速解码获得AIS数据,为其在之后的研究过程中的应用打下基础。鉴于AIS具有海量数据,而且多数应用需要数据的及时更新,因而推荐在实际AIS系统中应用多线程等技术来提升效率。
[1]孙文力,孙文强.船载自动识别系统[M].大连:大连海事大学出版社,2004.
[2]初秀民,徐海潮,万剑,等.基于多线程的船载自动识别系统报文解析[J].中国航海,2011,34(2):19-23.
[3]张颖.船舶自动识别系统(AIS)接口数据的研究与应用[D].大连:大连海事大学,2009.
[4]咸魁蔚.自动识别系统(AIS)协议的研究和实现[D].天津:天津大学电子信息工程学院,2010.
[5]徐志京.AIS信息编解码中CRC算法分析及程序实现[J].中国水运,2008,08(8):115-117.
[6]吴建华,陶德馨.自动船舶识别系统的信息解码技术研究[J].武汉理工大学学报,2007,31(4):595-598.