<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > ZigBee技術(shù)中基于RSSI測距的定位算法研究

          ZigBee技術(shù)中基于RSSI測距的定位算法研究

          作者: 時間:2012-05-08 來源:網(wǎng)絡(luò) 收藏

          2.3 最小二乘法修正距離
          從式(1)可以看出,如果知道參考節(jié)點(diǎn)與盲節(jié)點(diǎn)之間的值,則可以估算出兩個節(jié)點(diǎn)之間的距離。然而不同的環(huán)境下可能存在不同的信號干擾,采用節(jié)點(diǎn)之間的值估算距離必然存在一定的誤差。這時可以根據(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ù)d.jpg。得到實(shí)際節(jié)點(diǎn)之間的距離。
          ②根據(jù)式(1)估算出盲節(jié)點(diǎn)與各個參考節(jié)點(diǎn)之間的距離yi。
          ③采用最小二乘法擬合實(shí)際距離xi與估計(jì)距離yi的關(guān)系。假設(shè)兩者之間的關(guān)系為yi=axi+b,為了使所有數(shù)據(jù)偏差的平方和很小,假設(shè)e.jpg??梢园裄2看作自變量a和b的二元函數(shù),要使得R2最小,分別對自變量求導(dǎo),令其等于零。
          f.jpg
          g.jpg
          根據(jù)得到的a與b的值可以擬合出修正距離與估計(jì)距離的關(guān)系Y修=a×X估+b,結(jié)合式(1)可以得到:
          h.jpg
          ④布置盲節(jié)點(diǎn),通過式(1)估計(jì)肓節(jié)點(diǎn)與參考節(jié)點(diǎn)之間的距離x,通過第3步擬合好的修正距離與估計(jì)距離之間的關(guān)系修正估計(jì)距離,得到修正的距離Y修。
          2.4 盲節(jié)點(diǎn)坐標(biāo)估計(jì)
          選擇3個接收信號強(qiáng)度最強(qiáng)的參考節(jié)點(diǎn),采用三邊測量法估計(jì)出肓節(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):
          i.jpg


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();