摘 要:室內(nèi)定位技術(shù)是一種獲取室內(nèi)的人和物位置信息的技術(shù),以位置信息為基礎(chǔ)可為使用者提供多種服務(wù),在軍事和民用領(lǐng)域都有著廣闊的應(yīng)用前景#65377;在分析幾種常見的室內(nèi)無線定位方法以及基于RSS的室內(nèi)無線定位方法的基礎(chǔ)上,提出一種基于BP神經(jīng)網(wǎng)絡(luò)的室內(nèi)定位模型并借助MATLAB 7.0加以實(shí)現(xiàn)#65377;采用該方法進(jìn)行室內(nèi)定位,不需要WLAN以外的其他資源#65377;由于不需要知道定位節(jié)點(diǎn)和建筑物的詳細(xì)特性,用戶的隱私將會(huì)得到完全的保護(hù)#65377;仿真實(shí)驗(yàn)證明該模型的有效性#65377;
關(guān)鍵詞:室內(nèi)定位;RSS; BP神經(jīng)網(wǎng)絡(luò);IEEE 802.11b
中圖分類號(hào):TN911.23 文獻(xiàn)標(biāo)識(shí)碼:A
1 引 言
目前,室內(nèi)定位算法主要有以下幾種#65377;
1)Time of arrival(TOA)
TOA定位的基本原理是通過測(cè)量節(jié)點(diǎn)間電波傳播的時(shí)間來確定節(jié)點(diǎn)的位置#65377;
TOA算法要求參加定位的各個(gè)基站在時(shí)間上實(shí)現(xiàn)嚴(yán)格同步#65377;在室內(nèi)環(huán)境中,由于已知點(diǎn)到待測(cè)點(diǎn)的距離通常不遠(yuǎn),無線電波的傳播速度太快,且存在嚴(yán)重的多徑干擾,因此無法利用無線電波進(jìn)行測(cè)距#65377;目前,基于TOA的室內(nèi)定位技術(shù)通常是利用超聲波傳播速度較慢的特點(diǎn)(在20攝氏度時(shí)超聲波的傳播速度為343.38m/s),來測(cè)量出已知點(diǎn)和待測(cè)點(diǎn)間的距離,進(jìn)而求出待測(cè)點(diǎn)的位置[1]#65377;
2)GPS L1 Re-radiating
GPS(Global Positioning System)是70年代初由美國(guó)開發(fā)的衛(wèi)星導(dǎo)航定位系統(tǒng),本質(zhì)上它也是一個(gè)基于TOA的定位系統(tǒng)#65377;
GPS L1 Re-radiating是將GPS在L1頻段上的信號(hào),通過戶外天線接收后,增益放大為室內(nèi)可接收信號(hào),進(jìn)而基于GPS實(shí)現(xiàn)室內(nèi)定位#65377;
3)Received signal strength,RSS
RSS定位的基本原理是利用移動(dòng)裝置偵測(cè)所接收到的無線電波信號(hào)強(qiáng)弱,然后根據(jù)經(jīng)驗(yàn)?zāi)P突騌SS隨距離衰減的模型來推斷節(jié)點(diǎn)間的距離,進(jìn)而實(shí)現(xiàn)定位[2]#65377;
該技術(shù)主要使用無線網(wǎng)絡(luò)本身的無線電信號(hào)來定位,不需額外添加硬件,是一種低功率#65380;廉價(jià)的定位技術(shù)[3]#65377;
基于信號(hào)強(qiáng)度的室內(nèi)定位方法分為經(jīng)驗(yàn)?zāi)P头ê托盘?hào)衰減模型法#65377;
(1)經(jīng)驗(yàn)?zāi)P头?/p>
在經(jīng)驗(yàn)?zāi)P头ㄖ?,將RSSI數(shù)據(jù)轉(zhuǎn)換為位置信息的方法主要有判定法和概率法兩種#65377;
(2)信號(hào)衰減模型法
信號(hào)衰減模型法則無需實(shí)地測(cè)量位置和RSSI,而是依據(jù)信號(hào)強(qiáng)度和距離的特定關(guān)系,結(jié)合三角測(cè)量法,根據(jù)來自三個(gè)(或以上)AP的RSSI來計(jì)算出待測(cè)點(diǎn)的位置#65377;
基于TOA的定位模型在開放的室外環(huán)境中非常有效,但在室內(nèi)環(huán)境卻存在一些問題#65377;使用超聲波雖可克服無線電波傳輸速度快的問題,但需構(gòu)建專門的超聲波系統(tǒng)#65377;GPS也主要是針對(duì)戶外目標(biāo)設(shè)計(jì)的定位系統(tǒng),應(yīng)用于室內(nèi)存在定位精度不高等問題#65377;基于RSS的定位模型中,經(jīng)驗(yàn)法需進(jìn)行大量的實(shí)地測(cè)量,同時(shí)無法保護(hù)定位用戶的隱私;而信號(hào)衰減法在室內(nèi)受NLOS(非視距傳播)等因素影響,也使得定位精度較低#65377;
因此,本文提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的室內(nèi)定位模型并借助MATLAB 7.0加以實(shí)現(xiàn)#65377;采用該方法進(jìn)行室內(nèi)定位,不需要WLAN以外的其他資源#65377;由于不需要知道定位節(jié)點(diǎn)和建筑物的詳細(xì)特性,用戶的隱私將隨之得到完全的保護(hù)#65377;
2 基于BP神經(jīng)網(wǎng)絡(luò)的室內(nèi)定位模型
BP神經(jīng)網(wǎng)絡(luò)通常是指基于誤差反向傳播算法(Backpropagation)的多層前向神經(jīng)網(wǎng)絡(luò),目前,該算法已成為應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[4]#65377;
BP神經(jīng)網(wǎng)絡(luò)采用的是并行網(wǎng)絡(luò)結(jié)構(gòu),包括輸入層#65380;隱含層和輸出層,經(jīng)作用函數(shù)后,再把隱節(jié)點(diǎn)的輸出信號(hào)傳遞到輸出節(jié)點(diǎn),最后給出輸出結(jié)果#65377;該算法的學(xué)習(xí)過程由信息的前向傳播和誤差的反向傳播組成#65377;在前向傳播的過程中,輸入信息從輸入層經(jīng)隱含層逐層處理,并傳向輸出層#65377;第一層神經(jīng)元的狀態(tài)只影響下一層神經(jīng)元的狀態(tài)#65377;如果在輸出層得不到期望的輸出結(jié)果,則轉(zhuǎn)入反向傳播,將誤差信號(hào)(目標(biāo)值與網(wǎng)絡(luò)輸出之差)沿原來的連接通道返回,通過修改各層神經(jīng)元權(quán)值,使得誤差均方最小#65377;神經(jīng)網(wǎng)絡(luò)理論已經(jīng)證明BP神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的非線性映射能力和泛化功能,任一連續(xù)函數(shù)或映射均可采用三層網(wǎng)絡(luò)加以實(shí)現(xiàn)#65377;
計(jì)算技術(shù)與自動(dòng)化2007年6月第26卷第2期李 瑛等:一種基于BP神經(jīng)網(wǎng)絡(luò)的室內(nèi)定位模型2.1 樣本數(shù)據(jù)的采集和處理
輸入向量為待測(cè)點(diǎn)收到的來自至少三個(gè)不同位置AP的RSSI值,輸出向量為待測(cè)點(diǎn)的坐標(biāo)值(X,Y)#65377;
樣本采集在一個(gè)10mX10m的室內(nèi)場(chǎng)地中進(jìn)行#65377;使用3個(gè)來自SMC公司的AP和1臺(tái)配置了ORiNOCO PC CARD的筆記本電腦#65377;AP及無線網(wǎng)卡符合并工作在IEEE 802.11b標(biāo)準(zhǔn)下#65377;筆記本電腦所使用的操作系統(tǒng)為RedHat Linux 9.0#65377;樣本均勻分布在6mx6m的中心區(qū)域中#65377;
2.2 網(wǎng)絡(luò)結(jié)構(gòu)的確定
Kolmogorov定理已經(jīng)證明[5],任意一連續(xù)函數(shù)可由一個(gè)三層BP 網(wǎng)絡(luò)來實(shí)現(xiàn)#65377;雖然研究表明三層以上的BP網(wǎng)絡(luò)可以減少隱含層節(jié)點(diǎn)數(shù),提高計(jì)算效率,但在缺乏理論指導(dǎo)的BP網(wǎng)絡(luò)設(shè)計(jì)中這樣做容易使問題趨向復(fù)雜化#65377;因此選擇三層BP神經(jīng)網(wǎng)絡(luò),即只有1個(gè)隱含層的BP神經(jīng)網(wǎng)絡(luò)#65377;
該網(wǎng)絡(luò)輸入層的節(jié)點(diǎn)數(shù)由輸入向量的維數(shù)決定,輸入向量的維數(shù)是3,所以輸入層節(jié)點(diǎn)數(shù)確定為3個(gè)#65377;輸出層節(jié)點(diǎn)數(shù)由輸出向量的維數(shù)決定,這里輸出節(jié)點(diǎn)數(shù)為2 #65377;
隱含層節(jié)點(diǎn)數(shù)的選擇在BP網(wǎng)絡(luò)設(shè)計(jì)中是一個(gè)難點(diǎn),目前還沒有理論上的指導(dǎo)#65377;過多的網(wǎng)絡(luò)節(jié)點(diǎn)會(huì)增加訓(xùn)練網(wǎng)絡(luò)的時(shí)間,也會(huì)使網(wǎng)絡(luò)的泛化能力減弱,網(wǎng)絡(luò)的預(yù)測(cè)能力下降#65377;然而網(wǎng)絡(luò)節(jié)點(diǎn)過少則不能反映后續(xù)值與前驅(qū)值的相關(guān)關(guān)系,建模不充分#65377;經(jīng)反復(fù)試驗(yàn),將隱含層節(jié)點(diǎn)數(shù)定為30,這樣形成了一個(gè)3-30-2結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò),如圖1所示#65377;
2.3 學(xué)習(xí)算法的選擇
基本BP 算法采用梯度下降法使得誤差均方(mse)趨向最小,直至達(dá)到誤差要求#65377;但在實(shí)際應(yīng)用中,存在收斂速度慢#65380;局部極值等缺點(diǎn)#65377;Matlab 7.0神經(jīng)網(wǎng)絡(luò)工具箱中提供了十多種快速學(xué)習(xí)算法,一類是采用啟發(fā)式學(xué)習(xí)方法,如引入動(dòng)量因子的traingdm 算法#65380;變速率學(xué)習(xí)算法traingda #65380;“彈性”學(xué)習(xí)算法trainrp等;另一類采用數(shù)值優(yōu)化方法,如共軛梯度學(xué)習(xí)算法traincgf 等#65377;本研究選擇traincgf 算法#65377;該算法在不增加算法復(fù)雜性的前提下,可以提高收斂速度,并且可沿共扼方向達(dá)到全局最小點(diǎn),較好地解決了經(jīng)典BP算法所存在的收斂速度慢和可能出現(xiàn)局部最優(yōu)解的問題#65377;
2.4 BP神經(jīng)網(wǎng)絡(luò)的初始化#65380;訓(xùn)練與仿真
1)建立網(wǎng)絡(luò)
net==newff(P3,[30,2],{′tansig′,′purelin′},′traincgf′)
newff()為建立BP 神經(jīng)網(wǎng)絡(luò)的函數(shù);P3為6維矩陣,表示3維輸入向量中每維輸入的最小值和最大值之間的范圍#65377;[30,2]表示隱層節(jié)點(diǎn)數(shù)是30,輸出層節(jié)點(diǎn)數(shù)是2,{′tansig′,′purelin′}表示隱含層中的神經(jīng)元采用tansig轉(zhuǎn)換函數(shù),輸出層采用purelin函數(shù),′traincgf′表示選擇的學(xué)習(xí)算法#65377;
2)權(quán)重和閾值初始化
net==init(net)
給各連接權(quán)重LW{1,1}#65380;LW{2,1}及閾值b{1}#65380;b{2}賦予(-1,+1)間的隨機(jī)值#65377;
3)訓(xùn)練
[net,tr]=train(net,P,T)
P為輸入向量,T為目標(biāo)向量,根據(jù)網(wǎng)絡(luò)學(xué)習(xí)誤差逆?zhèn)鬟f算法,利用阻尼最小二乘算法迭代,由前一次訓(xùn)練得到的網(wǎng)絡(luò)權(quán)重及閾值訓(xùn)練得到新的網(wǎng)絡(luò)權(quán)重及閾值#65377;
為了使生成的BP網(wǎng)絡(luò)對(duì)輸入向量有一定的容錯(cuò)能力,最好的方法是既使用理想的信號(hào)又使用帶有噪聲的信號(hào)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練#65377;具體做法是先用理想的輸入信號(hào)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直到起平方和誤差足夠小;然后,使用20組理想信號(hào)和帶有噪聲的信號(hào)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練#65377;經(jīng)過上述訓(xùn)練后,網(wǎng)絡(luò)對(duì)無誤差的信號(hào)也可能會(huì)采用對(duì)付帶有噪聲信號(hào)的辦法,這樣會(huì)導(dǎo)致很大的代價(jià),因此,需要采用理想的向量對(duì)網(wǎng)絡(luò)再次訓(xùn)練,以保證網(wǎng)絡(luò)能對(duì)理想信號(hào)作出最好的反應(yīng)#65377;
使用函數(shù)traincgf對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),當(dāng)網(wǎng)絡(luò)平方和誤差小于3時(shí)停止網(wǎng)絡(luò)的訓(xùn)練#65377;訓(xùn)練過程中的誤差變化情況如圖2所示#65377;
根據(jù)訓(xùn)練后的網(wǎng)絡(luò)及輸入向量進(jìn)行仿真輸出#65377;
3 實(shí)驗(yàn)結(jié)果及分析
利用訓(xùn)練后的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了36次定位,并統(tǒng)計(jì)了36次定位的平均誤差,結(jié)果如圖3所示#65377;
與利用信號(hào)衰減模型定位相比(如圖4所示),利用BP神經(jīng)網(wǎng)絡(luò)定位具有更高的統(tǒng)計(jì)精度#65377;
與信號(hào)衰減模型相比,雖然BP神經(jīng)網(wǎng)絡(luò)的模型解釋直觀性略有不足,但卻可獲得更精確的定位結(jié)果#65377;
利用BP神經(jīng)網(wǎng)絡(luò),雖然可解決傳統(tǒng)處理方法所不能處理的非線性映射問題,但在實(shí)際應(yīng)用中,對(duì)如何選擇和確定一個(gè)合適的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)沒有確切的理論指導(dǎo),只能通過試驗(yàn)—調(diào)整—再試驗(yàn)的過程來確定一個(gè)合適的網(wǎng)絡(luò)結(jié)構(gòu)#65377;同時(shí),BP神經(jīng)網(wǎng)絡(luò)的隱含層作用機(jī)理和隱含層節(jié)點(diǎn)個(gè)數(shù)的選擇是BP神經(jīng)網(wǎng)絡(luò)的難點(diǎn)問題#65377;隱含層的節(jié)點(diǎn)個(gè)數(shù)的選擇需反復(fù)進(jìn)行試驗(yàn),當(dāng)多次輸出結(jié)果在一定誤差范圍內(nèi)時(shí)才可確定#65377;
4 結(jié)束語
本文提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的室內(nèi)定位模型,并在基于IEEE 802.11b標(biāo)準(zhǔn)的WLAN環(huán)境中對(duì)此模型進(jìn)行了測(cè)試#65377;一個(gè)基于信號(hào)衰減模型的定位算法也在同樣的環(huán)境中進(jìn)行了測(cè)試#65377;對(duì)比結(jié)果表明,利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行室內(nèi)定位能取得更好的定位精度#65377;
在實(shí)驗(yàn)過程中,節(jié)點(diǎn)表現(xiàn)出個(gè)體差異,部分節(jié)點(diǎn)的定位精度始終較低#65377;采用其他BP神經(jīng)網(wǎng)絡(luò)參數(shù)值來進(jìn)一步提高定位精度是今后進(jìn)一步的研究方向#65377;
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。