隋 濤, 陳浩然, 劉秀芝, 劉國棟
(山東科技大學電氣與自動化工程學院, 青島 266590)
面對全球常規能源的逐漸枯竭和環境污染,為了響應可持續發展的口號,風能和太陽能等可再生能源已廣泛用于微電網[1]。微電網作為智能電網中的一項重要技術,由于各系統分布不規則,沒有一種固定的分布模式,傳統的電網監測系統不能滿足對微電網的監測需求。在微電網監測系統中引入邊緣計算技術可以優化數據傳輸。
無線傳感器網絡(wireless sensor network,WSN)常用于微電網監測系統中。由于各種不確定性,在WSN中可能產生數據包丟失問題。如果WSN的節點無法正確定位,則網絡節點定位誤差過大,導致網絡無法連接,甚至使網絡崩潰,出現丟包問題[2]。常見的WSN定位算法可分為基于測距和非測距的方法,基于測距的定位算法具有定位精度高,成本開銷大,對環境要求高的特點,常應用于室內精準定位的場景。而基于非測距定位的算法定位誤差高,實現簡單成本低,對環境的要求也不高,應用比較廣泛且在大多數實際應用中非測距定位算法的粗精度也能滿足實際需求。在WSN的定位中,需要考慮網絡的定位精密度、節點的通信半徑、能量耗損等許多因素。DV-Hop算法是一種非測距定位算法,常被應用于WSN定位中。該算法主要利用節點間相互通信,借助平均每跳跨距與未知節點到錨節點之間跳數的乘積,計算未知節點到錨節點的距離[3]。隨后基于經典DV-hop算法,肖美華等[4]提出了一種平均加權(average weighting,AW)方法;程遠國等[5]設計了跳數加權(hop weighting,HW)方法;程超等[6]提出了一種誤差加權(error weighting,EW)方法;張安安等[7]提出了一種融合無線傳感器網絡(wireless sensor network, WSN)和射頻識別(radio frequency identification, RFID)技術的輸電線路桿塔狀態監測網絡;史進等[8]提出了一種基于病毒體投射機制的移動無線傳感網節點定位算法。這些改進在不同水平上增進了DV-hop算法的精度,減小了定位誤差。但是若要滿足微電網中的信息傳輸,定位算法不宜過于復雜,否則會影響電網正常運行。
為此,在應用邊緣計算技術的基礎上改進了微電網監測系統的結構,并在此結構下針對DV-Hop算法[9]進行了一定改進,希望能進一步減小DV-Hop算法的定位誤差。
微電網作為智能電網領域的重要一環,部署了各種分布式電源,其結構復雜。例如珠海某海島微電網就包含光伏發電設備、光伏并網柜、風電并網柜、柴油發電機、多項變流控制器、風力發電設備等設備,需要在使用大量的監測設備對微電網各部分運轉狀態進行監測。
傳統的微電網分布式電源模塊監控系統如圖1所示。微網設備信號由無線傳感器采集并傳遞給網關,隨后控制中心通過處理匯聚節點收到的故障信號,由此可分析該節點發生故障的具體位置和類型[10]。

圖1 微電網中某區域分布式電源模塊監控系統Fig.1 Monitoring system of distributed generation module in microgrid
在微電網監控系統中,將全部監測的節點構成一個無線傳感器網絡,會給匯聚節點帶來巨大的壓力。若其中部分節點發生故障,不能被正確定位,可能會危及整個網絡,從而影響整個微電網監控系統。在微電網中運用邊緣計算技術可以緩解微電網運行時信息擁堵的問題。邊緣計算作為在網絡邊緣執行計算的一種模式,用于應對大量物聯網終端設備的使用所帶來的對帶寬負載、網絡穩定性的挑戰[11]。
將微電網的監測區域按照地理位置或運行結構分割成多個監測區域,每個監測區域的無線傳感器節點將采集到的信號上傳至邊緣服務器,再由邊緣服務器進行初步信號處理后傳輸至云端服務器。基于邊緣計算的分布式電源模塊監控系統如圖2所示。
面對監測數據過多,云計算中央服務器處理性能有限等,通過對采集信號進行基于邊緣計算的預處理,芟除采集信號的冗余信息或錯誤信息,將一些采集信號分析技術下沉到邊緣處,以此減少對云中心的計算、存儲和網絡帶寬需求,提高數據分析的效率。
通過對監控區域分割,各個區域相對獨立,減小了匯聚節點的工作量,降低了數據傳輸時網絡堵塞的可能性。在圖2的監測區域中,一些傳感器設備上加裝了GPS定位系統,可以將這些設備看做無線傳感器網絡中的錨節點。因此,圖2中的監測區域可以抽象為圖3的仿真場景[10]。

圖2 基于邊緣計算的分布式電源模塊監控系統Fig.2 Distributed power module monitoring system based on edge computing

圖3 監測區域網絡仿真場景Fig.3 Simulation scenario of monitoring area network
由于加裝全球定位系統(global positioning system, GPS)后會使傳感器節點能耗增加從而縮短節點壽命,同時為了節省成本,在分布式發電過程中,只有少數設備配備了GPS傳感器節點,而大量設備的位置未知。錨節點的位置已知,所提出的定位算法是一種以少量已知位置的設備來定位位置不確定的設備的算法。在監控過程中,每個設備的節點都通過無線鏈路向監控中心傳輸諸如電壓、電流等數據。當監控中心發現某設備損壞,需要及時獲知損壞設備位置,否則會引發嚴重后果。
DV-Hop算法靠錨節點(anchor node,AN)和未知節點(unknown node,UN)的平均跳距和跳數之積得到UN到AN的距離。
算法流程如圖4所示。錨節點標識設為i,錨節點位置坐標記為ANi。ANi的平均每跳距離(average hop distance, AHD)記為AHDi,其計算公式為

圖4 DV-Hop算法流程圖Fig.4 DV hop algorithm flow chart

(1)
式(1)中:N為AN的總數;(xi,yi)、(xj,yj)分別為ANi和ANj的坐標;hij為從ANi到ANj的最小跳數。
設di為UN到ANi的估計距離,其計算公式為
di=AHDhopi
(2)
式(2)中:hopi為從UN到ANi的最小跳數;AHD為UN保存的平均每跳距離。
從定位過程來看,影響DV-Hop算法精度的主要因素有:計算節點位置的方法、節點間的預計距離、最低跳數以及平均每跳距離[12]。
DV-Hop算法中,當傳感器節點記錄到相同的最小跳數,但間距不同或是跳數不相等,間距相同時會產生最小跳數誤差。如圖5(a)所示,節點C的最大通信半徑記為R,節點A至節點C的距離與節點G至節點C的距離相似,但節點C至節點A的最小跳數記為2,到節點G的最小跳數為1。節點C到節點B、節點D、節點G的最小跳數均為1,而節點C到節點B、D、G的距離不相等。
同理,如圖5(b)所示,節點A到節點J的實際間距為R,節點A到節點D的實際間距為R,但是這兩者的跳數卻并不相同。圖5(c)中,節點A到節點B跳數為1跳,節點A到節點F跳數也為1跳,但是其距離并不相同。所以此種最小跳數的計數方法會帶來較大的誤差。
平均每跳距離AHD的誤差受WSN中節點分布不均勻的影響,如圖5(a)所示,假設節點A、節點C、節點G為3個錨節點。由圖5可知,錨節點C和錨節點G的AHDCG計算公式為

圖5 傳感器節點分布示意圖Fig.5 Sensor node distribution diagram
AHDCG=(R-ε)/1
(3)
式(3)中:ε為距離測量誤差。
錨節點C和錨節點A之間的AHDCA計算公式為
AHDCA=(R+ε)/2
(4)
計算UN和AN的間距將參考附近的錨節點AHD,但AN間的平均跳距也會有較大的誤差。最近錨節點的單個AHD幾乎不能反映UN周圍的網絡特性,這可能會導致較大定位誤差[13-14]。
DV-Hop算法的長處是簡單易實現,缺點是較低的定位精度。為了減小錨節點間平均跳距引起的誤差,錨節點提供的信息被大量使用可以提升估計的UN的AHD的精度[13]。文獻[4]提出了AW方法,利用多個錨節點的AHD,取平均值來代替傳統算法中未知節點的AHD,可表示為

(5)
式(5)中:AHDu為n個錨節點AHD的平均值;n為UN從中獲取信息的錨節點的數目,n≤N。每個AN具有相同的權重值。
錨節點距離未知節點越近,其網絡位置信息與未知節點越相近。基于上述假設,文獻[5]設計了HW方法。

(6)

(7)
式中:ωi為跳數權重值;hui為UNu到ANi的最小跳數。
令錨節點的AHD準確度提高的一種方法是減小錨節點的距離誤差。文獻[6]提出了EW方法,權重值ω計算公式為

(8)

(9)
式(9)中:εi為ANi的平均每跳距離誤差;εj為ANj的平均每跳距離誤差;ω為基于平均每跳距離誤差的權重值;hij為從ANi到ANj的最小跳數;dij為從ANi到ANj的估計距離;Dij為實際距離;N為WSN中所有錨節點的數量。
當錨節點部署在網絡邊沿時,大多數未知節點可被定位。當錨節點分布在網絡中心時,遠離中心的節點累積定位誤差較大,導致總體定位精密度減小[4]。對文獻[4]實驗結果分析可知:當錨節點在網絡邊緣布置時,定位精度最好。當錨節點分布在監測區域邊沿時,平均加權方法效果最優秀。文獻[5]用網絡的拓撲關系估計出的空間直線距離替代節點間的跳距關系進行運算,在錨節點所占比例較低時,網絡能夠確定連通的區域內的所有未知節點位置[5]。
應用了跳數加權的DV-hop算法在一般情況下可以取得較好效果。由于在應用了邊緣計算技術的微電網監測區域中,每一個區域面積較小,因此錨節點更容易部署在區域邊緣。因此將適用于錨節點分布于監測區域邊緣的平均加權方法應用到跳數加權方法上可以取得更好的效果。在AW方法與HW基礎上進行適當的改進,可表示為

(10)

(11)
AHD=AHDu+|ω1-ω2|
(12)
式中:ω1為基于平均加權方法的改進權重值;ω2為基于跳數加權方法的改進權重值。
基于MATLAB2016a軟件,在內存為8 G,CPU為Intel Core i7處理器,操作系統為Windows 10的計算機上進行。針對圖2各個小范圍監測區域,模擬了一個200 m×200 m的正方形監測區域。設備總數設為200,即有200個無線傳感器節點。參考實際戶外微電網運行狀況,GPS定位誤差設置為 5 m。從經濟方面以及網絡正常運行方面考慮,錨節點覆蓋率取20%,通信半徑為30 m。由于微電網架構靈活多變,因此對各傳感器位置進行隨機設置,仿真多次,取平均值。每次實驗的相對定位誤差計算公式為

(13)
式(13)中:未知節點的估計坐標由(xest,yest)表示;未知節點實際坐標由(xtrue,ytrue)表示;傳感器節點的最大通信半徑為R;Nnum為未知節點數目。
平均定位誤差的計算公式為

(14)
式(14)中:ξi為每次實驗的相對定位誤差;Ttime為實驗次數。
本次實驗分為兩組對照實驗,一組為普通DV-hop算法、應用了平均加權方法的DV-hop算法、應用了平均加權與跳數加權的DV-hop算法(本文方法)這3種DV-hop算法進行對比,按照多個算法步驟分別進行,選出性能較優的算法;二組為接收信號的強度指示(received signal strength indication,RSSI)方法(未知節點利用鄰居錨節點進行定位,沒有鄰居錨節點的未知節點無法定位)、RSSI改進方法(有鄰居錨節點的未知節點只利用鄰居錨節點進行定位,沒有鄰居錨節點的未知節點才利用已經定位了的鄰居未知節點進行定位)、Centroid方法與一組選出的較優DV-hop算法進行對照實驗,同樣按照多個算法步驟分別進行100~500次,間隔次數為100的實驗。一組對照實驗結果如圖6所示,一組對照實驗平均誤差如表1所示,二組對照實驗結果如圖7所示,二組對照實驗平均誤差如表2所示。各算法優缺點如表3所示,各算法不能被定位的節點數如表4所示。

表2 應用了平均加權與跳數加權的DV-hop、RSSI、 改進的RSSI、Centroid算法平均誤差

表3 各算法優缺點比較

圖7 應用了平均加權與跳數加權的DV-hop、RSSI、 改進的RSSI、Centroid算法仿真結果圖Fig.7 Simulation results of average weighted and hop weighted DV-hop, RSSI, improved RSSI and Centroid algorithms

表1 DV-hop、應用了平均加權的DV-hop、應用了 平均加權與跳數加權的DV-hop算法平均誤差

圖6 DV-hop、應用了平均加權的DV-hop、應用了 平均加權與跳數加權的DV-hop算法仿真結果Fig.6 Simulation results of DV-hop, DV hop with average weighting and DV hop with average weighting and hop number weighting
在本次實驗設定的微電網場景中,由于每個監測區域較小且節點較多,運用DV-hop算法與Centroid算法可以得到較小的平均誤差,而RSSI算法則會產生較大定位誤差,不適用于此場景。DV-hop與Centroid算法對比,雖然Centroid算法的平均誤差較小,但是其運行時間比起DV-hop算法來說特別長,不能滿足微電網實際運行時的需要,而且運用該算法會有不能被定位的未知節點,可靠性會下降。因此DV-hop算法從定位精度,定位可靠性與實時性上來說優于其他兩種算法。本次實驗的3種DV-hop算法,所提出的平均加權與跳數加權的DV-hop對比普通DV-hop算法精度提高了6.88%,對比平均加權方法的DV-hop算法精度提高了5.12%,通過運用本文方法可以取得較小的平均誤差。
針對每個監測區域較小且節點較多的特點,在引入平均加權方法的改進DV-Hop算法基礎上,提出了基于平均與跳數加權的DV-hop算法。該改進算法對比已有算法減小了定位誤差,且不會增加運算時間,可以適應基于邊緣計算的微電網無線傳感器網絡定位場景。邊緣計算技術引入微電網監測系統,提高了信息傳遞效率,改進了微電網監測系統結構。改進的無線傳感器定位算法可以提高定位精度,在微電網監測中具有廣闊的應用前景。