艾青林 夏晗雄 徐巧寧
(浙江工業(yè)大學(xué)特種裝備制造與先進(jìn)加工技術(shù)教育部/浙江省重點(diǎn)實(shí)驗(yàn)室 杭州 310023)
無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)由大量具有無線通信功能的傳感器節(jié)點(diǎn)構(gòu)成,各節(jié)點(diǎn)能夠自主感知獲取局部環(huán)境信息,并以多跳傳輸?shù)男问絽R聚至sink節(jié)點(diǎn),進(jìn)而實(shí)現(xiàn)多傳感器數(shù)據(jù)融合得到全局信息。傳感器節(jié)點(diǎn)自組織不需要基礎(chǔ)網(wǎng)絡(luò)設(shè)施,成本低、體積小、部署方便,使得無線傳感器網(wǎng)絡(luò)廣泛地應(yīng)用于環(huán)境監(jiān)測(cè)、工業(yè)控制、搶險(xiǎn)救災(zāi)等領(lǐng)域[1]?;跓o線傳感器網(wǎng)絡(luò)的結(jié)構(gòu)健康監(jiān)測(cè)系統(tǒng)安裝維護(hù)方便、可靠性好,是目前研究熱點(diǎn)之一[2,3]。本文以探傷機(jī)器人編隊(duì)為載體,構(gòu)建移動(dòng)無線傳感器網(wǎng)絡(luò),可對(duì)鋼結(jié)構(gòu)建筑進(jìn)行全方位的損傷檢測(cè)。
無線傳感器網(wǎng)絡(luò)的時(shí)間同步是多傳感器節(jié)點(diǎn)數(shù)據(jù)融合以獲取全局信息的關(guān)鍵支撐技術(shù),但由于各傳感器節(jié)點(diǎn)的初始時(shí)鐘不同步、晶振工藝誤差等因素,無線傳感器網(wǎng)絡(luò)存在時(shí)間不同步的現(xiàn)象。鋼結(jié)構(gòu)損傷檢測(cè)需要對(duì)多個(gè)測(cè)點(diǎn)同時(shí)進(jìn)行振動(dòng)信號(hào)的采集,若存在較大的時(shí)間同步誤差后期進(jìn)行振動(dòng)信號(hào)分析時(shí)會(huì)引起頻域曲線的相位偏移,對(duì)損傷位置的分析產(chǎn)生顯著的影響[4]。因此面向鋼結(jié)構(gòu)損傷檢測(cè)的無線傳感器網(wǎng)絡(luò)必須具有較高的時(shí)間同步精度。
針對(duì)無線傳感器網(wǎng)絡(luò)的時(shí)間同步問題,Elson等人[5]提出了一種基于Receiver-Receiver機(jī)制的參考廣播同步算法 (reference broadcast synchronization,RBS)。RBS算法選取參考節(jié)點(diǎn)發(fā)送同步消息,忽略傳輸時(shí)延,假設(shè)其他節(jié)點(diǎn)同時(shí)接收到同步消息,通過彼此交換接收時(shí)間戳,計(jì)算相對(duì)時(shí)間偏差實(shí)現(xiàn)接收節(jié)點(diǎn)間的時(shí)間同步。該算法隨著節(jié)點(diǎn)數(shù)量的增加,開銷迅速增高,故適用于單跳網(wǎng)絡(luò)。Ganeriwal等人[6]提出了一種基于Sender-Receiver雙向消息交換機(jī)制的時(shí)間同步協(xié)議(timing-sync protocol for sensor network, TPSN)。TPSN算法選取根節(jié)點(diǎn)后,逐層分級(jí)建立樹形的層次網(wǎng)絡(luò),以根節(jié)點(diǎn)為中心,通過雙向數(shù)據(jù)交換使子節(jié)點(diǎn)同步到父節(jié)點(diǎn),最終實(shí)現(xiàn)全網(wǎng)的時(shí)間同步。該算法利用傳輸時(shí)延的對(duì)稱性消除同步誤差,同步精度高,可擴(kuò)展性好,但隨跳數(shù)增大同步精度變差。對(duì)動(dòng)態(tài)拓?fù)渲С州^弱,一旦根節(jié)點(diǎn)失效,需要重新建立層次網(wǎng)絡(luò),魯棒性較差。Maroti等人[7]基于Sender-Receiver單向廣播同步機(jī)制,提出了洪泛時(shí)間同步算法(flooding time synchronization protocol,F(xiàn)TSP),該算法采用根節(jié)點(diǎn)動(dòng)態(tài)選舉機(jī)制、網(wǎng)絡(luò)分層策略,建立多級(jí)層次網(wǎng)絡(luò),周期性洪泛廣播同步消息實(shí)現(xiàn)全網(wǎng)同步。FTSP算法支持在MAC層嵌入時(shí)間戳,大幅減少由于消息傳輸引起的不確定時(shí)延,且對(duì)節(jié)點(diǎn)失效有較高的容忍度,支持動(dòng)態(tài)拓?fù)淝彝骄容^高,可擴(kuò)展性好,適合面向鋼結(jié)構(gòu)損傷檢測(cè)的移動(dòng)傳感器網(wǎng)絡(luò)。
面向鋼結(jié)構(gòu)損傷檢測(cè)的工業(yè)無線傳感器網(wǎng)絡(luò),容易受到鋼結(jié)構(gòu)屏蔽、溫濕度變化、射頻干擾等因素的影響,而導(dǎo)致時(shí)間同步數(shù)據(jù)的異常[8,9]。為了提高FTSP算法的容錯(cuò)性和抗干擾能力,文獻(xiàn)[10]運(yùn)用局部加權(quán)回歸對(duì)時(shí)間戳數(shù)據(jù)對(duì)進(jìn)行擬合,提高了時(shí)間同步精度,降低了網(wǎng)絡(luò)開銷,對(duì)復(fù)雜環(huán)境有更好的適應(yīng)能力。但是該方法需要的樣本集過大、計(jì)算復(fù)雜,具有一定的局限性。文獻(xiàn)[11]針對(duì)異常數(shù)據(jù),提出容錯(cuò)FTSP算法,過濾異常數(shù)據(jù)并獲取鄰居節(jié)點(diǎn)同步消息修正本地時(shí)鐘,但導(dǎo)致了額外開銷,網(wǎng)絡(luò)能耗大。文獻(xiàn)[12]通過設(shè)置過濾器檢測(cè)出異常數(shù)據(jù),對(duì)時(shí)鐘漂移率進(jìn)行修正,提高了容錯(cuò)性、穩(wěn)定性和同步精度,但閾值的選取依靠經(jīng)驗(yàn)值,無法根據(jù)外界環(huán)境自適應(yīng)調(diào)整。
鑒于以上算法存在的問題,本文提出了一種基于置信加權(quán)的無線傳感器網(wǎng)絡(luò)時(shí)間同步算法,在FTSP算法的基礎(chǔ)上,引入置信區(qū)間剔除異常數(shù)據(jù),提高對(duì)異常數(shù)據(jù)的容錯(cuò)能力。針對(duì)弱干擾環(huán)境,較小的異常數(shù)據(jù)位于置信區(qū)間內(nèi)導(dǎo)致算法失效的問題,結(jié)合動(dòng)態(tài)隨機(jī)加權(quán)平均,建立時(shí)鐘漂移率數(shù)據(jù)表,動(dòng)態(tài)解算加權(quán)因子,實(shí)現(xiàn)時(shí)間漂移率的加權(quán)處理,降低異常數(shù)據(jù)的權(quán)重,提高了時(shí)間同步算法的穩(wěn)定性,從而滿足面向鋼結(jié)構(gòu)探傷的無線傳感器網(wǎng)絡(luò)容錯(cuò)性、穩(wěn)定性要求。
基于FTSP算法的無線傳感器網(wǎng)絡(luò)各節(jié)點(diǎn)ID唯一,采用根節(jié)點(diǎn)動(dòng)態(tài)選舉機(jī)制選取ID最小的節(jié)點(diǎn)為系統(tǒng)時(shí)鐘源。以洪泛方式廣播分級(jí)報(bào)文依次逐層擴(kuò)散,建立層級(jí)網(wǎng)絡(luò),直至實(shí)現(xiàn)全網(wǎng)分級(jí)。建立層級(jí)網(wǎng)絡(luò)后,根節(jié)點(diǎn)周期性廣播同步消息,子節(jié)點(diǎn)根據(jù)存儲(chǔ)的時(shí)間戳數(shù)據(jù)對(duì),采用線性回歸方式補(bǔ)償時(shí)間偏差實(shí)現(xiàn)單跳同步,已同步節(jié)點(diǎn)繼續(xù)廣播進(jìn)而實(shí)現(xiàn)全網(wǎng)同步,具體如圖1所示。
圖1 FTSP算法層次結(jié)構(gòu)
FTSP算法的同步過程分為網(wǎng)絡(luò)分級(jí)和時(shí)間同步2個(gè)階段。在網(wǎng)絡(luò)分級(jí)階段,根節(jié)點(diǎn)洪泛廣播分級(jí)消息,1跳鄰居節(jié)點(diǎn)(節(jié)點(diǎn)1、2)獲取父節(jié)點(diǎn)級(jí)別號(hào)0后,更新本地級(jí)別號(hào)為1并繼續(xù)洪泛廣播,繼而2跳鄰居節(jié)點(diǎn)(節(jié)點(diǎn)3、4、5、6)更新級(jí)別號(hào)為2。以此類推子節(jié)點(diǎn)級(jí)別號(hào)為父節(jié)點(diǎn)的級(jí)別加1,依次逐層擴(kuò)散最終完成全網(wǎng)分級(jí)。無線傳感器網(wǎng)絡(luò)的時(shí)間同步機(jī)制與分級(jí)策略相似,根節(jié)點(diǎn)周期性洪泛廣播同步消息,第1級(jí)節(jié)點(diǎn)接收到同步消息后維護(hù)n對(duì)時(shí)間戳作為參考點(diǎn)進(jìn)行擬合,對(duì)時(shí)間偏差進(jìn)行補(bǔ)償。在完成時(shí)間同步后,繼續(xù)廣播同步消息實(shí)現(xiàn)下一級(jí)節(jié)點(diǎn)的同步,單向廣播逐級(jí)同步最終使全網(wǎng)保持統(tǒng)一的時(shí)鐘。
FTSP算法支持在MAC層嵌入時(shí)間戳,大幅降低了消息傳輸引起的不確定時(shí)延。故無線傳感器網(wǎng)絡(luò)的時(shí)間同步誤差主要來源于初始時(shí)鐘偏移和節(jié)點(diǎn)間相對(duì)時(shí)鐘漂移。時(shí)鐘偏移表示2節(jié)點(diǎn)間同一時(shí)刻的時(shí)鐘偏差,而時(shí)鐘漂移由晶振頻率的差異而引起。在一定時(shí)間范圍內(nèi)晶振頻率恒定,F(xiàn)TSP算法針對(duì)時(shí)間同步誤差,利用線性回歸算法計(jì)算相對(duì)時(shí)鐘漂移率,進(jìn)而預(yù)測(cè)節(jié)點(diǎn)的時(shí)鐘偏差,補(bǔ)償本地時(shí)鐘,提高時(shí)間同步精度。因傳感器節(jié)點(diǎn)計(jì)算、存儲(chǔ)能力的限制,線性回歸表一般存儲(chǔ)8個(gè)參考點(diǎn),每個(gè)參考點(diǎn)由時(shí)鐘偏差和本地接收時(shí)間構(gòu)成。
在理想工作環(huán)境下,時(shí)鐘偏差與接收時(shí)間滿足線性關(guān)系,建立一元線性回歸模型:
d=skew×t+d0+εε~N(0,σ2)
(1)
式中,skew為時(shí)鐘漂移率,d為發(fā)送節(jié)點(diǎn)的發(fā)送時(shí)間戳與接收節(jié)點(diǎn)的接收時(shí)間戳之差,d0為初始的偏差,ε為服從正態(tài)分布的隨機(jī)誤差,t為接收節(jié)點(diǎn)接收到同步消息時(shí)的本地時(shí)間戳。
節(jié)點(diǎn)接收到n對(duì)時(shí)間戳數(shù)據(jù)對(duì)后以此為參考點(diǎn),建立線性回歸表。為了實(shí)現(xiàn)回歸系數(shù)skew、d0精確估計(jì),使殘差盡可能小,采用最小二乘法對(duì)殘差平方和進(jìn)行最優(yōu)求解。
其中樣本回歸直線為
(2)
殘差方程為
Q=Q(d0,skew)
(3)
(4)
為使殘差盡可能小,對(duì)殘差平方和函數(shù)求極值可得d0與skew的最優(yōu)估計(jì):
(5)
(6)
FTSP算法通過最小二乘法解算得到回歸系數(shù)skew、d0,從而獲得最優(yōu)擬合曲線對(duì)接收節(jié)點(diǎn)進(jìn)行補(bǔ)償,實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的時(shí)間同步。
FTSP算法線性回歸表的參考點(diǎn)數(shù)量有限,節(jié)點(diǎn)易受外界射頻干擾、晶振頻率波動(dòng)等因素的影響而產(chǎn)生異常同步數(shù)據(jù)。如圖2所示,若回歸表中參考點(diǎn)的時(shí)鐘偏差存在異常,進(jìn)行線性回歸分析時(shí),擬合曲線的時(shí)鐘漂移率會(huì)出現(xiàn)較大偏差。因此對(duì)本地時(shí)鐘漂移進(jìn)行補(bǔ)償時(shí),往往導(dǎo)致本地時(shí)間的過補(bǔ)償或欠補(bǔ)償,擴(kuò)大時(shí)間同步誤差。當(dāng)父節(jié)點(diǎn)的級(jí)數(shù)越小,越接近根節(jié)點(diǎn),影響越大,各級(jí)節(jié)點(diǎn)產(chǎn)生累積誤差,最終導(dǎo)致全網(wǎng)同步精度下降。因此如何剔除異常數(shù)據(jù),提高FTSP算法的同步精度和容錯(cuò)性成為亟待解決的問題。
圖2 FTSP算法異常擬合曲線
FTSP算法采用線性回歸來補(bǔ)償時(shí)間偏差,易受異常數(shù)據(jù)的干擾,導(dǎo)致時(shí)間補(bǔ)償不僅不會(huì)提高同步精度,反而引入更大的誤差。因此必須對(duì)回歸表中的數(shù)據(jù)進(jìn)行可信度的分析,剔除置信區(qū)間之外的異常數(shù)據(jù)[13],實(shí)現(xiàn)線性回歸算法的優(yōu)化。但置信區(qū)間并不能完全消除干擾環(huán)境引起的誤差,故引入隨機(jī)加權(quán)平均算法[14,15],對(duì)時(shí)鐘偏移率進(jìn)行加權(quán)平均,降低異常數(shù)據(jù)的權(quán)重,提高時(shí)間同步算法的穩(wěn)定性、容錯(cuò)性。
本算法引入?yún)?shù)估計(jì)理論,對(duì)時(shí)間同步偏差進(jìn)行參數(shù)估計(jì),設(shè)置置信區(qū)間剔除異常數(shù)據(jù)。
(7)
殘差平方和與σ2的商服從χ2分布:
(8)
將式(7)代入式(8)得:
(9)
由于εi服從正態(tài)分布,故d也服從正態(tài)分布:
d~N(d0+skew×t,σ2)
(10)
(11)
(12)
結(jié)合式(2)可得:
(13)
(14)
由χ2分布、正態(tài)分布以及t分布之間的關(guān)系可得d服從t分布:
(15)
取置信度為0.95,查表可得ta/2(n-2)為1.860,樣本個(gè)數(shù)為8,式(15)的根式約為1,由此確定時(shí)間偏差d的置信區(qū)間為
(16)
由于鋼結(jié)構(gòu)環(huán)境的干擾作用,若在持續(xù)多個(gè)同步周期中時(shí)間同步偏差位于置信區(qū)間外作為異常值被剔除,導(dǎo)致線性回歸表無法更新,進(jìn)而難以準(zhǔn)確地對(duì)時(shí)間同步誤差進(jìn)行補(bǔ)償。故針對(duì)持續(xù)較大偏差的問題,改進(jìn)算法對(duì)連續(xù)異常次數(shù)進(jìn)行統(tǒng)計(jì),若異常次數(shù)大于設(shè)定的閾值則清空線性回歸表,重新維護(hù)8對(duì)時(shí)間戳,根據(jù)參數(shù)估計(jì)自適應(yīng)更新置信區(qū)間,擬合出線性回歸曲線,對(duì)本地時(shí)鐘進(jìn)行補(bǔ)償,實(shí)現(xiàn)高精度的時(shí)間同步。
置信區(qū)間的引入消除了大部分異常數(shù)據(jù)對(duì)時(shí)間同步算法的干擾,由于σ一般大小固定,主要用于剔除固定范圍內(nèi)的異常值。無線傳感器網(wǎng)絡(luò)工作在鋼結(jié)構(gòu)環(huán)境下,干擾作用具有不確定性,若異常值較小使得同步時(shí)間偏移量位于置信區(qū)間內(nèi),從而避開了異常數(shù)據(jù)的檢測(cè)機(jī)制,但較小的偏移量誤差依然會(huì)對(duì)節(jié)點(diǎn)的時(shí)間同步造成影響。若持續(xù)以較小的誤差同步,則會(huì)形成誤差累積,最終將導(dǎo)致較大的同步誤差。
針對(duì)以上問題,本文在置信區(qū)間的基礎(chǔ)上引入了隨機(jī)加權(quán)平均,根據(jù)式(17)和(18)解算得到加權(quán)因子,動(dòng)態(tài)加權(quán)因子能夠自適應(yīng)調(diào)整以降低異常數(shù)據(jù)的權(quán)重,大大緩減了異常數(shù)據(jù)的干擾作用,提高了時(shí)間同步算法的穩(wěn)定性。
隨機(jī)加權(quán)平均需要維護(hù)具有n個(gè)時(shí)鐘漂移率的數(shù)據(jù)表,計(jì)算各時(shí)鐘漂移率的方差,解算加權(quán)因子,進(jìn)而對(duì)時(shí)鐘漂移率進(jìn)行加權(quán)平均,以提高時(shí)間同步算法的穩(wěn)定性。
(17)
時(shí)鐘漂移率的加權(quán)因子為
(18)
由此可得第m個(gè)同步周期的時(shí)鐘漂移率:
(19)
根據(jù)式(19)調(diào)整后的時(shí)鐘漂移率擬合出來的線性回歸線能夠更好地跟蹤時(shí)間同步誤差的動(dòng)態(tài)變化,很好地彌補(bǔ)了FTSP算法線性回歸易受異常數(shù)據(jù)影響而不穩(wěn)定的缺陷,解決了弱干擾情況下誤差累積問題。
基于上述內(nèi)容,置信加權(quán)的時(shí)間同步算法具體運(yùn)行機(jī)制如圖3所示。子節(jié)點(diǎn)接收到父節(jié)點(diǎn)的時(shí)間同步消息后,利用置信區(qū)間對(duì)同步消息進(jìn)行合法性判斷。若時(shí)鐘偏差在預(yù)測(cè)區(qū)間內(nèi),則將數(shù)據(jù)對(duì)作為參考點(diǎn)加入到線性回歸表,反之判定為異常數(shù)據(jù),剔除該數(shù)據(jù)。針對(duì)持續(xù)較大偏差的問題,對(duì)連續(xù)異常次數(shù)進(jìn)行統(tǒng)計(jì),若該值大于設(shè)定的閾值則清空線性回歸表,重新維護(hù)8對(duì)時(shí)間戳,更新置信區(qū)間。在獲取8對(duì)時(shí)間戳數(shù)據(jù)后,利用線性擬合計(jì)算時(shí)鐘漂移率,建立時(shí)間漂移率數(shù)據(jù)表,解算得到動(dòng)態(tài)加權(quán)系數(shù),對(duì)時(shí)鐘漂移率進(jìn)行加權(quán)修正,從而降低弱干擾情況下異常數(shù)據(jù)的權(quán)重,提高時(shí)間同步算法的穩(wěn)定性。最終根據(jù)擬合得到的最優(yōu)線性回歸曲線計(jì)算時(shí)鐘偏差來補(bǔ)償本地時(shí)鐘實(shí)現(xiàn)高精度的時(shí)間同步。
圖3 異常值檢測(cè)機(jī)制
為檢驗(yàn)改進(jìn)FTSP算法對(duì)異常時(shí)間同步數(shù)據(jù)的容錯(cuò)能力,本文在Matlab仿真環(huán)境下,針對(duì)理想狀況和異常狀況分別對(duì)FTSP算法和改進(jìn)算法進(jìn)行仿真。設(shè)置同步周期為30 s,線性回歸表的參考點(diǎn)數(shù)為8,時(shí)鐘漂移率數(shù)據(jù)表點(diǎn)數(shù)為5,對(duì)100個(gè)同步周期的時(shí)間同步誤差和時(shí)鐘漂移率進(jìn)行統(tǒng)計(jì)分析。
由圖4所示,在理想狀況下,F(xiàn)TSP算法的平均時(shí)間同步誤差為1.74 μs,方差為4.69。而改進(jìn)FTSP算法的平均時(shí)間同步誤差為1.44 μs,方差為3.37。如圖5所示,改進(jìn)FTSP算法的時(shí)鐘漂移率相對(duì)于FTSP算法的時(shí)鐘漂移率更加平滑,波動(dòng)更小。故較于原FTSP算法,改進(jìn)算法的時(shí)間同步精度更高,穩(wěn)定性更好。
圖4 理想情況下時(shí)間同步誤差對(duì)比
圖5 理想情況下時(shí)鐘漂移率對(duì)比
由以上分析可知,在理想狀況下,由于時(shí)間同步偏差位于置信區(qū)間內(nèi)時(shí),故改進(jìn)算法無需剔除異常值。而改進(jìn)算法的隨機(jī)加權(quán)平均對(duì)時(shí)鐘漂移率進(jìn)行優(yōu)化,時(shí)鐘漂移率波動(dòng)更小,使得改進(jìn)算法相較于FTSP算法具有更好的同步精度和穩(wěn)定性。
為進(jìn)一步檢驗(yàn)改進(jìn)FTSP算法對(duì)于異常值的容錯(cuò)能力,在第30、60次同步中引入異常同步數(shù)據(jù)。由圖6可知,F(xiàn)TSP算法的平均時(shí)間同步誤差為3.06 μs,方差為28.24。而改進(jìn)FTSP算法的平均時(shí)間同步誤差為1.76 μs,方差為5.0。在第30次、60次的異常同步情況下,該同步周期后續(xù)的時(shí)間同步誤差出現(xiàn)突變,其中相鄰?fù)秸`差最大為26 μs,最小為-15 μs,遠(yuǎn)大于平均同步誤差。此外如圖7所示,改進(jìn)FTSP算法相對(duì)于FTSP算法時(shí)鐘漂移率沒有出現(xiàn)跳變,更加平滑,波動(dòng)更小。故較于原FTSP算法,改進(jìn)算法的時(shí)間同步精度更高,穩(wěn)定性更好。
圖6 異常情況下時(shí)間同步誤差對(duì)比
圖7 異常情況下時(shí)鐘漂移率對(duì)比
由以上分析可知,在異常情況下,當(dāng)子節(jié)點(diǎn)接收到異常數(shù)據(jù)時(shí),改進(jìn)算法通過置信區(qū)間剔除了異常值,不進(jìn)行擬合,具有更好的抗干擾能力。而FTSP算法在異常數(shù)據(jù)的影響下,將其存儲(chǔ)到線性回歸數(shù)據(jù)表中,導(dǎo)致同步誤差擴(kuò)大,此時(shí)時(shí)鐘漂移率波動(dòng)較大,若對(duì)本地時(shí)鐘進(jìn)行補(bǔ)償,不但無法提高本地時(shí)鐘的精度反而引入了更大的誤差。
⑦地方政府確保投入。地方各級(jí)政府要將水土保持治理經(jīng)費(fèi)列入當(dāng)年年度財(cái)政預(yù)算,并隨著財(cái)政收入好轉(zhuǎn)逐步增加水土保持工作經(jīng)費(fèi)。根據(jù)規(guī)劃,每年市和縣級(jí)財(cái)政應(yīng)當(dāng)安排治理水土流失生態(tài)修復(fù)投資1 000萬元以上,確保目標(biāo)任務(wù)的全面完成。
本文以Telosb節(jié)點(diǎn)為硬件平臺(tái),TinyOS為軟件平臺(tái)進(jìn)行時(shí)間同步測(cè)試。其中Telosb節(jié)點(diǎn)采用CC2420射頻芯片、MSP430處理器,由32 kHz,40 ppm晶振提供時(shí)鐘信號(hào),因此該設(shè)備時(shí)鐘的時(shí)間粒度為30.52 μs。
為了檢驗(yàn)改進(jìn)FTSP算法對(duì)異常時(shí)間同步數(shù)據(jù)的容錯(cuò)能力,本文選取了存在晶振老化且本地時(shí)鐘波動(dòng)較大的節(jié)點(diǎn)0為系統(tǒng)時(shí)鐘源,節(jié)點(diǎn)1為子節(jié)點(diǎn)進(jìn)行時(shí)間同步誤差測(cè)試。當(dāng)時(shí)間同步偏差出現(xiàn)較大跳變時(shí),該時(shí)間偏差被改進(jìn)算法判定為異常同步數(shù)據(jù),觸發(fā)改進(jìn)算法的置信加權(quán)作用,剔除異常數(shù)據(jù),并對(duì)時(shí)鐘漂移率進(jìn)行加權(quán)優(yōu)化。針對(duì)持續(xù)較大偏差的問題,改進(jìn)FTSP算法對(duì)連續(xù)異常時(shí)間同步次數(shù)進(jìn)行統(tǒng)計(jì),若大于設(shè)定的閾值,則清空線性回歸表,重新維護(hù)8對(duì)時(shí)間戳,利用參數(shù)估計(jì)自適應(yīng)更新置信區(qū)間,擬合出新的線性回歸曲線,進(jìn)而對(duì)本地時(shí)鐘進(jìn)行補(bǔ)償。
設(shè)置查詢節(jié)點(diǎn),以30 s為查詢周期,周期性廣播查詢報(bào)文,節(jié)點(diǎn)在接收到查詢報(bào)文后,將本地時(shí)間發(fā)送至Base節(jié)點(diǎn)并在終端顯示,總共執(zhí)行100次查詢。統(tǒng)計(jì)兩節(jié)點(diǎn)時(shí)間同步誤差,如圖8所示。
圖8 時(shí)間同步誤差對(duì)比
由圖8可知,改進(jìn)算法較于原FTSP算法,節(jié)點(diǎn)間平均同步誤差由70.0 μs降至52.5 μs,方差由10.1降為5.56,表明改進(jìn)算法有效地剔除了異常數(shù)據(jù),時(shí)間同步誤差的波動(dòng)更加平緩,有效地改善了FTSP算法易受到異常數(shù)據(jù)影響而不穩(wěn)定的缺陷。
為了更好地對(duì)比分析改進(jìn)算法在提高時(shí)間同步精度和穩(wěn)定性上的作用,本文分別對(duì)FTSP算法和改進(jìn)算法進(jìn)行多跳同步誤差測(cè)試。本測(cè)試平臺(tái)由6個(gè)節(jié)點(diǎn)組成多跳網(wǎng)絡(luò),并設(shè)置查詢節(jié)點(diǎn)。
具體測(cè)試過程如下。
(2) 設(shè)置查詢節(jié)點(diǎn),以30 s為查詢周期,周期性廣播查詢報(bào)文,各節(jié)點(diǎn)在接收到查詢報(bào)文后,將本地時(shí)間發(fā)送至Base節(jié)點(diǎn)并在終端顯示。總共連續(xù)執(zhí)行100次查詢。
(3) 對(duì)各個(gè)節(jié)點(diǎn)與時(shí)鐘源的同步誤差進(jìn)行統(tǒng)計(jì)分析。
其中5跳的時(shí)間同步誤差對(duì)比如圖9所示,多跳同步誤差如表1和表2所示。
由表1、表2對(duì)比可知,隨著無線傳感器網(wǎng)絡(luò)跳數(shù)的增加,時(shí)間同步誤差逐步累積。網(wǎng)絡(luò)跳數(shù)越大,大于31 μs的時(shí)間同步誤差所占的比例越高。本文改進(jìn)的FTSP算法剔除了較大的異常同步數(shù)據(jù),相較于FTSP算法時(shí)間同步誤差更小,收斂性更好,且波動(dòng)小、穩(wěn)定性好。而且隨著跳數(shù)的增大,改進(jìn)算法的優(yōu)化作用越明顯。
文獻(xiàn)[16]提出了基于TPSN算法的冗余主時(shí)鐘同步偏差線性反饋算法(ITPSN)。其實(shí)驗(yàn)所采用節(jié)點(diǎn)的晶振頻率與本文相同,且均用于實(shí)現(xiàn)工業(yè)無線傳感器網(wǎng)絡(luò)的多跳時(shí)間同步,故以此為標(biāo)準(zhǔn)進(jìn)行時(shí)間同步誤差對(duì)比。
圖9 5跳時(shí)間同步誤差對(duì)比
表1 FTSP算法多跳同步誤差
表2 改進(jìn)算法多跳同步誤差
節(jié)點(diǎn)層次平均誤差(μs)方差誤差比例(%)0μs31μs>31μs18.30.2773.226.80213.00.5565.227.57.3318.30.8755.032.412.6423.91.1240.743.216.1523.91.1143.139.227.7
如圖10所示,隨著網(wǎng)絡(luò)跳數(shù)的增加,改進(jìn)FTSP算法較FTSP和ITPSN算法同步誤差更小,且增速更加平緩,有效地緩減了跳數(shù)對(duì)同步誤差累積的影響。在100 Hz采樣頻率下,F(xiàn)TSP算法與改進(jìn)算法的相位偏移如表3所示。
圖10 不同網(wǎng)絡(luò)跳數(shù)的同步誤差對(duì)比
綜上所述,改進(jìn)的時(shí)間同步算法在多跳網(wǎng)絡(luò)中時(shí)間同步精度有明顯的提高,穩(wěn)定性更好。在100 Hz的采樣頻率下,改進(jìn)算法第5跳節(jié)點(diǎn)相應(yīng)的頻域相位偏移為0.86°,對(duì)于鋼結(jié)構(gòu)損傷位置的判斷影響較小,完全滿足鋼結(jié)構(gòu)損傷檢測(cè)的要求。
表3 100 Hz采樣頻率下FTSP算法與改進(jìn)算法相位偏移
由于工業(yè)環(huán)境溫濕度變化大,且外界存在射頻干擾,面向鋼結(jié)構(gòu)探傷的無線傳感器網(wǎng)絡(luò)在時(shí)間同步過程中,時(shí)間同步數(shù)據(jù)容易產(chǎn)生異常值,使得FTSP算法出現(xiàn)過補(bǔ)償和欠補(bǔ)償現(xiàn)象。本文在 FTSP算法的基礎(chǔ)上,設(shè)計(jì)了一種時(shí)間同步精度高、抗干擾能力強(qiáng)的時(shí)間同步算法。利用置信區(qū)間剔除異常同步數(shù)據(jù),構(gòu)建時(shí)鐘漂移率數(shù)據(jù)表,解算動(dòng)態(tài)加權(quán)系數(shù),引入加權(quán)平均提高算法的穩(wěn)定性和容錯(cuò)性,提高擬合曲線的跟蹤精度。本文分別針對(duì)理想和異常情況,對(duì)改進(jìn)算法與FTSP算法進(jìn)行仿真分析,并進(jìn)行單跳容錯(cuò)性同步實(shí)驗(yàn),對(duì)多跳網(wǎng)絡(luò)進(jìn)行時(shí)間同步誤差測(cè)試。仿真和實(shí)驗(yàn)結(jié)果表明,本文提出的基于置信加權(quán)的時(shí)間同步算法較傳統(tǒng)的FTSP算法具有更高的時(shí)間同步精度,對(duì)于異常數(shù)據(jù)有更好的容錯(cuò)性、穩(wěn)定性,更適用于存在異常值的無線傳感器網(wǎng)絡(luò),能夠很好地滿足鋼結(jié)構(gòu)損傷檢測(cè)對(duì)于時(shí)間同步的要求。