專(zhuān)利名稱(chēng):一種無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的垂直相交定位算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的垂直相交定位算法。
背景技術(shù):
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)(WSNs)是由許多傳感器節(jié)點(diǎn)通過(guò)自組織的形式組成的一種特殊的 Ad-hoc網(wǎng)絡(luò),每一個(gè)傳感器節(jié)點(diǎn)由數(shù)據(jù)采集模塊、數(shù)據(jù)處理和控制模塊、通信模塊和供電模 塊等組成,此外還可能包括與應(yīng)用相關(guān)的其他部分,比如定位系統(tǒng)、動(dòng)力系統(tǒng)等。借助于內(nèi) 置多樣的傳感器,可以測(cè)量溫度、濕度、氣壓、化學(xué)及物理現(xiàn)象。由于無(wú)線(xiàn)傳感器網(wǎng)絡(luò)在軍 事、醫(yī)學(xué)、環(huán)境保護(hù)等領(lǐng)域有著非常廣闊的應(yīng)用前景,受到眾多國(guó)家科研機(jī)構(gòu)的重視。
傳感器節(jié)點(diǎn)的自身定位是傳感器網(wǎng)絡(luò)應(yīng)用的基礎(chǔ)。例如目標(biāo)監(jiān)測(cè)與跟蹤、基于位置信息 的路由、智能交通、物流管理等許多應(yīng)用都要求網(wǎng)絡(luò)節(jié)點(diǎn)預(yù)先知道自身的位置,并在通信和 協(xié)作過(guò)程中利用位置信息來(lái)完成應(yīng)用要求。若沒(méi)有位置信息,傳感器節(jié)點(diǎn)所采集的數(shù)據(jù)幾乎 是沒(méi)有應(yīng)用價(jià)值的。所以,在無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的應(yīng)用中,節(jié)點(diǎn)的定位成為關(guān)鍵的問(wèn)題。位置 感知常常需要以預(yù)配置計(jì)劃、GPS的使用或其他技術(shù)為代價(jià)。廉價(jià)的傳感器網(wǎng)絡(luò)通過(guò)GPS或 者其他類(lèi)似的技術(shù)來(lái)測(cè)量所有節(jié)點(diǎn)的位置代價(jià)太高,是不合適的。試圖快速配置由大量低價(jià) 傳感器節(jié)點(diǎn)組成的網(wǎng)絡(luò)是不切實(shí)際的。由于其重要性與特殊性,傳感器節(jié)點(diǎn)定位是近年來(lái)一 個(gè)很活躍的研究領(lǐng)域,并且提出了很多解決方法。
節(jié)點(diǎn)的定位需要通過(guò)估測(cè)到臨近節(jié)點(diǎn)的距離來(lái)推斷,定位算法最重要最基本的問(wèn)題是判 斷那些能利用信標(biāo)計(jì)算出位置的傳感器節(jié)點(diǎn)之間的距離。信標(biāo)是那些位置可在當(dāng)前計(jì)算(采 用GPS或人工設(shè)置等)中得知的節(jié)點(diǎn),其他的節(jié)點(diǎn)稱(chēng)為非信標(biāo)節(jié)點(diǎn)。由于定位所需要的信標(biāo) 數(shù)量大、價(jià)格貴、精確性低和能量消耗高,研究一些基于移動(dòng)信標(biāo)的新的定位方法成為迫切 需要。
信標(biāo)節(jié)點(diǎn)通過(guò)某種措施(如帶有一個(gè)GPS裝置或人工設(shè)置等)可以獲得自身位置。如果 在彼此的感知范圍內(nèi),傳感器節(jié)點(diǎn)與信標(biāo)之間的距離能夠通過(guò)直接測(cè)量獲得,否則利用某種 近似算法估測(cè)傳感器節(jié)點(diǎn)與信標(biāo)間的距離。但是這種方法的缺點(diǎn)是移動(dòng)信標(biāo)的軌線(xiàn)并沒(méi)有定 義好。就定位精度而言,移動(dòng)信標(biāo)的軌線(xiàn)直接影響這些方法的性能。
定位最常用最經(jīng)濟(jì)的方法就是利用移動(dòng)信標(biāo)強(qiáng)度指示(RSSI)。己知發(fā)送節(jié)點(diǎn)的發(fā)送信號(hào) 強(qiáng)度,接收節(jié)點(diǎn)根據(jù)收到的信號(hào)強(qiáng)度,計(jì)算出信號(hào)的傳播損耗,利用理論和經(jīng)驗(yàn)?zāi)P蛯鬏?損耗轉(zhuǎn)化為距離,再利用已有的算法計(jì)算出節(jié)點(diǎn)的位置,這樣產(chǎn)生的誤差較大,對(duì)定位的精 度有一定的影響。中國(guó)專(zhuān)利CN101155198公開(kāi)了一種基于超寬帶的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位 方法,用超寬帶作為無(wú)線(xiàn)傳感器節(jié)點(diǎn)的通信介質(zhì),通過(guò)正常的數(shù)據(jù)包收發(fā)測(cè)得節(jié)點(diǎn)對(duì)之間的 無(wú)線(xiàn)信號(hào)強(qiáng)度指示值,采用非度量多維標(biāo)度技術(shù)直接利用節(jié)點(diǎn)間的無(wú)線(xiàn)信號(hào)強(qiáng)度指示值進(jìn)行 定位。其中定位算法分為三大階段以簇為單位的局部相對(duì)坐標(biāo)圖定位階段、局部圖合并為 全局相對(duì)坐標(biāo)圖階段和相對(duì)坐標(biāo)圖到絕對(duì)坐標(biāo)圖的轉(zhuǎn)換階段。但是此發(fā)明需要以超寬帶為通 信介質(zhì),局部圖的合并和全局相對(duì)坐標(biāo)轉(zhuǎn)換為絕對(duì)坐標(biāo)易造成一定誤差,算法較復(fù)雜。
尤其在目前,在國(guó)家科教興國(guó)的方針指導(dǎo)下,隨著我國(guó)經(jīng)濟(jì)以及科研活動(dòng)的需要,海洋 科研研究越來(lái)越凸顯出其重要性。在海洋環(huán)境中,由于海洋情況的復(fù)雜性和水上實(shí)施節(jié)點(diǎn)的 困難性,造成了傳感器節(jié)點(diǎn)在海洋上定位精度要求更高。如何簡(jiǎn)化傳感器定位算法,以及實(shí) 施難度和經(jīng)濟(jì)性,成為了研究的重要方向。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是解決無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中隨機(jī)分布的傳感器節(jié)點(diǎn)的定位以及 克服傳統(tǒng)算法中定位誤差較大等問(wèn)題。本發(fā)明提供了一種無(wú)線(xiàn)傳感器網(wǎng)路的垂直相交定位算法,它是以一個(gè)知道自身位置的移動(dòng)信標(biāo)為前提的,傳感器節(jié)點(diǎn)接收信標(biāo)信號(hào)并利用幾何學(xué) 方法來(lái)計(jì)算各自所在的位置。本發(fā)明用一個(gè)移動(dòng)信標(biāo)就能夠精確計(jì)算出節(jié)點(diǎn)的位置,因此改 善了系統(tǒng)的可擴(kuò)展性和可用性,并且降低了對(duì)于硬件的要求,節(jié)省了成本。 本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明的方法具體步驟如下
步驟1:將整個(gè)網(wǎng)絡(luò)中所有節(jié)點(diǎn)所在的平面用若干條線(xiàn)路劃分為多個(gè)虛等邊三角形,每 條線(xiàn)路連接起來(lái)是移動(dòng)信標(biāo)在整個(gè)網(wǎng)絡(luò)中的軌跡,線(xiàn)路寬度為虛等邊三角形的高。
步驟2:移動(dòng)信標(biāo)沿著一條軌線(xiàn)移動(dòng),并不斷廣播信號(hào),在移動(dòng)信標(biāo)傳播范圍內(nèi)的節(jié)點(diǎn) 要判斷自己屬于哪個(gè)虛三角形,并計(jì)算出自身位置。
步驟3:移動(dòng)信標(biāo)沿著其軌線(xiàn)從一個(gè)線(xiàn)路移動(dòng)到另一個(gè)線(xiàn)路,直到網(wǎng)絡(luò)中所有節(jié)點(diǎn)都定 位為止。
對(duì)以上步驟做一點(diǎn)說(shuō)明移動(dòng)信標(biāo)的每一條軌線(xiàn)是若干個(gè)邊長(zhǎng)相等的虛等邊三角形的兩 條實(shí)邊首尾相連形成的,當(dāng)移動(dòng)信標(biāo)走到網(wǎng)絡(luò)邊緣處時(shí),垂直于虛等邊三角形的虛邊移動(dòng)至 另一虛等邊三角形的頂點(diǎn)而轉(zhuǎn)入下一條軌線(xiàn)。虛等邊三角形的邊長(zhǎng)等于移動(dòng)信標(biāo)的傳播半徑 R,這樣能夠保證三角形內(nèi)的節(jié)點(diǎn)到其頂點(diǎn)的距離比到其它三角形的頂點(diǎn)的距離要短,虛三 角形中的節(jié)點(diǎn)接收到來(lái)自其三個(gè)頂點(diǎn)的信號(hào)強(qiáng)度之和比來(lái)自其它虛三角形三個(gè)頂點(diǎn)的信號(hào)強(qiáng) 度之和要強(qiáng)。
在每一個(gè)虛三角形中,移動(dòng)信標(biāo)的工作流程如下
(1) 在每個(gè)頂點(diǎn)處發(fā)送開(kāi)始信號(hào)和開(kāi)始位置;
(2) 移動(dòng)并不斷廣播定位信號(hào)和當(dāng)前位置;
(3) 判斷是否到達(dá)拐點(diǎn),是則發(fā)送結(jié)束信號(hào),否則執(zhí)行(2);
(4) 判斷是否還有節(jié)點(diǎn)未定位,是則執(zhí)行(1),否則定位結(jié)束。 節(jié)點(diǎn)定位過(guò)程的具體如下
(1) 節(jié)點(diǎn)偵聽(tīng)等待開(kāi)始信號(hào),判斷是否收到開(kāi)始信號(hào),如果收到,執(zhí)行(2),否則繼續(xù)
偵聽(tīng);
(2) 接收開(kāi)始信號(hào),并記下開(kāi)始位置和接收到的信號(hào)強(qiáng)度;
(3) 偵聽(tīng)來(lái)自移動(dòng)信標(biāo)的廣播,并對(duì)比接收到的信號(hào)強(qiáng)度
(4) 判斷接收到的信號(hào)強(qiáng)度是否比之前的信號(hào)強(qiáng),如果比之前的信號(hào)強(qiáng),記錄移動(dòng)信標(biāo) 的當(dāng)前位置和信號(hào)強(qiáng)度,否則執(zhí)行(3);
(5) 判斷是否收到結(jié)束信號(hào),如果收到則執(zhí)行(6),否則執(zhí)行(3)。
(6) 若節(jié)點(diǎn)連續(xù)收到兩對(duì)開(kāi)始信號(hào)和結(jié)束信號(hào)(即三個(gè)連續(xù)頂點(diǎn)發(fā)出的信號(hào))時(shí),就把 自己定位在此三個(gè)頂點(diǎn)構(gòu)成的虛三角形中。
(7) 在獲得最高信號(hào)強(qiáng)度的兩個(gè)點(diǎn)處分別作垂直于兩點(diǎn)所在邊的直線(xiàn)段,兩條垂線(xiàn)的交 點(diǎn)即是節(jié)點(diǎn)所在位置。
在估計(jì)節(jié)點(diǎn)位置過(guò)程中,會(huì)出現(xiàn)以下三種情況-
(1) 節(jié)點(diǎn)僅僅接收了一個(gè)結(jié)束信號(hào),但是在此之前沒(méi)有收到開(kāi)始信號(hào),它將不做任何計(jì)算。
(2) 節(jié)點(diǎn)僅僅接收了一個(gè)開(kāi)始信號(hào),但是在足夠長(zhǎng)的延遲之后未收到結(jié)束信號(hào),它也將 不做任何運(yùn)算。
(3) 節(jié)點(diǎn)接收到多于兩對(duì)的開(kāi)始信號(hào)和終止信號(hào),這就需要節(jié)點(diǎn)判段自己在哪個(gè)虛三角 形中。具體過(guò)程如下-
① 節(jié)點(diǎn)收到兩對(duì)開(kāi)始信號(hào)和結(jié)束信號(hào)(即三個(gè)連續(xù)頂點(diǎn)發(fā)出的信號(hào))時(shí),就把自己定位 在此三個(gè)頂點(diǎn)構(gòu)成的虛三角形中,并計(jì)算此三個(gè)連續(xù)頂點(diǎn)的信號(hào)強(qiáng)度之和;
② 此節(jié)點(diǎn)又接收到兩對(duì)開(kāi)始信號(hào)和結(jié)束信號(hào),則計(jì)算此三個(gè)連續(xù)頂點(diǎn)的信號(hào)強(qiáng)度之和, 并與①中得到的信號(hào)強(qiáng)度之和作比較,然后把此節(jié)點(diǎn)定位在信號(hào)強(qiáng)度之和較大的虛三角形內(nèi)。
在情況(3)中還存在兩個(gè)特例
一個(gè)是節(jié)點(diǎn)在兩個(gè)線(xiàn)路的邊緣節(jié)點(diǎn)沒(méi)有獲得最高信號(hào)強(qiáng)度的虛三角形,但是在兩個(gè)虛三角形中計(jì)算的信號(hào)強(qiáng)度之和相同,這樣就可以用任一個(gè)虛三角形來(lái)計(jì)算位置。
另一個(gè)是節(jié)點(diǎn)在虛三角形的頂點(diǎn)上。如果節(jié)點(diǎn)獲得在相同的位置獲得最強(qiáng)信號(hào)強(qiáng)度兩次,
一個(gè)是開(kāi)始信號(hào),另一個(gè)是結(jié)束信號(hào),則虛三角形的頂點(diǎn)就是節(jié)點(diǎn)所在的位置,則無(wú)論它接
收到什么信號(hào),它都不用再做任何計(jì)算。 本發(fā)明的優(yōu)點(diǎn)是-
1、 只用一個(gè)移動(dòng)信標(biāo)節(jié)點(diǎn)就能夠精確計(jì)算出節(jié)點(diǎn)的位置,改善系統(tǒng)的可擴(kuò)展性和可用 性,并且降低對(duì)硬件的要求,節(jié)省成本。
2、 只比較接收信號(hào)強(qiáng)度的大小,不需要把接收信號(hào)強(qiáng)度轉(zhuǎn)換成距離,用幾何方法計(jì)算 出位置,避免了因轉(zhuǎn)換而帶來(lái)的誤差。
3、 只需沿著一條移動(dòng)軌線(xiàn)移動(dòng),經(jīng)過(guò)一次定位就能得出節(jié)點(diǎn)的位置,能夠避免因節(jié)點(diǎn) 移動(dòng)所帶來(lái)定位誤差,特別對(duì)于在海中漂浮的傳感器節(jié)點(diǎn)的定位。
4、 算法簡(jiǎn)單,計(jì)算量小。
圖1垂直相交算法實(shí)例示意圖2垂直相交定位算法流程圖(a)移動(dòng)信標(biāo)流程圖,(b)未知節(jié)點(diǎn)定位流程圖; 圖3大規(guī)模無(wú)線(xiàn)傳感器網(wǎng)絡(luò)配置示意圖4節(jié)點(diǎn)的實(shí)際位置與經(jīng)垂直相交定位算法定位后的位置對(duì)比圖。
具體實(shí)施例方式
以下結(jié)合附圖對(duì)本發(fā)明的實(shí)施作如下詳述
參照?qǐng)D1,圖1中給出的傳感器網(wǎng)絡(luò)的一個(gè)例子來(lái)說(shuō)明垂直相交定位算法,在傳感器網(wǎng) 絡(luò)配置好之后,移動(dòng)信標(biāo)在網(wǎng)絡(luò)中移動(dòng),并周期性地廣播信標(biāo)信號(hào)。信標(biāo)信號(hào)中包含了廣播 時(shí)移動(dòng)信標(biāo)所在的位置。在接收到信標(biāo)信號(hào)之后,傳感器節(jié)點(diǎn)就會(huì)知道移動(dòng)信標(biāo)就在附近的 某個(gè)地方。圖1中的實(shí)線(xiàn)就是移動(dòng)信標(biāo)的軌線(xiàn),用箭頭指向其運(yùn)動(dòng)方向。移動(dòng)信標(biāo)開(kāi)始于點(diǎn) P"中止于點(diǎn)P3,點(diǎn)P2是移動(dòng)信標(biāo)的拐點(diǎn)。移動(dòng)信標(biāo)的傳播半徑為R,虛線(xiàn)PtP3與移動(dòng)信標(biāo) 的軌線(xiàn)PtP2P3構(gòu)成一個(gè)虛等邊三角形,邊長(zhǎng)等于移動(dòng)信標(biāo)的傳播半徑。節(jié)點(diǎn)N (X,Y)的定 位過(guò)程如下
步驟l:移動(dòng)信標(biāo)從點(diǎn)P, (X,,Y,)開(kāi)始移動(dòng),廣播開(kāi)始信號(hào)和自己當(dāng)前位置P, (X,,Yj);
步驟2:未知節(jié)點(diǎn)接收到開(kāi)始信號(hào),它就標(biāo)記開(kāi)始點(diǎn)P, (X,,Y,)和信號(hào)強(qiáng)度,然后再偵 聽(tīng)來(lái)自移動(dòng)信標(biāo)的廣播,并對(duì)比接收的信號(hào)強(qiáng)度,只有當(dāng)信號(hào)強(qiáng)度比之前的信號(hào)強(qiáng)時(shí),它才 記錄移動(dòng)信標(biāo)的位置;
步驟3:當(dāng)移動(dòng)信標(biāo)到達(dá)點(diǎn)P2 (X2,Y2)時(shí),它就會(huì)廣播停止信號(hào)和當(dāng)前位置P2 (X2,Y2);
步驟4:當(dāng)接收到停止信號(hào),節(jié)點(diǎn)就會(huì)停止監(jiān)聽(tīng),并記下移動(dòng)信標(biāo)的停止位置P2(X2,Y2);
步驟5:當(dāng)移動(dòng)信標(biāo)從P, (X,,Yi)移動(dòng)到P2 (X2,Y2),節(jié)點(diǎn)將比較得出最強(qiáng)信號(hào)強(qiáng)度的 點(diǎn),并把移動(dòng)信標(biāo)在此點(diǎn)的位置記為A (X',Y');
步驟6:移動(dòng)信標(biāo)從點(diǎn)P2 (X2,Y2)開(kāi)始移動(dòng),它廣播開(kāi)始信號(hào)和當(dāng)前位置P2 (X2,Y2);
步驟7:節(jié)點(diǎn)接收到開(kāi)始信號(hào),記下開(kāi)始點(diǎn)P2 (X2,Y2)和信號(hào)強(qiáng)度,然后它繼續(xù)偵聽(tīng)來(lái) 自移動(dòng)信標(biāo)的廣播,并且比較接收的信號(hào)強(qiáng)度直到接收到停止信號(hào);
步驟8:當(dāng)?shù)竭_(dá)點(diǎn)P3 (X3,Y3),移動(dòng)信標(biāo)就廣播停止信號(hào)和當(dāng)前位置P3 (X3,Y3)。
歩驟9:節(jié)點(diǎn)就會(huì)停止偵聽(tīng),并記下移動(dòng)信標(biāo)位置P3 (X3,Y3)。
步驟10:節(jié)點(diǎn)能夠?qū)Ρ瘸鰪腜2 (X2,Y2)到P3 (X3,Y3)過(guò)程中移動(dòng)信標(biāo)軌跡中信號(hào)強(qiáng)度
最強(qiáng)的點(diǎn),把移動(dòng)信標(biāo)在此點(diǎn)的位置記為B (X",Y")。
步驟ii:利用公式^ix^1^—i和AzJLxZ^L^H十算出節(jié)點(diǎn)的位置N(X,Y)。參照?qǐng)D3,圖3是大規(guī)模無(wú)線(xiàn)傳感器網(wǎng)絡(luò)配置示意圖;對(duì)于大規(guī)模傳感器網(wǎng)絡(luò),定位其 中的節(jié)點(diǎn)需要以下三個(gè)步驟步驟1:將整個(gè)網(wǎng)絡(luò)中所有節(jié)點(diǎn)所在的平面用若干條線(xiàn)路劃分為多個(gè)虛等邊三角形,每 條線(xiàn)路連接起來(lái)是移動(dòng)信標(biāo)在整個(gè)網(wǎng)絡(luò)中的軌跡,線(xiàn)路寬度為虛等邊三角形的高。步驟2:移動(dòng)信標(biāo)沿著一條軌線(xiàn)移動(dòng),并不斷廣播信號(hào),在移動(dòng)信標(biāo)傳播范圍內(nèi)的節(jié)點(diǎn) 要判斷自己屬于哪個(gè)虛三角形,并計(jì)算出自身位置。步驟3:移動(dòng)信標(biāo)沿著其軌線(xiàn)從一個(gè)線(xiàn)路移動(dòng)到另一個(gè)線(xiàn)路,直到網(wǎng)絡(luò)中所有節(jié)點(diǎn)都定 位為止?,F(xiàn)在舉幾個(gè)特例。第一個(gè)為節(jié)點(diǎn)N,接收到來(lái)自(P,, P2), (P2, P3), (P3, P4)三對(duì)開(kāi)始節(jié)點(diǎn)和結(jié) 束節(jié)點(diǎn)。節(jié)點(diǎn)知道它接收的信號(hào)來(lái)自四個(gè)點(diǎn)P',P2,P3和P4。因?yàn)榕渲脜^(qū)域的所有虛三角形都 是等邊三角形,節(jié)點(diǎn)N!到自身所在虛三角形頂點(diǎn)的距離必須比到其它三角形的頂點(diǎn)短,即 N!所在的虛三角形中的節(jié)點(diǎn)接收到來(lái)自其三個(gè)頂點(diǎn)的信號(hào)強(qiáng)度之和比來(lái)自其它虛三角形三個(gè) 頂點(diǎn)的信號(hào)強(qiáng)度之和要強(qiáng)。所以P2,P3,P4是虛三角形的頂點(diǎn),然后節(jié)點(diǎn)N,使用(P2, P3)、 (P3, P4)的信息來(lái)計(jì)算位置。第二個(gè)是圖3的N2。在移動(dòng)信標(biāo)軌線(xiàn)2,節(jié)點(diǎn)估計(jì)自己屬于虛三角形P5&^,但是對(duì)于 移動(dòng)信標(biāo)軌跡3,用以上判斷所屬虛三角形的方法,它估計(jì)自己屬于虛三角形PsP,P,。。在這個(gè)例子中,它比較兩個(gè)虛三角形中三個(gè)頂點(diǎn)的信號(hào)強(qiáng)度之和,找出信號(hào)強(qiáng)度之和較強(qiáng)的一個(gè) P8P^。-max(P5 + P6 + P7,P8 + P9 + PJ,所以,節(jié)點(diǎn)N2屬于虛三角形PsP9P,。。第三個(gè)例子是節(jié)點(diǎn)在兩個(gè)線(xiàn)路的邊緣,如圖3的N3。節(jié)點(diǎn)沒(méi)有獲得最高信號(hào)強(qiáng)度的虛三 角形,但是兩個(gè)信號(hào)強(qiáng)度的和相同,這樣就可以用任一個(gè)虛三角形來(lái)計(jì)算位置。這就是說(shuō)N3可以通過(guò)它所屬的任一虛三角形P8P9P,?;騺?lái)計(jì)算位置。第四個(gè)例子是節(jié)點(diǎn)在虛三角形的頂點(diǎn),正如圖3的N4,如果節(jié)點(diǎn)估計(jì)自己在虛三角形的 頂點(diǎn)Pw,無(wú)論它接收到什么信號(hào),它都不用再做任何計(jì)算?,F(xiàn)舉一具體實(shí)例對(duì)本發(fā)明做進(jìn)一步說(shuō)明參考圖4, 一個(gè)垂直相交定位算法的實(shí)驗(yàn),節(jié)點(diǎn)是TdosB節(jié)點(diǎn),移動(dòng)信標(biāo)是人為移動(dòng)的 一個(gè)TdosB節(jié)點(diǎn)。隨機(jī)配置了 9個(gè)節(jié)點(diǎn)和一個(gè)移動(dòng)信標(biāo),移動(dòng)信標(biāo)在邊長(zhǎng)為30米等邊虛三 角形的兩邊移動(dòng),移動(dòng)速度為0.1m/s,廣播頻率為每秒l次。圖中給出了節(jié)點(diǎn)的實(shí)際位置與 經(jīng)垂直相交定位算法定位后的位置的對(duì)比結(jié)果,垂直相交定位算法的理論精度與實(shí)驗(yàn)中的最 大估測(cè)誤差O.lm相吻合,所有節(jié)點(diǎn)需要在每一邊上獲得最大信號(hào)強(qiáng)度指示值的兩個(gè)點(diǎn),然后 利用這兩個(gè)點(diǎn)的坐標(biāo),計(jì)算出節(jié)點(diǎn)所在位置。具體實(shí)施效果(1)只用一個(gè)移動(dòng)信標(biāo)節(jié)點(diǎn)就能夠精確計(jì)算出節(jié)點(diǎn)的位置,改善了系統(tǒng) 的可擴(kuò)展性和可用性,降低了對(duì)硬件的要求,節(jié)省了成本。(2)只比較接收信號(hào)強(qiáng)度的大小, 不需要把接收信號(hào)強(qiáng)度轉(zhuǎn)換成距離,用幾何方法計(jì)算出位置,避免了因轉(zhuǎn)換而帶來(lái)的誤差。(3)定位的精確性高,只需沿著一條移動(dòng)軌線(xiàn)移動(dòng),經(jīng)過(guò)一次定位就能得出節(jié)點(diǎn)的位置,能 夠避免因節(jié)點(diǎn)移動(dòng)所帶來(lái)定位誤差,特別對(duì)于在海中漂浮的傳感器節(jié)點(diǎn)的定位。(4)算法簡(jiǎn) 單,有利于算法的普及。
權(quán)利要求
1、 一種無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的垂直相交定位算法,其特征在于其具體步驟如下步驟1將整個(gè)網(wǎng)絡(luò)中所有節(jié)點(diǎn)所在的平面用若干條線(xiàn)路劃分為多個(gè)虛等邊三角形,每條線(xiàn)路連接起來(lái)是移動(dòng)信標(biāo)在整個(gè)網(wǎng)絡(luò)中的軌跡,線(xiàn)路寬度為虛等邊三角形的高。步驟2移動(dòng)信標(biāo)沿著一條軌線(xiàn)移動(dòng),并不斷廣播信號(hào),在移動(dòng)信標(biāo)傳播范圍內(nèi)的節(jié)點(diǎn)要判斷自己屬于哪個(gè)虛三角形,并計(jì)算出自身位置。步驟3移動(dòng)信標(biāo)沿著其軌線(xiàn)從一個(gè)線(xiàn)路移動(dòng)到另一個(gè)線(xiàn)路,直到網(wǎng)絡(luò)中所有節(jié)點(diǎn)都定位為止。
2、 根據(jù)權(quán)利要求1所述的垂直相交定位算法,其特征在于在每一個(gè)虛三角形中,移動(dòng)信 標(biāo)的工作流程如下(1 )移動(dòng)信標(biāo)在每個(gè)頂點(diǎn)處發(fā)送開(kāi)始信號(hào)和開(kāi)始位置;(2) 移動(dòng)信標(biāo)移動(dòng)并不斷廣播定位信號(hào)和當(dāng)前位置;(3) 移動(dòng)信標(biāo)判斷是否到達(dá)拐點(diǎn),是則發(fā)送結(jié)束信號(hào),否則執(zhí)行(2);(4) 判斷是否還有節(jié)點(diǎn)未定位,是則執(zhí)行(1),否則定位結(jié)束。
3、 根據(jù)權(quán)利要求1所述的垂直相交定位算法,其特征在于節(jié)點(diǎn)定位過(guò)程的具體如下(1) 節(jié)點(diǎn)偵聽(tīng)等待開(kāi)始信號(hào),判斷是否收到開(kāi)始信號(hào),如果收到,執(zhí)行(2),否則繼 續(xù)偵聽(tīng);(2) 接收開(kāi)始信號(hào),并記下開(kāi)始位置和接收到的信號(hào)強(qiáng)度;(3) 偵聽(tīng)來(lái)自移動(dòng)信標(biāo)的廣播,并對(duì)比接收到的信號(hào)強(qiáng)度(4) 判斷接收到的信號(hào)強(qiáng)度是否比之前的信號(hào)強(qiáng),如果比之前的信號(hào)強(qiáng),記錄移動(dòng)信 標(biāo)的當(dāng)前位置和信號(hào)強(qiáng)度,否則執(zhí)行(3);(5) 判斷是否收到結(jié)束信號(hào),如果收到則執(zhí)行(6),否則執(zhí)行(3)。(6) 若節(jié)點(diǎn)連續(xù)收到兩對(duì)開(kāi)始信號(hào)和結(jié)束信號(hào)(即三個(gè)連續(xù)頂點(diǎn)發(fā)出的信號(hào))時(shí),就 把自己定位在此三個(gè)頂點(diǎn)構(gòu)成的虛三角形中。(7) 在獲得最高信號(hào)強(qiáng)度的兩個(gè)點(diǎn)處分別作垂直于兩點(diǎn)所在邊的直線(xiàn)段,兩條垂線(xiàn)的 交點(diǎn)即是節(jié)點(diǎn)所在位置。
4、 根據(jù)權(quán)利要求2所述的垂直相交定位算法,其特征在于該算法使用一個(gè)移動(dòng)信標(biāo)就可 以獲得無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的所有節(jié)點(diǎn)的位置,移動(dòng)信標(biāo)通過(guò)GPS等設(shè)備或人工控制知道自 己的精確位置。
5、 根據(jù)權(quán)利要求3所述的垂直相交定位算法,其特征在于此算法不需要知道移動(dòng)信標(biāo)和 節(jié)點(diǎn)之間的距離信息,它采用兩條垂線(xiàn)相交求交點(diǎn)的幾何學(xué)方法計(jì)算節(jié)點(diǎn)所在位置。
6、 根據(jù)權(quán)利要求2所述的垂直相交定位算法,其特征在于移動(dòng)信標(biāo)的每一軌線(xiàn)是若干個(gè)邊長(zhǎng)相等的虛等邊三角形的兩條實(shí)邊首尾相連形成的,當(dāng)移動(dòng)信標(biāo)走到網(wǎng)絡(luò)邊緣處時(shí), 垂直于虛等邊三角形的虛邊移動(dòng)至另一虛等邊三角形的頂點(diǎn)而轉(zhuǎn)入下一條軌線(xiàn)。
7、 根據(jù)權(quán)利要求6所述的垂直相交定位算法中的虛三角形,其特征在于它為等邊三角形且其邊長(zhǎng)等于移動(dòng)信標(biāo)傳播半徑R。
8、 根據(jù)權(quán)利要求7所述的垂直相交定位算法中的虛三角形,其特征在于它能夠保證三角形內(nèi)的節(jié)點(diǎn)到其頂點(diǎn)的距離比到其它三角形的頂點(diǎn)的距離要短,虛三角形中的節(jié)點(diǎn)接收 到來(lái)自其三個(gè)頂點(diǎn)的信號(hào)強(qiáng)度之和比來(lái)自其它虛三角形三個(gè)頂點(diǎn)的信號(hào)強(qiáng)度之和要強(qiáng)。
全文摘要
一種無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的垂直相交定位算法用于功率受限的、隨機(jī)分布的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)。它是以一個(gè)知道自身位置的移動(dòng)信標(biāo)為前提的,移動(dòng)信標(biāo)在其移動(dòng)軌線(xiàn)上不斷廣播信號(hào)和自己當(dāng)前位置,節(jié)點(diǎn)通過(guò)比較信號(hào)強(qiáng)度,記下信號(hào)強(qiáng)度最高的點(diǎn),并根據(jù)每相鄰兩條邊上得到的兩個(gè)信號(hào)強(qiáng)度最高的點(diǎn),利用幾何學(xué)方法來(lái)計(jì)算節(jié)點(diǎn)的位置。它要求移動(dòng)信標(biāo)的軌線(xiàn)為一個(gè)等邊三角形的兩條邊,其邊長(zhǎng)等于移動(dòng)信標(biāo)傳播半徑R。本發(fā)明只用一個(gè)移動(dòng)信標(biāo)就能夠精確計(jì)算出節(jié)點(diǎn)的位置,改善系統(tǒng)的可擴(kuò)展性和可用性,降低對(duì)硬件的要求,節(jié)省成本。
文檔編號(hào)G01S5/12GK101285878SQ20081001655
公開(kāi)日2008年10月15日 申請(qǐng)日期2008年6月4日 優(yōu)先權(quán)日2008年6月4日
發(fā)明者源 馮, 劉曉東, 張艷華, 曲海鵬, 李正寶, 鋒 洪, 蔣永國(guó), 瑛 郭, 郭忠文, 陳朋朋 申請(qǐng)人:中國(guó)海洋大學(xué)