ZigBee技術(shù)中基于RSSI測距的定位算法研究
2.3 最小二乘法修正距離
從式(1)可以看出,如果知道參考節(jié)點(diǎn)與盲節(jié)點(diǎn)之間的RSSI值,則可以估算出兩個節(jié)點(diǎn)之間的距離。然而不同的環(huán)境下可能存在不同的信號干擾,采用節(jié)點(diǎn)之間的RSSI值估算距離必然存在一定的誤差。這時可以根據(jù)特定的環(huán)境對測量到的距離采用傳統(tǒng)的最小二乘法進(jìn)行修正。得到修正后的距離,從而可以更加精確地估算出盲節(jié)點(diǎn)的坐標(biāo)。具體步驟如下:
①根據(jù)實(shí)際情況布置好節(jié)點(diǎn),參考節(jié)點(diǎn)(Mi,Ni)與盲節(jié)點(diǎn)(Mj,Nj)的位置坐標(biāo)均已知??梢愿鶕?jù)。得到實(shí)際節(jié)點(diǎn)之間的距離。
②根據(jù)式(1)估算出盲節(jié)點(diǎn)與各個參考節(jié)點(diǎn)之間的距離yi。
③采用最小二乘法擬合實(shí)際距離xi與估計距離yi的關(guān)系。假設(shè)兩者之間的關(guān)系為yi=axi+b,為了使所有數(shù)據(jù)偏差的平方和很小,假設(shè)??梢园裄2看作自變量a和b的二元函數(shù),要使得R2最小,分別對自變量求導(dǎo),令其等于零。
根據(jù)得到的a與b的值可以擬合出修正距離與估計距離的關(guān)系Y修=a×X估+b,結(jié)合式(1)可以得到:
④布置盲節(jié)點(diǎn),通過式(1)估計肓節(jié)點(diǎn)與參考節(jié)點(diǎn)之間的距離x,通過第3步擬合好的修正距離與估計距離之間的關(guān)系修正估計距離,得到修正的距離Y修。
2.4 盲節(jié)點(diǎn)坐標(biāo)估計
選擇3個接收信號強(qiáng)度最強(qiáng)的參考節(jié)點(diǎn),采用三邊測量法估計出肓節(jié)點(diǎn)坐標(biāo)值。假設(shè)3個參考節(jié)點(diǎn)A、B、C的坐標(biāo)分別為(ma,na)、(mb,nb)、(mc,nc),盲節(jié)點(diǎn)E的坐標(biāo)(m,n)未知。通過2.3節(jié)4個步驟得到盲節(jié)點(diǎn)與3個參考節(jié)點(diǎn)的修正距離分別為da、db、dc。則根據(jù)兩點(diǎn)之間的距離公式可以得到式(5):
評論