金枪鱼电浮标卫星通讯与数据压缩实现

2017-01-13 03:04倪汉华胡佩玉汤涛林谌志新
渔业现代化 2016年6期
关键词:声纳浮标通讯

倪汉华, 胡佩玉, 汤涛林, 谌志新, 江 涛

(农业部渔业装备与工程技术重点实验室,中国水产科学研究院渔业机械仪器研究所,上海 200092)

金枪鱼电浮标卫星通讯与数据压缩实现

倪汉华, 胡佩玉, 汤涛林, 谌志新, 江 涛

(农业部渔业装备与工程技术重点实验室,中国水产科学研究院渔业机械仪器研究所,上海 200092)

针对目前海上渔船与流放在海面的浮标远距离通讯传输时存在信息易丢失、通讯费用高以及数据显示终端不够友好等诸多问题,对卫星通讯终端(IDP)的数据结构与哈夫曼压缩算法展开研究。采用图像分级式哈夫曼编码压缩方法,利用卫星信号收发服务器提供中转,对卫星回传的40组典型数据进行编码解码试验。结果显示,通讯数据流量最高压缩比达到0.58,平均节省通讯成本40%,客户端人机界面友好,实现卫星定位与浮标各项参数的实时显示,控制命令延迟时间仅为5 s。最终将压缩算法部署在卫星通讯终端并实时接收远程数据后,控制命令收发数据包完整、无丢帧,声呐探测图像清晰可辨,数据包压缩效果显著,达到了预期效果。此浮标已经应用至南海部分金枪鱼围网渔船,渔船可以通过船载客户端与浮标实现有效通讯并实时接收金枪鱼鱼情信息,通讯成本在可接受范围内。

浮标;卫星通讯;哈夫曼编码;数据压缩

金枪鱼资源探捕能力是反映国家渔业科技实力的一个重要方面。西班牙 Zunibal公司开发的金枪鱼跟踪浮标系统,能够利用卫星在世界范围内获取到海洋鱼群信息,可实现浮标方位、海水流速、水温等参数的实时采集;同时浮标上带有声纳装置,可显示金枪鱼鱼群的详细信息,并全天候进行数据采集与发送。由于其英文操作界面、繁琐的卫星搜寻与设置步骤等原因,在国内的应用不多。美、法等国于1998年建立了基于全球海洋观测网(ARGO)的浮标观测系统,目前已经可以快速、准确、大范围地收集全球海洋上层的海水温度、盐度剖面信息数据等[1-5],但因设备价格高、受进口约束等因素影响,在国内实际应用也不多。国内也有相关产品已经研发成功并投入使用,但总体上存在浮标能耗高、壳体大、通讯数据传输不及时、信息丢失、通讯费用高以及数据显示终端不够友好等诸多问题[6]。

本文研究的浮标系统主要包括声纳系统、卫星通讯系统和终端显示系统。在前期研发中,声纳探测系统已经形成比较成熟的应用方案,通过卫星通讯的数据也能够实现网页客户端浏览[12]。然而在实际应用中,却存在着通讯数据传输与显示延迟、声纳数据丢包等一些问题,同时也面临卫星通讯费用高的老问题。

1 系统及通讯设计

通过电子浮标获取的海洋环境信息以及鱼群生物量信息,无论采用哪种科学探测方法[7-11],均必须通过卫星远传系统传送至用户客户端,并最终在渔业现场显示,以提高作业效率。由于国内通行的移动通讯系统无法在海洋环境使用,因此通行的做法是使用国际海事卫星通讯系统[13-15],利用海事卫星与分散在各个海区的浮标进行实时通讯,并将数据传送至服务商提供的网关服务器,服务商将加密的数据解析后上传至互联网[16],这样世界各地的通讯终端就能够通过用户名与密码接入网关收发各自的数据。

1.1 系统设计

系统的整体设计流程如图1所示。利用SkyWave IsatDate提供的全球化双向通讯卫星系统,通过自由编程实现可变数据量的实时传送,同时支持多点广播传送。移动设备通过模块自带的微处理器和卫星天线将数据发送至卫星,卫星将中转的数据传送至地面收发站后送给IsatDate网关,网关即可以通过互联网发布数据,PC客户端可以在世界上任何具有互联网连接的设备上访问数据。

图1 数据通讯系统结构图Fig.1 Structure diagram of data communication system

采用的卫星通讯终端是SkyWave IDP690。IDP模块和包括声纳系统、太阳能系统在内的硬件系统集成后封装在圆形外壳中[10]。移动终端模块即为IDP690模块,带有GPS接收器,具有嵌入式可编程微控制器,配有高性能天线,并提供完整的PC软件Traffic View。由于该软件灵活性不强,而且每次发送与接收的数据量比较大,导致通讯成本上升。通过对卫星模块进行自由编程,重新编写终端显控软件,从而实现软件的个性化定制功能,以降低通讯成本。

IDP模块芯片的编程控制是基于Lua脚本语言系统编程实现,而客户端的硬件通讯接口是标准串口,遵循232/485接口协议。为了能够自由控制数据收发和终端显示,需要对Lua脚本语言以及IDP模块卫星数据的通讯协议展开研究。

1.2 数据通讯设计

Lua脚本语言内核极小,完全遵循C语言的标准而编写,可以跨平台运行,在所有操作系统都可以编译实现。程序的运行可以直接应用交互模式实现,是所有脚本语言中运行速度最快、效率最高的,最终编写的脚本直接下载至卫星模块存储器就可以运行。

通过对卫星通讯模块的深入研究,发现IDP690模块中已经集成了两类基于Lua脚本系统的程序服务区,分为核心服务区和用户服务区。核心服务区主要提供基本的数据收发、存储器访问、GPS数据请求等基于硬件底层的功能性函数模块,而用户服务区则可以由客户自行编写扩展程序并嵌入到Lua脚本系统,这样用户便能够实现最终的软件自定义,实现更有针对性的需求和功能。在利用用户服务区编程时只需调用脚本框架中已经定义好的功能函数就能实现数据的收发和解析等功能。

将需要收发的数据按照功能块分类,包括各类传感器返回参数、GPS定位信息、防盗报警信息、上位机控制信息以及声纳探测图像信息[12],利用固定数据协议将这些信息打包后进行传送,就能够实现远端卫星通讯。

如图2所示,首先利用系统级连接开始函数以独占模式连接串口,并对串口进行相关配置,此时串口的操作者只能有一个,否则会导致错误;然后将需要发送的消息进行数据压缩后传入消息队列等待响应,此时利用事件等待函数创建一个循环重复查询是否触发事件结构,当触发事件后即调入子程序对事件实施响应,将压缩打包后的数据输出至串口发送出去。其中比较重要的一点是,该循环的周期决定了数据收发频率,对于温度和GPS定位数据等变化速率较慢的数据,将其放入一个慢速循环的发送队列,而对于报警和上位机控制信号等需要及时响应的信息,将其放入一个快速循环发送队列,这种区别式的信息传送机制也在一定程度上避免了通讯流量的浪费。当收到上位机传送过来低功耗静默命令后,上述数据传送循环结束,此时利用串口结束函数将串口缓冲区数据清除,避免数据溢出。整个通讯流程结束,然后利用系统级结束函数将打开的串口连接关闭掉,否则可能会有无效的数据发送出去,造成通讯费用的浪费。

图2 数据通讯流程图Fig.2 Flow diagram of data communication

处于低功耗静默模式的程序会暂停所有硬件和软件功能,在3 h后会再次查询是否有启动命令,如果没有,将再次静默3 h。如此设计软件的目的是为了减少系统功耗,提高浮标系统待机时间。

2 通讯协议与数据压缩

在整个卫星通讯过程中,通信服务商会对通过卫星终端发送的数据按照字节数的多少进行收费,并且价格非常昂贵。在以往的浮标应用中,渔业从业者对卫星数据收发产生的通讯成本比较敏感,他们希望通过尽可能低的成本获取更多有效的浮标信息量,这种要求是可以实现的。因为通讯服务商提供的软件不太会考虑精简数据的流量,甚至有可能会为了提供所谓更多的信息而增加不必要的数据通讯工作,这样反而会增加数据流量。而通过研究底层的通讯协议并实施一定的数据压缩,则完全可以实现自定义的数据消费。

2.1 数据通讯协议

IDP690模块在RS232协议基础上进行了数据段的定制,并将它称为DMR通讯协议,通过解析得到的数据结构如图3所示。

图3 DMR通讯协议Fig.3 Communication protocol

比较重要的是Checksum字段,此字段用来对数据的完整性进行校验,如果校验不正确将丢弃该数据,以免错误的数据收发造成不可预期的后果,校验公式如下:

C=65 535-(P+L+M1+M2+…+Mn)

(1)

式中:C—Checksum校验和;P—Prefix前缀数值;L—LengthByte数据字节长度;M1、M2…Mn—MessageByte1消息字节长度,所有数据均无量纲,由十六进制数值表示。

综上,需要发送声纳探测数据时只需向串口端发送如下字符串(十六进制)即可:01 03 01 00 D6 02 00 7F 01 00 (声纳数据) FE 78 04,这样就能够完成一段声纳数据的卫星传送过程,然后在客户端完成对数据的解析与显示,就能得到需要的定制信息。

2.2 数据编码压缩

声纳数据最终会解析成图像信息,信息量越大,导致的通讯成本越高,因此对数据进行压缩将是这里的研究重点。

传统的二进制编码对0~9每一个数字都采用8位二进制编码对应表示[17],如果重新编码后针对每一组声纳数据都进行一次重新编码可以最大限度地对数据做精准改编,而动态哈夫曼编码就是在每次传送数据之前都进行一次重新编码,但这样需要耗费的运算开销比较大而且运算时间较长,考虑到功耗限制的板载系统的单片机运算能力有限,无法对采集的大量数据进行低功耗预处理,所以最终采用了经典的哈夫曼固定编码压缩算法,此算法的思想是通过一组固定编码利用较少的二进制位来表示一些经常出现的数据,而用较多的二进制位来表示那些不常出现的数据[18],这样便可以节省数据空间,完成数据压缩。

3 结果与讨论

3.1 压缩测试结果

声纳的探测数据在进行图像转换时,会将数据计算后转换成不同级别的对应颜色块,并随着时间推移将色块移动刷新,将蓝色、绿色、黄色、褐色、粉色、红色6种颜色分为10种级别的灰度,将不同目标强度用不同的色块来显示(图4)。

图4 压缩前后数据图像对比图Fig.4 Data images contrast before and after compression

由于强度值从小值到大值出现的概率会逐渐减小,能量大部分集中在低强度显示范围,正好吻合哈夫曼编码思想。选取表征海水深度50 m范围的声纳数据进行测试。深度分辨率为0.05 m,相当于在每一列图像中每隔5 cm出现一个表征水下反射信号强度的色块,而每一帧图像由连续12列色块数据组成,这样每一帧图像需要呈现12 000个色块数据,这一组数据组成二维数组后存储在PC机中,通过离散余弦变换(DCT)对能量进行集中化处理并量化,利用量化后的结果与参考系数的差值进行哈夫曼编码[19]。对数据进行统计后,将10个字符重新编码(表1),采用统一的编码表,在数据压缩与解压缩两端同时使用。

表1 哈夫曼编码表

图4中出现概率最大的为深蓝色色块,用0(10)表示,其次为浅蓝色,用1(1110)表示,依次类推,根据出现的频率依次形成了哈夫曼编码树[20],在数据接收端对每个字节的二进制码进行扫描。因为编码都是双数二进制出现,采用2位二进制扫描方式解析出对应的符号后,再还原成对应的信息数据,就可以在客户端[21]以图像显示。

利用表1列出的同一组编码和对应的压缩算法,对抽取的40组回放声纳数据实施压缩后,统计各自的数据二进制位占用情况,最终统计结果显示,数据压缩率最高可达42%。图5显示了每4组压缩比数据平均后的40组统计数据对比情况。

图5 压缩前后声纳数据量对比Fig.5 Data volume comparison before and after sonar data compression

3.2 讨论

从数据的压缩量可以得出,压缩比均在0.85以下,最高0.83,最低0.58,平均0.64。从图4的压缩效果对比图可见,鱼群信号特征非常明显。数据压缩前(左图),目标强度较强的鱼群集中在图像中间部分,且呈连续分步形态,表示鱼群比较集中稳定;数据压缩后(右图)与左图用肉眼几乎无法分辨出差别,图像压缩后的数据量损失对判断鱼群信息而言基本可以忽略,稍微具备一些声纳识图经验的渔民就能够很容易地从右图看出所需要的相关信息。必须指出的是,图4的原始数据经过哈夫曼编码后的压缩比是0.71,并不是压缩最好的一次,而是选取一组中间状态的数据作为个例。

从数据压缩的稳定性来讲,之所以会出现如图5所示压缩比不稳定的情况,推测原因可能是因为每次需要压缩的二维数组的数据值不同,能量分布集中度不相等,而采用的哈夫曼编码树却是同一组编码,因此对数据出现的频次估算产生了误差[22-24]。

为了验证推测结论,取10组声纳数据进行动态哈夫曼编码,然后依次进行压缩测试,结果得到的平均压缩比值为0.56,接近表1中哈夫曼编码的数据压缩比。由此可见,如果对硬件功耗要求有所降低,并采用更高速和存储容量更高的处理器芯片,再实时地对每次传送的数据进行重新编码,将有助于解决压缩率不稳定的问题。但是,在浮标主芯片已经集成了诸多功能的前提下,为了保证多任务并行处理并降低系统功耗、保持信标长时间不间断工作,必须做出一定的妥协。就目前这样的压缩比,对海上通讯来讲,可以节省相当大的一笔费用,同时对上传至卫星的数据选择不同的更新速率,实施分类传输后,平均通讯成本已经可以减少将近40%。

另外由于上述的编码压缩均是在对水声回波信号强度做了10个不同等级的量化后实施的,而目标强度的参考是金枪鱼的目标强度,量化误差自然会造成对水下目标的估计误差,因此不太容易将金枪鱼与其它目标作有效区分。

4 结论

本研究在完成硬件设备的基础上,通过对IDP模块的卫星通讯协议进行剖析,研究实践了哈夫曼算法在渔用声纳数据压缩中的应用,通过最终的数据包测算,统计出数据的压缩率最高可达到0.58,极大地压缩了卫星数据的通讯成本,解决了卫星电浮标通讯费用昂贵的难题。并针对性地开发了定制化的软件客户端。客户端界面美观、友好地实现了浮标各项数据的实时显示,能满足渔民的现场作业需求,实现了具有自主知识产权的国产化渔用浮标的更新迭代,并可以此为基础,进一步优化研究多参数海洋智能浮标系统。

[1] MINORU K, SHINSUKE T, TSUTOMU T,etal. Analysis of juvenile tuna movements as correlated random walk[J]. Fisheries Science, 2011,77(6):993-998.

[2] KOLDING M S, SAGSTAD B. Cable-free automatic profiling buoy [J]. Sea Technology, 2013, 54(2): 10-12.

[3] ORGANELLI E, BRICAUD A, ANTOINE D.etal. Multivariate approach for the retrieval of phytoplankton size structure from measured light absorption spectra in the Mediterranean Sea (BOUSSOLE site) [J]. Applied optics, 2013, 52(11): 2257-2273.

[4] TSABARIS C. Monitoring natural and artificial radioactivity enhancement in the Aegean Sea using floating measuring systems [J]. Applied Radiation and Isotopes, 2008, 66(11): 1599-1603.

[5] CHANG Z Y ,TANG Y G ,LI H J. Analysis for the deployment of single-point mooring buoy system based on multi-body dynamics method[J].China Ocean Engineering, 2012, 26(3):495-506.

[6] 王波,李民,刘世萱,等.海洋资料浮标观测技术应用现状及发展趋势[J].仪器仪表学报,2014,35(11):2401-2414.

[7] 李琛,唐原广.SZF型波浪浮标标准化定型[J].海洋技术,2009,28(4):8-10,39.

[8] 许占堂,杨跃忠,孙兆华,等.海洋光学浮标实时图像监测系统的设计与实现[J].光学技术,2008,34(S):157-159.

[9] 杨会金,王嘉鑫,姚武军. 基于声学和无线电通讯的海洋中继浮标技术[J].舰船科学技术,2011,33(5):78-81.

[10]蔡励勋. 海洋多参数水质在线自动连续监测浮标的应用[J].中国水产,2008(4):57-59.

[11]宋秋红,唐歆,兰雅梅,等.海洋渔业环境监测浮标的优化设计[J].渔业现代化, 2010, 37(5):47-49.

[12]倪汉华,杨海马,谌志新,等.渔用声纳电子示位标防盗技术研究[J].上海海洋大学学报,2014,23(2):284-289.

[13]赵聪蛟,周燕.国内海洋浮标监测系统研究概况[J]. 海洋开发与管理, 2013, 30(11):13-18.

[14]王辉赞,张韧,王桂华,等. Argo浮标温盐剖面观测资料的质量控制技术[J].地球物理学报,2012, 55(2):577-588.

[15]何世钧,陈中华,张雨等.基于物联网的海洋环境监测系统的研究[J].传感器与微系统,2011,30(3):13-15.

[16]琚汝强,刘敬彪,于海滨.基于铱星的浮标远程监测与数据传输系统[J].电子技术应用,2010,36(12):36-38.

[17]黄伟,龚沛曾.图像压缩中的几种编码方法[J].计算机应用研究,2003,20(8):67-69,72.

[18]郑翠芳.几种常用无损数据压缩算法研究[J].计算机技术与发展,2011,21(9):73-76.

[19]田端财,殷晓丽.基于哈夫曼编码的图像压缩技术研究[J].科技资讯,2009,(8):29-30.

[20]李伟生,李域,王涛.一种不用建造Huffman树的高效Huffman编码算法[J].中国图象图形学报,2005,10(3):382-387.

[21]徐杰楠,傅舰艇,詹惠琴.基于LabVIEW的实时数据采集和滤波处理设计[J].电子测试, 2011(11):40-42.

[22]朱怀宏,吴楠,夏黎春.利用优化哈夫曼编码进行数据压缩的探索[J].微机发展,2002,12(5):1-6.

[23]付勇.一个利用小顶堆构造哈夫曼树的C++算法[J].计算机应用与软件,2011,28(3):253-256.

[24]武善玉,晏振鸣.改进的Huffman编码及其应用[J].通信技术,2009,42(1):309-311.

Realization of satellite communication and data compression of electric buoy for tuna

NI Hanhua,HU Peiyu,TANG Taolin,SHEN Zhixin,JIANG Tao

(Key Laboratory of Fishery Equipment and Engineering, Fishery Machinery and Instrument Research Institute,ChineseAcademyofFisherySciences,Shanghai200092,China)

Currently, during the long-distance communication between the sea fishing vessels and the buoys on the sea, problems exist such as easy missing of information, high cost, unfriendly communication software interface, and so on. In order to solve these problems, the structure of IDP related communication satellite data and Huffman coding were studied in this paper. The Image classification method of Huffman encoding compression was used to code 40 sets of typical data that were transited from satellite signal server. The results showed that the highest compression rate for communication data reached 0.58 and 40% of cost was saved. As the system integrated satellite positioning, particular data of buoy could be displayed in real time on the customized client of computer, which generated perfect human-computer interface, and the delay time of control command was only 5 seconds. With compression algorithm deploying to satellite communication terminal, the complete remote data was received in real time and sonar image was clear; the overall effect of data compression was remarkable and the desired results were achieved. By far, the buoy has been applied on some of tuna seiners in South China Sea, and fishing boats could communicate effectively with the buoys and receive real-time information on tuna fish via marine client, and the cost is acceptable.

buoy; satellite communication; Huffman coding; data compression

10.3969/j.issn.1007-9580.2016.06.009

2016-08-08

2016-10-20

国家科技支撑计划(2013BAD13B02);农业部渔业装备与工程技术重点实验室开放基金(2009012)

倪汉华(1983—),男,助理研究员,硕士,研究方向:水声及通信仪器软硬件开发。E-mail:nihanhua@fmiri.ac.cn

谌志新(1969—),男,研究员,研究方向:海洋渔业装备技术。E-mail:chenzhixin@fmiri.ac.cn

TN919.3+1

A

1007-9580(2016)06-045-06

猜你喜欢
声纳浮标通讯
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
浅谈浮标灵敏度的判断
浅谈浮标的吃铅比数值
基于耦合偏微分方程的干涉合成孔径声纳干涉图滤波方法
一种浮标位置修正算法*
Daniel Kish
船载调频连续波声纳测深技术研究
提问:冬钓轻口鱼如何选择浮标?