屈 陽,萬國龍,叢 麗,秦紅磊
(北京航空航天大學 電子信息工程學院,北京 100191)
基于調(diào)頻(frequency modulation,F(xiàn)M)廣播的定位技術的研究歷史可追溯至20世紀90年代,最早是采用移動接收機檢測接收到的FM信號的相位進行定位[1],經(jīng)過近30年的發(fā)展,目前常用的基于FM的定位技術主要有K-近鄰定位算法(K-nearest neighbor,KNN)、K-加權近鄰定位算法(K-weighted nearest neighbor,KWNN)、高斯過程回歸算法(Gaussian process regression,GPR)等技術[2]。公共FM廣播信號由于其信號穩(wěn)定、信號穿透能力強、覆蓋范圍廣、硬件設施要求低等優(yōu)點[3]而被廣泛應用于室內(nèi)定位。
在使用FM進行室內(nèi)定位的研究中,F(xiàn)M頻道的數(shù)量對定位精度有很大影響。文獻[3-6]詳細研究了FM頻道數(shù)量的影響,其在采用了76個公共頻道和3個信標的前提下,其2σ定位誤差為4.71 m。在室內(nèi)定位中,小范圍環(huán)境中較少存在指紋模糊的現(xiàn)象,比如單獨的一個小房間;大范圍環(huán)境中,由于室內(nèi)環(huán)境的復雜性,F(xiàn)M信號受室內(nèi)環(huán)境的影響較大,容易造成指紋的模糊,比如整個回字形類的建筑。目前現(xiàn)有的解決方式主要有:1)歐氏距離的計算,比如根據(jù)信號的相關性調(diào)整歐氏距離[7]、根據(jù)當前環(huán)境在歐氏距離計算時進行環(huán)境自適應參數(shù)調(diào)整[8];2)利用信號的傳播特性建立信號傳播距離與實際物理距離之間的模型[9];3)定位算法的改進,比如基于距離權重的指紋定位算法[10]。此外,由于FM信號的波長約為3 m,這就造成單純采用FM信號的定位精度很難超過3 m,由此催生了FM信號與其他信號進行組合定位的研究,常用的有無線保真(wireless fidelity,WiFi)11]信號、藍牙信號、數(shù)字電視地面多媒體廣播信號[12]、數(shù)字視頻廣播信號[13]等多種信號源,對于提升定位精度有較大幫助。
本文針對指紋模糊的問題,基于FM頻道波動越大,對定位的貢獻越大的理論,根據(jù)采集到的FM頻道指紋的標準差來調(diào)整歐氏距離的權重,同時將定位過程拆分為區(qū)域定位和精確定位,提出了基于指紋標準差(standard deviation,SD)權重的FM兩級室內(nèi)定位算法。
指紋定位分為2個階段:離線階段和在線定位階段。離線階段是采集區(qū)域的數(shù)據(jù)特征,在本文中為采集公共FM廣播的信號特征;在線定位階段是利用定位算法進行用戶位置解算。定位過程框圖如圖1[2]所示。
圖1 基于指紋的FM廣播信號定位方法
在實驗區(qū)域中,預先測量得到的指紋數(shù)據(jù)庫可以表示為
Ε={(eji,pi)|j=1,…,N,i=1,…,k}
(1)
式中:j為外輻射源個數(shù);i為參考點(reference point,RP)個數(shù);eji為第j個外輻射源在第i個RP的指紋位置;pi為第i個RP的位置,二維空間中,通常pi=(xi,yi);N為外輻射源的數(shù)量;k為參考點的數(shù)量;E為指紋數(shù)據(jù)庫。
用戶所在位置指紋已知,則可以表示為
E0={(ej0,p0)|j=1,…,N}
(2)
式中:ej0為用戶所在位置的第j個外輻射源的指紋位置;E0為用戶所在位置的指紋位置。采用合適的定位算法來求解用戶所在位置p0。
2.2.1KNN區(qū)域定位算法
在KNN區(qū)域定位算法中,首先計算用戶所在位置的指紋與所有已知點的指紋的歐氏距離,即
(3)
式中:ΔE=[ΔE1,ΔE2,…,ΔEk]為用戶與所有已知參考點的歐氏距離的集合,其中ΔEi為用戶與第i個RP的歐氏距離。根據(jù)歐氏距離選取m(m≥1)個近鄰點(通常m不宜過大,應根據(jù)實際情況進行選擇),則選取的最小的m個歐氏距離的集合可表示為
(4)
式中h為選擇的第h個近鄰點。則選取的近鄰點所對應的RP的集合可表示為
一個偶然的機會,我在一位收藏家朋友的票夾里看到幾枚1944-1946年由晉冀魯豫邊區(qū)政府發(fā)行的糧票,出于糧食工作的職業(yè)本能,我好說軟磨,硬是花錢將其買了下來,作為我的藏品。這是很珍貴的歷史文物,是我黨我軍光輝歷程的歷史見證,反映了糧食工作在中國革命歷史時期發(fā)揮的重要作用。自此我非常注意軍用糧票及有關資料的收集,翻開收藏的軍用糧票紀念冊,重溫我黨我軍的歷史,使我更加熱愛和珍惜現(xiàn)在的幸福生活。
P_ΔP={P1∪…∪Ph|h=1,…,m}
(5)
式中Ph為選擇的第h個RP。由于每個近鄰點均有其區(qū)域信息,則區(qū)域定位結(jié)果的集合可表示為
Z_ΔP={Z1∪…∪Zh|h=1,…,m}
(6)
式中Zh為第h個RP的區(qū)域信息。
KNN區(qū)域定位選擇集合Z_ΔP中個數(shù)最多的子集作為區(qū)域定位結(jié)果,若存在2個不同子集的個數(shù)既相同且最多的情況,則將歐氏距離最小的近鄰點所在的區(qū)域信息作為區(qū)域定位結(jié)果。
2.2.2KWNN精確定位算法
KWNN定位算法將每個近鄰點的位置(xi,yi)用式(3)中的歐氏距離的倒數(shù)進行加權后得出用戶的位置坐標,即
(7)
式中ε為趨近于0的小數(shù)。
為了增加歐氏距離判斷的可信度,提出了基于指紋SD權重的FM兩級室內(nèi)定位算法即標準差權重(standard deviation-weight,SDW)算法。算法的原理如下:
式(3)表征了用戶與各參考點之間的歐氏距離,可以看出:電臺波動范圍越大,其歐氏距離判斷越明顯,對后續(xù)的定位解算貢獻也越大。根據(jù)已有指紋,計算出FM各個頻道的SD,再據(jù)此對其賦予權值。假設權值為ωj,則歐氏距離為
(8)
0.2·x·SD1+…+0.2·N·x·SDN=1
(9)
解出x,則對應的第j個頻道的權值為
ωj=0.2·j·x·SDj
(10)
式中:SDj為第j個頻道的SD值。定位過程分為區(qū)域定位和精確定位。將SDW算法計算出的歐氏距離應用于區(qū)域定位和精確定位,在區(qū)域定位后,根據(jù)判定準則,判斷是否剔除不屬于定位區(qū)域的近鄰點。
判定準則:當Z_ΔP中個數(shù)最多的子集數(shù)量超過設定的門限值時,精確定位時僅選擇屬于定位區(qū)域的近鄰點。由式(6)可得Z_ΔP,假設Z_ΔP中個數(shù)最多的子集為Zn,其個數(shù)為n,則:
3)若1)、2)均不滿足,不執(zhí)行此準則。
當執(zhí)行此準則時,此時用戶位置坐標可表示為
(11)
實驗區(qū)域為北京航空航天大學新主樓F座3樓,實驗區(qū)域如圖2所示。實驗數(shù)據(jù)為使用Tektronix頻譜儀采集的FM廣播21個頻道的數(shù)據(jù),實驗選擇的近鄰點個數(shù)k為從1到10線性遞增,定位區(qū)域中指紋數(shù)據(jù)分為7個區(qū)域,共計912個RP(圖中僅標注出部分RP)。隨機從該指紋數(shù)據(jù)庫中選擇45個點作為測試點,余下的點作為RP。實驗結(jié)果是在50次蒙特卡洛下得出的。
圖2 室內(nèi)實驗區(qū)域
3.2.1 區(qū)域定位精度
此性能指標選擇為k取不同值時的平均區(qū)域定位精度(如圖3所示)。
從圖中可以看出,SDW算法對于提升區(qū)域定位精度有較為明顯的改進,KNN算法區(qū)域平均定位精度最低為95.24 %,而SDW算法區(qū)域平均定位精度最低為97.02 %。此外,在進行蒙特卡洛時,幾乎可以保證區(qū)域定位精度不會退化。表1為區(qū)域平均定位精度最差時不同k值下的區(qū)域定位精度。
圖3 KNN與SDW區(qū)域平均定位精度
表1 2種算法在區(qū)域平均定位精度最差時分別對應的區(qū)域定位精度
3.2.2 精確定位精度
1)1σ和2σ定位誤差:
圖4和圖5分別給出了SDW算法和KWNN算法在50次蒙特卡洛下的1σ和2σ定位誤差,其中σ為標準差。表2和表3分別給出了2種算法在50次蒙特卡洛下的1σ和2σ最大、最小和均值定位誤差。
圖4 1σ定位誤差
表2 1σ時2種算法對應的最大、最小和均值定位誤差
從圖4和表2可以看出,SDW算法在50次蒙特卡洛下,1σ定位誤差在絕大部分情況下定位誤差得到改善,且1σ的平均定位誤差相較KWNN算法定位誤差改進了0.916 9 m,定位精度提升了15.5 %左右。
圖5 2σ定位誤差
表3 2σ時2種算法對應的最大、最小和均值定位誤差
從圖5和表3可以看出,SDW算法在50次蒙特卡洛下,2σ定位誤差在絕大部分情況下定位誤差得到改善,且2σ的平均定位誤差相較KWNN算法定位誤差改進了3.847 2 m,定位精度提升了22.6 %左右。
2)平均均方根誤差:
表4給出了SDW、KWNN算法在50次蒙特卡洛下不同k值對應的平均均方根誤差。
表4 50次蒙特卡洛下的平均均方根誤差
從表中可以看出,無論k取何值,其平均均方根誤差均得到改善,當k=4時,其平均均方根誤差降低了18.68 %。結(jié)果表明,SDW算法相較KWNN算法,其定位結(jié)果的均方根誤差得到了改善。
本文提出了基于SD權重的FM兩級室內(nèi)定位算法,該算法充分利用了FM各個頻道的波動情況,有效降低了指紋的模糊性;同時將定位過程劃分為區(qū)域定位和精確定位,進一步降低了錯誤近鄰點的影響。實驗表明:與KNN區(qū)域定位算法相比,SDW算法能夠提供更加準確的區(qū)域信息;與KWNN精確定位算法相比,其1σ、2σ定位誤差和平均均方根誤差均得到顯著改善。因此,SDW算法相較傳統(tǒng)指紋定位算法更具優(yōu)勢。下一步研究重點為優(yōu)化權值及門限的自適應調(diào)整。