朱曉君,張兆雄,李 權(quán),何仁旺
(1.江西理工大學(xué) 軟件工程學(xué)院,江西 南昌 330013;2.江西理工大學(xué) 能源與機(jī)械工程學(xué)院,江西 南昌 330013)
室內(nèi)定位是一種相對(duì)小眾且近幾十年尚未深入開發(fā)的領(lǐng)域,但隨著人們對(duì)智慧家居生活有著愈來愈高的需求,實(shí)現(xiàn)高精度且具有人性化的室內(nèi)定位解決方案已經(jīng)成為當(dāng)下的研究熱點(diǎn)。傳統(tǒng)的衛(wèi)星定位技術(shù)已不適用于室內(nèi)定位場(chǎng)景,因?yàn)槭覂?nèi)建筑物的阻擋作用對(duì)衛(wèi)星定位的低穿透性信號(hào)的影響十分明顯[1],衛(wèi)星定位的效果差強(qiáng)人意。一般來說,人們使用室內(nèi)定位技術(shù)作為衛(wèi)星定位的拓展定位技術(shù),解決衛(wèi)星信號(hào)到達(dá)地面時(shí)強(qiáng)度較弱、不能穿透建筑物的問題。常見的室內(nèi)定位技術(shù)主要有紅外線定位技術(shù)、超聲波定位技術(shù)、WiFi定位技術(shù)、藍(lán)牙定位技術(shù)等。這些室內(nèi)定位技術(shù)相比GPS技術(shù)而言有著成本低、實(shí)現(xiàn)方便和原理簡(jiǎn)單等優(yōu)點(diǎn),能夠滿足大型立體商場(chǎng)、城市圖書館和居民樓緊急救援等場(chǎng)景的定位需求。
人們一天中平均80%的時(shí)間在室內(nèi),80%的移動(dòng)終端使用的數(shù)據(jù)連接在室內(nèi)完成,這無疑為運(yùn)用移動(dòng)終端技術(shù)解決室內(nèi)定位問題孕育了豐厚的土壤。藍(lán)牙技術(shù)是多種室內(nèi)定位技術(shù)方案中的一種,它是一種短距離低功耗的無線傳輸技術(shù)[2]。通過在室內(nèi)適當(dāng)位置安裝多個(gè)藍(lán)牙參考節(jié)點(diǎn)作為標(biāo)定的基準(zhǔn)位置,參考節(jié)點(diǎn)之間形成緊密聯(lián)系的藍(lán)牙定位網(wǎng)絡(luò),當(dāng)未知節(jié)點(diǎn)進(jìn)入該網(wǎng)絡(luò)中,通過檢測(cè)到各參考節(jié)點(diǎn)的信號(hào)或距離信息,將這些信息代入已知的系統(tǒng)方程,就可以實(shí)現(xiàn)目標(biāo)節(jié)點(diǎn)的定位[3]。對(duì)于復(fù)雜的空間環(huán)境,藍(lán)牙定位系統(tǒng)的穩(wěn)定性稍弱,受噪聲信號(hào)干擾大。故在實(shí)驗(yàn)中,應(yīng)最大程度保持室內(nèi)環(huán)境的簡(jiǎn)單及穩(wěn)定,以保證環(huán)境衰減因子的不變性和RSSI信號(hào)的穩(wěn)定性。
本文主要通過測(cè)量定位節(jié)點(diǎn)到參考節(jié)點(diǎn)間的藍(lán)牙信號(hào)強(qiáng)度,利用對(duì)數(shù)損耗模型進(jìn)行RSSI與距離的轉(zhuǎn)換。由于三邊定位法在實(shí)際應(yīng)用中存在一些不足,文中實(shí)驗(yàn)過程對(duì)其進(jìn)行了修正計(jì)算并得到結(jié)果。本文采用最小二乘定位算法進(jìn)行定位效果的優(yōu)化,經(jīng)過比較,采用最小二乘定位算法獲得了較三邊定位算法更為精確的節(jié)點(diǎn)坐標(biāo)值。
藍(lán)牙(Bluetooth)是一種無線技術(shù)標(biāo)準(zhǔn),可實(shí)現(xiàn)固定設(shè)備、移動(dòng)設(shè)備和樓宇個(gè)人域網(wǎng)之間的短距離數(shù)據(jù)交換,其使用2.4~2.485 GHz的ISM波段的UHF無線電波[4]。藍(lán)牙技術(shù)最初由愛立信公司于1994年提出,當(dāng)時(shí)作為RS 232數(shù)據(jù)線的替代方案。藍(lán)牙可連接多個(gè)設(shè)備,克服了數(shù)據(jù)同步的一些難題。
接收信號(hào)強(qiáng)度(RSSI)的英文全稱是Received Signal Strength Indication,表示接收的信號(hào)強(qiáng)度指示,用來判定鏈接質(zhì)量,以及是否增大廣播發(fā)送強(qiáng)度。藍(lán)牙等無線技術(shù)均有RSSI的相關(guān)概念,且其理論研究也比較成熟,故利用RSSI實(shí)現(xiàn)定位通常是無線定位方案中值得采取的一類方案。
基于藍(lán)牙RSSI的測(cè)距法充分利用了信號(hào)的傳播特性,無線信號(hào)的信號(hào)能量隨著傳播距離的延長(zhǎng),能量的衰減將隨之增大,強(qiáng)度亦減弱[5]。因此,如果已知移動(dòng)終端接收到信號(hào)強(qiáng)度值,并選擇合適的信號(hào)衰落模型,將傳播過程中的損耗值代入模型,就可以計(jì)算得到收發(fā)節(jié)點(diǎn)之間的距離。比如三邊定位法利用三組RSSI值得到三邊距離,求解三組方程,得到定位節(jié)點(diǎn)的坐標(biāo)信息。
采用基于信號(hào)強(qiáng)度測(cè)距的方法實(shí)現(xiàn)比較簡(jiǎn)單,減少了過多硬件設(shè)備的成本[6]。在小區(qū)域空間范圍內(nèi)信號(hào)模型會(huì)較為接近理論值,因此室內(nèi)定位多采用這種方法。但是由于實(shí)驗(yàn)中存在室內(nèi)家具、人流等阻礙和無線信號(hào)本身具有的反射、繞射、多徑效應(yīng)等干擾[7],定位結(jié)果存在誤差,因此選擇一個(gè)合適的路徑損耗模型具有非常重要的意義。常用的信號(hào)傳播中的路徑損耗模型包括自由空間模型、MK模型以及對(duì)數(shù)距離路徑損耗模型。
自由空間模型的使用條件是發(fā)射節(jié)點(diǎn)和接收節(jié)點(diǎn)之間完全無障礙物干擾。自由空間中假設(shè)信號(hào)在真空中傳輸,其信號(hào)強(qiáng)度衰減模型可用公式(1)表示:
式中:Pt為發(fā)射節(jié)點(diǎn)的發(fā)射功率;Gt為發(fā)射端天線增益;Gr為接收端接收天線增益;λ為傳輸波長(zhǎng),單位為m;d為發(fā)射節(jié)點(diǎn)和接收節(jié)點(diǎn)的距離;β為與傳播無關(guān)的硬件損耗因子(β≥1);Pr(d)為接收節(jié)點(diǎn)的接收功率。接收端天線增益與其有效截面A有關(guān),即。
MK模型將室內(nèi)信號(hào)在傳輸過程中障礙物的影響納入了考慮范圍,損耗模型要求能夠很好地反應(yīng)來自地板和墻壁的信號(hào)損耗,其修正傳播模型損耗公式為:
式中:Lc為常數(shù);Lf為穿過不同材質(zhì)的墻體和地板的衰減;為穿過不同材質(zhì)墻體和地板的數(shù)目。典型的參數(shù)取值為L(zhǎng)f=18.3 dB,軟隔墻的損耗LWj=3.4 dB,硬隔墻的損耗LW2=6.9 dB[8]。該模型的損耗參數(shù)相對(duì)固定,不能較好地適用于不同環(huán)境,并且損耗相關(guān)參數(shù)也會(huì)受到室內(nèi)家具等因素的影響。
在不同的室內(nèi)環(huán)境中,無線信號(hào)損耗與自由空間模型相比有較大的不同,信號(hào)在傳輸過程中易受到多徑效應(yīng)、非視距等因素影響,因此接收到的信號(hào)強(qiáng)度值是多個(gè)信號(hào)的疊加。通過大量實(shí)驗(yàn)數(shù)據(jù)擬合和驗(yàn)證,科研人員得到了接收的信號(hào)強(qiáng)度與距離呈對(duì)數(shù)關(guān)系的規(guī)律,這就是對(duì)數(shù)距離路徑損耗模型??梢员硎緸椋?/p>
式中:d為移動(dòng)節(jié)點(diǎn)和信標(biāo)節(jié)點(diǎn)間的間距;d0為參考距離;n為信號(hào)衰減因子,表示損耗隨距離增長(zhǎng)的速率,由周圍環(huán)境和建筑物所決定;Xσ是方差為σ的正態(tài)隨機(jī)分布。對(duì)數(shù)距離損耗模型適用于室內(nèi)無大型障礙物的環(huán)境,避免了多徑效應(yīng)等問題。本文基于對(duì)數(shù)距離模型,將RSSI值轉(zhuǎn)化為距離d,減小了實(shí)驗(yàn)誤差。
基于藍(lán)牙RSSI的測(cè)距方法是利用無線電信號(hào)隨距離增大而有規(guī)律衰減的原理來測(cè)量節(jié)點(diǎn)間的距離。接收信號(hào)強(qiáng)度RSSI與傳輸距離d的關(guān)系如下所示:
式中:n表示信號(hào)傳播常數(shù),即衰減因子;A表示距發(fā)送者1 m時(shí)接收信號(hào)強(qiáng)度的絕對(duì)值;d表示與發(fā)送者的距離。測(cè)距精度的高低受n與A實(shí)際取值大小的影響。A是一個(gè)經(jīng)驗(yàn)參數(shù),可以通過求取距離發(fā)送者1 m處的RSSI絕對(duì)值的平均值來獲得較為準(zhǔn)確的A值。n用來描述信號(hào)強(qiáng)度隨距離增加而遞減的參量,即衰減因子。衰減因子的取值主要受障礙物尺寸和人員流動(dòng)等環(huán)境因素和無線信號(hào)在空氣中的衰減、反射、多徑效應(yīng)等干擾,如果干擾較小,傳播因子n值越小,信號(hào)傳播距離越遠(yuǎn),無線信號(hào)的傳播曲線越接近于理論曲線,基于RSSI的測(cè)距就會(huì)越精確。
為得到最優(yōu)的n值,本文中介紹的實(shí)驗(yàn)將先放置好所有參考節(jié)點(diǎn),然后選取一些已知位置的節(jié)點(diǎn),這些節(jié)點(diǎn)的數(shù)量可以盡可能大,通過在該節(jié)點(diǎn)測(cè)量對(duì)應(yīng)參考節(jié)點(diǎn)的RSSI值。用標(biāo)尺實(shí)測(cè)距離,代入n值公式求取平均值,并把它作為該室內(nèi)環(huán)境的衰減因子。
三邊測(cè)量法常用于全球定位GPS系統(tǒng)來確定目標(biāo)節(jié)點(diǎn)的坐標(biāo)[9],原理如圖1所示。
圖1 三邊定位模型
參考節(jié)點(diǎn)A、B、C的位置坐標(biāo)提前已知,三個(gè)圓相交于點(diǎn)O,設(shè)點(diǎn)O的坐標(biāo)為(x0,y0),點(diǎn)A的坐標(biāo)為(x1,y1),點(diǎn)B的坐標(biāo)為(x2,y2),點(diǎn)C的坐標(biāo)為(x3,y3),O點(diǎn)距離參考節(jié)點(diǎn)的距離分別為d1、d2、d3,其值的獲得是由對(duì)數(shù)路徑損耗公式計(jì)算得到的,公式如下:
一般情況下d0取1 m,ABS(RSSI(d0))用A表示,表示距離1 m遠(yuǎn)的RSSI值的絕對(duì)值,見式(4)。
通過上式可以求得d1、d2、d3,則:
聯(lián)合方程可以得到:
通過求解上式即可得到未知節(jié)點(diǎn)的位置(x,y)。
由公式(7)及圖1可知,三個(gè)圓相交的一點(diǎn)即為定位節(jié)點(diǎn)。但三邊測(cè)量法的不足之處是如果信號(hào)的傳播過程中伴隨著噪聲干擾,如圖2所示,三個(gè)定位圓就不會(huì)準(zhǔn)確相交于一點(diǎn),這導(dǎo)致按照正常解法代入d1、d2、d3后無法求解出正確的坐標(biāo)值。在本文的計(jì)算過程中,將三個(gè)圓兩兩相交的內(nèi)部三點(diǎn)組合形成新三角形,如圖2中箭頭所指的三點(diǎn)形成的三角形,將該三角形外接圓的圓心作為目標(biāo)節(jié)點(diǎn),得到目標(biāo)節(jié)點(diǎn)的擬合坐標(biāo)。
圖2 三邊定位法出現(xiàn)的問題
鑒于三邊測(cè)量法在實(shí)際應(yīng)用中存在不足,故我們將三邊測(cè)量法變形為多邊測(cè)量法,已知A1,A2, ...,An節(jié)點(diǎn)的坐標(biāo)分別為(x1,y1),(x2,y2), ..., (xn,yn)。其中,節(jié)點(diǎn)N到A1,A2, ...,An節(jié)點(diǎn)的距離為d1,d2, ...,dn,原理如圖3所示。
圖3 多邊測(cè)量法
假設(shè)N的坐標(biāo)為(x,y),那么得到公式:
采用最小二乘定位算法求解式(8),將前n-1個(gè)公式分別減去最后一個(gè)公式,得到:將公式轉(zhuǎn)化線性方程組AX=b的形式,因此
由于測(cè)試可能存在的誤差,因此合理的模型是:
式中,N為n-1維隨機(jī)誤差向量,為了得到最優(yōu)解,求矩陣X的值需要使N=b-AX的值最小,其誤差均方差為:
對(duì)式(14)進(jìn)行求導(dǎo),并令其值為0,得到式(15),進(jìn)而可得到待測(cè)節(jié)點(diǎn)的坐標(biāo)矩陣X,即式(16):
最小二乘法的優(yōu)點(diǎn)是可以充分利用采集的節(jié)點(diǎn)信息來定位,在測(cè)距存在一定誤差的情況下,仍然可以獲得較高的定位精度,因此在很多定位方案中都會(huì)采用這種方法。
為滿足測(cè)量某一未知節(jié)點(diǎn)到其他節(jié)點(diǎn)藍(lán)牙RSSI值的便捷性要求,文中采用MIT App Inventor設(shè)計(jì)平臺(tái)來獨(dú)立開發(fā)一款藍(lán)牙信號(hào)檢測(cè)軟件—Bluetooth Detector。當(dāng)今時(shí)代的智能手機(jī)大部分都有藍(lán)牙模塊,具有普適性和便捷性等特點(diǎn)[10],因此采用手機(jī)作為終端檢測(cè)設(shè)備是較優(yōu)的選擇。同時(shí),由于許多如藍(lán)牙耳機(jī)等電子設(shè)備均含有藍(lán)牙模塊,采用藍(lán)牙作為檢測(cè)指標(biāo)解決了設(shè)備終端局限于智能手機(jī)的問題,普及面相比WiFi更廣。
App Inventor是谷歌公司開發(fā)的一款手機(jī)編程平臺(tái),App Inventor用戶能夠通過該軟件使用谷歌Android系列軟件自行研發(fā)適合手機(jī)使用的任意應(yīng)用程序。
MIT App Inventor能夠?qū)粹o、文字輸入輸出等軟件代碼編寫成不同的模塊。開發(fā)App Inventor軟件時(shí),設(shè)計(jì)者只需根據(jù)自身需求完成拼裝即可。最后通過手機(jī)與電腦聯(lián)接或者直接下載在手機(jī)上,程序就可以在用戶的手機(jī)上運(yùn)行使用。
App Inventor的設(shè)計(jì)理念是簡(jiǎn)約和操作容易,它們大部分是為操控硬件而產(chǎn)生的,通過導(dǎo)入相應(yīng)的硬件控制模塊,就可以實(shí)現(xiàn)幾乎所有功能。本文中的Bluetooth Detector通過外部導(dǎo)入BluetoothLE1模塊,滿足了測(cè)量藍(lán)牙RSSI的功能需求。手機(jī)APP截圖如圖4所示。
圖4 手機(jī)APP截圖
本實(shí)驗(yàn)的應(yīng)用場(chǎng)景是江西理工大學(xué)南昌校區(qū)第一教學(xué)樓某間教室,教室中的主線路分散布置了14個(gè)目標(biāo)節(jié)點(diǎn)。在該室內(nèi)平面建立了一個(gè)200 cm×200 cm的平面二維坐標(biāo)系,并選取了3個(gè)參考節(jié)點(diǎn)A,B,C,坐標(biāo)分別為(0,0),(50,200),(200,50),單位為cm,分別記為(x1,y1),(x2,y2),(x3,y3)。實(shí)驗(yàn)中采用3部不同MAC地址的藍(lán)牙耳機(jī)作為發(fā)出藍(lán)牙信號(hào)的主設(shè)備,放置在3個(gè)參考節(jié)點(diǎn)的位置。實(shí)驗(yàn)開始前需要對(duì)此間教室的環(huán)境參數(shù)進(jìn)行初步確定,通過測(cè)量已知位置的2個(gè)節(jié)點(diǎn)之間的RSSI值,代入公式,求出A值及n值。之后依次在需要定位的14個(gè)目標(biāo)節(jié)點(diǎn)處放置手機(jī)終端,在手機(jī)終端上打開藍(lán)牙信號(hào)檢測(cè)軟件—Bluetooth Detector,通過查看APP中的設(shè)備列表測(cè)出該點(diǎn)相對(duì)于3臺(tái)參考設(shè)備的RSSI值,記錄數(shù)據(jù),代入公式,列出方程求解未知節(jié)點(diǎn)的位置坐標(biāo)。
實(shí)驗(yàn)正式開始前,在教室的平面坐標(biāo)中,先隨機(jī)選取10個(gè)節(jié)點(diǎn),利用這些節(jié)點(diǎn)測(cè)出其相對(duì)一個(gè)參考節(jié)點(diǎn)的RSSI值,同時(shí)測(cè)出A值,通過皮尺測(cè)出真實(shí)的距離d,將實(shí)驗(yàn)數(shù)據(jù)記錄在表1中,如下所列。
表1 選取10個(gè)樣點(diǎn)的數(shù)據(jù)
MATLAB是一款用于數(shù)據(jù)分析、無線通信、深度學(xué)習(xí)、圖像處理與計(jì)算機(jī)視覺、信號(hào)處理、量化金融與風(fēng)險(xiǎn)管理等領(lǐng)域的商業(yè)數(shù)學(xué)軟件。本實(shí)驗(yàn)中將利用MATLAB軟件進(jìn)行RSSI數(shù)據(jù)的計(jì)算分析,導(dǎo)入表1。通過編寫算法,計(jì)算出該教室的n值。最終計(jì)算所得n值為4.1,A值為47。
得到合理的n值后,我們使用的RSSI距離公式就有了更加精確的運(yùn)用。為了更好地測(cè)量和記錄未知節(jié)點(diǎn)的坐標(biāo)信息,我在場(chǎng)地中選取的參考節(jié)點(diǎn)分別是(0,0),(50,200),(200,50),單位為cm,這時(shí)我們代入14組目標(biāo)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)通過穩(wěn)定測(cè)量都得到了5組數(shù)據(jù),求其平均值并運(yùn)用。采用三邊測(cè)量算法,通過MATLAB等計(jì)算方法得到這些點(diǎn)的坐標(biāo)數(shù)據(jù),實(shí)際坐標(biāo)、測(cè)得坐標(biāo)與誤差見表2所列。
表2 三邊法測(cè)得坐標(biāo)與實(shí)際坐標(biāo)對(duì)比 cm
為了更直觀比較和分析誤差,三邊測(cè)量法下實(shí)際坐標(biāo)點(diǎn)和測(cè)得坐標(biāo)點(diǎn)在同一張坐標(biāo)系中的繪制如圖5所示。通過驗(yàn)算和比較,該算法下定位誤差較大。
圖5 三邊測(cè)量法下測(cè)得節(jié)點(diǎn)與實(shí)際位置的比較
最小二乘定位算法對(duì)三邊測(cè)量算法進(jìn)行了優(yōu)化和補(bǔ)充,這里通過對(duì)最小二乘定位算法進(jìn)行MATLAB編寫程序(添加由測(cè)量RSSI引起的誤差噪聲),輸入3個(gè)參考節(jié)點(diǎn)的坐標(biāo)位置,得到14個(gè)點(diǎn)的測(cè)得位置與實(shí)際位置的偏差,見表3所列。
表3 最小二乘法測(cè)得坐標(biāo)與實(shí)際坐標(biāo)對(duì)比cm
同樣,為了更直觀比較和分析誤差,最小二乘定位算法下實(shí)際坐標(biāo)點(diǎn)和測(cè)得坐標(biāo)點(diǎn)在同一張坐標(biāo)系中的繪制如圖6所示。通過驗(yàn)算和比較,該算法測(cè)量精度較小。
圖6 最小二乘定位算法下測(cè)得節(jié)點(diǎn)與實(shí)際位置的比較
本文基于藍(lán)牙定位技術(shù),利用Bluetooth Detector軟件測(cè)出待測(cè)節(jié)點(diǎn)到參考節(jié)點(diǎn)間的藍(lán)牙RSSI值,并通過對(duì)數(shù)損耗模型將RSSI值轉(zhuǎn)化為距離,隨后采用三邊測(cè)量算法和最小二乘定位算法分別得到待測(cè)節(jié)點(diǎn)在平面中的位置信息。經(jīng)實(shí)驗(yàn)誤差計(jì)算和對(duì)比,結(jié)果表明,最小二乘定位算法在相同條件下得到的誤差更小,具有穩(wěn)定性高和精度大的特點(diǎn)。本文通過實(shí)驗(yàn)驗(yàn)證完成了2個(gè)室內(nèi)藍(lán)牙定位方案的研究與設(shè)計(jì),對(duì)當(dāng)下研究室內(nèi)定位的問題具有一定的借鑒意義。