一種非直達波環(huán)境下無線傳感器網(wǎng)絡(luò)節(jié)點定位方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種非直達波環(huán)境下無線傳感器 網(wǎng)絡(luò)節(jié)點定位方法。
【背景技術(shù)】
[0002] 隨著傳感器技術(shù)、無線通信網(wǎng)絡(luò)技術(shù)和嵌入式計算等技術(shù)的飛速發(fā)展,推動了具 有劃時代意義的新的信息收集技術(shù)的無線傳感器網(wǎng)絡(luò)的產(chǎn)生和發(fā)展。目前,無線傳感器網(wǎng) 絡(luò)在國防軍事、國家安全、城市交通管理、環(huán)境監(jiān)測、醫(yī)療健康、工業(yè)制造、農(nóng)業(yè)、搶險救災等 方面得到了飛速的發(fā)展,但是在實現(xiàn)這些應用時都有一個很重要的前提條件,網(wǎng)絡(luò)節(jié)點必 須要知道自身的位置。因此可以說定位問題是無線傳感器網(wǎng)絡(luò)的基礎(chǔ)性問題之一,目前無 線傳感器網(wǎng)絡(luò)定位方法主要包括:測距定位算法和非測距定位算法兩類。
[0003] 非測距算法的代表算法主要有質(zhì)心算法、Dv-Hop算法和APIT算法。質(zhì)心算法 (centroidalgorithm)是一種僅基于網(wǎng)絡(luò)連通性的室外節(jié)點定位算法。該算法的思想是: 錨節(jié)點以規(guī)則網(wǎng)絡(luò)的形式布置在網(wǎng)絡(luò)區(qū)域中,并定期地向鄰居節(jié)點廣播一個定位信號,該 信號中包含節(jié)點自身ID和位置信息。當未知節(jié)點接收到來自不同錨節(jié)點的定位信號數(shù)量 超過某一個預設(shè)閥值或接收一定時間后,該節(jié)點就確定自身位置為這些錨節(jié)點所組成的多 邊形的質(zhì)心。DV-Hop(DistanceVector-Hop)算法是一種根據(jù)距離矢量路由原理而提出的 一種分布式定位算法,它利用多跳間的錨節(jié)點信息對未知節(jié)點進行定位。其基本原理為:根 據(jù)未知節(jié)點與錨節(jié)點之間的跳數(shù)來確定未知節(jié)點與錨節(jié)點之間的距離,當未知節(jié)點得到3 個或多于3個它到錨節(jié)點之間的距離時,則應用三角測量法計算自己的坐標。與DV-Hop相 類似的算法還有DV-Distance、DV-Coordinate、Amorphous算法等,這些算法統(tǒng)稱為APS算 法。APIT(ApproximatePoint-In-TriangulationText)算法是根據(jù)面積覆蓋原理提出的 代表性算法,它也是非測距算法中相對比較精確的一種。算法的基本思想是未知節(jié)點利用 其通信半徑范圍內(nèi)的錨節(jié)點信息,將定位區(qū)域進行三角形劃分,取各部分的公共區(qū)域作為 其最可能出現(xiàn)的位置區(qū)域,公共區(qū)域的質(zhì)心位置即為未知節(jié)點的最終位置。由于非測距定 位算法不需要相應技術(shù)或設(shè)備來測量鄰居節(jié)點間距離或角度,它們僅僅使用節(jié)點間的通信 來對未知節(jié)點進行位置估計,算法實現(xiàn)簡單,但只能提供粗精度的定位。
[0004] 由于非測距定位算法只能提供粗精度的定位服務(wù),無法滿足某些無線傳感器網(wǎng)絡(luò) 應用場合高精度的定位需求,人們發(fā)展了基于測距的定位算法?;跍y距的定位算法是通 過測量網(wǎng)絡(luò)中節(jié)點間的距離或方向(角度)來計算未知節(jié)點的位置。目前常用的測距技術(shù) 有A0A(到達角度),RSS(接收信號強度),T0A(到達時間)、TD0A(到達時差)。在無線傳 感器網(wǎng)絡(luò)定位方法方面,主要采取的正是上述定位方法或混合定位方法,但目前的無線傳 感器網(wǎng)絡(luò)定位的研究中一般不用A0A,這主要是因A0A技術(shù)需要復雜的天線陣進行測量,而 且無線傳感器網(wǎng)絡(luò)電波傳播環(huán)境極其復雜,受到嚴重的多徑影響,A0A測量精度很低,另外 由于無線傳感器節(jié)點的體積、功耗、多天線的位置設(shè)置等物理條件的制約,需要多天線陣列 的A0A技術(shù)在無線傳感器網(wǎng)絡(luò)的應用受到了極大的限制;所以當前的無線傳感器網(wǎng)絡(luò)定位 研究主要集中在RSS、TOA和TDOA等方面。
[0005] 對于目前的無線傳感器網(wǎng)絡(luò)定位算法研究中未考慮非直達波誤差的影響,現(xiàn)有研 究都是基于直達波環(huán)境下的,而在一些特定的環(huán)境下非直達波誤差是影響節(jié)點定位精度的 主要因素。盡管非直達波定位算法在無線蜂窩通信系統(tǒng)中得到了廣泛的研究,但是無線蜂 窩通信系統(tǒng)只存在移動站與基站之間的通信,而無線傳感器網(wǎng)絡(luò)中任意兩節(jié)點之間都可能 存在通信,因此定位問題更為復雜,可以認為無線蜂窩定位算法是無線傳感器節(jié)點定位問 題的一個子集。現(xiàn)有的非直達波無線蜂窩定位算法抑制非直達波的準則主要包括不等式約 束、非直達波統(tǒng)計特征和學習型算法等,直接將這些準則應用于節(jié)點定位可能導致優(yōu)化問 題次優(yōu)、過于復雜、非凸、無閉式解和無高效求解算法等問題。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的是針對上述現(xiàn)有的網(wǎng)絡(luò)節(jié)點定位技術(shù)中存在的定位精度不高、運算 量大以及未考慮非直達波誤差等諸多局限,發(fā)展可以抑制非直達波誤差、運算量性能優(yōu)良 以及定位精度高的無線傳感器網(wǎng)絡(luò)節(jié)點定位算法。本算法采用非直達波誤差代價函數(shù)代替 常規(guī)的均方代價函數(shù)抑制非直達波誤差,非直達波誤差代價函數(shù)對大誤差不敏感,因此可 以通過權(quán)值抑制大誤差提高定位精度,并且本算法不需要知道非直達波誤差分布的先驗信 息以及測量值的時間信息,就能夠給出閉式解。本算法采用迭代計算方法,不斷的將得到的 未知節(jié)點坐標作為偽錨節(jié)點加入到錨節(jié)點中,估計下一未知節(jié)點坐標,直至遍歷所有未知 節(jié)點完成定位,通過分布式迭代計算方法降低了定位算法的運算量,提高了定位算法的性 能。
[0007] 本發(fā)明的解決方案是:首先對錨節(jié)點和未知節(jié)點進行幾何建模,建立歐氏距離與 測量距離的幾何關(guān)系,然后忽略非直達波誤差以及錨節(jié)點位置誤差,對未知節(jié)點進行第一 次初步估計,得到未知節(jié)點的初步估計值和定位誤差矢量,根據(jù)初步估計的定位誤差矢量 的絕對中位差求出非直達波誤差代價函數(shù)所需的門限值,并將初步估計的定位誤差與門限 值進行比較求得非直達波誤差代價函數(shù),之后利用理論定位方法對未知節(jié)點進行精確定 位,得到未知節(jié)點的位置坐標完成一次定位,并求得定位誤差,加入到位置誤差加權(quán)矩陣 中,在下一次定位時用作位置誤差加權(quán),此時若還有未知節(jié)點未被定位,則將已定位的未知 節(jié)點作為偽錨節(jié)點,加入到錨節(jié)點中,對下一個未知節(jié)點估計,再次執(zhí)行未知節(jié)點的初步估 計、構(gòu)建非直達波誤差代價函數(shù)、精確定位,估計未知節(jié)點的理論定位誤差,再次判斷是否 還有未知節(jié)點未被定位,通過以上不斷的迭代,直至遍歷所有未知節(jié)點完成所有未知節(jié)點 的定位工作。
[0008] 本發(fā)明的詳細方法包括:
[0009] a.根據(jù)錨節(jié)點與未知節(jié)點的歐式距離和測量距離進行幾何建模;
[0010] 設(shè)無線傳感器網(wǎng)絡(luò)中分布著N個網(wǎng)絡(luò)節(jié)點,其中節(jié)點序號為1,2,???,M的節(jié) 點為錨節(jié)點M〈N;錨節(jié)點均勻分布在無線傳感器網(wǎng)絡(luò)中,其坐標可以表示為(Xj,yj),j= 1,2,. ..,M;序號為M+l,M+2, ? ? ?,N的節(jié)點為未知節(jié)點;未知節(jié)點隨機分布在無線傳感 器網(wǎng)絡(luò)中,其坐標可以表示為h,yi),i=M+l,M+2,. ..,N;對貓節(jié)點和未知節(jié)點進行建模, 求第i個未知節(jié)點到第j個錨節(jié)點之間的距離測量值:
[0011] (1)
[0012] 其中rij為第i個未知節(jié)點到第j個錨節(jié)點的測量距離,d為第i個未知節(jié)點到 第j個錨節(jié)點的真實距離,nu為服從零均值高斯分布的標準測量誤差。NLOSu為由于非直 達波傳播引起的非直達波誤差。
[0013] b.對未知節(jié)點進行初步定位,獲得定位誤差;<