基于分布式ap選擇策略的室內(nèi)定位方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種室內(nèi)定位方法,具體地涉及一種基于分布式AP選擇策略的WIFI 的室內(nèi)定位方法。
【背景技術(shù)】
[0002] 室內(nèi)定位是一種用于獲取室內(nèi)目標(biāo)物體位置信息的技術(shù),在民用和軍用領(lǐng)域 具有廣泛的應(yīng)用前景。常見的定位算法主要基于接收信號(hào)強(qiáng)度指示(Received Signal Strength Indication, RSSI)、到達(dá)時(shí)間(Time of Arrival, TOA)、到達(dá)時(shí)間差(Time Difference of Arrival, TDOA)、到達(dá)角度(Angle of Arrival, AOA)等技術(shù)。其中,基于 RSSI的定位算法具有低功耗,低成本且易實(shí)現(xiàn)的優(yōu)點(diǎn),被廣泛應(yīng)用于無線室內(nèi)定位。
[0003] 使用RSSI的定位算法通常分為:基于信號(hào)傳播模型的定位算法和基于指紋模型 的定位算法。傳統(tǒng)的基于信號(hào)傳播模型的定位算法主要通過獲取大量的樣本數(shù)據(jù),利用傳 統(tǒng)路徑損耗模型建立接收信號(hào)強(qiáng)度指示(RSSI)和節(jié)點(diǎn)間距離的函數(shù)關(guān)系,然后估計(jì)出目 標(biāo)的位置信息。由于無線信號(hào)在傳播過程中較易受室內(nèi)環(huán)境變化的影響,導(dǎo)致RSSI值具有 明顯的波動(dòng)性,同時(shí)傳統(tǒng)路徑損耗模型中路徑衰減指數(shù)以及環(huán)境因子難以確定,這些因素 將影響模型的測(cè)距精度,進(jìn)而導(dǎo)致定位誤差增大。
[0004] 基于指紋模型的定位算法是在大量實(shí)際樣本數(shù)據(jù)的基礎(chǔ)上根據(jù)統(tǒng)計(jì)分析方法建 立定位模型,其中學(xué)習(xí)模型作為統(tǒng)計(jì)分析方法的一種被廣泛用于訓(xùn)練定位預(yù)測(cè)模型,最后 用該定位預(yù)測(cè)模型對(duì)目標(biāo)位置進(jìn)行預(yù)測(cè)。該方法的實(shí)質(zhì)是將一組無線信號(hào)強(qiáng)度與目標(biāo)位置 建立映射關(guān)系。Zhou等人采用人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network, ANN)作為學(xué)習(xí) 預(yù)測(cè)工具,并融合區(qū)域劃分技術(shù)對(duì)目標(biāo)位置進(jìn)行預(yù)測(cè),取得了較優(yōu)的定位預(yù)測(cè)效果。桑楠等 人將RSSI與位置信息建立非線性關(guān)系,利用支持向量機(jī)(Support Vector Machine, SVM) 學(xué)習(xí)并預(yù)測(cè)位置信息,有效地降低定位誤差。
[0005] 其中基于指紋模型的定位算法具有定位精度高,充分利用現(xiàn)有設(shè)施,升級(jí)和維護(hù) 對(duì)用戶影響小等優(yōu)點(diǎn),得到了廣泛應(yīng)用,位置指紋定位算法主要分為離線測(cè)量階段和在線 定位階段兩個(gè)步驟。
[0006] 在具有大量AP節(jié)點(diǎn)部署的無線網(wǎng)絡(luò)中,為了獲得目標(biāo)位置,上述方法所處理的 數(shù)據(jù)都是高維向量(AP節(jié)點(diǎn)的個(gè)數(shù))。同時(shí),由于物體的遮擋以及節(jié)點(diǎn)故障等因素,導(dǎo)致將 所有AP節(jié)點(diǎn)作為特征輸入的定位效果并不一定最優(yōu),冗余的AP節(jié)點(diǎn)增加了位置估計(jì)的難 度,容易造成過度擬合的問題,并增加了時(shí)間和空間的復(fù)雜度。針對(duì)該問題,采用合適的選 擇機(jī)制篩選AP節(jié)點(diǎn),獲得較優(yōu)的AP節(jié)點(diǎn)作為特征輸入,既達(dá)到降維的作用,又提高了定位 精度。傳統(tǒng)方法通常根據(jù)接收的某一 AP的平均信號(hào)強(qiáng)度來判斷AP的定位能力,信號(hào)強(qiáng)度 均值越大,則認(rèn)為該AP的定位能力越強(qiáng)。實(shí)際中發(fā)現(xiàn),這種AP選擇方法是不正確的,如一 個(gè)AP在定位區(qū)域內(nèi)各處的信號(hào)強(qiáng)度都比較大但其波動(dòng)較小,雖然該AP信號(hào)強(qiáng)度平均值很 大,但是定位能力較弱。同時(shí)傳統(tǒng)方法并沒有考慮到某AP對(duì)于定位環(huán)境中不同的位置有不 同的定位貢獻(xiàn),比如一個(gè)AP可能對(duì)某一區(qū)域定位能力很好,但對(duì)其他區(qū)域定位能力較差。
【發(fā)明內(nèi)容】
[0007] 為了解決上述技術(shù)問題,本發(fā)明目的是:提供一種基于分布式AP選擇策略的室內(nèi) 定位方法,可以避免較大噪聲以及位置分辨能力弱的AP節(jié)點(diǎn)的影響,同時(shí)減少定位所需的 運(yùn)算時(shí)間并提尚定位精度。
[0008] 本發(fā)明的技術(shù)方案是:
[0009] 一種基于分布式AP選擇策略的室內(nèi)定位方法,包括以下步驟:
[0010] SOl :在室內(nèi)環(huán)境布置D個(gè)AP節(jié)點(diǎn),保證室內(nèi)環(huán)境中任意位置點(diǎn)被三個(gè)或三個(gè)以上 的AP節(jié)點(diǎn)發(fā)出的信號(hào)覆蓋,同時(shí)將該目標(biāo)區(qū)域劃分為N個(gè)小區(qū)域,以小區(qū)域中心為信號(hào)強(qiáng) 度采集點(diǎn),共N個(gè)參考點(diǎn),用于離線階段采集樣本數(shù)據(jù);
[0011] S02 :對(duì)目標(biāo)區(qū)域建立二維直角坐標(biāo)系,獲得N個(gè)參考點(diǎn)的坐標(biāo)位置,并在每個(gè)參 考點(diǎn)上利用移動(dòng)設(shè)備采集k次AP節(jié)點(diǎn)的信號(hào)強(qiáng)度,并對(duì)數(shù)據(jù)進(jìn)行處理;
[0012] S03:將目標(biāo)區(qū)域利用等面積的方法劃分為m個(gè)子區(qū)域,將不同子區(qū)域的指紋信息 進(jìn)行分類,利用指紋信息庫訓(xùn)練分區(qū)域模塊,根據(jù)RSS指紋信息選擇對(duì)應(yīng)的子區(qū)域;
[0013] S04 :計(jì)算每個(gè)AP節(jié)點(diǎn)與各個(gè)子區(qū)域的相關(guān)性,并將相關(guān)性系數(shù)排序,選擇相關(guān)性 系數(shù)大于PJ^AP節(jié)點(diǎn),作為該子區(qū)域的定位節(jié)點(diǎn),其中,P τ表示相關(guān)性系數(shù)的閾值;
[0014] S05 :在每個(gè)子區(qū)域中,利用選取的定位節(jié)點(diǎn)作為DBN模型的輸入,對(duì)應(yīng)的位置點(diǎn) 作為DBN模型的輸出,訓(xùn)練DBN模型,構(gòu)建定位預(yù)測(cè)模型;
[0015] S06 :在線預(yù)測(cè)階段,獲取移動(dòng)設(shè)備接收的RSS指紋信息并作為分區(qū)域模塊的輸入 向量,分區(qū)域模塊的輸出向量為該RSS指紋信息所屬的子區(qū)域;
[0016] S07 :利用步驟S06中獲取的子區(qū)域?qū)?yīng)的AP節(jié)點(diǎn)的信號(hào)強(qiáng)度作為DBN模型的輸 入向量,利用已訓(xùn)練的DBN模型獲取目標(biāo)的位置。
[0017] 優(yōu)選的,所述步驟S02具體包括如下步驟:
[0018] S21 :在每個(gè)參考點(diǎn)接收每一個(gè)AP節(jié)點(diǎn)的信號(hào)強(qiáng)度RSS值,構(gòu)成D維信號(hào)向量 !?義每個(gè)參考點(diǎn)采集k次信號(hào)強(qiáng)度值,構(gòu)成了 k*D的信號(hào)強(qiáng)度矩陣,其矩陣的第i行第j 列表示第i次采集中接收第j個(gè)AP節(jié)點(diǎn)的信號(hào)強(qiáng)度RSS值;i為小于或等于k的正整數(shù);j 為小于或等于D的正整數(shù);
[0019] RSSd= (rss η rss2, rss3,…,rsSj,…,rssD) (I)
[0020] 式中:rSSje [-100, 0]表示參考點(diǎn)處接收到第j個(gè)AP節(jié)點(diǎn)的信號(hào)強(qiáng)度。
[0021] S22 :構(gòu)建指紋數(shù)據(jù)庫,訓(xùn)練數(shù)據(jù)集中包含N條記錄,每條記錄表示為向量r,向量 中包含可用AP節(jié)點(diǎn)的信號(hào)強(qiáng)度和采樣點(diǎn)的位置:
[0022] r= (RSS1jL1) = Crss1, rss2, rss3, ··· rssD, L1) (2)
[0023] 式中:RSS1表示第i次采集中接收的RSS集合,D表示AP節(jié)點(diǎn)的個(gè)數(shù),L 1表示對(duì)應(yīng) 于RSSd向量的位置標(biāo)簽。
[0024] 優(yōu)選的,所述步驟S03具體包括以下步驟:
[0025] S31 :將定位區(qū)域S劃分為m個(gè)子區(qū)域,子區(qū)域定義如下所示:
[0027] 式中:c表示第c個(gè)子區(qū)域,k表示該子區(qū)域中位置點(diǎn)的個(gè)數(shù),R。表示第c個(gè)子區(qū) 域中參考位置點(diǎn)集合;表示第c個(gè)子區(qū)域中第k個(gè)位置點(diǎn)的信息;
[0028] S32 :將指紋數(shù)據(jù)庫中信號(hào)強(qiáng)度根據(jù)不同的子區(qū)域進(jìn)行分類,建立子區(qū)域與信號(hào)強(qiáng) 度的記錄信息表。
[0029] S33 :構(gòu)建分區(qū)域模塊,確定BP神經(jīng)網(wǎng)絡(luò)模型并根據(jù)子區(qū)域標(biāo)識(shí)與信號(hào)強(qiáng)度的記 錄信息訓(xùn)練建立的BP神經(jīng)網(wǎng)絡(luò),以信號(hào)強(qiáng)度RSSI作為輸入,對(duì)應(yīng)的子區(qū)域標(biāo)識(shí)area作為 輸出訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),并在訓(xùn)練中修改BP神經(jīng)網(wǎng)絡(luò)的參數(shù)使其反映 RSSI-area的關(guān)系;
[0030] S34:用實(shí)際接收的信號(hào)強(qiáng)度值RSSI與對(duì)應(yīng)的子區(qū)域標(biāo)識(shí)area去反復(fù)訓(xùn)練并驗(yàn)證 所建立的BP神經(jīng)網(wǎng)絡(luò),將訓(xùn)練完的BP神經(jīng)網(wǎng)絡(luò)封裝成一個(gè)固定的函數(shù),該函數(shù)輸入為接收 信號(hào)強(qiáng)度RSSI,輸出即為對(duì)應(yīng)的子區(qū)域標(biāo)識(shí)。
[0031] 優(yōu)選的,所述BP神經(jīng)網(wǎng)絡(luò)為五層神經(jīng)網(wǎng)絡(luò),隱含層的層數(shù)為2層,輸入層的節(jié)點(diǎn)數(shù) 目為D,輸出層的節(jié)點(diǎn)數(shù)目為1,隱含層的節(jié)點(diǎn)數(shù)目分別為6,4,即采用D :6:4:1的BP神經(jīng) 網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練函數(shù)為traincgf算法,訓(xùn)練次數(shù)和目標(biāo)誤差分別設(shè)置為100和0. 00004。
[0032] 優(yōu)選的,所述步驟S04具體包括以下步驟:
[0033] S41 :在該子區(qū)域中,掃描區(qū)域中k個(gè)位置點(diǎn)上第j個(gè)AP節(jié)點(diǎn)的信號(hào),該AP節(jié)點(diǎn)在 此子區(qū)域的相關(guān)性系數(shù)定義如下:
[0035] 式中:P,表示第j個(gè)AP節(jié)點(diǎn)與該子區(qū)域的相關(guān)性,X i表示第i個(gè)位置點(diǎn)的X軸坐 標(biāo),X表示該區(qū)域中k個(gè)位置點(diǎn)的X軸坐標(biāo)的均值,Yi表示第i個(gè)位置點(diǎn)的Y軸坐標(biāo),y表 示該區(qū)域中k個(gè)位置點(diǎn)的Y軸坐標(biāo)的均值,rss_ji表示第i個(gè)位置點(diǎn)接收到第j個(gè)AP節(jié)點(diǎn) 的信號(hào)強(qiáng)度的均值,r SS]表示k個(gè)位置點(diǎn)接收的第j個(gè)AP節(jié)點(diǎn)的信號(hào)強(qiáng)度均值,k表示該 子區(qū)域中位置點(diǎn)的個(gè)數(shù),D表示定位區(qū)域中AP節(jié)點(diǎn)的個(gè)數(shù);
[0036] S42 :在每個(gè)子區(qū)域中,D個(gè)AP節(jié)點(diǎn)的相關(guān)性系數(shù)向量表示為:
[0037] P(AP) = [P1jP2i-^jPd] (5)
[0038] 若PfP1表示第j個(gè)AP節(jié)點(diǎn)與該子區(qū)域相關(guān),反之則不相關(guān),P ^表示相關(guān)性系數(shù) 的閾值。
[0039] 優(yōu)選的,所述步驟S05具體包括以下步驟:
[0040] S51 :在指紋數(shù)據(jù)庫中獲取該子區(qū)域中所有位置點(diǎn)信息以及對(duì)應(yīng)的AP節(jié)點(diǎn)的信號(hào) 強(qiáng)度,作為該子區(qū)域的訓(xùn)練數(shù)據(jù)集;
[0041] S52 :確定DBN模型并用該子區(qū)域的訓(xùn)練數(shù)據(jù)集去訓(xùn)練并建立DBN模型,以接 收的對(duì)應(yīng)AP節(jié)點(diǎn)的信號(hào)強(qiáng)度RSSI作為輸入,對(duì)應(yīng)的位置點(diǎn)Location作為輸出去訓(xùn)練 所建立的DBN模型,并在訓(xùn)練中修改DBN模型的參數(shù),使最終的定位模型能正確反映 RSSI-Location 的關(guān)系;
[0042] S53 :用實(shí)際接收的對(duì)應(yīng)AP節(jié)點(diǎn)的信號(hào)強(qiáng)度值RSSI與對(duì)應(yīng)的位置點(diǎn)Location去 反復(fù)訓(xùn)練并驗(yàn)證所建立的DBN模型;通過可見層和隱含層之間的能量函數(shù)來調(diào)整神經(jīng)元之 間的權(quán)值,最后通過反向傳播算法來微調(diào)網(wǎng)絡(luò)間的權(quán)值。
[0043] 優(yōu)選的,所述DBN模型為5層網(wǎng)絡(luò),其中隱含層的層數(shù)為