馬春龍, 張啟英
(長春大學光華學院 信息工程學院,吉林 長春 130031)
近幾年,國內(nèi)外無線傳感器網(wǎng)絡(luò)技術(shù)得到了飛速的發(fā)展,特別是在國內(nèi),由于無限傳感器網(wǎng)絡(luò)技術(shù)是中國政府支持發(fā)展的主要方向,因此,無線傳感器網(wǎng)絡(luò)技術(shù)也被應(yīng)用在各個領(lǐng)域,其中,無線傳感器網(wǎng)絡(luò)定位技術(shù)被應(yīng)用于人員、物品的定位及管理。而在國外,采用無線傳感器網(wǎng)絡(luò)實時定位系統(tǒng)的企業(yè)越來越多,僅2010年一年的時間,在企業(yè)數(shù)量上就比往年增長了3倍之多。與此同時,關(guān)于無線傳感器網(wǎng)絡(luò)定位算法的研究也得到了很大的發(fā)展,特別是近幾年提出了許多新穎的解決方案和思想,根據(jù)具體的定位機制,可以將現(xiàn)有的無線傳感器網(wǎng)絡(luò)人員定位算法分為兩類:一是基于測距的(Range based)定位算法;二是無需測距的(Range free)定位算法。Range based定位算法需要測量盲節(jié)點與參考節(jié)點之間的距離或角度信息,然后使用三邊測量、三角測量等方法計算盲節(jié)點的位置。文中采用基于測距的定位算法,距離的測量是通過測量目標節(jié)點和參考節(jié)點之間傳輸信號的RSSI值來實現(xiàn)的,而傳輸信號的RSSI值容易受到外界隨機干擾的影響,導致測量的距離值不準確而產(chǎn)生定位誤差。因此,剔除采集到信號中的RSSI值的干擾量對提高定位精度具有重要意義[1]。
基于無線傳感器網(wǎng)絡(luò)的定位系統(tǒng)主要由無線傳感器網(wǎng)絡(luò)目標節(jié)點、參考節(jié)點、匯聚節(jié)點及控制中心計算機組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 定位系統(tǒng)結(jié)構(gòu)
各節(jié)點硬件電路的控制芯片選用CC2430/1,CC2430芯片為Chipcon公司生產(chǎn)的2.4GHz射頻系統(tǒng)芯片。該單芯片上整合了ZigBee RF前端、內(nèi)存、微控制器。
其主要特點如下:高性能和低功耗的8051微控制器核;集成符合IEEE 802.15.4標準的2.4GHz的RF無線電收發(fā)機;在休眠模式時僅0.9μA的流耗,外部的中斷或RTC(實時時鐘)喚醒系統(tǒng),在待機模式時少于0.6μA的流耗,外部的中斷能喚醒系統(tǒng),滿足無線網(wǎng)絡(luò)傳感器節(jié)點低功耗的要求。較寬的電壓范圍(2.0~3.6V);具有電池監(jiān)測和溫度感測功能;集成了14位ADC;帶有2個 USART 等[2-3]。
該系統(tǒng)以3~12(最多16個)個參考節(jié)點(Reference Node)構(gòu)成一個最大區(qū)域為60m×60m的無線定位網(wǎng)絡(luò)。參考節(jié)點之間通過802.15.4/ZigBee無線通訊標準保持無線聯(lián)系,通過上位機軟件可以實現(xiàn)對全部參考節(jié)點的無線參數(shù)配置。
對于一個定位應(yīng)用來說,參考節(jié)點的位置是已知的,并且它是靜止的,可以在被請求時告訴其它節(jié)點它的坐標。目標節(jié)點(以CC2431芯片為核心)是移動的節(jié)點,它安裝在定位目標上,由電池供電。當目標節(jié)點進入由參考節(jié)點、匯聚節(jié)點等組成的監(jiān)控網(wǎng)絡(luò)時,就會向參考節(jié)點發(fā)出RSSI請求,并將接收到的RSSI根據(jù)高斯分布函數(shù)及分批估計融合理論的定位算法計算處理,然后,將其送入CC2431硬件引擎自動計算自己的位置坐標,準確定位,并將定位信息和目標節(jié)點ID等信息實時無線發(fā)送給上位機。
基于VB環(huán)境,編寫了上位機定位軟件。
式中:n——信號傳播常數(shù);
d——與參考節(jié)點的距離;
A——距離參考節(jié)點1m的接收信號強度。
RSSI測距法比較簡單,但是,由于實際環(huán)境中溫度、多徑效應(yīng)等條件容易發(fā)生變化,使得計算出的距離有很大誤差。
三角形質(zhì)心定位算法是:參考節(jié)點p1,p2,p3在目標節(jié)點的請求下,分別周期性地發(fā)出自身的位置信息,目標節(jié)點接收參考節(jié)點攜帶了位置信息的RSSI。并根據(jù)式(2)分別計算出3個參考節(jié)點到目標節(jié)點的距離d1,d2,d3,再分別以3個參考節(jié)點為圓心,d1,d2,d3為半徑畫圓,通過計算相交圓的交點及由交點組成的三角形的質(zhì)心來估算目標節(jié)點的坐標,使目標節(jié)點的坐標值更準確[4]。
隨機數(shù)模型是指當目標節(jié)點采集到一個RSSI值,則馬上進行定位計算,該模型優(yōu)點在于定位實時、運算量小,適用于處理速率較低的硬件平臺,但在實際定位環(huán)境中,RSSI值極易受到外界干擾,該模型也容易受到外界干擾。
統(tǒng)計均值模型是目標節(jié)點采集一組n個RSSI值,然后求這些數(shù)據(jù)的均值,該模型可以通過調(diào)節(jié)n來平衡實時性與精確性,當n很大時,可以有效解決定位數(shù)據(jù)隨機性誤差問題,計算量會相應(yīng)增加,但外部擾動較大時,該模型的定位精度也不高[4]。
3.1.1 關(guān)于高斯分布函數(shù)
高斯分布即正態(tài)分布(normal distribution),是一種概率分布。第一參數(shù)μ是服從正態(tài)分布的隨機變量的均值,第二個參數(shù)σ2是此隨機變量的方差,所以正態(tài)分布記作N(μ,σ2)。服從正態(tài)分布的隨機變量的概率規(guī)律為取μ鄰近值的概率大,而取遠離μ值的概率小;σ越小,分布越集中在μ附近,σ越大,分布越分散。正態(tài)分布的密度函數(shù)的特點是:關(guān)于μ對稱,在μ處達到最大值,在正(負)無窮遠處取值為0,在μ±σ處有拐點。它的形狀是中間高兩邊低,圖像是一條位于x軸上方的鐘形曲線,正態(tài)分布的密度函數(shù)表達式如下:
3.1.2 高斯模型處理RSSI的可行性
當目標節(jié)點在同一位置接收n次參考節(jié)點發(fā)來的RSSI值時,必然存在一些由于干擾而帶來的RSSI值的突變,但這是一個小概率事件,大部分采集來的RSSI值還是應(yīng)該在平均值附近,因此,參考節(jié)點發(fā)來的RSSI值(隨機變量X)的概率服從高斯分布,即X~N(μ,σ2),因此,RSSI數(shù)據(jù)可以用高斯模型處理,其密度函數(shù)為式(3)。
在式(3)中:
式中:xi——第i個信號強度值;
n——接收到的RSSI值個數(shù)。
3.1.3 用高斯模型處理數(shù)據(jù)方法
一個目標節(jié)點在同一位置收到的n個RSSI,其中,由于外部干擾的存在,必然存在著小概率事件,通過高斯模型選取高概率發(fā)生區(qū)的RSSI值,這種做法減少了一些小概率、大干擾事件對整體測量的影響,增強了定位信息的準確性。
高斯模型解決了RSSI在實際測試中易受干擾、穩(wěn)定性差等問題,提高了定位精度,但是高斯模型只能消除小概率短暫的擾動,下面在用高斯模型處理RSSI數(shù)據(jù)的基礎(chǔ)上,再利用單傳感器分批估計融合理論對數(shù)據(jù)進行融合以期獲得RSSI最優(yōu)值[4]。
3.2.1 算法的基本思想
提高單傳感器測量精度對整個檢測系統(tǒng)來說是至關(guān)重要的,因此,必須對單傳感器所測量的數(shù)據(jù)進行處理。一個參數(shù)有多個樣本觀測值是數(shù)據(jù)處理中常見情況,在工業(yè)測量過程中,傳感器參量相對于系統(tǒng)采樣頻率而言,一般是緩慢且具有正態(tài)分布的。將等精度測量數(shù)據(jù)分成兩組 (按照先后或者奇偶分組),根據(jù)分批估計理論可以得到測量數(shù)據(jù)的融合值[5-6]。
3.2.2 單個傳感器融合值的確定
將單只傳感器的n個觀測值x劃分成x11,x12,…,x1k和x21,x22,…,x2m,其中,k+m=n,(k,m≥2)。兩組樣本所對應(yīng)的平均值分別為:
樣品方差分別為:
x的融合值和方差是:
定位算法過程如下:
1)初始化各節(jié)點。
2)參考節(jié)點根據(jù)目標節(jié)點的請求向目標節(jié)點發(fā)送帶有位置坐標的信息,目標節(jié)點在收到RSSI值信息后,將其值記錄到對應(yīng)的RSSI數(shù)組Beacon-val[n0]中,n0為選取記錄的數(shù)據(jù)個數(shù)。
3)目標節(jié)點運用高斯分布函數(shù)處理RSSI值,根據(jù)文中所研究的人員、物品定位系統(tǒng)的應(yīng)用環(huán)境的總體情況,選擇0.5為臨界點,也就是說,當高斯分布函數(shù)值大于0.5時,認為對應(yīng)的RSSI值為高概率發(fā)生值,小于或等于0.5所對應(yīng)的RSSI值時,認為是小概率隨機事件,通過式(4)與式(5)可以求出μ與σ[2]。
由式(12)可以確定RSSI的選值范圍,按照此范圍目標節(jié)點從收到的n0個RSSI數(shù)據(jù)中選值,并存放到數(shù)組 Beacon-val-gaosi[n],n<n0中。
4)應(yīng)用單傳感器分批估計融合理論,對經(jīng)過高斯函數(shù)選取過的數(shù)組gaosi[n]中的RSSI值進行融合處理,數(shù)組 Beacon-val-gaosi[n]中n為高斯篩選后入選RSSI的個數(shù)。根據(jù)式(6)~式(11)得出的RSSI優(yōu)化值為:
5)目標節(jié)點判斷收到的參考節(jié)點的個數(shù)是否超過3個,如果超過,則不再接收參考節(jié)點的信息,否則繼續(xù)接收。
6)用式(13)算出的RSSI值,根據(jù)式(2)算出目標節(jié)點到3個參考節(jié)點間的距離,再根據(jù)三角形質(zhì)心定位法算出目標節(jié)點的坐標。
7)將算出的目標節(jié)點坐標經(jīng)匯聚節(jié)點實時上傳到控制中心計算機[7-8]。
該系統(tǒng)以3個參考節(jié)點(Reference Node)構(gòu)成邊長為60m的無線定位網(wǎng)絡(luò)。節(jié)點之間通過802.15.4/ZigBee無線通訊標準保持無線聯(lián)系,通過上位機軟件可以實現(xiàn)對全部參考節(jié)點的無線參數(shù)配置(例如,對參考節(jié)點的坐標配置)。
測試數(shù)據(jù)記錄見表1。
表1 測試數(shù)據(jù)記錄
表中實際位置與指示位置的坐標誤差為
實際位置與指示位置的相對距離誤差為
η為定位精度,定位精度測算公式如下:
式中:n——測量次數(shù);
Li——第i次實際位置與指示位置的相對距離誤差。
綜上所述,定位精度為:
在基于測距的定位算法中,為解決傳輸信號的RSSI值容易受到外界隨機干擾的影響,導致測量的距離值不準確而產(chǎn)生定位誤差的問題,文中提出了一種基于高斯分布函數(shù)及分批估計融合理論的無線傳感器網(wǎng)絡(luò)定位算法。該算法首先采用高斯模型分析RSSI,通過高斯模型剔除小概率事件RSSI的值,消除隨機干擾;然后再運用單傳感器分批估計融合理論計算高概率事件RSSI的值作為最終定位運算用的RSSI值,并將其送入目標節(jié)點CC2431的硬件引擎,確定目標節(jié)點的坐標。實驗證明,采用該種算法,系統(tǒng)定位精度能夠提高到0.5m以內(nèi),滿足物品定位精度的要求。
[1]張清國,黃竟偉,王敬華,等.一個新的無線傳感器網(wǎng)絡(luò)節(jié)點定位算法[J].小型微型計算機系統(tǒng),2009(3):461-462.
[2]Ma Chunlong,Li Xiaoguang,Li Zhaoxi.Design of gas information collection and control system based on GPRS[C]// MEC,2011:1222-1224.
[3]何大宇,韋銥,徐英鵬.ZigBee無線傳感網(wǎng)絡(luò)的醫(yī)療應(yīng)用研究[J].長春工業(yè)大學學報:自然科學版,2010,31(3):355-359.
[4]朱劍,趙海,孫佩鋼,等.基于RSSI均值的等邊三角形定位算法[J].東北大學學報:自然科學版,2007,28(8):1095-1096.
[5]Chunlong Ma,Jianguo Li,Shuhan Yu.Method of soil electrical conductivity measurement based on multi-sensor data fusion[C]// MEC,2011:1219-1221.
[6]Chunlong Ma,Shuyan Zhang,Jinli Wang.Electronics engineer combat training[M].Changchun:Jilin Publishing Group Press.,2010:253-260.
[7]付華,胡雅馨.無線傳感器網(wǎng)絡(luò)中基于RSSI的質(zhì)心定位算法[J].微計算機信息,2010,26(8/1):19-20.
[8]王建宏,杜世順.基于無線傳感網(wǎng)絡(luò)的井下區(qū)域定位算法[J].煤礦機械,2010,31(12):189-190.