劉振遠,侯明祥,方維維,李陽陽 ,路紅英
(1. 北京交通大學(xué) 計算機與信息技術(shù)學(xué)院,北京 100044;2. 中國電子科學(xué)研究院 創(chuàng)新中心,北京 100041)
近年來,人們對室內(nèi)位置服務(wù)[1]的需求與日俱增,室內(nèi)定位在商場、醫(yī)院、機場、會展中心、大型停車場都有非常廣泛的應(yīng)用。如大型商場中的商戶希望能夠通過室內(nèi)定位獲知哪些地方人流量較大,顧客們通常會選擇哪些行走路線等,從而更科學(xué)地布置柜臺或者選擇舉辦促銷活動的地點。消費者則希望進入商場后能夠直接快速地獲取商店或者所需產(chǎn)品的位置。然而,目前主流的GPS定位技術(shù)主要用在室外場景,在室內(nèi)環(huán)境下GPS信號受到墻體的阻隔或反射,很難穿透建筑物到達室內(nèi),也就無法實現(xiàn)室內(nèi)環(huán)境下的定位和位置服務(wù)。
為了彌補GPS定位技術(shù)在室內(nèi)環(huán)境下定位效果的不足,出現(xiàn)了多種室內(nèi)無線定位技術(shù),如UWB、Zigbee、超聲波和藍牙等。這幾種室內(nèi)無線定位技術(shù)各有特點:UWB(超寬帶)定位技術(shù),多徑分辨能力強、精度高,定位精度可達厘米級,但UWB難以實現(xiàn)大范圍室內(nèi)覆蓋,且手機不支持UWB,定位成本非常高;ZigBee室內(nèi)定位技術(shù),其信號傳輸受多徑效應(yīng)和移動的影響都很大,而且定位精度取決于信道物理品質(zhì)、信號源密度、環(huán)境和算法的準(zhǔn)確性,造成定位軟件的成本較高,提高空間還很大;超聲波定位應(yīng)用案例的代表是Shopkic,在商店內(nèi)安裝超聲波信號盒,手機麥克風(fēng)檢測到聲波,從而實現(xiàn)定位,主要用于店鋪的簽到。超聲波在空氣中的衰減較大,不適用于大型場合,加上反射測距時受多徑效應(yīng)和非視距傳播影響很大,造成需要精確分析計算的底層硬件設(shè)施投資,成本太高。 2013年,蘋果公司基于新一代的低功耗藍牙(Bluetooth Low Energy,簡稱BLE)標(biāo)準(zhǔn),推出了iBeacon技術(shù)[2],具有低成本、低功耗及快速連接的特點,迅速成為室內(nèi)位置服務(wù)的主流技術(shù)之一。類似的技術(shù)還有Google公司的Eddystone和Radius Networks公司的AltBeacon。它們的工作原理是:設(shè)備自身可以創(chuàng)建一個信號區(qū)域,定期地向周圍發(fā)送藍牙廣播幀,藍牙廣播幀的有效負載中攜帶了自身的通用唯一標(biāo)識符、自身與接收設(shè)備之間相距1 m時的參考接收信號強度、實際的接收信號強度指示(Received Signal Strength Indication ,簡稱RSSI)等信息,支持低功耗藍牙的移動設(shè)備能夠接收到這種廣播幀,并可以根據(jù)收到的信息實現(xiàn)電子圍欄、消息推送、室內(nèi)定位等功能。理論上,對于持有集成了藍牙功能的移動終端設(shè)備的用戶,只要設(shè)備的藍牙功能開啟,藍牙室內(nèi)定位系統(tǒng)就能夠?qū)ζ溥M行位置判斷,因此相比其他幾種室內(nèi)定位技術(shù),更容易推廣普及。本文主要研究基于iBeacon的室內(nèi)定位方法,在現(xiàn)有技術(shù)的基礎(chǔ)上,從測距模型的建立、多邊定位算法的改進、特殊區(qū)域的定位三個角度,提出了相應(yīng)的解決方案,并進行了驗證。結(jié)果表明,本文提出的方法可以保證在室內(nèi)環(huán)境實用中可接受的定位精度。
一般來說,無線信號的信號強度和距離之間存在著一定的關(guān)系。在自由空間環(huán)境中,不考慮阻擋和多徑傳播,設(shè)發(fā)射端與接收端的距離為d,則接收端的接收功率Pr可表示為:
(1)
其中Pt為發(fā)射功率;Gt和Gr分別為發(fā)射和接收天線增益;λ為電波波長。由上式可以看出,在自由空間中,接收功率與距離d2成反比。在實際環(huán)境中,由于存在多徑、障礙物、繞射等隨機因素,無線電傳播損耗與上式相比還是有較大變化。近幾年的相關(guān)研究中[4],常采用了對數(shù)-常態(tài)分布模型:
(2)
其中Pr單位為dBm ,d0一般取1 m。在一般室內(nèi)定位中,考慮到環(huán)境、成本、定位精度要求等因素,所使用的RSSI測距信號漸變模型進一步簡化為:
RSSI=A-10nlog10d
(3)
其中d為定位節(jié)點與參考點之間的距離,單位為m;A為定位節(jié)點與參考點之間的距離為1 m時的參考RSSI值;n為信號漸變因子,范圍一般為2~4。
iBeacon的廣播幀中包含了iBeacon模塊與接收設(shè)備之間相距1 m時的參考接收信號強度,因此公式(3)中A的值是已知的。需要說明的是,這個參考信號強度可以根據(jù)實際室內(nèi)環(huán)境的不同,進行相應(yīng)的調(diào)整,本文使用的A的值為-65 dBm。這樣對于公式(3),只需確定信號衰變因子n的值,就能夠根據(jù)接收到的信號強度RSSI值,估測出移動設(shè)備與iBeacon之間的距離。
基本的測距方法是通過固定一個iBeacon信標(biāo)節(jié)點的位置,在距該信標(biāo)節(jié)點的不同距離處設(shè)置采樣點,對每個采樣點收到的廣播幀中的RSSI信號進行采樣,并利用采集到的數(shù)據(jù)進行對數(shù)擬合,最終求出對數(shù)-常態(tài)分布模型所需的參數(shù)n。但是由于射頻信號的不穩(wěn)定性,信號強度值會出現(xiàn)波動,在同一個采樣點收到的RSSI值并不唯一,使得RSSI和距離之間不再存在一一對應(yīng)關(guān)系,傳統(tǒng)的解決方法是將采樣點多次測量的RSSI值取平均作為該位置點上的RSSI值,公式如下 :
(4)
這種方法的缺點是在計算某一采樣點RSSI信號值時,采集到的該點的所有RSSI信號數(shù)據(jù)參與計算,波動較大的數(shù)據(jù)勢必會對計算結(jié)果產(chǎn)生一定的影響,導(dǎo)致所求的平均值并不能反映實際環(huán)境中RSSI的特點。事實上,大量實驗表明[5],在距離信號發(fā)射點固定距離處,RSSI的隨機分布是近似符合高斯分布的。因此,本文提出一種基于高斯分布的RSSI濾波模型,通過該模型過濾掉概率較小的RSSI值,解決實際環(huán)境中信號傳播易受干擾的問題,消除那些小概率短時的噪聲擾動,具體實現(xiàn)方法如下:
(1) 使用數(shù)組存儲采樣中的一組RSSI數(shù)據(jù),作為高斯分布的樣本;
(2) 計算該組數(shù)據(jù)的樣本均值和樣本方差,公式如下:
(5)
(6)
(3) 根據(jù)高斯分布的3δ原則,區(qū)間[μ-3δ,μ+3δ]上取值的概率為99.73%,本論文將區(qū)間外的數(shù)值認為是異常值,最終確定的RSSI濾波模型如下:
(7)
這樣,每一個采樣點收集的多組數(shù)據(jù)經(jīng)高斯濾波后計算幾何平均值用于標(biāo)定該位置點的信號強度,多個位置點的數(shù)據(jù)作為測距模型的輸入數(shù)據(jù),經(jīng)擬合之后求得n為2.427,最終確定的距離公式及其曲線如圖1所示:
圖1 通過擬合得到的測距模型
多邊定位[6]的原理是定位終端接收周圍藍牙信標(biāo)發(fā)出的藍牙信號,根據(jù)信號強度的測距模型得出信標(biāo)與被定位終端的距離,當(dāng)定位終端接收到三個以上不同信標(biāo)的藍牙信號且信標(biāo)的坐標(biāo)已知的情況下,就可以對這個終端進行定位[7]。假設(shè)沒有損耗、沒有干擾的理想情況下,利用信號強度測距模型得到的距離沒有誤差,如圖2(a)所示,可以計算得出被定位終端的確切位置。但現(xiàn)實情況是,受周圍環(huán)境的干擾,通過信號強度漸變模型計算得到的距離存在誤差,三點定位時的情況往往如圖2(b)所示[8]。
圖2 多邊定位原理圖
考慮更一般的情況,移動設(shè)備接收到了周圍n個藍牙信標(biāo)的RSSI信號,通過距離公式計算得到移動設(shè)備到這n個信標(biāo)的測量距離為di。設(shè)目標(biāo)點的坐標(biāo)為(x,y),則可列出如下方程組:
(8)
這是一個有兩個未知數(shù),多個方程的超定方程組,通過簡化可得到線性方程:
AX=b
(9)
其中,X為x,y組成的列向量,
通過最小二乘法求解上述方程,可得:
X=(ATA)-1ATb
(10)
X便是待定位的移動設(shè)備的坐標(biāo)計算值。
2.2.1 檢測Immediate狀態(tài)實現(xiàn)特殊位置點定位
iBeacon雖然不能直接推斷距離,卻提供了Proximity[8]參數(shù)來標(biāo)定移動設(shè)備與iBeacon信標(biāo)之間的遠近范圍,它有四個數(shù)值:Immediate(距離d<0.5 m)、Near(0.5 m
2.2.2 步態(tài)檢測控制位置漂移
室內(nèi)定位過程中,由于無線信號的不穩(wěn)定性,有時待定位的移動設(shè)備物理位置發(fā)生了變化,但由定位算法得到的位置坐標(biāo)卻沒有改變;有時移動設(shè)備在原地靜止不動,但由定位算法得到的位置坐標(biāo)卻發(fā)生了改變。這種由于無線信號的不穩(wěn)定引起的位置漂移,一定程度上影響了定位的準(zhǔn)確性。針對這一情況,本文把移動設(shè)備自身板載的傳感器利用起來,結(jié)合傳感器數(shù)據(jù)實現(xiàn)步態(tài)檢測[10],從而達到控制位置漂移的目的。
人的行走姿態(tài)具有周期性的特征,每次跨步開始到跨步結(jié)束為一個周期。移動設(shè)備的加速度傳感器記錄了移動設(shè)備在三軸上的加速度數(shù)據(jù),行人在手持移動設(shè)備行走時,移動設(shè)備的加速度傳感器可以獲得人行走時周期性的波形,通過對周期性波形的分析可以判斷出行人的行走情況[11]。這里由于移動設(shè)備會固定受到地球重力影響,加速度傳感器的讀數(shù)實際是受此影響后的數(shù)值,因此實驗中使用的是移動設(shè)備線性加速度傳感器的數(shù)據(jù),也就是加速度傳感器的讀數(shù)減去重力加速度之后的結(jié)果。具體實現(xiàn)步驟如下:
(1) 對三個方向的線性加速度數(shù)值進行整合,計算三軸線性加速度Acc的大小,計算公式如下:
(11)
(2) 對收到的Acc數(shù)據(jù)采用FIR低通濾波器進行平滑去噪處理,得到濾波后的數(shù)據(jù)FilAcc;
(3) 設(shè)置閾值D和T,其中D為相鄰波峰與波谷的數(shù)值差,T為相鄰波峰與波谷的時間差。根據(jù)對人行走時步幅步頻的統(tǒng)計分析[10],本文定義D的值為6 m/s2,T的值為170 ms。若1 s內(nèi)的FilAcc數(shù)據(jù)組成的波形存在波峰和波谷,且波峰與波谷的數(shù)值差小于閾值D,時間差大于閾值T,則認為在當(dāng)前單位時間內(nèi)發(fā)生了行走。
圖3 行人運動過程中的加速度波形
針對上文提到的位置漂移問題,利用實現(xiàn)的步態(tài)檢測算法,本文提出的處理方案是:若在2 s內(nèi)未檢測到行走行為,認為用戶在當(dāng)前位置暫時停留,此時不再通過多邊定位算法更新用戶位置,直到步態(tài)檢測算法檢測到用戶發(fā)生移動;若步態(tài)檢測算法檢測到用戶發(fā)生移動,但多邊定位算法并沒有及時更新坐標(biāo)位置,認為當(dāng)前位置iBeacon信號較弱或受到了干擾,此時利用步態(tài)檢測得到行走的步數(shù),結(jié)合移動設(shè)備板載的磁力傳感器、加速度傳感器以及陀螺儀傳感器得到行走的方向估計與步長估計,這樣在已知步數(shù)、步長和方向的條件下,就可以利用行人航位推算[12](Pedestrian Dead Reckoning,簡稱PDR)進行暫時的輔助定位,直至能夠重新使用多邊定位。
室內(nèi)環(huán)境較為復(fù)雜,在某些特殊區(qū)域,如辦公樓或商場里的條狀走廊等位置,難以布設(shè)足夠多的iBeacon設(shè)備來實現(xiàn)多邊定位算法。上文指出,利用移動設(shè)備的多種傳感器可以實現(xiàn)PDR算法,在iBeacon信號弱的情況下完成輔助定位,基于這一思想,本文提出了針對室內(nèi)特殊區(qū)域的兩點定位算法:
(1) 在走廊等特殊區(qū)域每隔一段距離布設(shè)一個iBeacon信標(biāo),確保在特殊區(qū)域的任一位置上都可以收到至少兩個iBeacon信標(biāo)的信號,并對這些iBeacon信標(biāo)進行特殊標(biāo)記;
(2) 定位過程中對移動設(shè)備每次接收到的多個iBeacon信標(biāo)根據(jù)信號強度RSSI降序排序,找出信號最強的iBeacon信標(biāo),若該iBeacon信標(biāo)被標(biāo)記為特殊區(qū)域的信標(biāo)節(jié)點,則認為待定位的移動設(shè)備進入了走廊等特殊區(qū)域;
(3) 若待定位的移動設(shè)備進入走廊等特殊區(qū)域,則根據(jù)信號強度RSSI的排序確定出信號最強的兩個iBeacon信標(biāo),根據(jù)距離公式將信號強度RSSI轉(zhuǎn)化為距離,記為d1,d2,記兩點的坐標(biāo)分別為(x1,y1)、(x2,y2)。則可利用公式(12)計算出待定位移動設(shè)備的初始坐標(biāo):
(12)
(4) 根據(jù)獲取的初始位置,在定位過程中分別利用PDR算法和基于公式(12),得到下一個定位點兩個不同的位置估計,采用加權(quán)的方式對得到的兩個位置估計進行坐標(biāo)加權(quán),由于PDR算法得到的位置估計更加穩(wěn)定,相應(yīng)地賦予更高的權(quán)重0.7,從而確定出新的定位點的最終位置估計;
(5) 定位過程中不斷檢測Immediate狀態(tài),實現(xiàn)iBeacon信標(biāo)附近特殊位置點的定位。
本文算法的實驗選擇在北京交通大學(xué)逸夫教學(xué)樓3樓進行,實驗場地輪廓圖如下所示:
圖4 實驗場地輪廓圖
實驗中使用的硬件設(shè)備有一部魅族MX5智能手機、7個iBeacon信標(biāo),所有信標(biāo)的廣播功率設(shè)置為-8 dBm,廣播間隔設(shè)置為100 ms。首先進行測距模型的評估實驗,測試環(huán)境選擇一間15×20 m2的多媒體教室,固定一個iBeacon信標(biāo)于該教室中,然后分別在距離該iBeacon信標(biāo)1 m、2 m、…、12 m處設(shè)置測試點,分別使用未濾波的測距模型、均值濾波測距模型以及本文提出的高斯濾波測距模型,計算各個測試點的估計距離并與實際距離作比較。實驗中在每個測試點收集50組測距數(shù)據(jù),分別計算每個采樣點上誤差的均值和方差,實驗結(jié)果如圖5所示:
圖5 三種測距模型誤差對比圖
從圖5可以看出,經(jīng)高斯濾波之后得到的測距模型,相比未濾波測距模型,平均測距誤差減小了68%,誤差震蕩降低了72%,相比均值濾波測距模型,平均測距誤差減小了41%,誤差震蕩降低了50%。實驗證明,本文提出的高斯濾波算法,有效提高了測距模型的測距精度。更為重要的是,多邊定位算法是基于測距模型實現(xiàn)的,測距精度的提高,間接地提高了定位的精度。
對于多邊定位的測試依然選擇在該教室中進行,選擇教室中一個10×10 m2的正方形區(qū)域,在正方形區(qū)域的4個頂點處分別部署一個iBeacon信標(biāo),測試人員手持手機從(0 , 0)點出發(fā),順時針繞正方形的邊界行走一周,分別記錄使用傳統(tǒng)定位算法和改進的定位算法得到的行走路線,實驗結(jié)果如圖6所示:
從圖6可以直觀地看出,使用傳統(tǒng)的多邊定位算法得到的行走路線與實際路線相比,路線混亂且存在著較大的誤差。在多邊定位算法中加入Immediate周期校正后,測試人員走到iBeacon信標(biāo)附近時成功實現(xiàn)了位置的校正,相比傳統(tǒng)的多邊定位算法,定位效果有所改善,但依然存在位置漂移的問題。加入步態(tài)檢測算法后,有效控制了上述的位置漂移問題??梢钥吹剑褂帽疚奶岢龅母倪M的多邊定位算法,相比傳統(tǒng)的多邊定位算法,得到的行走路線與真實的行走路線更為吻合,定位精度更高。
圖7 三種算法的誤差累計分布函數(shù)圖
圖7相比圖6更為量化地展示了三種算法的定位精度,從圖中可以看出,使用傳統(tǒng)的多邊定位算法有50 %的測試點定位誤差在1.5 m以內(nèi),最大定位誤差在4 m左右,而使用了本文提出的改進的多邊定位算法之后,誤差在1.5 m以內(nèi)的測試點達到了87%,所有點的誤差均控制在了3 m以內(nèi)。
對于兩點定位算法的測試選擇在3樓走廊進行,選擇一段20 m長的走廊,在走廊墻壁上每隔10 m布設(shè)一個iBeacon藍牙信標(biāo)。選取0 m、2 m、4 m、…、20 m處作為參照點,測試人員手持手機從走廊一端走到另一端,分別記錄使用傳統(tǒng)的PDR算法和本文提出的兩點定位算法得到的在各個參照點處的定位坐標(biāo)。本文著重分析定位坐標(biāo)在行走路線上的誤差,得到兩種算法的誤差對比圖如下:
圖8 PDR與本文兩點定位算法的誤差對比圖
具體的誤差數(shù)據(jù):
表1 兩種算法的誤差數(shù)據(jù)對比
從表1可以看出,PDR定位算法的最大誤差為4 m,平均誤差為2.1 m,本文提出的兩點定位算法的最大誤差為1.4 m,平均誤差為0.7 m。相比于PDR定位算法,本文提出的兩點定位算法有效減小了定位的誤差,提高了定位精度,成功解決了走廊等無法實現(xiàn)多邊定位的室內(nèi)區(qū)域的定位問題。
本文提出一種基于低功耗藍牙信標(biāo)的室內(nèi)定位方法,首先應(yīng)用基于高斯分布的信號濾波技術(shù),有效提高了測距模型的精度,在此基礎(chǔ)上通過融合步態(tài)檢測等算法提出了改進的多邊定位算法,以及針對特殊區(qū)域的兩點定位算法,最后通過實驗對算法進行了驗證。實驗結(jié)果表明,本文提出的基于低功耗藍牙信標(biāo)的室內(nèi)定位方法定位效果良好,能夠滿足絕大多數(shù)室內(nèi)定位的要求。下一步我們會在室內(nèi)定位的基礎(chǔ)上,實現(xiàn)室內(nèi)導(dǎo)航、消息推送等功能,最終實現(xiàn)一套完整的室內(nèi)位置服務(wù)解決方案。