熊木地, 于兆輝, 何穎秋
(大連海事大學, 遼寧 大連 116026)
我國內河水運資源豐富,現今已開辟為航道的里程約10萬km。內河航運是現代綜合運輸體系中的重要組成部分,是水資源合理開發(fā)和綜合利用的主要內容之一[1]。近年來,內河船大型化趨勢逐步明顯[2],伴隨而來的內河船舶的超吃水現象也不斷增多。對內河通航船舶的安全造成了嚴重的隱患,對船舶超吃水的檢測變得尤為重要。開發(fā)一套船舶吃水檢測系統(tǒng)以實現對通航船舶的吃水深度進行實時檢測,從而保證航道安全,是十分必要的。
超聲波測距傳感器安裝在水下檢測結構架上組成陣列,系統(tǒng)通過獲取傳感器的數據進行數據處理,并得到相應的船舶吃水深度等數據。為保證測量精度及航道的通行效率,需要在檢測結構架上安裝上近百個超聲波測距傳感器,由此將會產生大量的吃水數據,超聲波傳感器工作過程中受檢測結構架波動形變、水中其他雜質和船舶尾流等噪聲的影響,吃水數據存在大量的錯誤數據,將對通航船舶的吃水檢測產生很大的影響,從而嚴重影響系統(tǒng)的檢測精度。通過對船舶吃水的超聲波數據處理、數據補償和尾流噪聲進行研究,可以減小外界因素對檢測系統(tǒng)的影響,達到提高船舶吃水檢測精度的目的。
系統(tǒng)主要由超聲波傳感器信息采集模塊、水壓傳感器信息采集模塊、聲速傳感器信息采集模塊、傳感器采集同步控制模塊、數據處理模塊以及船舶吃水顯示預警模塊組成。工業(yè)計算機與超聲波傳感器、聲速傳感器和水壓傳感器通過串口建立通信,通過傳感器采集同步控制模塊獲取各傳感器的原始數據。對原始數據進行預處理,并結合聲速傳感器和水壓傳感器同步采集的數據對超聲波傳感器數據進行校正,通過數據處理最后計算出通航船舶的最大吃水值,對超吃水的船舶進行預警。圖1所示為船舶吃水檢測系統(tǒng)的系統(tǒng)框圖。
圖2為檢測系統(tǒng)工作原理示意圖。如圖2所示,船舶吃水檢測系統(tǒng)安裝在躉船上,檢測結構架與浮體安裝在水下固定位置,超聲波傳感器以一定間隔的距離安裝在檢測結構架上,多個水壓傳感器也以一定的間隔距離均勻安裝在檢測結構架上,聲速傳感器與檢測結構架最左側的水壓傳感器安裝在同一位置,檢測結構架利用浮體以水平姿態(tài)下潛至水中合適位置,浮體用錨沉入水底固定。
由水壓傳感器數據得到檢測結構架的狀態(tài)信息,并得到檢測結構架的深度H。當船舶通過檢測結構架上方時,超聲波傳感器模塊檢測出船舶底面到檢測結構架的距離C。由聲速傳感器和水壓傳感器獲取的數據對超聲波傳感器數據進行校正補償,對系統(tǒng)產生的誤差和異常數據進行補償處理,則船舶的吃水深度為檢測結構架的深度減去船底到結構架的深度,即D=H-C,從吃水深度中獲取最大值,即可得船舶的最大吃水深度為Dmax。
由于系統(tǒng)安裝在躉船的一側,受風力、河流水文條件等外界環(huán)境的影響,系統(tǒng)的穩(wěn)定性及測量精度會受到一定的影響,對系統(tǒng)吃水檢測造成誤差。通過對測量數據及現場環(huán)境的分析,影響系統(tǒng)檢測誤差的主要方面可分為系統(tǒng)誤差和非系統(tǒng)誤差。
系統(tǒng)誤差是在系統(tǒng)測量過程中產生的,由于超聲波在不同水溫下的傳播速度是不同的[3],浮體姿態(tài)在水中會隨時變化,檢測結構架也會受到浮力等外力因素發(fā)生撓度變化[4],以上各種因素都將對超聲波傳感器數據的采集產生影響。系統(tǒng)誤差是可控的,利用安裝在檢測結構架上的聲速傳感器和水壓傳感器,可以對超聲波傳感器的數據進行補償。
非系統(tǒng)誤差主要是由于長江水域中各種魚類及漂浮物、船舶行進過程中產生的尾流氣泡等對檢測數據的影響[5]。這種影響是隨機產生的,對于隨機噪聲,可以采用數據濾波算法對其進行處理[6]。
3.1.1 傳感器的校正處理 本系統(tǒng)主要根據超聲波在水下的傳播速度完成船舶的吃水測量,而超聲波的傳播速度受傳播介質的影響[7]。首先需要對超聲波的傳播速度進行校正,本系統(tǒng)通過獲取的聲速傳感器數據,對超聲波傳播速度進行校正[8]。
系統(tǒng)開始工作時,控制同步采集聲速傳感器數據可得到在此水溫、水密介質條件下超聲波的傳播速度,根據此超聲波的速度信息可以對超聲波傳感器采集的數據進行初步校正,避免傳播介質對檢測系統(tǒng)產生的誤差影響。
3.1.2 檢測結構架姿態(tài)的校正 檢測結構架在水下的姿態(tài)及撓度變化可以通過安裝在結構架上的多個水壓傳感器采集的數據進行補償處理,水壓傳感器從檢測結構架左側開始編號為1至N,則水壓傳感器測得的深度為H1至HN,超聲波傳感器從檢測結構架左側編號為1至M,各超聲波傳感器的深度為S1至SM,圖3為檢測結構架撓度示意圖。
取檢測結構架中的H1至H2段,如圖4所示。以第8個超聲波傳感器為例,當檢測結構架發(fā)生撓度變化時,由水壓傳感器可得到水壓傳感器的深度H1及第10個超聲波傳感器的深度H2,根據三角形函數公式可得:
(1)
式中:ΔS8為第8個超聲波傳感器到水平線的距離;M為第1個超聲波傳感器到第8個傳感器的距離;N為第1個超聲波傳感器到第10個傳感器的距離。即可得到此傳感器的深度為:
(2)
由此可得到所有超聲波傳感器在水中的實時深度Si,即檢測結構架的各處實時深度Hi。根據此方法可以消除檢測結構架姿態(tài)變化對檢測系統(tǒng)的影響。
3.2.1 傳感器的校正處理 對于系統(tǒng)出現的隨機噪聲,本系統(tǒng)采用基于順序統(tǒng)計的中值濾波算法進行處理,中值濾波算法是一種依賴于快速排序算法的非線性濾波方式,可以有效地去除隨機噪聲,中值濾波在處理粗差方面具有獨特優(yōu)勢,通過排序能夠剔除粗差值,特別對脈沖式噪聲有良好的效果[9]。
中值濾波的數學表達式為[10]:
yi=Med{xi-v,…,xi,…,xi+v}
(3)
式中:yi為對應于xi點中值濾波的輸出值;m為窗口長度(m為奇數); Med為對窗口中xi值排序并取中值。
在大小為m×m的窗口中,從左至右在船舶吃水數據中滑動,窗口中心點數據值替換為窗口內所有數據點的中值[11],用此濾波算法可以有效的去除隨機噪聲對系統(tǒng)的影響。
為了測試中值濾波算法的處理效果,構建一個模擬船舶曲面模型,為方便觀察船型底部特征,將船舶模型翻轉,如圖5所示。
在模擬船舶吃水數據模型中加入隨機噪聲,根據實測情況,疊加5%、變化范圍-0.5~0.5 m數據量的隨機噪聲在數據模型中,可以模擬船舶經過系統(tǒng)時采集數據的實際噪聲環(huán)境,模型如圖6所示。
對該疊加噪聲的模擬船舶吃水數據進行中值濾波處理,濾波窗口大小為3×3,圖7為處理后模型效果圖。通過對比發(fā)現,中值濾波算法可以良好地剔除船舶模型中的隨機噪聲。
圖1船舶吃水檢測系統(tǒng)框圖 圖2系統(tǒng)工作原理示意圖
圖3檢測結構架撓度示意圖 圖4檢測結構架撓度補償示意圖
圖5模擬船舶曲面模型 圖6模擬船舶疊加噪聲模型 圖7處理后效果圖
3.2.2 尾流噪聲的處理 尾流是船舶在行進過程中由螺旋槳運動產生的,是位于船舶尾部的一條含有大量氣泡的氣幕帶[12]。
相較于隨機噪聲,尾流噪聲數據集中分布在船舶的尾部,并且數據量較大[13],無法通過均值濾波算法進行濾除,針對其特點,系統(tǒng)采用最小二乘法對船舶的吃水深度進行曲線擬合,通過實時預測船舶吃水深度,對異常數據進行剔除,從而消除尾流噪聲的影響。
對第i次測得的船舶吃水數據Di,作為原始數據模型(i,Di),根據最小二乘法構建直線方程[14]:
f(xi)=a+bxi(i=1,2,…,n)
(4)
式中:a、b為回歸系數;f(xi)為擬合吃水值;xi為f(xi)對應的第i次。
測得各Di值與擬合直線各估計值f(xi)差值的平方和為:
S=∑[Di-f(xi)]2=∑[Di-(a+bxi)]2
(5)
式中:Di為第i次測得實際吃水值。
(6)
(7)
由此可得到直線方程f(xi)=a+bxi。
通過直線方程可由已測數據預測出下一組的船舶吃水值,設決定系數r為預測數據與實測數據允許的最大誤差,當|Di-f(xi)|>r時,判斷為尾流噪聲,作為異常數據剔除,否則判斷為有效數據[15]。根據此方法對船舶吃水深度不符合要求的數據進行實時的剔除,可以有效的抑制尾流噪聲對檢測系統(tǒng)的影響。
為了測試算法對尾流噪聲的處理效果,構建一個模擬船舶模型,并疊加50%、變化范圍0.5~1.0 m數據量的隨機噪聲到模擬船舶尾部的數據模型中,如圖8所示。
對比圖8和9處理前后的效果圖可以發(fā)現,采用最小二乘法算法對船舶尾流噪聲進行處理,可以將其對船舶吃水深度的影響降低到理想的效果,可以有效地提高船舶吃水檢測的精度。
為了驗證各算法對測量精度的影響,構建了3艘模擬船舶吃水數據模型,并調整相關參數進行測試,如表1所示。
圖8模擬船舶疊加尾流噪聲模型 圖9處理后效果圖
表1 模擬船舶吃水檢測數據對比
通過表1中模擬船舶吃水數據模型的處理前后吃水數據的對比可以發(fā)現,系統(tǒng)可以有效地通過算法處理各種噪聲及檢測結構架撓度變化對其產生的誤差影響,系統(tǒng)檢測誤差控制在10cm以內,符合系統(tǒng)檢測精度要求。
向家壩通航管理中心負責選取吃水線清晰、信譽度較高的船舶參與實船測試。為了最大限度地降低船速對檢測系統(tǒng)測量精度的影響,通航船舶首先??吭谲O船遠端,然后低速通過檢測結構架。受現場實際情況所限,通航船舶只能單次通過檢測結構架,實驗數據為船舶單次系統(tǒng)測量吃水深度。目測吃水深度為通航中心采用目測船舶一側船艏、船舯和船艉處的吃水線得出該艘船舶的吃水深度?,F場利用8艘船舶進行18個批次的實船測試,并與目測吃水深度進行比較,如表2所示。
表2 實船測試數據對比 m
由表2中相對差值數據可以計算出標準偏差σ為0.0404 m,考慮到目測船舶吃水線得到的船舶吃水深度存在一定的誤差,包括現場風浪引起的誤差、船舶吃水線刻度誤差,采用多次讀取吃水線刻度取平均值的方式可以控制誤差在0.05 m以內。
由表1、2可知,檢測系統(tǒng)測量的吃水深度數據與目測船舶吃水深度偏差較小,檢測系統(tǒng)具有較高的可信度。
(1)通過實驗數據可以得到,利用水壓傳感器和聲速傳感器進行補償,采用中值濾波算法、最小二乘法對系統(tǒng)噪聲進行處理,可以有效提高系統(tǒng)的檢測精度。
(2)此吃水檢測系統(tǒng)符合實際應用需求,對提高航運監(jiān)管部門工作效率具有重要意義。
(3)三維顯示更加利于觀察船舶底部形態(tài),有助于剔除噪聲,提高系統(tǒng)檢測效果,是下一步的工作重點。