本發(fā)明屬于定位領(lǐng)域,尤其涉及一種類指紋的藍牙定位方法。
背景技術(shù):
現(xiàn)如今我們的基本生活已經(jīng)離不開定位功能,比如導航、外賣用戶位置定位、興趣點檢索、公交、出租出行等,目前的這些定位服務(wù)均是基于gps或者蜂窩基站的定位,因為基于gps的定位技術(shù)已經(jīng)十分成熟,所以在戶外gps能夠覆蓋的地方能夠?qū)崿F(xiàn)精準的定位,然而在室內(nèi)或者有大量高層建筑gps信號很弱、甚至沒有的地方,只能通過蜂窩基站實現(xiàn)大致的定位。事實上,根據(jù)數(shù)據(jù)研究結(jié)果表明目前生活在城市的人們有超過80%的時間進行的是戶內(nèi)活動,而戶內(nèi)就意味著可能gps信號很弱或者沒有,比如身處陌生的商場想找到出口或地下停車場想找到停車位置,亦或是商場的商家們希望可以基于位置給客戶推送活動或者促銷信息,面對這些當前十分現(xiàn)實的需求,傳統(tǒng)的gps定位方法已是無能為力,所以室內(nèi)定位技術(shù)的研究就顯得十分必要。
從近幾年室內(nèi)定位的研究成果來看,主要的定位方法有信號強度指紋匹配定位、信號傳播模型的zigbee定位、藍牙定位、超聲波或紅外定位。而其中藍牙技術(shù)作為一起比較成熟、短距離、性價比高的技術(shù),相對于其他定位技術(shù),不僅具有低成本、易部署的特點,還因當前幾乎所有的智能設(shè)備都已經(jīng)支持藍牙,具有高普及率、無額外定位成本基礎(chǔ)。而當前使用藍牙定位方法主要是基于信號的指紋的和基于信號衰減測距模型的,雖然基于這兩種方式的定位都在一定程度上已經(jīng)取得了許多研究成果,但卻存在許多問題?;谛盘栔讣y的定位方法的平均誤差可以低至1.65米,但需要大量的離線指紋采集工作,且當環(huán)境發(fā)生改變時就必須重新更新指紋數(shù)據(jù)庫,定位的準確度與指紋采集密度和指紋的維度有著直接的關(guān)系;而基于信號衰減模型的方法平均誤差可做到2m以內(nèi),但多是在一個特定的測試環(huán)境下通過大量的實測盡可能多的得到每個距離下的信號強度值,然后使用距離與信號強度的測試數(shù)據(jù)通過線性回歸的方法得到一個信號強度與距離的關(guān)系模型,再將這樣的特定模型用于實際環(huán)境定位,這必然面臨著通用性較差、使用環(huán)境過于理想化的問題,最終在實際復雜應用環(huán)境中的定位效果并不理想。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種類指紋的藍牙定位方法。
本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種類指紋的藍牙定位方法,包括以下步驟:
(1)基站部署:將待測環(huán)境劃分為多邊形網(wǎng)格,每個網(wǎng)格結(jié)點部署一個藍牙基站,并在服務(wù)器儲存每個基站的信息,包含基站編號和位置坐標(x,y)。
(2)移動終端掃描附近基站,獲取附近基站并獲得相應信號強度值:移動終端使用掃描得到的基站id信息發(fā)送獲取基站信息請求。
(3)網(wǎng)格粗定位:為每個網(wǎng)格定義一個虛擬點,該虛擬點的信號強度值為其網(wǎng)格上的實際頂點的實時信號強度值的加權(quán)平均值,逐個計算每個虛擬點的信號強度值,信號強度值最大的虛擬點所屬的網(wǎng)格即為移動終端所在的網(wǎng)格。
(4)網(wǎng)格內(nèi)細定位:根據(jù)所屬網(wǎng)格的每個頂點的信號強度值,結(jié)合信號比例趨向模型和rssi信號測距模型計算出目標點到該網(wǎng)格包含的某兩個頂點之間的距離的比值,為了盡可能多的照顧到多個參考點的擬合效果,利用n-1個距離比計算出移動終端在網(wǎng)格內(nèi)的具體位置,n為頂點數(shù),最終得到移動終端的位置坐標(x,y),實現(xiàn)移動終端的實時位置定位。
進一步地,所述步驟2中,根據(jù)在較短的時間內(nèi)獲取基站的n個信號強度值,結(jié)合rssi濾波推導更加貼近真實情況的瞬時信號強度值,所述rssi濾波包括高斯濾波、遞推平均濾波;具體如下:
(2.1)高斯濾波:把連續(xù)接收到的n個rssi值看成一個隊列,隊列的長度固定為n,每次接收到一個新的rssi值后放入隊尾,并丟棄原來隊首的rssi值,記第m個高斯分布的密度為f(rssim):
其中,
根據(jù)計算結(jié)果,取使得f的值在0.6-1之間的信號強度值,作為有效的信號強度值;
(2.2)遞推平均濾波:假定根據(jù)高斯濾波篩選出m個rssi值,對其進行算術(shù)平均運算,獲得新的濾波結(jié)果。記m個信號強度值為rssi[1-m],則濾波后的結(jié)果如下:
進一步地,該方法用于室內(nèi)多樓層定位時,在服務(wù)器儲存的每個基站的信息還包含樓層號,根據(jù)步驟2掃描到的基站,從服務(wù)器獲取每個基站對應的樓層號,將最多的樓層號確定為移動終端所在的樓層。
進一步地,所述步驟4包括下子步驟:
(4.1)信號比例趨向模型:假設(shè)a、b為移動終端所屬網(wǎng)格的兩個頂點,根據(jù)移動終端接收到的a、b的信號強度值計算出移動終端到頂點a和頂點b的距離的比值。設(shè)a、b和移動終端的坐標為(xa,ya)、(xb,yb)、(x,y),在x處收到a、b的信號強度為rssia、rssib,則定義x坐標的計算方法如下:
其中,α與β為x到a和x到b距離占ab距離的比值;
(4.2)根據(jù)rssi信號測距模型,信號強度rssi與距離之間存在如下關(guān)系:
其中p(d)和p(d0)分別為移動終端距離基站d米和d0米處的接收功率,單位為dbm;n為無線信道衰減因子;ε為一個均值為零,服從高斯分布的隨機變量。
近似地認為基站的信號衰減模型中參考信號強度與環(huán)境參數(shù)是一致的,根據(jù)步驟4.1的公式可推導出α與β比值:
其中,
(4.3)設(shè)實際得到一目標所處的多邊形網(wǎng)格有n個頂點,分別是p1,p2,…,pn,其位置分別是p1(x1,y1),p2(x2,y2),…,pn(xn,yn),目標結(jié)點的位置設(shè)為x(x,y),記根據(jù)信號衰減模型估算x到p1,p2,…,pn的距離為d1,d2,…,dn。根據(jù)步驟(4.1)所述信號比例趨向模型和步驟(4.2)所述rssi信號測距模型,可以得到d1,d2,…,dn兩兩之間的比值。取其中n-1個比值得到比例值向量
通過枚舉的方式得到二元二次方程組的的解,由于已經(jīng)完成了網(wǎng)格的粗定位,顯然地需要進行枚舉的解的范圍是確定的,并且根據(jù)基于信號強度定位的精確度有限,枚舉增量不必過小,所以候選解的數(shù)量是有限的,所以求解的過程也必然是收斂的。枚舉求解過程如下:
a)確定需要進行枚舉解的范圍:找出p1,p2,…,pn點的x,y值的最小值和最大值,得到枚舉解范圍x∈[lx,rx],y∈[ly,ry],枚舉增量為δ=0.1;
b)依次取x當前取值加上增量,在確定x不變情況下,枚舉y的值,最終得到一個臨時的枚舉值,當前枚舉值所代表的點為p(cx,cy),使用射線法判斷點是否在多邊形內(nèi):從p(cx,cy)到多邊形外面任意一點畫一條虛擬的射線,計算該射線與多邊形上的邊相交的次數(shù),如果該次數(shù)是偶數(shù),說明p(cx,cy)在多邊形外,進行下一可能解判斷,如果是奇數(shù),則p(cx,cy)在多邊形內(nèi),代入方程求出當前枚舉點到多邊形網(wǎng)格各個頂點之間的距離
c)評價并記錄當前解:根據(jù)所得
d)得出最優(yōu)解。
本發(fā)明的有益效果是:本發(fā)明類指紋的藍牙定位方法,一方面方便了基于藍牙功能的實際業(yè)務(wù)開發(fā),另一方面提出的基于網(wǎng)格的先粗定位后細定位模型與方法提升了藍牙精確定位的穩(wěn)定性與容錯性。
在開發(fā)過程中共實現(xiàn)了四種對采樣的信號強度濾波的方式和兩種目標位置分析算法。但經(jīng)過開發(fā)過程中的簡單比較發(fā)現(xiàn)對于信號采樣既要求實時性又要求能盡可能反應真實情況下當前位置下的實時信號強度,而遞推均值濾波、遞推中位數(shù)濾波、高斯濾波和加權(quán)窗口濾波四種濾波方式對于當前定位系統(tǒng)而言效果最好的是遞推平均值濾波。對于根據(jù)參考點的實時信息估算目標位置的方法,在實現(xiàn)過程中同時實現(xiàn)了完全基于信號強度衰減模型估的估算目標與參考點的距離,再基于最小二乘的方法基于目標到多個參考點的位置已知的條件構(gòu)造超線性方程組,最終求解出目標的近似位置。但經(jīng)過實際室內(nèi)環(huán)境下測試發(fā)現(xiàn)會存在以下問題:
1)室內(nèi)墻壁及其他設(shè)施對信號的干擾,比如阻擋、反射;
2)室內(nèi)人員干擾,比如手機與基站之間有人阻擋;
3)定位過程中,手機所處位置影響,比如拿在手中與裝在口袋里;
以上問題會嚴重影響到實時定位過程中接收到信號強度的可信度,如果接收到的實時信號強度值產(chǎn)生偏差,那么根據(jù)信號強度計算出來的距離的可信度就不高了,所以直接使用信號衰減模型的方法在定位過程會因為不可信的信號結(jié)點的干擾,從而導致最終的定位結(jié)果嚴重偏差。
基于開發(fā)測試過程中發(fā)現(xiàn)的問題,所以最終提出并實現(xiàn)了能解決以上所有問題的先基于網(wǎng)格進行定位再在網(wǎng)格內(nèi)進行精確定位的類指紋定位方法,這樣的好處在于:
1)通過實際的測試發(fā)現(xiàn),第一步的網(wǎng)格區(qū)域定位結(jié)果基本準確無誤;
2)第二步的網(wǎng)格內(nèi)的精確定位因為是建立在第一步的基礎(chǔ)之上,即使發(fā)現(xiàn)錯誤,最大誤差也不會超過網(wǎng)格的邊長。而且經(jīng)過實際的不同網(wǎng)格大小測試結(jié)果發(fā)現(xiàn)當把網(wǎng)格的邊長設(shè)置為6m左右時產(chǎn)生的定位誤差在2m以內(nèi),應用前景廣闊。
附圖說明
圖1為本發(fā)明方法流程圖。
具體實施方式
為使本發(fā)明實施例的技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖、對本發(fā)明實施例中的技術(shù)方案進行清楚、完整的表述?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明提供的一種類指紋的藍牙定位方法,包括以下步驟:
(1)基站部署:將待測環(huán)境劃分為多邊形網(wǎng)格,每個網(wǎng)格結(jié)點部署一個藍牙基站,并在服務(wù)器儲存每個基站的信息,包含基站編號和位置坐標(x,y)。
(2)移動終端掃描附近基站,獲取附近基站并獲得相應信號強度值:移動終端使用掃描得到的基站id信息發(fā)送獲取基站信息請求。
(3)網(wǎng)格粗定位:為每個網(wǎng)格定義一個虛擬點,該虛擬點的信號強度值為其網(wǎng)格上的實際頂點的實時信號強度值的加權(quán)平均值,逐個計算每個虛擬點的信號強度值,信號強度值最大的虛擬點所屬的網(wǎng)格即為移動終端所在的網(wǎng)格。
(4)網(wǎng)格內(nèi)細定位:根據(jù)所屬網(wǎng)格的每個頂點的信號強度值,結(jié)合信號比例趨向模型和rssi信號測距模型計算出目標點到該網(wǎng)格包含的某兩個頂點之間的距離的比值,為了盡可能多的照顧到多個參考點的擬合效果,利用n-1個距離比計算出移動終端在網(wǎng)格內(nèi)的具體位置,n為頂點數(shù),最終得到移動終端的位置坐標(x,y),實現(xiàn)移動終端的實時位置定位。
進一步地,所述步驟2中,根據(jù)在較短的時間內(nèi)獲取基站的n個信號強度值,結(jié)合rssi濾波推導更加貼近真實情況的瞬時信號強度值,所述rssi濾波包括高斯濾波、遞推平均濾波;具體如下:
(2.1)高斯濾波:把連續(xù)接收到的n個rssi值看成一個隊列,隊列的長度固定為n,每次接收到一個新的rssi值后放入隊尾,并丟棄原來隊首的rssi值,記第m個高斯分布的密度為f(rssim):
其中,
根據(jù)計算結(jié)果,取使得f的值在0.6-1之間的信號強度值,作為有效的信號強度值;
(2.2)遞推平均濾波:假定根據(jù)高斯濾波篩選出m個rssi值,對其進行算術(shù)平均運算,獲得新的濾波結(jié)果。記m個信號強度值為rssi[1-m],則濾波后的結(jié)果如下:
進一步地,該方法用于室內(nèi)多樓層定位時,在服務(wù)器儲存的每個基站的信息還包含樓層號,根據(jù)步驟2掃描到的基站,從服務(wù)器獲取每個基站對應的樓層號,將最多的樓層號確定為移動終端所在的樓層。
進一步地,所述步驟4包括下子步驟:
(4.1)信號比例趨向模型:假設(shè)a、b為移動終端所屬網(wǎng)格的兩個頂點,根據(jù)移動終端接收到的a、b的信號強度值計算出移動終端到頂點a和頂點b的距離的比值。設(shè)a、b和移動終端的坐標為(xa,ya)、(xb,yb)、(x,y),在x處收到a、b的信號強度為rssia、rssib,則定義x坐標的計算方法如下:
其中,α與β為x到a和x到b距離占ab距離的比值;
(4.2)根據(jù)rssi信號測距模型,信號強度rssi與距離之間存在如下關(guān)系:
其中p(d)和p(d0)分別為移動終端距離基站d米和d0米處的接收功率,單位為dbm;n為無線信道衰減因子;ε為一個均值為零,服從高斯分布的隨機變量。
近似地認為基站的信號衰減模型中參考信號強度與環(huán)境參數(shù)是一致的,根據(jù)步驟4.1的公式可推導出α與β比值:
其中,
(4.3)設(shè)實際得到一目標所處的多邊形網(wǎng)格有n個頂點,分別是p1,p2,…,pn,其位置分別是p1(x1,y1),p2(x2,y2),…,pn(xn,yn),目標結(jié)點的位置設(shè)為x(x,y),記根據(jù)信號衰減模型估算x到p1,p2,…,pn的距離為d1,d2,…,dn。根據(jù)步驟(4.1)所述信號比例趨向模型和步驟(4.2)所述rssi信號測距模型,可以得到d1,d2,…,dn兩兩之間的比值。取其中n-1個比值得到比例值向量
通過枚舉的方式得到二元二次方程組的的解,由于已經(jīng)完成了網(wǎng)格的粗定位,顯然地需要進行枚舉的解的范圍是確定的,并且根據(jù)基于信號強度定位的精確度有限,枚舉增量不必過小,所以候選解的數(shù)量是有限的,所以求解的過程也必然是收斂的。枚舉求解過程如下:
a)確定需要進行枚舉解的范圍:找出p1,p2,…,pn點的x,y值的最小值和最大值,得到枚舉解范圍x∈[lx,rx],y∈[ly,ry],枚舉增量為δ=0.1;
b)依次取x當前取值加上增量,在確定x不變情況下,枚舉y的值,最終得到一個臨時的枚舉值,當前枚舉值所代表的點為p(cx,cy),使用射線法判斷點是否在多邊形內(nèi):從p(cx,cy)到多邊形外面任意一點畫一條虛擬的射線,計算該射線與多邊形上的邊相交的次數(shù),如果該次數(shù)是偶數(shù),說明p(cx,cy)在多邊形外,進行下一可能解判斷,如果是奇數(shù),則p(cx,cy)在多邊形內(nèi),代入方程求出當前枚舉點到多邊形網(wǎng)格各個頂點之間的距離
c)評價并記錄當前解:根據(jù)所得
d)得出最優(yōu)解。
以下以多邊形網(wǎng)格為矩形網(wǎng)格為例,闡述步驟4.3的實現(xiàn)過程:
設(shè)實際得到一目標所處的矩形網(wǎng)格4個頂點的位置分別是p1(x1,y1)、p2(x2,y2)、p3(x3,y3)、p4(x4,y4),目標結(jié)點的位置設(shè)為x(x,y),記根據(jù)信號衰減模型估算x到p1,p2,p3,p4的距離為d1,d2,d3,d4。根據(jù)空間中兩點之間距離公式可以得到一個超二元二次方程組:
a)確定需要進行枚舉解的范圍:找出p1,p2,p3,p4點的x,y值的最小值和最大值,得到枚舉解范圍x∈[lx,rx],y∈[ly,ry],枚舉增量為δ=0.1;
b)依次取x當前取值加上增量,在確定x不變情況下,枚舉y的值,最終得到一個臨時的枚舉值,當前枚舉值所代表的點為p(cx,cy),代入方程求出當前枚舉點到矩形網(wǎng)格4個頂點之間的距離
c)評價并記錄當前解:根據(jù)所得
d)得出最優(yōu)解。