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