基于CC2431的室內(nèi)定位系統(tǒng)
定位引擎需要3~16個(gè)參考節(jié)點(diǎn)的坐標(biāo)[x0,y0,x1,y1,…,x15,y15]作為輸入。參考節(jié)點(diǎn)的坐標(biāo)表示每個(gè)參考節(jié)點(diǎn)的位置,是在[O,63.75]范圍內(nèi)的無(wú)符號(hào)數(shù)值。最高分辨率為0.25 m。所有參考坐標(biāo)被裝載入RF寄存器REFCOORD。在寫(xiě)入寄存器REFCOORD之前,寄存器LOCENG.REFLD位必須置1以指示有1組參考坐標(biāo)要寫(xiě)入。16個(gè)坐標(biāo)對(duì)都必須寫(xiě)入,當(dāng)定位引擎使用的參考節(jié)點(diǎn)數(shù)少于16個(gè)時(shí),為了標(biāo)記某些參考坐標(biāo)未使用,將0載入作為未使用的參考坐標(biāo)值,這些參考節(jié)點(diǎn)的RSSI值為O.O。當(dāng)所有參考坐標(biāo)寫(xiě)入后,LOCENG.REFLD=0。定位引擎除了需要參考坐標(biāo)外,還需要一組測(cè)量參數(shù),這些參數(shù)包括:2個(gè)射頻參數(shù)A和n,4個(gè)搜索邊界坐標(biāo)和16個(gè)RSSI值。定義參數(shù)A為距離發(fā)射機(jī)1 m參考距離下接收信號(hào)強(qiáng)度的絕對(duì)值,定位引擎要求參數(shù)A的范圍為[30.0,50.0],精度為0.5。參數(shù)A為無(wú)符號(hào)定點(diǎn)值,最后一位為小數(shù)位,其余位表示整數(shù)部分。參數(shù)n被定義為路徑損耗指數(shù)(描述信號(hào)功率隨著距離的增加而衰減的速率),這種衰減正比于d=n(d表示發(fā)射機(jī)與接收機(jī)之間的距離)。在估算定位x,y坐標(biāo)時(shí),先設(shè)定搜索邊界,以降低錯(cuò)誤和估計(jì)時(shí)間,最大搜索區(qū)域的x,y范圍為[0.0,63.75]。假設(shè)定位引擎搜索被限制在一個(gè)矩形區(qū)域,坐標(biāo)為(xmin,ymin)和(xmax,ymax),輸入定位引擎的4個(gè)搜索邊界參數(shù)為xmin,xdelta,ymin,ydelta,其中xdelta=xmax一xminydelta=ymax-ymin,如果選擇在整個(gè)可能的區(qū)域內(nèi)搜索,則這4個(gè)參數(shù)值為:0.0,63.75,0.0,63.75。如果某個(gè)參數(shù)遺漏,則定位引擎無(wú)法正確地估算位置。RSSI值是對(duì)應(yīng)于一組參考坐標(biāo)的RSSI測(cè)量值,其范圍在[一40 dBm,一95 dBm],精度0.5 dBm,寫(xiě)入時(shí)符號(hào)被去掉。如果使用的參考節(jié)點(diǎn)個(gè)數(shù)少于16個(gè),則必須寫(xiě)入0.O作為接收信號(hào)強(qiáng)的度值。所有測(cè)量得到的參數(shù)都裝載入RF寄存器MEASPARM。在寫(xiě)入MEASPARM之前,寄存器位LOCENG.PARID必須置1,以指示有1組測(cè)量得到的參數(shù)要寫(xiě)入。參數(shù)裝載過(guò)程開(kāi)始后,所有22個(gè)參數(shù)都必須被寫(xiě)入。測(cè)量得到的參數(shù)寫(xiě)入順序?yàn)閇A,n,xmin,xdelta,ymin,ydelta,RSSI0,RSSI1,…,RSSI15]。 當(dāng)參考坐標(biāo)和測(cè)量得到的參數(shù)寫(xiě)入后,通過(guò)將寄存器位LOCENG.RUN置1啟動(dòng)定位估計(jì)計(jì)算。當(dāng)LOCENG.DONE置1時(shí),估計(jì)得到的坐標(biāo)可以從寄存器LOCX和LOCY中讀出。LOCENG.RUN置1到讀出估計(jì)坐標(biāo)的時(shí)間間隔則根據(jù)搜索邊界參數(shù)的不同在50μs~13 ms之間變化。定位引擎不產(chǎn)生任何中斷請(qǐng)求。由LOCX寄存器給出的x坐標(biāo)估計(jì)值包含一個(gè)偏移量,該偏移量必須被去除,以得到真實(shí)的x坐標(biāo)。去除的方法如下:x=(xLOCX-xmin+1)%(xdelta+1)+xmin。可直接使用由LOCY寄存器給出的y坐標(biāo)估計(jì)值。
2.2 CC2431定位系統(tǒng)的操作流程
CC2431定位系統(tǒng)由網(wǎng)絡(luò)監(jiān)控管理設(shè)備、參考節(jié)點(diǎn)與盲節(jié)點(diǎn)組成。其中,網(wǎng)絡(luò)監(jiān)控管理設(shè)備使用串口發(fā)送和接收定位協(xié)議消息,它依附于主系統(tǒng)并且被用作匯聚節(jié)點(diǎn)接收盲節(jié)點(diǎn)響應(yīng)、配置參考節(jié)點(diǎn)以及設(shè)置盲節(jié)點(diǎn)參數(shù)。當(dāng)網(wǎng)絡(luò)監(jiān)控管理設(shè)備應(yīng)用程序接收到盲節(jié)點(diǎn)的響應(yīng)信息時(shí),通過(guò)串口把數(shù)據(jù)傳給主系統(tǒng)。盲節(jié)點(diǎn)包含CC2431定位引擎,定位引擎通過(guò)無(wú)線測(cè)距范圍內(nèi)應(yīng)答的參考節(jié)點(diǎn)坐標(biāo)以及發(fā)送至這些參考節(jié)點(diǎn)信息的。RSSI值完成定位運(yùn)算。盲節(jié)點(diǎn)首先發(fā)出一定時(shí)序的RSSIBlast信息廣播,當(dāng)?shù)却す?jié)點(diǎn)已配置完成規(guī)定的時(shí)間間隔后,盲節(jié)點(diǎn)向參考節(jié)點(diǎn)發(fā)出XY―RSSI請(qǐng)求廣播,每個(gè)接收到RSSI Blast信息廣播的參考節(jié)點(diǎn)將進(jìn)行接收到信息的RSSI值計(jì)算,當(dāng)接收到XY―RSSI請(qǐng)求時(shí),參考節(jié)點(diǎn)將向盲節(jié)點(diǎn)發(fā)回其位置信息以及RSSI值。整個(gè)定位系統(tǒng)的定位時(shí)序圖如圖2所示。
3 實(shí)驗(yàn)測(cè)試及驗(yàn)證結(jié)果
這里以TI公司的CC2431節(jié)點(diǎn)作為實(shí)驗(yàn)平臺(tái),選擇8.O m×8.0 m的實(shí)驗(yàn)室作為實(shí)地測(cè)試環(huán)境進(jìn)行測(cè)試,在實(shí)驗(yàn)室的4個(gè)墻角及中間位置布置了5個(gè)CC2431作為參考節(jié)點(diǎn),其位置已知且固定不動(dòng)。盲節(jié)點(diǎn)對(duì)均勻分布在測(cè)試環(huán)境內(nèi)的49個(gè)點(diǎn)進(jìn)行定位測(cè)試,定位結(jié)果如圖3所示:
根據(jù)獲取的待定位節(jié)點(diǎn)坐標(biāo)實(shí)測(cè)數(shù)據(jù),通過(guò)Mat―lab進(jìn)行數(shù)據(jù)處理,以得到系統(tǒng)的定位誤差,定位誤差的分布如圖4所示:
由圖4曲線可以看出,在室內(nèi)環(huán)境下,采用CC2431定位系統(tǒng)能夠分別實(shí)現(xiàn)50%和90%的定位,結(jié)果誤差前者在1.O m以內(nèi),后者在2.5 m以內(nèi),完全能夠達(dá)到室內(nèi)環(huán)境下定位精度的要求。
4 結(jié) 語(yǔ)
首先比較目前已有的室內(nèi)定位技術(shù)的優(yōu)缺點(diǎn),重點(diǎn)介紹CC2431定位引擎的使用方法和CC2431定位系統(tǒng)的定位流程。完成了定位系統(tǒng)的部署,定位結(jié)果令人滿意。CC2431能夠滿足低功耗、抗干擾、準(zhǔn)確快速定位的要求,為室內(nèi)定位提供具有競(jìng)爭(zhēng)力的解決方案。
評(píng)論