声学坐底式波浪仪的上位机设计
2016-09-07郑威惠力
郑威,惠力
声学坐底式波浪仪的上位机设计
郑威,惠力
(山东省科学院海洋仪器仪表研究所,山东省海洋环境监测技术重点实验室,山东青岛266001)
声学坐底式波浪仪包括水下测量系统和陆上处理主机,研究了陆上主机的上位机软件设计方法,并重点研究波浪估计算法在上位机软件的实现方法。波浪估计算法计算复杂,在上位机软件开发环境delphi 7下实现困难,文章采用delphi7和matlab 7.0混合编程方法实现上位机中的波浪估计功能,该混合编程方法实现更为简单,开发周期短。通过实测数据的验证,上位机软件与RD公司商用软件WAVESMON的波浪估计结果是一致的,证明了上位机软件的波浪估计结果是准确的,所设计上位机软件可有效满足波浪仪陆上处理系统的波浪处理需求。
声学坐底式波浪仪;方向谱估计;上位机软件;Delphi;Matlab;WAVESMON
0 引言
声学多普勒流速剖面仪(Acoustic Doppler Current Profiler,ADCP)是利用声学多普勒原理测量海水流速剖面的一种海洋仪器,可测量不同深度上海流的流速和流向,不干扰流场且不存在机械惯性,测量精度高,能够真实测量海洋流场情况,是国际上认可的先进海洋仪器。海浪学者近年来利用ADCP进行波浪估计的技术研究,ADCP波束方向上的每个测点相当于一个独立的传感器,空间上多个测点组成的阵列具有类似于传感器阵列一样的波向估计能力。Terray利用JANUS配置ADCP进行波浪测量,验证了ADCP的波向测量能力[1]。美国RDI公司和Sontek公司、挪威Nortek公司都推出了新型的ADCP,在传统测流功能上增加了波浪估计的功能[2-3]。多名海洋学者利用新型ADCP与波浪浮标进行估计对比,对比结果表明新型ADCP和浮标的波浪估计精度是一致的,ADCP波浪估计是精确的[4-6]。到目前为止国内使用的ADCP大多是国外的产品,国内的ADCP技术水平距离国外先进技术还有差距;中船重工集团公司第715研究所是国内提供商用ADCP的单位之一,其生产的相控阵ADCP产品已经在国内多家单位使用,但该产品只能测流并不具备波浪测量能力;国家海洋技术中心等多家院所进行过ADCP波浪估计技术的研究,但都没有推出相关产品[7-8];山东省科学院海洋仪器仪表研究所近年来一直从事ADCP技术研发,目前在换能器阵设计、水下测量系统的嵌入式研发、上位机软件研发等方面已经取得了一定进展,本文重点阐述现有ADCP系统的上位机设计方案。
1 系统方案设计
新型坐底式ADCP可以测量波浪,可认作是一种新型的声学坐底式波浪测量仪器,该声学坐底式波浪仪由水下测量模块和陆上分析处理模块两大部分组成,如图1所示。水下测量模块主要由各种传感器(声学多普勒换能器、压力传感器、电子罗盘、倾斜传感器、温度传感器等)、数据采集处理器、固态存储器、电池、水密机箱、水下铠装电缆和水密接头等部分组成,图2为四个声学多普勒换能器按一定方位角安装在一个壳体内组成的换能器阵,其中三个波束的倾角为30°,各波束在水平面投影的夹角为120°,在有效测量深度内每个波束都能测得水流速度,三波束可测得三个波束对应于各层的水流分速度,运用矢量合成原理得到各层的三维流场。另一个换能器垂直向上,用于测量波高和波浪周期。
(a) 水下测量系统
(b) 陆上处理系统
图1 方案设计
Fig.1 Project design
水下测量系统进行数据采集及测量数据的存储,并计算各分层水流速度,最后将数据打包后传输到陆上处理系统。陆上处理系统主要由接收主机、上位机软件组成,其任务是将收到信号进行数据处理及分析,实时显示每分钟的海流值,通过上位机软件估计每小时波浪的各种特征值,包括有义波高(1/3平均波高)、峰值周期、峰值方向、主波向。同时上位机软件具备了历史数据查询、历史曲线显示功能。水下测量系统和陆上接收机通过小型铠装电缆连接,可保证数据的正确传输及供电系统的正常运转。
2 上位机软件设计
本文主要研究上位机软件设计方法。选择delphi 7作为上位机软件开发平台。上位机软件主要具备如下三种功能:(1) 水下测量系统定时每分钟通过串口向陆上上位机发送数据包,如图3所示。数据包包含了水下测量采集得到的压力数据、姿态数据、罗经数据、温度数据及水下测量系统计算得到的海流数据。如图4所示,陆上处理系统进行实时串口接收,并对比数据包进行解析,得到每分钟的海流及各种传感器数据。(2) 上位机软件每小时计算波浪一次,在每小时的第50分钟开始计算波浪的特征值,利用每小时的0分钟到49分钟的海流数据及其他各种传感器数据进行计算,即到每小时的第50分钟,将海流及传感器数据从数据库读取到内存中,利用内存中数据完成波浪特征值的计算(有义波高、峰值周期、峰值方向、主浪向)。计算完成后实时显示波浪的特征值,并将波浪计算值进行存储。(3) 历史数据查询及历史曲线显示,主要完成海流及波浪数据的数据查询及曲线显示,即根据用户需要,可在指定时间及指定数据类型的条件下进行数据显示,此时需要对于数据库进行读出操作。
2.1 实时数据接收及历史数据显示实现
在delphi 7实现串口接收过程中,(1) 需要读取上位机的注册表,从注册表中可以知道上位机的串口信息;(2) 配置串口信息,找到与水下测量系统相连的串口号,根据事先指定的通讯协议设定串口的波特率;(3) 打开串口,打开串口后定时读取串口接收的二进制数据,首先进行数据校验,一般都选取异或校验的方式,当校验位满足要求后,认定串口接收数据为正确数据,后续进行数据包的解析,而后进行数据的实时显示及储存,如图5所示。
历史数据查询及历史曲线显示的功能实现方法是类似的,(1) 需要指定查询的数据时间及数据类型(海流或波浪),根据上述条件找到所对应的数据库储存文件;(2) 打开数据库存储文件,从中读出所需要的数据放入内存中;(3) 将内存中数据显示在指定delphi stringgrid数据表格中即完成历史数据查询功能,而将内存中数据在delphi dbchart图表中进行绘制即完成了历史曲线显示功能,如图6所示。
图6 历史数据查询及历史曲线显示
2.2 波浪估计功能实现
假定波浪振幅很小且由大量振幅不同、相位不同的波浪迭加而成,可推导出任意两个波浪特性间的互谱等于相应波浪特性与波面的传递函数的乘积的傅里叶变换[8],即
其中:代表海浪频率;代表波数;代表第个测点上和第个测点波浪特性之间的互谱;是测点对应的传递函数;代表海浪方向谱;、分别代表和测点之间的距离在和轴向上的投影距离。常用的方向谱估计算法有,最大似然算法、贝叶斯算法、最大熵算法、傅里叶算法等,其中最常用的是最大似然算法(Maximum Likelihood Method,MLM),MLM算法的方向谱估计值为
(2)
式(2)中,上标H代表共轭转置。
本文的上位机是在delphi 7平台上进行研发的,delphi 7软件具备良好的人机交互界面,但不具备进行大量科学计算的能力,直接在delphi 7软件平台上完成波浪估计功能是非常困难的。本文利用delphi 7和maltab 7.0混合编程的方法来实现波浪估计。Matlab 7.0是一种高效率的科学计算语言,它集成了矩阵运算、数值计算、数字信号处理、系统识别、自动控制、神经网络等大量功能强大的工具箱和函数库,是用来实现波浪估计算法的最佳选择。具体方法:(1) 在matlab 7.0下编写波浪估计的函数;(2) 通过matlab 7.0下的comtool工具将上述函数转化成dll组件;(3) delphi 7可对于上述dll组件进行注册;(4) 在delphi 7即可以调用该dll组件,通过调用上述dll组件可在delphi 7软件中实现波浪估计[9-10]。
3 上位机软件结果验证
本文选取一段数据验证上位机软件估计效果,ADCP数据选自美国NCCOOS(North Carolina Coastal Ocean Observing System)项目的lsrb试验点数据,从2005年9月14日15时至2005年9月17日23时,每个小时计算一组波浪特征值,共计算81组波浪特征值数据。本文选用的对比参数如下:
有义波高:1/3平均波高;
峰值周期:一维高度谱中最大值点对应的波浪周期;
主浪向:在二维方向谱中所有最大值对应的方向;
峰值浪向:在一维高度谱最大值点对应的波浪方向。
选取了2005年9月17日23时50分的一组数据,将该组数据制作成满足通讯协议的数据包,并通过串口向上位机进行发送。图7是上位机软件实时接收界面,界面主要包含了海流部分和波浪部分,海流部分只显示了深度为6.58 m的流速和流向。波浪部分包含了有义波高、峰值周期、峰值方向和主浪向,上位机软件分别采用了迭代最大似然算法(Iterative Maximum Likelihood MethodI,MLM)和水面、两轴速度方法(Surface,Velocity U and V,SUV)进行波浪估计,其中IMLM利用接近水面位置处的四个测点组成阵列,通过IMLM估计波浪;SUV利用水深和水平速度、,通过傅里叶级数展开算法估计波浪。两种算法的有义波高、峰值周期、主浪向、峰值方向的估计结果是一致的。
图8将本文中上位机软件处理结果和RDI公司商用波浪处理软件WAVESMON处理结果进行对比,对比结果表明本文上位机软件处理得到的有义波高、峰值周期、峰值方向和主波向曲线与商用WAVESMON软件的结果是吻合的,证明了本文上位机软件计算结果是正确的。
图8 上位机软件和WAVESMON计算结果对比
Fig.8 Calculation comparison between upper-computer software and WAVESMON
4 结论
根据近海新型声学坐底式波浪仪的研发要求,本文设计了新型声学坐底式波浪仪波浪估计的技术方案,其中水下主机主要完成各种传感器的数据采集和存储,并根据换能器回波信号进行海流估计,最后将各种传感器数据及海流数据包发送到陆上主机中;而陆上主机的上位机软件进行数据接收及解析,具备了实时显示、历史数据显示和历史曲线显示功能,本文给出了上位机软件中的波浪估计实现方法,是基于delphi 7和matlab 7.0混合编程实现的,将本文上位机与RD公司商用软件WAVESMON进行对比分析,验证了软件的准确性。本文设计的上位机软件可有效满足新型声学坐底式波浪仪波浪估计技术的需求。
[1] Eugene A. Terray, Blair H.Brumley, Brandson Strong. Measuring waves and currents with an upward-looking ADCP[C]//Proceedings of the IEEE Sixth Working Conference on Current Measurement, 1999, (1): 66-71.
[2] Blair H Brumley, Eugene A Terray, Brandon S. Strong. System and method for measuring wave directional spectrum and wave height: United States of America, 6282151[P]. 2001-08-28.
[3] Atle Lohrmann, Torstein Kanstad Pedersen. System and method for determining directional and non-directional fluid wave and current measurements, US, 7613072 B2[P]. 2009-11-03.
[4] Gus Jeans, Cathryn Primrose, Brandson Strong.etc. A comparison between directional wave measurements from the RDI workhorse with waves and the data well directional waverider[C]//Proceeding of the IEEE/OES seventh working conference on current mearment, 2003, (3): 148-151.
[5] William R Dally, Daniel A Osiecki. Comparison of deep-water ADCP and NDBC buoy measurements to hindcast parameters[C]// Proceedings of International Workshop on Wave Hindcasting and Forecasting, 2004, (4): 12-16.
[6] Paul A Work. Nearshore directional wave measurements by surface-following buoy and acoustic Doppler current profiler[J]. Ocean Engineering, 2008, 35(8-9): 727-737..
[7] ADCP课题组. 坐底式波流测量仪[J]. 海洋技术, 2001, 20(1): 88-92.
ADCP Research Group. Upward-looking wave and current meter[J]. Ocean Technology, 2001, 20(1): 88-92.
[8] 张道平, 梁婕. 坐底式声学流速测量仪监测波向[C]//2001全国水声学术会议, 2001, (2): 205-207.
ZHANG Daoping, LIANG Jie. Wave direction monitoring using upward-looking acoustic current measuring equipment[C]//2001 National Conference on Underwater Acoustics, 2001, (2): 205-207.
[9] 姜银方, 陈建希, 李璐娜. 基于COM的Delphi和Matlab接口编程研究[J]. 计算机应用与软件, 2008, 25(2): 31-34.
JIANG Yinfang, CHEN Jianxi, LI Luna. Study on the interface prgramming of delphi and matlab based on com[J]. Computer Applications and Software, 2008 , 25(2): 31-34.
[10] 吴小莉, 丁维明, 程力. Delphi动态调用Matlab COM组件实现二者混合编程[J]. 工业控制计算机, 2011, 24(3): 1-3.
WU Xiaoli, DING Weiming, CHENG Li. Hybrid Programming by using com of matlab in delphi software[J]. Industrial Control Computer, 2011, 24(3): 1-3.
Upper computer software realization of upward-looking acoustic wave measurement equipment
ZHENG Wei, HUI Li
(The Institute of Oceanographic Instrumentation, Shandong Academy of Sciences,Shandong Provincial Key Laboratory of Ocean Environmental Monitoring Technology, Qingdao 266001, Shandong, China)
Acoustic Doppler upward-looking wave measurement equipment (ADCP) includes underwater measurement system and onshore processing system, the paper works on design technique of the onshore upper-computer software,mainly the wave estimation algorithm realization of the upper-computer software. Considering that the wave estimation algorithm is complicated and that the algorithm realization under the software development environment of delphi7 is difficult, this paper adopts mixed programming method based on delphi7 and matlab7.0 to realize wave estimation function, the mixed programming method is simple, the development cycle of this method is short. Through comparison between the upper-computer software in this paper and the commercial software WAVESMON of RD Company, both the wave estimation results are consistent, which shows that the wave estimation result of the upper-computer software in this paper is correct, can meet the need of onshore processing system.
acoustic Doppler upward-looking wave measurement equipment;wave directional spectrum estimation; upper-computer software; Delphi; Matlab;WAVESMON
P716
A
1000-3630(2016)-03-0260-05
10.16300/j.cnki.1000-3630.2016.01.015
2015-06-15;
2015-10-20
海洋公益性行业科研专项(201205039-3, 201505007-3)、山东省自主创新专项(2013CX80101)、青岛市市南区发展基金(2013-12-001-XX)、山东省科学院青年基金(2014QN037)、山东省自然科学基金(ZR2015YL022)资助。
郑威(1983―), 男, 辽宁辽阳人, 副研究员, 研究方向为ADCP波流观测技术。
郑威, E-mail: honestzheng123@163.com