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