本發(fā)明屬于傳感器定位技術(shù)領(lǐng)域,涉及一種移動(dòng)節(jié)點(diǎn)的定位方法,具體指無(wú)線傳感器網(wǎng)絡(luò)中一種基于時(shí)序的移動(dòng)節(jié)點(diǎn)蒙特卡洛定位方法。
背景技術(shù):
無(wú)線傳感器網(wǎng)絡(luò)(wirelesssensornetworks,wsn)是指?jìng)鞲衅鞴?jié)點(diǎn)以多跳、自組織的形式組成的一個(gè)無(wú)線通信系統(tǒng)。大量的微型傳感器部署在所要監(jiān)測(cè)的區(qū)域內(nèi),傳感器節(jié)點(diǎn)對(duì)感興趣的目標(biāo)進(jìn)行觀測(cè)并獲取其信息報(bào)告給觀察者,從而實(shí)現(xiàn)了對(duì)監(jiān)測(cè)區(qū)域的監(jiān)控。對(duì)wsn的研究主要側(cè)重于三個(gè)方面:網(wǎng)絡(luò)節(jié)點(diǎn)部署、節(jié)點(diǎn)定位和網(wǎng)絡(luò)能耗。本案是針對(duì)移動(dòng)節(jié)點(diǎn)的定位展開研究,正所謂沒有位置信息檢測(cè)的消息是沒有意義的。wsn節(jié)點(diǎn)定位可以根據(jù)是否需要測(cè)距而分為結(jié)合測(cè)距(range-based)定位算法和無(wú)需測(cè)距(range-free)定位算法兩大類。在節(jié)點(diǎn)定位的研究初期,主要采用結(jié)合測(cè)距的手段。它根據(jù)錨節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間的相對(duì)位置和角度直接測(cè)量二者的距離,再根據(jù)測(cè)得的信息通過三邊測(cè)量法,三角測(cè)量法以及極大似然估計(jì)等算法進(jìn)行具體定位。非測(cè)距類定位算法則是憑借網(wǎng)絡(luò)的連通度信息來(lái)估計(jì)出錨節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)間的距離,然后根據(jù)估計(jì)的距離來(lái)進(jìn)行定位。目前非測(cè)距類定位算法有dv-hop算法、質(zhì)心算法、apit算法等,與結(jié)合測(cè)距的算法相比,非測(cè)距類算法的網(wǎng)絡(luò)生存能力強(qiáng),無(wú)需額外的硬件設(shè)備,更適合大規(guī)模無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用;但是,上述方法大多沒有考慮節(jié)點(diǎn)的移動(dòng)性問題。伴隨著節(jié)點(diǎn)能夠在監(jiān)測(cè)區(qū)域內(nèi)移動(dòng),使得移動(dòng)wsn在事件的監(jiān)測(cè)上有其固有的優(yōu)勢(shì)并已得到廣泛的應(yīng)用。比如在列車定位中,要對(duì)不斷移動(dòng)的目標(biāo)進(jìn)行實(shí)時(shí)的定位,以了解列車的位置信息。由此可見,對(duì)于移動(dòng)wsn的定位研究現(xiàn)如今已成為一個(gè)熱點(diǎn)方向。
針對(duì)移動(dòng)wsn中節(jié)點(diǎn)的定位,早在2004年蒙特卡洛定位(monte-carlolocation,mcl)算法便被從機(jī)器人定位中引入到了移動(dòng)wsn中,雖然mcl定位算法拋開了節(jié)點(diǎn)移動(dòng)性的干擾,甚至節(jié)點(diǎn)移動(dòng)速度越大定位精度越高,但是該算法的采樣成功率很低且容易出現(xiàn)粒子退化的問題。近年來(lái)很多學(xué)者對(duì)其進(jìn)行了改進(jìn),相繼提出了蒙特卡洛盒子定位(monte-carlolocationboxed,mcb)算法、動(dòng)態(tài)靜態(tài)網(wǎng)絡(luò)節(jié)點(diǎn)定位(mobileandstaticsensornetworklocation,msl)算法以及多跳蒙特卡洛定位(multi-hop-basedmonte-carlolocalization,mmcl)算法。其中,蒙特卡洛盒子定位算法通過錨箱(anchorbox)和采樣箱(samplebox)來(lái)縮小采樣區(qū)域從而提高采樣效率;但是當(dāng)觀測(cè)模型分布在錨箱的比重很小時(shí),該算法的采樣成功率仍然很低。動(dòng)態(tài)靜態(tài)網(wǎng)絡(luò)節(jié)點(diǎn)定位算法利用了鄰居節(jié)點(diǎn)中定位精度較高的節(jié)點(diǎn)來(lái)輔助定位,但其計(jì)算過程非常復(fù)雜,通信耗能也比較大,不適于大規(guī)模無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用。而將dv-hop引入到了mcl定位中提出的多跳蒙特卡洛定位算法,該算法充分利用了錨節(jié)點(diǎn)的信息,在低錨節(jié)點(diǎn)密度的網(wǎng)絡(luò)中能表現(xiàn)出良好的定位性能。上述算法從不同角度對(duì)mcl算法進(jìn)行了改進(jìn),但是在網(wǎng)絡(luò)拓?fù)渥兓容^頻繁的高速移動(dòng)網(wǎng)絡(luò)環(huán)境下,上述算法的穩(wěn)定性和網(wǎng)絡(luò)生存性仍存在一定的性能缺陷。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述技術(shù)問題,本發(fā)明提供了一種基于時(shí)序的移動(dòng)節(jié)點(diǎn)蒙特卡洛定位方法,利用錨節(jié)點(diǎn)的掃描反饋信號(hào)的時(shí)序信息初步構(gòu)建定位節(jié)點(diǎn)采樣區(qū)域,并與傳統(tǒng)蒙特卡洛定位方法獲取的采樣區(qū)域疊加來(lái)縮小采樣范圍,從而提高移動(dòng)節(jié)點(diǎn)的采樣效率和定位精度。
本發(fā)明通過以下技術(shù)方案來(lái)實(shí)現(xiàn)上述目的:
一種基于時(shí)序的移動(dòng)節(jié)點(diǎn)蒙特卡洛定位方法,包括以下步驟:
s1、錨節(jié)點(diǎn)將自身信息分別傳遞給其周圍的一跳和二跳鄰居錨節(jié)點(diǎn);
s2、錨節(jié)點(diǎn)以一定的時(shí)間間隔發(fā)射掃描波信號(hào),以判斷目標(biāo)定位節(jié)點(diǎn)是否達(dá)到定位時(shí)刻,當(dāng)目標(biāo)定位節(jié)點(diǎn)在接收到其周圍至少3個(gè)一跳鄰居錨節(jié)點(diǎn)的信息時(shí)即達(dá)到定位時(shí)刻,達(dá)到則執(zhí)行步驟3,否則經(jīng)下一周期繼續(xù)判斷;其中,設(shè)r為錨節(jié)點(diǎn)的通信半徑,
s3、由目標(biāo)定位節(jié)點(diǎn)周圍至少3個(gè)鄰居錨節(jié)點(diǎn)根據(jù)各自的掃描波信號(hào)反饋時(shí)序信息,構(gòu)建定位節(jié)點(diǎn)采樣區(qū)域
s4、利用蒙特卡洛定位方法獲取定位節(jié)點(diǎn)采樣區(qū)域
s5、在定位節(jié)點(diǎn)采樣區(qū)域
s6、通過過濾公式判斷樣本集中的每個(gè)樣本是否有效,即符合過濾公式的為有效樣本點(diǎn),不符合過濾公式的為無(wú)效樣本點(diǎn),需濾除;
所述過濾公式為:
s7、經(jīng)過濾公式過濾后,當(dāng)樣本集中的有效樣本點(diǎn)數(shù)目為n時(shí),則執(zhí)行步驟8,否則返回執(zhí)行步驟5;
s8、計(jì)算目標(biāo)定位節(jié)點(diǎn)在t時(shí)刻的位置信息,該時(shí)刻定位結(jié)束,轉(zhuǎn)步驟3執(zhí)行下一時(shí)刻定位。
作為本案的優(yōu)化方案,上述步驟3構(gòu)建定位節(jié)點(diǎn)采樣區(qū)域
1)確定t時(shí)刻目標(biāo)定位節(jié)點(diǎn)周圍的至少3個(gè)鄰居錨節(jié)點(diǎn),對(duì)各個(gè)錨節(jié)點(diǎn)掃描波的反饋時(shí)間進(jìn)行排序,根據(jù)時(shí)序分別以不同的鄰居錨節(jié)點(diǎn)為圓心,以該錨節(jié)點(diǎn)與其他鄰居錨節(jié)點(diǎn)間的距離為半徑畫圓;
2)由包含
3)對(duì)定位節(jié)點(diǎn)采樣區(qū)域的頂點(diǎn)進(jìn)行篩選;
4)做不規(guī)則定位節(jié)點(diǎn)采樣區(qū)域的外接矩形,由該外接矩形代替不規(guī)則的定位節(jié)點(diǎn)采樣區(qū)域,即初步構(gòu)建了定位節(jié)點(diǎn)采樣區(qū)域
作為本案的優(yōu)化方案,上述步驟5中,樣本集的樣本數(shù)n與目標(biāo)定位節(jié)點(diǎn)移動(dòng)的最大速度
本發(fā)明的有益效果是:
1、預(yù)測(cè)階段的定位節(jié)點(diǎn)采樣區(qū)域確定,對(duì)至少3個(gè)鄰居錨節(jié)點(diǎn)的掃描反饋信號(hào)進(jìn)行時(shí)間排序,并利用時(shí)序信息初步構(gòu)建定位節(jié)點(diǎn)采樣區(qū)域,后與傳統(tǒng)蒙特卡洛定位方法獲取的采樣區(qū)域疊加來(lái)縮小定位節(jié)點(diǎn)采樣范圍,有效提高了移動(dòng)節(jié)點(diǎn)的采樣效率和節(jié)點(diǎn)定位精度;
2、過濾階段,僅需濾除不在對(duì)應(yīng)錨節(jié)點(diǎn)一跳范圍的采樣點(diǎn)即可,顯著提高了算法的收斂速度和定位效率,降低了算法復(fù)雜度。
附圖說明
圖1為本發(fā)明基于時(shí)序的移動(dòng)節(jié)點(diǎn)定位方法中單個(gè)錨節(jié)點(diǎn)的掃描示意圖;
圖2為本發(fā)明基于時(shí)序的移動(dòng)節(jié)點(diǎn)定位方法中兩個(gè)錨節(jié)點(diǎn)的掃描示意圖;
圖3為本發(fā)明基于時(shí)序的移動(dòng)節(jié)點(diǎn)定位方法中三個(gè)錨節(jié)點(diǎn)的掃描示意圖;
圖4為本發(fā)明基于時(shí)序的移動(dòng)節(jié)點(diǎn)定位方法中初始采樣區(qū)域的示意圖;
圖5為本發(fā)明基于時(shí)序的移動(dòng)節(jié)點(diǎn)定位方法中采樣區(qū)域的疊加示意圖。
具體實(shí)施方式
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明及其效果作進(jìn)一步闡述。
本發(fā)明對(duì)傳統(tǒng)蒙特卡洛方法中預(yù)測(cè)階段的采樣區(qū)域和過濾階段的過濾函數(shù)進(jìn)行優(yōu)化改進(jìn)。在傳統(tǒng)蒙特卡洛定位方法基礎(chǔ)上,引入了利用錨節(jié)點(diǎn)對(duì)反饋信號(hào)的時(shí)間長(zhǎng)短進(jìn)行排序,并利用時(shí)序信息初步構(gòu)建定位節(jié)點(diǎn)采樣區(qū)域,以此來(lái)縮小采樣范圍,提高移動(dòng)節(jié)點(diǎn)的采樣效率和定位精度。而過濾函數(shù)的設(shè)計(jì)是由于所用到定位的錨節(jié)點(diǎn)都是距目標(biāo)節(jié)點(diǎn)一跳范圍內(nèi)的點(diǎn),所以僅需濾除不在對(duì)應(yīng)錨節(jié)點(diǎn)一跳范圍的采樣點(diǎn)即可,過濾階段優(yōu)化后能夠提高算法的收斂速度,降低算法復(fù)雜度,提高定位效率。
一種基于時(shí)序的移動(dòng)節(jié)點(diǎn)蒙特卡洛定位方法,具體包括以下步驟:
一、采集區(qū)域的確定
s1、錨節(jié)點(diǎn)將自身信息分別傳遞給其周圍的一跳和二跳鄰居錨節(jié)點(diǎn),自身信息包括坐標(biāo),id號(hào)等信息,信息以數(shù)據(jù)包形式進(jìn)行本地存儲(chǔ)。
s2、錨節(jié)點(diǎn)以一定的時(shí)間間隔發(fā)射掃描波信號(hào),以判斷目標(biāo)定位節(jié)點(diǎn)是否達(dá)到定位時(shí)刻,當(dāng)wsn系統(tǒng)中的某一目標(biāo)節(jié)點(diǎn)在接收到其周圍至少3個(gè)一跳鄰居錨節(jié)點(diǎn)的信息時(shí)即達(dá)到定位時(shí)刻,達(dá)到則執(zhí)行下一步驟,否則經(jīng)下一周期繼續(xù)判斷否達(dá)到定位時(shí)刻;其中,設(shè)r為錨節(jié)點(diǎn)的通信半徑,
s3、由目標(biāo)定位節(jié)點(diǎn)周圍至少3個(gè)鄰居錨節(jié)點(diǎn)根據(jù)各自的掃描波信號(hào)反饋時(shí)序信息,構(gòu)建定位節(jié)點(diǎn)采樣區(qū)域
構(gòu)建定位節(jié)點(diǎn)采樣區(qū)域
1)確定t時(shí)刻目標(biāo)定位節(jié)點(diǎn)周圍的至少3個(gè)鄰居錨節(jié)點(diǎn),對(duì)各個(gè)錨節(jié)點(diǎn)掃描波的反饋時(shí)間進(jìn)行排序,根據(jù)時(shí)序分別以不同的鄰居錨節(jié)點(diǎn)為圓心,以該錨節(jié)點(diǎn)與其他鄰居錨節(jié)點(diǎn)間的距離為半徑畫圓;
2)由包含
3)對(duì)定位節(jié)點(diǎn)采樣區(qū)域的頂點(diǎn)進(jìn)行篩選;
4)做不規(guī)則定位節(jié)點(diǎn)采樣區(qū)域的外接矩形,由該外接矩形代替不規(guī)則的定位節(jié)點(diǎn)采樣區(qū)域,即初步構(gòu)建了定位節(jié)點(diǎn)采樣區(qū)域
具體地,如附圖1所示,圖中a、b、c分別為某一目標(biāo)定位節(jié)點(diǎn)在t時(shí)刻能夠接收到的三個(gè)鄰居錨節(jié)點(diǎn)的位置信息,q為該目標(biāo)定位節(jié)點(diǎn)在
如附圖2所示,圖為錨節(jié)點(diǎn)a與錨節(jié)點(diǎn)b共同掃描的過程,由錨節(jié)點(diǎn)b的掃描波得到的反饋序列為:aqc;由圖可知目標(biāo)定位節(jié)點(diǎn)q在以b為圓心,以a與b間的距離為半徑的圓外,以b與c間的距離為半徑的圓內(nèi);由a和b兩個(gè)錨節(jié)點(diǎn)能夠預(yù)測(cè)關(guān)于節(jié)點(diǎn)q在t時(shí)刻采樣區(qū)域的大體范圍,即圖中的陰影區(qū)域。
如附圖3所示,為三個(gè)錨節(jié)點(diǎn)a、b、c共同掃描的過程,通過c節(jié)點(diǎn)的掃描波反饋的時(shí)序排列為:qab,可知目標(biāo)定位節(jié)點(diǎn)q在以錨節(jié)點(diǎn)c為圓心,以c與a間的距離為半徑的圓內(nèi)。由三個(gè)錨節(jié)點(diǎn)得到的時(shí)序排列便構(gòu)成一個(gè)陰影區(qū)域,陰影區(qū)域代表目標(biāo)定位節(jié)點(diǎn)q在t時(shí)刻位置信息的采樣區(qū)域范圍。在理論上來(lái)講,如果鄰居錨節(jié)點(diǎn)的數(shù)量越多,得到的反饋信號(hào)時(shí)序排列的信息也就越全面,由所得到的時(shí)序信息圈成的陰影采樣區(qū)域便會(huì)越??;因此,從這一方面是能夠提高采樣效率和采集樣本的準(zhǔn)確性。
假設(shè)錨節(jié)點(diǎn)a、b、c的坐標(biāo)分別為
本發(fā)明中真正用到縮小采樣區(qū)域的是四個(gè)圓環(huán),設(shè)某一目標(biāo)定位節(jié)點(diǎn)在
不規(guī)則陰影區(qū)域有幾個(gè)頂點(diǎn),便可通過相應(yīng)個(gè)數(shù)的方程組求解,每?jī)蓚€(gè)圓的交點(diǎn)最多有兩個(gè),根據(jù)目標(biāo)定位節(jié)點(diǎn)的坐標(biāo)可知,只有一個(gè)是符合要求的待求點(diǎn)。若不規(guī)則陰影區(qū)域包含4個(gè)頂點(diǎn),則四個(gè)頂點(diǎn)1、2、3、4分別可表示為:
由上式可得各頂點(diǎn)坐標(biāo)為
為確定陰影區(qū)域的外接矩形,首先在統(tǒng)一坐標(biāo)系下做各參考圓的外接正方形,根據(jù)約束方程(1)判斷外接正方形的各邊是否經(jīng)過或相切于陰影區(qū)域。以圖4情況為例,經(jīng)過或相切于陰影區(qū)域的線有三條,可表示為:
由此可確定陰影區(qū)域的表達(dá)式:
s4、利用蒙特卡洛定位方法獲取定位節(jié)點(diǎn)采樣區(qū)域
傳統(tǒng)的蒙特卡洛方法是以最大速度為半徑做圓,將圓形區(qū)域看作未知節(jié)點(diǎn)t時(shí)刻位置的可能區(qū)域。在本發(fā)明方法中,將傳統(tǒng)采樣區(qū)域與上述采樣區(qū)疊加,在疊加后的區(qū)域內(nèi)進(jìn)行樣本的采集,最終縮小后的采樣區(qū)域?yàn)閳D5中重疊的陰影部分,結(jié)合上述表示為:
二、采樣點(diǎn)過濾
s5、在定位節(jié)點(diǎn)采樣區(qū)域
s6、通過過濾公式判斷樣本集中的每個(gè)樣本是否有效,即符合過濾公式的為有效樣本點(diǎn),不符合過濾公式的為無(wú)效樣本點(diǎn),需濾除;
所述過濾公式為:
s7、經(jīng)過濾公式過濾后,當(dāng)樣本集中的有效樣本點(diǎn)數(shù)目依然為n時(shí),則執(zhí)行步驟8,否則返回執(zhí)行步驟5,直至采集到足夠數(shù)目的有效樣本點(diǎn);
s8、計(jì)算目標(biāo)定位節(jié)點(diǎn)在t時(shí)刻的位置信息,該時(shí)刻定位結(jié)束,轉(zhuǎn)步驟3執(zhí)行下一時(shí)刻定位。
在該預(yù)測(cè)階段,每一個(gè)采樣點(diǎn)都是在預(yù)測(cè)區(qū)域內(nèi)隨機(jī)生成的,預(yù)測(cè)過后,采樣點(diǎn)便進(jìn)入過濾階段。本發(fā)明方法根據(jù)鄰居錨節(jié)點(diǎn)收集的時(shí)序信息能有效縮小未知節(jié)點(diǎn)的采樣范圍,使得采樣點(diǎn)的有效性得到提高。采樣點(diǎn)整體的預(yù)測(cè)和過濾階段可表示如下:
預(yù)測(cè):
過濾:
預(yù)測(cè)階段先采集n個(gè)樣本點(diǎn),經(jīng)過過濾后,將不符合條件的采樣點(diǎn)濾除,剩余的有效樣本數(shù)目將少于n;當(dāng)有效樣本數(shù)未達(dá)到規(guī)定值時(shí),便重復(fù)預(yù)測(cè)和過濾階段,直到采集到足夠多的有效樣本。
以上實(shí)施例僅是示例性的,并不會(huì)局限本發(fā)明,應(yīng)當(dāng)指出對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說,在本發(fā)明所提供的技術(shù)啟示下,所做出的其它等同變型和改進(jìn),均應(yīng)視為本發(fā)明的保護(hù)范圍。