蜂窩網環境下基于pca的子空間匹配室內指紋定位方法
【技術領域】
[0001] 本發明屬于無線通信技術領域,特別是蜂窩網環境下基于指紋的室內定位技術領 域,涉及一種蜂窩網環境下基于PCA的子空間匹配室內指紋定位方法。
【背景技術】
[0002] 隨著移動互聯網、無線通信技術的不斷發展,人們對于位置服務的需求越來越高, 位置服務的基礎一定位技術成為國內外學者研究的熱點。室內定位技術是公共安全、生產 安全、應急救援、物聯網、特殊人群監護、大型場館管理、智慧城市建設等領域重點關注的內 容。目前,比較典型的室內定位技術主要有基于RFID、藍牙、紅外、超聲波、WLAN、MEMS定位及 蜂窩網指紋定位技術等。與基于RFID、藍牙、紅外、超聲波、WLAN、MEMS等定位技術相比,蜂窩 網室內指紋定位技術具有結構簡單,能充分利用現有網絡設施,不需要額外增加硬件設備, 且不存在時間累積誤差等優點,因此受到越來越多的關注。
[0003] 在蜂窩網定位系統中,位置指紋定位方法因能充分利用現有網絡設施、不需要添 加額外的設備,從而得到了較為廣泛的應用。基于位置指紋的定位方法主要分為兩個階段: 離線階段和在線階段。離線階段,在室內目標區域內選擇合適的參考點,在各指紋點處采集 該位置點處所能監測到的所有基站小區在該點處的接收信號強度(Received Signal Strength Indication,RSSI),并與該指紋點處的位置坐標一起組合成指紋記錄,建立位置 指紋數據庫;在線階段,移動終端把當前所能接收到的小區信息及各小區的RSSI值發送到 定位服務器,定位服務器根據移動終端當前的接收小區信息在離線指紋數據庫中提取相應 的子數據庫,運用匹配算法估計出用戶的當前位置坐標。
[0004] 由于室內環境的復雜多變,因此位置指紋定位方法的精度性能受多種因素的影 響。其中定位算法的不同對定位精度有較大的影響。在現有方法中,常用的定位算法有最近 鄰(Nearest Neighbor,NN)算法、K最近鄰(KNearestNeighbor,KNN)算法以及加權K最近鄰 (Weighted K nearest neighborhood,WKNN)匹配算法。由于無線信道動態衰落的特性,能 夠引起蜂窩網室內定位精度產生較大的誤差。
【發明內容】
[0005] 有鑒于此,本發明的目的在于提供一種蜂窩網環境下基于PCA的子空間匹配室內 指紋定位方法,該方法基于PCA的子空間匹配定位算法,通過構建子空間分別進行WKNN匹 配,能夠充分利用移動終端接收到的各基站小區信息,結合3〇準則剔除掉誤差較大的坐標 獲得最終估計位置坐標輸出,能夠有效剔除大誤差點、提高整體定位精度;針對子空間匹配 算法耗時夠高的問題,在運用子空間匹配算法之前先對提取的子數據庫進行PCA降維處理, 此方法相對于子空間匹配算法能夠保證在剔除大誤差點、提高定位精度的基礎上,有效降 低系統的計算時間開銷。
[0006] 為達到上述目的,本發明提供如下技術方案:
[0007] -種蜂窩網環境下基于PCA的子空間匹配室內指紋定位方法,該方法根據移動終 端在線所監測到的小區信息在離線指紋數據庫中提取相應的子數據庫構成矩陣,然后對子 數據庫矩陣提取特征值和特征向量,并根據一定的規則構建特征矩陣,對移動終端在線監 測矩陣和子數據庫矩陣進行降維;對降維后的在線監測矩陣和子數據庫矩陣分別提取子空 間,分別運用WKNN匹配算法獲取相應的位置估計,最后結合3 〇準則剔除誤差較大的坐標求 取最終估計位置坐標輸出。
[0008] 進一步,所述方法具體包括以下步驟:
[0009] 1)構建實測矩陣T和子數據庫矩陣U:根據移動終端在線所監測到的小區信息,在 離線指紋數據庫中提取相應子數據庫構成矩陣為U;移動終端在線接收小區信息構成的實 測矩陣為T;設子數據庫矩陣U是m行p列的矩陣,其中m為離線指紋數據庫中指紋點的個數,p 為當前移動終端所監測到的小區的個數;
[0010] 2)對子數據庫矩陣U數據中心化,即對子數據庫矩陣U每一列各元素減去該列均值 求得中心化矩陣B;
[0011] 3)計算矩陣B的協方差矩陣R
[0012] 4)計算Rxi = AiXi,i = l,. . .,p,其中,λ?為矩陣R的特征值,Xi為λ?對應的特征向量;
[0013] 5)降序排列特征值入1,使得& 2 λ2 2…2 λρ;
[0014] 6)提取特征矩陣W:根據貢獻度的大小及實際需求,取特征值之和占總和一定比例 α的前A個特征值(λχΑ, . . .,λΔ)對應的特征向量構成的特征矩陣W=[X1,X2, . . .,χΔ];
[0015] 7)對實測矩陣Τ和子數據庫矩陣U進行降維處理:降維后的實測矩陣為Φ,Φ=?¥; 降維后的子數據庫矩陣為D,D = UW,矩陣Φ和矩陣D的列數維度都為Δ ;
[0016] 8)提取子空間:根據實際需求,對降維后的實測矩陣Φ和降維后的子數據庫矩陣D 分別提取相應的S列子空間構成矩陣,δ< Δ,共有M = Cf種取法,相應的矩陣分別為IV (i = 1,2, · · ·,M)和U/ (i = l,2, · · ·,M);
[0017] 9)子空間WKNN匹配位置輸出:對相應的IV和IT i運用WKNN匹配算法分別估計出一 個位置坐標(xi,yi),共可得出Μ個位置坐標,表示為(xi,yi),(X2,y2),...,(XM,yM);
[0018] l〇)令j=M,其中,j為計數量;
[0019] 11)計算平均位置坐標d>,
[0021] 12)分別求得」個位置坐標(11,71),&2,72),.。,匕,7」)與平均位置坐標丐力的歐 幾里得距離cU(i = l,2, . . .,j):
,并將山,(12,...,山按照從小到大的順序排 列為y 1 < y 2 < · . . < y j,y 1,y 2,· . .,y j分別對應的位置坐標為(X' 1,y' 1),(X' 2,y 2),···,(χ j,y j);
[0022] 13)計算 dW%· ··,(!、的標準差心,此時,(/FstcKcT id、· ··,(!~);
[0023] 14)判斷cT」是否大于;是,轉步驟15);否,則轉步驟16);
[0024] 15)剔除坐標(X7 j),并將坐標值(X7 ιΥ 1),(X7 2,y' 2),. . .,(X7 j-ιΥ j-1)分別 賦給(xi,yi),(x2,y2),…,(xj-i,yj-1),令j = j_l,轉步驟11);
[0025] 16)巧U即為最終估計位置坐標輸出。
[0026] 本發明的有益效果在于:本發明提供的方法能夠有效剔除大誤差點,提升蜂窩網 環境下室內指紋定位精度的匹配定位方法,通過對構建的實測矩陣T和子數據庫矩陣U進行 降維處理,然后對降維后的實測矩陣為Φ和降維后的子數據庫矩陣D提取相應的子空間分 別進行WKNN匹配位置輸出,求得平均位置坐標,計算各子空間匹配位置坐標與平均位置坐 標的歐氏距離,最后應用3 〇準則剔除距離較大的位置坐標,保留符合條件的位置坐標點,求 取均值,作為最終的估計位置坐標輸出,從而實現在不過大增加時間開銷的同時提高蜂窩 網環境下室內指紋定位精度。
【附圖說明】
[0027] 為了使本發明的目的、技術方案和有益效果更加清楚,本發明提供如下附圖進行 說明:
[0028] 圖1為本發明所述方法的流程示意圖;
[0029] 圖2為本發明的真實實驗環境示意圖;
[0030] 圖3為子空間匹配算法與概ΝΝ、ΚΝΝ、ΝΝ匹配算法定位精度CDF對比圖。
【具體實施方式】
[0031]下面將結合附圖,對本發明的優選實施例進行詳細的描述。
[0032] 圖1為本發明所述方法的流程示意圖,如圖所示,本發明所述方法具體包括以下步 驟:
[0033] 步驟一:構建實測矩陣Τ和子數據庫矩陣U。根據移動終端在線所監測到的小區信 息,在離線指紋數據庫中提取相應的小區所在列對應的接收信號強度值構造子數據庫,對 應的子數據庫矩陣為U。移動終端在線接收到的小區RSSI值構成的實測矩陣為Τ。設子數據 庫矩陣U是m行ρ列的矩陣,其中m為離線指紋數據庫中指紋點的個數,ρ為當前移動終端所監 測到的小區的個數;
[0034]步驟二:對子數據庫矩陣U數據中心化,即對子數據庫矩陣U每一列減去該列均值 求得中心化矩陣B;對子數據庫矩陣U的ρ列的每一列分別求取均值Vl(i = l,. . .p),
;對子數據庫矩陣U的每一列的各元素減去該列均值^求得矩陣B,實現中心化; [0035] 步驟三:計算矩陣B的協方差矩陣R
[0036] 步驟四:計算Rxi = AiXi,i = l,. . .,p。其中,λ?為矩陣R的特征值,xi為λ?對應的特征 向量;
[0037] 步驟五:降序排列特征值Ai,使得& 2 λ2 2…2 λρ;
[0038] 步驟六:提取特征矩陣W。根據貢獻度的大小及實際需求,取特征值之和占總和一 定比例α的前Δ個特征值Λ . . .,1^]及其相應的特征向量構成的特征矩陣W=
[W1,W2,...,Wa];
[0039] 步驟七:對實測矩陣T和子數據庫矩陣U進行降維處理。降維后的實測矩陣為Φ,Φ = TW;降維后的子數據庫矩陣為D,D = UW