摘 要:無線傳感器網(wǎng)絡(luò)在軍事、工業(yè)、醫(yī)療等領(lǐng)域都具有巨大的發(fā)展價值和前景,而無線傳感器網(wǎng)絡(luò)中的節(jié)點定位技術(shù)一直是研究的重點和熱點,現(xiàn)有的節(jié)點定位技術(shù)不是成本過高就是節(jié)點定位精度不高。為了在降低成本的同時提高節(jié)點定位的精度,本文提出了一種基于移動信標節(jié)點的過濾定位算法。該算法的主要思想是給無線傳感器網(wǎng)絡(luò)中布置移動信標節(jié)點(此類節(jié)點上裝有GPS導航),其余節(jié)點位置再通過過濾后的三邊測距法計算得到。
關(guān)鍵詞:無線傳器感網(wǎng)絡(luò);傳感器節(jié)點;定位;移動信標節(jié)點
中圖分類號:TN929.5;TP212.9 文獻標識碼:A 文章編號:2096-4706(2019)04-0136-03
Filtering and Localization Algorithm Based on Mobile Beacon Node in WSN
HU Qiong
(Jiangxi Institute of Fashion Technology,Nanchang 330201,China)
Abstract:Wireless sensor networks have great development value and prospects in military,industrial,medical and other fields. The node location technology in wireless sensor networks has always been the focus and hotspot of research. The existing node location technology,either the cost is too high or the node localization accuracy is not high. In order to improve the accuracy of node positioning while reducing cost,this paper proposes a filtering localization algorithm based on mobile beacon nodes. The main idea of the algorithm is to arrange a mobile beacon node in the wireless sensor network (the GPS navigation is installed on the node),and the remaining node positions are calculated by the filtered three-side ranging method.
Keywords:WSN(wireless sensor network);sensor nodes;positioning;moving beacon nodes
0 引 言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)指的是傳感器節(jié)點以自組織的形式構(gòu)建成的無線網(wǎng)絡(luò)。網(wǎng)絡(luò)中的傳感器節(jié)點具有通信、計算、存儲以及監(jiān)測周圍環(huán)境等能力,在軍事、工業(yè)、醫(yī)療等領(lǐng)域具有巨大的發(fā)展價值和前景。[1]然而對于大多數(shù)的無線傳感器網(wǎng)絡(luò)應用來說,節(jié)點采集和傳送的數(shù)據(jù)信息應該要包含節(jié)點自身的位置信息,否則這些節(jié)點采集和傳送的數(shù)據(jù)信息將變得毫無意義。因此,對無線傳感網(wǎng)中的節(jié)點進行定位尤為重要。但是,如果給無線傳感器網(wǎng)絡(luò)中的每一個傳感器節(jié)點都裝上GPS導航,將大大增加成本,是不可取的。為降低成本,現(xiàn)有的研究都是給部分節(jié)點安裝GPS導航,再通過一定的節(jié)點定位算法計算出其余未知節(jié)點的位置。如何在盡可能給少量節(jié)點安裝GPS導航的同時又提高節(jié)點定位的精確度(即降低成本的同時提高定位精度)一直是研究人員所關(guān)注的重點。
1 現(xiàn)有節(jié)點定位算法分析
現(xiàn)有的節(jié)點定位算法主要分為測距和非測距兩大類。
基于測距的定位算法首先需要利用相關(guān)設(shè)備精確地測量節(jié)點間的距離、角度或接收信號強度等信息,然后利用三邊或三角測量法計算未知節(jié)點的位置信息。比較典型的基于測距的定位算法有基于到達時間(TOA)[2]、基于到達角度(AOA)[3]、基于到達時間差(TDOA)[4]和基于接收信號強度(RSS)[5]定位算法?;跍y距的定位算法在利用三邊或三角測量法計算未知節(jié)點的位置信息時,沒有考慮未知節(jié)點是否在三角形內(nèi)部,因此,針對一些特殊情況(如未知節(jié)點剛好在三角形某條邊上,或者未知節(jié)點在三角形的外面),利用三邊或三角測量法是計算不出未知節(jié)點的坐標的。此外,上文提到的幾種基于測距的定位算法,需要給較多節(jié)點裝上GPS設(shè)備,沒有盡可能考慮降低成本問題。
不同于測距定位算法,非測距定位算法不需要利用節(jié)點間的距離與角度等信息,而是使用節(jié)點間的連通性信息。典型的非測距定位算法有質(zhì)心定位算法(Centroid Localization,CL)[6]、DV-Hop(Distance Vector-Hop)[7]定位算法。基于非測距的定位算法大多是通過跳數(shù)信息去計算出鄰居節(jié)點間的平均跳距,再將跳數(shù)乘以平均跳距得到未知節(jié)點與錨節(jié)點間的大概距離,最后再利用三邊或三角測量法計算出未知節(jié)點的位置信息。這類算法雖然不用像基于測距定位算法一樣需要額外的設(shè)備去測量節(jié)點間的距離等信息,但是,只能計算出未知節(jié)點的大概位置。此外,基于非測距的定位算法同樣也存在上文中基于測距定位算法所面臨的兩個問題。
針對上述問題,本文提出了一種基于移動信標節(jié)點的過濾定位算法。
2 基于移動信標節(jié)點的過濾定位算法
2.1 移動信標節(jié)點
為了給盡可能少的節(jié)點安裝GPS導航設(shè)備以降低成本,本文提出的節(jié)點定位算法中,用移動信標節(jié)點代替固定信標節(jié)點,移動信標節(jié)點的個數(shù)可根據(jù)無線傳感網(wǎng)覆蓋的面積而定,即無線傳感網(wǎng)覆蓋面積越小移動信標節(jié)點個數(shù)越少。
和固定信標節(jié)點一樣,移動信標節(jié)點需要周期性的把自己的位置、信號傳播速度(假設(shè)信號傳播速度為一個固定值)、發(fā)送時間等信息發(fā)送給鄰居節(jié)點。此外,移動信標節(jié)點需要移動遍歷整個無線傳感網(wǎng)。遍歷區(qū)域根據(jù)移動信標節(jié)點的個數(shù)劃分,即如果整個無線傳感網(wǎng)中只有一個移動信標節(jié)點,那么這個移動信標節(jié)點需要移動遍歷整個無線傳感網(wǎng);如果整個無線傳感網(wǎng)中有兩個移動信標節(jié)點,那么一個移動信標節(jié)點只需要移動遍歷無線傳感網(wǎng)覆蓋范圍的一半即可,以此類推。
2.2 過濾定位算法
本文提出的基于移動信標節(jié)點的過濾定位算法的核心思想是:移動信標節(jié)點周期性地發(fā)送自己的位置信息給未知節(jié)點,未知節(jié)點對收到的位置信息進行過濾并存儲(過濾的目的是為了存儲三個不同位置坐標,且需保證未知節(jié)點位于這三個坐標點的內(nèi)部),然后再利用三邊測量法計算出未知節(jié)點的坐標。
過濾定位算法具體描述如下:
(1)確定并存儲移動信標節(jié)點的第一個坐標位置。移動信標節(jié)點周期性地把自己的ID、位置、發(fā)送時間、信號傳播速度(假設(shè)為已知的固定值v)等信息發(fā)送給其鄰居節(jié)點(未知節(jié)點),未知節(jié)點收到信息后查詢之前是否存儲有該節(jié)點相關(guān)信息。如果沒有,則將接收到的移動信標節(jié)點的信息保存并作為計算未知節(jié)點自身坐標位置的第一個坐標點;如果有,并且只存有一個,則要根據(jù)下面的步驟(2)來確定是否將新接收到的位置信息作為計算未知節(jié)點坐標位置的第二個坐標點;如果有,并且只存有兩個,則要根據(jù)下面的步驟(3)來確定是否將新接收到的位置信息作為計算未知節(jié)點坐標的第三個坐標點;如果有,并且剛好存有三個,說明未知節(jié)點已經(jīng)能通過三邊測量法計算出自己的坐標位置,那么未知節(jié)點將丟棄不存儲移動信標節(jié)點新發(fā)送過來的位置信息。
(2)確定并存儲移動信標節(jié)點的第二個坐標位置。通過步驟(1)確定第一個坐標點后,未知節(jié)點再接收到移動信標節(jié)點的坐標位置信息時,要判斷該坐標位置信息是否符合要求,如果符合要求,則把新接收到的坐標位置信息存儲并作為第二個坐標點;如果不符合要求,那么未知節(jié)點將丟棄不存儲移動信標節(jié)點新發(fā)送過來的位置信息。
判定新接收到的坐標位置信息是否符合要求的具體方法如下:
如圖1所示,A為未知節(jié)點,B為通過步驟(1)確定的第一個坐標點(即移動信標節(jié)點首次發(fā)送過來的坐標位置),C為移動信標節(jié)點新發(fā)送過來的坐標位置,α為∠BAC。如果α大于等于90°且小于180°,那么C點符合要求,將作為計算未知節(jié)點A的坐標的第二個坐標點。否則將丟棄不存儲C點坐標位置信息。
其中v為信號傳播速度(假設(shè)已知且固定),t1為未知節(jié)點A接收到移動信標節(jié)點B處位置信息的時間與移動信標節(jié)點在B處時發(fā)送消息給未知節(jié)點A的時間之差,t2為未知節(jié)點A接收到移動信標節(jié)點C處位置信息的時間與移動信標節(jié)點在C處時發(fā)送消息給未知節(jié)點A的時間之差,B點坐標為(xB,yB),C點坐標為(xC,yC)。
(3)確定并存儲移動信標節(jié)點的第三個坐標位置。通過步驟(2)確定第二個坐標點后,未知節(jié)點再接收到移動信標節(jié)點的坐標位置信息時,要判斷該坐標位置信息是否符合要求,如果符合要求,則把新接收到的坐標位置信息存儲并作為第三個坐標點;如果不符合要求,那么未知節(jié)點將丟棄不存儲移動信標節(jié)點新發(fā)送過來的位置信息。
判定新接收到的坐標位置信息是否符合要求的具體方法如下:
如圖2所示,A為未知節(jié)點,B為通過步驟(1)確定的第一個坐標點(即移動信標節(jié)點首次發(fā)送過來的坐標位置),C為通過步驟(2)確定的第二個坐標點,D為移動信標節(jié)點新發(fā)送過來的坐標位置,α為∠BAC,β為∠BAD,γ為∠CAD。如果β和γ都大于等于90°且小于180°,那么D點符合要求,將作為計算未知節(jié)點A的坐標的第三個坐標點。否則將丟棄不存儲D點坐標位置信息。
其中v為信號傳播速度(假設(shè)已知且固定),t1為未知節(jié)點A接收到移動信標節(jié)點B處位置信息的時間與移動信標節(jié)點在B處時發(fā)送消息給未知節(jié)點A的時間之差,t2為未知節(jié)點A接收到移動信標節(jié)點C處位置信息的時間與移動信標節(jié)點在C處時發(fā)送消息給未知節(jié)點A的時間之差,t3為未知節(jié)點A接收到移動信標節(jié)點D處位置信息的時間與移動信標節(jié)點在D處時發(fā)送消息給未知節(jié)點A的時間之差,B點坐標為(xB,yB),C點坐標為(xC,yC),D點坐標為(xD,yD)。
(4)利用三邊測量法計算出未知節(jié)點的坐標位置。通過上述三個步驟確定的三個坐標點(假設(shè)為圖2中的B、C、D)可以確保未知節(jié)點A位于這三個坐標點組成的三角形的內(nèi)部,接下來利用三邊測量法就可以計算出未知節(jié)點A的坐標。計算未知節(jié)點A的坐標的具體計算方法如下:
最后通過解方程即可求出xA,yA的值。
上述式中,v為信號傳播速度(假設(shè)已知且固定),t1為未知節(jié)點A接收到移動信標節(jié)點B處位置信息的時間與移動信標節(jié)點在B處時發(fā)送消息給未知節(jié)點A的時間之差,t2為未知節(jié)點A接收到移動信標節(jié)點C處位置信息的時間與移動信標節(jié)點在C處時發(fā)送消息給未知節(jié)點A的時間之差,t3為未知節(jié)點A接收到移動信標節(jié)點D處位置信息的時間與移動信標節(jié)點在D處時發(fā)送消息給未知節(jié)點A的時間之差,A點坐標為(xA,yA),B點坐標為(xB,yB),C點坐標為(xC,yC),D點坐標為(xD,yD)。
3 仿真實驗
為了評估本文提出的基于移動信標節(jié)點過濾定位算法的性能,用MATLAB仿真軟件把本文算法和傳統(tǒng)的三邊測量法和三角測量法進行比較,衡量指標為定位誤差。
在120m×120m的正方形區(qū)域內(nèi)隨機部署傳感器節(jié)點,統(tǒng)計節(jié)點總數(shù)為100、110、120、130、140、150、160、170、180、190、200時這三種算法的定位誤差,仿真結(jié)果圖如圖3所示。
4 結(jié) 論
本文提出的基于移動信標節(jié)點的過濾定位算法,用移動信標節(jié)點取代固定信標節(jié)點,減少了信標節(jié)點的個數(shù),從而減少了節(jié)點需要安裝GPS設(shè)備的成本;同時對移動信標節(jié)點發(fā)送過來的位置信息進行過濾,從而確保未知節(jié)點位于移動信標節(jié)點提供的三個坐標點的內(nèi)部,提高了定位成功的概率和定位精確度。通過仿真實驗也可以看出,相比傳統(tǒng)的節(jié)點定位算法,本文提出的定位算法提高了定位精確度。
參考文獻:
[1] 周成綱.無線傳感中的WPSO-DVHOP算法在節(jié)點定位中的研究 [J].計算機測量與控制,2016,24(10):165-168.
[2] Jie He.CC-KF:Enhanced TOA Performance in Multipath and NLOS Indoor Extreme Environment [J].Sensors Journal,IEEE,2014,14(11):3766-3774.
[3] SHAO H J.Efficient Closed-Form Algorithms for AOA Based Self-Localization of Sensor Nodes Using Auxiliary Variables [J].Signal Processing,IEEE TranSactions on,2014,62(10):2580-2594+1.
[4] Congfeng Liu,Jie Yang,F(xiàn)engshuai Wang.Joint TDOA and AOA location algorithm [J].Journal of Systems Engineering and Electronics,2013,24(2):183-188.
[5] MAUNG NAM,KAWAI M.Experimental evaluations of RSS threshold-based optimised DV-HOP localiSation for wireless ad-hoc networks [J].Electronics Letters,2014,50(17):1246-1248.
[6] 陳舒.無線傳感器網(wǎng)絡(luò)中基于DV-Hop的節(jié)點定位算法研究 [D].南京:南京郵電大學,2017.
[7] 陳熹.無線傳感網(wǎng)中基于非測距的節(jié)點定位技術(shù)及改進方案 [D].南京:南京郵電大學,2016.
作者簡介:胡瓊(1992.02-),女,漢族,江西南昌人,助教,碩士,研究方向:物聯(lián)網(wǎng)。