文獻標識碼: A
文章編號: 0258-7998(2013)03-0104-04
無論是在室內(nèi)還是在室外環(huán)境下,,快速而準確地獲得終端的位置信息以及位置服務的需求變得日益迫切。
目前室內(nèi)定位系統(tǒng)采用的技術(shù)主要有射頻識別,、ZigBee,、超聲波、視頻,、超寬帶等,;定位算法按照是否對距離進行測定分為基于測距和非測距兩類。前者主要有TOA(Time of Arrive),、AOA(Angle of Arrive),、TDOA(Time Difference of Arrive)等方法,后者主要有基于接收信號強度RSSI(Received Signal Strength Indicator)的定位算法等,。由于室內(nèi)無線信號存在多徑傳播,,以及參考時鐘的不精確性, 這些因素都將使距離估計的準確性大打折扣。另外,,室內(nèi)情況下設備之間的距離較短,存在嚴重的反射,、衍射和繞射等非直線傳播的情況,信號在各條多徑分量上的時間相當接近,現(xiàn)有設備的分辨率不足以區(qū)分時間上如此接近的各路信號,所以精確的TOA估計或TDOA估計,幾乎成為不可能[1]。而基于RSSI技術(shù)則具有檢測設備硬件成本低,、測量信號穩(wěn)定可靠,、定位算法簡單等優(yōu)點。因此基于RSSI非測距的定位技術(shù)成為近年來室內(nèi)定位研究的熱點[2],。
當前低成本的藍牙無線通信技術(shù)發(fā)展迅速,,藍牙技術(shù)又能提供接收信號強度RSSI、鏈路質(zhì)量LQ(LinkQuality),、傳輸功率級TPL(Transmit Power Level)[3]等參數(shù),因此藍牙系統(tǒng)可以方便地使用基于非測距的定位算法,。
基于RSSI的非測距定位算法在定位階段進行信號采集時仍然會受干擾,因此需要對采集到的RSSI信息進行濾波處理,然后利用匹配定位算法來提高定位的準確性,。
匹配定位算法中,,利用神經(jīng)網(wǎng)絡雖然可以有效地控制平均定位誤差,但它同時也存在著容易陷入極小點、結(jié)構(gòu)和類型的選擇過分依賴經(jīng)驗的缺點,?;诟怕实乃惴ㄓ执嬖谒惴◤碗s的劣勢。K階近鄰算法較適合于本問題[4],。
本文介紹了一種基于RSSI指紋的K階近鄰定位算法,,該算法在原有定位算法的基礎上增加了對信號的突變噪聲的濾除,是一種低計算資源消耗藍牙室內(nèi)定位技術(shù),,同時又具有整體成本低,、定位精度高、定位迅速的優(yōu)點,,是一種較為理想的室內(nèi)定位方式,。
1 基于指紋技術(shù)的藍牙室內(nèi)定位系統(tǒng)
1.1 硬件構(gòu)成
基于藍牙技術(shù)室內(nèi)定位系統(tǒng)硬件主要由兩部分組成,包括若干藍牙錨節(jié)點和待定位節(jié)點,。錨節(jié)點由3~7個藍牙串口模塊構(gòu)成,串口藍牙模塊如圖1所示,,厚度5 mm,,寬度13 mm,長度28 mm,,主要由電源模塊和藍牙核心模塊組成,,單個硬件成本約為4美元。待定位節(jié)點主要由一個藍牙適配器和上位機組成,,上位機負責數(shù)據(jù)采集,。
藍牙串口模塊主要利用bluelab作為工具進行開發(fā),支持多種連接模式,。上位機的藍牙適配器底層驅(qū)動為BlueSoleil6或者以上的版本,應用開發(fā)工具包為IVT BlueSoleil Software Development Kit,支持藍牙一對多連接,。
在定位節(jié)點的藍牙適配器和所有錨節(jié)點連接完成后,通過調(diào)用Btsdk_GetRemoteRSSI函數(shù)來實現(xiàn)對多個錨節(jié)點的RSSI數(shù)據(jù)采集,。
整個定位系統(tǒng)的構(gòu)成僅需要若干藍牙模塊,,目前藍牙模塊成本較低,普及率高,,適合大范圍推廣,。
1.2 指紋算法定位流程
基于指紋技術(shù)的藍牙室內(nèi)定位系統(tǒng)是通過對藍牙多徑信號的實際測量,建立位置指紋庫,,將需要定位的藍牙設備實測數(shù)據(jù)與位置指紋數(shù)據(jù)庫進行對比來確定出藍牙設備的實際位置的一種技術(shù),。它的實施一般分為兩個階段:離線階段和在線定位階段[5]。
(1)離線階段又稱之為數(shù)據(jù)采集階段,,該階段的主要工作是采集所需定位區(qū)域的各位置的藍牙信號強度,,形成位置指紋數(shù)據(jù)庫,,每一個指紋信息對應一個特定的位置。指紋定位系統(tǒng)離線階段的系統(tǒng)示意如圖2所示,。
離線階段的數(shù)據(jù)庫建立需要在定位區(qū)域內(nèi)用采集設備對數(shù)據(jù)進行采集,,錨節(jié)點支持點對點連接,而采集設備則支持一對多的連接方式,。數(shù)據(jù)采集完成后存儲在采集設備內(nèi),,并完成數(shù)據(jù)庫的建立。
錨節(jié)點通常布置在位置已知的坐標點,,采集設備在若干指定的位置坐標點進行一定時長的信號采集,,并對信號進行處理,從而建立坐標與藍牙信號的位置對應指紋數(shù)據(jù)庫,。
(2)在線定位階段包括信號強度的采集,、數(shù)據(jù)處理、判定區(qū),、距離估計和位置計算等工作,。當系統(tǒng)處于在線定位階段時,利用離線階段獲得的信息和在線收集的各個測試點的信號強度得出終端設備的位置,。定位流程如圖3所示,。
2 系統(tǒng)定位算法
藍牙系統(tǒng)使用跳頻技術(shù)來降低干擾,但在室內(nèi)環(huán)境下,,人在建筑物內(nèi)的移動會隨機地對無線信號的傳播產(chǎn)生影響,。另外還有一些干擾源,包括溫度,、空氣的運動以及運行在相同頻率的其他設備,,也會使得某些位置的接收信號隨著時間發(fā)生漂移[6]。因此首先對采集到的RSSI信息進行濾波處理后,,采用相應的優(yōu)化匹配算法可以提高定位的準確性,。
室內(nèi)環(huán)境下噪聲通常由兩部分組成,白噪聲和突變噪聲,。白噪聲可以通過對信號進行多次平均處理去除,,離線階段就是采用這種方法消除白噪聲的影響。而在在線定位階段,,定位信號的采集的長度一般都是有限的,,平均方法的使用將會受到很大的限制[7],在線階段采用卡爾曼濾波方法來去除白噪聲的影響,而在室內(nèi)環(huán)境下信號受突變噪聲影響較大,,利用小波變換方法可以通過對信號進行分解和重構(gòu)來消除這種突變的高頻噪聲的成分[8],,從而提高定位精度。
K階近鄰算法[4]的基本思想是:在給定新的實例后,根據(jù)與該實例的相似度在訓練樣本中選取與該實例距離最近的k個樣本,,然后由這k個樣本進行新實例的值的判定,。該算法假定所有的實例對應于n維空間的Rn中的點,在該n維空間中,,任意一個實例x可以表示成如下的特征向量:
在每個坐標點采樣得到如下數(shù)據(jù)格式(xi,xj)<RSSIi1,RSSIi2,,RSSIi3,RSSIi4>,<RSSIi1,RSSIi2,RSSIi3,RSSIi4>進行均值處理,得到指紋數(shù)據(jù)庫,。
3.2 在線定位階段
目標在(3,,4)位置處靜止不動,在室內(nèi)人員正?;顒訒r進行數(shù)據(jù)采集,。采樣間隔為1 s,采樣點數(shù)為130個。數(shù)據(jù)采集完成后,,對定位數(shù)據(jù)進行不同濾波處理,,采用3階近鄰法進行定位。
3.3 定位結(jié)果
定位結(jié)果如圖5~圖9所示,。
圖中星型點均表示在線定位階段1 s內(nèi)130個樣點的定位結(jié)果分布,,黑點表示設備的實際位置。
圖5是直接利用原始信號定位時的設備定位結(jié)果,。由圖5可以明顯看出定位位置點分布比較稀疏,,受室內(nèi)人員活動帶來的突變噪聲影響,直接定位位置點中與實際位置最大距離偏差為3 m,,均方誤差為0.53 m。
受噪聲的影響,,直接利用原始信號定位的誤差較大,,通過對原始信號進行卡爾曼濾波處理后重新定位的結(jié)果如圖6所示。
由圖6可以看出,,采用卡爾曼濾波算法對原始數(shù)據(jù)進行濾波處理后,,在線定位階段定位位置變得集中起來,直接定位位置點中與實際位置最大距離偏差為2 m,均方誤差為0.27 m,。由于卡爾曼濾波僅能消除部分的白噪聲,,而對突變噪聲卻不能很好地消除,從而造成定位結(jié)果偏差仍然過大,,定位點不夠集中,。
針對突變噪聲,采用小波變換濾波的方法來進行消噪,。利用小波去噪方法對原始信號進行處理后,,重新定位的結(jié)果如圖7和8所示,小波分解層次在保證信號不失真的前提下,一般取3~5,,即可最大程度地濾掉噪聲,,本文選取分解層數(shù)為3。閾值的選取,,則按照最優(yōu)預測變量閾值Heursure準則來對閾值進行估計[10],。
圖7是對原始信號進行硬閾值小波變換[10]濾波處理后重新定位的結(jié)果。采用硬閾值小波變換處理后,,定位位置分布變得較為集中,,直接定位位置點中與實際位置最大距離偏差為0.62 m,均方誤差為0.09 m,。
圖8是對原始信號進行軟閾值小波變換[10]濾波處理后,,重新定位的結(jié)果。采用軟閾值小波變換處理后,,直接定位位置點中與實際位置最大距離偏差為0.6 m,,均方誤差為0.07 m。
由圖7和圖8可以明顯看出,,采用了小波變換對信號濾波處理后,,突變噪聲得到了很好的抑制,定位位置分布范圍變得較為密集,,最大定位誤差僅為0.6 m,,取得了很好的定位效果。
由圖9則可以看出采用了小波去噪后定位的平均誤差大大降低,。1 s內(nèi)進行130次采樣定位的誤差均值為0.2 m,,基本滿足室內(nèi)定位的實時性和精度的要求。
通過對實測數(shù)據(jù)進行采集和定位,,結(jié)果驗證了基于指紋定位的藍牙室內(nèi)定位方法的可行性,,實驗結(jié)果也證明了小波去噪可以很好地消除突變噪聲,提高指紋定位的精度,,將設備平均定位精度提高至0.2 m,,可滿足絕大部分設備的定位精度需求。而對于設備在移動狀態(tài)下的濾波算法則需要做進一步的研究,。
參考文獻
[1] 倪巍,,王宗欣.基于接收信號強度測量的室內(nèi)定位算法[J]. 復旦學報,2004,,43(1):72-76.
[2] 王琦. 基于RSSI 測距的室內(nèi)定位技術(shù)[J]. 電子科技,,2012,25(6):64-66,,78.
[3] IGLESIAS P,,CORUA H J A,,et al. Indoor person localization system through RSSI Bluetooth fingerprinting[C].IWSSIP,Vienna Austria.2012:40-43.
[4] 李文杰,,李文明.基于K-近鄰算法的定位方法設計和仿真[J].計算機仿真,,2009,26(4):194-196,351.
[5] Pei Ling,,Chen Ruizhi,,Liu Jingbin,et al. Using inquiry based bluetooth RSSI probability distributions for Indoor positioning[J]. Journal of Global Positioning Systems,,2010,8(4):1-25.
[6] 柴亦飛. 基于位置指紋的定位系統(tǒng)的實現(xiàn)與改進[D].上海:復旦大學,,2007.
[7] 謝獻忠,易偉健,,王修勇,,等.基于虛擬響應信號的結(jié)構(gòu)參數(shù)時域辨識研究[J].計算力學學報,2007,,24(6):859- 864.
[8] 朱來東,,廉小親,江遠志.小波變換在信號降噪中的應用及MATLAB實現(xiàn)[J].北京工商大學學報,2009,27(2):46-49.
[9] 容曉峰,,楊娜.RSSI位置指紋的定位誤差分析與仿真[J]. 西安工業(yè)大學學報,,2010,30(6):574-578.
[10] 蘇曉慶. 基于小波包變換的變形時間序列數(shù)據(jù)分析方法的研究[D]. 淄博:山東理工大學,,2008.