摘 要:無線傳感器網(wǎng)絡(luò)在軍事、工業(yè)、醫(yī)療等領(lǐng)域都具有巨大的發(fā)展價(jià)值和前景,而無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)定位技術(shù)一直是研究的重點(diǎn)和熱點(diǎn),現(xiàn)有的節(jié)點(diǎn)定位技術(shù)不是成本過高就是節(jié)點(diǎn)定位精度不高。為了在降低成本的同時(shí)提高節(jié)點(diǎn)定位的精度,本文提出了一種基于移動信標(biāo)節(jié)點(diǎn)的過濾定位算法。該算法的主要思想是給無線傳感器網(wǎng)絡(luò)中布置移動信標(biāo)節(jié)點(diǎn)(此類節(jié)點(diǎn)上裝有GPS導(dǎo)航),其余節(jié)點(diǎn)位置再通過過濾后的三邊測距法計(jì)算得到。
關(guān)鍵詞:無線傳器感網(wǎng)絡(luò);傳感器節(jié)點(diǎn);定位;移動信標(biāo)節(jié)點(diǎn)
中圖分類號:TN929.5;TP212.9 文獻(xiàn)標(biāo)識碼: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é)點(diǎn)以自組織的形式構(gòu)建成的無線網(wǎng)絡(luò)。網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)具有通信、計(jì)算、存儲以及監(jiān)測周圍環(huán)境等能力,在軍事、工業(yè)、醫(yī)療等領(lǐng)域具有巨大的發(fā)展價(jià)值和前景。[1]然而對于大多數(shù)的無線傳感器網(wǎng)絡(luò)應(yīng)用來說,節(jié)點(diǎn)采集和傳送的數(shù)據(jù)信息應(yīng)該要包含節(jié)點(diǎn)自身的位置信息,否則這些節(jié)點(diǎn)采集和傳送的數(shù)據(jù)信息將變得毫無意義。因此,對無線傳感網(wǎng)中的節(jié)點(diǎn)進(jìn)行定位尤為重要。但是,如果給無線傳感器網(wǎng)絡(luò)中的每一個(gè)傳感器節(jié)點(diǎn)都裝上GPS導(dǎo)航,將大大增加成本,是不可取的。為降低成本,現(xiàn)有的研究都是給部分節(jié)點(diǎn)安裝GPS導(dǎo)航,再通過一定的節(jié)點(diǎn)定位算法計(jì)算出其余未知節(jié)點(diǎn)的位置。如何在盡可能給少量節(jié)點(diǎn)安裝GPS導(dǎo)航的同時(shí)又提高節(jié)點(diǎn)定位的精確度(即降低成本的同時(shí)提高定位精度)一直是研究人員所關(guān)注的重點(diǎn)。
1 現(xiàn)有節(jié)點(diǎn)定位算法分析
現(xiàn)有的節(jié)點(diǎn)定位算法主要分為測距和非測距兩大類。
基于測距的定位算法首先需要利用相關(guān)設(shè)備精確地測量節(jié)點(diǎn)間的距離、角度或接收信號強(qiáng)度等信息,然后利用三邊或三角測量法計(jì)算未知節(jié)點(diǎn)的位置信息。比較典型的基于測距的定位算法有基于到達(dá)時(shí)間(TOA)[2]、基于到達(dá)角度(AOA)[3]、基于到達(dá)時(shí)間差(TDOA)[4]和基于接收信號強(qiáng)度(RSS)[5]定位算法。基于測距的定位算法在利用三邊或三角測量法計(jì)算未知節(jié)點(diǎn)的位置信息時(shí),沒有考慮未知節(jié)點(diǎn)是否在三角形內(nèi)部,因此,針對一些特殊情況(如未知節(jié)點(diǎn)剛好在三角形某條邊上,或者未知節(jié)點(diǎn)在三角形的外面),利用三邊或三角測量法是計(jì)算不出未知節(jié)點(diǎn)的坐標(biāo)的。此外,上文提到的幾種基于測距的定位算法,需要給較多節(jié)點(diǎn)裝上GPS設(shè)備,沒有盡可能考慮降低成本問題。
不同于測距定位算法,非測距定位算法不需要利用節(jié)點(diǎn)間的距離與角度等信息,而是使用節(jié)點(diǎn)間的連通性信息。典型的非測距定位算法有質(zhì)心定位算法(Centroid Localization,CL)[6]、DV-Hop(Distance Vector-Hop)[7]定位算法。基于非測距的定位算法大多是通過跳數(shù)信息去計(jì)算出鄰居節(jié)點(diǎn)間的平均跳距,再將跳數(shù)乘以平均跳距得到未知節(jié)點(diǎn)與錨節(jié)點(diǎn)間的大概距離,最后再利用三邊或三角測量法計(jì)算出未知節(jié)點(diǎn)的位置信息。這類算法雖然不用像基于測距定位算法一樣需要額外的設(shè)備去測量節(jié)點(diǎn)間的距離等信息,但是,只能計(jì)算出未知節(jié)點(diǎn)的大概位置。此外,基于非測距的定位算法同樣也存在上文中基于測距定位算法所面臨的兩個(gè)問題。
針對上述問題,本文提出了一種基于移動信標(biāo)節(jié)點(diǎn)的過濾定位算法。
2 基于移動信標(biāo)節(jié)點(diǎn)的過濾定位算法
2.1 移動信標(biāo)節(jié)點(diǎn)
為了給盡可能少的節(jié)點(diǎn)安裝GPS導(dǎo)航設(shè)備以降低成本,本文提出的節(jié)點(diǎn)定位算法中,用移動信標(biāo)節(jié)點(diǎn)代替固定信標(biāo)節(jié)點(diǎn),移動信標(biāo)節(jié)點(diǎn)的個(gè)數(shù)可根據(jù)無線傳感網(wǎng)覆蓋的面積而定,即無線傳感網(wǎng)覆蓋面積越小移動信標(biāo)節(jié)點(diǎn)個(gè)數(shù)越少。
和固定信標(biāo)節(jié)點(diǎn)一樣,移動信標(biāo)節(jié)點(diǎn)需要周期性的把自己的位置、信號傳播速度(假設(shè)信號傳播速度為一個(gè)固定值)、發(fā)送時(shí)間等信息發(fā)送給鄰居節(jié)點(diǎn)。此外,移動信標(biāo)節(jié)點(diǎn)需要移動遍歷整個(gè)無線傳感網(wǎng)。遍歷區(qū)域根據(jù)移動信標(biāo)節(jié)點(diǎn)的個(gè)數(shù)劃分,即如果整個(gè)無線傳感網(wǎng)中只有一個(gè)移動信標(biāo)節(jié)點(diǎn),那么這個(gè)移動信標(biāo)節(jié)點(diǎn)需要移動遍歷整個(gè)無線傳感網(wǎng);如果整個(gè)無線傳感網(wǎng)中有兩個(gè)移動信標(biāo)節(jié)點(diǎn),那么一個(gè)移動信標(biāo)節(jié)點(diǎn)只需要移動遍歷無線傳感網(wǎng)覆蓋范圍的一半即可,以此類推。
2.2 過濾定位算法
本文提出的基于移動信標(biāo)節(jié)點(diǎn)的過濾定位算法的核心思想是:移動信標(biāo)節(jié)點(diǎn)周期性地發(fā)送自己的位置信息給未知節(jié)點(diǎn),未知節(jié)點(diǎn)對收到的位置信息進(jìn)行過濾并存儲(過濾的目的是為了存儲三個(gè)不同位置坐標(biāo),且需保證未知節(jié)點(diǎn)位于這三個(gè)坐標(biāo)點(diǎn)的內(nèi)部),然后再利用三邊測量法計(jì)算出未知節(jié)點(diǎn)的坐標(biāo)。
過濾定位算法具體描述如下:
(1)確定并存儲移動信標(biāo)節(jié)點(diǎn)的第一個(gè)坐標(biāo)位置。移動信標(biāo)節(jié)點(diǎn)周期性地把自己的ID、位置、發(fā)送時(shí)間、信號傳播速度(假設(shè)為已知的固定值v)等信息發(fā)送給其鄰居節(jié)點(diǎn)(未知節(jié)點(diǎn)),未知節(jié)點(diǎn)收到信息后查詢之前是否存儲有該節(jié)點(diǎn)相關(guān)信息。如果沒有,則將接收到的移動信標(biāo)節(jié)點(diǎn)的信息保存并作為計(jì)算未知節(jié)點(diǎn)自身坐標(biāo)位置的第一個(gè)坐標(biāo)點(diǎn);如果有,并且只存有一個(gè),則要根據(jù)下面的步驟(2)來確定是否將新接收到的位置信息作為計(jì)算未知節(jié)點(diǎn)坐標(biāo)位置的第二個(gè)坐標(biāo)點(diǎn);如果有,并且只存有兩個(gè),則要根據(jù)下面的步驟(3)來確定是否將新接收到的位置信息作為計(jì)算未知節(jié)點(diǎn)坐標(biāo)的第三個(gè)坐標(biāo)點(diǎn);如果有,并且剛好存有三個(gè),說明未知節(jié)點(diǎn)已經(jīng)能通過三邊測量法計(jì)算出自己的坐標(biāo)位置,那么未知節(jié)點(diǎn)將丟棄不存儲移動信標(biāo)節(jié)點(diǎn)新發(fā)送過來的位置信息。
(2)確定并存儲移動信標(biāo)節(jié)點(diǎn)的第二個(gè)坐標(biāo)位置。通過步驟(1)確定第一個(gè)坐標(biāo)點(diǎn)后,未知節(jié)點(diǎn)再接收到移動信標(biāo)節(jié)點(diǎn)的坐標(biāo)位置信息時(shí),要判斷該坐標(biāo)位置信息是否符合要求,如果符合要求,則把新接收到的坐標(biāo)位置信息存儲并作為第二個(gè)坐標(biāo)點(diǎn);如果不符合要求,那么未知節(jié)點(diǎn)將丟棄不存儲移動信標(biāo)節(jié)點(diǎn)新發(fā)送過來的位置信息。
判定新接收到的坐標(biāo)位置信息是否符合要求的具體方法如下:
如圖1所示,A為未知節(jié)點(diǎn),B為通過步驟(1)確定的第一個(gè)坐標(biāo)點(diǎn)(即移動信標(biāo)節(jié)點(diǎn)首次發(fā)送過來的坐標(biāo)位置),C為移動信標(biāo)節(jié)點(diǎn)新發(fā)送過來的坐標(biāo)位置,α為∠BAC。如果α大于等于90°且小于180°,那么C點(diǎn)符合要求,將作為計(jì)算未知節(jié)點(diǎn)A的坐標(biāo)的第二個(gè)坐標(biāo)點(diǎn)。否則將丟棄不存儲C點(diǎn)坐標(biāo)位置信息。
其中v為信號傳播速度(假設(shè)已知且固定),t1為未知節(jié)點(diǎn)A接收到移動信標(biāo)節(jié)點(diǎn)B處位置信息的時(shí)間與移動信標(biāo)節(jié)點(diǎn)在B處時(shí)發(fā)送消息給未知節(jié)點(diǎn)A的時(shí)間之差,t2為未知節(jié)點(diǎn)A接收到移動信標(biāo)節(jié)點(diǎn)C處位置信息的時(shí)間與移動信標(biāo)節(jié)點(diǎn)在C處時(shí)發(fā)送消息給未知節(jié)點(diǎn)A的時(shí)間之差,B點(diǎn)坐標(biāo)為(xB,yB),C點(diǎn)坐標(biāo)為(xC,yC)。
(3)確定并存儲移動信標(biāo)節(jié)點(diǎn)的第三個(gè)坐標(biāo)位置。通過步驟(2)確定第二個(gè)坐標(biāo)點(diǎn)后,未知節(jié)點(diǎn)再接收到移動信標(biāo)節(jié)點(diǎn)的坐標(biāo)位置信息時(shí),要判斷該坐標(biāo)位置信息是否符合要求,如果符合要求,則把新接收到的坐標(biāo)位置信息存儲并作為第三個(gè)坐標(biāo)點(diǎn);如果不符合要求,那么未知節(jié)點(diǎn)將丟棄不存儲移動信標(biāo)節(jié)點(diǎn)新發(fā)送過來的位置信息。
判定新接收到的坐標(biāo)位置信息是否符合要求的具體方法如下:
如圖2所示,A為未知節(jié)點(diǎn),B為通過步驟(1)確定的第一個(gè)坐標(biāo)點(diǎn)(即移動信標(biāo)節(jié)點(diǎn)首次發(fā)送過來的坐標(biāo)位置),C為通過步驟(2)確定的第二個(gè)坐標(biāo)點(diǎn),D為移動信標(biāo)節(jié)點(diǎn)新發(fā)送過來的坐標(biāo)位置,α為∠BAC,β為∠BAD,γ為∠CAD。如果β和γ都大于等于90°且小于180°,那么D點(diǎn)符合要求,將作為計(jì)算未知節(jié)點(diǎn)A的坐標(biāo)的第三個(gè)坐標(biāo)點(diǎn)。否則將丟棄不存儲D點(diǎn)坐標(biāo)位置信息。
其中v為信號傳播速度(假設(shè)已知且固定),t1為未知節(jié)點(diǎn)A接收到移動信標(biāo)節(jié)點(diǎn)B處位置信息的時(shí)間與移動信標(biāo)節(jié)點(diǎn)在B處時(shí)發(fā)送消息給未知節(jié)點(diǎn)A的時(shí)間之差,t2為未知節(jié)點(diǎn)A接收到移動信標(biāo)節(jié)點(diǎn)C處位置信息的時(shí)間與移動信標(biāo)節(jié)點(diǎn)在C處時(shí)發(fā)送消息給未知節(jié)點(diǎn)A的時(shí)間之差,t3為未知節(jié)點(diǎn)A接收到移動信標(biāo)節(jié)點(diǎn)D處位置信息的時(shí)間與移動信標(biāo)節(jié)點(diǎn)在D處時(shí)發(fā)送消息給未知節(jié)點(diǎn)A的時(shí)間之差,B點(diǎn)坐標(biāo)為(xB,yB),C點(diǎn)坐標(biāo)為(xC,yC),D點(diǎn)坐標(biāo)為(xD,yD)。
(4)利用三邊測量法計(jì)算出未知節(jié)點(diǎn)的坐標(biāo)位置。通過上述三個(gè)步驟確定的三個(gè)坐標(biāo)點(diǎn)(假設(shè)為圖2中的B、C、D)可以確保未知節(jié)點(diǎn)A位于這三個(gè)坐標(biāo)點(diǎn)組成的三角形的內(nèi)部,接下來利用三邊測量法就可以計(jì)算出未知節(jié)點(diǎn)A的坐標(biāo)。計(jì)算未知節(jié)點(diǎn)A的坐標(biāo)的具體計(jì)算方法如下:
最后通過解方程即可求出xA,yA的值。
上述式中,v為信號傳播速度(假設(shè)已知且固定),t1為未知節(jié)點(diǎn)A接收到移動信標(biāo)節(jié)點(diǎn)B處位置信息的時(shí)間與移動信標(biāo)節(jié)點(diǎn)在B處時(shí)發(fā)送消息給未知節(jié)點(diǎn)A的時(shí)間之差,t2為未知節(jié)點(diǎn)A接收到移動信標(biāo)節(jié)點(diǎn)C處位置信息的時(shí)間與移動信標(biāo)節(jié)點(diǎn)在C處時(shí)發(fā)送消息給未知節(jié)點(diǎn)A的時(shí)間之差,t3為未知節(jié)點(diǎn)A接收到移動信標(biāo)節(jié)點(diǎn)D處位置信息的時(shí)間與移動信標(biāo)節(jié)點(diǎn)在D處時(shí)發(fā)送消息給未知節(jié)點(diǎn)A的時(shí)間之差,A點(diǎn)坐標(biāo)為(xA,yA),B點(diǎn)坐標(biāo)為(xB,yB),C點(diǎn)坐標(biāo)為(xC,yC),D點(diǎn)坐標(biāo)為(xD,yD)。
3 仿真實(shí)驗(yàn)
為了評估本文提出的基于移動信標(biāo)節(jié)點(diǎn)過濾定位算法的性能,用MATLAB仿真軟件把本文算法和傳統(tǒng)的三邊測量法和三角測量法進(jìn)行比較,衡量指標(biāo)為定位誤差。
在120m×120m的正方形區(qū)域內(nèi)隨機(jī)部署傳感器節(jié)點(diǎn),統(tǒng)計(jì)節(jié)點(diǎn)總數(shù)為100、110、120、130、140、150、160、170、180、190、200時(shí)這三種算法的定位誤差,仿真結(jié)果圖如圖3所示。
4 結(jié) 論
本文提出的基于移動信標(biāo)節(jié)點(diǎn)的過濾定位算法,用移動信標(biāo)節(jié)點(diǎn)取代固定信標(biāo)節(jié)點(diǎn),減少了信標(biāo)節(jié)點(diǎn)的個(gè)數(shù),從而減少了節(jié)點(diǎn)需要安裝GPS設(shè)備的成本;同時(shí)對移動信標(biāo)節(jié)點(diǎn)發(fā)送過來的位置信息進(jìn)行過濾,從而確保未知節(jié)點(diǎn)位于移動信標(biāo)節(jié)點(diǎn)提供的三個(gè)坐標(biāo)點(diǎn)的內(nèi)部,提高了定位成功的概率和定位精確度。通過仿真實(shí)驗(yàn)也可以看出,相比傳統(tǒng)的節(jié)點(diǎn)定位算法,本文提出的定位算法提高了定位精確度。
參考文獻(xiàn):
[1] 周成綱.無線傳感中的WPSO-DVHOP算法在節(jié)點(diǎn)定位中的研究 [J].計(jì)算機(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é)點(diǎn)定位算法研究 [D].南京:南京郵電大學(xué),2017.
[7] 陳熹.無線傳感網(wǎng)中基于非測距的節(jié)點(diǎn)定位技術(shù)及改進(jìn)方案 [D].南京:南京郵電大學(xué),2016.
作者簡介:胡瓊(1992.02-),女,漢族,江西南昌人,助教,碩士,研究方向:物聯(lián)網(wǎng)。