張雙雙,李 季,袁宏永,付 明
(1.安徽理工大學電氣與信息工程學院,安徽淮南232001;2.阜陽師范大學物電學院,安徽阜陽236032;3.清華大學合肥公共安全研究院,安徽合肥320601)
隨著我國國民經濟的日益提高以及“西氣東輸”工程的開展,人們對燃氣的需求也日益的迫切。管道燃氣不斷增加的同時燃氣泄漏事件時有發(fā)生。一旦發(fā)生燃氣泄漏將會給人們的生命財產安全及社會經濟環(huán)境帶來極大的損失[1]。因此,對燃氣泄漏的及時監(jiān)測及精準定位至關重要。
燃氣管道泄漏檢測定位法主要有空氣采樣法、泄漏檢測電纜法、漏磁試驗、光纖試驗、壓力梯度法、負壓波法、流量平衡法、統(tǒng)計決策法等[2-7]。它們都存在對管道線性要求高、定位精度低的缺點。針對現有燃氣管道泄漏檢測定位難的問題,本文提出一種基于遺傳算法的定位算法對地下燃氣管道泄漏進行檢測定位。該算法通過對次聲波強度數據分析計算,來得到泄漏點的精確位置。
本文提出的算法主要是對多個移動節(jié)點獲取的次聲波強度數據進行運算,這些節(jié)點根據次聲波強度大小來確定移動方向。其移動原理如下:在檢測過程中,按照先橫向再縱向的檢測順序。在橫向上,根據多點的檢測數據,每次向次聲波強度值大的節(jié)點方向移動,直至檢測到最大聲波強度值,不再移動;然后保持橫坐標不變,同理在縱向上移動節(jié)點,確定縱坐標。
橫向節(jié)點的移動分為兩個步驟,第一步是等距移動確定泄漏范圍,第二步是逐步縮小范圍逼近泄漏點,具體數據采集過程如下:
(ⅰ)橫向上保持相鄰節(jié)點等距的原則移動感知節(jié)點。首先,初始化各移動節(jié)點及初始化移動節(jié)點序列號i(-3≤i≤3),建立坐標軸且令y=0,使得相鄰節(jié)點之間距離均為e,采集各節(jié)點的橫向坐標xi、次聲波強度值Ii。然后,比較各節(jié)點聲波強度的大小,將次聲波強度值小的節(jié)點移向聲波強度值大的方向,并保持相鄰節(jié)點之間距離不變,再次獲取各個節(jié)點的位置信息、次聲波強度數據。重復以上步驟,移動節(jié)點k次,直至出現中間節(jié)點采集的聲波強度數據值明顯高于其相鄰兩側節(jié)點獲取的數據時,停止移動節(jié)點。
(ⅱ)選取步驟(1)確定的次聲波強度最大的節(jié)點兩側節(jié)點坐標,記為xa、xb(k-3≤a<b≤k+3)。將采集到強度值最小的裝置移至強度值最高的兩檢測裝置之間,該傳感器橫坐標記為xk+4,此時被移動的裝置與原數據值最大的檢測裝置之間距離縮小為原距離的一半,即,再次確定各傳感器檢測的次聲波強度和坐標,并比較聲強大小確定節(jié)點再次移動的方向。依此種方法,直至將相鄰傳感器調整到極小的范圍之內,即相鄰傳感器距離值≤μ(μ為預先設定的最小相鄰傳感器距離)。
(ⅲ)若在以上兩步驟的次聲波檢測過程中,出現某一位置的次聲波強度值明顯低于其兩側位置的數據,則認為次聲波傳播到此處的過程中發(fā)生了較大的反射作用。因此,要對該處次聲波強度做出反射補償后,再與其它位置檢測裝置檢測到的數據進行比較,確定檢測裝置移動的方向。
從移動節(jié)點獲取的次聲波信號是多泄漏源耦合并且包含了大量噪聲的信號,因此必須對獲取的數據做小波去噪和解耦算法的預處理。
環(huán)境中的噪聲信號,導致獲取的次聲波信號不夠純凈,影響定位精度。通過小波變換算法,保留有用特征量的次聲波信號,去除無用的噪聲信號,消除噪聲影響[8-11]。小波去噪步驟:
(?。肼暤男盘朓(x)進行離散小波變換,得到各尺度小波系數Wj,k。
確定二進小波Ψ(x),對于任意整數k,記:
式中,a為尺度因子,b為中心參數,這里取a=2-k,b=n2-k(n∈Z)。
信號函數I(x)的二進制離散小波變換Wj,k
(ⅱ)對尺度系數Wj,k進行閾值處理,得到估計的小波系數。
傳統(tǒng)的硬閾值處理所得的估計信號會附加振蕩,得到的估計信號會出現部分信號特征丟失的現象,造成信號失真。為彌補傳統(tǒng)閾值處理的不足,采用導數連續(xù)的閾值函數進行閾值處理。
式中,l=0時,該式為標準的軟閾值函數;當l>0時,有連續(xù)的l階導數。
(ⅲ)利用進行小波重構,得到信號I(x)的估計信號),即為去噪后具有有用特征的信號。小波重構函數為:
其中函數h(x)滿足
式中H為閾值函數。
燃氣管道的泄漏源可能不只一處,因此經過去噪處理后得到的是多源耦合信號。為分清每個泄漏源發(fā)出的次聲波信號,必須通過解耦算法解除信號之間的耦合關系[12-17]。
假設某一區(qū)域有n處泄漏,對去噪后的信號解耦合之后,每一位置可以得到n個對應的輸出強度。設∑0=(A,B,C)是一個n維輸入、n維輸出的受控系統(tǒng):
u為輸入泄漏源,為輸出次聲波強度。
多變量系統(tǒng)耦合示意圖如圖1所示,解耦前傳遞函數矩陣:
圖1 多變量系統(tǒng)耦合示意圖
本文采用的解耦方法是前饋補償解耦,給系統(tǒng)設計一個前饋補償器,達到解耦目的。設前饋補償器的傳遞函數為Wd。根據設計的前饋補償器對x-3處檢測裝置采集的次聲波信號進行解耦,解耦后示意如圖2所示。
串接前饋補償器后系統(tǒng)的傳遞函數矩陣
圖2 多變量系統(tǒng)解耦后示意圖
所以,前饋補償器傳遞函數
經過小波變換和解耦算法后,即可得到降噪解耦的次聲波信號(i表示移動節(jié)點位置序列號,Iin表示序列號為i的移動節(jié)點接收的由第n個泄漏un源產生的次聲波強度)來進行精確定位。
經過預處理得到的數據降噪無耦合,用預處理后的數據作定位計算,主要步驟包括反射補償、函數擬合和遺傳算法尋優(yōu)函數極大值,進而確定泄漏點位置。
由采集的數據知,次聲波強度與地理坐標并不是完全的線性關系。這是因為次聲波在傳播過程中受到了非線性因素的影響,使得次聲波強度出現了衰減。造成次聲波衰減的因素主要是傳播過程中遇到障礙物時發(fā)生了反射現象。在信號檢測過程中,若某一位置檢測到的次聲波強度數據明顯低于其兩側的強度,則可認為次聲波在傳播過程中發(fā)生了折射現象。為了達到高精確度的定位目標,需要對采集的次聲波信號做反射補償。補償之后的次聲波強度與地理位置函數關系為:
式中R為聲波反射系數且ρ為介質密度,c為聲波傳播速度(次聲波傳播介質密度及傳播速度均可查閱相關手冊獲?。?,Ii(x)為次聲波強度的檢測值,Ii補為次聲波補償后的強度值。
將補償后的數據與其他位置的檢測數據進行比較,確定檢測裝置移動的方向。
由數據獲取、數據預處理兩步,得到了降噪和無耦合的聲波強度。定位前,計算機首先將橫向上檢測到的各個時刻各移動節(jié)點的位置坐標與預處理及補償之后相應的由泄漏源產生的聲波強度數據擬合成一個關于次聲波強度與橫坐標的函數x=f(1),并導出反函數I=f-1(x)=C0e-0.017x,式中C0表示泄漏源位置處的次聲波強度(不同泄漏源C0不同,但都是正定值對定位無影響),根據反函數求出次聲波最大時的橫坐標值。
本文采用遺傳算法尋優(yōu)求反函數極大值,來確定次聲波強度極大值位置,從而進一步確定泄漏點位置[17-20]。次聲波強度最大值坐標確定的原則遵循先橫向再縱向:先在橫向上通過遺傳算法對函數f-1(x)在特定范圍(xm,xm+1)內計算出最優(yōu)極大值,確定橫向聲次波強度最大值橫坐標;同理,確定縱向強度最大值縱坐標。遺傳算法求函數f-1(x)極大值最優(yōu)解的算法構造過程分為五步:
(?。┐_定決策變量為橫向檢測坐標值x和約束條件為x∈(xm,xm+1)且均小于等于100 m,建立優(yōu)化模型,確定目標函數J(x)。
(ⅱ)確定編碼方法。用長度為10位的二進制編碼來表示決策量x。10位二進制編碼可以表示從0~1 023之間的1 024個不同的數,將的定義域離散化為1 023個均等的區(qū)域,包括兩個端點在內共有1 024個不同的離散點。從離散點xm到xm+1,依次分別對應于從0000000000~1111111111之間的二進制編碼,每個10位二進制編碼都表示一個個體的基因型。這種構建的10位編碼的方法就是反函數f-1(x)優(yōu)化問題的染色體編碼方法,并且解空間和遺傳算法的搜索空間具有一一對應的關系。
(ⅲ)確定解碼方法。將10位二進制編碼轉換成對應的十進制整數代碼,記為y。依據個體編碼方法和對定義域的離散方法可知,將代碼y轉換為實數變量x的解碼公式為:
(ⅳ)確定個體評價方法。由于f-1(x)函數值為次聲波強度總是非負的,并且優(yōu)化目標函數是求出函數最大值,所以將個體的適應度取對應的函數值,即F(x)=f-1(x),選個體適應度的相反數作為目標函數,即目標函數值越低個體適應度就越高。
(ⅴ)設計遺傳算子并確定運行數據。選擇運算使用比例選擇算子,交叉運算使用單點交叉算子,變異運算使用基本位變異算子,確定群體大小M、終止進化代數G、交叉概率Pc、變異概率Pm。本文Pc和Pm的取值是基于精英保留策略進行確定,精英保留策略的過程如圖3。
若種群進化到第g代,計算當前代的每個個體的適應度值,挑選出適應度值最優(yōu)和最差的兩個。將本代最優(yōu)適應度值與上一代中的最優(yōu)個體比較,用替換兩者中適應度值較好的第g代中適應度值最差的個體。
基于精英策略法確定Pc和Pm的公式:
式中,Pc1表示交叉概率的初始值,Pm1為變異概率的初始值,g為種群當前的代數,fc為精英策略進化過程中最優(yōu)個體無變化的代數,G為種群進化總代數。
圖3 精英策略進化流程圖
上述五個步驟構成了用于求反函數f-1(x)極大值的二進制編碼遺傳算法。經過上百步迭代,通過精英策略保留了群體中適應度高的個體,淘汰了適應度低的個體,最終得到最佳樣本,尋優(yōu)出當x=xh時,反函數f-1(x)取得極大值。
經過遺傳算法,求出當函數的極大值時的值,即確定聲波強度最大值時的橫坐標;同理,確定出縱向次聲波強度極大值的坐標,即可確定出泄漏源的位置。
對本文提出的算法進行實驗,并與傳統(tǒng)的基于互相關時延的定位算法比較,實驗驗證了算法的可靠性和高準確度。
以安徽理工大學能源學院安全工程實驗室布建的燃氣管道作為實驗管道,該管道全長150 m,采用本文提出的定位算法和傳統(tǒng)的互相關時延定位算法進行泄漏源精確定位實驗并進行實驗結果分析。實驗分為兩種類型,第一類實驗是對同一泄漏點進行多次實驗,分析比較兩種算法定位的準確度;第二類實驗是將泄漏點設置在不同點,比較算法誤差?;谶z傳算法的地下燃氣管道泄漏定位算法的泄漏定位檢測系統(tǒng)硬件由次聲波傳感器、微處理器、GPS及通訊模塊組成的七個移動檢測裝置;軟件部分主要是對采集的信號進行降噪、解耦、函數擬合、求次聲波強度極大值點等處理?;ハ嚓P時延定位算法系統(tǒng)硬件包括兩個應力波傳感器、微處理器和通訊模塊;軟件部分主要是對信號進行降噪處理和定位計算。
由于地下燃氣管道并不是直線而是存在很多彎道,所以以管道首端為零點,以正西方向為x軸正方向、正南方向為y軸正方向建立坐標軸,首尾端連線與x軸正方向夾角約為2.1°。根據地下燃氣管道的實際情況,第一類實驗泄漏點設置在(80,7)處。第二類實驗將泄漏點設置在(20,0)、(40,10)、(60,7)、(80,7)、(100,5)、(120,5)位置?;谶z傳算法的定位算法的檢測是在該段管道地面上并行推進檢測裝置,對次聲波強度進行檢測,遵循移動感知節(jié)點數據采集原則。與此同時,采用傳統(tǒng)的基于互相關法的時延估計泄漏定位方法是將應力波傳感器固定在燃氣管道兩端,采集泄漏點發(fā)出應力波到達兩傳感器時間差。利用兩種方法對兩類實驗設置的泄漏點進行多次檢測定位。
理論上泄漏源定位應該是與實際值相吻合,但由于傳感器存在靈敏度問題及數據采樣保留的準確度問題,所以定位有一定的誤差。定位誤差的計算公式如下:
式中,x0,y0為實驗中設置的泄漏設置值,x實,y實定位的泄漏源實際值,Δd為定位誤差值。
第一類實驗基于互相關的延時估計法將泄漏點定位在(78.3,2.9),定位誤差為4.4 m,而基于遺傳算法的定位算法將泄漏點定位在(80.1,6.3)處,定位誤差為0.7 m,與基于互相關的時延估計算法相比誤差大大降低了;第二類實驗可以看出基于遺傳算法的地下燃氣管道泄漏定位算法比基于互相關的時延定位算法的定位結果更穩(wěn)定并且準確度更高。實驗結果如表1所示。
從兩類實驗結果可以看出,本文提出的基于遺傳算法的地下燃氣管道泄漏點定位算法能夠達到高精確度、高可靠性的定位,因此應用在地下燃氣管道泄漏點定位中具有較高的優(yōu)越性。
表1 第二類實驗對比結果
未來管道燃氣使用會更加普遍,用量也將大幅增加,管道泄漏點定位精度問題需要得到有效的解決。文中提出的基于遺傳算法的地下燃氣管道泄漏定位算法,通過對泄漏點產生的次聲波信號的采集、分析、補償、運算,最終達到定位目的,彌補了傳統(tǒng)的燃氣管道定位算法精度不高、適用性不強的缺點。實驗表明基于遺傳算法的地下燃氣管道泄漏定位算法能夠達到亞米級的定位標準。下一階段的工作主要是對該算法進行優(yōu)化,降低上位機的計算量,更好的滿足定位實時性的要求。