黄亚飞,翟艳辉,梁 杰,湛朝清,张东瑞
(国家海洋局 南海标准计量中心,广州 510715)
随着改革开放,我国经济社会高速发展,海洋运输业和海岸工程建设发展迅速,同样产生了大量的疏浚物,疏浚物的胡乱倾倒对海洋生态环境造成巨大破坏。海洋具有一定的自净能力,在不破坏海洋生态平衡的前提下可容纳一定废弃物,海洋倾废相比于陆地堆放、深埋地下和焚烧的处理方式,具有处置方式简单、成本低、对人类健康危害较小的特点。原国家海洋局根据国务院的授权,按照科学合理安全经济的原则选划了67个海洋倾倒区,大致均匀分布在我国近海上,使得倾倒至倾倒区的疏浚物能够自然的被海洋降解,使得疏浚物对海洋生态环境造成的污染最小[1-4]。
随着经济的不断发展,疏浚物逐年增加,从事海洋倾倒船舶越来越多,给海洋倾倒监管造成很大挑战。不当的海洋倾废行为不仅不利于海洋生态的可持续发展,还极大危害人类健康,因此必须采取前沿技术强化海洋倾废监管,以防止海洋环境污染。现有的海洋倾废监管系统接收到倾倒船舶的控制终端发送来的定位和吃水数据,数据直接在系统界面显示,造成显示界面数据点过多,船舶轨迹不清,监管人员制作监控报表时工作量大又繁琐。针对此问题,本文提出采用数据抽稀算法对接收到的数据进行抽稀处理,以减少数据量,抽稀后的数据与倾倒船舶原有的运行轨迹基本一致[5-6]。
海洋倾废监管系统主要由船舶信息采集器和数据处理信息系统两大部分组成,图1是海洋倾废监管系统组织架构图。船舶信息采集器通过定位天线实时采集船舶经纬度,通过吃水传感器实时采集船舶水位,通过通信天线实时将采集到的船舶经纬度和水位信息通过码分多址(code division multiple access,CDMA)网络和Internet网络传输至数据处理信息系统。通信服务器作为数据处理信息系统的运行平台,用于接收船舶信息采集器发送来的数据,并对数据进行存储、抽稀和轨迹生成,根据每次船舶装载前后水位差计算装载量,根据经纬度信息计算船舶轨迹,生成倾倒船舶运行报表,同时将生成的船舶运行轨迹和报表等信息通过Internet网络发送至计算机、手机、网络显示器,供监管人员进行海洋倾废监管[7]。
图1 海洋倾废监管系统组织架构图
海洋倾废监管系统的船舶信息采集器从成本、灵活性等方面考虑采用无线通讯模块和单片机作为船舶信息采集器的核心元器件,其硬件结构如图2所示。船舶信息采集器主要采集船舶水位和位置信息,将整合的水位和位置信息通过CDMA网络发送至数据处理信息系统。船舶信息采集器作为海洋倾废监管系统的数据采集终端,根据电路功能可将船舶信息采集器划分为主控制模块、定位模块、压力模块、通信模块、电源模块、NorFlash存储模块、Flash Memory存储器模块、USB下载接口和显示模块。
图2 船舶信息采集器硬件结构图
主控制模块综合考虑处理速度、功耗、接口数量及可扩展等因素,系统采用基于USB接口的微控制器Atmega2560作为主控制器,Atmega2560具有成本低、运行稳定可靠的优美,具有54路数字输入/输出端口,16路模拟输入端口,4路UART串口,16 MHz的晶振,控制和计算性能均可满足使用要求[8]。Atmega2560主控芯片按GPS授时的基准时间将水位和定位经纬度每分钟打包一个数据帧,将数据帧通过UART接口传输至通信模块。
定位模块采用型号为AT6558的定位芯片,AT6558定位芯片是中科微第四代低功耗GNSS SOC单芯片,支持我国北斗、美国GPS、俄罗斯GLONASS、欧盟GALILEO和日本QZSS,是一款六合一的多模卫星定位芯片,可实现联合定位、导航和授时, AT6558定位芯片定位精度3 m,能满足船舶在装载区和倾倒区的精度要求。AT6558定位芯片通过RX及TX接口与Atmega2560主控芯片建立通信,通过TX接口将定位数据传输给Atmega2560主控芯片。定位模块的定位天线安装在驾驶舱顶或船舶空旷位置,实时采集船舶位置信息[9]。
压力模块板载一个型号为MIK-P300的扩散硅芯体作为测压单元,Atmega2560主控芯片通过PF6模拟接口读取压力模块发送的电流信号,即可换算成压力值。压力模块可测量范围0~500 kPa,即0~50 m,对应输出电流为4~10 mA,精度达到满量程±0.2%,可满足全部倾倒船舶吃水深度的测量要求。压力模块中的压力传感器安装在倾倒船舶海底门过滤器或相连的海水管道上,实时采集船舶水位信息[10-11]。为减少船舶电源电压波动对压力模块输出信号的影响,船舶信息采集器采用5 V低压差线性稳压芯片进行稳压。
SIM2000C通信芯片是SIMCOM的一款CDMA模块,工作频率为单频800 MHz,可以低功耗实现语音、SMS和数据信息的传输,最大上行速率153.6 Kbps,传输速率能满足水位和位置信息的传输要求[12]。Atmega2560主控芯片通过UART接口把数据帧发送到的SIM2000C通信芯片,SIM2000C通信芯片将数据发送到CDMA网络,再经过Internet的ADSL(非对称数据环路)数据中心将数据帧发送到通信服务器,完成数据的上传。
通信帧数据结构用以规范船舶信息采集器与通信服务器通信时的传输数据格式。数据帧结构由帧长度、帧类型码、流水号、设备编号、数据部分和校验码六部分组成,其中数据部分包括时间、经纬度和水位,数据帧结构如表1所示。
表1 数据帧结构
帧类型码分为登录类型码和心跳类型码,登录类型码用于与通信服务器建立连接,心跳类型码用于与通信服务器传输数据。船舶信息采集器每发送一次帧,流水号自动加1。设备编号为船舶信息采集器唯一标识,通信服务器通过设备编号知道数据是由哪个船舶信息采集器发送的。数据部分的经纬度采用“度.度”格式,保留小数点后6位,水位保留小数点后1位。校验码对帧数据进行校验,保证数据的准确和安全。
船舶信息采集器需要预先设定船舶信息采集器设备编号、数据处理信息系统的网际互连协议(Internet Protocol,IP)地址及端口号等配置参数,NorFlash存储模块选用具有8 M容量的W25Q128存储芯片,其具有低功耗、宽温度范围、高存取速度和高安全性特点,可满足本系统设计要求。Flash Memory存储模块采用16 G容量的TH58TEG7DCJTA20存储芯片,将船舶信息采集器采集的数据存储在本地,其具有非易失性,断电数据不会丢失,同时具有容量大,可以存储1年数据。
海洋倾废监管系统的数据处理信息系统基于服务器操作系统Windows Server 2008进行设计。Windows Server 2008具有移植性好和安全性高,支持SQL Server数据库、Web、DNS、FTP、MALL、开发脚本等服务,能满足数据处理信息系统所需要的功能。
数据处理信息系统流程如图3所示,船舶信息采集器首先启动,向服务器通信模块发送套接字(socket)连接请求,如果服务器通信模块没有响应socket连接请求,船舶信息采集器继续向服务器通信模块发送socket连接请求,直至服务器通信模块响应socket连接请求,如果要中断连接,船舶信息采集器会向服务器通信模块发送socket断开请求,服务器通信模块响应socket断开请求,通信中断,未接收到socket连接断开请求,船舶信息采集器和服务器通信模块持续进行数据传输。服务器通信模块将接收到的数据存入SQL server数据库中,SQL server数据库接收到数据调用请求后,将数据发送到数据抽稀模块,数据抽稀模块完成数据抽稀后将数据发送到图形显示模块,进行轨迹显示、报表生成等。
图3 数据处理信息系统流程图
通信服务器与船舶信息采集器采用socket连接方式进行通信,通信流程如图4所示[13]。通信服务器端初始化后调用socket函数,然后调用指定本地地址函数(bind)绑定服务器IP及端口地址,调用等待连接状态(listen)对端口进行监听,调用接受连接请求(accept)等待船舶信息采集器连接。在船舶信息采集器初始化后创建一个socket连接,调用指定地址函数(connect)定义服务器主机地址和端口号,向通信服务器发送同步序列编号(synchronize sequence numbers,SYN),并进入等待通信服务器确认状态,通信服务器收到SYN,确认船舶信息采集器发送的SYN包,同时发送SYN包和确认字符(acknowledge character,ACK),通信服务器进入等待船舶信息采集器确认状态,船舶信息采集器收到SYN和ACK,向通信服务器发送ACK确认,此时船舶信息采集器和通信服务器建立连接,调用读函数(read)和写函数(write)开始数据传输。当船舶信息采集器要断开连接,调用通信关闭函数(close)向通信服务器发送断开连接请求,通信服务器收到断开连接请求,调用close,关闭通信连接。
图4 通信流程图
船舶信息采集器每分钟发送一个数据,大量数据直接呈现在图形显示模块,会大量占用计算机、手机、网络显示器的内存空间,不利于图形的显示。曲线抽稀算法中的步长法是沿连续曲线每隔一定步长抽取一点,其余点全部压缩掉,在相邻抽取点间用直线连接[14]。借鉴步长法的思想,根据数据的参数类型,以时间间隔、水位变化和距离变化为参数,在不改变数据所表达船舶运行轨迹的前提下,最大限度减少数据个数,算法流程如图5所示。Tn、Dn和Cn分别为原始数据对应的时间、水位和经纬度,Tm、Dm和Cm为抽取点对应的时间、水位和经纬度,如果Tn与Tm之差大于120 min,n自动加1,并将此时的Tn、Dn和Cn的值赋给Tm、Dm和Cm,否则,进入水位变化判断;如果Dn与Dm之差大于0.4 m,n自动加1,并将此时的Tn、Dn和Cn相应的赋给Tm、Dm和Cm,否则,进入距离变化判断;如果Cn与Cm之间的距离变化大于1000 m,n自动加1,并将此时的Tn、Dn和Cn相应的赋给Tm、Dm和Cm,否则,n自动加1。所抽取得到的数据点再发送至图形显示模块进行轨迹生成,原始数据作为存储在数据库中备查。
图5 数据抽稀算法流程图
根据上述数据抽稀算法流程图,运用Matalab对船舶采集信息器完整的装载、航行和倾倒数据进行数据抽稀计算,对计算好的数据运用Origin软件绘制数据抽稀前后生成轨迹对比,如图6所示。图6(a)为原始数据生成轨迹情况,图6(b)为抽稀算法数据生成轨迹情况,抽稀算法数据点连成的轨迹与原始数据点连成的轨迹线基本一致,从两图形成轨迹的数据点可以看出,图6(b)的数据点明显比图6(a)的少,同时形成的轨迹更简洁。
图6 数据抽稀前后生成轨迹对比
图形显示模块的功能主要有实时监控、轨迹回放、查询统计、工程管理、设备管理、任务管理、系统设置,如图7所示。实时监控通过选定一批船舶,实时的监控该批船舶的运行状态和轨迹,通过设置的刷新频率可以自动在显示界面上显示目前船舶实时位置。轨迹回放通过选定特定船舶,回放该船舶指定时间段的运行轨迹,同时在屏幕正下方出现相应的时间标尺,显示船舶水位。查询统计包括3个子模块,查询、统计和报表管理,查询包括实时数据和历史数据,统计包括违规明细、倾废量统计和疑似违规处理,报表管理包括工程监控日报、船舶监控登记和船舶安装与拆卸。工程管理是工程信息的新增与管理,包括工程信息管理、工程分配、许可证管理、发证单位、申请单位、作业单位、施工区和倾倒区的信息管理。设备管理是针对船舶信息采集器的添加和管理。任务管理是上级管理员审批下级管理员提交的信息,若上级管理员审批不通过则退回下级管理员修改。系统设置提供对用户的新增、修改、删除和查询操作,查看系统日志、在线用户,抽稀参数设置等操作。
图7 图形显示模块功能图
通过数据处理信息系统的设备管理子模块,将设备编号添加至系统,同时将此设备安装的船舶和该设备一同绑定在同一个工程中,将船舶信息采集器安装在船舶上,完成整个系统的调试。提取船舶信息数据采集器发送来的大约21天共30 000个数据,其中7天停工,14天作业,作业期间共倾倒32次,数据样本充足,原始数据每分钟发送1个,吃水深度精度为0.1 m,定位精度为3 m,通过对设置不同抽稀参数值,抽稀数据如表2所示。
表2 不同数据抽稀参数下的数据减少比例
分析数据我们可以发现在选取不同的时间间隔、水位变化和距离变化参数后,数据量减少95%以上。这是由于各参数的间隔段可以把重复的数据滤除,抽取关键数据点,抽取的关键数据点对滤除掉的数据具有代表性,表示在此时间段内船舶信息的关键参数,抽取的数据点组成的船舶轨迹与原始数据组成的船舶轨迹基本一致。通过测试,采用少量数据表达船舶倾倒各状态,有效降低重复数据的显示问题,同时减少了计算机内存的占用,降低了计算机的配置和运行成本,监管人员更方便、高效地进行倾废监管,满足了工程设计需求。
该设计方案已在海洋倾废监管中得到系统级验证,对提高海洋倾废监管效率起到了关键性作用。采用时间间隔、水位变化和距离变化作为数据抽稀算法的参数,既能在通信服务器数据库中存储原始数据,又能使图形显示的数据量减少95%以上,有效提升船舶轨迹的简洁度,在工程实际应用上具有明显优势。该设计方案对提高海洋倾废监管具有较高的通用性设计意义,后期还需深入研究基于数据抽稀算法的船舶倾废状态的自动判别,提高海洋倾废监管的智能化水平。