李新春,李瑩
(1.遼寧工程技術(shù)大學(xué) 電子信息工程學(xué)院,遼寧 葫蘆島 125105;2.遼寧工程技術(shù)大學(xué) 研究生院,遼寧 葫蘆島 125105)
隨著時代的進步和科學(xué)的發(fā)展,定位技術(shù)在定位精度、可靠性方面有了實質(zhì)性的突破.定位分為室外定位和室內(nèi)定位.室外定位技術(shù)如GPS、基站等已經(jīng)可以滿足在室外場景下的定位需求.然而,受障礙物遮擋、多徑效應(yīng)等因素的干擾,GPS 等技術(shù)不能滿足室內(nèi)定位的需求,所以室內(nèi)定位方法成為近年來研究的熱點[1].室內(nèi)定位從技術(shù)角度可以采用Wi-Fi、藍牙、蜂窩網(wǎng)絡(luò)、超寬帶(UWB)、超聲波、雷達、地磁指紋等,實現(xiàn)室內(nèi)人員導(dǎo)航和對室內(nèi)人、物的定位及跟蹤[2].其中由于Wi-Fi 設(shè)備在現(xiàn)實生活中設(shè)備成本很低且普及度很高[3],所以本文選用Wi-Fi 進行室內(nèi)定位的研究.
傳統(tǒng)的Wi-Fi 室內(nèi)定位方法多采用由多條路徑信號強度疊加而成的接收信號強度(RSS)進行定位.但室內(nèi)環(huán)境的復(fù)雜性和多徑效應(yīng)會使RSS 波動較大,不夠穩(wěn)定[4].為了克服RSS 的缺點,出現(xiàn)了利用更穩(wěn)定的信道狀態(tài)信息(CSI)代替RSS 進行室內(nèi)定位的方法.CSI 室內(nèi)定位方法分為確定性方法和非確定性方法.確定性方法有K 均值算法(K-Means)、K-近鄰算法(KNN)以及改進的KNN 算法等.文獻[5]提出一種加權(quán)KNN,算法實現(xiàn)簡單,但定位時的時變特性帶來的定位誤差難以消除.所以出現(xiàn)了如貝葉斯算法的非確定性方法,減小了時變特性對定位結(jié)果產(chǎn)生的影響.但該算法需要大量數(shù)據(jù)進行全局搜索計算建立精確的概率模型,時間復(fù)雜度較高,所以在保證定位精度的同時降低時間復(fù)雜度成為貝葉斯室內(nèi)定位算法研究的熱點之一.文獻[6]提出了基于CSI 貝葉斯室內(nèi)定位方法,CSI 降低了多徑效應(yīng)產(chǎn)生的影響,但其只是簡單的疊加了RSS和CSI 信號,不但增加了數(shù)據(jù)量而且大幅度降低了計算速度;文獻[7]提出了以信號符合單高斯分布特性為前提的貝葉斯室內(nèi)定位算法,提高了定位精度,但是CSI 信號的分布往往更加復(fù)雜,單高斯模型不能充分表示信號的分布特性;文獻[8]提出了結(jié)合CNN 的貝葉斯室內(nèi)定位方法,提高了定位精度,但也是以單高斯模型為前提來進行室內(nèi)定位;文獻[9]提出了結(jié)合加權(quán)KNN和貝葉斯算法進行定位,先根據(jù)加權(quán)KNN 選取子區(qū)域,再運用貝葉斯算法進行定位,雖然降低了計算速度,但是在選取k個參數(shù)求權(quán)值時,k值的選取具有主觀性,并且KNN 對噪聲點不敏感,噪聲點的存在會對聚類結(jié)果產(chǎn)生較大影響,進而造成定位精度不高.
為了解決上述問題,本文提出了一種基于GMMDBC 的CSI 室內(nèi)定位算法.首先,對CSI 數(shù)據(jù)進行預(yù)處理,根據(jù)處理后的數(shù)據(jù)進行模型參數(shù)的初次估計,并構(gòu)建高斯混合模型(GMM);提出確定分模型個數(shù)(DSM)策略,結(jié)合累積誤差結(jié)果更新GMM 模型參數(shù),得到CSI 最終分布特征;其次,基于不同參考點的CSI 分布特征,判斷參考點間的緊密程度,將緊密相連的參考點劃為一類,以此來確定每個子載波所在的簇;最后,根據(jù)分簇結(jié)果,利用貝葉斯概率算法進行權(quán)值計算,得到最終定位結(jié)果.
所謂CSI 是利用正交頻分復(fù)用(OFDM)技術(shù)將收發(fā)鏈路間子載波以CSI 的形式輸出,它描述了信號在每條傳輸路徑上的衰弱因子,如散射、環(huán)境衰弱、距離衰減等信息[10].CSI 以n×3×30的矩陣形式輸出,n為數(shù)據(jù)的組數(shù),可以根據(jù)實驗需求進行采集,3 代表三根天線,30 代表30 個子載波.每個矩陣中的數(shù)據(jù)C以復(fù)數(shù)形式顯示,即C=a+bi,a為實部,b為虛部.根據(jù)運算得到子載波的幅度|C|和相位 ∠C表達式為
圖1為1 個數(shù)據(jù)包和100 個數(shù)據(jù)包不同子載波序列的幅度值對比圖,由圖1 可知,幅值上下波動幅度大體相同,信號相對穩(wěn)定.圖2為RSS和CSI 在相同參考點下的幅度值對比,CSI 選用的是任一子載波的幅度值.可以看出,在100 組數(shù)據(jù)對比下,CSI 比RSS 穩(wěn)定.
圖1 不同數(shù)據(jù)包數(shù)量的CSI 幅度信息
圖2 RSS 與CSI 幅度值對比
雖然CSI 比RSS 穩(wěn)定,但由于數(shù)據(jù)采集過程中存在一系列微小的隨機波動,會造成異常值的產(chǎn)生.為了獲得更加準確的定位結(jié)果,需要對異常值進行剔除.本文選用3σ準則對數(shù)據(jù)進行異常值的處理,通過計算得到期望 μ和標準差 σ,選取(μ-3σ,μ+3σ)作為標準,超出這個區(qū)間的即判定為誤差,含有該誤差的數(shù)據(jù)需要進行剔除.圖3為剔除誤差前后的對比,可以明顯看出進行預(yù)處理后的數(shù)據(jù)更加的穩(wěn)定.
圖3 預(yù)處理前后對比
針對貝葉斯算法在進行室內(nèi)定位研究中,存在定位精度較低,時間復(fù)雜度較高的問題,提出了一種基于GMM-DBC 的CSI 室內(nèi)定位算法.圖4為系統(tǒng)流程圖.
圖4 系統(tǒng)流程圖
算法步驟如下:
1)構(gòu)建GMM 及參數(shù)估計
在運用貝葉斯算法確定權(quán)值的過程中,需要對輸入CSI 數(shù)據(jù)的模型進行預(yù)測,預(yù)測的模型與真實的數(shù)據(jù)模型越吻合,計算得到的權(quán)值越準確,最終定位精度越高.所以本文引入GMM 對貝葉斯算法進行改進.GMM 是針對非均衡問題提出的一種概率增強算法[11],由多個單高斯模型(GSM)混合而來的[12],它保證了少數(shù)類數(shù)據(jù)集在平衡前后概率分布的一致性[13].由K個單高斯模型混合而成的混合高斯模型的概率分布為
式中:x=[x1,x2,···,xN],為觀測數(shù)據(jù);N(x|μk,σk)為任意參考點的某一子載波訓(xùn)練形成的高斯混合模型中,第k個單高斯模型的概率密度函數(shù),其服從期望為μk,標準差為 σk的正態(tài)分布;綜上,需要估計的參數(shù)有,第k個高斯分布占的權(quán)重pk、均值 μk以及標準差σk.
為獲得上述參數(shù),本文選用EM 算法[14]進行求解計算.EM 算法分為兩步,E是對似然函數(shù)求期望,目的是消去潛在變量.M是對期望求最大值.總體的迭代公式為
式中:θ=(p1,p2,···,pK,μ1,μ2,···,μK,σ1,σ2,···,σK)為所求的所有參數(shù)的集合;為第t次迭代的θ值;Q(θ,θt)為根據(jù) θt所求的似然函數(shù)的條件期望,其中Q(θ,θt)的表達式為
式中:zi為屬于某一高斯分布的概率,p(zi=ck)表示屬于第k個高斯分布的概率;xl表示第l個子載波的完整的數(shù)據(jù)集,由,,···,組成,和之間相互獨立,N=100 ;l ogP(|θ)為第l個子載波的第i個數(shù)據(jù)的似然函數(shù),表達式為
P(zi|θt)為xi來自第k個高斯分布產(chǎn)生的后驗概率,其公式為
代入到迭代式(3)可以求解出所求參數(shù) θ的迭代公式為:
重復(fù)EM 算法直至 θ收斂,得到最終的估計值,將 θ代入式(2),得到高斯混合模型.
2)確定分模型個數(shù)策略
EM 算法在估計參數(shù)時,除了需要確定各分模型初始參數(shù)外,還需要輸入構(gòu)成高斯混合模型的分模型個數(shù).分模型個數(shù)的選擇對定位誤差的影響較大,如果模型個數(shù)選取較少,則達不到選用GMM 模型代替GSM 模型的目的,如果模型個數(shù)選取較多會大大增加算法的時間復(fù)雜度.
所以本文提出DSM 策略.首先根據(jù)參考點的數(shù)據(jù),獲取其期望值 μ1,標準差值 σ1,并作為建立模型的初值.然后初始化GMM 模型,設(shè)分模型個數(shù)K為1.把 μ1、σ1、K=1作為EM 算法的輸入,求解出此時的GMM模型的概率分 布模型p(x1),并根據(jù)p(x1)和求解出模型的累積誤差E1,保存此時的誤差為E′、K值為K′.令K=K+1,重復(fù)上述計算,求解得到累積誤差EK.若EK<E′,保存K′=K,E′=EK,直至K=4.通過對不同的參考點和不同的子載波的CSI 幅度進行模型的預(yù)測過程中發(fā)現(xiàn),累積誤差較小時的分模型個數(shù)在1~4.最終得到累積誤差最小時的分模型個數(shù)K′.
重復(fù)上述計算,求出所有參考點的子載波的最終GMM 的概率分布模型.
3)子區(qū)域劃分
為了解決貝葉斯算法進行全局搜索計算導(dǎo)致定位時間較長的問題,需要對不同子載波的參考點進行區(qū)域的劃分.根據(jù)各個參考點之間的歐氏距離[15],選取前t個距離最大點進而進行子區(qū)域的劃分的傳統(tǒng)方法,對t值的選取具有主觀性,且在劃分區(qū)域時噪聲點的存在會對最終劃分結(jié)果產(chǎn)生影響.所以本文引入基于密度的聚類算法[16-17]進行子區(qū)域的劃分.
在相同子載波下,第i個參考點的均值 μi,標準差σi.第q個待測點的CSI 數(shù)據(jù)均值為 μq,標準差為 σq.在對第q個待測點的位置進行預(yù)測前,需要對其進行子區(qū)域的劃分.M為參考點個數(shù),加上待測點信息,共有M+1組(μ,σ)數(shù) 據(jù),即((μ1,σ1),(μ2,σ2),···,(μM,σM)(μq,σq))作為輸入數(shù)據(jù)集.
針對這組輸入數(shù)據(jù)集,分別對期望和標準差進行子區(qū)域的劃分.以每一個參考點期望和標準差為圓心,以兩核心點之間的距離(Eps)為半徑畫一個圓的區(qū)域,這個區(qū)域被稱為Eps鄰域;統(tǒng)計在這個區(qū)域內(nèi)的參數(shù)個數(shù).如果區(qū)域內(nèi)參數(shù)的數(shù)目超過了密度閾值(Mpts),那么將這些參數(shù)記為核心點.將核心點的Eps鄰域內(nèi)的所有的核心點連在一起,這樣不斷地將區(qū)域內(nèi)的核心點連在一起,形成一個簇.
對其余子載波做相同的處理,得到針對每個子載波所形成的簇.統(tǒng)計待測點q的每個子載波所在的簇的交集,作為最終確定待測點位置可能出現(xiàn)的參考點的集合.將這T個參考點作為下一步進行貝葉斯位置預(yù)測的計算點.通過上述運算,避免了全局搜索,降低計算量.
4)貝葉斯求解最終位置
貝葉斯算法[18]是一種從概率的角度看待定位問題的非確定性定位算法.通過求解測試點所有子載波的CSI 信息發(fā)生的后驗概率,再通過后驗概率與位置一一對應(yīng)相乘求和,實現(xiàn)最終位置估計.結(jié)合上一步,最終定位的目標是在已知待測點q的CSI信號為xq=[xq1,xq2,···,xqN]的 前提下,預(yù)測q點的位置.所以需要分別計算在預(yù)測點信號為xq的前提下,在第t個參考點出現(xiàn)的概率[19],目標公式為
式中:P(pt)為待測點q在第t個位置出現(xiàn)的概率,一般認為為等概率事件即P(pt)=1/T;分母P(xq)為信號xq出現(xiàn)的概率,P(xq)表達式為
式中,P(xq|pt)為待測點位置在第t個參考點的前提下,接收到的CSI 信號為xq的概率,因為xq由N個子載波構(gòu)成,所以其表達式為
通過步驟2)對數(shù)據(jù)的整理,結(jié)合式(2)可以統(tǒng)計出第t個參考點的第i個子載波的CSI 幅度值的高斯模型表達式為
將式(11)和式(12)代入到式(10)中得到后驗概率.對得到的t個后驗概率P(pt|xqi)進行歸一化處理,得到的值作為最后求解目標位置的權(quán)重系數(shù).通過式(14)求解出最終的目標位置.
本實驗采集數(shù)據(jù)環(huán)境為遼寧工程技術(shù)大學(xué)實驗樓東304 室,面積約為140 m2,環(huán)境內(nèi)包含通信實驗器材、桌椅板凳、手機、電腦、投影設(shè)備等,設(shè)置80 個參考點(黑色圓點表示),32 個測試點(黑色菱形表示),參考點間隔90 cm,測試過程中路由器位置保持不變,圖5為分布圖,圖6為真實場景圖.
圖5 室內(nèi)分布圖
圖6 真實場景圖
采集數(shù)據(jù)采用2.4 GHz和5.0 GHz 兼容的TPLink 路由器作為發(fā)送器,接收端是運行10.04LTS 本的筆記本電腦,系統(tǒng)是32 位Ubuntu Kinux,計算機通過其內(nèi)置的三天線Intel 5300 半高內(nèi)置網(wǎng)卡接收路由器發(fā)送的信道狀態(tài)信息信號[20].采集數(shù)據(jù)時,首先連接路由器電源,保證路由器可以正常發(fā)送信號,打開計算機,移動計算機到待測點,保證計算機與路由器距離地面的高度一致,每個參考點在四個方向分別采集數(shù)據(jù)30 s,每個方向的數(shù)據(jù)取250 組,每個參考點獲得1 000 組數(shù)據(jù).
實驗利用累積分布函數(shù)(CDF)、累積誤差、平均定位誤差和運行時間作為評價算法性能的指標.累積誤差在利用公式對各部分計算結(jié)果進行累加時,其誤差值也隨之累加,最后所得到誤差總和稱為累積誤差.累積分布函數(shù),是概率密度函數(shù)的積分,能完整描述定位誤差的概率分布.運行時間即算法的處理時間,一般被用來衡量算法的時間復(fù)雜度.
如表1 所示,為不同k值下的GMM 模型的累積誤差.根據(jù)采集到的1 000 組數(shù)據(jù),用直方圖表示真實值的數(shù)據(jù)分布,與高斯混合模型的不同幅度值對應(yīng)的概率密度值做差,將差值相加,得到累積誤差值.序號1為第一個參考點的第15 個子載波,累積誤差最小時對應(yīng)的k值為2.序號2為第9 個參考點的第22 個子載波,可以看出累積誤差最小的點在k=3.序號3為第4 個參考點的第2 個子載波,可以看出累積誤差在k=4時最小.通過上述三組數(shù)據(jù)可以得出,在選擇分模型個數(shù)時,應(yīng)選擇累積誤差最小時的分模型個數(shù).在實驗過程中如果遇到在不同分模型個數(shù)下最小累積誤差相同的情況,應(yīng)選擇模型個數(shù)少的進行計算.
表1 k值對累積誤差的影響
根據(jù)EM 算法和DSM 決策,能夠獲取高斯混合模型的待估計參數(shù) θ.如圖7 所示,為第1 個參考點的第3 個子載波的CSI 幅度直方圖、單高斯模型的概率密度函數(shù)和k=2時的高斯混合模型的概率密度函數(shù)對比圖.
圖7 CSI 直方圖、GMM、GSM 分布曲線
圖8為迭代次數(shù)與權(quán)重、期望、標準差之間的關(guān)系,可以看出,隨著迭代次數(shù)的增加,期望值、標準差和權(quán)重值都趨于穩(wěn)定,說明在迭代次數(shù)范圍內(nèi)可以得到準確的參數(shù)值.最后得到k=2時的高斯混合模型中,第一個單高斯模型的期望為14.24 dB,方差為0.39,權(quán)重為0.43;第二個單高斯模型的期望為12.61 dB,方差為0.84,權(quán)重為0.56.
圖8 迭代參數(shù)
在保證其他條件不變,只改變數(shù)據(jù)模型類型的情況下,根據(jù)式(14)得到預(yù)測的位置坐標,然后根據(jù)式(15)計算得到真實位置與預(yù)測位置之間的誤差E.
式中:(,)為 預(yù)測點真實坐標;(,)為預(yù)測的位置坐標.根據(jù)E得到誤差累積分布函數(shù).在相同誤差下,CDF 越大,定位精度越高,定位效果越好.
如圖9為GMM和GSM 的誤差的累積分布函數(shù).定位誤差在2 m 以內(nèi)時,GMM 的累積概率分布達到了90%,同一誤差下GSM 只能達到75%.并且利用GMM 進行定位的平均定位誤差為1.012 3 m,與GSM 的1.458 4 m 相比,減小了0.446 1 m.根據(jù)上述數(shù)據(jù)及對比圖可以看出GMM 比GSM 更好地描述信道狀態(tài)信息的分布情況.
圖9 GMM 與GSM 誤差累積分布函數(shù)
本文算法與傳統(tǒng)貝葉斯算法、文獻[8]中以單高斯模型為基礎(chǔ)的CNN-貝葉斯室內(nèi)定位方法、文獻[9]提出的根據(jù)加權(quán)KNN 選取子區(qū)域室內(nèi)定位的WKNN-貝葉斯定位方法在相同環(huán)境下進行對比分析,針對23 個測試點,根據(jù)式(14)和式(15)計算誤差及累積概率分布驗證算法性能.包括本文算法在內(nèi)的四種算法的累積概率分布如圖10 所示.
圖10 不同定位算法的CDF
從定位精度來看,四種算法的累積概率分布都能達到95%以上.但當室內(nèi)定位誤差在2.75 m 以內(nèi)時,本文算法的CDF為0.950,最先達到95%以上,CNN、WKNN-貝葉斯、傳統(tǒng)貝葉斯算法的累積概率分布分別為0.875、0.825和0.775,均低于本文算法.如表2 所示,本文算法平均定位誤差可以達到1.012 3 m,與CNN、WKNN-貝葉斯、傳統(tǒng)貝葉斯比,分別降低了0.256 3 m、0.655 5 m、0.767 4 m.從定位時間來看,本文算法與CNN和傳統(tǒng)貝葉斯算法相比都有大幅度下降,WKNN-貝葉斯算法雖然與本文算法定位時間接近,但是最大定位誤差、平均定位誤差均大于本文算法.綜上,本文算法定位效果優(yōu)于其他三個對比算法,在提高定位精度的同時,降低了時間復(fù)雜度.
表2 不同方法定位精度對比
本文提出一種基于GMM-DBC 的室內(nèi)定位算法.引入GMM 對貝葉斯算法進行改進,并提出DSM策略進一步提高模型精度,進而減小定位誤差.此外利用基于密度的聚類算法進行子區(qū)域的劃分,解決了全局搜索計算導(dǎo)致的時間復(fù)雜度較高的問題.通過實驗的驗證,當該算法定位誤差在2.75 m 以內(nèi)時,誤差累積概率分布為0.950,降低時間復(fù)雜度.本文研究雖有一定成效,但在多目標和移動目標定位方面仍然存在缺陷,后續(xù)將著重在這方面進行深入研究.
致謝:感謝首山聚創(chuàng)團體和李新春老師的討論.