錢建新 汪味路 楊學明 武江瑞 徐會彬 成新民 張 永
(1.湖州市特種設備檢測研究院 湖州 313000)(2.湖州師范學院信息工程學院 湖州 313000)
定位算法已成為無線通信領域的研究熱點[1~2]。盡管全球定位系統(Global Position System,GPS)在室外區域有較高的定位精度,但是其在室內、地下庫等復雜環境下的定位精度很低,難以滿足定位精度的要求。
現有的定位算法可分為基于測距和非測距兩類。不失一般性,基于測距的定位算法精度高于基于測距定位。在基于測距定位算法中,常利用信號的接收信號強度[3]、到達時間[4]和到達角度等參數測量收/發兩端的距離。
此外,由于超寬帶信號傳輸距離短,對信道衰減不敏感,基于超寬帶信號測距更適用于室內定位[5]。然而,現多數室內定位算法只考慮了視距(Line-of-Sight,LOS)環境。實際上,在室內環境下,通信鏈路常處于非視距環境(Non-LOS,NLOS)。不失一般性,多數的室內環境是LOS/NLOS的混合環境。
文獻[6~7]針對LOS/NLOS 混合環境,提出穩健統計的節點定位算法。例如,最小中值平方(Least Median squares,LMeds)[8],M-估計[9~10]是典型的基于穩健統計的定位算法。LMeds 算法采用穩健回歸技術(Robust Regression Techniques,RRT)檢測NLOS 測量值,并剔除此值,再利用最小中值平方估計未知節點位置。文獻[10]針對GPS 定位誤差問題,采用Huber M 估計算法減少定位誤差,提升定位精度。
此外,利用先驗位置信息估計節點位置也是一個常用的定位算法[11]。例如,文獻[12]提出基于先驗知識的最小均方誤差(Minimum Mean Square Error,MMSE)的節點定位算法。該算法利用抽樣均值和中值構建誤差協方差矩陣,進而最小化加權平方誤差(Weighted Square Error,WSE)損失函數。但是,這些算法不能識別LOS/NLOS 混合環境。文獻[13]也提出基于權重最小二乘法的節點定位算法。
為此,提出基于信號強度測距的最小均方誤差定位(Strength Ranging-based Minimum Mean Square Error localization,SRMSL)算法。SRMSL 算法構建基于超寬帶信號的測距模型,再構建基于最小均方誤差的定位模型。通過仿真和真實環境分析SRMSL 算法的性能。結果表明,提出的SRMSL算法提高了定位精度,但算法的運算時間偏長。
UWB 脈沖信號的多徑分辨能力強,在短距離測距方面具有獨特優勢[14]。因此,UWB 脈沖廣泛應用于測距領域。
假定在網絡內部署N個信標節點,這些節點的位置已知。第i個信標節點的位置標記為si(xi,yi),且i=0,1,2,…,M-1;x(x,y)表示未知節點的位置(需估計其位置的節點)。
通過測量信號的信號強度值估計發射節點與接收節點間距離。利用式(1)表示信號強度與距離間關系:

式中:i=0,1,2,…,M-1;j=0,1,2,…,N-1,N為總的測量次數;P0表示當參考距離為r0時所接收到的信號強度值,通常取r0=1;γLOS/NLOS表示在LOS/NLOS 兩種環境下的路徑損耗指數,如圖1所示;表示對第i個信標與未知節點間距離的第j次測量值。

圖1 LOS/NLOS環境下的信號傳播
在非理想環境下,發射節點與接收節點間的信號受障礙物影響,發生信號衰減。利用對數陰影模型表述信號衰減過程,并對式(1)進行擴展:

當信號傳播處于視距環境時,信號能夠快速地、小衰減地傳輸至接收節點;當信號傳輸處于非視距環境時,如圖1 所示[16],信號的傳遞可能會障礙物影響,可能會發生反射、繞射,這增加了測距誤差。
對等式(4)兩邊同時平方,可得:


首先,建立最小均方誤差等式:

式中:x表示需估計的未知矢量;V表示b的期望值,其定義如式(8)所示:

式中:sgn(·) 表示sign函數。
為了有效地分析SRMSL 算法的性能,利用Matlab 軟件建立仿真平臺。在20m×20m 內分布7個信標節點(N=7)和10 個未知節點。障礙物的位置隨機,如圖2 所示。圖中三角形表示信標節點;小圓圈表示未知節點。

圖2 仿真場景
每次仿真獨立重復200 次,取平均值作為最終實驗數據。選用根均方誤差RMSE 作為性能指標,其定義如式(14)所示:

為了更好地分析SRMSL 算法的性能,選擇LMeds 估計算法、M 估計(M-EST)[10]和SWLS 算法作為基準算法,對比分析它們的RMSE性能。
圖3 給出了ε對RMSE的變化情況,其中μ2=4,σ1=2,σ2=10 。從圖可知,ε的增加使RMSE 呈增加趨勢。但相比于M-EST 算法、LMeds算法和SWLS 算法,SRMSL 算法控制了RMSE 隨ε的增速,在ε的變化期間,SRMSL 算法的RMSE 保持穩定。

圖3 RMSE隨ε 的變化情況
本節分析RMSE 隨σ1的變化情況,如圖4 所示,其中μ2=4、σ2=10 和ε=0.3 。從圖可知,RMSE 隨σ1的增加而上升。原因在于:σ1越大,測距誤差越大,這不利于測距。相比,相比于M-EST算法、LMeds 算法和SWLS 算法,SRMSL 算法提高了對σ1變化的魯棒性。

圖4 RMSE隨σ1 的變化情況
接下來,分析σ2對RMSE 均值的影響,其中σ2從2至10變化,如圖5所示。
由圖5可知,相比于SWLS算法、M-EST和LMeds算法,SRMSL算法提高了定位精度。原因在于:LMeds 算法只通過最小二乘法估計未知節點位置,未考慮NLOS 場景。由于SWLS 算法是基于LMeds算法的改進算法,降低了定位誤差。


圖5 NLOS噪聲的標準方差σ2 對A_RMSE 的影響
此外,對比圖5(a)和圖5(b)不難發現,圖5(b)的定位精度劣于圖5(a)。這有兩個原因:1)增加ε,發生LOS/NLOS 混合場景的概率越大,環境越復雜,測距誤差就隨之增大;2)增加σ1,測距噪聲隨之增加,導致測距誤差加大。
采用UA 100 模塊作為信標節點,采用UK 100模塊作為未知節點,信標節點與未知節點間存在障礙物,構建一個LOS/NLOS 環境。具體而言,在3m×4m×5m 區域內部署6 個UA 100,5 個UK 100。通過LabVIEW軟件與UK 100通信,并在Lab-VIEW 軟件上調用定位算法程序,且保證部分通信空間被障礙物阻擋。
表1 給出四個算法的RMSE 性能。從表1 可知,提出的SRMSL 算法將定位誤差控制在9cm,而LMeds 算法的RMSE 達到97cm。這說明,提出的SRMSL算法能夠有效地提高定位精度。

表1 真實環境下的RSME
最后,分析算法的復雜度。運行算法的時間越長,算法復雜度越高。電腦參數:Windows 7操作系統、8GB內存,core i7 CPU。利用Matlab 2016a 編寫定位算法,并記錄運行每個算法所消耗的時間。利用Matlab 軟件,編寫多個Function 函數,再通過主函數調用實現對定位算法的編程。圖6 給出一個Function函數示例。

圖6 Function函數示例
為了減少隨機誤差,獨立運行10次,取平均值作為每個算法運行一次所消耗的時間。
表2 給出了SRMSL 算法、SWLS 算法、M-SET算法和LMeds 算法的運算時間。從表2 可知,LMeds 算法的運算時間最低,只有0.7ms。而SRMSL 算法的運算時間達到2.4ms。這說明,SRMSL算法是以高的復雜度換取高的定位精度。

表2 算法的復雜度
針對室內環境的定位問題,提出基于信號強度測距的最小均方誤差定位(SRMSL)算法。SRMSL算法利用UWB 信號的強的時間分辨能力,估計到達時間,進而測距。再通過MMSE 估計節點位置。同時,考慮到LOS/NLOS 的混合環境,并通過中值函數濾除異常值,減少NLOS 環境對測距精度的影響。
通過仿真和實驗分析了SRMSL 算法的定位精度以及算法的復雜性能。結果表明,SRMSL 算法能夠提高定位精度,在室內惡劣環境下,定位精度可保持約9cm 水平。但算法的復雜性仍較高。后期,將優化算法,降低算法的復雜度。這將是后期的工作內容。