基于CC2530的場館人員無線定位系統(tǒng)研究與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
科技館、博物館,展覽館等場館對觀眾的管理和疏導(dǎo),過去主要靠人工監(jiān)控和利用攝像頭輔助監(jiān)控了解各個(gè)區(qū)域客流情況,進(jìn)行人工干預(yù),但對觀眾的數(shù)量、分布情況和管理人員的位置等信息無法實(shí)時(shí)獲取,給場館管理以及其各項(xiàng)活動(dòng)的開展帶來不便。人員無線定位管理系統(tǒng)可通過對移動(dòng)目標(biāo)進(jìn)行信息采集處理,實(shí)現(xiàn)對目標(biāo)的自動(dòng)定位識(shí)別和數(shù)據(jù)的統(tǒng)計(jì)分析。當(dāng)前技術(shù)最成熟和應(yīng)用比較廣泛的是美國的GPS、俄羅斯的Glonass和中國的Compass北斗星三種利用衛(wèi)星定位的技術(shù),衛(wèi)星定位在空間立體定位、動(dòng)態(tài)物體速度測量等方面有很好的性能,但是經(jīng)濟(jì)投入大,成本費(fèi)用高,對很多地下環(huán)境、室內(nèi)環(huán)境都不實(shí)用。近年來基于WSN(無線傳感器網(wǎng)絡(luò))定位問題的研究進(jìn)展迅猛,為室內(nèi)無線定位提供了許多新的解決方案和構(gòu)建思路來實(shí)現(xiàn)WSN的定位問題,同時(shí)可以解決費(fèi)用高,成本大的根本問題。本文通過應(yīng)用CC2530芯片設(shè)計(jì)基于ZigBee無線傳感器網(wǎng)絡(luò)的低成本、低功耗和具有較高定位精度的場館人員無線定位管理系統(tǒng)。
1無線傳感器網(wǎng)絡(luò)的定位算法
無線傳感器網(wǎng)絡(luò)的定位算法一般可分為基于距離測量的定位算法和與距離無關(guān)的定位算法兩大類。與距離無關(guān)的定位算法主要有質(zhì)心法,DV—Hop,APIT和,MDS-MAP等。與距離無關(guān)的定位算法不用計(jì)算出節(jié)點(diǎn)之間的實(shí)際距離,而是估算出兩者的間距或大致地確定節(jié)點(diǎn)所處的區(qū)域,對節(jié)點(diǎn)硬件要求較低,有利于降低成本和功耗,但其定位精度不高?;诰嚯x測量的定位算法一般可分為4種:基于信號到達(dá)時(shí)間測距定位算法TOA、基于信號到達(dá)時(shí)間差測距定位算法TDOA、基于信號到達(dá)角測距定位算法AOA和基于接收信號強(qiáng)度測距定位算法RSSI。TOA、TDOA方法在室內(nèi)環(huán)境中由于多徑效應(yīng)的影響,信號是經(jīng)過多條路徑先后達(dá)到的,根據(jù)到達(dá)時(shí)間來測距,因此這就造成了測距的不精確性。AOA方法雖然原理很簡單,實(shí)現(xiàn)的定位精確度也很高,但是其成本也很昂貴,需要陣列天線的支持,這就局限了其應(yīng)用?;诮邮招盘枏?qiáng)度定位算法RSSI簡單高效,廉價(jià)實(shí)用,而且RSSI算法在對抗多徑效應(yīng)方面比TOA、TDOA方法都要好,并且不需要額外的硬件支持,RSSI值直接在無線射頻收發(fā)芯片中就有存儲(chǔ)器存儲(chǔ)該值,從而可以計(jì)算出節(jié)點(diǎn)之間的距離,所以基于RSSI的定位算法是WSN節(jié)點(diǎn)定位較常采用的方法。
2傳統(tǒng)的RSSI定位算法及其缺陷
傳統(tǒng)的RSSI接收信號強(qiáng)度的定位方法,是在已知發(fā)射節(jié)點(diǎn)的發(fā)射信號強(qiáng)度,根據(jù)接收節(jié)點(diǎn)收到的信號強(qiáng)度,計(jì)算出信號的傳播損耗,再利用理論和經(jīng)驗(yàn)?zāi)P蛯鬏敁p耗轉(zhuǎn)化為距離值,最后根據(jù)距離計(jì)算節(jié)點(diǎn)的位置.接收信號強(qiáng)度(RSSI)理論值可由式(1)表示:
其中信號的衰減與距離成對數(shù)衰減關(guān)系。式中:代表信號傳播常量,表示信號能量隨著距離的增加而衰減的速率:d代表距發(fā)射器間的距離;代表距離lm時(shí)的接收信號強(qiáng)度。參數(shù)n和A由系統(tǒng)所處的環(huán)境決定。計(jì)算未知節(jié)點(diǎn)坐標(biāo)時(shí),首先在能夠接收到回應(yīng)的信號中選擇幾個(gè)信號強(qiáng)度最大的參考節(jié)點(diǎn)信號,利用前面的信號衰減模型計(jì)算出未知節(jié)點(diǎn)與系統(tǒng)中幾個(gè)參考節(jié)點(diǎn)之間的估計(jì)距離,再用三邊測距法計(jì)算出未知節(jié)點(diǎn)的坐標(biāo)。
傳統(tǒng)的RSSI定位算法是利用無線信號傳輸?shù)睦碚摶蚪?jīng)驗(yàn)?zāi)P蛠韺鬏敁p耗轉(zhuǎn)化為距離,其中依據(jù)經(jīng)驗(yàn)選定的參數(shù)一
旦選定,將不再更改。但在實(shí)際應(yīng)用中,當(dāng)外界環(huán)境發(fā)生變化時(shí),信號的衰減與距離之間的關(guān)系因子是發(fā)生變化的,此時(shí)依據(jù)經(jīng)驗(yàn)?zāi)P蛯⑹沟脺y距誤差增大。此外在具體應(yīng)用中,受到墻壁、地面、人體等一些障礙物影響,電磁波會(huì)存在反射、衍射等,導(dǎo)致單次測得的RSSI值誤差可能會(huì)很大,進(jìn)而導(dǎo)致測距誤差增大。三邊測距法的缺陷是:由于受到環(huán)境因素的影響和各節(jié)點(diǎn)硬件參數(shù)和功耗之間的差異,所測出的距離不可能是理想值,導(dǎo)致三邊測距法中的三個(gè)圓周難以相交于一點(diǎn),而是相交于一個(gè)小區(qū)域,因此利用此方法計(jì)算出來的(X,Y)坐標(biāo)值存在一定的誤差。
3RSSI定位算法的改進(jìn)和優(yōu)化
由于環(huán)境、信號傳播等因素對RSSI定位方法的精度影響比較大,造成定位誤差的因素主要有:信號傳輸距離、障礙物的阻隔、多徑效應(yīng)和環(huán)境的動(dòng)態(tài)變化等,需要在在傳統(tǒng)的RSSI定位算法基礎(chǔ)上進(jìn)行改進(jìn)和參數(shù)的優(yōu)化。改進(jìn)的算法通過模型自適應(yīng)階段對信號衰減模型的參數(shù)進(jìn)行校準(zhǔn),引入高斯濾波處理對RSSI值進(jìn)行修正,在極大似然估算法引入加權(quán)矩陣來計(jì)算未知節(jié)點(diǎn)的坐標(biāo)位置。
3.1模型自適應(yīng)階段
選取合適的信號衰減模型可以使測量結(jié)果有較高的準(zhǔn)確度,在實(shí)際應(yīng)用當(dāng)中為了使不同節(jié)點(diǎn)在不同的環(huán)境中的模型參數(shù)都能接近理想值,要求信號衰減模型需要根據(jù)環(huán)境因素的變化而進(jìn)行實(shí)時(shí)的調(diào)整。模型自適應(yīng)階段是在所有節(jié)點(diǎn)順利加入網(wǎng)絡(luò)以后,未知節(jié)點(diǎn)廣播信號之前,已知距離的參考節(jié)點(diǎn)之間通過信號的傳輸進(jìn)行測量,對信號衰減模型的各項(xiàng)參數(shù)進(jìn)行校準(zhǔn)吐在選取的信號衰減模型式(1)中,參數(shù)A為距離lm時(shí)的接收信號強(qiáng)度,一般不會(huì)有很大的變化,通常只在安裝時(shí)對參考節(jié)點(diǎn)各個(gè)方向的A值進(jìn)行測量。測量時(shí)以參考節(jié)點(diǎn)為圓心,在半徑1m的圓周上平均分布多個(gè)參考節(jié)點(diǎn),然后測量圓周上所有參考節(jié)點(diǎn)的RSSI值,然后根據(jù)式(2)求出平均值。
參數(shù)n為信號傳播常量,是信號能量隨著距離的增加而衰減的速率,受環(huán)境的影響變化比較大,是主要需要進(jìn)行修正的參數(shù)。在每個(gè)參考節(jié)點(diǎn)的周圍分布有N個(gè)參考節(jié)點(diǎn),參考節(jié)點(diǎn)的位置坐標(biāo)為已知量,與周圍參考節(jié)點(diǎn)測距后,得到和周圍參考節(jié)點(diǎn)之間的N個(gè)距離值,由式(1)就能得到N個(gè)信號傳播常量n,為了減小誤差,一般取N個(gè)節(jié)點(diǎn)測量得到的n值的平均值如式(3)所示:
由于環(huán)境、信號傳播等因素對RSSI值的影響比較大,在不同的時(shí)間內(nèi)即使相同的距離也會(huì)產(chǎn)生一定的波動(dòng),因此在計(jì)算參數(shù)n之前,首先收集不同時(shí)間內(nèi)的RSSI值,然后取其平均值參與計(jì)算,如式(4)所示:
3.2高斯濾波處理
在實(shí)際中,某一時(shí)間段內(nèi)同一個(gè)節(jié)點(diǎn)可以收到多個(gè)RSSI值。信號強(qiáng)度值在實(shí)際環(huán)境中存在很大的波動(dòng)性,因而在利用RSSI值計(jì)算距離之前,為避免RSSI值的不穩(wěn)定性,使RSSI值能精確體現(xiàn)無線信號的傳輸距離,可以通過濾波處理使RSSI的值平滑。大量測試表明接收節(jié)點(diǎn)在某個(gè)特定位置上收到的RSSI值其誤差大小具有隨機(jī)性,服從或近似服從正態(tài)分布,符合引入高斯模型進(jìn)行處理的原則,可應(yīng)用高斯濾波處理對測量得到的RSSI值進(jìn)行修正,在高概率發(fā)生區(qū)選擇概率大于0.6(0.6的取值是根據(jù)工程中的經(jīng)驗(yàn)值)的范圍[8]?經(jīng)過高斯濾波后,RSSI的取值范圍為[0.15中,3.09巾]。其中o和卩見式(5)、(6)所示:
把該范圍內(nèi)的RSSI值全部取出,再求幾何平均值,即可得到最終的RSSI值。高斯模型解決了RSSI在實(shí)際測試中易受干擾、穩(wěn)定性差等問題,提高了定位精度。
3.3加權(quán)極大似然估算法
由于三邊測距法存在缺陷,改進(jìn)算法采用極大似然估算法計(jì)算未知節(jié)點(diǎn)的坐標(biāo)位置。極大似然估算法基本思想是通過未知節(jié)點(diǎn)和多個(gè)坐標(biāo)已知的參考節(jié)點(diǎn)的距離關(guān)系來建立方程組,并通過最小二乘法來解方程從而得到未知節(jié)點(diǎn)的位置坐標(biāo)叫已知n個(gè)參考節(jié)點(diǎn)的坐標(biāo)分別為(X1,Y1)(X2,Y2)...(Xn,Yn),它們到未知節(jié)點(diǎn)(X,Y)的距離分別為弗d”...dn,則有式(7):
該方程為非線性方程組,用方程組中的前n-1個(gè)方程減去第n個(gè)方程后,可得到線性化的方程式(8):
用最小二乘法求解方程(8)得:
極大似然估算法假設(shè)所有參考節(jié)點(diǎn)是一致的,但由于受到環(huán)境因素影響、節(jié)點(diǎn)硬件參數(shù)和功耗之間的差異,所有參考節(jié)點(diǎn)的信號質(zhì)量不可能都相同,這樣計(jì)算出來的結(jié)果就會(huì)存在較大的誤差。這時(shí)可以利用距離近的節(jié)點(diǎn)信號強(qiáng)度可靠性高,而距離遠(yuǎn)的節(jié)點(diǎn)信號強(qiáng)度可靠性低這個(gè)特點(diǎn),在極大似然估算法上引入加權(quán)矩陣叫節(jié)點(diǎn)的權(quán)值與距離成反比,距離越近的節(jié)點(diǎn)權(quán)值越高,選擇可靠性高的節(jié)點(diǎn)來減少誤差。假設(shè)接收到的參考節(jié)點(diǎn)最大距離為Dmax,而最小距離為Dml?,中間值Dmid=(Dmax+Dm?,)/2,則節(jié)點(diǎn)i的權(quán)值W=DmiJD、,加上加權(quán)矩陣后,采用極大似然估算法計(jì)算未知節(jié)點(diǎn)的坐標(biāo)可以轉(zhuǎn)換為式(10):
其中W表示加權(quán)矩陣。某些節(jié)點(diǎn)由于受到障礙物的影響使得測量得到的距離比實(shí)際距離遠(yuǎn),節(jié)點(diǎn)獲得的相應(yīng)權(quán)值也會(huì)減少,因此采用加權(quán)計(jì)算后在一定程度上還可以減小障礙物的影響。4場館人員無線定位系統(tǒng)的設(shè)計(jì)
4.1京更件設(shè)計(jì)方案
定位系統(tǒng)主要由三部分構(gòu)成,分別是協(xié)調(diào)器、參考節(jié)點(diǎn)和定位節(jié)點(diǎn)(未知節(jié)點(diǎn))見圖1所示:
圖1系統(tǒng)組成圖
圖1中,協(xié)調(diào)器節(jié)點(diǎn)的任務(wù)是建立網(wǎng)絡(luò),配置其他申請入網(wǎng)的節(jié)點(diǎn),響應(yīng)和轉(zhuǎn)發(fā)上位機(jī)的指令,向上位機(jī)傳達(dá)其收到的其他節(jié)點(diǎn)的數(shù)據(jù);
而參考節(jié)點(diǎn)的任務(wù)是輔助定位節(jié)點(diǎn)實(shí)現(xiàn)定位,即在獲得定位節(jié)點(diǎn)的定位請求數(shù)據(jù)包中的RSSI后,打包自身節(jié)點(diǎn)ID和位置距離信息后原路傳回至定位節(jié)點(diǎn);
定位節(jié)點(diǎn)的任務(wù)是發(fā)送定位請求信號并獲得參考節(jié)點(diǎn)的位置距離信息,該節(jié)點(diǎn)在接收足夠參考節(jié)點(diǎn)信息后將其發(fā)送給協(xié)調(diào)器節(jié)點(diǎn),傳回上位機(jī)監(jiān)測軟件計(jì)算位置實(shí)現(xiàn)定位。
根據(jù)對比和測試,從成本、集成度等方面出發(fā),選擇使用CC2530芯片作為系統(tǒng)中的參考節(jié)點(diǎn)、未知節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)的核心芯片。CC2530是德州儀器推出的完整用于2.4GHzIEEE802.15.4/RF4CE/ZlgBee的第二代片上系統(tǒng)解決方案,它結(jié)合了高性能的2.4GHzDSSS(直接序列擴(kuò)頻)射頻收發(fā)器和一個(gè)高性能低功耗的8051微控制器,用于搭建功能健全價(jià)格低廉的網(wǎng)絡(luò)節(jié)點(diǎn),CC2530支持最新的ZigBee協(xié)議一一ZigBee2007/PR0。定位系統(tǒng)中三種節(jié)點(diǎn)的硬件設(shè)計(jì)方案見圖2所示,它們中的協(xié)調(diào)器節(jié)點(diǎn)、參考節(jié)點(diǎn)和定位節(jié)點(diǎn)的硬件設(shè)計(jì)是相同的,只是軟件編程時(shí)有所區(qū)別。
4.2系統(tǒng)的軟件設(shè)計(jì)
本定位系統(tǒng)采用IAREmbeddedWorkbench軟件進(jìn)行定位程序的開發(fā),IAR是一款完整、高度精確且很容易使用的專業(yè)嵌入式應(yīng)用開發(fā)工具,通過運(yùn)用IAR開發(fā)環(huán)境,在
ZigBee協(xié)議棧的基礎(chǔ)上實(shí)現(xiàn)網(wǎng)絡(luò)的搭建和通信,并根據(jù)三種節(jié)點(diǎn)需要實(shí)現(xiàn)的不同功能,對協(xié)調(diào)器節(jié)點(diǎn)、參考節(jié)點(diǎn)和定位節(jié)點(diǎn)的軟件進(jìn)行設(shè)計(jì)。系統(tǒng)主要流程如圖3所示。
5系統(tǒng)測試
整個(gè)測試是在展廳內(nèi)12mX12m的矩形區(qū)域內(nèi)展開
的,6個(gè)參考節(jié)點(diǎn)的坐標(biāo)分別固定為(0.00,0.00)、(12.00,0.00)、(0.00,5.00)、(12.00,5.00)、(0.00,12.00)、(12.00,12.00);未知節(jié)點(diǎn)可以在參考節(jié)點(diǎn)包圍的區(qū)域內(nèi)任意移動(dòng),參考節(jié)點(diǎn)距離地面高度均為200cm,分別對采用本改進(jìn)算法的系統(tǒng)和采用CC2431定位引擎的系統(tǒng)進(jìn)行了對比測試。測試結(jié)果見圖4和表1。
改進(jìn)的算法對一些周圍障礙物較多,或處在復(fù)雜環(huán)境中的節(jié)點(diǎn)精度得到改善;個(gè)別周圍障礙物較少的節(jié)點(diǎn),或處在比較簡單環(huán)境中的節(jié)點(diǎn)誤差有增大的現(xiàn)象。另外,測試過程中發(fā)現(xiàn),測試范圍內(nèi)人員移動(dòng)也會(huì)對測量結(jié)果有一定的影響,人員的移動(dòng)導(dǎo)致無線信號在傳輸過程中的反射、繞射情況變得更為復(fù)雜,從而影響定位結(jié)果,移動(dòng)人員越多,對定位精度的影響就越大,尤其對傳統(tǒng)的RSSI算法的系統(tǒng)影響較大。從測試結(jié)果可以看出,改進(jìn)算法的穩(wěn)定性和精度比采用CC2431定位引擎有了一定的提高。
6結(jié)語
本文通過構(gòu)建基于CC2530的場館人員無線定位管理系統(tǒng),對無線傳感器網(wǎng)絡(luò)的定位技術(shù)進(jìn)行了研究,分析了傳統(tǒng)的RSSI定位算法和缺陷以及各種定位誤差的影響因素,在傳統(tǒng)的RSSI定位算法基礎(chǔ)上進(jìn)行改進(jìn)和參數(shù)的優(yōu)化。測試結(jié)果表明,采用了改進(jìn)算法的系統(tǒng)定位精度和穩(wěn)定性比采用CC2431的定位引擎有了比較明顯的提高,可以滿足室內(nèi)人員的定位要求,具有一定的應(yīng)用價(jià)值。
20211221_61c1a67b581af__基于CC2530的場館人員無線定位系統(tǒng)研究與實(shí)現(xiàn)