1基于labview的AIS信息解码系统研究黄洪琼,杜文胜,张萍(上海海事大学信息工程学院,上海200135)摘要:将基于虚拟仪器编程语言LABVIEW的开发环境引入到AIS信息的处理上,首先阐述了AIS信息的基本内容和解码的基本原理,然后对信息进行解码,以及解码信息的数据库存储等方面做了研究,完成了一个完整的AIS解码系统。实验结果证明该系统信息准确可靠,为后续基于AIS信息的研究和应用提供了重要的保证。其创新之处在于,首次将虚拟仪器开发环境引人进来,开发船舶交通方面的应用程序。关键词:LABVIEW;AutomaticIdentificationSystem(AIS);信息解码;数据存储中图分类号:xxxxxx文献标识码:xTheresearchofAISinformationdecodingsystembasedonLabviewHuangHongqiong,DuWensheng,ZhangPing(CollegeofInformationEngineering,ShanghaiMaritimeUniversity,Shanghai200135,China)Abstract:BringthedevelopmentenvironmentofprogramminglanguageLABVIEWbasedvirtualinstrumentintoinformationprocessingofAIS.AccordingtotheinformationcontentandthebasicprinciplesofAISinformationdecoding,thispaperhasrealizedthedecodingofinformationandaresearchonstorageofdecodinginformationdatabase.Onthewhole,ithascompletedafully-formedAISdecodingsystem.Theexperimenthasprovedthatthemessageprovidebythissystemisaccurateandreliable,anditistheimportantfoundationoftheapplicationinfollowingAISinformation.TheinnovationisfirsttimetointroducevirtualinstrumentonVessel.Keywords:LABVIEW;AutomaticIdentificationSystem(AIS);informationdecoding;Datastorage引言船舶自动识别系统AIS(AutomaticidentificationSystem)作为一种新的助航设备,对增强航运安全,提供船舶交通管理系统的服务与监控能力具有不可替代的作用,基于AIS信息的数据挖掘,分析海上交通状况,找到内在隐藏的信息特征,都依赖于海量的数据。构建AIS信息处理系统,也需要对AIS信息有所了解。进行算法原型化与验证,可以说LABVIEW是不可缺少的工具,将LABVIEW开发环境引入,研究其信息的解码与数据存储等技术,对AIS信息的开发与应用具有十分重要的意义。1AIS介绍与信息解码1.1AIS介绍AIS作为一种助航设备,其主要目的是保障航行安全,起到船只避碰,增强海事管理等方面的作用,它是在海洋交通不断发展、通信技术不断发展的基础上出现的产物。其功能与应用范围不断扩大。其网络结构主要由AIS基站、网络中心、客户端等几部分组成[1]。AIS的作用主要体现在它能够报告船位等信息,在船舶与岸基交换的信息主要有以下几种:静态信息、动态信息、航次相关信息、安全相关信息。因此其应用方面也主要是基于这些信息的应用。1.2AIS报文分析AIS电文以数据帧格式发送,符合ITU-RM.137121和IEC6116222两种协议标准,根据电文类型有明码和暗码两种,明文以语句方式进行数据传输,主要是GPS天线---------------------------------------基金项目:上海市教委科研创新项目11YZ140,交通部应用基础研究项目2009-329-810-030作者简介:黄洪琼(1973-),女,副教授,博士,从事智能信息处理研究。hqhuang@shmtu.edu.cn杜文胜(1986-),男,研究生,硕士在读,06dzxx@163.com张萍(1986-),女,研究生,硕士在读2接收的定位信息。明文比较简单,可直接读出信息,但信息传输量也有限[2]。暗码主要是通过VHF(甚高频)发出的信息,它比较复杂,但信息量丰富,而且保密性高。下面主要研究AIS暗码信息的解析。AIS数据传输采用面向比特的协议,共有256bit,其信息帧格式如表1所示[3]:表1AIS信息帧格式Table.1ThemessageformatofAIS导言信息主要是用于收发两端的时钟对齐;8bitHDLC帧标志(01111110),用于检测发射数据包的开始;要解析出来的数据就在包含在168比特里;然后是检测序列,采用循环冗余校验进行差错控制;接下来是结束标志;最后是缓冲位,用于使系统保持同步。AIS暗码是封装的信息包,以“!”开头,采用暗码的主要原因在于保密性好,而且能够按照特定的格式,发送更多的消息。其具体信息格式如下[4][5]:!abcd,x,y,z,u,v-v,s*hhCRLFabcd是标识符,指明是本船信息还是其它船只信息;x为传输这一消息的句子总数;y为本句在整个句子中的序号;z是连续信息的标识;u表示接受消息使用的通道;v-v为打包信息;s为填充字符;hh为检验和字段。下面将以实例具体说明其解码过程。通过AIS设备输出某一的电文信息如下:!AIVDM,1,1,,B,169ABpPP1h8eARbAqTGmJHa005sd,0*12x=1表示消息一个句子表达;y=1为信息第一句;z为空,表示属于同一个消息;由B通道接收消息。填充字符个数为0,其封装信息为:169ABpPP1h8eARbAqTGmJHa005sd。1.3AIS暗码解析上述对AIS报文信息进行了分析,是解码的基础,解码步骤:获得字符串,分别截取信息字段和校验字段,进行校验,如果正确则进行字符码转换。但数据是经过数字化或压缩编码,要获得文字信息,根据ITU-RM.1371和IEC61162-100协议,接口输出的是8bitASCII,首先要将每个字符表示的8bitASCII转化为6bitASCII,8bit转6bitASCII可以参照程序框图1[6],其子程序见图2。参照ASCII转换码程序,对输入的字符经过程序测试,结果正确,由此保证了压缩码转换的正确性。开始8位ASCII字符II80HI+28HII+20HII+28HI截取低6位ASCII即为所得的ASCII码图1ASCII转换框图Fig.1ConvertdiagramofASCII图2ASCII转换程序图Fig.2ConvertprogramofASCII信息正确后,调用编码转换程序,按照上述程序进行转换,封装信息有28个字符,则转换为168bit[7],这些比特信息代表的含义见表2:表2:168比特数据段含义Table.2Themeansofsection168-bitdata区域1-6bit7-8bit9-38bit39-42bit43-50bit51-60bit61bit62-89bit含义报文ID转发次数MMSI航向状态转向率对地速度船位精度经度区域90-116bit117-128bit129-137bit138-143bit144-147bit148bit149bit150-168bit含义纬度对地航向真航向UTC时间应用保留备用位RAIM标志通信状态上表对AIS信息的分析,以及对解码步骤作了详尽描述。接下来就是利用LABVIEW良导言(32位)开始标志(8)数据(168)监测序列(16)结束标志(8)缓冲(24)3好的编程环境完成解码程序设计。编写的AIS暗码解析程序见图3:图3:信息解码程序框图Fig.3Theprogramofinformationdecoding在程序设计中,最后将各种信息捆绑为数组,便于程序的模块化,提高间接性,便于替它程序模块的调用。2数据存储实现在构建AIS信息处理系统,进行数据挖掘时,如交通流分析,船只轨迹分析等,就需要建立一个数据库用来存储大量的信息,同时对信息有一定的存储管理和查询功能,便于后续工作的进行,以及各种分析模型做准备。因此要将上述经过解码的AIS数据存储到数据库里面。基于LABVIEW的数据存储有多种实现方法[8],常用的有如下几种。1、调用动态链接库DLL,实现数据库访问;需要开发大量的顶层软件,开发难度大。2、利用NI公司的数据库接口工具包;该工具包里集成了大量的函数,但价格比较昂贵。3、利用第三方编写LABSQL工具包;该工具包免费开发,它将底层ADO(ActiveDataObject)和SQL操作封装成一系列的函数,只需要利用这些函数和SQL语言,就能完成大量的操作。因此,在这里选择第三种方法。ODBC(OpenDatabaseConnectivity)是微软开放服务的数据库相关部分,提供了一组对数据库访问的标准应用程序接口。利用它们就能实现对数据库的访问。下面具体介绍LABVIEW和数据库连接的步骤。2.1ACCESS数据库的建立首先为AIS信息建立一个ACCESS数据源,它是ODBC到数据库的接口形式,用于描述数据库的各种参数,下面以W7系统为例说明其操作步骤,如下:控制面板\系统和安全\管理工具通过添加数据源、选择数据驱动等来完成Access数据源的建立[9][10]。其主要的操作界面见图4:图4:数据库建立主要操作界面Fig.4ThemainestablishinterfaceofDatabase此时就建立了一个数据源名为AIS_DataBase的数据库,提供信息存储空间。2.2数据写入程序实现利用LABSQL工具包里面的函数构建数据库访问程序,它提供开放的接口,利用SQL语言就能完成数据的写入、查询、删除等操作。下面简单介绍几个主要的操作。4如果接收到的AIS数据信息正确,则调用图5的写入数据库程序,进行数据写入。图5数据写入数据库程序Fig.5TheprogramofdatastoretoDatabase在完善AIS信息处理系统,对数据信息进行分析时,还需要进行信息的搜索、删除等操作。鉴于篇幅限制,暂不做具体介绍,AIS信息处理前面板界面见图6。图6:前面板界面Fig.6Interfaceoffrontpanel3结束语通信技术的发展为航运安全的发展提供重要的保障,应此对AIS系统的研究具有十分重要的意义。LABVIEW开发工具具有编程方便,界面友好的特点,能够和其它语言相结合。本文首先对AIS作了介绍,然后对其信息进行分析,给出了信息解码与写入数据库的程序。对基于AIS信息的应用与开发提供数据保证,特别是对数据挖掘提供了重要数据来源,对AIS系统的研究具有重要的意义。参考文献:[1]LinChangchuan,LeJie,WangGaoyao.AISSystemandtheApplicationsattheHarborTrafficManagement.IEEE.2008:1-3.[2]张雷,王建宇,戴宁.GPS信息接收模拟器的研究与开发[J].计算机测量与控制,2007.15(11):1~2.ZhangLei,WangJiangyu,DaiNing,ResearchandDevelopmentoftheReceiverSimulatorofGPSInformation[J].ComputerMeasurement&Control.2007,15(11):1~2.[3]刘传润.AIS信息采集方式的研究[J].天津航海.2007,(1):58~59.[4]李林.基于ECDIS的AI