侯啟真 史秉鑫 劉衍帆
基于RSSI的ZigBee定位技術(shù)研究
侯啟真 史秉鑫 劉衍帆
(中國(guó)民航大學(xué)航空自動(dòng)化學(xué)院 天津 300300)
ZigBee定位技術(shù)常常采用基于RSSI測(cè)距的原理。在研究傳統(tǒng)的定位算法基礎(chǔ)上,提出一種三邊-加權(quán)質(zhì)心定位算法,改進(jìn)的算法以減小定位面積為目的,采用三邊法確定定位三角形,在三角形中再根據(jù)以測(cè)試距離按影響大小設(shè)置的權(quán)值變量計(jì)算出未知節(jié)點(diǎn)的估計(jì)值。在基于ZigBee的硬件平臺(tái)之上,驗(yàn)證了該算法較傳統(tǒng)算法的誤差更小,在測(cè)量距離較大時(shí),優(yōu)勢(shì)更加明顯。同時(shí)采用終端計(jì)算機(jī)進(jìn)行算法處理,使各節(jié)點(diǎn)硬件結(jié)構(gòu)簡(jiǎn)單,適合通信開銷小、硬件要求低的節(jié)點(diǎn)使用。
RSSI ZigBee 質(zhì)心算法 室內(nèi)定位技術(shù)
定位導(dǎo)航技術(shù)正逐漸成為人們生活中一種主要的輔助工具,在衛(wèi)星定位導(dǎo)航領(lǐng)域里以美國(guó)GPS及國(guó)產(chǎn)北斗系統(tǒng)為代表的定位系統(tǒng)在室外環(huán)境下能達(dá)到10 m左右的精度。但是在室內(nèi)環(huán)境下,由于大型樓宇內(nèi)部結(jié)構(gòu)復(fù)雜,衛(wèi)星信號(hào)通過(guò)障礙物經(jīng)過(guò)了衰減、折射等一系列的破壞,所以衛(wèi)星定位不能滿足室內(nèi)環(huán)境下的操作需求。近年來(lái),隨著室內(nèi)定位技術(shù)的研究逐漸發(fā)展,出現(xiàn)了一系列的室內(nèi)定位技術(shù),主要包括RFID技術(shù)、UWB技術(shù)、紅外定位技術(shù)、超聲波定位技術(shù)、藍(lán)牙定位技術(shù)、Wi-Fi定位技術(shù)及ZigBee定位技術(shù)等,可以說(shuō)以上的各種室內(nèi)定位技術(shù)在不同環(huán)境下有各自的優(yōu)缺點(diǎn)。本文以ZigBee定位技術(shù)為研究對(duì)象,在理解了ZigBee的工作原理基礎(chǔ)上,針對(duì)其定位算法進(jìn)行了改進(jìn),提高了定位的精度。
ZigBee是近年來(lái)一種發(fā)展很快的新興無(wú)線網(wǎng)絡(luò)技術(shù),它作為一種短距離無(wú)線通信技術(shù),具有通信效率高、低功耗、低成本、高安全等優(yōu)勢(shì),同時(shí)采用自組網(wǎng),節(jié)點(diǎn)之間跳動(dòng)傳輸無(wú)線電信號(hào)的方式,使得通信距離能夠無(wú)限擴(kuò)展,在采用ZigBee協(xié)調(diào)器鏈接到Internet網(wǎng)絡(luò)之上,使得有形的物體與無(wú)形的數(shù)字世界連接到一起。ZigBee定位技術(shù)一般采用基于接收信號(hào)強(qiáng)度指示(RSSI)的定位跟蹤技術(shù)[1],ZigBee的未知節(jié)點(diǎn)通過(guò)測(cè)量接收到的錨節(jié)點(diǎn)信號(hào)強(qiáng)度,根據(jù)已知的無(wú)線電信號(hào)衰落模型估算出節(jié)點(diǎn)之間的距離,再利用已有的定位算法計(jì)算出節(jié)點(diǎn)的坐標(biāo)位置[2]。
1.1 無(wú)線電傳播路徑損耗模型
無(wú)線電信號(hào)在空間傳播的過(guò)程當(dāng)中,會(huì)因?yàn)榄h(huán)境的差異會(huì)產(chǎn)生不同程度的損耗。常用的幾種無(wú)線電傳播路徑損耗模型[3]包括:自由空間傳播模型、對(duì)數(shù)距離路徑損耗模型、哈它模型及對(duì)數(shù)-常態(tài)分布模型等。其中對(duì)數(shù)-常態(tài)分布模型在實(shí)際的應(yīng)用環(huán)境下更加適用,式(1)給出了對(duì)數(shù)-常態(tài)分布的數(shù)學(xué)模型。
PL(d)=PL0+10nlg(d/d0)+Xσ
(1)
其中:PL(d)為信號(hào)傳輸距離d后的路徑損耗,單位為dBm;PL0為信號(hào)傳輸d0的路徑損耗,通常取d0=1m;n為路徑衰減因子,一般取2~5;Xσ為平均值為0的高斯分布隨機(jī)數(shù),其標(biāo)準(zhǔn)差范圍為4~10[4]。由此得到節(jié)點(diǎn)接收到的RSSI值為:
RSSI=PS+PA-PL(d)
(2)
式中RSSI表示接收到的信號(hào)強(qiáng)度;PS為發(fā)射信號(hào)的功率值;PA為天線的增益;PL(d)為路徑損耗。IEEE 802.15.4協(xié)議的標(biāo)準(zhǔn)信號(hào)模型符合無(wú)線電對(duì)數(shù)-常態(tài)模型,在IEEE Standards[5]中對(duì)IEEE 802.15.4標(biāo)準(zhǔn)模型信號(hào)做出了如下規(guī)定:
(3)
其中接收靈敏度為-85 dm,因此當(dāng)所測(cè)到的接收強(qiáng)度小于-85 dm時(shí),誤差較大,數(shù)值不可信,因此在實(shí)際測(cè)量中要把范圍控制在-85 dm以內(nèi)。圖1為實(shí)際測(cè)量得到的ZigBee接收信號(hào)強(qiáng)度曲線。
圖1 ZigBee信號(hào)強(qiáng)度實(shí)測(cè)曲線
根據(jù)圖1中可以看出,ZigBee實(shí)際接收強(qiáng)度值在20 m以內(nèi)的距離基本符合IEEE802.15.4的理論衰減曲線趨勢(shì),因此在實(shí)際測(cè)量中要盡量控制在20 m以內(nèi)的距離,以保證數(shù)據(jù)相對(duì)可靠。
1.2 三邊-質(zhì)心定位算法模型
在基于RSSI的定位算法模型中,最傳統(tǒng)的算法模型包括三邊測(cè)量法、三角形面積法、質(zhì)心定位算法及加權(quán)質(zhì)心定位算法。本文提出的三邊-質(zhì)心定位算法將三邊測(cè)量法與加權(quán)質(zhì)心定位算法結(jié)合使用,先將未知節(jié)點(diǎn)所在的定位區(qū)域縮小,再對(duì)加權(quán)值做出相應(yīng)的改進(jìn),達(dá)到未知節(jié)點(diǎn)的估計(jì)值與實(shí)際值盡量相近的目的。傳統(tǒng)的三邊測(cè)量法是在理想的情況下能夠應(yīng)用的,當(dāng)已知3個(gè)錨節(jié)點(diǎn)和待求未知節(jié)點(diǎn)的距離時(shí)可列方程組求得未知節(jié)點(diǎn)的位置[6]。
(4)
由于在實(shí)際測(cè)量當(dāng)中經(jīng)計(jì)算得到的距離通常會(huì)比實(shí)際距離偏大,因此式(4)通常會(huì)存在無(wú)解的情況。這時(shí)往往使用最小二乘估計(jì)(或最大似然估計(jì))的方法,通過(guò)引進(jìn)多個(gè)錨節(jié)點(diǎn)的位置信息,以達(dá)到減少誤差的影響[6]。通過(guò)對(duì)式(4)的改進(jìn)得到最大似然估計(jì)的方程。
(5)
使用最大似然估計(jì)法要計(jì)算多個(gè)非線性方程,對(duì)于n值的選擇沒(méi)有一個(gè)明確的結(jié)論,同時(shí)在計(jì)算距離dn時(shí)也存在n值越多計(jì)算的個(gè)數(shù)越多的問(wèn)題,進(jìn)而引進(jìn)的誤差也會(huì)偏大。本文提出的三邊-加權(quán)質(zhì)心算法在只采用3個(gè)錨節(jié)點(diǎn)的基礎(chǔ)上,利用修正的質(zhì)心算法求得未知節(jié)點(diǎn)的坐標(biāo)。
如圖2所示,已知3個(gè)錨節(jié)點(diǎn)A、B、C,待定的未知節(jié)點(diǎn)測(cè)得距離錨節(jié)點(diǎn)的距離分別為RA、RB、RC,通常情況下的RA、RB、RC比實(shí)際距離dA、dB、dC偏大。
圖2 三邊—質(zhì)心算法原理圖
分別以A、B、C為圓心,RA、RB、RC為半徑做圓。3個(gè)圓的交集區(qū)域內(nèi),兩兩圓的交點(diǎn)設(shè)為O1、O2、O3,則O1、O2、O3的坐標(biāo)滿足以下方程組:
(6)
(7)
(8)
(10)
本文設(shè)計(jì)了一個(gè)硬件結(jié)構(gòu)簡(jiǎn)單的ZigBee定位系統(tǒng),該系統(tǒng)由參考節(jié)點(diǎn)、未知定位節(jié)點(diǎn)、CAN總線傳輸模塊及終端計(jì)算機(jī)構(gòu)成。未知定位節(jié)點(diǎn)在進(jìn)入定位區(qū)域內(nèi)會(huì)周期性的向周圍參考節(jié)點(diǎn)發(fā)送自身的ID信號(hào),參考節(jié)點(diǎn)在接收到未知節(jié)點(diǎn)的ID信號(hào)后,根據(jù)信號(hào)強(qiáng)弱轉(zhuǎn)換為RSSI值,連續(xù)接收5次后取RSSI的均值;然后將自己的位置坐標(biāo)、RSSI值(5次的均值)、未知節(jié)點(diǎn)的ID號(hào)打包為一個(gè)數(shù)據(jù)包通過(guò)CAN總線發(fā)送到監(jiān)控終端。為了有效利用計(jì)算機(jī)的強(qiáng)大計(jì)算功能,同時(shí)減小硬件結(jié)構(gòu)的復(fù)雜度,該系統(tǒng)采用在終端計(jì)算機(jī)中對(duì)未知節(jié)點(diǎn)進(jìn)行定位算法計(jì)算,而沒(méi)有采取如文獻(xiàn)[8]中采用的定位節(jié)點(diǎn)自己計(jì)算的方法[8]。系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)如圖3所示。
圖3 ZigBee定位系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)選用了Chipcon公司的CC2430芯片作為ZigBee模塊的核心器件,CC2430片上系統(tǒng)集成了CC2420RF收發(fā)器、增強(qiáng)工業(yè)標(biāo)準(zhǔn)的8051MCU、32/64/128KB Flash及8KB SRAM等高性能的模塊,具有極高的靈敏度和抗干擾性能,支持2.4GHz IEEE 802.15.4的ZigBee協(xié)議。相比CC2420,其內(nèi)嵌入的8051MCU簡(jiǎn)化了需外部控制器進(jìn)行應(yīng)用設(shè)置的硬件電路結(jié)構(gòu)。節(jié)點(diǎn)ZigBee模塊硬件結(jié)構(gòu)簡(jiǎn)單,主要包括電源模塊、電壓轉(zhuǎn)換模塊、時(shí)鐘模塊、CAN總線模塊及用來(lái)起指示作用的LED指示燈。節(jié)點(diǎn)的硬件結(jié)構(gòu)單元如圖4所示。
圖4 節(jié)點(diǎn)硬件結(jié)構(gòu)單元
在ZigBee網(wǎng)絡(luò)協(xié)議規(guī)范中,IEEE 802.15.4標(biāo)準(zhǔn)只定義了物理層協(xié)議和MAC層協(xié)議,后來(lái)成立的ZigBee聯(lián)盟對(duì)網(wǎng)絡(luò)協(xié)議和API進(jìn)行了標(biāo)準(zhǔn)化,形成了ZigBee協(xié)議棧,簡(jiǎn)稱Zstack。本文中的ZigBee網(wǎng)絡(luò)協(xié)議采用的標(biāo)準(zhǔn)的Zstack協(xié)議。在節(jié)點(diǎn)上電工作后,先關(guān)閉中斷函數(shù),進(jìn)行內(nèi)部初始化;初始化結(jié)束后,打開中斷函數(shù),輪詢判斷有無(wú)事件發(fā)生;當(dāng)有系統(tǒng)中有多個(gè)事件請(qǐng)求工作時(shí),通過(guò)比較各事件的優(yōu)先級(jí)來(lái)判斷調(diào)用處理程序的順序。圖5描述了ZigBee節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的工作流程。
圖5 ZigBee節(jié)點(diǎn)發(fā)送流程圖
為了有效地驗(yàn)證基于RSSI的ZigBee定位技術(shù)的實(shí)際使用狀況,本文沒(méi)有采用軟件隨機(jī)生成錨節(jié)點(diǎn)坐標(biāo)、RSSI值的方式,而采用簡(jiǎn)易的鋪設(shè)硬件系統(tǒng)獲取事實(shí)數(shù)據(jù)的方法。本文采用了14個(gè)CC2430 ZigBee錨節(jié)點(diǎn)模塊及1個(gè)ZigBee未知節(jié)點(diǎn)模塊,在空曠的區(qū)域里,將14個(gè)ZigBee錨節(jié)點(diǎn)設(shè)置為兩排,同時(shí)為了減少CAN總線電纜的鋪設(shè),總共鋪設(shè)距離為0~30 m,間隔距離取5 m,從而形成了一條長(zhǎng)為30 m,寬為5 m的定位區(qū)域,并取修正系數(shù)為n=3。整個(gè)測(cè)試步驟如下進(jìn)行:
(1) 在進(jìn)入定位區(qū)域前打開未知節(jié)點(diǎn)的電源,未知ZigBee節(jié)點(diǎn)系統(tǒng)進(jìn)行初始化,然后不斷的向四周發(fā)送自己的ID信息。
(2) 定位區(qū)域中的錨節(jié)點(diǎn)在收到未知節(jié)點(diǎn)的ID信號(hào)后,將信號(hào)強(qiáng)度轉(zhuǎn)換為RSSI值,每個(gè)錨節(jié)點(diǎn)連續(xù)接收5次后,對(duì)所接收到的RSSI值取平均,作為該錨節(jié)點(diǎn)接收到的RSSI值。
(3) 14個(gè)錨節(jié)點(diǎn)將自己的位置坐標(biāo)、RSSI值及未知節(jié)點(diǎn)的ID號(hào)打包為一個(gè)Data數(shù)據(jù)包;本實(shí)驗(yàn)中選取的距離相近,因此每個(gè)錨節(jié)點(diǎn)都會(huì)有RSSI值,如圖5步驟完成??紤]到如果在限定的時(shí)間里沒(méi)有接收到未知節(jié)點(diǎn)的信號(hào),則RSSI值及ID號(hào)均以00表示。Data數(shù)據(jù)包通過(guò)CAN總線傳輸?shù)奖O(jiān)控終端計(jì)算機(jī)上。
(4) 由于一般計(jì)算機(jī)沒(méi)有連接CAN通信的接口,因此在終端計(jì)算機(jī)與CAN總線間連有CAN-RS232的轉(zhuǎn)換器。終端計(jì)算機(jī)調(diào)用Matlab軟件完成如圖6的數(shù)據(jù)處理。
圖6 Matlab數(shù)據(jù)處理轉(zhuǎn)換圖
如圖6中所述,終端計(jì)算機(jī)先接收14個(gè)錨節(jié)點(diǎn)的Data數(shù)據(jù)包后,先對(duì)數(shù)據(jù)包解壓,然后根據(jù)其中RSSI值的大小排序,將RSSI值最大的三個(gè)錨節(jié)點(diǎn)數(shù)據(jù)包保留。然后分別建立兩組集合:
錨節(jié)點(diǎn)的位置坐標(biāo)集合:
P_set={(X1,Y1),(X2,Y2),(X3,Y3)}
錨節(jié)點(diǎn)接收的RSSI集合:
R_set={RSSI1,RSSI2,RSSI3}
在計(jì)算數(shù)據(jù)之前,在Matlab中建立質(zhì)心算法函數(shù)和三邊-質(zhì)心算法函數(shù)的M文件,之后在Matlab中需要用兩種算法時(shí),直接調(diào)用函數(shù)即可。
按照以上的測(cè)試步驟,先后在6個(gè)區(qū)域中得到了6次測(cè)試結(jié)果。得到了如表1和表2所示的坐標(biāo)集合和RSSI值的集合。
表1 錨節(jié)點(diǎn)發(fā)送數(shù)據(jù)包
表2 錨節(jié)點(diǎn)發(fā)送數(shù)據(jù)包
由試驗(yàn)得到的圖7可知,當(dāng)定位區(qū)域越小,且未知節(jié)點(diǎn)的未知越靠近三邊的質(zhì)心時(shí),由質(zhì)心定位算法得到未知節(jié)點(diǎn)估計(jì)值誤差與三邊-質(zhì)心算法估計(jì)的節(jié)點(diǎn)位置相差不大;但考慮到室內(nèi)大距離范圍內(nèi)的定位中,質(zhì)心算法具有局限性,相反提出的三邊-質(zhì)心定位算法將距離作為權(quán)值因子,使得在大區(qū)域里定位誤差得到有效的減小。
圖7 未知節(jié)點(diǎn)定位示意圖
在研究了基于RSSI定位原理的基礎(chǔ)上,結(jié)合ZigBee技術(shù)特點(diǎn),改進(jìn)了RSSI的定位算法,提出先通過(guò)三邊法定出三角形區(qū)域,再通過(guò)改進(jìn)的質(zhì)心算法得到未知節(jié)點(diǎn)的估計(jì)坐標(biāo)。相比較傳統(tǒng)的質(zhì)心算法,本文提出的改進(jìn)算法將質(zhì)心到三點(diǎn)的距離分別按影響因數(shù)大小的原則加入到權(quán)值變量中,提高了未知節(jié)點(diǎn)估計(jì)的精度,而且減小了由于ZigBee系統(tǒng)在測(cè)量中由于某個(gè)錨節(jié)點(diǎn)誤差較大時(shí)造成估計(jì)值偏大的情況。同時(shí)本文為驗(yàn)證算法而搭建的硬件結(jié)構(gòu)系統(tǒng),由于計(jì)算的工作在終端計(jì)算機(jī)中完成,因此結(jié)構(gòu)非常簡(jiǎn)單,相對(duì)于靠軟件生成隨機(jī)函數(shù)做驗(yàn)證的方法,更具有實(shí)際應(yīng)用性。
[1] 崔璐,蔡覺(jué)平,趙博超,等.基于ZigBee技術(shù)的井下人員定位安全監(jiān)測(cè)系統(tǒng)[J].大連理工大學(xué)學(xué)報(bào),2011,51(S1):101-106.
[2] 屈巍,李喆.基于RSSI的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位技術(shù)[J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2009,30(5):656-660.
[3] Bulusu N,Heidem J,Estrin D.GPS-Less Low Cost Outdoor Localization for Very Small Devices[J].IEEE Personal Communications Magazine,2000,7(5):28-34.
[4] 陳維克,李文鋒,首珩,等.基于RSSI的無(wú)線傳感器網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2006,32(2):265-268.
[5] IEEE Standard for Information technology-Telecommunications and information exchange between systems-Local and metropolitan area networks-Specific requirements Part 15.4:Wireless Medium Access Control and Physical Layer Specification for Low-Rate Wireless Personal Area Networks(LR-WPANs)[S].LAN/MAN Standards Committee,2003:640-642.
[6] 呂睿,陽(yáng)憲惠.減少無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位誤差的方法[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2008,48(S2):1839-1843.
[7] 劉運(yùn)杰,金明錄,崔承毅.基于RSSI的無(wú)線傳感器網(wǎng)絡(luò)修正加權(quán)質(zhì)心定位算法[J].傳感技術(shù)學(xué)報(bào),2010,23(5):717-720.
[8] 劉玉峰.基于ZigBee無(wú)線傳感器網(wǎng)絡(luò)的室內(nèi)定位系統(tǒng)研究與設(shè)計(jì)[D].遼寧:東北大學(xué),2010.
ON RSSI-BASED ZIGBEE LOCALISATION TECHNOLOGY
Hou Qizhen Shi Bingxin Liu Yanfan
(CollegeofAeronauticalAutomation,CivilAviationUniversityofChina,Tianjin300300,China)
ZigBee localisation technology frequently adopts teh RSSI ranging-based principles. On the basis of studying the traditional localisation algorithms, we proposed a trilateral-weighted centroid localisation algorithm. The improved algorithm targets at diminishing the area of positioning and utilises the trilateral method to determine the positioning triangle. In a positioning triangle, it calculates the estimated value of unknown node according to the weight variables set in test distance and based on the degree of influence. On a ZigBee-based hardware platform we validated that this algorithm had smaller error than traditional algorithms. When the test distance is larger, this advantage is clearer. At the same time, we used terminal computer to run the algorithm processing, and made the hardware structure of each node simple, this was suitable for those nodes with small communication cost and low hardware requirements to use.
Received signal strength indicator (RSSI) ZigBee Centroid algorithm Indoor localisation technology
2014-10-09。2014年民航安全能力建設(shè)基金項(xiàng)目(20 600223)。侯啟真,副教授,主研領(lǐng)域:機(jī)場(chǎng)電氣。史秉鑫,碩士生。劉衍帆,碩士生。
TN925 TP391
A
10.3969/j.issn.1000-386x.2016.04.032