專利名稱:分布式無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身定位方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信技術(shù)領(lǐng)域,涉及無線傳感器網(wǎng)絡(luò)中的自身定位技術(shù),具體地說是一 種分布式無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身定位方法,可用在無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身定位中。
技術(shù)背景無線傳感器網(wǎng)絡(luò)由部署在監(jiān)測區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過無線通 信方式形成一個(gè)多跳的自組織的網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、釆集和處理網(wǎng)絡(luò)覆蓋 區(qū)域中感知對象的信息,并發(fā)送給觀察者,主要應(yīng)用于軍事場景、目標(biāo)追蹤、環(huán)境檢測 以及空間探索。對于大多數(shù)應(yīng)用而言,如果不知道傳感器節(jié)點(diǎn)位置而感知的數(shù)據(jù)是沒有 意義的。傳感器節(jié)點(diǎn)必須在明確自身位置的情況下才能實(shí)現(xiàn)對外部目標(biāo)的定位和追蹤。 另一方面,了解傳感器節(jié)點(diǎn)位置還可以提高路由效率,為網(wǎng)絡(luò)提供命名空間,向部署者 報(bào)告網(wǎng)絡(luò)的覆蓋質(zhì)量,實(shí)現(xiàn)網(wǎng)絡(luò)的負(fù)載均衡以及網(wǎng)絡(luò)拓?fù)涞淖耘渲谩,F(xiàn)有通過人工部署 和為所有網(wǎng)絡(luò)節(jié)點(diǎn)配備GPS裝置的方法都會(huì)受到成本、能量、擴(kuò)展性等問題的限制, 甚至在某些場合可能根本無法實(shí)現(xiàn),因此以低成本低能耗獲得較高定位精度一直是無線 傳感器網(wǎng)絡(luò)自身定位的熱點(diǎn)研究問題。在無線傳感器網(wǎng)絡(luò)中,配備有GPS裝置,通過該裝置能獲得自身地理坐標(biāo)位置的 節(jié)點(diǎn)稱為錨節(jié)點(diǎn),需要通過錨節(jié)點(diǎn)進(jìn)行自身定位的節(jié)點(diǎn)稱為普通節(jié)點(diǎn)。目前許多方法和系統(tǒng)的定位精度都還有很大的提高空間,如range-based定位常用 的測距技術(shù)有RSSI, TOA, TDOA和AOA,這些技術(shù)由于容易受環(huán)境、硬件設(shè)施等測 距技術(shù)的影響,因而無法同時(shí)兼顧成本能量和精度的要求?,F(xiàn)有的range-free定位方案 中,Dragos Niculescu等人利用距離矢量路由和GPS定位的原理提出了一系列分布式定 位方法,合稱為APS。 APS中典型的DV-Hop方法由三個(gè)階段組成,第一階段使用典 型的距離矢量交換協(xié)議,使網(wǎng)絡(luò)中所有節(jié)點(diǎn)獲得距錨節(jié)點(diǎn)的跳數(shù),第二階段錨節(jié)點(diǎn)計(jì)算 網(wǎng)絡(luò)平均每跳距離,并將其作為平均校正值廣播至網(wǎng)絡(luò)中,第三階段執(zhí)行三邊定位。該 DV-Hop方法缺點(diǎn)在于僅在各向同性的密集網(wǎng)絡(luò)中,校正值才能合理估算平均每跳距 離;在廣播階段,由于碰撞時(shí)延等原因,無法及時(shí)更新有效信息,增加了在廣播階段的 能量損耗,定位精度低。Radu Stoleru等人提出的Probability Grid方法以己知網(wǎng)絡(luò)規(guī)模為前提,將網(wǎng)絡(luò)劃為若
干已知位置的柵格點(diǎn),其中第一第二階段與DV-Hop類似,在第三階段,將計(jì)算每個(gè)普 通節(jié)點(diǎn)落在柵格點(diǎn)上的概率,使普通節(jié)點(diǎn)定位在概率最大的柵格點(diǎn)上。該方法的缺點(diǎn)在 于1. 要已知網(wǎng)絡(luò)拓?fù)洌覍⒆詈蠖ㄎ坏慕Y(jié)果限定在已設(shè)定的柵格點(diǎn)上,部分節(jié)點(diǎn)將被 定在同一個(gè)位置2. 在錨節(jié)點(diǎn)比例較小時(shí),為獲得較高精度,計(jì)算量大;3. 在廣播階段,能量損耗大4. 當(dāng)無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)排列不規(guī)整時(shí),定位誤差大。 發(fā)明的內(nèi)容本發(fā)明的目的是針對現(xiàn)有技術(shù)存在的問題,提供一種分布式無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自 身定位方法,以低能耗低成本實(shí)現(xiàn)較高精度的分布式節(jié)點(diǎn)自身定位。實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案是通過無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)間進(jìn)行信息交互,使各 節(jié)點(diǎn)得到到各個(gè)錨節(jié)點(diǎn)的最小跳數(shù)以及最小均方誤差校正值,從所述所有最小均方誤差 校正值中挑選一個(gè)最小均方誤差校正值C,進(jìn)行三邊定位計(jì)算,對三邊定位的結(jié)果利用 概率進(jìn)行挑選,最終完成普通節(jié)點(diǎn)的自身定位。其具體過程如下(1) 無線傳感器網(wǎng)絡(luò)中包括各錨節(jié)點(diǎn)和普通節(jié)點(diǎn)的所有節(jié)點(diǎn)都處于接收或發(fā)送狀 態(tài),各錨節(jié)點(diǎn)在發(fā)送狀態(tài)時(shí)將自身的坐標(biāo)、節(jié)點(diǎn)ID號、校正值、跳數(shù)信息發(fā)送給全網(wǎng) 的所有節(jié)點(diǎn)進(jìn)行信息交互,使全網(wǎng)獲得所有錨節(jié)點(diǎn)的這些自身信息;(2) 每個(gè)錨節(jié)點(diǎn)通過下式獲得最小均方誤差校正值l 収収廣^T^ l 収其中Z為鋪節(jié)點(diǎn)集合,《為錨節(jié)點(diǎn)^到錨節(jié)點(diǎn)Zg的直線距離,、為/q到/g的最小跳數(shù),s為Z《的最小均方誤差校正值;(3) 每個(gè)錨節(jié)點(diǎn)將獲得的最小均方誤差校正值按照設(shè)定的次數(shù)發(fā)送出去,使網(wǎng)絡(luò) 中的其他節(jié)點(diǎn)均獲得該最小均方誤差校正值、;(4) 普通節(jié)點(diǎn)獲得各錨節(jié)點(diǎn)的最小均方誤差校正值信息后,停止接收和發(fā)送,從 獲得的各錨節(jié)點(diǎn)最小均方誤差校正值信息中選擇一個(gè)最小均方誤差校正值c,并挑選出
三個(gè)錨節(jié)點(diǎn)自身信息,與所述c值進(jìn)行三邊定位,得到本次的三邊定位坐標(biāo)Oc,y);反 復(fù)挑選出不同的三個(gè)錨節(jié)點(diǎn)自身信息進(jìn)行三邊定位,得到一組三邊定位坐標(biāo)0c,,y,);(5)將所有三邊定位得到的結(jié)果通過用下式,選擇概率/^最大的三邊定位坐標(biāo) 作為普通節(jié)點(diǎn)自身位置其中L為錨節(jié)點(diǎn)集合,/^為普通節(jié)點(diǎn)"落在三邊定位坐標(biāo)為(;乂)處的概率,& 為普通節(jié)點(diǎn)a到錨節(jié)點(diǎn)Z的最小跳數(shù),為普通節(jié)點(diǎn)a落在三邊定位坐標(biāo)為(x,, 的 點(diǎn)上且到錨節(jié)點(diǎn)Z為/i。,跳的概率,4'為三邊定位坐標(biāo)(x,.,y,.)處到錨節(jié)點(diǎn)Z的估算的最 小跳數(shù),《i力'為三邊定位坐標(biāo)Oc,.,);,.)到錨節(jié)點(diǎn)Z的直線距離,Oc,,乂)為錨節(jié)點(diǎn)Z的坐標(biāo), 為通信半徑。上述分布式無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身定位方法,其中(1)所述的信息交互,包括 如下過程1) 設(shè)置全網(wǎng)各節(jié)點(diǎn)的跳數(shù)表,每個(gè)跳數(shù)表記錄本節(jié)點(diǎn)到各錨節(jié)點(diǎn)的相應(yīng)跳數(shù)值;2) 各錨節(jié)點(diǎn)在發(fā)送狀態(tài)時(shí)將自身坐標(biāo)、節(jié)點(diǎn)ID號、校正值、跳數(shù)信息寫入包內(nèi) 進(jìn)行發(fā)送;3) 處于接收狀態(tài),且接收到錨節(jié)點(diǎn)上述自身信息的所有節(jié)點(diǎn),將其中的跳數(shù)信 息遞增,并與自身跳數(shù)表中對應(yīng)的跳數(shù)信息值進(jìn)行比較,若跳數(shù)表中對應(yīng)的跳數(shù)信息較 小,則不更新跳數(shù)表,若跳數(shù)表中對應(yīng)的跳數(shù)信息較大,則更新跳數(shù)表,將上述遞增過 的跳數(shù)信息寫入跳數(shù)表中,即該跳數(shù)表存有兩者中的較小值;4) 接收到錨節(jié)點(diǎn)上述自身信息的所有節(jié)點(diǎn)在收到包后,將存有較小值的所述跳
數(shù)表作為要發(fā)送的跳數(shù)信息寫入包內(nèi),并寫入要發(fā)送的錨節(jié)點(diǎn)坐標(biāo)、節(jié)點(diǎn)ID號和校正 值信息,在發(fā)送時(shí)間點(diǎn)到來時(shí)轉(zhuǎn)入發(fā)送狀態(tài)發(fā)送出去,并將發(fā)送結(jié)束的設(shè)定時(shí)間段內(nèi)某 個(gè)隨機(jī)時(shí)間點(diǎn)設(shè)為下次發(fā)送的發(fā)送時(shí)間點(diǎn),再回到接收狀態(tài),在該發(fā)送時(shí)間點(diǎn)到來前, 繼續(xù)維持接收狀態(tài)進(jìn)行接收;5)循環(huán)往復(fù),每個(gè)節(jié)點(diǎn)不斷發(fā)送和接收,當(dāng)連續(xù)收到信息包,且在未更新跳數(shù) 表值的次數(shù)達(dá)到設(shè)定的次數(shù)時(shí),獲得到各錨節(jié)點(diǎn)的最小跳數(shù)。上述分布式無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身定位方法,其中(4)所述的選擇一個(gè)最小均方誤差校正值C,包括如下過程1) 普通節(jié)點(diǎn)獲得各錨節(jié)點(diǎn)發(fā)送的最小均方誤差校正值后,停止接收和發(fā)送,進(jìn)入休眠狀態(tài);2) 普通節(jié)點(diǎn)將錨節(jié)點(diǎn)"對應(yīng)的最小均方誤差校正值s,與本節(jié)點(diǎn)到錨節(jié)點(diǎn)/《的最小跳數(shù)相乘,得到一組乘積;3) 普通節(jié)點(diǎn)從所述乘積中選出最小的一個(gè)乘積值,該最小乘積對應(yīng)的最小均方 誤差校正值為所選擇的最小均方誤差校正值c。上述分布式無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身定位方法,其中(4)所述的反復(fù)挑選出不同 的三個(gè)錨節(jié)點(diǎn)自身信息進(jìn)行三邊定位,包括如下過程1) 設(shè)無線傳感器網(wǎng)絡(luò)中錨節(jié)點(diǎn)個(gè)數(shù)為/,普通節(jié)點(diǎn)在獲得各錨節(jié)點(diǎn)的自身信息, 并且得到所述最小均方誤差校正值c后,在/個(gè)錨節(jié)點(diǎn)中挑選出三個(gè)不同的錨節(jié)點(diǎn),利 用這三個(gè)錨節(jié)點(diǎn)的坐標(biāo)信息、最小跳數(shù)以及所述c值,進(jìn)行三邊定位,得到本次三邊定位的坐標(biāo)(JC, y);2) 反復(fù)挑選與上述的三邊定位中不完全相同的三個(gè)錨節(jié)點(diǎn)進(jìn)行組合,則J個(gè)錨 節(jié)點(diǎn)共有C,種不重復(fù)的組合,即共進(jìn)行C,次三邊定位,通過解下列方程組得到一組三邊定位坐標(biāo)(x,.,y,.):(X!,、)2+(y,.—A)、&2= 1,2,3 其中/表示第z次三邊定位,取值范圍為i c,, /j. (y=l,2,3)對應(yīng)表示每次三邊定 位中所選的三個(gè)錨節(jié)點(diǎn),為三邊定位中普通節(jié)點(diǎn)fl到錨節(jié)點(diǎn)^的估算的直線距離,/1。~表示普通節(jié)點(diǎn)a到錨節(jié)點(diǎn)。.的最小跳數(shù),(、,A )表示錨節(jié)點(diǎn)Z;的坐標(biāo)。 本發(fā)明具有如下的優(yōu)點(diǎn)-(1) 本發(fā)明由于在信息交互時(shí),節(jié)點(diǎn)每次都將跳數(shù)表的所有信息在設(shè)定時(shí)間段內(nèi)某個(gè) 隨機(jī)時(shí)間點(diǎn)上發(fā)送出去,使全網(wǎng)跳數(shù)信息及時(shí)得到更新,提高信息傳遞的效率,減少了 一部分碰撞,從而減少了發(fā)送能量損耗;(2) 本發(fā)明由于設(shè)定接收和發(fā)送的次數(shù),以及根據(jù)連續(xù)收到信息且未改動(dòng)跳數(shù)表的次 數(shù)來判斷全網(wǎng)是否獲得最小跳數(shù),使節(jié)點(diǎn)用盡量少的接收和發(fā)送次數(shù)來獲得最小跳數(shù), 即保證了精確計(jì)算的條件,又控制了信息交互時(shí)所需消耗的能量。(3) 本發(fā)明由于用最小均方誤差校正值代替了傳統(tǒng)DV-Hop方法中的平均校正值,降 低了用最小跳數(shù)與校正值乘積來估算直線距離的誤差,提高了三邊定位計(jì)算的精度。(4沐發(fā)明與傳統(tǒng)DV-H叩定位方法比較,在三邊定位的基礎(chǔ)上引入概率思想,定位 精度在相同錨節(jié)點(diǎn)比例下高于DV-Hop方法,本發(fā)明與Probability Grid方法比較,對 概率公式進(jìn)行合理改進(jìn),使之符合大多數(shù)節(jié)點(diǎn)分布的實(shí)際情況,減少了方法中其他因素 的影響,定位精度在相同錨節(jié)點(diǎn)比例下遠(yuǎn)高于Probability Grid方法。(5)本發(fā)明由于在較低錨節(jié)點(diǎn)比例下就能獲得高定位精度,降低了自身定位技術(shù)所需 要的成本。
圖l是本發(fā)明的實(shí)現(xiàn)流程圖;圖2是本發(fā)明的信息交互過程圖;圖3是本發(fā)明與DV-H叩方法定位誤差比較圖;圖4是本發(fā)明與Probability Grid方法普通節(jié)點(diǎn)未重合比例比較圖;圖5是本發(fā)明與Probability Grid概率計(jì)算定位誤差比較圖;圖6是本發(fā)明與Probability Grid方法的計(jì)算量比較圖;圖7是本發(fā)明信息交互方式與廣播方式能量損耗比較圖。
具體實(shí)施方式
在本發(fā)明的無線傳感器網(wǎng)絡(luò)中配備GPS裝置,且能通過該裝置獲得自身地理坐 標(biāo)位置的節(jié)點(diǎn)稱為錨節(jié)點(diǎn),需要通過錨節(jié)點(diǎn)進(jìn)行自身定位的節(jié)點(diǎn)稱為普通節(jié)點(diǎn),未經(jīng)特
別說明的節(jié)點(diǎn)包括普通節(jié)點(diǎn)和錨節(jié)點(diǎn)。所有節(jié)點(diǎn)都設(shè)置有各自的跳數(shù)列表和發(fā)送隊(duì)列, 每個(gè)跳數(shù)表記錄本節(jié)點(diǎn)到各錨節(jié)點(diǎn)的相應(yīng)跳數(shù)值;本發(fā)明首先對節(jié)點(diǎn)進(jìn)行初始化,普通 節(jié)點(diǎn)將其跳數(shù)列表全部置為~,發(fā)送隊(duì)列清空。對于錨節(jié)點(diǎn),跳數(shù)列表除與該錨節(jié)點(diǎn)的 節(jié)點(diǎn)ID號對應(yīng)項(xiàng)置0外其余都置。,將發(fā)送隊(duì)列清空后加入該錨節(jié)點(diǎn)的節(jié)點(diǎn)ID號。 在全網(wǎng),本發(fā)明中節(jié)點(diǎn)ID號入隊(duì)后并不出隊(duì),各節(jié)點(diǎn)循環(huán)發(fā)送發(fā)送隊(duì)列中已有的節(jié)點(diǎn) ID號所對應(yīng)錨節(jié)點(diǎn)的坐標(biāo)、節(jié)點(diǎn)ID號、校正值,并將自身跳數(shù)表作為要發(fā)送的跳數(shù)信 息一起發(fā)送。由于錨節(jié)點(diǎn)最初將本節(jié)點(diǎn)的ID號加入發(fā)送隊(duì)列,則錨節(jié)點(diǎn)首先發(fā)送的是 自身的坐標(biāo)、節(jié)點(diǎn)ID號、校正值、跳數(shù)信息。參照圖l,本發(fā)明的實(shí)現(xiàn)過程如下一.所有節(jié)點(diǎn)進(jìn)行信息交互無線傳感器網(wǎng)絡(luò)中所有節(jié)點(diǎn)都處于接收或發(fā)送狀態(tài),所有節(jié)點(diǎn)在發(fā)送時(shí)進(jìn)入發(fā)送狀 態(tài)進(jìn)行發(fā)送,在不發(fā)送時(shí)轉(zhuǎn)入接收狀態(tài)不斷接收,各錨節(jié)點(diǎn)在發(fā)送狀態(tài)時(shí)將自身的坐標(biāo)、 節(jié)點(diǎn)ID號、校正值、跳數(shù)信息發(fā)送給全網(wǎng)的所有節(jié)點(diǎn)按照圖2所示的過程進(jìn)行信息交 互,使全網(wǎng)獲得所有錨節(jié)點(diǎn)的這些自身信息。參照圖2,本發(fā)明的信息交互過程如下① 分別設(shè)定每個(gè)節(jié)點(diǎn)連續(xù)收到信息包而未更新跳數(shù)表值的次數(shù)為M,全網(wǎng)統(tǒng)一發(fā)送 次數(shù)為AT,作為保證全網(wǎng)獲得到各錨節(jié)點(diǎn)最小跳數(shù)的參考條件;② 各錨節(jié)點(diǎn)在發(fā)送狀態(tài)將自身坐標(biāo)、節(jié)點(diǎn)ID號、校正值、跳數(shù)信息寫入包內(nèi)進(jìn)行 發(fā)送;③ 處于接收狀態(tài)且接收到錨節(jié)點(diǎn)上述自身信息的所有節(jié)點(diǎn),首先檢查收到的錨節(jié)點(diǎn) 信息中的節(jié)點(diǎn)ID號是否已經(jīng)存在于發(fā)送隊(duì)列中,若沒有,則將該節(jié)點(diǎn)ID號入隊(duì);④ 將收到的跳數(shù)信息遞增,并與自身跳數(shù)表中對應(yīng)的跳數(shù)信息值進(jìn)行比較,若跳數(shù) 表中對應(yīng)的跳數(shù)信息較小,則不更新跳數(shù)表,且使M值遞增;若跳數(shù)表中對應(yīng)的跳數(shù)信息較大,則更新跳數(shù)表,將上述遞增過的跳數(shù)信息寫入跳數(shù)表中,即該跳數(shù)表存有兩者中的較小值,同時(shí)將M置O;⑤ 當(dāng)M〈iV時(shí),若此時(shí)指定的發(fā)送時(shí)間點(diǎn)到來,錨節(jié)點(diǎn)和普通節(jié)點(diǎn)將經(jīng)過更新判 斷后的所述跳數(shù)表作為要發(fā)送的跳數(shù)信息寫入包內(nèi),并寫入發(fā)送隊(duì)列中輪到要發(fā)送的錨節(jié)點(diǎn)坐標(biāo)、節(jié)點(diǎn)ID號和校正值信息,進(jìn)行發(fā)送,發(fā)送完畢后將設(shè)定時(shí)間段內(nèi)的某個(gè)隨 機(jī)時(shí)間點(diǎn)設(shè)為下次發(fā)送的時(shí)間點(diǎn);若發(fā)送時(shí)間點(diǎn)未到,錨節(jié)點(diǎn)和普通節(jié)點(diǎn)繼續(xù)進(jìn)行接收 判斷是否滿足③;
⑥ 當(dāng)M2iV時(shí),對于錨節(jié)點(diǎn),即表示己經(jīng)獲得到其他錨節(jié)點(diǎn)的最小跳數(shù),則進(jìn)行 最小均方誤差校正值的計(jì)算;⑦ 當(dāng)M2iV時(shí),對于普通節(jié)點(diǎn),即表示已經(jīng)獲得到所有錨節(jié)點(diǎn)的最小跳數(shù),若此 時(shí)該普通節(jié)點(diǎn)己獲得所有錨節(jié)點(diǎn)的最小均方誤差校正值,則進(jìn)行自身定位計(jì)算;若未獲 得所有錨節(jié)點(diǎn)的最小均方誤差校正值,則在指定的發(fā)送時(shí)間點(diǎn)到來時(shí),該普通節(jié)點(diǎn)將經(jīng) 過更新判斷后的所述跳數(shù)表作為要發(fā)送的跳數(shù)信息寫入包內(nèi),并寫入發(fā)送隊(duì)列中輪到要 發(fā)送的錨節(jié)點(diǎn)坐標(biāo)、節(jié)點(diǎn)ID號和校正值信息,進(jìn)行發(fā)送,發(fā)送完畢后將設(shè)定時(shí)間段內(nèi) 的某個(gè)隨機(jī)時(shí)間點(diǎn)設(shè)為下次發(fā)送的時(shí)間點(diǎn);在發(fā)送時(shí)間點(diǎn)到來前,繼續(xù)進(jìn)行接收并判斷 是否滿足③;⑧ 所有節(jié)點(diǎn)若不滿足③,即在接收狀態(tài)未接收到信息,則在指定的發(fā)送時(shí)間點(diǎn)到來 時(shí),發(fā)送發(fā)送隊(duì)列中輪到要發(fā)送的錨節(jié)點(diǎn)坐標(biāo)、節(jié)點(diǎn)ID號、校正值信息以及自身的跳 數(shù)表,其中發(fā)送隊(duì)列為空時(shí)不發(fā)送任何信息,發(fā)送時(shí)間點(diǎn)尚未到,繼續(xù)判斷是否滿足③二.對錨節(jié)點(diǎn)進(jìn)行最小均方誤差校正每個(gè)錨節(jié)點(diǎn)在獲得到無線傳感器網(wǎng)絡(luò)其它錨節(jié)點(diǎn)的最小跳數(shù)后,各自進(jìn)行最小均方 誤差校正值的計(jì)算,并將各自的最小均方誤差校正值按設(shè)定的次數(shù)發(fā)送出去,使無線傳 感器網(wǎng)絡(luò)中所有普通節(jié)點(diǎn)都能最終獲得所有錨節(jié)點(diǎn)的最小均方誤差校正值,每個(gè)錨節(jié)點(diǎn) 最終進(jìn)入休眠狀態(tài)。其具體過程如下① 通過信息交互,每個(gè)錨節(jié)點(diǎn)獲得到無線傳感器網(wǎng)絡(luò)其他錨節(jié)點(diǎn)的最小跳數(shù);② 每個(gè)錨節(jié)點(diǎn)通過下式獲得最小均方誤差校正值l 収収廣T~~^ l 狄z一l,,一,w其中z為錨節(jié)點(diǎn)集合, g為錨節(jié)點(diǎn)^到錨節(jié)點(diǎn)/g的直線距離,、為/9到/,的最小跳數(shù),、為/9的最小均方誤差校正值;③ 每個(gè)錨節(jié)點(diǎn)將獲得的最小均方誤差校正值按照設(shè)定的次數(shù)在發(fā)送狀態(tài)時(shí)再發(fā)送 出去,使無線傳感器網(wǎng)絡(luò)中的其他節(jié)點(diǎn)均獲得該最小均方誤差校正值s,而所有普通節(jié)點(diǎn)最終將獲得所有錨節(jié)點(diǎn)的最小均方誤差校正值;④ 當(dāng)已發(fā)送最小均方誤差校正值達(dá)到設(shè)定發(fā)送次數(shù)時(shí),每個(gè)錨節(jié)點(diǎn)停止接收和發(fā)
送,進(jìn)入休眠狀態(tài)。三、對普通節(jié)點(diǎn)進(jìn)行定位每個(gè)普通節(jié)點(diǎn)在獲得所有錨節(jié)點(diǎn)最小均方誤差校正值信息后,進(jìn)入休眠狀態(tài),并從 所述所有最小均方誤差校正值信息中挑選出一個(gè)最小均方誤差校正值c,與信息交互所 獲得各錨節(jié)點(diǎn)最小跳數(shù)以及坐標(biāo)信息進(jìn)行三邊定位,對每次三邊定位得到的坐標(biāo)進(jìn)行概 率計(jì)算,從中選擇概率最大的三邊定位坐標(biāo)作為該普通節(jié)點(diǎn)自身位置。其具體過程如下① 普通節(jié)點(diǎn)獲得各錨節(jié)點(diǎn)的最小均方誤差校正值信息后,停止接收和發(fā)送,進(jìn)入休 眠狀態(tài);② 錨節(jié)點(diǎn)/《對應(yīng)的最小均方誤差校正值為S ,普通節(jié)點(diǎn)將S與本節(jié)點(diǎn)到錨節(jié)點(diǎn)^的最小跳數(shù)相乘,得到一組乘積;③ 普通節(jié)點(diǎn)從所述乘積中選出最小的一個(gè)乘積值,該最小乘積對應(yīng)的最小均方誤差 校正值為所選擇的最小均方誤差校正值c;④ 設(shè)無線傳感器網(wǎng)絡(luò)中錨節(jié)點(diǎn)個(gè)數(shù)為/,普通節(jié)點(diǎn)在得到上述最小均方誤差校正值 c后,在/個(gè)錨節(jié)點(diǎn)中挑選出三個(gè)不同的錨節(jié)點(diǎn),利用這三個(gè)錨節(jié)點(diǎn)的坐標(biāo)信息、最小 跳數(shù)以及所述c值,進(jìn)行三邊定位,得到本次三邊定位的坐標(biāo)(x,y);⑤ 普通節(jié)點(diǎn)反復(fù)挑選與上述的三邊定位中不完全相同的三個(gè)鋪節(jié)點(diǎn)組合,則/個(gè)錨 節(jié)點(diǎn)共有C;種不重復(fù)的組合,即共進(jìn)行C,次三邊定位,通過解下列方程組得到一組三邊定位坐標(biāo)(;c,.,乂)< (a-、) +(;yfi2) =ZV、2 / 2其中i表示第i次三邊定位,取值范圍為1 C,, l 0'=1,2,3)對應(yīng)表示每次三邊定 位中所選的三個(gè)錨節(jié)點(diǎn),為三邊定位中普通節(jié)點(diǎn)"到錨節(jié)點(diǎn)^的估算的直線距離, &。.表示普通節(jié)點(diǎn)a到錨節(jié)點(diǎn)/;的最小跳數(shù),(x,.,^)表示錨節(jié)點(diǎn)G的坐標(biāo)。⑥ 普通節(jié)點(diǎn)將所述的一組三邊定位坐標(biāo)(x,.,)0通過用下式,得到與該(Xi,)O對應(yīng)的 一組概率,選擇其中概率最大的三邊定位坐標(biāo)作為普通節(jié)點(diǎn)自身位置:其中,L為錨節(jié)點(diǎn)集合,y^為普通節(jié)點(diǎn)"落在三邊定位坐標(biāo)為Oc,.,y,.)處的概率,& 為普通節(jié)點(diǎn)a到錨節(jié)點(diǎn)/的最小跳數(shù),i^;為普通節(jié)點(diǎn)a落在三邊定位坐標(biāo)為(A,的 點(diǎn)上且到錨節(jié)點(diǎn)Z為&跳的概率,^/為三邊定位坐標(biāo)(;c,.,);,.)處到錨節(jié)點(diǎn)Z的估計(jì)的最 小跳數(shù),《」為位置(x,.,^)到錨節(jié)點(diǎn)/的直線距離,Oc,,為)為錨節(jié)點(diǎn)Z的坐標(biāo),7 為通信半徑。本發(fā)明的性能,可通過如下仿真進(jìn)一步說明 仿真工具OPNET10. 5 網(wǎng)絡(luò)規(guī)模900 X 900m2 網(wǎng)絡(luò)性質(zhì)各向同性 節(jié)點(diǎn)密度9節(jié)點(diǎn)之間平均距離約100m 通信半徑150m仿真1:本發(fā)明與DV-Hop方法的比較參照圖3,陰影部分為本發(fā)明定位誤差,白色部分為DV-Hop方法定位誤差,比較結(jié)果表明隨著錨節(jié)點(diǎn)比例增加,兩種方法的定位誤差均變小,但在錨節(jié)點(diǎn)數(shù)量相同的比例下,本發(fā)明定位誤差明顯小于DV-Hop方法的定位誤差。 仿真2:本發(fā)明與Probability Grid方法的比較。參照圖4,白色部分為本發(fā)明獲得全網(wǎng)唯一定位坐標(biāo)的普通節(jié)點(diǎn)比例,陰影部分表 示ProbabilityGrid方法獲得全網(wǎng)唯一定位坐標(biāo)的普通節(jié)點(diǎn)比例。比較結(jié)果表明在相同
錨節(jié)點(diǎn)比例下本發(fā)明最終定位坐標(biāo)不與其他普通節(jié)點(diǎn)重合的普通節(jié)點(diǎn)比例遠(yuǎn)高于 Probability Grid方法。參照圖5,白色部分表示采用Probability Grid方法概率公式對最終定位結(jié)果的影響, 陰影部分為采用本發(fā)明概率公式對最終定位結(jié)果的影響。比較結(jié)果表明在相同錨節(jié)點(diǎn) 比例下,采用本發(fā)明的概率公式所得到的定位誤差遠(yuǎn)小于直接使用Probability Grid概率 公式的定位誤差。參照圖6, ■▲ V標(biāo)志分別表示出Probability Grid方法在柵格點(diǎn)個(gè)數(shù)5變化時(shí)對應(yīng) 的概率計(jì)算次數(shù),*標(biāo)志表示本發(fā)明的概率計(jì)算次數(shù)。比較結(jié)果表明,Probability Grid方法概率計(jì)算次數(shù)呈線性上升,而本發(fā)明概率計(jì)算次數(shù)呈指數(shù)上升,在錨節(jié)點(diǎn)比例達(dá)到 10%之前,本發(fā)明計(jì)算次數(shù)小于Probability Grid方法計(jì)算次數(shù),在錨節(jié)點(diǎn)比例高于10% 時(shí),本發(fā)明計(jì)算次數(shù)大于Probability Grid方法計(jì)算次數(shù),但由圖5可知,在錨節(jié)點(diǎn)比例 為15%以后的定位精度相差不大,實(shí)際釆用時(shí), 一般運(yùn)用錨節(jié)點(diǎn)比例在10%時(shí),利用 本發(fā)明就可獲得較高精度。仿真3:本發(fā)明與廣播方式能量損耗的比較。參照圖7,陰影部分為廣播方式下平均每個(gè)節(jié)點(diǎn)能量損耗,白色部分為本發(fā)明信息 交互方式下平均每個(gè)節(jié)點(diǎn)能量損耗,比較結(jié)果表明在錨節(jié)點(diǎn)比例增加的情況下,二者 的能量損耗均增加,但在相同錨節(jié)點(diǎn)比例下本發(fā)明信息交互方式的平均每個(gè)節(jié)點(diǎn)能量損 耗遠(yuǎn)小于傳統(tǒng)的廣播方式。
權(quán)利要求
1.一種分布式無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身定位方法,包括如下過程(1)無線傳感器網(wǎng)絡(luò)中包括各錨節(jié)點(diǎn)和普通節(jié)點(diǎn)的所有節(jié)點(diǎn)都處于接收或發(fā)送狀態(tài),各錨節(jié)點(diǎn)在發(fā)送狀態(tài)時(shí)將自身的坐標(biāo)、節(jié)點(diǎn)ID號、校正值、跳數(shù)信息發(fā)送給全網(wǎng)的所有節(jié)點(diǎn)進(jìn)行信息交互,使全網(wǎng)獲得所有錨節(jié)點(diǎn)的這些自身信息;(2)每個(gè)錨節(jié)點(diǎn)通過下式獲得最小均方誤差校正值
2. 根據(jù)權(quán)利要求1所述的定位方法,其中(l)所述的信息交互,包括如下過程1) 設(shè)置全網(wǎng)各節(jié)點(diǎn)的跳數(shù)表,每個(gè)跳數(shù)表記錄本節(jié)點(diǎn)到各錨節(jié)點(diǎn)的相應(yīng)跳數(shù)值;2) 各錨節(jié)點(diǎn)在發(fā)送狀態(tài)時(shí)將自身坐標(biāo)、節(jié)點(diǎn)ID號、校正值、跳數(shù)信息寫入包 內(nèi)進(jìn)行發(fā)送;3) 處于接收狀態(tài),且接收到錨節(jié)點(diǎn)上述自身信息的所有節(jié)點(diǎn),將其中的跳數(shù) 信息遞增,并與自身跳數(shù)表中對應(yīng)的跳數(shù)信息值進(jìn)行比較,若跳數(shù)表中對應(yīng)的跳數(shù)信 息較小,則不更新跳數(shù)表,若跳數(shù)表中對應(yīng)的跳數(shù)信息較大,則更新跳數(shù)表,將上述 遞增過的跳數(shù)信息寫入跳數(shù)表中,即該跳數(shù)表存有兩者中的較小值;4) 接收到錨節(jié)點(diǎn)上述自身信息的所有節(jié)點(diǎn)在收到包后,將存有較小值的所述 跳數(shù)表作為要發(fā)送的跳數(shù)信息寫入包內(nèi),并寫入要發(fā)送的錨節(jié)點(diǎn)坐標(biāo)、節(jié)點(diǎn)ID號和 校正值信息,在發(fā)送時(shí)間點(diǎn)到來時(shí)轉(zhuǎn)入發(fā)送狀態(tài)發(fā)送出去,并將發(fā)送結(jié)束的設(shè)定時(shí)間 段內(nèi)某個(gè)隨機(jī)時(shí)間點(diǎn)設(shè)為下次發(fā)送的發(fā)送時(shí)間點(diǎn),再回到接收狀態(tài),在該發(fā)送時(shí)間點(diǎn) 到來前,繼續(xù)維持接收狀態(tài)進(jìn)行接收;5) 循環(huán)往復(fù),每個(gè)節(jié)點(diǎn)不斷發(fā)送和接收,當(dāng)連續(xù)收到信息包,且在未更新跳 數(shù)表值的次數(shù)達(dá)到設(shè)定的次數(shù)時(shí),獲得到各錨節(jié)點(diǎn)的最小跳數(shù)。
3. 根據(jù)權(quán)利要求書1所述的定位方法,其中(4)所述的選擇一個(gè)最小均方誤差 校正值c,包括如下過程1)普通節(jié)點(diǎn)獲得各錨節(jié)點(diǎn)發(fā)送的最小均方誤差校正值后,停止接收和發(fā)送, 進(jìn)入休眠狀態(tài);2) 普通節(jié)點(diǎn)將錨節(jié)點(diǎn)/9對應(yīng)的最小均方誤差校正值^ ,與本節(jié)點(diǎn)到錨節(jié)點(diǎn)^的最小跳數(shù)相乘,得到一組乘積;3) 普通節(jié)點(diǎn)從所述乘積中選出最小的一個(gè)乘積值,該最小乘積對應(yīng)的最小均 方誤差校正值為所選擇的最小均方誤差校正值c。
4.根據(jù)權(quán)利要求書1所述的定位方法,其中(4)所述的反復(fù)挑選出不同的三個(gè) 錨節(jié)點(diǎn)自身信息進(jìn)行三邊定位,包括如下過程-1) 設(shè)無線傳感器網(wǎng)絡(luò)中錨節(jié)點(diǎn)個(gè)數(shù)為/,普通節(jié)點(diǎn)在獲得各錨節(jié)點(diǎn)的自身信息, 并且得到所述最小均方誤差校正值c后,在/個(gè)錨節(jié)點(diǎn)中挑選出三個(gè)不同的錨節(jié)點(diǎn), 利用這三個(gè)錨節(jié)點(diǎn)的坐標(biāo)信息、最小跳數(shù)以及所述c值進(jìn)行三邊定位,得到本次三邊定位的坐標(biāo)O,:v);2) 反復(fù)挑選與上述的三邊定位中不完全相同的三個(gè)錨節(jié)點(diǎn)進(jìn)行組合,則/個(gè) 錨節(jié)點(diǎn)共有(^種不重復(fù)的組合,即共進(jìn)行C,次三邊定位,通過解下列方程組得到一組三邊定位坐標(biāo)(x,.,^):其中Z表示第!'次三邊定位,取值范圍為l Cf, ^ (_/=1,2,3)對應(yīng)表示每次三邊 定位中所選的三個(gè)錨節(jié)點(diǎn),D。為三邊定位中普通節(jié)點(diǎn)a到錨節(jié)點(diǎn)^的估算的直線距 離,/^表示普通節(jié)點(diǎn)a到錨節(jié)點(diǎn)G的最小跳數(shù),(x,.,^)表示錨節(jié)點(diǎn)^的坐標(biāo)。
5.根據(jù)權(quán)利要求2所述的定位方法,其中5)中所述的獲得到各錨節(jié)點(diǎn)最小跳數(shù) 的過程如下① 分別設(shè)定每個(gè)節(jié)點(diǎn)連續(xù)收到信息包而未更新跳數(shù)表值的次數(shù)為M,全網(wǎng)統(tǒng)一 發(fā)送次數(shù)為iV,作為保證全網(wǎng)獲得到各錨節(jié)點(diǎn)最小跳數(shù)的參考條件;② 當(dāng)M < W時(shí),錨節(jié)點(diǎn)和普通節(jié)點(diǎn)繼續(xù)進(jìn)行發(fā)送和接收;③ 當(dāng)M2iV時(shí),對于錨節(jié)點(diǎn),即表示己經(jīng)獲得到其他錨節(jié)點(diǎn)的最小跳數(shù),則進(jìn)j = U,3 行最小均方誤差校正值的計(jì)算;對于普通節(jié)點(diǎn),即表示己經(jīng)獲得到所有錨節(jié)點(diǎn)的最小 跳數(shù),若此時(shí)該普通節(jié)點(diǎn)已獲得所有錨節(jié)點(diǎn)的最小均方誤差校正值,則進(jìn)行自身定位 計(jì)算;若未獲得所有錨節(jié)點(diǎn)的最小均方誤差校正值,則繼續(xù)進(jìn)行接收和發(fā)送。
全文摘要
本發(fā)明公開了一種無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)自身定位方法,其過程是無線傳感器網(wǎng)絡(luò)中各錨節(jié)點(diǎn)將自身坐標(biāo)、節(jié)點(diǎn)ID號、校正值、跳數(shù)信息發(fā)送給全網(wǎng)所有節(jié)點(diǎn),使全網(wǎng)獲得所有錨節(jié)點(diǎn)的這些自身信息;各錨節(jié)點(diǎn)在獲得到其它錨節(jié)點(diǎn)最小跳數(shù)后,進(jìn)行最小均方誤差校正值的計(jì)算,并將該最小均方誤差校正值發(fā)送出去,使所有普通節(jié)點(diǎn)最終獲得所有錨節(jié)點(diǎn)的最小均方誤差校正值;各普通節(jié)點(diǎn)從所述所有最小均方誤差校正值信息中挑選出一個(gè)最小均方誤差校正值c,與信息交互所獲得的各錨節(jié)點(diǎn)自身信息進(jìn)行三邊定位,并進(jìn)行概率挑選,將概率最大的三邊定位坐標(biāo)作為普通節(jié)點(diǎn)自身位置。本發(fā)明具有低能耗和高精度的優(yōu)點(diǎn),可用在各向同性的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自身定位中。
文檔編號H04Q7/38GK101118280SQ20071001856
公開日2008年2月6日 申請日期2007年8月31日 優(yōu)先權(quán)日2007年8月31日
發(fā)明者姚俊良, 琰 張, 時(shí)振帥, 李建東, 倩 狄, 野 田, 敏 盛 申請人:西安電子科技大學(xué)