本發(fā)明涉及室內定位領域,更具體地,涉及一種基于wifi的室內定位優(yōu)化算法。
背景技術:
隨著無線局域網絡在世界的飛速發(fā)展和移動終端設備的廣泛普及,近年來出現了很多的室內定位相關技術和應用。目前wifi室內定位方法根據網絡中是否需要測量節(jié)點之間的真實距離,可分為基于測距的方法和非測距的方法。前者測量時利用節(jié)點之間的距離或者角度等信息實現節(jié)點自身定位,典型的算法有:到達時間差(timedifferenceofarrival)和到達時間(timeofarrival)等,非測距方法主要是基于在接收信號強度指示rssi(receivedsignalstrengthindicator)信號強度值來計算的。
基于rssi強度值的定位算法分為兩種:一種是基于rssi信號的衰減模型,通過建模找出一個非線性方程來描述單個的接收信號強度指示值與測量物體和發(fā)射機之間距離的關系,再依據信號強度與傳播距離損耗測算距離,通過多邊測量、圓周或雙曲線函數定位節(jié)點位置,具體實施過程一般分為測距階段和計算坐標階段。另外一種是基于rssi指紋庫的定位方法,也是本文中采用的方法,由于無線信號在傳播中會受反射、繞射和散射的影響,使得接收節(jié)點接收到的信號不是來自于單一路徑,而是多個路徑多個信號的疊加,并且由于電磁波通過的路徑距離不同,到達節(jié)點時間也不盡相同,存在相位差。但是對每個位置而言,信道的多徑結構都是唯一的,我們可以把在這個位置收到的所有的rssi信號與其對應的發(fā)射源統稱為rssi位置指紋,然后根據這個指紋庫來進行定位。
在實際環(huán)境中,wifi信號傳播會受到多徑效應、陰影效應和非直達波傳播等的影響,同時室內壞境存在著其他的無線信號干擾,特別是頻率為2.4ghz的信號。在室內環(huán)境應用基于wifi的定位系統時,無論是在線階段還是離線階段采集的數據,都會受到噪聲的影響,這對定位效果有很大的影響,所以盡可能消除噪聲對信號的影響成為定位中的關鍵點。
技術實現要素:
本發(fā)明為克服上述現有技術所述的至少一種缺陷,提供一種基于wifi的室內定位優(yōu)化算法,能適應具有大量噪聲的實際環(huán)境,提高室內wifi定位精度。
為解決上述技術問題,本發(fā)明的技術方案如下:
一種基于wifi的室內定位優(yōu)化算法,包括以下步驟:
訓練階段:
s1:線下采集rssi數據,并將所采集的rssi數據轉換成rssi指紋庫,記為f;
s2:將rssi指紋庫的rssi值部分與x、y坐標值部分分離;其中,rssi值部分記為數據集x,x、y坐標值部分記為y1、y2;
s3:將數據集x經過自動編碼器進行自學習,構造一個非遞歸神經網絡hw,b;
s4:將數據集x經過非遞歸神經網絡hw,b通過不斷訓練得到一個新的數據集x',使得hw,b(x)≈x';
s5:將新的數據集x'與其對應的x、y坐標值部分結合起來,形成新的rssi指紋庫,記為f';
測試階段:
s6:將給出的某一位置rssi指紋f,經過與訓練階段同樣的非遞歸神經網絡hw,b轉換為新的模式f',其中hw,b(f)≈f';
s7:通過分類算法進行新指紋庫匹配分別對x坐標值和y坐標值分類,得出最終定位結果。
在一種優(yōu)選的方案中,步驟s3中自動編碼器編碼是通過降維或升維學習一組數據的表現形式。
在一種優(yōu)選的方案中,步驟s3中非遞歸神經網絡hw,b有多個神經元層,包括輸入層、隱藏層和輸出層。
在一種優(yōu)選的方案中,所述非遞歸神經網絡hw,b每層的維度數沒有限制,為d1,d2,...,dn。
在一種優(yōu)選的方案中,步驟s5中新的rssi指紋庫f'是原始rssi指紋庫f的另外一種表現形式,能完全代表f。
在一種優(yōu)選的方案中,步驟s7中的分類算法為k最近鄰(k-nearestneighbor,knn)分類算法。
與現有技術相比,本發(fā)明技術方案的有益效果是:自動編碼方法是人工神經網絡用于學習高效編碼的一種算法,本發(fā)明通過構建非遞歸神經網絡自學習得到新的rssi指紋庫是原始rssi指紋庫的另一種表示方法,完全能夠代表原始rssi指紋庫,通過對原始rssi指紋庫的重新編碼,減少噪聲在rssi信號數據中的影響,能適應具有大量噪聲的實際環(huán)境,從而提高了wifi定位的精度。
附圖說明
圖1為基于wifi的室內定位優(yōu)化算法流程圖示。
圖2為實施例1的基于wifi的室內定位優(yōu)化算法隱藏層為一層時信號損耗圖示。
圖3為實施例1的基于wifi的室內定位優(yōu)化算法隱藏層為兩層時信號損耗圖示。
圖4為基于wifi的室內定位優(yōu)化算法效果圖示。
具體實施方式
附圖僅用于示例性說明,不能理解為對本專利的限制;
為了更好說明本實施例,附圖某些部件會有省略、放大或縮小,并不代表實際產品的尺寸;
對于本領域技術人員來說,附圖中某些公知結構及其說明可能省略是可以理解的。
下面結合附圖和實施例對本發(fā)明的技術方案做進一步的說明。
實施例1
如圖1所示為算法流程圖,包括以下步驟:
訓練階段:
s1:線下采集rssi數據,并將所采集的rssi數據轉換成rssi指紋庫,記為f;
s2:將rssi指紋庫的rssi值部分與x、y坐標值部分分離;其中,rssi值部分記為數據集x,x、y坐標值部分記為y1、y2;
s3:將數據集x經過自動編碼器進行自學習,構造一個非遞歸神經網絡hw,b;
s4:將數據集x經過非遞歸神經網絡hw,b通過不斷訓練得到一個新的數據集x',使得hw,b(x)≈x';
s5:將新的數據集x'與其對應的x、y坐標值部分結合起來,形成新的rssi指紋庫,記為f';
測試階段:
s6:將給出的某一位置rssi指紋f,經過與訓練階段同樣的非遞歸神經網絡hw,b轉換為新的模式f',其中hw,b(f)≈f';
s7:通過分類算法進行新指紋庫匹配分別對x坐標值和y坐標值分類,得出最終定位結果。
在具體實施過程中,步驟s3中自動編碼器編碼是通過降維或升維學習一組數據的表現形式。在結構上,其最簡單的形式是前饋、類似于多層感知器的非遞歸神經網絡。
在具體實施過程中,步驟s3中非遞歸神經網絡hw,b有多個神經元層,包括輸入層、隱藏層和輸出層。
在具體實施過程中,所述非遞歸神經網絡hw,b每層的維度數沒有限制,為d1,d2,...,dn。
在具體實施過程中,步驟s5中新的rssi指紋庫f'是原始rssi指紋庫f的另外一種表現形式,能完全代表f。
在具體實施過程中,步驟s7中的分類算法為knn分類算法。
實施例2
通過使用專門的app進行人工采集rssi值,采集密度大約為每一平方米一個點,采集到的每組數據格式為{[rssi1,ap1,手機mac地址1,時間1],[rssi2,ap2,手機mac地址1,時間1]...},在一個位置點擊一次默認一次發(fā)送5組數據到服務器端,這五組數據的時間不同;
由于同一時間可能有多臺手機在進行數據采集,因此,根據時間+手機mac地址為依據,將數據格式轉換為指紋庫形式{rssi1,rssi2,rssi3,...,rssi5,x,y},x,y為位置坐標,該指紋庫記為f,其中{rssi1,rssi2,rssi3,...,rssi5}為分類特征,記為x,x坐標、y坐標為分類的類別,分別記為y1、y2。
將x數據進行中值濾波,減少信號波動引發(fā)的極端rssi信號值對定位的影響;
將指紋庫f的x與y1、y2分離開,;
構造一個非遞歸神經網絡hw,b,該非遞歸神經網絡是n層,且每層的維度數記為d1,d2,...,dn。將數據x經過hw,b進行自學習,通過i次迭代,比較經過hw,b的x'’與x之間的差距,若差距已足夠小,則停止迭代,這里i取15000,得到x';使用knn分類算法根據x'進行y1、y2的分類,得出定位結果。
如圖2所示,當隱藏層為一層,l1層維度數為28時,信號損耗最小,其次是維度數為50與維度數為40。
如圖3所示,當隱藏層為兩層,l1層維度數為40,l2層維度數為35時,信號損耗最小,效果最好。
如圖4所示,比較不經過自動編碼、單層隱藏層自動編碼和兩層隱藏層自動編碼的定位效果比較,從圖中可看出,經過兩層的自動編碼后的定位效果明顯由于單層自動編碼和不經過自動編碼的情況。
相同或相似的標號對應相同或相似的部件;
附圖中描述位置關系的用語僅用于示例性說明,不能理解為對本專利的限制;
顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領域的普通技術人員來說,在上述說明的基礎上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明權利要求的保護范圍之內。