羅毅++陸儀雯++殷貝迪
摘 要:隨著通信技術的發(fā)展,人們對越來越依賴定位功能,特別是在機場大廳、養(yǎng)老院、圖書館、地下停車場和礦山等復雜的環(huán)境中,有必要掌握設施、人員等的精確位置信息。由于ZigBee技術具有低功耗、低成本等優(yōu)勢,所以,被廣泛應用。通過比較ZigBee技術中的不同算法發(fā)現(xiàn),利用基于RSSI測距的分步定位法可以獲得最高的定位精度。
關鍵詞:ZigBee;分步定位法;RSSI測距;定位精度
中圖分類號:TN929.5 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2016.23.078
1 研究目標
通過比較基于ZigBee的4種室內(nèi)無線定位算法,找出最優(yōu)的算法,并進一步改進其精度。
2 研究內(nèi)容
利用matlab仿真比較4種無線測距算法的精度,以參考節(jié)點為圓心,測出距離為半徑做圓的方法,并找出移動節(jié)點。
2.1 基于到達時間的測距技術(TOA)
基于TOA的測距技術是利用信號的傳輸速度和時間來計算節(jié)點之間的距離,可用公式為:
D=v[(T3-T0)-(T2-T1)]/2. (1)
式(1)中:D為節(jié)點間距離;v為信號速度:T3為二次接收時間;T0為一次發(fā)射時間;T2為二次發(fā)射時間;T1為一次接收時間。
2.2 基于到達時間差的測距技術(TDOA)
基于TDOA的測距技術是用來計算發(fā)射節(jié)點發(fā)出的2種不同信號到達接收節(jié)點的時間差與傳播速度得到節(jié)點之間的距離。具體公式為:
d=[(T3-T1)-(T2-T0)](v1v2/(v1-v2). (2)
式(2)中:d為節(jié)點間距離;v1,v2為2種信號的速度。
2.3 基于到達角度的測距技術(AOA)
在基于AOA的測距技術中,信號入射角度為a,天線之間的距離為d,無線信號波長為m,相鄰兩個天線接收到的信號角度差為b,天線陣列1坐標設為(0,h),天線陣列2坐標設為(0,0),發(fā)射節(jié)點對兩個天線的入射角為a和c,由此得待定位發(fā)射節(jié)點的坐標公式為:
x=h/(cota+cotc). (3)
y=hcotc/(cota+cotc). (4)
2.4 基于信號強度的測距技術(RSSI)
室內(nèi)的無線信號傳播損耗與傳播距離d有關,還與傳播路徑中的阻擋有關,常用的距離損耗模型為:
RSSI=RSSI0+10klog(d/d0)+f. (5)
式(5)中:RSSI為距離是d時接收到的信號強度;RSSI0為距離是d0時接收的信號強度;k是路徑損耗指數(shù),與建筑物的性質(zhì)有關;d為真實距離;d0為參考距離;f為一個符合高斯分布的隨機數(shù),均值為零,是用來表示路徑損耗的速率。
在實際應用中,距離損耗模型通常為d0=1 m。由此可得到的RSSI測距公式的實際應用為:
RSSI=-[RSSI~+10klog(d)+f]. (6)
式(6)中:RSSI~為距信號源1 m處接收到的信號強度平均絕對值。
由此可簡化得:
d=10^[(-RSSI~-RSSI)/(10k)]. (7)
作圓法會有相當大的缺陷,因為每個節(jié)點的硬件和功耗都不一樣,測得的距離會有一定的誤差,所以,這些圓可能不會交于一點。事實上,應該是相交于中間一塊小區(qū)域。因此,利用這樣的方法得出的參考節(jié)點坐標存在一定的誤差。鑒于此,相關人員需要通過改進算法來獲得一個誤差相對較小的位置,以提高結(jié)果的精確度。
3 利用分步定位法改進RSSI算法
分步定位法的步驟是:①分別將參考節(jié)點A,B作為圓心,將測得的參考節(jié)點到移動節(jié)點的距離RA,RB為半徑做圓,則2個圓會有3種關系,即兩圓相離,兩圓相切,兩圓相交。②當兩圓相離時,移動節(jié)點O在線段AB上的相對位置OAB可以用|AOAB|∶|BOAB|=RA∶RB來定位;當兩圓相切時,移動節(jié)點O在線段BC上的相對位置OBC就是該切點;當兩圓相交時,以其他參考節(jié)點B的坐標作為方向參考,可以選擇一個交點作為移動節(jié)點O在線段AC上的相對位置OAC.③再分別以另外兩對參考節(jié)點為圓心,重復①②兩步,可分別得到移動節(jié)點O相對于AC的位置OAC和相對于BC的位置OBC.④OAB,OAC,OBC3點的中心坐標即為移動節(jié)點O的實際位置。
使用分步定位法只要3個參考節(jié)點。此外,采用分步定位法分別計算OAB,OAC,OBC的坐標,然后得出移動節(jié)點O的坐標。這樣,就可以將由于環(huán)境噪聲帶來的誤差抵消,從而得到更高的精度。
4 基于RSSI的作圓法和分步定位法的比較
4.1 作圓法
利用matlab對RSSI測距下的作圖法進行仿真,具體如圖1所示。
4.2 分步定位法
利用matlab對RSSI測距下的分步定位法進行仿真,具體如圖2所示。
5 結(jié)論
采用作圓法計算移動節(jié)點的位置坐標比較分散,與實際坐標的位置偏離較遠,誤差比較大。因為作圓法沒有去除環(huán)境噪聲,而噪聲的疊加會嚴重影響定位精度。采用分步定位法計算得到的坐標與實際坐標比較近,誤差比較小。這是因為分步定位法先分別定位出3個參考節(jié)點中的兩兩節(jié)點與實際對應的坐標。這樣做,減小了作圓法中環(huán)境噪聲帶來的測距誤差。然后用相對坐標計算出目標坐標,可降低對硬件性能功耗的要求,提高定位精度,增強系統(tǒng)的穩(wěn)定性。
〔編輯:白潔〕