您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>無線通信>

rssi定位算法及讀取RSSI值程序分享

2017年11月20日 13:28 網(wǎng)絡(luò)整理 作者: 用戶評論(0

  在區(qū)域監(jiān)測、人員跟蹤等無線傳感器網(wǎng)絡(luò)的應(yīng)用領(lǐng)域,位置信息至關(guān)重要,事件發(fā)生的位置,人員位置均是傳感器網(wǎng)絡(luò)應(yīng)用中的重要信息。隨著移動通信、無線傳感器網(wǎng)絡(luò)技術(shù)的發(fā)展,室內(nèi)環(huán)境下基于位置的服務(wù)越來越受到人們的關(guān)注,室內(nèi)人員定位成為一個非常活躍的研究領(lǐng)域。

  定位算法從定位手段上分為兩大類: 基于測距算法(range-based )和無需測距算法range-free);根據(jù)部署場 合分為室內(nèi)定位和室外定位,基于測距算法通過測量節(jié)點(diǎn)間的距離或角度,使用三邊測量、三角測量或最大似然估計定位法計算節(jié)點(diǎn)位置。無需測距定位算法則不需要跳離和角度信息,算法根據(jù)網(wǎng)絡(luò)連通性等信息來實現(xiàn)節(jié)點(diǎn)定位?;跍y群的定位算法需要測量節(jié)點(diǎn)間的距離,RSSI 是測距的基本方去,但RSSI測距易受環(huán)境影響

  RSSI 取值策略

  無線傳感器網(wǎng)絡(luò)中的錨節(jié)點(diǎn)可以偵聽目標(biāo)節(jié)點(diǎn)發(fā)出的多組Blast包,從面得到相應(yīng)的RSSI值。RSSI取值有3種策略,分別是多數(shù)投票策略均值策略和中值策略。

  多數(shù)投票策略是在測量的多個RSSI值中。隨機(jī)選擇一個。比較此RSSI值與剩余RS5值。得到與自已差距在允許范國內(nèi)的RSSI值的個數(shù),如果個數(shù)超過所有測量值數(shù)日的一半,則判定自己的測量值為可用的,否則為不可用。多數(shù)投票策略的精確率較高,但是計算量比較大,會消耗節(jié)點(diǎn)的大量資源,不適宜用在資源有限的無線傳感器網(wǎng)絡(luò)中。

  均值策略是計算測得的所有RSSI值的平均值,以平均值作為測量結(jié)果,由于RSSI值受環(huán)境影響較大,測最值中可能存在錯誤值,這些錯誤值偏離正確值較大時會使均值可信度降低,這樣會導(dǎo)致錯誤的結(jié)果。

  中值策略很大程度上避免了偏離正確值較大的錯誤值對測量精度的影響。中值策略采用測量值的中值作為測量結(jié)果,這樣即使有偏離正確值較大的錯誤值時,它仍然能得到較為正確的測最結(jié)果。

  這3種策略都不需要增加額外的通信量。表1比較了3種策略的檢測精度、結(jié)果錯誤的概事及時間復(fù)雜度。

  rssi定位算法及讀取RSSI值程序分享

  從表1中可以看出,中值策略精度高,計算量較小,是一種適用于無線傳感器網(wǎng)絡(luò)的較好方法,用這種策略取錨點(diǎn)測量的RSSI值較為準(zhǔn)確。

  室內(nèi)人員定位算法

  室內(nèi)環(huán)境信號衰減模型

  RSSI 值受周圍環(huán)境的影響較大,具有時變特性,會偏離式(1)所示的模型,根據(jù)接收信號強(qiáng)度估計出的距離d 有較大誤差,;通過大量數(shù)據(jù)分析,采用了一個噪聲模型,即環(huán)境衰減因素模型,從而有效地補(bǔ)償環(huán)境影響帶來的誤差,如式( 2 )。

  RSSI=-(A +10nlgd)-EA F (2)

  上式中EAFY(dBm )為環(huán)境影響因素,它的值取決于室內(nèi)環(huán)境,是靠大量的數(shù)據(jù)累積的經(jīng)驗值。EAF(dBm)是一個隨機(jī)變量,但為了增強(qiáng)實用性,將其固定為一個值。通過大量比較在驗證環(huán)境下測得的RSSI 值與理想狀態(tài)下的RSSI 值。得到試驗環(huán)境EAF(dBm )的大概值為11.9dBm,A 取值45.n 取值3.5。A.n 及EAF(dBm)的值確定后,重新對RSSI 值進(jìn)行采樣,并用最小二乘法對采樣值進(jìn)行擬合。結(jié)果如圖3 所示。

 rssi定位算法及讀取RSSI值程序分享

  由圖3 曲線的變化趨勢可以看出,盡管模型中參數(shù)的取值受到環(huán)境因素的影晌,但接收信號強(qiáng)度與信號傳輸距離存在一定的變化關(guān)系。到達(dá)節(jié)點(diǎn)的信號強(qiáng)度與信號傳輸距離墾現(xiàn)出較為明顯地衰減變化趨勢,但并非一條平滑的曲線。這表明利用RSSI 進(jìn)行定位,存在著一定程度的誤差;當(dāng)傳輸距離較近時,功率衰減較快,而傳輸距離越遠(yuǎn),衰減越慢;當(dāng)傳輸距離接近20m 時,信號功率對傳輸距離的變化表現(xiàn)不再明顯。因此,基于RSSI 的定位技術(shù),當(dāng)傳輸距離越近。定位越準(zhǔn)確,傳輸距離越遠(yuǎn),定位誤差越大。

  需要指出的是,標(biāo)定的A.n.EAF(dBm)的值是驗證環(huán)境對應(yīng)的參數(shù),如果環(huán)境改變的話,A.n.EAF(dBm)的值都需要重新標(biāo)定,才可精確測量RSSI 值。

 rssi定位算法及讀取RSSI值程序分享

  算法性能評估

  為了驗證改進(jìn)算法的性能,進(jìn)行了一系列實驗。圖9為實驗環(huán)境示意圖。實驗以TI 的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)CC2430DB為硬件平臺,采用了11個錨節(jié)點(diǎn),1個目標(biāo)節(jié)點(diǎn)。錨節(jié)點(diǎn)放置在地板上,其位置如圖9所示。經(jīng)測試,得到兩種不同定位算法的定位結(jié)果,如表3所示。

  rssi定位算法及讀取RSSI值程序分享

 rssi定位算法及讀取RSSI值程序分享

  由表3 可以看出,改進(jìn)后的定位算法定位誤差在3m 范圍內(nèi),而未改進(jìn)算法定位誤差為5m。

  基于rssi的三點(diǎn)定位算法,是已知三個點(diǎn)的坐標(biāo)和未知點(diǎn)到這三個點(diǎn)的rssi的信號值,求解未知點(diǎn)的坐標(biāo)。

  首先是將rssi信號轉(zhuǎn)換為距離:

  d=10^((ABS(RSSI)-A)/(10*n))

  其中d為距離,單位是m。

  RSSI為rssi信號強(qiáng)度,為負(fù)數(shù)。

  A為距離探測設(shè)備1m時的rssi值的絕對值,最佳范圍在45-49之間。

  n為環(huán)境衰減因子,需要測試矯正,最佳范圍在3.25-4.5之間。

  在獲取未知點(diǎn)到三個點(diǎn)的距離后,剩下的就是求解未知點(diǎn)的坐標(biāo)。我們都知道兩個圓會相交于一個或者兩個點(diǎn)(如果相交),那么三個圓如果相交的話,必然會交于一個點(diǎn)(三個探測設(shè)備在一條直線上的情況下有可能相交于兩個點(diǎn),這里不考慮),所以我們要求解的未知點(diǎn)便是以三個已知點(diǎn)為圓心,以他們與未知點(diǎn)之間的距離為半徑畫出的三個圓的交點(diǎn)。那么這個問題就轉(zhuǎn)化為了求三個已知圓的交點(diǎn),然后如果根據(jù)圓的方程:

 ?。▁1 – x)^2 + (y1-y)^2 = r1^2

 ?。▁2 – x)^2 + (y2-y)^2= r2^2

 ?。▁3 – x)^2 + (y3-y)^2= r3^2

  求解的話,是非常難求出未知點(diǎn)的坐標(biāo)的。

  這里介紹另一種程序容易實現(xiàn)的計算方法:

  一、判斷任意兩個圓是否相切(內(nèi)切或外切),這里可以設(shè)定一個誤差允許值d,也就是

 ?。▁1 – x2)^2 + (y1-y2)^2= (r1+r2+d)^2

  滿足上述公式時就認(rèn)為兩個圓相切,其中d為誤差值,可以是正數(shù)或者負(fù)數(shù)。如果兩個圓相切的話,那么交點(diǎn)就比較好求解了:

  x = x1+ (x2 - x1)*(r1/(r1 + r2));

  y = y1 + (y2- y1)*(r1/(r1 + r2));

  求解到x和y的坐標(biāo)后,只需要用第三個圓進(jìn)行驗證,即求出這個點(diǎn)到第三個圓的圓心的距離,再和第三個圓的半徑做比較,如果在誤差允許范圍內(nèi),那么就可以認(rèn)為求得的x,y是三個圓的交點(diǎn),也就是未知點(diǎn)的坐標(biāo)。

非常好我支持^.^

(393) 63.6%

不好我反對

(225) 36.4%

( 發(fā)表人:李倩 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?