一種改進的無線傳感器網(wǎng)絡(luò)節(jié)點定位技術(shù)
三邊測距算法確定未知節(jié)點坐標(biāo)的思想如圖2所示。本文引用地址:http://www.ex-cimer.com/article/159376.htm
由于三邊測距算法基于兩條直線的交點來估算未知節(jié)點的坐標(biāo),未充分利用A,B,C 3個節(jié)點的坐標(biāo)信息,使估算的未知節(jié)點的坐標(biāo)可能存在較大誤差。
在圖3中,根據(jù)式(1)~式(3)可解出圓A與圓C的交點Mac1(xac1,yac1)和Mac2(xac2,yac2),圓B與圓C的交點Mbc1(xbc1,ybc1)和Mbc2(xbc2,ybc2);圓A與圓B的交點Mab1(xab1,yab1),Mab2(xab2,yab2)。通過將圓A與圓C交點Mac1(xac1,yac1),Mac2(xac2,yac2)代人式(x-x2)2+(y-y2)2,判斷大小即可找出兩點距圓B的圓心較近的點,假設(shè)為Mac1(xac1,yac1)。同理可找出圓B,圓C交點中距圓A較近的點設(shè)為Mbc1(xbc1,ybc1),圓A,圓B交點中距圓C的圓心較近的點設(shè)為Mab2(xab1,yab1),依據(jù)質(zhì)心思想估算未知節(jié)點D的坐標(biāo)為
從上述分析可知,若要對未知節(jié)點的定位誤差進行補償首先需要獲得信標(biāo)節(jié)點的坐標(biāo)誤差。獲得信標(biāo)節(jié)點坐標(biāo)誤差的過程中,由于取不同的3個信標(biāo)節(jié)點做三邊定位同樣會得到不同的測量值,需要用這些測量值來得到最終的信標(biāo)節(jié)點A0的計算坐標(biāo)。文中采用加權(quán)質(zhì)心算法來計算信標(biāo)節(jié)點的計算坐標(biāo),如圖3所示。
假設(shè)A01,A02,A03,…,A0n為A0坐標(biāo)的多個不同測量值;A0’為A01,A02,A03,…,A0n的質(zhì)心;d1,d2,…,dn為坐標(biāo)A0到坐標(biāo)A01,A02,A03,…,A0n的距離。
定義1 信標(biāo)節(jié)點的計算坐標(biāo)
為加權(quán)因子,表示坐標(biāo)Aoi的權(quán)重,離質(zhì)心A0’的距離越近,所占的權(quán)重則越大;xi為Aoi的X坐標(biāo)值,yi為Aoi的Y坐標(biāo)值所以信標(biāo)節(jié)點的坐標(biāo)誤差為
式中,x為信標(biāo)節(jié)點X坐標(biāo)實際值;xc為信標(biāo)節(jié)點計算坐標(biāo)X值;y為信標(biāo)節(jié)點Y坐標(biāo)實際值;yc為信標(biāo)節(jié)點計算坐標(biāo)Y值。信標(biāo)節(jié)點的坐標(biāo)誤差反映了系統(tǒng)針對該節(jié)點附近區(qū)域的定位能力。
然而在定位系統(tǒng)實際應(yīng)用過程中,未知節(jié)點B未必恰好處于某個信標(biāo)節(jié)點附近,而可能離各個信標(biāo)節(jié)點距離相當(dāng),因此并不能按照理想情況直接用A0的坐標(biāo)誤差去補償未知節(jié)點B的坐標(biāo)誤差。但是,每個信標(biāo)節(jié)點所在區(qū)域的定位誤差都可以通過信標(biāo)節(jié)點坐標(biāo)誤差來反映,綜合考慮所有信標(biāo)節(jié)點坐標(biāo)誤差就可得到由信標(biāo)節(jié)點所構(gòu)成的區(qū)域定位誤差,只要未知節(jié)點B處于該區(qū)域內(nèi),其坐標(biāo)誤差就可以用該誤差進行補償。這里的區(qū)域大小需根據(jù)網(wǎng)絡(luò)不同的精度要求和節(jié)點密度來具體設(shè)定。如圖2所示,當(dāng)未知節(jié)點B處于由信標(biāo)節(jié)點A1,A2,…,Ai構(gòu)成的區(qū)域時,先通過RSSI值計算出這些信標(biāo)節(jié)點和自身的距離,然后綜合各個信標(biāo)節(jié)點的的坐標(biāo)誤差可得出未知節(jié)點所在區(qū)域的定位誤差。
萬能遙控器相關(guān)文章:萬能遙控器代碼
評論