史 進, 蔡 競, 徐 鋒
(1. 浙江警察學院現代教育技術實驗中心,杭州 310053;2.浙江警察學院刑事科學技術系,杭州 310053;3.浙江大學信息技術中心,杭州 310058)
第五代移動通信技術(5th-generation,5G)作為“中國制造2025”重要組成部分,正在日益成為最重要的經濟增長技術之一[1]。隨著國家對以移動無線傳感網為代表的新一代互聯網+經濟支持力度的增加,5G技術也在其中起到了相當的支撐作用[2]。移動無線傳感網(mobile wireless sensor network,M-WSN)主要由若干具有移動特性的廉價傳感器節點所構成,用于部署在需要監控的區域、物體中,起到搜集環境參數與信息的作用,實踐中往往利用5G技術提高M-WSN的傳輸能力。M-WSN適用領域十分廣泛,如遠程醫療、工業4.0等方面,能夠優化生產流程,提高數據傳輸能力,具有精度優良的特性[3]。然而,M-WSN技術也存在一些待改進之處,主要體現在定位困難方面。這是因為M-WSN技術所使用的廉價傳感器節點具有移動特性,需要對節點的定位坐標進行精確測量。由于M-WSN節點往往處于隨機游走狀態,且移動速度較快,雖然可以使用北斗定位系統(BeiDou navigation satellite system,BDS)進行精確定位,但考慮到費用因素,使其難以大規模推廣。實踐中,節點定位過程一般均依賴錨節點來實現坐標初始化,隨后使用BDS系統或人工定位算法精確獲取節點坐標[4]。
當前,移動無線傳感網定位算法主要采用直接定位和間接定位兩種機制[5]。直接定位機制主要利用節點之間的拓撲連通及鄰域感知特性直接獲取節點坐標,如Peter等[5]提出了一種基于旋跳解決方案的移動無線傳感網定位算法,該算法采用預設錨節點方式,通過錨節點感知其節點覆蓋范圍內的移動無線傳感網節點,實時獲取其在網絡中的拓撲位置,可實現短時延狀態下的節點位置信息捕捉,具有實現過程較為簡單的優勢。但是,考慮到移動無線傳感網中錨節點覆蓋半徑較低,無線傳感網節點經過網絡盲區時將暫時失去定位功能,因此該算法環境適應性較低。Devesh等[6]提出了一種基于TOA直接測序機制的移動無線傳感網定位算法,算法通過固定錨節點捕捉移動無線傳感網節點與基準節點之間多普勒平移的方式,直接獲取待定位節點與基準節點間距離,隨后引入極坐標定位算法實現角度相位捕捉,具有精度較高的特點。然而,該算法也存在一定的不足,主要體現在精度隨著節點移動速度的增加不斷降低,難以適應節點移動速度較快以及節點移動拓撲較為復雜的場景。Slavica等[7]提出了一種基于雙源定位機制的移動無線傳感網定位算法,采用分組部署正交狀態錨節點方式,通過捕捉定位信號對的方法獲取移動節點的初始坐標,隨后結合文獻[6]極坐標定位精度較高的特點,可實現復雜拓撲條件下節點快速精確定位,且部署過程較為簡單。但是該算法需要對錨節點位置進行調整,實踐中維護成本較高,難以大規模應用。
針對上述不足,提出一種基于病毒體投射機制的移動無線傳感網節點定位算法。鑒于實踐中測序過程存在的抗噪能力差的不足,通過將多個錨節點進行聯合定位,采用接收信號強度指示(received signal strength indication,RSSI)方式感知節點坐標,消除單個錨節點定位過程中存在的節點感知困難。隨后,引入了病毒體投射機制,采用感染方式定向感知錨節點覆蓋范圍內的待定位節點,并采用迭代算法來優化待定位節點坐標精度,解決因拓撲漂移速度較快而導致定位過程收斂較慢的問題。最后,針對定位過程中存在的誤差,引入權重調節機制來消除誤差。最后通過仿真實驗,測試了本文算法的有效性。
由文獻[5-6]可知,無論采用旋跳還是直接測序方案,二者均存在一定的不足,主要原因是由于移動無線傳感網節點與傳統無線傳感網相比,節點具有移動特性。特別是引入5G技術后,移動無線傳感網節點除了需要承擔傳統無線傳感網須實現的數據采集及傳輸功能外,還需要承擔一定的數據處理及節點優化功能,使其拓撲變動較為復雜[8]。因此,對節點進行距離估測時應盡量提高定位收斂性能,以降低節點移動性對定位精度的不利影響。
針對上述問題,采取基于RSSI的直接定位模型,節點分布區域內部署Sink節點作為信號判決節點,實時獲取各移動無線傳感網節點的信號強度,Sink節點通過RSSI感知節點信號強度來取得通信半徑,如圖1所示。

圖1 RSSI定位Fig.1 The location of RSSI
移動無線傳感網節點與Sink節點間通信半徑越大,則Sink節點接受到的移動無線傳感網節點信號強度也越弱,如圖2所示。因此,根據信號強度與通信半徑間呈現的比例關系,可以迅速獲取移動無線傳感網節點與Sink節點間距離,規避移動無線傳感網節點拓撲快變化因素而導致的定位困難[9]。此外,由于移動無線傳感網環境具有信道噪聲干擾強等因素[10],測距過程中信號強度與通信半徑間呈現的比例關系一般為非線性比例關系,容易造成一定的誤差[11]。測量過程中信號傳輸路徑往往具有多徑傳輸特性[12],傳輸信道存在信號衰落現象,也會造成誤差[13]。

圖2 通信半徑Fig.2 Communication radius
針對定位過程中存在的多徑衰落及信道噪聲強干擾等因素[14],本文算法在定位過程中引入對數正態陰影分布來描述這些干擾因素[15]:
(1)
式(1)中:Psend為移動無線傳感網節點當前功率;Precv(l)為移動無線傳感網節點與Sink節點間信道損耗功率;l為移動無線傳感網節點與Sink節點距離;μ為信道損耗因子,一般取0~1隨機數,移動無線傳感網條件下一般取0.1左右;Φ為萊斯噪聲分布,其功率為σ;ln表示以e為底的對數函數。
移動無線傳感網節點在定位過程中可通過Sink節點直接按式(1)測量獲取節點與Sink節點距離,顯然獲取的傳感器節點疑似坐標滿足圓環分布,如圖3所示,存在多種可能。

圖3 圓環分布Fig.3 Circular distribution
在實踐中,針對圓環分布,可通過測量方位角來獲取精確位置,詳見文獻[6]。然而,由于移動無線傳感網節點移動速度較快,難以精確測量方位角[16],因此,通過布設錨節點來得到節點坐標,并根據式(1),精確得到其與移動無線傳感網節點間距離。
設任意錨節點坐標為(xi,yj),移動無線傳感網中共計包含m個錨節點(x,y),則待定位節點與錨節點間距離L(i,j)為
(2)
采用式(2)可以精確測量待定位節點(x,y)與錨節點間的距離d(i,j),再聯立式(1)來構建誤差函數derror:
derror=[L(i,j)-d(i,j)]2
(3)
若待定位節點(x,y)周圍錨節點個數為n個,則式(3)可改寫為
(4)
當網絡中待定位的移動無線傳感網節點共計k個時,式(4)所示誤差函數可演化為
(5)
依據式(5)可知,當移動無線傳感網中待定位節點個數為k時,通過誤差消除機制來最小化式(5),以得到最佳的節點定位準確性。
傳統算法進行定位過程中的錨節點需要預先設置,由于錨節點定位存在“鏡像效應”,當多個錨節點共線時容易存在嚴重的誤差,如圖4所示。實踐中往往采用分組或三角固定部署模式[17],雖然可以解決“鏡像效應”,然而移動無線傳感網節點處于移動狀態,采取固定部署模式需要的錨節點個數較多,一些處于邊緣位置的無線傳感網節點無法估計,且錨節點個數較多的情況下也將會出現較高頻率的誤差積累現象,難以滿足實踐需求。

圖4 鏡像效應Fig.4 The mirror effect
為了改善節點的定位精度,設計了基于病毒體投射機制的移動無線傳感網節點定位算法(virus body projection,VBP)。其主要包括了基于病毒體投射機制的節點定位,以及基于權重調節機制的節點定位坐標誤差消除。
傳統方案主要針對固定節點的傳感網場景進行節點定位,定位過程中首先需要預設多個錨節點??紤]到錨節點覆蓋能力存在差異,待定位節點又存在拓撲漂移現象,監測過程中節點位置快速移動過程中存在各定位參數難以獲取的問題。利用病毒體投射機制,針對待定位節點存在的運動軌跡更迭頻繁,采用迭代預估方式優化定位過程,迭代步數越高則定位能力越強,且節點處于快速移動狀態時,將提高算法迭代的速度。因此,節點定位過程中無須進行精確定位,僅須捕獲初始位置,因此能夠快速獲取目標節點坐標,應對節點快速移動狀態下運動軌跡頻繁更迭的問題。
考慮到移動無線傳感網節點處于隨機移動狀態,錨節點處于固定狀態,因此對于任意時刻的錨節點而言,移動無線傳感網節點將難以長期處于該錨節點的影響范圍下。因此可以將錨節點看作病毒體,將待定位的移動無線傳感網節點看作子病毒體,病毒體將以隨機頻率對子病毒體進行投射,如圖5所示[11]。每個病毒體xi平均產生的子病毒體數量mi為

圖5 病毒體投射過程Fig.5 The process of virosome projection
(6)
式(6)中:kmin表示網絡中投射子病毒體最少的病毒體,以衡量錨節點對移動無線傳感網節點的控制能力,顯然該數值越高說明錨節點對無線傳感網節點的控制能力越強;L(xi)用來表示單位時間內病毒體xi對子病毒體投射的數量,該數值越高說明單位時間內錨節點需要定位的移動無線傳感網節點數量越多;ω表示網絡中病毒體的數量。
由于不同的病毒體投射能力存在差異,因此,投射距離di為
(7)
式(7)中:dmax表示投射能力最大的病毒體的投射距離。
由于投射能力最大的病毒體可能隨時發生改變,即di可能不斷發生改變:
di=dmax, 當僅當di≤dmax
(8)
式(8)經過k次迭代后,di演變為di(k):
(9)
式(9)中:di(k)代表第k次迭代投射距離;di(ffrist)表示病毒體初始投射距離;di(ffrist)表示病毒體最終投射距離;t為迭代時長。
獲取病毒體在經過k次迭代后的投射距離后,再計算病毒體投射密度為
ρ=rand[di(k),xi]
(10)
式(10)中:rand為隨機函數,用以表示病毒體xi在一定距離上投射子病毒體的平均距離。
聯立式(9)和式(10),則可計算任意子病毒體被投射的最遠位置Δdi(k)為
Δdi(k)=di(k)rand[di(k),xi]
(11)
由于子病毒體可處于的位置有k個,則其與病毒體xi之間的距離總和為
(12)
式(12)中:d(xi,xj)表示病毒體xi與子病毒體之間的距離。
由于子病毒體采用隨機方式出現,根據式(12),則位于子病毒體中心位置xj的概率為
(13)
由式(10)、式(11)可知,子病毒體按照隨機方式進行投射,則子病毒體實際位置xj(k)滿足:
xj(k)=p(xj)Xi(k)+rand[di(ffrist),di(flast)]
(14)
Xi(k)=Δdi(k)+rand[Δdi(k),Δdi(k-1)]
(15)
式中:xj(k)為子病毒體所處位置。
通過式(14)、式(15)可以獲取任意時刻子病毒體實際位置,由于所提算法是采用迭代方式,式(14)處于自收斂狀態,因此,只需要子病毒體被投射的最遠位置Δdi(k)在病毒體收斂區間(實際中對應錨節點的通信半徑),則子病毒體實際位置xj(k)將能夠精確到錨節點1跳半徑內,從而有效消除因節點移動拓撲快速變動而導致定位精度較低的問題。
由于移動無線傳感網節點處于隨機分布狀態,按照式(5)所獲取的節點坐標存在精度不高的問題。為此,結合式(14)、式(15),定義新的誤差函數:

(16)
式(16)中:d(i,j)代表兩個移動無線傳感網節點間實際距離。
估計完移動無線傳感網節點位置后,使用3個錨節點逐個按照模型式(15)、式(16)進行迭代,子病毒體的位置為滿足模型式(16)最小化的xj(k)。
綜上所述,詳細的誤差消除過程見圖6,其步驟如下。

圖6 基于權重調節機制的誤差消除過程Fig.6 Error elimination process based on weight adjustment mechanism
Step 1若子病毒體i處于病毒體控制范圍外,則按模型式(16)重新定義權值,本次迭代過程結束,反之,轉Step2。
Step 2按式(14)、式(15)更新網絡中子病毒體,遍歷全部可達節點。
Step 3如圖6所示,逐點按式(16)計算誤差函數,當僅當誤差函數重新取得較小值時反饋到Step 1。
Step 4逐跳遍歷網絡中全部節點i,直到節點遍歷完畢,算法結束。
為驗證本文算法性能,采用MATLAB仿真實驗環境[18],與當前常用的凸優化的無線傳感網障礙環境下定位算法[19](location algorithm in wireless sensor network obstacle environment based on convex optimization,OECO)及基于精確定位機制的改進DV-Hop算法[20](on improved DV-Hop localization algorithm for accurate node localization in wireless sensor networks,AN-DV-Hop)。本文算法的實驗參數設置為:病毒體密度不低于10個/102m2,投射距離不高于50 m,子病毒體密度不低于2個/102m2。為便于進行比較,式(1)中Precv(l)取值為256 dB。其余參數如表1所示。為了客觀評估算法的定位準確度,采用收斂輪數、定位誤差、定位精度來描述。

表1 仿真參數Table 1 Simulation parameters
圖7為本文算法與OECO算法、AN-DV-Hop算法的收斂輪數測試結果。預設初始信道信噪比分別為2、20 dB,節點運動速率均設置為20 m/s,用以模擬兩種不同信道噪聲干擾條件下的實際部署場景,傳輸信道均設置為萊斯信道。
由圖7可知,本文算法的收斂輪數較低,收斂速度要顯著高于對照組算法,說明OECO算法及 AN-DV-Hop算法定位過程中需要較長時間才能獲取較為滿意的精度。原因是所提算法設計了基于病毒體投射機制的定位方案,方案采用迭代方式優化節點定位感知質量,有效改善因信道噪聲以及拓撲變動較快而導致的節點感知困難,提高了定位精度。OECO算法主要通過引入三角函數定位方式進行直接定位,定位過程中需要繞過存在低密度節點分布的拓撲區域,并采用凸函數方式降低節點感知失效現象,當節點運動速度較快時容易因感知失效而導致定位誤差,因此達到一定的精度時需要更高的收斂輪數。AN-DV-Hop算法主要通過估測方式對節點進行一次定位,定位過程中需要引入三點定位模式進行鄰域估測,容易因錨節點共線而導致“鏡像效應”。因此,該算法定位效果要弱于所提算法,亦需要更高的輪數來實現定位收斂。

圖7 不同算法在兩種信道下的收斂輪數測試結果Fig.7 Test results of convergence rounds for different algorithms under two channels
圖8為本文算法與OECO算法及AN-DV-Hop算法的定位誤差測試結果。預設節點運動速率均設置為20 m/s,信道信噪比為-24 dB,傳輸信道設置為拉普拉斯信道與萊斯信道,用于模擬中等、高干擾信道部署環境。

圖8 3種算法在不同信道下的定位誤差測試結果Fig.8 The positioning error test results of the three algorithms under different channels
由圖8可知,本文算法的定位誤差始終處于較低水平,具有波動幅度小的特性,而OECO算法及AN-DV-Hop算法定位誤差始終要高于本文算法,特別是AN-DV-Hop算法的定位誤差最高達到11.9 m,遠遠高于本文算法的8.4 m,這顯示了本文算法具有的優越性能。本文算法設計了基于病毒體投射機制的定位方案,方案中針對移動無線傳感網容易出現的拓撲漂移現象采用了迭代機制,能夠改善因拓撲漂移而導致的定位誤差。OECO算法的定位誤差主要來源于拓撲漂移過程中存在的空洞現象,需要耗費更多的資源進行凸函數匹配過程,因此定位誤差要高于本文算法。AN-DV-Hop算法主要采取估測方式進行節點定位,估測過程中存在較為顯著的“鏡像效應”,因此該算法的定位誤差亦要遠遠高于本文算法。
圖9為本文算法與OECO算法及AN-DV-Hop算法的定位精度測試結果。預設初始信道信噪比分別為2、20 dB,節點運動速率均設置為20 m/s,用以模擬兩種不同信道噪聲干擾條件下的實際部署場景,傳輸信道均設置為萊斯信道。

圖9 不同算法在兩種信道下的定位精度測試結果Fig.9 The location accuracy test results of different algorithms under two channels
由圖9可知,本文算法的定位精度較高,且定位精度收斂速度較快,OECO算法及AN-DV-Hop算法定位精度始終要低于本文算法。這是由于本文算法采用的病毒體投射機制可對移動節點存在的拓撲漂移現象進行定向消除,方案采取的權值修正機制能夠有效降低定位誤差并可快速收斂定位過程,因此定位精度較高。OECO算法因移動無線傳感網節點拓撲漂移嚴重存在的空洞現象難以消除,容易因凸函數匹配收斂過程較慢而導致定位精度不高。AN-DV-Hop算法由于定位過程中因“鏡像效應”導致定位誤差較大,因而在定位精度上的性能亦要低于本文算法。
針對當前移動無線傳感網定位方案存在的不足,提出了一種基于病毒體投射機制的移動無線傳感網節點定位算法,主要設計了基于病毒體投射機制的定位方法,優化定位過程中的節點坐標收斂速度,降低定位誤差,穩定節點定位質量。此外,設計了基于權重調節機制的誤差消除方案,提高了算法對定位誤差的修正程度,增強了節點的定位精度。測試實驗數據驗證了所提算法的有效性與優勢。
下一步,將考慮結合直接定位方案的優越性,引入極坐標定位機制,進一步增強本文坐標對定位過程中難以實時修正角度的不足,提高算法的實際適用性能。