一種基于雙移動(dòng)錨節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò)單弦定位方法
【專(zhuān)利摘要】本發(fā)明提供一種無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位方法,包括以下步驟:S1、兩個(gè)移動(dòng)錨節(jié)點(diǎn)AN和RN在傳感區(qū)域內(nèi)并行隨機(jī)直線移動(dòng),AN和RN周期性的同時(shí)廣播,其中,AN廣播位置坐標(biāo)信息,RN廣播參考信息;S2、未知節(jié)點(diǎn)比較同時(shí)接受到的AN和RN廣播的信號(hào)強(qiáng)度,并記錄下AN信號(hào)最弱時(shí)和最強(qiáng)時(shí)的坐標(biāo)信息;S3、未知節(jié)點(diǎn)根據(jù)AN信號(hào)最弱和最強(qiáng)時(shí)的坐標(biāo)信息,得到有一條高低弦,并計(jì)算得到通過(guò)該弦的兩個(gè)圓心的坐標(biāo)O和O’;S4、未知節(jié)點(diǎn)判斷圓心坐標(biāo)O位于該高低弦的位置關(guān)系,并結(jié)合AN和RN信號(hào)強(qiáng)弱比較結(jié)果,以及高低弦的方向信息,最終選擇O或者O’作為該未知節(jié)點(diǎn)的定位結(jié)果。
【專(zhuān)利說(shuō)明】一種基于雙移動(dòng)錨節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò)單弦定位方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無(wú)線傳感器網(wǎng)絡(luò)定位領(lǐng)域,特別是涉及雙移動(dòng)錨節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò)單弦定位。
【背景技術(shù)】
[0002]無(wú)線傳感器網(wǎng)絡(luò)(WSN)是用來(lái)監(jiān)測(cè)網(wǎng)絡(luò)部署區(qū)域中各種環(huán)境的特性,主要應(yīng)用于軍事偵察、自然環(huán)境指標(biāo)監(jiān)測(cè)等場(chǎng)景。無(wú)線傳感器網(wǎng)絡(luò)由大量的靜止或移動(dòng)的傳感器節(jié)點(diǎn)以自組織和多跳的方式構(gòu)成無(wú)線網(wǎng)絡(luò),以協(xié)作的感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋地理區(qū)域內(nèi)被感知對(duì)象的信息,并最終把這些信息發(fā)送給網(wǎng)絡(luò)的所有者。
[0003]無(wú)線傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)往往大量被隨機(jī)部署在監(jiān)測(cè)區(qū)域內(nèi),并且各種定位設(shè)備比如GPS等設(shè)備由于價(jià)格昂貴、能量消耗大等原因,不適宜裝備在每個(gè)傳感器節(jié)點(diǎn)上。因此,在網(wǎng)絡(luò)初始化階段,需要通過(guò)一定的技術(shù)手段讓各傳感節(jié)點(diǎn)得到自身的位置坐標(biāo)。
[0004]現(xiàn)有的無(wú)線傳感器定位技術(shù)中,一般分為基于距離的定位算法和距離無(wú)關(guān)的定位算法。距離無(wú)關(guān)的定位算法一般是通過(guò)大致估計(jì)的單跳距離來(lái)進(jìn)行定位,但是其定位精度上存在較大誤差。在基于距離的定位算法中,各傳感節(jié)點(diǎn)通過(guò)RSSI (Received SignalStrength Indicat1n)方法監(jiān)測(cè)接受到的定位信號(hào)強(qiáng)度,從而得到自身的位置坐標(biāo)。但是,RSSI方法由于各傳感節(jié)點(diǎn)的通信量的開(kāi)銷(xiāo)較大,直接導(dǎo)致傳感節(jié)點(diǎn)在定位過(guò)程中需要較多的能量消耗。
[0005]從用于提供位置信息的錨節(jié)點(diǎn)的工作模式出發(fā),現(xiàn)有技術(shù)中用于定位的錨節(jié)點(diǎn)有固定錨節(jié)點(diǎn)和移動(dòng)錨節(jié)點(diǎn)。由于監(jiān)測(cè)區(qū)域以及傳感節(jié)點(diǎn)分布的隨機(jī)性,采用固定錨節(jié)點(diǎn)定位方案時(shí),對(duì)于固定錨節(jié)點(diǎn)的個(gè)數(shù)和位置分布有較高要求且實(shí)施難度較大。因此,往往采用移動(dòng)錨節(jié)點(diǎn)的定位方案,讓移動(dòng)錨節(jié)點(diǎn)在監(jiān)測(cè)區(qū)域內(nèi)隨機(jī)直線移動(dòng),并周期性的廣播位置信息。但是,傳感節(jié)點(diǎn)在定位過(guò)程中所需的能量消耗將隨著接收到的移動(dòng)錨節(jié)點(diǎn)定位信息的增加而加大。
【發(fā)明內(nèi)容】
[0006]為解決上述問(wèn)題,本發(fā)明提供了一種無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位方法及裝置,提高無(wú)線傳感器網(wǎng)絡(luò)的定位精度和定位所需能量消耗。
[0007]本發(fā)明實(shí)施例提供一種無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位方法,其特征在于:所述方法包括以下步驟:
[0008]S1:設(shè)置兩個(gè)移動(dòng)錨節(jié)點(diǎn),所述兩個(gè)移動(dòng)錨節(jié)點(diǎn)在傳感區(qū)域內(nèi)并行隨機(jī)勻速直線移動(dòng),所述兩個(gè)移動(dòng)錨節(jié)點(diǎn)周期性的同時(shí)廣播,其中,第一移動(dòng)錨節(jié)點(diǎn)廣播其當(dāng)前的位置坐標(biāo)信息,第二移動(dòng)錨節(jié)點(diǎn)廣播定位參考信息;所述第一移動(dòng)錨節(jié)點(diǎn)裝備有GPS,所述第二移動(dòng)錨節(jié)點(diǎn)僅廣播定位參考信息,所述第二移動(dòng)錨節(jié)點(diǎn)始終在所述第一移動(dòng)錨節(jié)點(diǎn)左邊移動(dòng);當(dāng)所述第一移動(dòng)錨節(jié)點(diǎn)和所述第二移動(dòng)錨節(jié)點(diǎn)移動(dòng)到監(jiān)測(cè)區(qū)域邊緣時(shí)能自動(dòng)隨機(jī)轉(zhuǎn)換移動(dòng)方向;
[0009]S2:通信范圍內(nèi)的未知節(jié)點(diǎn)比較同時(shí)接收到的所述第一移動(dòng)錨節(jié)點(diǎn)和所述第二移動(dòng)錨節(jié)點(diǎn)廣播的信號(hào)強(qiáng)度,并記錄下所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱時(shí)和最強(qiáng)時(shí)的坐標(biāo)信息,并對(duì)同一時(shí)刻所述第一移動(dòng)錨節(jié)點(diǎn)和所述第二移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度進(jìn)行比較,得到一第一比較結(jié)果;所述得到一第一比較結(jié)果具體操作為:
[0010]若所述未知節(jié)點(diǎn)在同一時(shí)刻收到的所述第二移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度大于所述第一移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度,則所述第一比較結(jié)果的值為I; [0011]若所述未知節(jié)點(diǎn)在同一時(shí)刻收到的所述第二移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度小于或等于所述第一移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度,則所述第一比較結(jié)果的值為O ;
[0012]S3:所述未知節(jié)點(diǎn)根據(jù)接收到的所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱和最強(qiáng)時(shí)的坐標(biāo)信息,得到一條高低弦,記錄所述高低弦的方向信息,并計(jì)算得到通過(guò)該弦的兩個(gè)圓心的坐標(biāo)O 和 O,;
[0013]S4:所述未知節(jié)點(diǎn)通過(guò)判斷圓心坐標(biāo)O與所述高低弦的位置關(guān)系,并結(jié)合所述第一比較結(jié)果,以及所述高低弦的方向信息,最終選擇O或者O’作為該未知節(jié)點(diǎn)的定位結(jié)果。
[0014]所述記錄下所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱時(shí)和最強(qiáng)時(shí)的坐標(biāo)信息的步驟進(jìn)一步包括:
[0015]將所述未知節(jié)點(diǎn)初次收到所述第一移動(dòng)錨節(jié)點(diǎn)廣播的二維坐標(biāo)信息,記為FstBcn,所述FstBcn為所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱時(shí)的坐標(biāo),并開(kāi)始準(zhǔn)備記錄所述第一移動(dòng)錨節(jié)點(diǎn)廣播信號(hào)強(qiáng)度最強(qiáng)時(shí)的坐標(biāo)信息;
[0016]當(dāng)所述未知節(jié)點(diǎn)監(jiān)測(cè)到所述第一移動(dòng)錨節(jié)點(diǎn)廣播信號(hào)強(qiáng)度開(kāi)始減小時(shí),則所述未知節(jié)點(diǎn)記錄上一次接收的所述第一移動(dòng)錨節(jié)點(diǎn)廣播信號(hào)的二維坐標(biāo)信息,記為MidBcn,所述MidBcn即為所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最強(qiáng)時(shí)的坐標(biāo);
[0017]若所述未知節(jié)點(diǎn)在判斷所述第一移動(dòng)錨節(jié)點(diǎn)廣播信號(hào)強(qiáng)度最強(qiáng)的過(guò)程中,所述未知節(jié)點(diǎn)收到的所述第一移動(dòng)錨節(jié)點(diǎn)廣播信息的時(shí)間間隔超過(guò)所述第一移動(dòng)錨節(jié)點(diǎn)的廣播周期,則所述未知節(jié)點(diǎn)將拋棄掉所記錄的所述FstBcn,并重復(fù)步驟S2。
[0018]所述未知節(jié)點(diǎn)根據(jù)接收到的所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱和最強(qiáng)時(shí)的坐標(biāo)信息,得到一條高低弦,記錄所述高低弦的方向信息的具體步驟包括:
[0019]由于所述FstBcn相當(dāng)于以所述未知節(jié)點(diǎn)為圓心且通信距離半徑為R的圓上的
一點(diǎn),則MidBcn即為該圓上唯--條經(jīng)過(guò)FstBcn和MidBcn兩點(diǎn)的弦的中點(diǎn),根據(jù)公式
SecBcn = 2XMidBcn-FstBcn,得到圓上該弦的另一點(diǎn)SecBcn的坐標(biāo);
[0020]若所述SecBcn的縱坐標(biāo)的數(shù)值大于所述FstBcn的縱坐標(biāo)的數(shù)值,則將所述FstBcn記錄為高低弦的低點(diǎn)P1點(diǎn),所述SecBcn記錄為高低弦的高點(diǎn)P2點(diǎn),記錄高低弦的方向信息Dir的值為I ;
[0021 ] 若所述SecBcn的縱坐標(biāo)的數(shù)值小于所述FstBcn的縱坐標(biāo)的數(shù)值,則將所述FstBcn記錄為高低弦的高點(diǎn)P2點(diǎn),所述SecBcn記錄為高低弦的低點(diǎn)P1點(diǎn),記錄所述高低弦的方向信息Dir的值為-1 ;
[0022]若所述SecBcn的縱坐標(biāo)的數(shù)值等于所述FstBcn的縱坐標(biāo),則表示該弦水平,記錄所述高低弦的方向信息Dir的值為O。
[0023]所述計(jì)算得到通過(guò)該弦的兩個(gè)圓心的坐標(biāo)O和O’的步驟如下:[0024]根據(jù)所述FstBcn和所述SecBcn兩點(diǎn)的坐標(biāo)值,計(jì)算出同時(shí)經(jīng)過(guò)所述FstBcn和SecBcn兩點(diǎn)的半徑為r的圓心坐標(biāo)(0X,Oy)和(O’ x, O’ y),計(jì)算方法如下:
[0025]Ox = (x!+x2) /2+sqrt (r2- (q/2)2) X (y「y2) /sqrt ((X2-X1)2+ (y21i)2)
[0026]Oy = (y!+y2) /2+sqrt (r2- (q/2)2) X (X2-X1) /sqrt ((X2-X1)2+ (y21i)2)
[0027]0,x = (x!+x2) /2-sqrt (r2- (q/2)2) X (y「y2) /sqrt ((X2-X1)2+ (y21i)2)
[0028]0,y = (y!+y2) /2-sqrt (r2- (q/2)2) X (X2-X1) /sqrt ((X2-X1)2+ (y21i)2)
[0029]其中,(X1J1)為所述FstBcn的坐標(biāo),(x2, y2)為所述SecBcn的坐標(biāo)。
[0030]所述判斷圓心坐標(biāo)O與所述高低弦的位置關(guān)系的具體方法包括:
[0031 ] Side0 = (Ply-P2y) (Ox-Plx) + (P2x-Plx) (Oy-Ply)
[0032]其中,(Plx, Ply)和(P2x,P2y)分別代表高低弦的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),(0X, Oy)代表圓心O的坐標(biāo),Side0代表圓心坐標(biāo)O與高低弦的位置關(guān)系;
[0033]當(dāng)SidetlX)時(shí),表示圓心O位于高低弦的左邊;當(dāng)Side0<0時(shí),表示圓心O位于高低弦的右邊;當(dāng)Sidetl = O時(shí),表示圓心O位于高低弦上。
[0034]未知節(jié)點(diǎn)通過(guò)判斷 圓心坐標(biāo)O與所述高低弦的位置關(guān)系,并結(jié)合所述第一比較結(jié)果,以及所述高低弦的方向信息,最終選擇O或者O’作為該未知節(jié)點(diǎn)的定位結(jié)果。
[0035]本發(fā)明通過(guò)使用雙移動(dòng)錨節(jié)點(diǎn)的方法,實(shí)現(xiàn)了在傳感器節(jié)點(diǎn)定位過(guò)程中,僅需要接收有限的定位廣播消息,即利用通信圓上的一條弦和比較兩個(gè)移動(dòng)錨節(jié)點(diǎn)的廣播信號(hào)強(qiáng)度結(jié)果,完成傳感器節(jié)點(diǎn)的精確定位。和傳統(tǒng)定位方法相比,該方法具有定位過(guò)程能量開(kāi)銷(xiāo)小,定位精度高的優(yōu)點(diǎn)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0036]圖1為本發(fā)明實(shí)施例提供的雙移動(dòng)錨節(jié)點(diǎn)的工作模式;
[0037]圖2為本發(fā)明實(shí)施例提供的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位的流程圖;
[0038]圖3為本發(fā)明實(shí)施例提供的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位的具體流程圖;
【具體實(shí)施方式】
[0039]為了使本領(lǐng)域技術(shù)人員更好的理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0040]基于移動(dòng)錨節(jié)點(diǎn)的無(wú)線傳感器網(wǎng)絡(luò)定位方法首先要求移動(dòng)錨節(jié)點(diǎn)在監(jiān)測(cè)區(qū)域內(nèi)勻速直線運(yùn)動(dòng),當(dāng)移動(dòng)到監(jiān)測(cè)區(qū)域邊緣時(shí)能自動(dòng)隨機(jī)轉(zhuǎn)換移動(dòng)方向。其次,要求移動(dòng)過(guò)程中,移動(dòng)錨節(jié)點(diǎn)能以固定周期時(shí)間間隔廣播其當(dāng)前所在的位置信息?,F(xiàn)有技術(shù)往往通過(guò)獲得未知節(jié)點(diǎn)通信范圍圓上的兩條非平行弦,經(jīng)過(guò)計(jì)算獲得該圓的圓心坐標(biāo),即未知節(jié)點(diǎn)的坐標(biāo)。但是,由于該兩條非平行弦的獲得來(lái)自于移動(dòng)錨節(jié)點(diǎn)廣播的位置信息,同時(shí),未知節(jié)點(diǎn)在定位過(guò)程中的能量消耗主要取決于接收到的廣播信息的數(shù)量,因此,已有定位方案中往往存在未知節(jié)點(diǎn)在定位過(guò)程中能量開(kāi)銷(xiāo)過(guò)大的缺點(diǎn)。
[0041]為克服現(xiàn)有技術(shù)中傳感器節(jié)點(diǎn)定位方案的缺陷,本發(fā)明采用雙移動(dòng)錨節(jié)點(diǎn)的定位方式,即兩個(gè)移動(dòng)錨節(jié)點(diǎn)并行的在監(jiān)測(cè)區(qū)域內(nèi)勻速同向直線移動(dòng)。其中一個(gè)裝備有GPS等位置獲取設(shè)備的移動(dòng)錨節(jié)點(diǎn)稱(chēng)之為AN (Arch Node),另一個(gè)僅廣播定位參考信息的移動(dòng)錨節(jié)點(diǎn)稱(chēng)之為RN (Reference Node)。在本實(shí)施例中,RN始終在移動(dòng)方向上位于AN的左邊移動(dòng),如圖1所示。
[0042]圖2給出了本發(fā)明第一實(shí)施例的流程圖。
[0043]S1:兩個(gè)移動(dòng)錨節(jié)點(diǎn)AN和RN在傳感區(qū)域內(nèi)并行隨機(jī)直線移動(dòng),AN和RN周期性的同時(shí)廣播,其中,AN廣播位置坐標(biāo)信息,RN廣播參考信息;
[0044]S2:通信范圍內(nèi)的未知節(jié)點(diǎn)比較同時(shí)接受到的AN和RN廣播的信號(hào)強(qiáng)度,并記錄下AN信號(hào)最弱時(shí)和最強(qiáng)時(shí)的坐標(biāo)信息,以及記錄同一時(shí)刻AN和RN的信號(hào)強(qiáng)度比較結(jié)果RgtA ;
[0045]S3:未知節(jié)點(diǎn)根據(jù)AN信號(hào)最弱和最強(qiáng)時(shí)的坐標(biāo)信息,得到一條高低弦P1P2,記錄該弦的方向信息Dir,并計(jì)算得到通過(guò)該弦的兩個(gè)圓心的坐標(biāo)O和O’ ;
[0046]S4:未知節(jié)點(diǎn)判斷圓心坐標(biāo)O與該高低弦P1P2的位置關(guān)系,并結(jié)合AN和RN信號(hào)強(qiáng)弱比較結(jié)果RgtA,以及高低弦的方向信息,最終選擇O或者O’作為該未知節(jié)點(diǎn)的定位結(jié)
果O
[0047]圖3給出了本發(fā)明一第二實(shí)施例的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位的具體流程圖。
[0048]Al:未知定位節(jié)點(diǎn)初始化;
[0049]A2:判斷是否收到AN的廣播信息,若收到信息,執(zhí)行步驟A3,否則執(zhí)行步驟Al ;
[0050]A3:判斷當(dāng)前是否是第一次收到AN的廣播信息,是則執(zhí)行步驟A4,否則執(zhí)行步驟A7 ;
[0051]A4:記錄此時(shí)AN廣播的坐標(biāo)信息為FstBcn ;
[0052]A5:再次接收AN廣播的坐標(biāo)信息,并暫存于節(jié)點(diǎn)中;
[0053]A6:判斷兩次接收的AN廣播的時(shí)間間隔是否過(guò)長(zhǎng),若超過(guò)規(guī)定廣播時(shí)間間隔,則執(zhí)行步驟Al ;若未超過(guò)規(guī)定允許時(shí)間間隔,則執(zhí)行步驟A3 ;
[0054]A7:判斷AN接收到的信號(hào)強(qiáng)度是否開(kāi)始衰減,若未開(kāi)始衰減,則執(zhí)行步驟A5 ;若開(kāi)始衰減,則執(zhí)行步驟AS ;
[0055]A8:記錄前一次收到的AN廣播的坐標(biāo)信息為MidBcn ;
[0056]A9:比較同時(shí)收到的AN廣播信號(hào)強(qiáng)度和RN廣播信號(hào)強(qiáng)度;
[0057]A10:若未知節(jié)點(diǎn)同一時(shí)刻收到的RN信號(hào)強(qiáng)度大于AN信號(hào)強(qiáng)度,則記錄RgtA的值為I ;若未知節(jié)點(diǎn)同一時(shí)刻收到的RN信號(hào)強(qiáng)度小于或等于AN信號(hào)強(qiáng)度,則記錄RgtA的值為O ;
[0058]All:根據(jù)公式 SecBcn = 2XMidBcn-FstBcn,得到 SecBcn 的坐標(biāo)內(nèi)容。
[0059]A12:比較SecBcn的縱坐標(biāo)的數(shù)值與FstBcn的縱坐標(biāo)的數(shù)值。
[0060]A13:若SecBcn的縱坐標(biāo)的數(shù)值大于FstBcn的縱坐標(biāo),則將FstBcn記錄為高低弦的P1點(diǎn),SecBcn記錄為高低弦的P2點(diǎn);若SecBcn的縱坐標(biāo)的數(shù)值小于FstBcn的縱坐標(biāo),則將FstBcn記錄為高低弦的P2點(diǎn),SecBcn記錄為高低弦的P1點(diǎn);若SecBcn的縱坐標(biāo)的數(shù)值等于FstBcn的縱坐標(biāo),則表示高低弦水平;
[0061]A14:若SecBcn的縱坐標(biāo)的數(shù)值大于FstBcn的縱坐標(biāo),則記錄Dir的值為I ;若SecBcn的縱坐標(biāo)的數(shù)值小于FstBcn的縱坐標(biāo),則記錄Dir的值為-1 ;若SecBcn的縱坐標(biāo)的數(shù)值等于FstBcn的縱坐標(biāo),則記錄Dir的值為O。[0062]A15:根據(jù)所述FstBcn和所述SecBcn兩點(diǎn)的坐標(biāo)值,計(jì)算出同時(shí)經(jīng)過(guò)所述FstBcn和SecBcn兩點(diǎn)的半徑為r的圓心坐標(biāo)(0X,Oy)和(O’ x, O’ y),計(jì)算方法如下:
[0063]Ox = (x!+x2) /2+sqrt (r2- (q/2)2) X (y「y2) /sqrt ((X2-X1)2+ (y21i)2)
[0064]Oy = (y!+y2) /2+sqrt (r2- (q/2)2) X (X2-X1) /sqrt ((X2-X1)2+ (y21i)2)
[0065]0,x = (x!+x2) /2-sqrt (r2- (q/2)2) X (y「y2) /sqrt ((X2-X1)2+ (y21i)2)
[0066]0,y = (y!+y2) /2-sqrt (r2- (q/2)2) X (X2-X1) /sqrt ((X2-X1)2+ (y21i)2)
[0067]其中,(X1, Y1)為所述FstBcn的坐標(biāo),(x2, y2)為所述SecBcn的坐標(biāo);
[0068]A16:若步驟A15的計(jì)算中有解,即存在同時(shí)經(jīng)過(guò)FstBcn和SecBcn兩點(diǎn),且半徑為r的圓,則執(zhí)行步驟A17 ;否則執(zhí)行Al。
[0069]A17:根據(jù)圓心O的坐標(biāo)值和高低弦的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),計(jì)算圓心坐標(biāo)O與高低弦的位置關(guān)系Sidetl,其計(jì)算過(guò)程如下:
[0070]Side0 = (Ply-P2y) (Ox-Plx) + (P2x-Plx) (Oy-Ply)
[0071]其中,(Plx, Ply)和(P2x,P2y)分別代表高低弦的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),(0X, Oy)代表圓心O的坐標(biāo)。
[0072]當(dāng)SidetlX)時(shí),表示圓心O位于高低弦的左邊;當(dāng)Side0<0時(shí),表示圓心O位于高低弦的右邊;當(dāng)Sidetl = O時(shí),表示圓心O位于高低弦上。
[0073]A18:最后,根據(jù)Dir、RgtA、Side。的值,選擇出未知節(jié)點(diǎn)的定位結(jié)果坐標(biāo),其選擇過(guò)程如I和表2所示。
[0074]表1:Dir Φ O時(shí)的定位選擇
[0075]
【權(quán)利要求】
1.一種無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位方法,其特征在于:所述方法包括以下步驟: S1:設(shè)置兩個(gè)移動(dòng)錨節(jié)點(diǎn),所述兩個(gè)移動(dòng)錨節(jié)點(diǎn)在傳感區(qū)域內(nèi)并行隨機(jī)勻速直線移動(dòng),所述兩個(gè)移動(dòng)錨節(jié)點(diǎn)周期性的同時(shí)廣播,其中,第一移動(dòng)錨節(jié)點(diǎn)廣播其當(dāng)前的位置坐標(biāo)信息,第二移動(dòng)錨節(jié)點(diǎn)廣播定位參考信息;所述第一移動(dòng)錨節(jié)點(diǎn)裝備有GPS,所述第二移動(dòng)錨節(jié)點(diǎn)僅廣播定位參考信息,所述第二移動(dòng)錨節(jié)點(diǎn)始終在所述第一移動(dòng)錨節(jié)點(diǎn)左邊移動(dòng);當(dāng)所述第一移動(dòng)錨節(jié)點(diǎn)和所述第二移動(dòng)錨節(jié)點(diǎn)移動(dòng)到監(jiān)測(cè)區(qū)域邊緣時(shí)能自動(dòng)隨機(jī)轉(zhuǎn)換移動(dòng)方向; S2:通信范圍內(nèi)的未知節(jié)點(diǎn)比較同時(shí)接收到的所述第一移動(dòng)錨節(jié)點(diǎn)和所述第二移動(dòng)錨節(jié)點(diǎn)廣播的信號(hào)強(qiáng)度,并記錄下所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱時(shí)和最強(qiáng)時(shí)的坐標(biāo)信息,并對(duì)同一時(shí)刻所述第一移動(dòng)錨節(jié)點(diǎn)和所述第二移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度進(jìn)行比較,得到一第一比較結(jié)果;所述得到一第一比較結(jié)果具體操作為: 若所述未知節(jié)點(diǎn)在同一時(shí)刻收到的所述第二移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度大于所述第一移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度,則所述第一比較結(jié)果的值為I ; 若所述未知節(jié)點(diǎn)在同一時(shí)刻收到的所述第二移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度小于或等于所述第一移動(dòng)錨節(jié)點(diǎn)的信號(hào)強(qiáng)度,則所述第一比較結(jié)果的值為O ; 53:所述未知節(jié)點(diǎn)根據(jù)接收到的所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱和最強(qiáng)時(shí)的坐標(biāo)信息,得到一條高低弦,記錄所述高低弦的方向信息,并計(jì)算得到通過(guò)該弦的兩個(gè)圓心的坐標(biāo)O和O,; 54:所述未知節(jié)點(diǎn) 通過(guò)判斷圓心坐標(biāo)O與所述高低弦的位置關(guān)系,并結(jié)合所述第一比較結(jié)果,以及所述高低弦的方向信息,最終選擇O或者O’作為該未知節(jié)點(diǎn)的定位結(jié)果。
2.如權(quán)利要求1所述的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位方法,其特征在于:所述記錄下所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱時(shí)和最強(qiáng)時(shí)的坐標(biāo)信息的步驟如下: 將所述未知節(jié)點(diǎn)初次收到所述第一移動(dòng)錨節(jié)點(diǎn)廣播的二維坐標(biāo)信息,記為FstBcn,所述FstBcn為所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱時(shí)的坐標(biāo),并開(kāi)始準(zhǔn)備記錄所述第一移動(dòng)錨節(jié)點(diǎn)廣播信號(hào)強(qiáng)度最強(qiáng)時(shí)的坐標(biāo)信息; 當(dāng)所述未知節(jié)點(diǎn)監(jiān)測(cè)到所述第一移動(dòng)錨節(jié)點(diǎn)廣播信號(hào)強(qiáng)度開(kāi)始減小時(shí),則所述未知節(jié)點(diǎn)記錄上一次接收的所述第一移動(dòng)錨節(jié)點(diǎn)廣播信號(hào)的二維坐標(biāo)信息,記為MidBcn,所述MidBcn即為所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最強(qiáng)時(shí)的坐標(biāo); 若所述未知節(jié)點(diǎn)在判斷所述第一移動(dòng)錨節(jié)點(diǎn)廣播信號(hào)強(qiáng)度最強(qiáng)的過(guò)程中,所述未知節(jié)點(diǎn)收到的所述第一移動(dòng)錨節(jié)點(diǎn)廣播信息的時(shí)間間隔超過(guò)所述第一移動(dòng)錨節(jié)點(diǎn)的廣播周期,則所述未知節(jié)點(diǎn)將拋棄掉所記錄的所述FstBcn,并重復(fù)步驟S2。
3.如權(quán)利要求2所述的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位方法,其特征在于:所述未知節(jié)點(diǎn)根據(jù)接收到的所述第一移動(dòng)錨節(jié)點(diǎn)信號(hào)最弱和最強(qiáng)時(shí)的坐標(biāo)信息,得到一條高低弦,記錄所述高低弦的方向信息的具體步驟包括: 由于所述FstBcn相當(dāng)于以所述未知節(jié)點(diǎn)為圓心且通信距離半徑為R的圓上的一點(diǎn),則MidBcn即為該圓上唯--條經(jīng)過(guò)FstBcn和MidBcn兩點(diǎn)的弦的中點(diǎn),根據(jù)公式SecBcn =2XMidBcn-FstBcn,得到圓上該弦的另一點(diǎn)SecBcn的坐標(biāo); 若所述SecBcn的縱坐標(biāo)的數(shù)值大于所述FstBcn的縱坐標(biāo)的數(shù)值,則將所述FstBcn記錄為高低弦的低點(diǎn)P1點(diǎn),所述SecBcn記錄為高低弦的高點(diǎn)P2點(diǎn),記錄高低弦的方向信息Dir的值為I ; 若所述SecBcn的縱坐標(biāo)的數(shù)值小于所述FstBcn的縱坐標(biāo)的數(shù)值,則將所述FstBcn記錄為高低弦的高點(diǎn)P2點(diǎn),所述SecBcn記錄為高低弦的低點(diǎn)P1點(diǎn),記錄所述高低弦的方向信息Dir的值為-1 ; 若所述SecBcn的縱坐標(biāo)的數(shù)值等于所述FstBcn的縱坐標(biāo),則表示該弦水平,記錄所述高低弦的方向信息Dir的值為O。
4.如權(quán)利要求3所述的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位方法,其特征在于:所述計(jì)算得到通過(guò)該弦的兩個(gè)圓心的坐標(biāo)O和O’的步驟如下: 根據(jù)所述FstBcn和所述SecBcn兩點(diǎn)的坐標(biāo)值,計(jì)算出同時(shí)經(jīng)過(guò)所述FstBcn和SecBcn兩點(diǎn)的半徑為r的圓心坐標(biāo)(Ox,Oy)和(O’ x, O’ y),計(jì)算方法如下:
Ox = (X^X2) /2+sqrt (r2- (q/2)2) X (y「y2) /sqrt ((X2-X1)2+ (y21i)2)
Oy = (y!+y2) /2+sqrt (r2- (q/2)2) X (X2-X1) /sqrt ((X2-X1)2+ (y21i)2)
0,x = (x!+ x2) /2-sqrt (r2- (q/2)2) X (y「y2) /sqrt ((X2-X1)2+ (y21i)2)
0,y = (Yi+Y2) /2-sqrt (r2- (q/2)2) X (X2-X1) /sqrt ((X2-X1)2+ (y21i)2) 其中,(Xi,Yi)為所述FstBcn的坐標(biāo),(x2, y2)為所述SecBcn的坐標(biāo)。
5.如權(quán)利要求3所述的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位方法,其特征在于:所述判斷圓心坐標(biāo)O與所述高低弦的位置關(guān)系的具體方法包括:
Side0 = (Ply-P2y) (Ox-Plx)+ (P2x-Plx) (Oy-Ply) 其中,(Pix, Piy)和(P2x,P2y)分別代表高低弦的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),(0X, Oy)代表圓心O的坐標(biāo),Side0代表圓心坐標(biāo)O與高低弦的位置關(guān)系; 當(dāng)SidetlX)時(shí),表示圓心O位于高低弦的左邊;當(dāng)Side/O時(shí),表示圓心O位于高低弦的右邊;當(dāng)Sidetl = O時(shí),表示圓心O位于高低弦上。
【文檔編號(hào)】H04W64/00GK104038994SQ201410270315
【公開(kāi)日】2014年9月10日 申請(qǐng)日期:2014年6月17日 優(yōu)先權(quán)日:2014年6月17日
【發(fā)明者】沈永珞 申請(qǐng)人:廣東財(cái)經(jīng)大學(xué)