一種基于反饋機制的動態(tài)指紋庫室內(nèi)定位方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于無線傳感器定位領(lǐng)域,特別設(shè)及一種基于反饋機制的動態(tài)指紋庫室內(nèi) 定位方法。
【背景技術(shù)】
[0002] 目前,先進的衛(wèi)星定位系統(tǒng)GPS已廣泛應(yīng)用于經(jīng)濟、軍事、生產(chǎn)生活的各個領(lǐng)域, 因此,GPS幾乎能滿足人們對室外定位的所有需求。而隨著智能移動終端的普及,人們對 室內(nèi)定位的需求與日俱增。高精度、低復(fù)雜度的室內(nèi)定位技術(shù)已經(jīng)成為國內(nèi)外研究的熱點 和焦點。
[0003] 室內(nèi)定位技術(shù)主要分為:基于專用設(shè)備的定位技術(shù)、基于Wi-Fi信號測距的定位 技術(shù)W及基于位置指紋的定位技術(shù)。其中,基于專用設(shè)備的定位技術(shù)的優(yōu)點是精度較高, 大多都可W達到厘米級別的定位精度,缺點是需要部署專用的硬件設(shè)備,成本較高;基于 Wi-Fi信號測距的定位技術(shù)不易獲得特征信息、精度低、極易受室內(nèi)環(huán)境變化的影響;基于 位置指紋的定位源于數(shù)據(jù)庫技術(shù),運種技術(shù)的優(yōu)點是成本低、易實現(xiàn),精度較高。所W,位 置指紋定位技術(shù)是目前相對來說比較流行且普遍的一種室內(nèi)定位技術(shù),但是,位置指紋定 位技術(shù)的一個主要問題是:在室內(nèi)復(fù)雜多變的環(huán)境下,由于有干擾物體(比如人的移動)和 多徑衰落的影響,任意位置的RSS指紋都是動態(tài)變化的,然而離線指紋庫卻是固定不變的, 運樣會導(dǎo)致在線定位階段匹配一個離實際位置相差較遠的指紋,從而帶來較大的定位誤 差。為了解決運一問題,就必須調(diào)整指紋庫,使其和當前RSS指紋的差別盡可能小。一種減 小數(shù)據(jù)庫中的指紋和實時指紋差別的方法就是在所有參考位置重新測量RSS值,然而,更 新的位置越多,成本和復(fù)雜度越大,有些研究者試圖測量一部分位置的RSS值來減少成本, 但運種方法只能調(diào)整更新位置的RSS值,并沒有有效的更新指紋庫。
[0004] 因此,有必要設(shè)計一種全新的動態(tài)指紋庫定位方法用于室內(nèi)定位。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明針對現(xiàn)有技術(shù)中定位精度不高的問題,提出了一種基于反饋機制的動態(tài)指 紋庫室內(nèi)定位方法,通過實時更新離線RSS數(shù)據(jù)庫,提高定位精度。
[0006] 一種基于反饋機制的動態(tài)指紋庫室內(nèi)定位方法,包括W下幾個步驟:
[0007] 步驟1 :對室內(nèi)區(qū)域進行均勻化網(wǎng)格劃分,獲取錯節(jié)點坐標(x,y),將已有的離線 RSS值賦值到每個網(wǎng)格中的節(jié)點的RSS信息,構(gòu)建初始RSS數(shù)據(jù)庫Ψ;
[0008]
[0009] 其中,稱J表示放置于網(wǎng)格j的節(jié)點接收到錯節(jié)點i的平均RSS,
,q為網(wǎng)格中的節(jié)點j接收到錯節(jié)點i的RSS樣本總數(shù);灼J(r)是第 j個網(wǎng)格接收到錯節(jié)點i的第τ條RSS值;L表示錯節(jié)點個數(shù),N表示網(wǎng)格總數(shù);
[0010] 如果位于網(wǎng)格j的節(jié)點在錯節(jié)點i的通信范圍rW外,即放置于網(wǎng)格j的節(jié)點不 能接收到來自錯節(jié)點i的消息,令巧j=0;
[0011] 步驟2 :構(gòu)建網(wǎng)格中節(jié)點之間的距離矩陣D;
[0012]
[001引其中,位于網(wǎng)格m中的節(jié)點到位于網(wǎng)格η中的節(jié)點之間的距離為cL;如果m= η'dmn= 0 ;
[0014] 步驟3 :構(gòu)建待驗證節(jié)點的測量矩陣Φ,Φ= [Si,S2,…,sj,并計算待驗證節(jié)點的 每個錯節(jié)點的RSS值與初始數(shù)據(jù)庫中Ψ所有已知位置的節(jié)點RSS值之間的距離li;
[0015]
[0016] 其中,Sj表示待驗證節(jié)點收到第j個錯節(jié)點的最新RSS值;P取值為1或2 ;
[0017] 【所述待驗證節(jié)點為所處網(wǎng)格坐標已知的節(jié)點,利用已知位置的節(jié)點驗證當前RSS 數(shù)據(jù)庫是否準確,若不準確,則實時更新;】
[0018] 步驟4 :按從小到大選取K個步驟3獲得的距離li,利用選取的距離li對應(yīng)的節(jié)點 i所在的網(wǎng)格坐標(Xi,yi),采用K近鄰法計算待驗證節(jié)點的估計位置
[0019]
[0020] 其中,K取1-11之間的整數(shù);
[002。 步驟5:更新RSS數(shù)據(jù)庫;
[002引 5. 1 :在室內(nèi)區(qū)域中W步驟4獲得的待驗證節(jié)點的估計位置為圓心半徑為R,繪制 圓,將圓形內(nèi)的區(qū)域作為截止區(qū)域;
[0023] 5. 2 :將截止區(qū)域中的已知網(wǎng)格坐標中的節(jié)點作為非更新點,截止區(qū)域W外的已知 網(wǎng)格坐標中的節(jié)點作為更新點.
[0024] 5. 3 非更新點所在位置作為圓心半徑為R,繪制圓,從得到的圓形區(qū)域中任意 選取Ξ個更新點;
[00巧]5. 4 :對從RSS數(shù)據(jù)庫中提取步驟5. 3所選的更新點的RSS值,采用線性插值法,計 算獲得步驟5. 3中所述非更新點的RSS更新值,更新RSS數(shù)據(jù);
[0026] 【即把RSS值從"更新點"反饋給"非更新點"?!?br>[0027] 步驟6 :利用更新后的RSS數(shù)據(jù)庫,返回步驟3,重新計算待驗證節(jié)點的估計位置, 計算本次得到的估計位置與待驗證節(jié)點位置之間的位置誤差對值S,若δ<Τ,則進入步驟 7,否則,判斷RSS數(shù)據(jù)庫的更新次數(shù)g是否大于設(shè)定的最大更新次數(shù)G,若大于,則進入步驟 7,否則,返回步驟1,任意選擇RSS數(shù)據(jù)庫中的Θ個節(jié)點作為反饋點,實時測量其最新RSS 值,更新初始RSS數(shù)據(jù)庫;Θ的取值為網(wǎng)格總數(shù)N的十分之一到八分之一;
[002引其中,G取整數(shù),取值范圍是[1,5] ;Τ為位置誤差闊值,取值為0.3-0.6m;
[0029] 步驟7 :W獲得位置誤差絕對值最小時對應(yīng)的RSS數(shù)據(jù)庫作為在線實時定位RSS 數(shù)據(jù)庫;
[0030] 步驟8 :利用在線實時定位RSS數(shù)據(jù)庫,將待定位節(jié)點作為待驗證節(jié)點,返回步驟 4,經(jīng)步驟4獲得待定位節(jié)點的估計位置。
[0031] 所述步驟5. 3中任意選取Ξ個更新點具體操作如下:
[0032] ω如果非更新點周圍只有Ξ個更新點,則選擇當前的Ξ個更新點;
[0033] (ii)如果非更新點周圍不足Ξ個更新點,則按照截止區(qū)域內(nèi)非更新點的RSS值變 化頻率從小到大選取非更新點代替更新點,補足Ξ個更新點;
[0034] (iii)如果周圍超過Ξ個更新點,則選擇截止區(qū)域內(nèi)離當前所選的非更新點距離 最近的Ξ個更新點。
[00對所述P取值為2。
[0036] 【計算兩點之間的距離時,使用歐幾里得距離效果更好?!?br>[0037] 所述待驗證節(jié)點數(shù)量為1-8個。
[0038] 所述最大更新次數(shù)G取值為5。
[00測有益效果
[0040] 本發(fā)明提供了一種基于反饋機制的動態(tài)指紋庫室內(nèi)定位方法,該方法對傳統(tǒng)的指 紋庫定位方法采用指紋庫動態(tài)更新機制,通過在離線階段加入網(wǎng)格之間的距離矩陣,在線 階段定義"更新點"和"非更新點"W及截至區(qū)域,通過空間相關(guān)性,利用線性插值法計算 "非更新點"的RSS值,從而使得該位置的RSS值也得W更新,實現(xiàn)了"更新點"到"非更新 點"RSS值的反饋,然后進行定位,把定位效果最好的RSS值保存至離線數(shù)據(jù)庫,運樣不僅保 持了指紋庫的實時性,也為下一次定位打下了良好的基礎(chǔ)。
[0041] 該方法通過判斷定位誤差大小來決定是否需要更新現(xiàn)有的指紋庫,運和許多指紋 庫定位法不同。
[004引本方法同時提出"更新點"和"非更新點"W及截至區(qū)域,利用線性插值法計算此 "非更新點"的RSS值,把RSS值從"更新點"反饋給"非更新點",在有效調(diào)整指紋庫的同時 也減少了更新的代價和復(fù)雜度。
[0043] 而且,本發(fā)明采取多次更新的方式使現(xiàn)有的指紋庫更加接近于實時的室內(nèi)環(huán)境, 同時,本發(fā)明記錄了每次更新時得到的定位結(jié)果,最后輸出誤差最小的結(jié)果,并把能夠得到 最優(yōu)結(jié)果的RSS指紋保存到離線數(shù)據(jù)庫,不僅使定位結(jié)果最優(yōu)化,也保證了指紋庫的實時 性,有利于下一次的定位。
【附圖說明】
[0044] 圖1是本發(fā)明的定位方法流程圖;
[0045] 圖2是本發(fā)明的網(wǎng)格和錯節(jié)點示意圖;
[0046] 圖3是本發(fā)明提出的截止區(qū)域示意圖;
[0047] 圖4是本發(fā)明提出的"更新點"和"非更新點"示意圖;
[0048] 圖5為最大更新次數(shù)對本算法定位精度的影響仿真示意圖;
[0049] 圖6為反饋點數(shù)量對定位精度的影響仿真示意圖;
[0050] 圖7為截止區(qū)域半徑對定位精度的影響仿真示意圖;
[0051] 圖8為同一待驗證節(jié)點對RSS數(shù)據(jù)庫進行驗證的測量次數(shù),分別對本算法、 Finge;rp;rint算法、TraditionalCS算法的影響仿真示意圖;
[0052] 圖9為待驗證節(jié)點數(shù)量對Finge巧rintjraditionalCS、和本算法定位精度的影 響仿真示意圖。
【具體實施方式】
[0053] 下面將結(jié)合附圖和實施例對本發(fā)明做進一步的說明。
[0054] 首先定義錯節(jié)點數(shù)量以錯節(jié)點通信半徑r,最大指紋庫更新次數(shù)G,當前指紋庫更 新次數(shù)g,定位誤差闊值T,傳統(tǒng)的指紋庫定位的平均誤差為0. 5m,所W運里設(shè)定T= 0. 5m。 [00巧]如圖1所示,為本發(fā)明的定位方法流程圖。定位分為離線階段和在線階段。離線 階段生成RSS指紋庫、網(wǎng)格之間距離矩陣,得到錯節(jié)點坐標和網(wǎng)格坐標;在線階段對于待定 位節(jié)點生成測量矩陣,利用ΚΓ^Ν算法定位,根據(jù)定位誤差決定是否更新指紋庫,并執(zhí)行多次 更新得到最優(yōu)的定位結(jié)果。
[0056] (1)在離線階段建立采樣矩陣Ψ和網(wǎng)格到網(wǎng)格之間的距離矩陣D,獲得錯節(jié)點的 坐標W及各網(wǎng)格坐標,保存到離線數(shù)據(jù)庫。
[0057] 如圖2所示,為本發(fā)明的網(wǎng)格和錯節(jié)點示意圖;圖中正方形為網(wǎng)格,每個網(wǎng)格中都 有已知坐標的參考節(jié)點,黑點表示隨機分布的錯節(jié)點,其坐標同樣已知。
[0058] (2)在線階段,獲得測量矩陣Φ,通過Κ-Γ^Ν匹配算法與Ψ匹配,獲得待驗證節(jié)點 的估計位置Px,Py。
[0059] (3)計算該點實際位置(此步驟是為了驗證算法的定位精度,W使本算法能達到 最好的定位效果,故需要與實際位置作比較)與估計位置的誤差S,如果δ<Τ,則直接執(zhí)行 第8步,返回估計坐標;如果δ〉Τ,則執(zhí)行第4步。
[0060] 在室內(nèi)區(qū)域中W待驗證節(jié)點的估計位置為圓屯、,半徑為R,繪制圓,將圓形內(nèi)的區(qū) 域作為截止區(qū)域;
[0061] 將截止區(qū)域中的已知網(wǎng)格坐標中的節(jié)點作為非更新點,截止區(qū)域W外的已知網(wǎng)格 坐標中的節(jié)點作為更新點;