999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Delphi和MATLAB混合編程的波浪估計算法實現

2016-06-07 07:19:38鄭威王志冉祥濤惠力劉敏楊立
山東科學 2016年1期

鄭威,王志,冉祥濤,惠力,劉敏,楊立

(山東省科學院海洋儀器儀表研究所,山東省海洋環境監測技術重點實驗室,山東 青島 266001)

基于Delphi和MATLAB混合編程的波浪估計算法實現

鄭威,王志,冉祥濤,惠力,劉敏,楊立

(山東省科學院海洋儀器儀表研究所,山東省海洋環境監測技術重點實驗室,山東青島266001)

摘要:針對在Delphi7下編寫波浪估計算法效率低且不易實現的問題,本文采用基于Delphi7和MATLAB7.0混合編程的方法,實現了上位機軟件的波浪估計能力。該方法簡單,開發周期短。將上位機軟件估計結果與Nortek公司商用軟件Quickwave對比,結果表明本文的上位機軟件估計結果準確,采用混合編程方法可準確地實現ADCP上位機軟件中波浪估計的功能。

關鍵詞:ADCP;方向譜估計;上位機;Delphi;MATLAB

聲學多普勒流速剖面儀(acousticdopplercurrentprofiler,ADCP)利用聲學多普勒原理,可以獲取不同深度海流的流速和流向,在全世界范圍的海洋、湖泊和河流等地域中廣泛應用。近十年來,一些海洋學者開始利用ADCP進行海洋表面波浪的估計,其基本原理類似于傳感器陣列的測波向技術,即認為ADCP沿著波束方向上的測點相當于一個獨立傳感器,多個測點組成的陣列具備了測量波向的能力,這種方法經過了Terray等[1]的驗證,證明JANNUS配置的ADCP利用3層12個測點陣列可以精確估計波浪波向。到目前為止,美國RDI公司、Sontek公司以及挪威Nortek公司都相繼推出了具備波浪和海流測量能力的ADCP設備,例如RDI公司“駿馬”系列新型ADCP[2]、Nortek公司“浪龍”系列新型ADCP[3]等。多名海洋學者利用商用ADCP與其他儀器進行了比測試驗,例如Jeans[4]、Work[5]利用ADCP與波浪騎士進行了波浪估計對比,結果一致證明ADCP的波浪測量是準確的。

波浪方向譜估計算法發展到目前為止,在海洋工程領域內最常用的是最大似然算法(maximumlikelihoodmethod,MLM),其計算速度快、計算結果穩定,且具有一定計算精度,RDI的商用軟件WAVESMON和Nortek的Quickwave都使用最大似然算法。傅里葉級數算法同樣在實測中應用較多,該算法計算簡單,但估計方向分布比實際分布略寬,主要應用于測點較少時的情況(如測點為3個)。貝葉斯算法是另外一種常用的算法,估計精度高,但一般要求測點個數不少于4個,計算復雜、計算時間長,主要應用于實驗室后續的數據分析[6]。

我國的海洋儀器產品研發距離國外先進水平還有一段距離,目前海洋儀器大多依賴進口,80%以上國內使用的ADCP設備是國外產品。國內的相關院所一直致力于ADCP方面的研究,到目前為止,中船重工715所的相控陣ADCP(PAADCP)是受到認可的唯一商用產品,但PAADCP主要用來測流,并不具備波浪的觀測能力。國家海洋技術中心在國家863計劃下進行了ADCP方面的研究,并組裝了樣機進行試驗,取得了有益成果[7-8]。山東省科學院海洋儀器儀表研究所近年來一直從事ADCP的理論研究及技術研發工作,目前在換能器陣、機械和軟件設計等方面取得了進展。本文主要闡述ADCP研發中上位機軟件的波浪估計實現技術。目前界面開發軟件很多,常用的有Delphi,C++Builder等,這些開發工具在界面設計上效率很高,但缺點是科學計算能力較低,方向譜估計算法在Delphi7下編程效率低且不易實現。本文采用Delphi7和MATLAB7.0混合編程的方法來實現方向譜估計算法。

1 系統方案設計

ADCP由水下測量和陸上處理系統兩部分組成(圖1),水下測量模塊主要由聲學多普勒換能器陣、壓力傳感器、電子羅盤、傾斜傳感器、溫度傳感器、數據采集處理器、固態存儲器、電池、水密機箱、小型水下鎧裝電纜和水密接頭組成,其中水下測量系統的4個聲學多普勒換能器按一定方位角安裝在一個殼體內組成換能器陣,其中3個波束的傾角為30°,波束之間在水平面投影的夾角為120°,另一個換能器豎直向上(圖2)。

圖1 ADCP的水下測量系統和陸上處理系統Fig.1 Underwatermeasuring system and onshore processing system of ADCP

圖2 聲學換能器陣設計Fig.2 Design of acoustic transducer array

水下測量系統的功能是:(1)進行數據采集及測量數據的存儲;(2)通過聲學多普勒回波計算分層海流的流速和流向;(3)將采集數據及海流數據打包,而后發送到陸上處理系統。

陸上處理系統主要由接收模塊和上位機軟件組成,其主要功能是:(1)接收水下測量系統上傳的數據包,解析數據包并分析數據,顯示及存儲海流數據;(2)通過上位機軟件估計波浪的各種特征值,包括有義波高、峰值周期、峰值方向和主波向,顯示并儲存波浪數據;(3)具備歷史數據查詢、歷史曲線顯示功能。

2 上位機軟件設計

構成上位機軟件的主要功能模塊有通訊配置、實時數據顯示、歷史數據查詢、歷史曲線顯示及波浪計算模塊(圖3)。其中通訊配置模塊的功能是實現水下測量系統和陸上主機之間的串口數據傳遞,采用小型鎧裝電纜連接保證數據傳遞的實現;實時數據顯示模塊主要實現海流及波浪數據的實時顯示;歷史數據查詢模塊及歷史數據曲線模塊的功能是保證用戶可以查詢以往記錄的海流及波浪數據,并進行數值顯示或曲線顯示;波浪計算模塊是上位機軟件的重要模塊,主要實現每個小時的波浪特征值計算。

圖3 坐底式波浪儀上位機軟件構成Fig.3 Upper-computer software composition of upward-looking ADCP

圖4 上位機軟件計算流程Fig.4 Calculation flowchart of upper-computer software

上位機軟件的計算流程見圖4,水下系統每分鐘定時通過串口向陸上上位機軟件發送數據包,數據包中包含了壓力、溫度、姿態、羅經和流速數據。上位機判斷串口是否接收到下位機的數據,確認接收到后,通過異或校驗判斷數據是否正確,如果校驗位滿足要求,解析數據,并實時顯示流速及存儲。上位機軟件每小時計算波浪1次,利用每小時的前49min的海流及各種傳感器數據計算1h內波浪的特征值,并在實時界面內顯示。同時上位機軟件具備歷史數據查詢及歷史曲線顯示功能,通過對數據庫中的數據進行取出操作來實現。

3 波浪估計模塊在上位機中的實現方法

3.1波浪方向譜估計基本原理

假定波浪振幅很小且由多數組成波迭加而成,可推導出任意兩個波浪特性間的互譜等于相應波浪特性與波面間的傳遞函數的乘積的傅里葉變換,即

方向譜S(f,θ)的表達形式分解為頻譜和方向分布函數的乘積

式中,θ為組成波的方向,SH(f)為海浪頻譜,D(f,θ)代表頻點f的方向分布函數,方向譜S(f,θ)滿足

由公式(1)可知,公式左側的互譜是已知量;當測量物理量選定后,不同物理量對應的傳遞函數H通過線性波浪理論是已知的,公式右側的方向譜S(f,θ)是未知的。公式(3)求逆運算即是方向譜求解過程,求逆過程中解值并不是唯一的,方向譜估計算法也存在多種,比如最大似然算法、貝葉斯算法,以及最大熵算法等[9]。

適用于波束陣列的最大似然法(MLM)基本思想是將方向譜估計值表示為交叉譜的線性疊加,并將此估計值最小化來接近真實值。最大似然算法的方向譜估計值為:

其中,H代表共軛轉置。

傅里葉級數算法是將方向譜表示為傅里葉級數展開的形式,通過對于展開系數的求解來表示方向譜。Nortek的Quickwave軟件使用波面高度(s)、水平方向上的橫向和縱向速度(u,v)采用傅里葉級數算法計算方向譜,只能求解到n=2時的傅里葉系數,方向譜估計值可表示為

3.2方向譜估計的實現步驟

采用Delphi7和MATLAB7.0混合編程的方法來實現方向譜估計算法,分別利用到Delphi7的界面設計能力及MATLAB7.0的科學計算能力,實現優勢互補。該方法在上位機軟件設計中有著獨特的優勢,主要體現在能夠保證上位機軟件準確地實現波浪估計能力,同時可以有效降低軟件的實現難度,縮短軟件的開發周期[10-15],具體的實現步驟見圖5。

第一步,在MATLAB7.0下編寫函數。編寫的波浪估計函數只能是函數文件,函數的輸入值為一個小時的測流速度值,以及所選速度測點所在深度、水深、姿態信息和羅經數據;函數的輸出值為一個小時內波浪的特征值,包括有義波高、峰值周期、峰值方向和主浪向。

第二步,在MATLAB7.0下的編寫函數需要通過ADCP歷史資料的驗證。將編寫函數的波浪估計結果與ADCP商用軟件的波浪估計結果進行對比,對比結果的一致性可以驗證編寫函數的正確性。

圖5 基于 Delphi和MATLAB混合編程的方向譜估計步驟Fig.5 Delphi andmATLABmixed programming based wave directional spectrum estimation

圖6mATLAB 7.0和Delphi 7混合編程步驟Fig.6mATLAB 7.0 and Delphi 7mixed programming steps

第三步,利用MATLAB7.0自帶的comtool工具新建工程并完成工程設置;在Mfiles添加編寫好的函數,點擊build菜單下的COMobject即開始dll組件生成過程,當該生成過程成功后,會在工程所在目錄下的distrib文件夾下生成dll文件,可以點擊component菜單下的packagecomponent,點擊create會將dll等文件進行打包,生成exe程序。見圖6。

第四步,在Delphi7軟件所在電腦上,運行上述exe程序即可完成dll文件的注冊,而后選擇Delphi7的project目錄下importtypelibrary選中所用dll文件,如圖6,點擊install即可安裝dll,安裝的dll控件在activex組件欄中,選擇該組件即可在Delphi7軟件中調用波浪估計的dll組件,最終實現上位機的波浪估計功能。

4 實測數據分析

為了驗證上位機軟件的估計效果,本文采用美國NCCOOS(northcarolinacoastaloceanobservingsystem)項目的jpier試驗點Nortek“浪龍”數據,選取數據的時間是2008年4月18日到20日。通過模擬串口向上位機發送一組數據,數據包含有海流數據及各種其他傳感器數據。圖7是坐底式波浪儀的實時數據接收界面,主要包含海流部分和波浪部分,只顯示了深度為6.58m的一層海流,并顯示了有義波高、峰值周期、峰值方向和主波向計算值,分別采用了IMLM(迭代最大似然算法)和SUV(傅里葉級數展開算法),兩種算法的估計結果是一致的。

圖7 實時接收界面Fig.7 Real-time receiving interface

將本文中上位機軟件處理結果(IMLM算法)和Nortek公司商用波浪處理軟件Quickwave處理結果進行對比,結果表明上位機軟件與Quickwave軟件計算結果是一致的,波浪能量主要集中在0.1Hz,波浪主浪向在240°左右(圖8)。圖9顯示了2008年4月18日03時到4月20日03時的有義波高及平均波向數據,分別利用本文上位機軟件以及Quickwave對于原始數據進行分析,二者之間吻合較好,有義波高從1.7m下降到0.6m左右,平均波向穩定在240°左右,驗證了本文上位機軟件的波浪估計結果的正確性。

圖8 2008年4月19日00時計算結果對比Fig.8 Calculation result comparison at 00 of April 19,2008

圖9 2008年4月18日03時到20日03時數據對比Fig.9 Data comparison from three of April 18 to three of April 20,2008

5 結語

在以Delphi7作為平臺的ADCP上位機軟件研發中,本文采用基于Delphi7和MATLAB7.0混合編程的方法,有效地實現了上位機軟件中波浪估計的功能,這種方法易于實現,開發周期短。通過與Nortek公司商用Quickwave軟件對比,驗證了該上位機軟件中波浪估計的準確性。本文給出的混合編程方法有效地實現了上位機軟件中的波浪估計功能,該方法同樣適用于其他復雜算法在上位機軟件上的實現,具有很強的工程實用價值。

在本文的技術方案中,每秒計算一次海流測量值,海流值的計算放在下位機中進行,可保證計算的實時性;每小時計算一次波浪值,波浪計算放在上位機中,主要是考慮到上位機軟件編程方法實現波浪估計相對容易,在MATLAB環境下存在多種庫函數,節省了大量的子函數開發時間,軟件開發周期短。通過實際計算觀察,本文上位機軟件中的波浪計算一次需要8~10s時間(跟計算機硬件配置有關),完全能滿足技術方案中對于海流及波浪的實時觀測要求。本技術方案只適用于ADCP有纜觀測模式,當ADCP為自容式時,本文的方案不再滿足要求,現有國外商用ADCP產品大多將海流及波浪計算同時放在下位機中實現,這種方式更為先進,能夠同時滿足有纜在線觀測方式和自容式的ADCP。考慮到儀器的實用性,波浪的計算必然需要向下位機移植,只需要在程序部分實現波浪估計的功能,不需額外增加硬件成本,但波浪估計編程在下位機中實現無疑要更加復雜,需要后續進行深入研究。

參考文獻:

[1]TERRAYEA,BRUMLEYBH,STRONGBS.Measuringwavesandcurrentswithanupward-lookingADCP[M]//ProceedingsoftheIEEESixthWorkingConferenceonCurrentmeasurement.IEEE,1999:66-71.

[2]BRUMLEYBH,TERRAYEA,STRONGBS.Systemandmethodformeasuringwavedirectionalspectrumandwave height:US,6282151[P].2001-08-28.

[3]LOHRMANNATLE,PEDERSEN,TORSTEINKanstad.Systemandmethodfordeterminingdirectionalandnon-directionalfluidwaveandcurrentmeasurements:US,7613072[P].2009-11-03.

[4]JEANSG,PRIMROSEC,DESCUSSEN,etal.AcomparisonbetweendirectionalwavemeasurementsfromtheRDIworkhorsewithwavesandthedatawelldirectionalwaverider[C]//ProceedingoftheIEEE/OESseventhworkingconferenceoncurrentmearmenttechnology.IEEE,2003.

[5]WORKPA.Nearshoredirectionalwavemeasurementsbysurface-followingbuoyandacousticDopplercurrentprofiler[J].OceanEngineering,2008,35(8/9):727-737.

[6]李晨,吳建波,高超,等.用于多普勒流速剖面儀測波浪的方向譜反演算法研究[J].電子與信息學報,2012,34(10):2482-2488.

[7]ADCP課題組.坐底式波流測量儀[J].海洋技術,2001,20(1):88-92.

[8]張道平,梁婕.坐底式聲學流速測量儀監測波向[EB/OL].[2015-02-25].http://cpfd.cnki.com.cn/Article/CPFDTOTAL-ZGSU200110001068.htm.

[9]HERBERSTHC,LENTZSJ.Observingdirectionalpropertiesofoceanswellwithanacousticdopplercurrentprofiler(ADCP)[J].JournalofAtmosphericandoceanictechnology,2010,27(1):210-225.

[10]姜銀方,陳建希,李璐娜.基于COM的Delphi和Matlab接口編程研究[J].計算機應用與軟件,2008,25(2):31-34.

[11]吳小莉,丁維明,程力.Delphi動態調用MatlabCOM組件實現二者混合編程[J].工業控制計算機,2011,24(3):1-3.

[12]任稟潔,王琦,李云璋,陳博.Delphi與Matlab混合編程實現對混凝土壩揚壓力灰色模型預測[J].水利與建筑工程學報,2014,12(5):147-149.

[13]王建勛,呂群芳,劉會金.基于Delphi和Matlab混合編程的配電網無功優化軟件設計[J].電力自動化設備,2011,31(4):112-115.

[14]向培林,彭小東,張海江,汪洋.Delphi和Matlab的混合編程在水輪機特性曲線處理中的應用[J].水電與新能源,2011,10(3):44-48.

[15]崔園.MATLAB與DELPHI混合編程的實現[J].計算機與數字工程,2011,39(9):176-178.

DelphiandmATLABmixedprogrammingbasedwaveestimationalgorithm

ZHENGWei,WANGZhi,RANXiang-tao,HUILi,LIUmin,YANGLi

(ShandongProvincialKeyLaboratoryofOceanEnvironmentalmonitoringTechnology,InstituteofOceanographicInstrumentation,ShandongAcademyofSciences,Qingdao266001,China)

Abstract:InviewoflowefficiencyandimplementationdifficultyofDelphi7basedwaveestimationalgorithm,werealizewaveestimationcapabilityofuppercomputersoftwarewithDelphi7andmATLAB7.0mixedprogramming.Themethodissimpleandhasshortdevelopmentperiod.Wealsocomparecalculationresultbetweenupper-computersoftwareandNortekcompanycommercialsoftwareQuickwave.Resultsshowthatwaveestimationresultofupper-computersoftwareisaccurate.Thepresentedmixedprogrammingmethodcaneffectivelyestimatewavefunctionalityofupper-computersoftware.

Keywords:ADCP;wavedirectionalspectrumestimation;upper-computer;Delphi;MATLAB

中圖分類號:TP312

文獻標識碼:A

文章編號:1002-4026(2016)01-0007-07

DOI:10.3976/j.issn.1002-4026.2016.01.002

收稿日期:2015-07-16

基金項目:海洋公益性行業科研專項(201205039-2,201505007-3);山東省自主創新專項(2013CXC80101);青島市市南區發展基金(2013-12-001-XX);山東省科學院青年基金(2014QN037);山東省自然科學基金(ZR2015YL022)

作者簡介:鄭威(1983-),男,副研究員,博士,研究方向為ADCP波流測量研究。Email:honestzheng123@163.com

主站蜘蛛池模板: 国产h视频在线观看视频| 日韩无码黄色| 福利姬国产精品一区在线| 91小视频在线观看免费版高清| 丁香婷婷激情网| av大片在线无码免费| 亚洲国产午夜精华无码福利| 欧美成人手机在线观看网址| 国产成人精品男人的天堂| 色婷婷亚洲十月十月色天| 久久99国产精品成人欧美| 97视频精品全国免费观看 | 精品福利一区二区免费视频| 午夜精品久久久久久久无码软件 | 国产精品七七在线播放| 99热在线只有精品| 99这里只有精品6| 免费不卡在线观看av| 国产丰满成熟女性性满足视频| 久久免费精品琪琪| 国产麻豆福利av在线播放| 尤物成AV人片在线观看| 欧美在线一二区| 秋霞午夜国产精品成人片| 国产欧美自拍视频| 国产xx在线观看| 激情六月丁香婷婷四房播| 国产91全国探花系列在线播放| 欧美精品xx| 成人噜噜噜视频在线观看| 亚洲中文字幕23页在线| 国产精品国产三级国产专业不| 国产精品福利尤物youwu| 久久女人网| 国产精品亚洲精品爽爽 | 国产乱人乱偷精品视频a人人澡| 国产男人天堂| 国产福利免费视频| 国产区人妖精品人妖精品视频| 国产最新无码专区在线| 国产精品漂亮美女在线观看| 免费A级毛片无码无遮挡| 91亚瑟视频| 日韩高清中文字幕| 色播五月婷婷| 丁香婷婷激情综合激情| 少妇精品网站| 免费无码又爽又黄又刺激网站| 中文字幕2区| 亚洲欧美极品| 99精品热视频这里只有精品7| 免费jjzz在在线播放国产| 欧美精品亚洲二区| 久久无码av一区二区三区| 亚洲国产高清精品线久久| 免费人欧美成又黄又爽的视频| 国产精品hd在线播放| 欧洲精品视频在线观看| 国产亚洲精品在天天在线麻豆| 亚洲国产亚洲综合在线尤物| 热伊人99re久久精品最新地| 国产91蝌蚪窝| 91精品久久久久久无码人妻| 五月婷婷亚洲综合| 秘书高跟黑色丝袜国产91在线| 天天综合亚洲| 婷婷激情亚洲| 在线精品自拍| 99精品在线视频观看| 色天堂无毒不卡| 老色鬼欧美精品| 亚洲中文字幕在线一区播放| 久久综合丝袜日本网| 国产成人精品第一区二区| 中文字幕免费视频| 欧美一区二区啪啪| 成人蜜桃网| 少妇极品熟妇人妻专区视频| 久久精品国产91久久综合麻豆自制| 草逼视频国产| 国产精品不卡片视频免费观看| 国模在线视频一区二区三区|