馮 濤,張 梅
(安徽理工大學 電氣與信息工程學院,安徽 淮南 232001)
超寬帶(Ultra-Wideband,UWB)技術[1-2]是一種無線通信技術。UWB技術的出現提升了高精度定位領域的水平,解決了許多無線技術方面的難題。UWB信號具有穿透能力強、抗干擾能力好的優點,使其在智能定位系統、無線傳感等領域都有廣泛的應用[3]。UWB技術應用于室內定位,可以實現高定位精度。當室內的環境較為復雜時,通信信號會受到室內障礙物的阻礙。盡管UWB具有較強的抗干擾能力,由于障礙物的阻礙導致有非視距(Non-Line of Sight,NLOS)誤差產生。而且在信號受到較強干擾時,數據也會發生波動,最終會影響室內定位精度。所以UWB在NLOS情況下的定位精度問題成為研究重點,如何改進算法來提高UWB定位精度成為研究的熱點。
目前,張碧仙[4]提出了一種改進的基于超寬帶UWB技術的TDOA定位方法。在定位基站與定位標簽之間采用UWB技術,通過Chan算法對獲得的TDOA觀測數據進行位置解算,采用加權最小二乘法(WLS),能夠有效降低多徑和NLOS對定位精度的影響;ZHOU N[5]提出了粒子濾波算法,該算法具有較少的計算時間,在粒子濾波定位中融入到達角測量,平均提高了三維定位精度。李景文等人[6]利用EKF對兩者進行融合改進,以此發揮各自技術優勢,結果表明該EKF算法有效地減小了誤差,提升了室內定位的精度。
目前應用較多的UWB定位算法為最小二乘定位算法(Least Square,LS)。LS是一種常用的數學優化算法,ZHANG Y K等人[7]對UWB定位直接矩陣算法進行了優化,并采用最小二乘矩陣法對定位數據進行處理,以獲得更精確的位置坐標。
但是在室內空間較為狹窄情況下,該定位算法的垂直方向定位精度不高,而且由于NLOS環境,導致定位誤差較大。為提高室內NLOS環境下超寬帶信號受干擾的定位精度,本文提出一種改進的禿鷹搜索算法來優化支持向量機模型,并將其用于定位坐標的修正。將LS初次定位的坐標數據和實際坐標輸入到模型中進行訓練和測試,最終輸出修正后結果。實驗與測試結果表明,該方法成功減少了初次的定位誤差,最終提高了UWB技術的定位精度。
本文UWB定位模型利用已知固定基站的坐標和測量所得移動節點與固定基站之間距離來進一步計算得到未知移動節點的坐標。UWB定位模型中共有四個固定基站節點和一個移動節點。
設置A、B、C、D四個基站的坐標分別為(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)、(x4,y4,z4),同時設置移動節點P的坐標為(xp,yp,zp),另外四個固定基站與移動節點之間的距離分別為d1、d2、d3、d4。
為保證在求解方程時,系數矩陣為非奇異矩陣,本模型按照對位基站處在同一水平高度,鄰位基站處在不同水平高度分布,UWB定位模型,如圖1所示。

圖1 室內UWB定位模型
由圖1利用數學算法計算空間坐標可得:
(1)

(2)
由相鄰兩式相減可得:
(3)
令式(3)中:
(4)
(5)
(6)
將式(4)—式(6)代入式(3)可轉化為:
AX=B
(7)
設誤差向量為δ,則有:
δ=AX-B
(8)
取δ無窮小時,X有最優解,令:
f=δ2=δTδ=(AX-B)T(AX-B)
(9)
對式(9)求導,令其結果為0可得:
(10)
因為AX=B有唯一解,所以有:
X=(ATA)-1ATB
(11)
由式(11)求解方程可得X,可得到移動節點坐標P(xp,yp,zp)。
2.1 支持向量機
支持向量機(Support Vector Machine,SVM)原本是一種非線性分類算法,SVM在非線性建模回歸方面同樣具有很多優勢,它的目標主要是找一種擬合函數,以正確反映數據樣本集變量之間的映射關系[8-10]。
定義回歸擬合函數為:
f(xi)=wTxi+b
(12)
式(12)中,w表示輸入樣本xi的權向量,f(xi)為輸出,b表示偏移量。假定高維空間中設給定樣本集{data=(x,y),i=1,2,…,n},yi是每個xi對應的物理位置坐標。
定義線性不敏感損失函數為:
l[f(x),y,ε]
(13)
式(13)中,ε為不敏感系數,構造新的目標優化函數:
s.t.|yi-(wTxi+b)|≤ε,1,2,…,n
(14)

(15)

(16)
(17)
當數據為非線性訓練數據時,優化目標函數就可通過核函數來表達,式(15)引入核函數K(xi,xj)就可轉化為:
(18)
與之對應,回歸函數相應變化為:
(19)
(20)
支持向量機回歸結構特征主要是利用松弛變量并引入核函數技巧使得更多的樣本符合約束條件來解決回歸擬合問題。
2.2 改進禿鷹搜索算法
禿鷹搜索算法(Bald Eagle Search,BES),ALSATTAR.H.A等人[11]提出這是一種元啟發式優化算法,該算法通過模擬禿鷹捕獵的行為,將其劃分三個階段,分別為選擇、搜索和捕獲。
選擇階段的禿鷹在飛行過程中,會選擇最優目標區域。該選擇階段禿鷹更新的位置由隨機搜索因數來確定,該數學模型為:
Pi,new=Pbest+αr(Pmean-Pi)
(21)
式(21)中,r為隨機數,Pbest為禿鷹最優位置,Pmean為禿鷹的平均分布位置,Pi為隨機第i只禿鷹的位置。
為了提升算法的優化效果,本文選擇在BES算法的選擇搜索階段進行改進。
該算法假定禿鷹在搜索階段中陷入了局部最優狀態,進而影響禿鷹在全局搜索過程中無法捕獵,降低了該算法的優化效果[12-13]。李陽等人[14]提出隨機游動(Random Walk,RW)利用混合交叉的方法產生新的解進而提高算法的局部搜索能力,從而減少局部尋優的時間,極大降低了陷入局部最優的風險。
彥蒼等人[15-16]提出Levy飛行是常用的隨機策略。在BES算法中引入Levy飛行模式,改進了原算法容易陷入局部最優缺點,從而提高總體的優化效果。引入式(21)后改為:
Pi,new=Pbest+α·r(Pmean-Pi)Levy+ε(Px-Py)
(22)
式(22)中,Px和Py為搜索空間中兩只禿鷹隨機搜索位置,ε是隨機縮放因子。基于以上對算法的改進,現將新算法命名為LBES。
2.3 LBES-SVM模型
參數的優化選擇對SVM的預測精度影響較大,而本文通過改進的LBES算法來尋優參數,能夠有效地提高預測精度。
首先將LS算法初次定位后的移動節點坐標數據以及四個固定基站的坐標作為SVM模型的特征向量輸入,且真實坐標作為標簽;再通過數據處理將輸入的數據集按照比例7:3劃分訓練和測試樣本;訓練部分先計算LBES算法的種群個體的適應度值,然后開始進行SVM模型訓練;另外訓練中通過LBES算法來尋找SVM最優參數,從而得到最優訓練模型;接著將劃分的測試樣本輸入到上述訓練階段所得的最優訓練模型中進行回歸預測;最后將其可視化并與標簽作對比輸出結果,具體模型流程,如圖2所示。

圖2 基于LBES-SVM模型的坐標誤差修正流程
3.1 實驗儀器設備
利用DW傳感器與STM32單片機制作了UWB的定位系統。本文的設備包括一個移動節點、四個基站、石制屏蔽罩、電腦作為上位機來采集數據。
3.2 實驗設計
為模擬室內非視距環境,選擇在一處正方形且較為封閉的室內場地進行實驗。在測試場地中將A、B、C、D四個基站分別放置場地的四個角落處,形成長6m、寬6m、高3m的測試場地。設主基站對應的地面點為坐標原點,A到B方向為X軸,A到C方向為Y軸,垂直方向為Z軸。各基站坐標為:A基站(0,0,44.5),B基站(600,0,300),C基站(0,600,300),D基站(600,600,44.5)。為模擬受干擾情況的場景,利用石制屏蔽罩蓋住移動節點并將屏蔽罩內空隙用砂粒填充。
3.3 數據采集
移動節點在四個基站形成的矩形區域內的位置采集數據,在每個位置停留一定時間,在該位置上采集足夠多的數據,并記錄該位置的真實坐標。本次實驗的UWB設備在同一位置接收一段時間的數據,會導致所接收的數據出現大量相似或相同情況。因此需要清理相似或相同的數據,留下具有代表性的數據。
主基站在一個時刻會接收到其它三個基站發送過來的信息,包含該時刻下另外三個基站與移動節點的直線距離。同一時刻主基站上傳至上位機時的數據包括四個屬性,這四個屬性的含義為四個基站與移動節點的直線距離。實驗場景(單位:cm),如圖3所示。

圖3 實驗測量場景圖
向模型中輸入初次定位坐標的數據后,設置兩種算法的迭代次數均為100次,以均方誤差值(MSE)為目標函數構建平均適應度曲線圖。根據測量的所有的點數據,由于有多個點,算法得到多條曲線,將所有條曲線取均值,合成一條均值迭代曲線。同時根據平均適應度值與最佳適應度值作對比來觀察比較算法優化前后的差異。BES-SVM算法和優化后的LBES-SVM算法的X、Y、Z三軸的平均適應度迭代曲線分別,如圖4和圖5所示。

(a)x軸

(b)y軸

(c)z軸圖4 BES-SVM算法三軸的平均適應度迭代曲線圖

(a)x軸

(b)y軸

(c)z軸圖5 LBES-SVM算法三軸的平均適應度迭代曲線圖
由圖4和圖5對比可知,圖5中X、Y、Z三軸的平均適應度曲線與最佳適應度曲線重合部分比圖4的中更多,LBES-SVM算法計算出的均方誤差值比BES-SVM算法計算出來的更小,即新的優化算法LBES-SVM成功地減小了誤差,并且效果優于舊的算法,最終提高了系統的定位精度。
設置兩種算法禿鷹種群數量為50,迭代次數為100,以歐式空間平均距離(Distance)和誤差值(Error)構建目標適應度函數開始測試訓練。對比的兩種算法均利用優化SVM模型進行回歸測試,并將空間坐標可視化。最后將優化算法修正后的坐標、初次LS定位的坐標及真實坐標作同一空間的對比。BES-SVM算法和LBES-SVM算法的處理結果分別如圖6所示。

(a)修正前

(b)修正后圖6 坐標修正前后對比圖
由圖6可知,兩種算法相對于LS初次定位的X、Y、Z軸坐標誤差均有明顯減少,即兩種算法修正后的坐標相對于LS算法更接近于真實坐標,Z軸上的修正效果最佳。同時LBES-SVM算法修正后的空間坐標相對于BES-SVM算法修正的坐標更加接近于真實坐標,即LBES-SVM算法的誤差修正效果更優。
上述兩種算法模型測試訓練的輸出結果對應的參數指標X、Y、Z三軸的誤差和歐式空間平均距離分別如表1和表2所示。

表1 誤差對比

表2 歐式平均距離對比
由表1可知兩種算法修正LS后的坐標在X、Y、Z三軸的誤差上均有減小,且LBES-SVM修正效果優于BES-SVM,其中Z軸上的效果最佳,誤差從14.3cm減少至4.5cm。
表2中Distance為修正后的定位坐標與真實坐標之間的歐式平均距離,數據顯示兩種算法的Distance分別由16.0cm減小至7.1cm和6.7cm。即修正后的距離明顯減小,修正后的定位坐標更接近于真實坐標,且LBES-SVM算法的修正效果更優。
為解決傳統算法在非視距環境下UWB受干擾較為嚴重無法精確定位的問題,本文提出一種基于LBES-SVM的UWB室內定位算法,并進行了相關實驗與測試。結果表明,LBES-SVM算法模型對LS算法初次定位的坐標有明顯的修正作用,且效果優于傳統定位算法。減少了NLOS環境引起的測距誤差,提高了UWB室內定位的精度。在后續工作中,將繼續研究在多種室內場景下的復雜定位,進一步提高算法的適應性、魯棒性和應用價值。