張春家,呂曉軍,劉思何,楊 波,賈新春
(1.中國鐵道科學(xué)研究院 電子計算技術(shù)研究所,北京 100081;2.山西大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,山西 太原 030006)
我國是一個疆域?qū)拸V,幅員遼闊的大國,其中山地、高原以及丘陵的面積占到了國土總面積的69%。復(fù)雜多變、山地眾多的地形條件決定了我國是一個滑坡災(zāi)害發(fā)生非常頻繁的國家,由滑坡造成的人員傷亡以及經(jīng)濟損失也非常嚴(yán)重[1]。此外,由人類工程活動導(dǎo)致的滑坡災(zāi)害事件也時有發(fā)生。近年來,隨著社會經(jīng)濟以及科學(xué)技術(shù)的飛速發(fā)展,人類活動對自然環(huán)境的影響越來越大,由人為因素引發(fā)的滑坡事件也更加頻繁。滑坡是人類長期面對的一種危害性極大的地質(zhì)災(zāi)害,它不僅嚴(yán)重威脅著人民群眾的生命安全,還會阻斷交通,毀壞建筑,給國家?guī)砭薮蟮慕?jīng)濟損失[2]。因此,為了盡量降低甚至避免滑坡災(zāi)害帶來的損失,對滑坡易發(fā)地區(qū)進(jìn)行監(jiān)測是非常必要的。文獻(xiàn)[3]設(shè)計了一組邊坡模型試驗,通過分級加載的方法模擬了堆載滑坡的演化過程,結(jié)合滑體表面水平位移實測數(shù)據(jù)分析了滑坡演化過程的空間變形破壞特征。以實測位移數(shù)據(jù)為依據(jù)反演出模型邊坡應(yīng)力場和位移場的演化過程,分析了邊坡變形機理和演化規(guī)律,為預(yù)防預(yù)測邊坡滑坡提供了理論依據(jù)。文獻(xiàn)[4]根據(jù)實際邊坡現(xiàn)場情況,基于分布式光纖傳感技術(shù),設(shè)計一套監(jiān)測網(wǎng)絡(luò),研究同一斷面不同錨桿的應(yīng)變分布規(guī)律。但是該方法需要安裝光纖,人員成本相對較高。如何提高滑坡監(jiān)測實時性和降低建設(shè)成本,成為部分研究者關(guān)注的重點。
滑坡體位移監(jiān)測法是一種跟蹤滑坡體移動狀態(tài)的監(jiān)測方法?;麦w位移監(jiān)測可以采用激光測距技術(shù)、GPS技術(shù)、合成孔徑雷達(dá)干涉測量法等多種方法實現(xiàn)。其中GPS技術(shù)最為成熟,應(yīng)用也最為廣泛。通過GPS衛(wèi)星定位技術(shù),得到滑坡體上監(jiān)測點的高精度三維坐標(biāo),根據(jù)坐標(biāo)信息的變化情況能夠判斷出監(jiān)測點是否發(fā)生移動。GPS技術(shù)測量精度高,受環(huán)境影響較小,易于實現(xiàn)自動化監(jiān)測,是一種理想的滑坡體位移監(jiān)測手段[5]。文獻(xiàn)[6]將多個低精度GPS接收機組合成實時平均數(shù)據(jù)的系統(tǒng),與單個接收機相比,數(shù)據(jù)的準(zhǔn)確性和可靠性均顯著提高。但其衛(wèi)星數(shù)據(jù)來源僅僅依靠GPS,相對單一[7]?;贕PS/北斗的差分動態(tài)定位算法實現(xiàn)了基于低成本設(shè)備的中等定位精度。但是該方法需要復(fù)雜的計算[8]分別考慮不同時段下數(shù)據(jù),調(diào)查數(shù)據(jù)長度對估計位移的影響。但是該方法需要采樣的時間較長,實時性較差。
結(jié)合文獻(xiàn)[6]~文獻(xiàn)[8]的優(yōu)缺點,設(shè)計了一類位移監(jiān)測系統(tǒng),該系統(tǒng)可應(yīng)用于滑坡體位移監(jiān)測中。考慮到滑坡易發(fā)地區(qū)通常位于地形、地貌復(fù)雜,條件惡劣,不方便構(gòu)建通信網(wǎng)絡(luò)的偏遠(yuǎn)山區(qū)。若要對這些地區(qū)進(jìn)行監(jiān)測,必須構(gòu)建一個可以實現(xiàn)短距離通信、抗干擾性強的、安全穩(wěn)定的無線局域網(wǎng)絡(luò)。因此,在設(shè)計位移監(jiān)測系統(tǒng)時,采用無線傳感器網(wǎng)絡(luò)來對滑坡易發(fā)地區(qū)進(jìn)行監(jiān)測[9-10]?;谝陨弦螅捎没赯igBee無線通信技術(shù)作為建立無線傳感器網(wǎng)絡(luò)的手段[11]。
在衛(wèi)星定位技術(shù)以及無線傳感器網(wǎng)絡(luò)技術(shù)的基礎(chǔ)上,設(shè)計了一種基于多位移點的監(jiān)測系統(tǒng),用來對滑坡災(zāi)害隱患點進(jìn)行監(jiān)測。同時考慮了一種算法,用于提高系統(tǒng)單點的定位精度。當(dāng)滑坡發(fā)生時,傳感器節(jié)點發(fā)生移動,該系統(tǒng)能夠及時監(jiān)測到節(jié)點的移動并向用戶發(fā)出警報。
圖1 位移監(jiān)測系統(tǒng)整體方案
位移監(jiān)測系統(tǒng)由終端節(jié)點,路由器以及上位機3個部分組成。如圖1所示。
終端節(jié)點負(fù)責(zé)采集節(jié)點的位置信息,并通過無線通訊的方式將采集到的數(shù)據(jù)發(fā)送出去。路由器負(fù)責(zé)接收終端節(jié)點發(fā)送的數(shù)據(jù),并將其轉(zhuǎn)發(fā)至協(xié)調(diào)器。路由器的存在極大地延長了通訊距離,使得數(shù)據(jù)的遠(yuǎn)距離傳輸成為現(xiàn)實。
協(xié)調(diào)器負(fù)責(zé)接收終端節(jié)點或者路由節(jié)點發(fā)送的數(shù)據(jù),并將數(shù)據(jù)通過串口傳輸給上位機。協(xié)調(diào)器節(jié)點還可以通過發(fā)送指令實現(xiàn)對終端節(jié)點的控制。上位機通過位移監(jiān)測軟件讀取數(shù)據(jù),并對數(shù)據(jù)進(jìn)行分析處理,得出終端節(jié)點所在位置的實時情況。
終端節(jié)點用來完成對定位信息和其它相關(guān)信息的采集,每個終端節(jié)點分為3個部分。
(1)供電模塊:終端節(jié)點采用太陽能電池供電,使得節(jié)點能夠長時間工作[12-13]。
(2)數(shù)據(jù)采集模塊:節(jié)點與GPS天線相連,它接收天線獲取的衛(wèi)星信號,并通過濾波,信息融合等一系列的處理,得出節(jié)點所在位置的定位信息。
(3)無線通訊模塊:本系統(tǒng)采用的是基于Zigbee的無線通信技術(shù)[14]。
終端節(jié)點的結(jié)構(gòu)如圖2所示。
圖2 終端節(jié)點結(jié)構(gòu)圖
位移監(jiān)測軟件運行于上位機上,是位移監(jiān)測系統(tǒng)最重要的組成部分,通過對位移監(jiān)測系統(tǒng)整體方案的介紹,可知位移監(jiān)測軟件的主要任務(wù)為:
(1)顯示協(xié)調(diào)器傳輸?shù)膫鞲衅鲾?shù)據(jù);
(2)完成對數(shù)據(jù)的解析,處理以及存儲,并能將這些數(shù)據(jù)以圖形、表格等形式展現(xiàn)出來;
(3)設(shè)計合理的位移報警算法對節(jié)點采集的衛(wèi)星定位數(shù)據(jù)進(jìn)行分析,根據(jù)分析結(jié)果判斷節(jié)點位置是否發(fā)生移動;
(4)通過協(xié)調(diào)器發(fā)送指令,實現(xiàn)對終端節(jié)點的控制。
位移監(jiān)測軟件的系統(tǒng)架構(gòu)如圖3所示。
協(xié)調(diào)器接收到終端節(jié)點采集的數(shù)據(jù)之后,通過串口將數(shù)據(jù)傳輸給上位機。位移監(jiān)測軟件接收到數(shù)據(jù)之后,會根據(jù)通訊協(xié)議對數(shù)據(jù)進(jìn)行解析,從中提取出節(jié)點編號、節(jié)點時間、節(jié)點經(jīng)緯度、節(jié)點短地址、信息類型、RSSI(Received Signal Strength Indicator)等多種信息,并將這些信息保存至MySql數(shù)據(jù)庫中。在軟件得到終端節(jié)點采集信息之后,會根據(jù)位移報警算法對這些信息進(jìn)行分析,根據(jù)分析結(jié)果判斷節(jié)點位置是否發(fā)生移動,并將這些信息以圖形、表格等多種形式表現(xiàn)出來。用戶可以通過用戶界面查看節(jié)點信息,也可以通過發(fā)送指令控制終端節(jié)點。
系統(tǒng)的整體設(shè)計框架如圖4所示。
圖3 系統(tǒng)架構(gòu)圖
圖4 系統(tǒng)設(shè)計框架
1.4.1 初始設(shè)置
當(dāng)用戶打開程序之后,應(yīng)該先正確完成系統(tǒng)的初始設(shè)置,只有在完成初始設(shè)置的前提下,才能開始接下來的操作。否則,系統(tǒng)無法正常運行。步驟如下。
(1)連接數(shù)據(jù)庫。打開程序,會出現(xiàn)連接數(shù)據(jù)庫界面,用戶只有正確輸入服務(wù)器名、用戶名、密碼數(shù)據(jù)庫名以及表名之后,才能成功連接到數(shù)據(jù)庫。
(2)串口設(shè)置。打開串口設(shè)置界面,首先選定可用的串口號,再根據(jù)系統(tǒng)要求選擇波特率、起始位、停止位、校驗位,所有參數(shù)設(shè)置完畢之后點擊確定,這時打開串口,初始設(shè)置完成。
初始設(shè)置完成之后,用戶便可以進(jìn)行接下來的操作。
1.4.2 軟件操作
軟件使用步驟如圖5所示。
圖5 軟件使用步驟示意圖
1.4.3 軟件功能
(1)數(shù)據(jù)解析。終端節(jié)點采集的原始數(shù)據(jù)必須依據(jù)通信協(xié)議進(jìn)行解析,之后才能得出節(jié)點的各種信息。打開主界面上的視圖欄,點擊查看解析數(shù)據(jù)。
(2)數(shù)據(jù)展示??梢酝ㄟ^圖形以及表格形式來展示數(shù)據(jù)。打開主界面的視圖欄,點擊表格顯示可以打開圖6所示的界面。通過該界面可以通過表格形式查看節(jié)點的各種信息。
(3)終端節(jié)點控制。打開主界面上的菜單欄,點擊節(jié)點控制可以打開終端節(jié)點控制界面。通過該界面上的按鈕可以控制節(jié)點的工作狀態(tài),數(shù)據(jù)發(fā)送速率以及定位信息(北斗定位信息、GPS定位信息和GPS/北斗混合定位信息)。
(4)報警。上位機首先會根據(jù)終端節(jié)點是否發(fā)送數(shù)據(jù)來判斷節(jié)點是否失效,若發(fā)現(xiàn)節(jié)點失效,則發(fā)出警報。如果節(jié)點能夠正常發(fā)送數(shù)據(jù),則根據(jù)位移報警算法對節(jié)點發(fā)送的經(jīng)緯度信息進(jìn)行分析,若分析結(jié)果顯示節(jié)點發(fā)生位移,則發(fā)出警報。
圖6 通過表格查看節(jié)點信息
由于地球的公轉(zhuǎn)、自轉(zhuǎn)以及天氣狀況的影響,終端節(jié)點即使在未移動時采集的經(jīng)緯度數(shù)據(jù)也不是穩(wěn)定的。因此,不能因為節(jié)點采集的經(jīng)緯度數(shù)據(jù)發(fā)生了變化,就認(rèn)為節(jié)點發(fā)生了移動。若要從經(jīng)緯度數(shù)據(jù)中得出終端節(jié)點的移動情況,必須先根據(jù)位移報警算法對經(jīng)緯度數(shù)據(jù)進(jìn)行分析,然后根據(jù)分析結(jié)果來判斷節(jié)點是否發(fā)生移動。
首先介紹一種求兩個經(jīng)緯度數(shù)據(jù)之間距離的運算
Θ表示一種運算,用來求兩個經(jīng)緯度有序?qū)崝?shù)對之間的距離。(lon1,lat1)與(lon2,lat2)都是二維向量,分別表示兩個不同的經(jīng)緯度數(shù)據(jù),d表示距離。
Θ表示的運算過程如下:
(1)把經(jīng)緯度數(shù)據(jù)(lon1,lat1)轉(zhuǎn)換成以地心為原點的空間直角坐標(biāo)(x1,y1,z1),其中
同理,將經(jīng)緯度數(shù)據(jù)(lon2,lat2)轉(zhuǎn)換成以地心為原點的空間直角坐標(biāo)(x2,y2,z2)。R為地球半徑。
(2)求兩個空間直角坐標(biāo)的直線距離
(3)根據(jù)余弦定理求兩個空間直角坐標(biāo)與地心的連線所成的夾角
(4)計算兩個空間直角坐標(biāo)在地球表面的弧長
綜上可得兩個經(jīng)緯度數(shù)據(jù)之間的距離。
針對上面算法存在的問題,設(shè)計了一種基于滑動平均濾波和一階前向差分的位移報警算法。算法分為4個步驟:
(1)數(shù)據(jù)預(yù)處理。首先對節(jié)點采集的原始數(shù)據(jù)做M點滑動平均濾波,減少一部分測量誤差。M點滑動平均濾波的輸入輸出關(guān)系為
式中,(xk-n,yk-n)為原始數(shù)據(jù),是一個二維向量;(珓xk,珓yk)為濾波后的數(shù)據(jù);取M=5。
(2)一階前向差分。
式中,(lonk+m,latk+m)是一個二維向量,lonk+m表示節(jié)點第k+m個數(shù)據(jù)的經(jīng)度,latk+m表示節(jié)點第k+m個數(shù)據(jù)的緯度;Δdk表示節(jié)點第k+m個數(shù)據(jù)與第k個數(shù)據(jù)之間的距離。
通過實驗得出了節(jié)點移動對Δdk的影響,實驗結(jié)果如下:當(dāng)節(jié)點未移動時,實驗結(jié)果如圖7所示??梢钥闯?,當(dāng)節(jié)點未移動時,Δdk比較穩(wěn)定,其中最大值小于0.7 m。節(jié)點移動時,實驗結(jié)果如圖8所示。
圖7 節(jié)點未移動時的距離變化
圖8 節(jié)點移動時Δdk的變化
圖8中實驗中節(jié)點共移動了40次??梢钥闯觯?dāng)節(jié)點發(fā)生移動時,Δdk明顯增大。
(3)閾值設(shè)定。通過大量的實驗來確定合理的閾值。
(4)判斷移動。為了減小偶然誤差的影響,這里取m=5,即Δdk=(lonk+5,latk+5)Θ(lonk,latk),k=1,2,…,當(dāng)Δdk連續(xù)3次大于閾值時,才判斷節(jié)點發(fā)生了移動。
如果節(jié)點發(fā)生了移動,但上位機未報警,稱為漏報。如果節(jié)點未移動,上位機卻發(fā)生警報,則稱為誤報。
定義上位機有報警信息記為事件A,無報警信息記為事件珔A;節(jié)點發(fā)生移動記為事件B,節(jié)點未發(fā)生移動的事件為珔B。
則有如下關(guān)系
定義N為節(jié)點移動次數(shù),P為節(jié)點移動時發(fā)生漏報的次數(shù),則漏報率
位移報警算法確定之后,需要通過實驗來確定最優(yōu)閾值。實驗場地中部署了6個節(jié)點,節(jié)點編號設(shè)置為40,41,…,45。在實驗中,對40,41,42和44號節(jié)點進(jìn)行移動,43和45號節(jié)點保持靜止。實驗結(jié)果如圖9、圖10所示。
由圖9可知,在節(jié)點未移動的情況下,閾值越小,節(jié)點誤報次數(shù)越高。由圖10可知,當(dāng)節(jié)點移動距離相同時,閾值越小,平均漏報率越低;在閾值相同時,移動距離越大,平均漏報率越低。為了同時降低節(jié)點的誤報次數(shù)以及相同移動距離下的平均漏報率,考慮將閾值設(shè)為0.5 m。
當(dāng)閾值設(shè)定為0.5 m時,節(jié)點的平均漏報率以及誤報次數(shù)依然很高。為了更準(zhǔn)確地進(jìn)行位移警報,需要在同一地區(qū)內(nèi)部署多個節(jié)點。當(dāng)位于同一地區(qū)內(nèi)的多個節(jié)點同時報警時,則認(rèn)為節(jié)點發(fā)生了移動。為了驗證該方法的可行性,進(jìn)行了實驗。實驗中,將閾值設(shè)定為0.5 m,然后同時移動4個節(jié)點,移動100次。統(tǒng)計4個節(jié)點同時移動時會有幾個節(jié)點發(fā)生警報,結(jié)果如表1所示。
表1 4個節(jié)點中報警節(jié)點個數(shù)
注:準(zhǔn)確率是指2個及2個以上的節(jié)點同時報警的概率。
雖然節(jié)點會發(fā)生誤報,但多個節(jié)點同時誤報的概率是極小的。因此,可以認(rèn)為當(dāng)2個及2個以上的節(jié)點同時發(fā)生警報時,節(jié)點發(fā)生了移動。由表1可知,在4個節(jié)點同時移動0.5 m的情況下,2個及2個以上節(jié)點同時報警的概率達(dá)到了91%,而且隨著節(jié)點移動距離增加,準(zhǔn)確率也隨之提高。
本文闡述的位移監(jiān)測系統(tǒng)由多個終端節(jié)點、一個路由器、以及一個與協(xié)調(diào)器相連的上位機組成。位移監(jiān)測系統(tǒng)軟件運行于上位機之上,是位移監(jiān)測系統(tǒng)的重要組成部分。首先,詳細(xì)介紹了位移監(jiān)測系統(tǒng),然后設(shè)計了一種基于滑動均值濾波和一階前向差分的位移報警算法來提高定位精度,最后通過現(xiàn)場實驗對位移報警算法的準(zhǔn)確性進(jìn)行驗證。