專利名稱::基于區(qū)域劃分和坐標(biāo)貼邊的無線傳感網(wǎng)絡(luò)半自動(dòng)節(jié)點(diǎn)定位方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于無線傳感網(wǎng)絡(luò)領(lǐng)域,尤其是一種無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)定位方法。
背景技術(shù):
:隨著傳感器技術(shù)、嵌入式技術(shù)、分布式信息處理技術(shù)和無線通訊技術(shù)的發(fā)展,以大量的具有微處理能力的微型傳感器節(jié)點(diǎn)組成的無線傳感網(wǎng)絡(luò)(WirelessSensorNetwork,WSN)逐漸成為學(xué)術(shù)界的研究熱點(diǎn),也成為工業(yè)界拓展應(yīng)用的熱點(diǎn)。在WSN領(lǐng)域中有很多亟待解決與研究的關(guān)鍵問題,節(jié)點(diǎn)定位問題就是其中之一。節(jié)點(diǎn)定位指的是無線傳感網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn),根據(jù)少數(shù)已知位置的節(jié)點(diǎn),通過執(zhí)行某種方法或運(yùn)行某個(gè)算法獲取到自身在網(wǎng)絡(luò)中的物理位置。根據(jù)節(jié)點(diǎn)是否已知自身位置,節(jié)點(diǎn)可分為信標(biāo)節(jié)點(diǎn)(Anchor)和未知節(jié)點(diǎn)。信標(biāo)節(jié)點(diǎn)通過攜帶GPS定位設(shè)備或手動(dòng)寫入等手段獲得自身的精確位置,在網(wǎng)絡(luò)節(jié)點(diǎn)中占的比例很小;其它非信標(biāo)的節(jié)點(diǎn)就是未知節(jié)點(diǎn),它們通過信標(biāo)節(jié)點(diǎn)來確定自身位置。因?yàn)樵跓o線傳感網(wǎng)絡(luò)中,節(jié)點(diǎn)分布空間廣,位置隨機(jī)性極大,而網(wǎng)絡(luò)所收集的信息又具有很大的位置依賴性,所以節(jié)點(diǎn)的自我定位對(duì)于WSN應(yīng)用有著重要意義。到目前為止,雖然已有很多學(xué)者提出比較典型的WSN節(jié)點(diǎn)定位算法,取得了一定的成果,但是仍然存在許多不足之處,這主要表現(xiàn)在以下一些方面(1).大多停留在理論階段,實(shí)際應(yīng)用很少。這是目前對(duì)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位問題研究的一個(gè)最主要的不足之處?,F(xiàn)在已經(jīng)有大量的節(jié)點(diǎn)定位方法和定位算法被提出,然而很少有將這些算法實(shí)現(xiàn)并成功應(yīng)用于某個(gè)實(shí)際的系統(tǒng)中的案例。對(duì)這些定位算法的研究和性能分析等,多數(shù)都是采用仿真和簡(jiǎn)單的程序?qū)崿F(xiàn)等辦法,不具有實(shí)際意義。(2).定位精度并不高。目前雖然已經(jīng)有了很多無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)定位方法和算法,但是這些方法在實(shí)際應(yīng)用中的定位精度并不很高,即使是使用專門的測(cè)距設(shè)備來獲取位置,其誤差也相對(duì)較大。這一方面是由于定位方法或算法本身的問題,更主要的原因這些定位方法與實(shí)際應(yīng)用結(jié)合不緊密,沒有根據(jù)不同的WSN應(yīng)用各自的特點(diǎn)對(duì)定位過程做出優(yōu)化。(3).與其它問題結(jié)合不足。定位問題并不是一個(gè)孤立的問題,在考慮如何提高節(jié)點(diǎn)的定位精度、定位效率、定位準(zhǔn)確率的同時(shí),還要考慮到由此所帶來的能量消耗增長(zhǎng)、信息安全等問題,而現(xiàn)有的定位研究對(duì)于這方面的考慮不多。基于無線傳感網(wǎng)絡(luò)的室內(nèi)緊急逃生引導(dǎo)系統(tǒng)(IndoorEmergency-esc即e-guideSystem,IEEGS),其基本思想是在一個(gè)平面結(jié)構(gòu)的建筑物內(nèi)布置一定數(shù)量的無線傳感節(jié)點(diǎn),組成無線傳感網(wǎng)絡(luò),這些節(jié)點(diǎn)監(jiān)測(cè)周圍的溫度、光照等環(huán)境參數(shù),以判斷是否有火災(zāi)發(fā)生。一旦當(dāng)某些節(jié)點(diǎn)根據(jù)采集來的數(shù)據(jù)認(rèn)定有火災(zāi)發(fā)生,那這些節(jié)點(diǎn)將進(jìn)入異常狀態(tài),并向全網(wǎng)絡(luò)廣播。收到異常狀態(tài)的節(jié)點(diǎn)根據(jù)火災(zāi)位置、自身位置、出口位置,實(shí)時(shí)計(jì)算出一個(gè)安全逃生方向,并使用指示標(biāo)志將這個(gè)方向指出,建筑物內(nèi)的被困人員可以依據(jù)這些指向一步步的向就近的出口方向逃生。IEEGS系統(tǒng)對(duì)網(wǎng)絡(luò)中節(jié)點(diǎn)的位置信息有很大的依賴性,因此,與大多數(shù)的WSN應(yīng)用一樣,IEEGS需要解決定位問題。除了一般的WSN節(jié)點(diǎn)定位需求以外,IEEGS系統(tǒng)在節(jié)點(diǎn)定位方面還有其自身的特點(diǎn)(1).要求一定的精度。在IEEGS系統(tǒng)中,火災(zāi)地點(diǎn)需要根據(jù)發(fā)出緊急信號(hào)的節(jié)點(diǎn)的位置來判斷,如果這些節(jié)點(diǎn)的定位不夠準(zhǔn)確,不但影響逃生路徑的計(jì)算,而且會(huì)影響施救人員的正確判斷,甚至造成嚴(yán)重后果。這就要求運(yùn)行于IEEGS中的節(jié)點(diǎn)定位算法能夠達(dá)到一定的精度,如有需要,可以犧牲一些執(zhí)行效率和能耗。(2).節(jié)點(diǎn)分布呈現(xiàn)區(qū)域特性,邊緣特性。IEEGS系統(tǒng)通常會(huì)部署在平面建筑物內(nèi),傳感器節(jié)點(diǎn)或是被安放在走道和房間的墻壁上,或是被懸掛于天花板上,其分布位置大都處于一個(gè)矩形區(qū)域的邊緣。
發(fā)明內(nèi)容為了克服已有無線傳感器網(wǎng)絡(luò)定位方法的定位精度低、無法應(yīng)用于實(shí)際環(huán)境、實(shí)用性較差的不足,本發(fā)明提供一種定位精度高、能夠適用實(shí)際定位環(huán)境、實(shí)用性強(qiáng)的基于區(qū)域劃分和坐標(biāo)貼邊的無線傳感網(wǎng)絡(luò)半自動(dòng)節(jié)點(diǎn)定位方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是—種基于區(qū)域劃分和坐標(biāo)貼邊的無線傳感網(wǎng)絡(luò)半自動(dòng)節(jié)點(diǎn)定位方法,所述半自動(dòng)節(jié)點(diǎn)定位方法包括以下步驟1)、參數(shù)配置根據(jù)網(wǎng)絡(luò)的總拓?fù)鋱D,對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行矩形區(qū)域劃分,以及確定每一個(gè)信標(biāo)節(jié)點(diǎn)所處區(qū)域,劃分后的區(qū)域坐標(biāo)參數(shù)為Oq,yi)-(x2,y》,其中Oq,y》是區(qū)域左上頂點(diǎn)坐標(biāo),(x2,y2)是區(qū)域右下頂點(diǎn)坐標(biāo);并設(shè)定區(qū)域節(jié)點(diǎn)密度P、節(jié)點(diǎn)通信半徑r、修正因子m、貼邊門限值k以及信標(biāo)節(jié)點(diǎn)坐標(biāo);有修正因子m的取值范圍是(0,5],信標(biāo)節(jié)點(diǎn)為參考點(diǎn),其坐標(biāo)為已知量;根據(jù)區(qū)域節(jié)點(diǎn)密度P、節(jié)點(diǎn)通信半徑r、修正因子m,計(jì)算網(wǎng)絡(luò)平均每跳距離,具體蕭//=-T》>一廠1r*—_,r、^(6)其中,Asra是網(wǎng)絡(luò)平均每跳距離;2)、定位過程,具體有(2.1)計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的最小跳數(shù);(2.2)計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的跳數(shù)距離未知節(jié)點(diǎn)收到與信標(biāo)節(jié)點(diǎn)的跳數(shù)信息后,利用下式計(jì)算到這些信標(biāo)節(jié)點(diǎn)的幾何距離di二ASPHXhoPi&是節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的距離,hopi為節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的跳數(shù);(2.3)計(jì)算未知節(jié)點(diǎn)坐標(biāo)初值當(dāng)一個(gè)未知節(jié)點(diǎn)獲得與3個(gè)或更多信標(biāo)節(jié)點(diǎn)間的5跳距之后,使用三邊測(cè)量法計(jì)算自身位置,獲得其位置坐標(biāo)的初始值(2.4)坐標(biāo)貼邊根據(jù)未知節(jié)點(diǎn)自身坐標(biāo)初值、所處區(qū)域的坐標(biāo)、貼邊門限值k,執(zhí)行坐標(biāo)貼邊過程如果該坐標(biāo)到區(qū)域的上下左右4個(gè)邊緣的距離均大于k,則就使用該坐標(biāo)作為未知節(jié)點(diǎn)的實(shí)際坐標(biāo);如果該坐標(biāo)的X值到區(qū)域的左邊緣或右邊緣的距離小于等于k,則使用距其最近的豎邊緣的X坐標(biāo)作為未知節(jié)點(diǎn)的X坐標(biāo);如果該坐標(biāo)Y值到區(qū)域的上邊緣或下邊緣的距離小于等于k,則使用距其最近的橫邊緣的Y坐標(biāo)作為未知節(jié)點(diǎn)Y坐標(biāo);如果該坐標(biāo)位于區(qū)域之外,則使用距其最近的豎邊緣的X坐標(biāo)作為未知節(jié)點(diǎn)X坐標(biāo),使用距其最近的橫邊緣的Y坐標(biāo)作為未知節(jié)點(diǎn)Y坐標(biāo);貼邊完成后獲得節(jié)點(diǎn)坐標(biāo)校正值作為未知節(jié)點(diǎn)的最終位置坐標(biāo)。進(jìn)一步,在所述步驟(2.3)中,三邊測(cè)量法過程如下假設(shè)3個(gè)信標(biāo)節(jié)點(diǎn)的坐標(biāo)分別為(Xl,y》、(x2,y2)、(x3,y3),待確定位置的未知節(jié)點(diǎn)的坐標(biāo)是(xu,yu),該節(jié)點(diǎn)到3個(gè)參考節(jié)點(diǎn)的距離分別是4、d2、(13,根據(jù)二維空間距離計(jì)算公式,獲得方程組置坐標(biāo)在上述方程組中,Xu、yu是未知量,求解該方程組,即可獲得未知節(jié)點(diǎn)(xu,yu)的位再進(jìn)一步,在所述步驟(2.1)中,未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的最小跳數(shù)的計(jì)算過程為使用距離矢量交換協(xié)議,通過節(jié)點(diǎn)間的信息交換,使網(wǎng)絡(luò)中所有節(jié)點(diǎn)獲得與信標(biāo)節(jié)點(diǎn)之間的跳距;接收到分組的節(jié)點(diǎn)首先根據(jù)(XpY》-(^,Y》判斷該信標(biāo)節(jié)點(diǎn)是否屬于本節(jié)點(diǎn)所在區(qū)域,如果不是,則丟棄這個(gè)分組,否則記錄下到這個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù),忽略來自同一信標(biāo)節(jié)點(diǎn)的跳數(shù)值較大的分組,然后將分組中的Hop字段值加l,并轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn),最終使得網(wǎng)絡(luò)中的未知節(jié)點(diǎn)都能夠記錄下到自身所在區(qū)域內(nèi)每一個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù)。本發(fā)明的技術(shù)構(gòu)思為無線傳感網(wǎng)絡(luò)由大量隨機(jī)部署的節(jié)點(diǎn)組成,因此網(wǎng)絡(luò)中大部分節(jié)點(diǎn)的位置是未知的。然而對(duì)于大多數(shù)應(yīng)用,不知道節(jié)點(diǎn)位置的感知數(shù)據(jù)是沒有任何意義的。傳感器節(jié)點(diǎn)必須知道自身位置才能說明"在什么位置或區(qū)域發(fā)生了什么特定的事情"。所以定位技術(shù)是無線傳感網(wǎng)絡(luò)的關(guān)鍵技術(shù)之一,在無線傳感網(wǎng)絡(luò)的各個(gè)領(lǐng)域起到支撐作用。DV-Hop算法是由美國路特葛斯大學(xué)(RutgersUniversity)的DragosNiculescu等人利用距離矢量路由(Distancevectorrouting)和GPS定位的原理提出的一種分布式定位算法?;舅枷胧?,首先計(jì)算未知節(jié)點(diǎn)到參考點(diǎn)的最小跳數(shù),然后參考點(diǎn)計(jì)算網(wǎng)絡(luò)平均每跳距離,再用網(wǎng)絡(luò)平均每跳距離和到參考點(diǎn)的最小跳數(shù)的乘積來表示未知節(jié)點(diǎn)到參考點(diǎn)之間的估計(jì)距離,最后利用三邊測(cè)量法獲得節(jié)點(diǎn)的位置。IEEGS系統(tǒng)是一個(gè)構(gòu)建在無線傳感網(wǎng)絡(luò)上,執(zhí)行災(zāi)難監(jiān)測(cè)、逃生引導(dǎo)的系統(tǒng),它對(duì)網(wǎng)絡(luò)中節(jié)點(diǎn)的位置信息有很大的依賴。除了一般的無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)定位需求以外,IEEGS系統(tǒng)在節(jié)點(diǎn)定位方面還有其自身的特點(diǎn),如定位精度要求高、節(jié)點(diǎn)分布呈現(xiàn)區(qū)域特性和邊緣特性等。根據(jù)IEEGS系統(tǒng)的特殊定位需求,提出半自動(dòng)平均每跳距離獲取,即在獲取過程中加入一部分人工操作,以工作量換取算法定位性能,提高節(jié)點(diǎn)定位精度;根據(jù)IEEGS系統(tǒng)網(wǎng)絡(luò)所具有的節(jié)點(diǎn)分布區(qū)域特性,提出區(qū)域劃分,即把整個(gè)網(wǎng)絡(luò)劃分成若干單獨(dú)的區(qū)域,在每個(gè)區(qū)域上使用不同的參數(shù)分別運(yùn)行定位算法;根據(jù)IEEGS網(wǎng)絡(luò)特有的節(jié)點(diǎn)邊緣分布特性,提出坐標(biāo)貼邊,使得可以根據(jù)節(jié)點(diǎn)坐標(biāo)與區(qū)域邊緣的關(guān)系將適當(dāng)?shù)墓?jié)點(diǎn)坐標(biāo)直接貼靠在區(qū)域邊緣上。本發(fā)明基于DV-Hop算法,其核心思想是首先計(jì)算節(jié)點(diǎn)之間的最小跳數(shù)和網(wǎng)絡(luò)平均每跳距離,把節(jié)點(diǎn)之間的距離表示成兩者之間的跳數(shù)與網(wǎng)絡(luò)平均每跳距離的乘積。在獲得了未知節(jié)點(diǎn)到參考點(diǎn)的距離后,利用三邊測(cè)量法獲得節(jié)點(diǎn)的位置坐標(biāo)初值。在此基礎(chǔ)上,ASBS融合了半自動(dòng)平均每跳距離獲取、區(qū)域劃分、坐標(biāo)貼邊的思想,以適應(yīng)IEEGS的定位需要,提高算法的實(shí)際應(yīng)用性能。半自動(dòng)平均每跳距離獲取的提出設(shè)一個(gè)節(jié)點(diǎn)密度平均的網(wǎng)絡(luò),其節(jié)點(diǎn)密度為P,節(jié)點(diǎn)通信半徑為r,可知在一個(gè)節(jié)點(diǎn)的單跳范圍內(nèi)大約有n二PJi一個(gè)節(jié)點(diǎn)。一般的,當(dāng)在一個(gè)節(jié)點(diǎn)的單跳范圍內(nèi)有n個(gè)平均分布的節(jié)點(diǎn)時(shí),由于密度平均,理想情況下這n個(gè)節(jié)點(diǎn)的分布情況如圖2所示。圖中大圓為中心節(jié)點(diǎn)N的直接通信范圍,稱其為單跳范圍圓。這n個(gè)節(jié)點(diǎn)將圍繞中心節(jié)點(diǎn)分層排布,在第i層上有6i節(jié)點(diǎn),每層節(jié)點(diǎn)組成正六邊形;所有相鄰的2個(gè)節(jié)點(diǎn)距離相同;每3個(gè)兩兩相鄰的節(jié)點(diǎn)組成等邊三角形;所有相鄰的兩層間距相同,為層數(shù)單跳范圍圓半徑除以層數(shù),記為h。為了簡(jiǎn)便起見,且不失準(zhǔn)確性,可以用h值來估計(jì)平均每跳距離Asra值。設(shè)一個(gè)節(jié)點(diǎn)的單跳范圍圓內(nèi)有n個(gè)平均分布的節(jié)點(diǎn),這些節(jié)點(diǎn)按照上面的規(guī)律排成m層,則有如下不等式附(6+6附)、<formula>formulaseeoriginaldocumentpage7</formula>求得m的取值范圍<formula>formulaseeoriginaldocumentpage7</formula>因?yàn)閙X),舍去后者,代入n<formula>formulaseeoriginaldocumentpage7</formula>pJir2,取Ji"3,并把結(jié)果適當(dāng)放縮得<formula>formulaseeoriginaldocumentpage7</formula>即,按照前文所描述的規(guī)律,n個(gè)圍繞中心節(jié)點(diǎn),排成了約/"V^-^"層,則<formula>formulaseeoriginaldocumentpage7</formula>考慮到h>0,因此當(dāng)#-丄"時(shí),直接取h則估計(jì)網(wǎng)絡(luò)平均每跳距離如下<formula>formulaseeoriginaldocumentpage8</formula>上式是在最理想、最理論的情況下推導(dǎo)而來的,在實(shí)際中不可能有這樣的情況出現(xiàn),為了使計(jì)算更為貼近實(shí)際,引入一個(gè)修正因子m,其取值范圍是(0,5],以對(duì)計(jì)算結(jié)果進(jìn)行適當(dāng)?shù)姆糯蠡蚩s小,得到修正公式<formula>formulaseeoriginaldocumentpage8</formula>基于以上理論,提出半自動(dòng)(Semi-auto,SA)平均每跳距離獲取設(shè)網(wǎng)絡(luò)中節(jié)點(diǎn)密度平均,在定位算法運(yùn)行之前,向每一個(gè)節(jié)點(diǎn)中手動(dòng)寫入網(wǎng)絡(luò)節(jié)點(diǎn)密度P、節(jié)點(diǎn)通信半徑r兩個(gè)參數(shù),當(dāng)算法需要使用平均每跳距離時(shí),利用公式(6)自動(dòng)計(jì)算Asra值參與定位,其中ASra是網(wǎng)絡(luò)的平均每跳距離(AverageSizeperHop,ASPH),m為修正因子,其取值范圍是(0,5]。半自動(dòng)的含義是,在獲取平均每跳距離的過程中,并不是每個(gè)步驟都由節(jié)點(diǎn)自動(dòng)完成,而需要人工參與,事先在節(jié)點(diǎn)中手動(dòng)寫入必要的參數(shù)?;趨^(qū)域劃分(AreaDivision)的DV-Hop思想如果一個(gè)無線傳感器網(wǎng)絡(luò),可以將其劃分為若干區(qū)域,使得每個(gè)區(qū)域內(nèi)節(jié)點(diǎn)分布密度均勻,各向同性,那么可以將這個(gè)網(wǎng)絡(luò)區(qū)域劃分,并在每一個(gè)區(qū)域內(nèi)分別使用DV-Hop算法進(jìn)行節(jié)點(diǎn)定位。如圖3(a)所示的"C"型網(wǎng)絡(luò)拓?fù)洌谶@個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)分布極度不平衡,分別處于南北兩枝中的兩個(gè)節(jié)點(diǎn),由DV-Hop計(jì)算得到的它們之間的距離與其實(shí)際幾何距離值相差很大。通過區(qū)域劃分,如圖3(b)所示,在A、B、C三個(gè)矩形區(qū)域中,節(jié)點(diǎn)分布密度均勻、各向同性,性狀良好,非常適合使用DV-Hop算法。坐標(biāo)貼邊思想IEEGS系統(tǒng)中,節(jié)點(diǎn)分布除了呈現(xiàn)區(qū)域特性外,還有著一種邊緣特性,即多數(shù)節(jié)點(diǎn)都分布于所在區(qū)域的邊緣?;谶@種特性,提出坐標(biāo)貼邊(StickToBorder,STB)思想在一個(gè)區(qū)域中設(shè)定一個(gè)最小距離門限值k(k>0),當(dāng)節(jié)點(diǎn)經(jīng)過定位算法獲得自身坐標(biāo)的一個(gè)近似值以后,(1)如果該坐標(biāo)到區(qū)域的上下左右4個(gè)邊緣的距離均大于k,則就使用該坐標(biāo)作為節(jié)點(diǎn)的實(shí)際坐標(biāo);(2)如果該坐標(biāo)的X值到區(qū)域的左邊緣或右邊緣的距離小于等于k,則使用距其最近的豎邊緣的X坐標(biāo)作為節(jié)點(diǎn)X坐標(biāo);(3)如果該坐標(biāo)Y值到區(qū)域的上邊緣或下邊緣的距離小于等于k,則使用距其最近的橫邊緣的Y坐標(biāo)作為節(jié)點(diǎn)Y坐標(biāo);(4)如果該坐標(biāo)位于區(qū)域之外,則使用距其最近的豎邊緣的X坐標(biāo)作為節(jié)點(diǎn)X坐標(biāo),使用距其最近的橫邊緣的Y坐標(biāo)作為節(jié)點(diǎn)Y坐標(biāo)。本發(fā)明的有益效果主要表現(xiàn)在l).根據(jù)IEEGS系統(tǒng)的定位需要,提出了半自動(dòng)平均每跳距離獲取、區(qū)域劃分、坐標(biāo)貼邊的思想,并將其成功引入無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)定位算法中;2).解決了現(xiàn)有的IEEGS系統(tǒng)的節(jié)點(diǎn)定位問題,使得系統(tǒng)中的無線傳感節(jié)點(diǎn)能夠?qū)崿F(xiàn)高精度自我定位;3).ASBS定位算法對(duì)DV-Hop進(jìn)行了多種改進(jìn),包括半自動(dòng)平均每跳距離獲取、區(qū)域劃分、坐標(biāo)貼邊,不僅提高了算法的定位精度和執(zhí)行成功率等性能,而且還提高了算法的實(shí)際應(yīng)用性。圖1是ASBS算法總流程圖。圖2是密度平均網(wǎng)絡(luò)中一個(gè)單跳范圍內(nèi)節(jié)點(diǎn)分布情況圖。圖3是非平衡網(wǎng)絡(luò)拓?fù)鋮^(qū)域劃分圖。具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。參照?qǐng)D1圖3,一種基于區(qū)域劃分和坐標(biāo)貼邊的無線傳感網(wǎng)絡(luò)半自動(dòng)節(jié)點(diǎn)定位方法,所述半自動(dòng)節(jié)點(diǎn)定位方法包括以下步驟1)、參數(shù)配置根據(jù)網(wǎng)絡(luò)的總拓?fù)鋱D,對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行矩形區(qū)域劃分,以及確定每一個(gè)信標(biāo)節(jié)點(diǎn)所處區(qū)域,劃分后的區(qū)域坐標(biāo)參數(shù)為0q,yi)-(x2,y》,其中0q,y》是區(qū)域左上頂點(diǎn)坐標(biāo),(x2,y2)是區(qū)域右下頂點(diǎn)坐標(biāo);并設(shè)定區(qū)域節(jié)點(diǎn)密度P、節(jié)點(diǎn)通信半徑r、修正因子m、貼邊門限值k以及信標(biāo)節(jié)點(diǎn)坐標(biāo);修正因子m的取值范圍是(0,5],信標(biāo)節(jié)點(diǎn)為參考點(diǎn),其坐標(biāo)為已知量;根據(jù)區(qū)域節(jié)點(diǎn)密度P、節(jié)點(diǎn)通信半徑r、修正因子m,計(jì)算網(wǎng)絡(luò)平均每跳距離,具體有2wr,^>7#--r〃、^(6)服其中,Asra是網(wǎng)絡(luò)平均每跳距離;2)、定位過程,具體有(2.1)計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的最小跳數(shù);(2.2)計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的跳數(shù)距離未知節(jié)點(diǎn)收到與信標(biāo)節(jié)點(diǎn)的跳數(shù)信息后,利用下式計(jì)算到這些信標(biāo)節(jié)點(diǎn)的幾何距離d「ASPHXhoPi&是節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的距離,hoPi為節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的跳數(shù);(2.3)計(jì)算未知節(jié)點(diǎn)坐標(biāo)初值當(dāng)一個(gè)未知節(jié)點(diǎn)獲得與3個(gè)或更多信標(biāo)節(jié)點(diǎn)間的跳距之后,使用三邊測(cè)量法計(jì)算自身位置,獲得其位置坐標(biāo)的初始值(2.4)坐標(biāo)貼邊根據(jù)未知節(jié)點(diǎn)自身坐標(biāo)初值、所處區(qū)域的坐標(biāo)、貼邊門限值k,執(zhí)行坐標(biāo)貼邊過程如果該坐標(biāo)到區(qū)域的上下左右4個(gè)邊緣的距離均大于k,則就使用該坐標(biāo)作為未知節(jié)點(diǎn)的實(shí)際坐標(biāo);如果該坐標(biāo)的X值到區(qū)域的左邊緣或右邊緣的距離小于等于k,則使用距其最近的豎邊緣的X坐標(biāo)作為未知節(jié)點(diǎn)的X坐標(biāo);如果該坐標(biāo)Y值到區(qū)域的上邊緣或下邊緣的距離小于等于k,則使用距其最近的橫邊緣的Y坐標(biāo)作為未知節(jié)點(diǎn)Y坐標(biāo);如果該坐標(biāo)位于區(qū)域之外,則使用距其最近的豎邊緣的X坐標(biāo)作為未知節(jié)點(diǎn)X坐標(biāo),使用距其最近的橫邊緣的Y坐標(biāo)作為未知節(jié)點(diǎn)Y坐標(biāo);貼邊完成后獲得節(jié)點(diǎn)坐標(biāo)校正值作為未知節(jié)點(diǎn)的最終位置坐標(biāo)。在所述步驟(2.3)中,三邊測(cè)量法過程如下假設(shè)3個(gè)信標(biāo)節(jié)點(diǎn)的坐標(biāo)分別為(Xl,y》、(x2,y2)、(x3,y3),待確定位置的未知節(jié)點(diǎn)的坐標(biāo)是(xu,yu),該節(jié)點(diǎn)到3個(gè)參考節(jié)點(diǎn)的距離分別是4、d2、d3,根據(jù)二維空間距離計(jì)算公式,獲得方程組J")X3+03-少")在上述方程組中,Xu、yu是未知量,求解該方程組,即可獲得未知節(jié)點(diǎn)(xu,yu)的位置坐標(biāo)。在所述步驟(2.1)中,未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的最小跳數(shù)的計(jì)算過程為使用距離矢量交換協(xié)議,通過節(jié)點(diǎn)間的信息交換,使網(wǎng)絡(luò)中所有節(jié)點(diǎn)獲得與信標(biāo)節(jié)點(diǎn)之間的跳距;接收到分組的節(jié)點(diǎn)首先根據(jù)(H)-(&,Y》判斷該信標(biāo)節(jié)點(diǎn)是否屬于本節(jié)點(diǎn)所在區(qū)域,如果不是,則丟棄這個(gè)分組,否則記錄下到這個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù),忽略來自同一信標(biāo)節(jié)點(diǎn)的跳數(shù)值較大的分組,然后將分組中的Hop字段值加l,并轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn),最終使得網(wǎng)絡(luò)中的未知節(jié)點(diǎn)都能夠記錄下到自身所在區(qū)域內(nèi)每一個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù)。本實(shí)施例的半自動(dòng)節(jié)點(diǎn)定位方法,包括以下兩部分(l)參數(shù)配置部分。(2)實(shí)際運(yùn)行部分。(1)參數(shù)配置部分。在ASBS運(yùn)行中需要使用到的參數(shù),必須事先向每一個(gè)節(jié)點(diǎn)中寫入,這些參數(shù)包括(1.1)節(jié)點(diǎn)所處區(qū)域坐標(biāo)根據(jù)網(wǎng)絡(luò)的總拓?fù)鋱D,對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行矩形區(qū)域劃分以后,需要對(duì)每一個(gè)節(jié)點(diǎn)進(jìn)行設(shè)置,以使其了解自身所處區(qū)域。區(qū)域坐標(biāo)參數(shù)為(Xl,y》-(x"y》的形式,其中0q,y》是區(qū)域左上頂點(diǎn)坐標(biāo),(x2,y2)是區(qū)域右下頂點(diǎn)坐標(biāo)。(1.2)區(qū)域節(jié)點(diǎn)密度P與節(jié)點(diǎn)通信半徑r:在網(wǎng)絡(luò)不同的區(qū)域中,節(jié)點(diǎn)密度和節(jié)點(diǎn)通信半徑都不盡相同,為了使用半自動(dòng)方式獲取平均每跳距離,需要在節(jié)點(diǎn)中寫入其所在區(qū)域的節(jié)點(diǎn)密度P(個(gè)/m2)和節(jié)點(diǎn)通信半徑r。(1.3)修正因子m:半自動(dòng)獲取網(wǎng)絡(luò)平均每跳距離時(shí),為了使計(jì)算環(huán)境貼近實(shí)際情況,需要使用修正因子m對(duì)計(jì)算結(jié)果適當(dāng)調(diào)整,其取值范圍是(0,5],在應(yīng)用中,這個(gè)因子可以根據(jù)實(shí)驗(yàn)或經(jīng)驗(yàn)給出。(1.4)貼邊門限值k:貼邊門限值k,描述了當(dāng)節(jié)點(diǎn)初始位置距離區(qū)域邊緣多遠(yuǎn)時(shí)執(zhí)行坐標(biāo)貼邊操作,如果k值取的過大,在算法運(yùn)行過程中會(huì)錯(cuò)誤的把很多沒有分布在區(qū)域邊緣的節(jié)點(diǎn)貼邊;如果k值過小,則可能漏過很多需要貼邊的節(jié)點(diǎn)。k值的需要根據(jù)網(wǎng)絡(luò)拓?fù)?、網(wǎng)絡(luò)實(shí)際占地面積、節(jié)點(diǎn)的邊緣分布情況、節(jié)點(diǎn)疏密程度等參數(shù)適當(dāng)選取。無法使用數(shù)學(xué)公式來確定k的取值,只能在實(shí)際應(yīng)用過程中,通過多次實(shí)驗(yàn),依據(jù)人為經(jīng)驗(yàn)等估計(jì)k的大致取值范圍。(1.5)信標(biāo)節(jié)點(diǎn)坐標(biāo)ASBS的定位過程依賴于信標(biāo)節(jié)點(diǎn)位置坐標(biāo)。信標(biāo)節(jié)點(diǎn)坐標(biāo)可以事先人工寫入,也可以給信標(biāo)節(jié)點(diǎn)攜帶GPS等設(shè)備運(yùn)行時(shí)獲取。(2)實(shí)際運(yùn)行部分。10ASBS定位算法由4個(gè)互不重疊的階段組成(2.1)第1階段未知節(jié)點(diǎn)計(jì)算與信標(biāo)節(jié)點(diǎn)的最小跳數(shù)。使用典型的距離矢量交換協(xié)議,通過節(jié)點(diǎn)間的信息交換,使網(wǎng)絡(luò)中所有節(jié)點(diǎn)獲得與信標(biāo)節(jié)點(diǎn)之間的跳距。具體過禾為所有信標(biāo)節(jié)點(diǎn)向鄰居節(jié)點(diǎn)廣播自身位置信息分組,分組格式如下<formula>formulaseeoriginaldocumentpage11</formula>其中ID是每個(gè)信標(biāo)節(jié)點(diǎn)的唯一標(biāo)識(shí);Hop是到這個(gè)信標(biāo)節(jié)點(diǎn)的跳數(shù),跳數(shù)字段值被發(fā)出該分組的信標(biāo)節(jié)點(diǎn)初始化為1;(X,Y)是信標(biāo)節(jié)點(diǎn)坐標(biāo);(^,Y》-(^,Y》是信標(biāo)節(jié)點(diǎn)所在區(qū)域。接收到分組的節(jié)點(diǎn)首先根據(jù)(&,Y》_(X2,Y2)判斷該信標(biāo)節(jié)點(diǎn)是否屬于本節(jié)點(diǎn)所在區(qū)域,如果不是,則丟棄這個(gè)分組,否則記錄下到這個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù),忽略來自同一信標(biāo)節(jié)點(diǎn)的跳數(shù)值較大的分組,然后將分組中的Hop字段值加l,并轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn),最終使得網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都能夠記錄下到自身所在區(qū)域內(nèi)每一個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù)。(2.2)第2階段計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的跳數(shù)距離。未知節(jié)點(diǎn)收到與信標(biāo)節(jié)點(diǎn)的跳數(shù)信息后,就可以利用下式計(jì)算到這些信標(biāo)節(jié)點(diǎn)的幾何距離d「ASPHXhoPi&是節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的距離,ASK!是網(wǎng)絡(luò)平均每跳距離(已經(jīng)根據(jù)公式6計(jì)算得出),hoPi為節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的跳數(shù)。(2.3)第3階段計(jì)算節(jié)點(diǎn)坐標(biāo)初值。當(dāng)一個(gè)未知節(jié)點(diǎn)獲得與3個(gè)或更多信標(biāo)節(jié)點(diǎn)間的跳距之后,使用三邊測(cè)量法計(jì)算自身位置,獲得其位置坐標(biāo)的初始值。三邊測(cè)量法描述如下在二維空間中,知道一個(gè)點(diǎn)到至少3個(gè)已知信標(biāo)點(diǎn)的距離,就可以確定該點(diǎn)的坐標(biāo)。假設(shè)3個(gè)參考點(diǎn)的坐標(biāo)分別為(Xl,y》、(x2,y2)、(x3,y3),待確定位置節(jié)點(diǎn)的坐標(biāo)是(xu,yu),該節(jié)點(diǎn)到3個(gè)參考節(jié)點(diǎn)的距離分別是dpd2、(13,根據(jù)二維空間距離計(jì)算公式,可以獲得方程組<formula>formulaseeoriginaldocumentpage11</formula>在上述方程組中,xu、yu是未知]:,求解該方程組,即可獲得未知節(jié)點(diǎn)(xu,yu)的位置坐標(biāo)。(2.4)第4階段坐標(biāo)貼邊。完成第3階段的未知節(jié)點(diǎn)后,根據(jù)自身坐標(biāo)初值、所處區(qū)域的坐標(biāo)、貼邊門限值k,執(zhí)行坐標(biāo)貼邊過程如果該坐標(biāo)到區(qū)域的上下左右4個(gè)邊緣的距離均大于k,則就使用該坐標(biāo)作為節(jié)點(diǎn)的實(shí)際坐標(biāo);如果該坐標(biāo)的X值到區(qū)域的左邊緣或右邊緣的距離小于等于k,則使用距其最近的豎邊緣的X坐標(biāo)作為節(jié)點(diǎn)X坐標(biāo);如果該坐標(biāo)Y值到區(qū)域的上邊緣或下邊緣的距離小于等于k,則使用距其最近的橫邊緣的Y坐標(biāo)作為節(jié)點(diǎn)Y坐標(biāo);如果該坐標(biāo)位于區(qū)域之外,則使用距其最近的豎邊緣的X坐標(biāo)作為節(jié)點(diǎn)X坐標(biāo),使用距其最近的橫邊緣的Y坐標(biāo)作為節(jié)點(diǎn)Y坐標(biāo)。貼邊完成后獲得節(jié)點(diǎn)坐標(biāo)校正值,并作為節(jié)點(diǎn)的最終位置坐標(biāo)。權(quán)利要求一種基于區(qū)域劃分和坐標(biāo)貼邊的無線傳感網(wǎng)絡(luò)半自動(dòng)節(jié)點(diǎn)定位方法,其特征在于所述半自動(dòng)節(jié)點(diǎn)定位方法包括以下步驟1)、參數(shù)配置根據(jù)網(wǎng)絡(luò)的總拓?fù)鋱D,對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行矩形區(qū)域劃分,以及確定每一個(gè)信標(biāo)節(jié)點(diǎn)所處區(qū)域,劃分后的區(qū)域坐標(biāo)參數(shù)為(x1,y1)-(x2,y2),其中(x1,y1)是區(qū)域左上頂點(diǎn)坐標(biāo),(x2,y2)是區(qū)域右下頂點(diǎn)坐標(biāo);并設(shè)定區(qū)域節(jié)點(diǎn)密度ρ、節(jié)點(diǎn)通信半徑r、修正因子m、貼邊門限值k以及信標(biāo)節(jié)點(diǎn)坐標(biāo);修正因子m的取值范圍是(0,5],信標(biāo)節(jié)點(diǎn)為參考點(diǎn),其坐標(biāo)為已知量;根據(jù)區(qū)域節(jié)點(diǎn)密度ρ、節(jié)點(diǎn)通信半徑r、修正因子m,計(jì)算網(wǎng)絡(luò)平均每跳距離,具體有<mrow><mi>ASPH</mi><mo>=</mo><mfencedopen='{'close=''><mtable><mtr><mtd><mfrac><mrow><mn>2</mn><mi>m</mi></mrow><mrow><msqrt><mi>ρ</mi></msqrt><mo>-</mo><mfrac><mn>1</mn><mi>r</mi></mfrac></mrow></mfrac></mtd><mtd><mo>,</mo><msqrt><mi>ρ</mi></msqrt><mo>></mo><mfrac><mi>i</mi><mi>r</mi></mfrac></mtd></mtr><mtr><mtd><mi>mr</mi></mtd><mtd><mo>,</mo><msqrt><mi>ρ</mi></msqrt><mo>≤</mo><mfrac><mi>l</mi><mi>r</mi></mfrac></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>其中,ASPH是網(wǎng)絡(luò)平均每跳距離;2)、定位過程,具體有(2.1)計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的最小跳數(shù);(2.2)計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的跳數(shù)距離未知節(jié)點(diǎn)收到與信標(biāo)節(jié)點(diǎn)的跳數(shù)信息后,利用下式計(jì)算到這些信標(biāo)節(jié)點(diǎn)的幾何距離di=ASPH×hopidi是節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的距離,hopi為節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)i的跳數(shù);(2.3)計(jì)算未知節(jié)點(diǎn)坐標(biāo)初值當(dāng)一個(gè)未知節(jié)點(diǎn)獲得與3個(gè)或更多信標(biāo)節(jié)點(diǎn)間的跳距之后,使用三邊測(cè)量法計(jì)算自身位置,獲得其位置坐標(biāo)的初始值(2.4)坐標(biāo)貼邊根據(jù)未知節(jié)點(diǎn)自身坐標(biāo)初值、所處區(qū)域的坐標(biāo)、貼邊門限值k,執(zhí)行坐標(biāo)貼邊過程如果該坐標(biāo)到區(qū)域的上下左右4個(gè)邊緣的距離均大于k,則就使用該坐標(biāo)作為未知節(jié)點(diǎn)的實(shí)際坐標(biāo);如果該坐標(biāo)的X值到區(qū)域的左邊緣或右邊緣的距離小于等于k,則使用距其最近的豎邊緣的X坐標(biāo)作為未知節(jié)點(diǎn)的X坐標(biāo);如果該坐標(biāo)Y值到區(qū)域的上邊緣或下邊緣的距離小于等于k,則使用距其最近的橫邊緣的Y坐標(biāo)作為未知節(jié)點(diǎn)Y坐標(biāo);如果該坐標(biāo)位于區(qū)域之外,則使用距其最近的豎邊緣的X坐標(biāo)作為未知節(jié)點(diǎn)X坐標(biāo),使用距其最近的橫邊緣的Y坐標(biāo)作為未知節(jié)點(diǎn)Y坐標(biāo);貼邊完成后獲得節(jié)點(diǎn)坐標(biāo)校正值作為未知節(jié)點(diǎn)的最終位置坐標(biāo)。2.如權(quán)利要求1所述的基于區(qū)域劃分和坐標(biāo)貼邊的無線傳感網(wǎng)絡(luò)半自動(dòng)節(jié)點(diǎn)定位方法,其特征在于在所述步驟(2.3)中,三邊測(cè)量法過程如下假設(shè)3個(gè)信標(biāo)節(jié)點(diǎn)的坐標(biāo)分別為(Xl,y》、(x2,y2)、(x3,y3),待確定位置的未知節(jié)點(diǎn)的坐標(biāo)是(xu,yu),該節(jié)點(diǎn)到3個(gè)參考節(jié)點(diǎn)的距離分別是4、d2、(13,根據(jù)二維空間距離計(jì)算公式,獲得方程組<formula>formulaseeoriginaldocumentpage3</formula>在上述方程組中,xu、yu是未知量,求解該方程組,即可獲得未知節(jié)點(diǎn)(xu,yu)的位置坐標(biāo)。3.如權(quán)利要求1或2所述的基于區(qū)域劃分和坐標(biāo)貼邊的無線傳感網(wǎng)絡(luò)半自動(dòng)節(jié)點(diǎn)定位方法,其特征在于在所述步驟(2.1)中,未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的最小跳數(shù)的計(jì)算過程為使用距離矢量交換協(xié)議,通過節(jié)點(diǎn)間的信息交換,使網(wǎng)絡(luò)中所有節(jié)點(diǎn)獲得與信標(biāo)節(jié)點(diǎn)之間的跳距;接收到分組的節(jié)點(diǎn)首先根據(jù)(XpY》-(^,Y》判斷該信標(biāo)節(jié)點(diǎn)是否屬于本節(jié)點(diǎn)所在區(qū)域,如果不是,則丟棄這個(gè)分組,否則記錄下到這個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù),忽略來自同一信標(biāo)節(jié)點(diǎn)的跳數(shù)值較大的分組,然后將分組中的Hop字段值加l,并轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn),最終使得網(wǎng)絡(luò)中的未知節(jié)點(diǎn)都能夠記錄下到自身所在區(qū)域內(nèi)每一個(gè)信標(biāo)節(jié)點(diǎn)的最小跳數(shù)。全文摘要一種基于區(qū)域劃分和坐標(biāo)貼邊的半自動(dòng)節(jié)點(diǎn)定位方法,包括以下步驟1)參數(shù)配置根據(jù)網(wǎng)絡(luò)的總拓?fù)鋱D,對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行矩形區(qū)域劃分,以及確定每一個(gè)信標(biāo)節(jié)點(diǎn)所處區(qū)域,并設(shè)定區(qū)域節(jié)點(diǎn)密度ρ、節(jié)點(diǎn)通信半徑r、修正因子m、貼邊門限值k以及信標(biāo)節(jié)點(diǎn)坐標(biāo);計(jì)算網(wǎng)絡(luò)平均每跳距離;2)定位過程(2.1)計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的最小跳數(shù);(2.2)計(jì)算未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)的跳數(shù)距離;(2.3)計(jì)算未知節(jié)點(diǎn)坐標(biāo)初值;(2.4)坐標(biāo)貼邊;貼邊完成后獲得節(jié)點(diǎn)坐標(biāo)校正值作為未知節(jié)點(diǎn)的最終位置坐標(biāo)。本發(fā)明定位精度高、能夠適用實(shí)際定位環(huán)境、實(shí)用性強(qiáng)。文檔編號(hào)H04W84/18GK101742642SQ20091015523公開日2010年6月16日申請(qǐng)日期2009年12月10日優(yōu)先權(quán)日2009年12月10日發(fā)明者方碩瑾,方迪娜,歐艷強(qiáng),王文夫,王磊,程榮,賈繼宣,陳慶章申請(qǐng)人:浙江工業(yè)大學(xué)