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