呂 源 李 軍
摘 要:在室內環境下對移動目標定位可使用的技術主要有超聲波定位技術、射頻識別技術以及基于接收信號強度(RSSI)的定位技術。經過比較,基于接收信號強度(RSSI)的定位技術更適合于復雜的室內環境。介紹基于RSSI定位機制的CC2431片內集成定位引擎在室內定位系統中的應用,并在室內環境下進行了實測,其定位效果良好。
關鍵詞:CC2431;信號接收強度;定位引擎;室內定位
中圖分類號:TP274;TP368.1 文獻標識碼:B
文章編號:1004 373X(2009)02 095 03
Indoor Location System Based on CC2431
LV Yuan,LI Jun
(College of Electronic Information & Control Engineering,Beijing University of Technology,Beijing,100022,China)
Abstract:The technology of locating mobile target in indoor environment includes ultrasonic localization,RFID and received-signal-strength-based localization.By comparison,the received-signal-strength-based localization is more suited for the complex indoor environment.It introduces the location engine integrated in CC2431 and the application of location engine in indoor localization.Finally,the localization system is used in real indoor environment and gains satisfied effectiveness.
Keywords:CC2431;received-signal-strength;location engine;indoor localization
隨著無線通信和無線傳感器網絡技術的發展,基于位置的服務(LBS)顯得越來越重要。在室外環境下,全球定位系統(GPS)已經比較成功地解決了定位問題,它通過GPS接收機測量來自5~24個衛星信號的到達時間差(TDOA)進行位置估算,可以提供接近全球的定位覆蓋范圍。而在室內環境下,GPS系統由于衛星信號被阻隔而無法完成定位。與此同時,室內定位服務的需求日益增加,室內定位技術的研究成為各大高校、研究機構和企業的一個
研究熱點。
1 室內定位技術
目前已有的室內定位技術主要有:超聲波定位技術、射頻識別技術(RFID)以及基于接收信號強度(RSSI)的定位技術。
超聲波定位技術[1]大都采用反射式測距法,即發射超聲波并接收由被測物產生的回波,根據回波與發射波的時間差計算出待測距離。超聲波定位系統由若干應答器和1個主測距器組成。主測距器放置在被測物體上,在上位機指令信號的作用下向位置固定的應答器發射同頻率的無線信號,應答器在收到無線信號后向主測距器發射超聲波信號,從而得到主測距器與各個應答器之間的距離,進而確定被測物體的坐標。Cricket Location Support System和Active Bat Location System是目前成功使用的兩個系統。但是這類系統需要大量的底層硬件設施投資,成本太高,無法大面積推廣。
射頻識別(RFID)系統主要由電子標簽、讀卡器以及在標簽與讀卡器之間傳遞射頻信號的微型天線3部分組成。當標簽置于讀卡器發出固定頻率的電磁場附近獲得了能量并產生上電復位后,原本處于“休眠狀態”的標簽被激活,并將含有自身種類識別碼標志、制造商標志等信息代碼調制到載波上經卡內天線發射出去,供讀卡器處理識別。該定位技術最典型的例子是LANDMARC系統[2],該系統用活性參考標簽Tag替代離線數據采集,其動態參考信息能夠實時捕捉環境變化,提高定位精度和可信度。活性參考標簽Tag的應用免去了每個測試點數百次的人工數據采集,且能更好地適應室內環境的波動,提高定位精度。該項技術的定位精度在很大程度上與設備的數量和分布有關,并要求有與之相配套的設備和基礎設施。
基于接收信號強度(RSSI)[3]定位技術,并根據接收節點收到的信號強度,計算出信號的傳播損耗;利用理論與經驗模型,將傳輸損耗轉化為距離,再計算出節點的位置。目前很多控制芯片都具有測量RSSI的功能,無需添加額外的硬件設備來進行精確的時間同步和角度測量,降低了成本,系統的可擴展性良好。因此該項技術已成為室內定位技術的研究熱點。
2 CC2431定位系統
CC2431[4]是TI公司推出的針對無線傳感器網絡ZigBeeTM / IEEE 802.15.4應用的片上系統(SoC)解決方案。其內部集成了CC2420射頻收發器、工業標準增強型8051MCU內核、128 KB Flash ROM和8 KB RAM。由于CC2431可工作在4種工作模式下,且工作模式之間的轉換時間較短,因而能夠滿足超低功耗系統的要求。CC2431的主要性能特點如下:
(1) 定位引擎能精確計算網絡中節點位置;
(2) 具有高性能低功耗的8051控制器核;
(3) 集成符合IEEE 802.15.4標準的2.4 GHz RF無線收發機(具有工業級領先的CC2420射頻內核);
(4) 優良的無線接收靈敏度和強大的抗干擾性能;
(5) 128 KB可編程閃存;
(6) 8 KB RAM,4 KB帶所有功耗模式數據保持功能;
(7) 強大的DMA 功能;
(8) 極少的外部元器件;
(9) 網狀網絡僅需單一晶體;
(10) 低電流損耗(微控制器運行于32 MHz時,接收和發射分別為27 mA和25 mA);
(11) 休眠模式時僅0.9 μA電流損耗,外部中斷或RTC能喚醒系統;
(12) 待機模式下小于0.6 μA電流損耗,外部中斷能喚醒系統;
(13) 低功耗模式與主動模式之間的快速切換保證了低占空比系統的超低平均功耗;
(14) 硬件支持CSMA/CA功能;
(15) 較寬的電壓范圍(2.0~3.6 V);
(16) 數字化的RSSI/LQI支持;
(17) 具有電池監測和溫度傳感器;
(18) 多達8路輸入的8~14位模/數轉換;
(19) 集成AES-128安全協處理器;
(20) 帶有兩個功能強大的支持多組協議的USART;
(21) 支持硬件調試;
(22) 集成看門狗定時器;
(23) 具有1個符合IEEE 802.15.4規范的MAC計時器,1個常規的16位計時器和兩個8位計時器;
(24) 21個普通I/O引腳,其中兩個具有20 mA驅動能力;
(25) 強大靈活的開發工具。
2.1 CC2431定位引擎的操作
CC2431的定位引擎采用基于接收信號強度指示(RSSI)的距離定位方法,根據接收信號強度及已知參考節點位置,準確計算出待定位節點的位置,然后將位置信息發送給接收端,與集中型定位系統相比,進行分布節點定位,以減少網絡通信量和網絡通信延遲。CC2431的定位引擎操作流程如圖1所示。
圖1 CC2431定位引擎操作流程
定位引擎需要3~16個參考節點的坐標[x0,y0,x1,y1,…,x15,y15]作為輸入。參考節點的坐標表示每個參考節點的位置,是在[0,63.75]范圍內的無符號數值。最高分辨率為0.25 m。所有參考坐標被裝載入RF寄存器REFCOORD。在寫入寄存器REFCOORD之前,寄存器LOCENG.REFLD位必須置1以指示有1組參考坐標要寫入。16個坐標對都必須寫入,當定位引擎使用的參考節點數少于16個時,為了標記某些參考坐標未使用,將0載入作為未使用的參考坐標值,這些參考節點的RSSI值為0.0。當所有參考坐標寫入后,LOCENG.REFLD=0。定位引擎除了需要參考坐標外,還需要一組測量參數,這些參數包括:2個射頻參數A和n,4個搜索邊界坐標和16個RSSI值。定義參數A為距離發射機1 m參考距離下接收信號強度的絕對值,定位引擎要求參數A的范圍為[30.0,50.0],精度為0.5。參數A為無符號定點值,最后一位為小數位,其余位表示整數部分。參數n被定義為路徑損耗指數(描述信號功率隨著距離的增加而衰減的速率),這種衰減正比于d-n(d表示發射機與接收機之間的距離)。在估算定位x,y坐標時,先設定搜索邊界,以降低錯誤和估計時間,最大搜索區域的x,y范圍為[0.0,63.75]。假設定位引擎搜索被限制在一個矩形區域,坐標為(x璵in,y璵in)和(x璵ax,y璵ax),輸入定位引擎的4個搜索邊界參數為x璵in,x璬elta,y璵in,y璬elta,其中x璬elta=x璵ax-x璵iny璬elta=y璵ax-y璵in,如果選擇在整個可能的區域內搜索,則這4個參數值為:0.0,63.75,0.0,63.75。如果某個參數遺漏,則定位引擎無法正確地估算位置。RSSI值是對應于一組參考坐標的RSSI測量值,其范圍在[-40 dBm,-95 dBm],精度0.5 dBm,寫入時符號被去掉。如果使用的參考節點個數少于16個,則必須寫入0.0作為接收信號強的度值。所有測量得到的參數都裝載入RF寄存器MEASPARM。在寫入MEASPARM之前,寄存器位LOCENG.PARLD必須置1,以指示有1組測量得到的參數要寫入。參數裝載過程開始后,所有22個參數都必須被寫入。測量得到的參數寫入順序為[A,n,x璵in,x璬elta,y璵in,y璬elta,RSSI0,RSSI1,…,RSSI15]。當參考坐標和測量得到的參數寫入后,通過將寄存器位LOCENG.RUN置1啟動定位估計計算。當LOCENG.DONE置1時,估計得到的坐標可以從寄存器LOCX和LOCY中讀出。LOCENG.RUN置1到讀出估計坐標的時間間隔則根據搜索邊界參數的不同在50 μs~13 ms之間變化。定位引擎不產生任何中斷請求。由LOCX寄存器給出的x坐標估計值包含一個偏移量,該偏移量必須被去除,以得到真實的x坐標。去除的方法如下:x=(x璍OCX-x璵in+1)%(x璬elta+1)+x璵in。可直接使用由LOCY寄存器給出的y坐標估計值。
2.2 CC2431定位系統的操作流程
CC2431定位系統[4]由網絡監控管理設備、參考節點與盲節點組成。其中,網絡監控管理設備使用串口發送和接收定位協議消息,它依附于主系統并且被用作匯聚節點接收盲節點響應、配置參考節點以及設置盲節點參數。當網絡監控管理設備應用程序接收到盲節點的響應信息時,通過串口把數據傳給主系統。盲節點包含CC2431定位引擎,定位引擎通過無線測距范圍內應答的參考節點坐標以及發送至這些參考節點信息的RSSI值完成定位運算。盲節點首先發出一定時序的RSSI Blast信息廣播,當等待盲節點已配置完成規定的時間間隔后,盲節點向參考節點發出XY-RSSI請求廣播,每個接收到RSSI Blast信息廣播的參考節點將進行接收到信息的RSSI值計算,當接收到XY-RSSI請求時,參考節點將向盲節點發回其位置信息以及RSSI值。整個定位系統的定位時序圖如圖2所示。
3 實驗測試及驗證結果
這里以TI公司的CC2431節點作為實驗平臺,選擇8.0 m×8.0 m的實驗室作為實地測試環境進行測試,在實驗室的4個墻角及中間位置布置了5個CC2431作為參考節點,其位置已知且固定不動。盲節點對均勻分布在測試環境內的49個點進行定位測試,定位結果如圖3所示:
圖2 定位系統定位時序圖
圖3 定位測試結果
根據獲取的待定位節點坐標實測數據,通過Matlab進行數據處理,以得到系統的定位誤差,定位誤差的分布如圖4所示:
圖4 定位誤差累積分布函數曲線
由圖4曲線可以看出,在室內環境下,采用CC2431定位系統能夠分別實現50%和90%的定位,結果誤差前者在1.0 m以內,后者在2.5 m以內,完全能夠達到室內環境下定位精度的要求。
4 結 語
首先比較目前已有的室內定位技術的優缺點,重點介紹CC2431定位引擎的使用方法和CC2431定位系統的定位流程。完成了定位系統的部署,定位結果令人滿意。CC2431能夠滿足低功耗、抗干擾、準確快速定位的要求,為室內定位提供具有競爭力的解決方案。
參考文獻
[1]馬玉秋,龍承志,沈樹群.長距離移動定位技術與室內定位技術[J].數據通信,2004(5):39-41.
[2]孫瑜,范平志.射頻識別技術及其在室內定位中的應用[J].計算機應用,2005,25(5):1 025-1 208.
[3]張明華,張申生,曹健.無線局域網中基于信號強度的室內定位[J].計算機科學,2007,34(6):68-71,75.
[4]CC2431 Location Engine Data Sheet.
[5]CC2431ZDK Development Kit User Manual.Rev.1.5.
[6] 艾春麗,張鳳登,劉榮鵬.基于CC2500的無線樓宇跟蹤系統軟硬件設計.現代電子技術,2007,30(19):138-140.
[7]徐澄,安博文.無線局域網中的載波偵聽.現代電子技術,2005,28(8):18-19.
作者簡介 呂 源 山東嘉祥人,北京工業大學碩士研究生。主要研究方向為無線傳感器網絡、室內定位技術。
李 軍 山東煙臺人,北京工業大學碩士研究生。主要研究方向為無線傳感器網絡、室內定位技術。