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