陳 巖,李曉卉+,丁月民,蔡 彬
(1.武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,湖北 武漢 430081;2.天津理工大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,天津 300384)
作為電力系統(tǒng)的重要組成部分,電網(wǎng)傳輸線路故障發(fā)生后需第一時間確定故障點(diǎn)的位置,避免產(chǎn)生更大的經(jīng)濟(jì)損失[1]?,F(xiàn)代智能電網(wǎng)(smart grid)將先進(jìn)的傳感技術(shù)、控制技術(shù)和通信技術(shù)集成于一體[2,3],采用無線傳感器節(jié)點(diǎn)監(jiān)控故障信息,并通過無線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)將故障信息傳輸?shù)诫娋W(wǎng)控制中心,該方法大大提高了電網(wǎng)輸電線路故障自動監(jiān)控的能力[4]。
作為WSN中的一種距離無關(guān)(range-free)定位算法,距離向量-跳段(distance vector-hop,DV-Hop)算法應(yīng)用在電網(wǎng)輸電線路故障監(jiān)控時,由于智能電網(wǎng)輸電線間距遠(yuǎn)小于傳感器節(jié)點(diǎn)通信半徑,當(dāng)某節(jié)點(diǎn)與垂直方向上的節(jié)點(diǎn)通信時,其與任一垂直方向上節(jié)點(diǎn)的跳數(shù)都為1。因此,在計(jì)算位于垂直方向的節(jié)點(diǎn)間距離時就會產(chǎn)生一定誤差。在智能電網(wǎng)背景中,傳感器節(jié)點(diǎn)都安裝在傳輸線上,大大增加了錨節(jié)點(diǎn)的共線幾率,采用三邊測距法求解未知節(jié)點(diǎn)坐標(biāo)存在較大誤差。當(dāng)采用極大似然估計(jì)時,由于未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的估算距離與實(shí)際距離之間存在誤差,在方程組相減時會產(chǎn)生累積誤差,影響定位精度[5-9]。
為解決以上問題,本文提出一種適用于電網(wǎng)輸電線路的故障監(jiān)控定位算法(localization algorithm for the fault monitoring of power transmission line,SG iDV-Hop)。該算法在原始DV-Hop的基礎(chǔ)上,采用最小均方差(minimum mean square error,MMSE)計(jì)算錨節(jié)點(diǎn)平均跳距,并引入誤差因子對其進(jìn)行修正。實(shí)際電網(wǎng)輸電線路并不都是水平的,而是呈一個角度排列,因此將輸電線傾斜一個角度,線上的傳感器節(jié)點(diǎn)以交錯的形式排列部署。采用二維雙曲線法求解未知節(jié)點(diǎn)坐標(biāo),一方面減少了由估算距離誤差帶來的累積誤差,另一方面避免了方程組直接相減造成未知節(jié)點(diǎn)坐標(biāo)二次項(xiàng)損失。
智能電網(wǎng)輸電線路故障監(jiān)控中WSN體系結(jié)構(gòu)如圖1所示,傳感器節(jié)點(diǎn)監(jiān)測的數(shù)據(jù)經(jīng)過多跳后路由到匯聚節(jié)點(diǎn),最后通過互聯(lián)網(wǎng)和衛(wèi)星到達(dá)監(jiān)控中心,用戶可以在監(jiān)控中心收集并分析有關(guān)輸電線路的監(jiān)測數(shù)據(jù)。
圖1 基于WSN的智能電網(wǎng)輸電線路故障監(jiān)控
一般輸電線路上的傳感器網(wǎng)絡(luò)部署如圖2所示。每根線的斜率k=tan10且線與線的間距相等,同一根線上的節(jié)點(diǎn)等距離分布,不同線上的節(jié)點(diǎn)交錯分布。由于受到成本等方面的限制,l的長度要遠(yuǎn)大于w,這就使得節(jié)點(diǎn)的通信半徑滿足R≥l,才能實(shí)現(xiàn)節(jié)點(diǎn)間正常通信。
圖2 智能電網(wǎng)輸電線路上的WSN部署
首先,SG iDV-Hop算法采用MMSE計(jì)算錨節(jié)點(diǎn)間平均跳距[10],結(jié)合錨節(jié)點(diǎn)間最小跳數(shù)算出錨節(jié)點(diǎn)間的估算距離并以錨節(jié)點(diǎn)間實(shí)際距離與估算距離之差作為誤差因子,對錨節(jié)點(diǎn)間平均跳距進(jìn)行修正。然后,在估算未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的距離時,引入一個與其最小跳數(shù)相關(guān)的動態(tài)權(quán)值對未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的平均跳距進(jìn)行修正,再結(jié)合二者間最小跳數(shù)算出未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的距離。最后,以二維雙曲線法估算未知節(jié)點(diǎn)坐標(biāo),在求得未知節(jié)點(diǎn)坐標(biāo)的同時還會得到一個與未知節(jié)點(diǎn)坐標(biāo)相關(guān)的參數(shù)因子,利用該參數(shù)因子對估算坐標(biāo)進(jìn)行更新得出未知節(jié)點(diǎn)的最終坐標(biāo)[11]。
SG iDV-Hop初始化時,錨節(jié)點(diǎn)i將包含自身位置信息(xi,yi,hi)的數(shù)據(jù)包廣播至網(wǎng)絡(luò)中,其中(xi,yi)為錨節(jié)點(diǎn)坐標(biāo),hi為錨節(jié)點(diǎn)跳數(shù)信息初始化值為0。接收節(jié)點(diǎn)記錄其到每個錨節(jié)點(diǎn)的最小跳數(shù),忽略來自同一個錨節(jié)點(diǎn)的較大跳數(shù)的數(shù)據(jù)包,然后將跳數(shù)加1并轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn)。由此,網(wǎng)絡(luò)中所有節(jié)點(diǎn)都能獲得每個錨節(jié)點(diǎn)的坐標(biāo)以及二者間最小跳數(shù)。
為了使錨節(jié)點(diǎn)間平均跳距更加接近實(shí)際值以進(jìn)一步減小累積誤差,采用最小均方差計(jì)算M個錨節(jié)點(diǎn)間平均跳距,公式如下所示
式中:dij為錨節(jié)點(diǎn)i、j間歐氏距離,hij為錨節(jié)點(diǎn)i、j間最小跳數(shù)。
錨節(jié)點(diǎn)i、j間的估算距離如下所示
則錨節(jié)點(diǎn)i、j估算距離與歐氏距離之間的誤差為
因此,錨節(jié)點(diǎn)i的平均每跳誤差為
(1)
在計(jì)算未知節(jié)點(diǎn)x到錨節(jié)點(diǎn)的估算距離之前,先對未知節(jié)點(diǎn)x到錨節(jié)點(diǎn)的平均跳距進(jìn)行修正。引入一個與其最小跳數(shù)相關(guān)的動態(tài)權(quán)值λ,則未知節(jié)點(diǎn)與錨節(jié)點(diǎn)間平均跳距修正公式如下
其中,hopi為未知節(jié)點(diǎn)x到錨節(jié)點(diǎn)i的最小跳數(shù)。則未知節(jié)點(diǎn)x到錨節(jié)點(diǎn)i的估算距離公式如下
(2)
(3)
將式(3)展開如下
(4)
令k=x2+y2,可將式(4)整理成矩陣方程形式
AX=b
(5)
其中
采用最小二乘法對矩陣方程組(5)求解得
X=(ATA)-1ATb
(6)
因此,通過參數(shù)k得到的未知節(jié)點(diǎn)坐標(biāo)(xe,ye)為
(7)
最后,結(jié)合式(6)得到的坐標(biāo)(xu,yu)和式(7)得到的坐標(biāo)(xe,ye)以求均值的方式更新未知節(jié)點(diǎn)坐標(biāo)。在計(jì)算過程中,采用最小二乘法求解得到的坐標(biāo)(xu,yu)的權(quán)重是通過參數(shù)k計(jì)算得到的坐標(biāo)(xe,ye)的兩倍。未知節(jié)點(diǎn)坐標(biāo)更新公式如下
(8)
圖3給出SG iDV-Hop算法流程,描述如下:
圖3 SG iDV-Hop算法流程
步驟1 算法初始化
初始化網(wǎng)絡(luò),配置傳感器監(jiān)測區(qū)域、節(jié)點(diǎn)總數(shù)、錨節(jié)點(diǎn)比例以及節(jié)點(diǎn)通信半徑等信息。錨節(jié)點(diǎn)將包含自身信息(xi,yi,hi)的數(shù)據(jù)包廣播至網(wǎng)絡(luò)中。
步驟2 未知節(jié)點(diǎn)接受數(shù)據(jù)包
未知節(jié)點(diǎn)接收來自錨節(jié)點(diǎn)的數(shù)據(jù)包,并保存其到每個錨節(jié)點(diǎn)的最小跳數(shù)。未知節(jié)點(diǎn)收到3個錨節(jié)點(diǎn)的數(shù)據(jù)包后開始定位,否則定位失敗。
步驟3 錨節(jié)點(diǎn)間平均跳距
為了減少節(jié)點(diǎn)垂直通信產(chǎn)生的誤差,采用式(1)計(jì)算錨節(jié)點(diǎn)間平均跳距。
步驟4 未知節(jié)點(diǎn)到錨節(jié)點(diǎn)間估算距離
引入動態(tài)權(quán)值λ,對未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的平均跳距進(jìn)行修正,通過式(2)計(jì)算未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的距離。
步驟5 未知節(jié)點(diǎn)坐標(biāo)及更新
為了減小累積誤差,采用二維雙曲線法計(jì)算未知節(jié)點(diǎn)坐標(biāo),并通過式(6)最小二乘法求解。為進(jìn)一步提高定位精度,通過式(8)更新節(jié)點(diǎn)坐標(biāo)。
為了驗(yàn)證SG iDV-Hop算法在智能電網(wǎng)傳輸線路故障監(jiān)控中的定位效果,在MATLAB 2014a上對SG iDV-Hop算法坐標(biāo)更新前后的結(jié)果和原始DV-Hop算法的結(jié)果進(jìn)行對比仿真。5根輸電線用5個斜率相同截距不同的函數(shù)表示,見表1。其中,斜率k=tan10,每個函數(shù)所對應(yīng)的x的初值分別為0、2、4、6、8且每隔10 m取一個點(diǎn)。當(dāng)節(jié)點(diǎn)總數(shù)為200時,每個輸電線上有40個點(diǎn),故x在[0,400]范圍內(nèi)取值,由于斜率的存在此時節(jié)點(diǎn)的分布區(qū)域約為400 m×80 m。以此類推,因此節(jié)點(diǎn)總數(shù)不同則節(jié)點(diǎn)的分布區(qū)域也不同。
表1 輸電線函數(shù)表達(dá)式
假設(shè)所有節(jié)點(diǎn)的通信半徑相同且通信范圍為完整的圓形,定位誤差公式定義如下
(9)
錨節(jié)點(diǎn)比例對定位誤差的影響如圖4所示。當(dāng)節(jié)點(diǎn)總數(shù)為200,節(jié)點(diǎn)通信半徑為15 m,錨節(jié)點(diǎn)比例為5%時,采用3種算法得到的定位誤差均比較高。SG iDV-Hop算法坐標(biāo)更新前后的定位誤差分別為0.89和0.84,而原始DV-Hop算法的誤差高達(dá)0.98。錨節(jié)點(diǎn)比例為5%時,仿真區(qū)域內(nèi)錨節(jié)點(diǎn)分布較為稀疏,缺乏足夠的錨節(jié)點(diǎn)導(dǎo)致節(jié)點(diǎn)間平均每跳距離誤差增大,由于累積誤差的存在導(dǎo)致定位精度大大降低。隨著錨節(jié)點(diǎn)比例逐漸增多,區(qū)域內(nèi)錨節(jié)點(diǎn)密度逐漸變大,未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的跳數(shù)逐漸減小。因此,二者之間的估算距離逐漸接近其歐氏距離。當(dāng)錨節(jié)點(diǎn)比例增加到25%時,SG iDV-Hop算法坐標(biāo)更新前后的定位誤差分別為0.44和0.42,而原始DV-Hop算法的定位誤差仍在0.5以上。
圖4 錨節(jié)點(diǎn)比例對定位誤差的影響
圖5描述了當(dāng)節(jié)點(diǎn)總數(shù)和錨節(jié)點(diǎn)比例一定時(節(jié)點(diǎn)總數(shù)為200,錨節(jié)點(diǎn)比例為10%),節(jié)點(diǎn)通信半徑對定位誤差的影響。隨著節(jié)點(diǎn)通信半徑從15 m逐漸增大到35 m,所有算法的定位誤差均呈下降趨勢,而SG iDV-Hop算法坐標(biāo)更新后的定位精度在不同通信半徑下都是最高的。當(dāng)通信半徑為15 m時,SG iDV-Hop算法坐標(biāo)更新后的定位精度比原始DV-Hop提高大約27%。隨著通信半徑不斷增加,3種算法的定位誤差逐漸接近,當(dāng)通信半徑增加到35 m時,原始DV-Hop的定位誤差為0.61,與SG iDV-Hop算法坐標(biāo)更新前后的定位誤差非常接近。這是因?yàn)楫?dāng)通信半徑增加時,網(wǎng)絡(luò)連通率大大增加,節(jié)點(diǎn)之間的估算距離越來越接近其歐氏距離,在DV-Hop算法中累積誤差對定位精度產(chǎn)生的影響逐漸減小,因此三者的定位誤差逐漸接近。
圖5 節(jié)點(diǎn)通信半徑對定位誤差的影響
當(dāng)節(jié)點(diǎn)通信半徑為15 m,錨節(jié)點(diǎn)比例為10%時,節(jié)點(diǎn)總數(shù)對定位誤差的影響如圖6所示。盡管SG iDV-Hop算法坐標(biāo)更新前后的定位誤差在節(jié)點(diǎn)總數(shù)為300時稍微有所下降,但總體仍呈上升趨勢。在節(jié)點(diǎn)總數(shù)逐漸增加的過程中,根據(jù)表1可看出節(jié)點(diǎn)的分布區(qū)域也在逐漸變大。在錨節(jié)點(diǎn)比例一定的情況下,節(jié)點(diǎn)總數(shù)增多導(dǎo)致節(jié)點(diǎn)分布區(qū)域變大,區(qū)域內(nèi)錨節(jié)點(diǎn)密度逐漸減小,因此定位誤差變大。與原始DV-Hop算法相比,SG iDV-Hop算法在不同節(jié)點(diǎn)總數(shù)下均能明顯減小定位誤差。
圖6 節(jié)點(diǎn)總數(shù)對定位誤差的影響
本文針對智能電網(wǎng)輸電線路中故障監(jiān)控問題,對原始DV-Hop算法進(jìn)行改進(jìn),提出了SG iDV-Hop算法。在減小節(jié)點(diǎn)垂直通信帶來的誤差方面,采用最小均方誤差計(jì)算錨節(jié)點(diǎn)間平均跳距并引入誤差因子進(jìn)行修正,計(jì)算未知節(jié)點(diǎn)與錨節(jié)點(diǎn)的距離時引入一個與其最小跳數(shù)相關(guān)的動態(tài)權(quán)值對未知節(jié)點(diǎn)平均跳距進(jìn)行修正。在減小錨節(jié)點(diǎn)共線帶來的誤差和累積誤差方面,合理設(shè)計(jì)智能電網(wǎng)輸電線路上的WSN部署結(jié)構(gòu),采用二維雙曲線法計(jì)算未知節(jié)點(diǎn)坐標(biāo)并引入?yún)?shù)因子對其進(jìn)行更新。3種不同情況下的仿真結(jié)果表明,SG iDV-Hop算法均能明顯改善定位誤差,尤其是在更新坐標(biāo)信息后定位精度更加準(zhǔn)確。本文目前研究了二維坐標(biāo)情況下的未知節(jié)點(diǎn)坐標(biāo)定位問題,并沒有針對三維模型進(jìn)行分析,并且SG iDV-Hop算法的計(jì)算復(fù)雜度較高。在后續(xù)的工作中,主要針對算法的計(jì)算復(fù)雜度做出改進(jìn)并將其應(yīng)用到三維模型中。