徐小卜
摘要: 該文提出了一種基于位置指紋的無線傳感器網(wǎng)絡(luò)室內(nèi)安全定位算法,該算法采用傳感器節(jié)點RSSI信號作為位置指紋,為提高指紋的精確性,錨節(jié)點多次改變發(fā)送功率,并記錄相應(yīng)的RSSI值,形成一個唯一的位置向量。由于算法是離線訓(xùn)練的,因而可以避免攻擊者發(fā)送虛假位置信息導(dǎo)致的錯誤定位,是一種相對安全的無線傳感器網(wǎng)絡(luò)室內(nèi)定位算法。
關(guān)鍵詞: 無線傳感器網(wǎng)絡(luò);RSSI值;位置指紋;室內(nèi)定位
中圖分類號:TP212;TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)09-0076-02
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network, WSN)是由部署在監(jiān)測區(qū)域內(nèi)的大量傳感器節(jié)點通過無線通信技術(shù)自組織構(gòu)成的網(wǎng)絡(luò)[1]。定位技術(shù)是無線傳感器網(wǎng)絡(luò)的重要研究項目之一,不同的定位算法所基于不同的定位依據(jù),且對定位環(huán)境依賴較高,在某些環(huán)境下定位效果好的算法,在其他環(huán)境下定位性能卻不盡人意,這主要受定位技術(shù)的適用范圍和精確度影響所致。本文主要研究無線傳感器定位算法中基于位置指紋的室內(nèi)定位算法。
1 定位算法描述及分析
基于位置指紋(Location Fingerprint, LF)的定位技術(shù)基于“位置指紋”的思想,該技術(shù)事先采集“位置指紋”數(shù)據(jù)保存在本地數(shù)據(jù)庫,定位時檢測傳感器節(jié)點發(fā)射的無線信號的幅度和相位,并提取該無線信號的特征向量,將該特征向量與數(shù)據(jù)庫中的“位置指紋”數(shù)據(jù)進行匹配,找出最相似的結(jié)果實現(xiàn)定位[2]。
本文的定位算法采用接受信號強度指示(Received Signal Strength Indicator,RSSI)作為“位置指紋”。RSSI定位主要使用傳感器節(jié)點本身的射頻(Radio Frequency, RF)信號進行定位[3],是一種低功率、廉價的定位技術(shù)。本文對節(jié)點的RSSI信號進行變化處理,使之形成一個唯一的位置向量,作為該節(jié)點的“位置指紋”。
1.1 RSSI信號獲取及處理
傳感器節(jié)點的RSSI值的獲取方式大致相同,在基于IEEE 802.15.4基礎(chǔ)上的無線傳感器網(wǎng)絡(luò)中,RSSI值可以從幀結(jié)構(gòu)中獲取[4]。實驗發(fā)現(xiàn),無線傳感器網(wǎng)絡(luò)節(jié)點發(fā)送功率會對節(jié)點的RSSI值產(chǎn)生影響,為提高指紋的精確性、唯一性,降低不斷變化的外界復(fù)雜環(huán)境對節(jié)點RSSI值的影響,本實驗采用不同的發(fā)射功率發(fā)送信號,并取平均值作為節(jié)點的特征向量之一。
1.2 定位模型
將無線傳感器N個節(jié)點均勻分布在某實驗環(huán)境下,傳感器節(jié)點[Si]的實際位置為[(xi,yi)],其估計位置為[(xi,yi)']。所有節(jié)點可以和錨節(jié)點(預(yù)先知道位置的節(jié)點)相互通信,錨節(jié)點依次改變發(fā)射功率與普通節(jié)點通信,[rij]表示接收方節(jié)點[Si]處測得的發(fā)送方節(jié)點[Sj]的RSSI值,多次測量后取其平均值用[rij]表示。對于每個節(jié)點[Si]對應(yīng)唯一的位置指紋向量[Ri=[ri1,ri2,...riN]],訓(xùn)練數(shù)據(jù)集為實驗環(huán)境下的所有節(jié)點指紋向量[Ri]和實際位置[(xi,yi)]。定位階段就是通過匹配數(shù)據(jù)庫中預(yù)先存儲的“位置指紋”,通過一定的匹配算法來計算未知節(jié)點的估計位置[(xi,yi)']。
1.3 定位算法
我們的算法分為離線訓(xùn)練階段和在線定位階段。離線訓(xùn)練階段采集實驗環(huán)境下的所有節(jié)點指紋向量[Ri]和實際位置[(xi,yi)],并將它們保存在本地數(shù)據(jù)庫中。
在線定位階段計算未知位置節(jié)點指紋向量[Ri],并采用一個回歸算法,將該特征向量與數(shù)據(jù)庫中的“位置指紋”數(shù)據(jù)進行匹配計算,得到該節(jié)點的估計位置[(xi,yi)']。本文我們采用支持向量機回歸工具LS-SVM來進行數(shù)據(jù)庫匹配。支持向量機算法是一種基于統(tǒng)計學(xué)習(xí)理論的智能學(xué)習(xí)算法,尤其適合無線傳感器網(wǎng)絡(luò)這種小樣本的學(xué)習(xí)問題,并可以避免過學(xué)習(xí)問題。Yamano, K[5]成功運用支持向量機的思想實現(xiàn)了基于RFID的移動機器人自定位。
核函數(shù)的選擇是支持向量機模型訓(xùn)練的重要因素。在此我們選擇具有普適性的徑向基核函數(shù):
[k(x,x')=exp(-x-x'2σ2)]
2 實驗結(jié)果與分析
本文的實驗數(shù)據(jù)采用國外某圖書館的真實數(shù)據(jù)[6],該實驗可以采集到傳感器節(jié)點的溫濕度、鄰居節(jié)點的RSSI等,本實驗我們采用以3個錨節(jié)點為例(錨節(jié)點越多,定位越精確),3個不同的錨節(jié)點分別采取5個不同的發(fā)射功率進行測試,每個功率測試10次,取其平均值。離線訓(xùn)練階段無線傳感器節(jié)點均勻分布(分布密度越大,定位越精確),在線定位階段,我們依次隨機抽取了10個不同位置的傳感器節(jié)點測試定位算法的定位性能,定位性能用絕對誤差表示,定位結(jié)果如圖1所示。
3 結(jié)束語
本文提出的基于位置指紋的室內(nèi)定位算法,其實驗的平均定位誤差在0.8米左右,定位精度較高。由此可見,將傳感器節(jié)點的RSSI信號作為“位置指紋”,并采用回歸算法進行位置匹配,能較好的解決無線傳感器網(wǎng)絡(luò)室內(nèi)節(jié)點定位問題。由于位置指紋定位算法的離線訓(xùn)練階段無需在線計算,所有的“位置指紋”均存預(yù)先存儲在數(shù)據(jù)庫中,因而可以避免攻擊者發(fā)送虛假位置信息導(dǎo)致的錯誤定位問題,在一定程度上可以排除入侵節(jié)點對節(jié)點定位精度的影響,是一種容忍惡意節(jié)點攻擊的、相對安全的定位算法。
參考文獻:
[1] Krco S, Tsiatsis V, Matusikova K.Mobile Network Supported Wireless Sensor Network Services[C]. Mobile Adhoc and Sensor Systems, 2007. MASS 2007. IEEE Internatonal Conference on , 2007: 1-3, 8-11.
[2] Mauro Brunato, Roberto Battiti. statistical learning theory for location fingerprinting in wireless LANs[J]. Computer Networks: The International Journal of Computer and Telecommunications Networking, Apr. 2005,47(6).
[3] Stoyanova T, Kerasiotis F, Prayati A. A Practical RF Propagation Model for Wireless Network Sensors[C].Sensor Technologies and Applications, 2009. SENSORCOMM '09. Third International Conference on , 2009: 194-199, 18-23.
[4] IEEE 802.15.4. 工控網(wǎng)[EB/OL].http://www.ynkong.com/secondweb.asp?typeid=11&smalltypeid=1&id=425,2009.
[5] Yamano K, Tanaka K, Hirayama M. Self-localization of mobile robots with RFID system by using support vector machine[C].Intelligent Robots and Systems, 2004. (IROS 2004). Proceedings. 2004 IEEE/RSJ International Conference on , 2004,4: 3756- 376.
[6] Wireless sensor networks lab, "Library 2(November 2006)"[Online]. Avaliable: http://www.ulb.ac.be/di/mlg/sensorNet/datasets.html.