一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法
【專利摘要】本發(fā)明提供一種無線傳感器網(wǎng)絡(luò)領(lǐng)域的新型子網(wǎng)劃分式DV?hop定位算法,該算法考慮了普通DV?hop定位算法以平均跳段距離代替實(shí)際直線距離而導(dǎo)致定位誤差較大這一問題,尤其是在復(fù)雜異構(gòu)網(wǎng)絡(luò)環(huán)境下,該問題將嚴(yán)重影響定位精度。為了減小異構(gòu)網(wǎng)絡(luò)環(huán)境下DV?hop算法定位誤差大的問題,提出了一種子網(wǎng)劃分式DV?hop定位算法。本發(fā)明與以往的DV?hop定位算法相比不僅能夠較好地解決異構(gòu)網(wǎng)絡(luò)的問題,能獲得較高的定位精度,此外該方法分簇的思想還降低了大規(guī)模網(wǎng)絡(luò)定位時(shí)的復(fù)雜度,具有較高的適應(yīng)能力。
【專利說明】
-種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于無線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別設(shè)及聚類算法、最短路徑算法、DV-hop 算法等算法在節(jié)點(diǎn)定位過程中的使用。
【背景技術(shù)】
[0002] 定位技術(shù)是無線傳感器網(wǎng)絡(luò)關(guān)鍵技術(shù)之一。依據(jù)定位過程中是否測量節(jié)點(diǎn)間的距 離,可W把定位算法分為基于測距定位算法和非測距定位算法?;跍y距的定位方法通過 測量節(jié)點(diǎn)間的距離或方位獲取未知節(jié)點(diǎn)的位置,該方法定位精度高,但容易受溫度,障礙物 等環(huán)境因素的影響,且測量半徑受到所帶能量限制,因此,不適合大規(guī)模定位。非測距方法 大多數(shù)是通過節(jié)點(diǎn)之間的連接關(guān)系來獲得節(jié)點(diǎn)間的跳數(shù),進(jìn)而用跳距(平均每跳距離*跳 數(shù))來代替節(jié)點(diǎn)間的物理距離,獲取節(jié)點(diǎn)的估計(jì)位置,因而適合大規(guī)模場景下的定位應(yīng)用。 然而,非測距算法一般只適用于各向同性的密集網(wǎng)絡(luò),在復(fù)雜環(huán)境下的各向異性網(wǎng)絡(luò)中定 位性能較差。
[0003] 依據(jù)到初始錯(cuò)節(jié)點(diǎn)的跳數(shù)可W分為單跳定位和多跳定位,單跳定位算法如AP 口定 位算法,到達(dá)角定位算法等。多跳定位算法如DV-Hop算法、迭代多邊定位算法[6,7]、 Amorphous等。多跳定位方法相對成本較低,但定位精度受制于節(jié)點(diǎn)的分布情況。
[0004] DV-化P算法是一種經(jīng)典的多跳定位算法,是眾多無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)自定位算法 中應(yīng)用最廣泛的算法之一。在實(shí)際應(yīng)用中DV-Hop算法定位技術(shù)性能仍然受到諸多技術(shù)難題 困擾,其中最致命的是它僅能在節(jié)點(diǎn)密度高且分布均勻的各向同性網(wǎng)絡(luò)取得較理想的定位 結(jié)果,而在節(jié)點(diǎn)分布不均、稀疏等網(wǎng)絡(luò)環(huán)境各向異性的情況下,定位效果很差。而本發(fā)明所 提供的子網(wǎng)劃分式DV-hop定位算法能夠較好地解決異構(gòu)網(wǎng)絡(luò)的問題,能獲得較高的定位精 度,此外該方法分簇的思想還降低了大規(guī)模網(wǎng)絡(luò)定位時(shí)的復(fù)雜度,具有較高的適應(yīng)能力。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提出了一種子網(wǎng)劃分式DV-hop定位算法,該算法能夠較好地解決異構(gòu)網(wǎng)絡(luò) 的問題,能獲得較高的定位精度,同時(shí)降低了大規(guī)模網(wǎng)絡(luò)定位時(shí)的復(fù)雜度,具有較高的適應(yīng) 能力。
[0006] 本發(fā)明采用如下技術(shù)方案: 1. 輸入定位區(qū)域內(nèi)的待定位節(jié)點(diǎn)及錯(cuò)節(jié)點(diǎn)信息; 2. 利用聚類算法對整個(gè)網(wǎng)絡(luò)中的錯(cuò)節(jié)點(diǎn)進(jìn)行分簇,將原網(wǎng)絡(luò)中錯(cuò)節(jié)點(diǎn)劃分為若干個(gè) 簇; 3. 計(jì)算每個(gè)待定位節(jié)點(diǎn)至各個(gè)錯(cuò)節(jié)點(diǎn)之間的跳數(shù)h,依據(jù)跳數(shù)最小原則將該待定位節(jié) 點(diǎn)加入到最近的簇中; 4. 對各個(gè)簇進(jìn)行DV-hop定位算法,求出每簇內(nèi)的待定位節(jié)點(diǎn)位置; 5. 將各個(gè)簇進(jìn)行定位結(jié)果合并,完成整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)定位,輸出定位結(jié)果。
【附圖說明】
[0007]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述的附圖僅僅是本發(fā) 明的一些實(shí)施例的部分附圖,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提 下,還可W根據(jù)運(yùn)些附圖獲得其他的附圖。
[000引圖1為本發(fā)明實(shí)施例1提供的子網(wǎng)劃分式DV-hop定位算法流程圖。
[0009] 圖2為本發(fā)明實(shí)施例1提供的傳感器網(wǎng)絡(luò)S節(jié)點(diǎn)分布圖。
[0010] 圖3為本發(fā)明實(shí)施例1提供的錯(cuò)節(jié)點(diǎn)分簇情況圖。
[0011] 圖4為本發(fā)明實(shí)施例1提供的節(jié)點(diǎn)分簇情況圖。
[0012]圖5為本發(fā)明實(shí)施例1提供的第1簇節(jié)點(diǎn)定位效果圖。
[OOK]圖6為本發(fā)明實(shí)施例1提供的第2簇節(jié)點(diǎn)定位效果圖。
[0014] 圖7為本發(fā)明實(shí)施例1提供的合并2簇定位結(jié)果后的定位效果圖。
[0015] 圖8為本發(fā)明實(shí)施例1提供的經(jīng)典DV-hop定位效果圖。
【具體實(shí)施方式】
[0016] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0017] 由于圖2~圖8為彩色,特提交其他證明文件。
[001引實(shí)施例1: 本發(fā)明實(shí)施例1提供一種子網(wǎng)劃分式DV-hop定位算法,如圖1所示,該方法包括: 101、輸入定位區(qū)域內(nèi)的待定位節(jié)點(diǎn)及錯(cuò)節(jié)點(diǎn)信息 補(bǔ)充:本專利中根據(jù)無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)是否已知自身的位置,把傳感器節(jié)點(diǎn)分為 錯(cuò)節(jié)點(diǎn)和待定位節(jié)點(diǎn)。 在一個(gè)無線傳感器網(wǎng)絡(luò)S中,設(shè)傳感器節(jié)點(diǎn)的集合為S= {Si,S2,…,Sm+n},其中M為錯(cuò)節(jié) 點(diǎn)個(gè)數(shù),N為待定位節(jié)點(diǎn)個(gè)數(shù)。本專利WM = 30,N = 270為具體實(shí)施例進(jìn)行說明。每一個(gè)節(jié)點(diǎn) 的位置可W表示為式(1): pos(Si) = (xi,yi)T,i = l,. . . ,M+N (1) M個(gè)錯(cuò)節(jié)點(diǎn)SiEA位置已知,N個(gè)待定位節(jié)點(diǎn)&EB位置未知;其中集合A= {Si Ii = I, 2,...,M},集合B={Sj|j=M+l,M+2,...,M+N}。運(yùn)樣就把問題轉(zhuǎn)換為:已知集合A內(nèi)的錯(cuò)節(jié) 點(diǎn)坐標(biāo)信息,求集合B內(nèi)的待定位節(jié)點(diǎn)坐標(biāo)信息。 為了體現(xiàn)本發(fā)明的算法在異構(gòu)網(wǎng)絡(luò)中定位效果優(yōu)于傳統(tǒng)DV-hop定位算法,在無線傳感 器網(wǎng)絡(luò)S中設(shè)置了一塊"障礙"區(qū)域,使得整個(gè)部署區(qū)域呈"C"型。該部署區(qū)域總面積1000* 1000(米),區(qū)域中一共隨機(jī)散布300個(gè)節(jié)點(diǎn)所有節(jié)點(diǎn)通信半徑設(shè)為150米。節(jié)點(diǎn)分布如附圖2 所示,其中W符號V'代表待定位節(jié)點(diǎn),W符號代表錯(cuò)節(jié)點(diǎn)。
[0019] 102、利用聚類算法對整個(gè)網(wǎng)絡(luò)中的錯(cuò)節(jié)點(diǎn)進(jìn)行分簇 利用聚類算法對整個(gè)網(wǎng)絡(luò)中的錯(cuò)節(jié)點(diǎn)進(jìn)行分簇一一此處的聚類算法可W是K-均值聚 類,二分K-均值算法等,而本實(shí)施例僅Wk-均值聚類算法說明。假設(shè)需要把錯(cuò)節(jié)點(diǎn)分為k個(gè) 簇,簇個(gè)數(shù)k是用戶指定的,每一個(gè)簇通過其質(zhì)屯、,即簇中所有節(jié)點(diǎn)的中屯、來描述。 使用K-均值聚類算法對整個(gè)網(wǎng)絡(luò)中的錯(cuò)節(jié)點(diǎn)進(jìn)行分簇,其工作流程如下:首先,隨機(jī)確 定k個(gè)初始點(diǎn)做為質(zhì)屯、。然后將錯(cuò)節(jié)點(diǎn)集A中的每個(gè)節(jié)點(diǎn)分配到一個(gè)簇中,具體來講,為每個(gè) 錯(cuò)節(jié)點(diǎn)找距離其最近的質(zhì)屯、,并將其分配給該質(zhì)屯、所對應(yīng)的簇。運(yùn)一步完成后,每個(gè)簇的質(zhì) 屯、更新為該簇所有點(diǎn)的平均值。 利用K-均值聚類算法對整個(gè)網(wǎng)絡(luò)中的錯(cuò)節(jié)點(diǎn)進(jìn)行分簇的工作流程可W用算法描述表 示如下: 莫
其中質(zhì)屯、Zj屬于簇集合Z= {Zi I i = l,2,...,k},質(zhì)屯、的坐標(biāo)表示如式(3)所示: pos(Zj) = (xj,yj)T, j = l,. . . ,k (3) 利用K-均值聚類算法對整個(gè)網(wǎng)絡(luò)中的錯(cuò)節(jié)點(diǎn)進(jìn)行分簇,具體分簇個(gè)數(shù)應(yīng)根據(jù)部署環(huán)境 確定,例如網(wǎng)絡(luò)規(guī)模、節(jié)點(diǎn)分布情況等,簇個(gè)數(shù)k是用戶指定的,本實(shí)施例為了便于實(shí)施起 見,設(shè)定把錯(cuò)節(jié)點(diǎn)分2簇,每一個(gè)簇通過其質(zhì)屯、,即簇中所有節(jié)點(diǎn)的中屯、來描述。 首先,隨機(jī)確定2個(gè)初始點(diǎn)做為質(zhì)屯、。然后將錯(cuò)節(jié)點(diǎn)集中的每個(gè)節(jié)點(diǎn)分配到一個(gè)簇中, 具體來講,為每個(gè)錯(cuò)節(jié)點(diǎn)找距離其最近的質(zhì)屯、,并將其分配給該質(zhì)屯、所對應(yīng)的簇。運(yùn)一步完 成后,每個(gè)簇的質(zhì)屯、更新為該簇所有點(diǎn)的平均值。錯(cuò)節(jié)點(diǎn)分簇完成后的場景如附圖3所示, 其中"紅色*"號和藍(lán)色號分別代表了第1簇和第2簇中的錯(cuò)節(jié)點(diǎn)。
[0020] 103、計(jì)算每個(gè)待定位節(jié)點(diǎn)至各個(gè)錯(cuò)節(jié)點(diǎn)之間的跳數(shù)h,依據(jù)跳數(shù)最小原則將該待 定位節(jié)點(diǎn)加入到最近的簇中 網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)5翊&的跳數(shù)可W表示為h(Si,&)EH=化|0,1,2,...},使用最 短路徑算法可W獲取整個(gè)網(wǎng)絡(luò)的跳數(shù)矩陣H,對于本實(shí)施例由于是300的節(jié)點(diǎn),其維度是300 X 300 O 使用最短路徑算法獲取整個(gè)網(wǎng)絡(luò)的跳數(shù)矩陣H的過程可W用算法描述如下:
程序計(jì)算完畢,跳數(shù)矩陣H中即包含了每個(gè)待定位節(jié)點(diǎn)至各個(gè)錯(cuò)節(jié)點(diǎn)之間的跳數(shù)h信 息。 接著,對于任意一個(gè)待定位節(jié)點(diǎn)&,首先從跳數(shù)矩陣H中查找跳數(shù)距離最小的錯(cuò)節(jié)點(diǎn), 接著判斷該錯(cuò)節(jié)點(diǎn)(可能不止一個(gè))所屬的簇,將節(jié)點(diǎn)&加入到該簇。對于最小跳數(shù)不止一 個(gè)的情況,將&加入錯(cuò)節(jié)點(diǎn)個(gè)數(shù)最多的那個(gè)簇。所有待定位節(jié)點(diǎn)都被分配到運(yùn)2個(gè)簇中。 上沐討賴巧W巧當(dāng)訣描沐親元如下,
分配完畢后的場景如附圖4所示,用紅藍(lán)2色分別表示2個(gè)簇中的節(jié)點(diǎn)。
[0021] 104、對各個(gè)簇進(jìn)行DV-hop定位算法,求出每簇內(nèi)的待定位節(jié)點(diǎn)位置 假設(shè)對第k簇進(jìn)行DV-hop定位算法,其他簇W此類推。 首先,從整個(gè)網(wǎng)絡(luò)的跳數(shù)矩陣H中提取第k簇的跳數(shù)矩陣,設(shè)定為化,該矩陣包含了第k 簇內(nèi)所有節(jié)點(diǎn)之間的跳數(shù)信息。 然后,求得第k簇內(nèi)單跳所對應(yīng)的距離cU,因?yàn)殄e(cuò)節(jié)點(diǎn)坐標(biāo)已知,可W通過錯(cuò)節(jié)點(diǎn)之間 的跳數(shù)和距離來求得。單跳所對應(yīng)的距離dper可W通過式(4)求得:
其中(xi,yi)和(xj,yj)分別是錯(cuò)節(jié)點(diǎn)i和j的坐標(biāo);hi是錯(cuò)節(jié)點(diǎn)i和其他所有錯(cuò)節(jié)點(diǎn)的跳 數(shù)。 接著,任取k簇內(nèi)一個(gè)待定位節(jié)點(diǎn)&,假設(shè)其待求位置坐標(biāo)為:& (X,y)。從化中提取Sj至 簇內(nèi)各錯(cuò)節(jié)點(diǎn)(Si,i = 1,…,n)的跳數(shù)信息,依據(jù)單跳所對應(yīng)的距離dper,將跳距轉(zhuǎn)化為距離 信息,即CU*跳距;假定運(yùn)n個(gè)錯(cuò)節(jié)點(diǎn)的坐標(biāo)分別為:(Xi,yi),(X2,y2),. . .,(Xn,yn),節(jié)點(diǎn)Sj 到n個(gè)錯(cuò)節(jié)點(diǎn)的距離分別為:山,Cb,…,dn。
第1至第n-1等式分別與第n個(gè)等式相減,可得到式(6):
(6) 令
上述方程組可W轉(zhuǎn)化為Ax = b的形式。使用標(biāo)準(zhǔn)的最小均方差估計(jì)法可W得到節(jié)點(diǎn)Sj 的坐標(biāo)為式(10)所示: (10) 金.表示待定位節(jié)點(diǎn)Sj的估計(jì)坐標(biāo)。 按照上述的經(jīng)典DV-hop算法,在2簇上分別對待定位節(jié)點(diǎn)進(jìn)行運(yùn)算,求出節(jié)點(diǎn)坐標(biāo)。然 后在場景中顯示各個(gè)簇定位的結(jié)果。 附圖5和附圖6分別顯示了第1簇和第2簇定位的結(jié)果,圖中的線段表示定位的誤差大 小,由節(jié)點(diǎn)的真實(shí)坐標(biāo)指向節(jié)點(diǎn)的估計(jì)坐標(biāo),線段越長,說明定位誤差越大,即定位效果越 差D
[0022] 105、將各個(gè)簇進(jìn)行定位結(jié)果合并,完成整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)定位,輸出定位結(jié)果 假設(shè)第i個(gè)簇求得的待定位節(jié)點(diǎn)坐標(biāo)信息為Xi,Xi可W表示為式(11):
(U) 其中,矩陣Xi為第i簇內(nèi)m個(gè)待定位節(jié)點(diǎn)的估計(jì)坐標(biāo)。把所有的k個(gè)簇定位結(jié)果合并,即 式(12):
:12) 最終的矩陣X包含了所有待定位節(jié)點(diǎn)的巧計(jì)坐標(biāo)信息。待各個(gè)簇的定位都完成時(shí),即可 將個(gè)簇的定位結(jié)果進(jìn)行合并,得到整個(gè)網(wǎng)絡(luò)的定位結(jié)果。 如附圖7所示,是2簇合并后的定位效果圖。作為對比,附圖8給出了相同條件下經(jīng)典DV-hop定位算法的定位效果圖。 衡量一個(gè)定位算法的技術(shù)標(biāo)準(zhǔn)有很多,比較通用的是采用平均定位誤差(ALE)衡量算 法的性能。 ALE主要用于驗(yàn)證算法定位的精度,ALE的定義如式(13):
式中的戰(zhàn),裘)是第i-l、節(jié)巧W巧訂坐稱怔直,Ui,y J巧弟1個(gè)節(jié)點(diǎn)實(shí)際坐標(biāo)位置;n為未 知節(jié)點(diǎn)數(shù)量;R通信半徑。從上式可W看出ALE是指區(qū)域內(nèi)所有未知節(jié)點(diǎn)估計(jì)位置到真實(shí)位 置的歐式距離的平均誤差與通信半徑的比值。ALE能夠反映定位算法的穩(wěn)定性W及定位的 精度,在節(jié)點(diǎn)通信半徑一定時(shí),節(jié)點(diǎn)的平均定位誤差越小則該算法的定位精度越高,反之亦 然。 根據(jù)本實(shí)施例,n = 270,R=150米。仿真求得的結(jié)果為:經(jīng)典DV-hop定位誤差為ALE = 1.6473,而本發(fā)明提出的子網(wǎng)劃分式DV-hop定位誤差為ALE = O. 60157。顯而易見,在異構(gòu)網(wǎng) 絡(luò)條件下,本發(fā)明提出的定位算法很大程度提高了 DV-hop定位算法的精度。
【主權(quán)項(xiàng)】
1. 一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法,其步驟如下: (1) 輸入定位區(qū)域內(nèi)的待定位節(jié)點(diǎn)及錨節(jié)點(diǎn)信息; (2) 利用聚類算法對整個(gè)網(wǎng)絡(luò)中的錨節(jié)點(diǎn)進(jìn)行分簇,將原網(wǎng)絡(luò)中錨節(jié)點(diǎn)劃分為若干個(gè) 互不重合的簇; (3) 計(jì)算每個(gè)待定位節(jié)點(diǎn)至各個(gè)錨節(jié)點(diǎn)之間的跳數(shù)h,依據(jù)跳數(shù)最小原則將該待定位節(jié) 點(diǎn)加入到最近的簇中; (4) 對各個(gè)簇進(jìn)行DV-hop定位算法,求出每個(gè)簇內(nèi)的待定位節(jié)點(diǎn)位置; (5) 將各個(gè)簇進(jìn)行定位結(jié)果合并,完成整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)定位,輸出定位結(jié)果。2. 根據(jù)權(quán)利要求1所述的一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法,其特征在 于,步驟1中的,輸入定位區(qū)域內(nèi)的待定位節(jié)點(diǎn)及錨節(jié)點(diǎn)信息的具體方法是: 對于一個(gè)無線傳感器網(wǎng)絡(luò)S其傳感器節(jié)點(diǎn)的集合為S = {Si,S2,…,Sm+n},該網(wǎng)絡(luò)包含Μ個(gè) 錨節(jié)點(diǎn),Ν個(gè)待定位節(jié)點(diǎn),且Μ〈〈Ν;每一個(gè)節(jié)點(diǎn)的位置可以表示為式(1): pos(Si) = (xi,yi)T,i = l, · · · ,M+N (1); Μ個(gè)錨節(jié)點(diǎn)SiEA位置已知,Ν個(gè)待定位節(jié)點(diǎn)SjEB位置未知;其中集合A={Si| i = l, 2, · · ·,M},集合B={Sj| j=M+l,M+2, · · ·,M+N}。3. 根據(jù)權(quán)利要求1所述的一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法,其特征在 于,步驟2中的利用聚類算法對整個(gè)網(wǎng)絡(luò)中的錨節(jié)點(diǎn)進(jìn)行分簇,具體方法是: a) 利用聚類算法對整個(gè)網(wǎng)絡(luò)中的錨節(jié)點(diǎn)進(jìn)行分簇,把錨節(jié)點(diǎn)分為k個(gè)簇,簇個(gè)數(shù)k是用 戶指定的,每一個(gè)簇通過其質(zhì)心來描述; b) 隨機(jī)確定k個(gè)初始點(diǎn)做為簇心,將錨節(jié)點(diǎn)集A中的每個(gè)節(jié)點(diǎn)分配到一個(gè)簇中,即為每 個(gè)錨節(jié)點(diǎn)找距離其最近的簇心,并將其分配給該簇心所對應(yīng)的簇; c) 最后,將每個(gè)簇的簇心更新為該簇所有點(diǎn)的平均值。4. 根據(jù)權(quán)利要求1或3中所述的一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法,其特 征在于,所述的聚類算法,包括:K-均值聚類,二分K-均值算法。5. 根據(jù)權(quán)利要求1所述的一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法,其特征在 于,步驟3中的計(jì)算每個(gè)待定位節(jié)點(diǎn)至各個(gè)錨節(jié)點(diǎn)之間的跳數(shù)h,其方法是: 網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)Si到Sj的跳數(shù)可以表示為h(Si,Sj) eH= {Zi | 0,1,2,. . .},使用最 短路徑算法可以獲取整個(gè)網(wǎng)絡(luò)的跳數(shù)矩陣H,矩陣維度是(M+N) )( (M+N); 那么所述的跳數(shù)矩陣Η中包含了每個(gè)待定位節(jié)點(diǎn)至各個(gè)錨節(jié)點(diǎn)之間的跳數(shù)h信息。6. 根據(jù)權(quán)利要求1所述的一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法,其特征在 于,步驟3中的依據(jù)跳數(shù)最小原則將該待定位節(jié)點(diǎn)加入到最近的簇中,其方法是: 對于任意一個(gè)待定位節(jié)點(diǎn)&,首先從跳數(shù)矩陣Η中查找跳數(shù)距離最小的錨節(jié)點(diǎn),接著判 斷該錨節(jié)點(diǎn)所屬的簇,將節(jié)點(diǎn)&加入到該簇;對于錨節(jié)點(diǎn)不止一個(gè)簇的情況即最小跳數(shù)不 止一個(gè)的情況,將&加入錨節(jié)點(diǎn)個(gè)數(shù)最多的那個(gè)簇。7. 根據(jù)權(quán)利要求1所述的一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法,其特征在 于,步驟4中對各個(gè)簇進(jìn)行DV-hop定位算法,求出每個(gè)簇內(nèi)的待定位節(jié)點(diǎn)位置,其方法是: a) 從整個(gè)網(wǎng)絡(luò)的跳數(shù)矩陣Η中提取第k簇的跳數(shù)矩陣,設(shè)定為Hk,該矩陣包含了第k簇內(nèi) 所有節(jié)點(diǎn)之間的跳數(shù)信息; b) 求得第k簇內(nèi)單跳所對應(yīng)的距離dper,因?yàn)殄^節(jié)點(diǎn)坐標(biāo)已知,可以通過錨節(jié)點(diǎn)之間的 跳數(shù)和距離來求得; 單跳所對應(yīng)的距離dper可以通過式(4)求得:其中(Xl,yi)和(Xj,h)分別是錨節(jié)點(diǎn)i和j的坐標(biāo);lu是錨節(jié)點(diǎn)i和其他所有錨節(jié)點(diǎn)的跳 數(shù); c) 任取k簇內(nèi)一個(gè)待定位節(jié)點(diǎn)Sj,設(shè)其待求位置坐標(biāo)為:Sj(X,y);從Hk中提取Sj至簇內(nèi)各 錨節(jié)點(diǎn)Sjizl,···,!!)的跳數(shù)信息,依據(jù)單跳所對應(yīng)的距離d per,將跳距轉(zhuǎn)化為距離信息,即 dper*跳距;設(shè)這η個(gè)錨節(jié)點(diǎn)的坐標(biāo)分別為:(xi,yi),(X2,y2),…,(xn,y n),節(jié)點(diǎn)Sj到η個(gè)錨節(jié) 點(diǎn)的距離分別為:di,d2,···,dn;第1至第n-1等式分別與第η個(gè)等式相減,可得到式(6):上述方程組可以轉(zhuǎn)化為Ax = b的形式;使用標(biāo)準(zhǔn)的最小均方差估計(jì)法可以得到節(jié)點(diǎn)&的 坐標(biāo)為式(10)所示:i表示待定位節(jié)點(diǎn)Sj的估計(jì)坐標(biāo); d) 對網(wǎng)絡(luò)中其他的簇采用同樣的方法計(jì)算待定位節(jié)點(diǎn)位置。8.根據(jù)權(quán)利要求1所述的一種子網(wǎng)劃分式DV-hop無線傳感器網(wǎng)絡(luò)定位算法,其特征在 于,步驟5中的將各個(gè)簇進(jìn)行定位結(jié)果合并,完成整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)定位,輸出定位結(jié)果,其方 法是: 根據(jù)步驟(4),第i個(gè)簇求得的待定位節(jié)點(diǎn)坐標(biāo)信息為可以表示為式(11):其中,矩陣t為第i簇內(nèi)m個(gè)待定位節(jié)點(diǎn)的估計(jì)坐標(biāo);把所有的k個(gè)簇定位結(jié)果合并,即式 (12):最終的矩陣X包含了所有待定位節(jié)點(diǎn)的估計(jì)坐標(biāo)信息;定位算法完畢。
【文檔編號】H04W64/00GK105828434SQ201610331758
【公開日】2016年8月3日
【申請日】2016年5月18日
【發(fā)明人】趙煒, 劉鈺, 何健, 程炳華
【申請人】金陵科技學(xué)院