無(wú)線傳感網(wǎng)絡(luò)時(shí)間同步研究進(jìn)展與分析
1.2.2 RBS算法分析
RBS算法是基于接收者一接收者的同步算法。首先參考節(jié)點(diǎn)廣播一個(gè)參考分組,當(dāng)同步節(jié)點(diǎn)A收到這個(gè)分組,記下自己的本地時(shí)鐘為T(mén)21,當(dāng)同步節(jié)點(diǎn)B收到這個(gè)分組時(shí),也記下自己的本地時(shí)鐘為T(mén)22,然后同步節(jié)點(diǎn)A與同步節(jié)點(diǎn)B交換本地時(shí)鐘T21與T22,這時(shí)其中一個(gè)節(jié)點(diǎn)只要根據(jù)時(shí)間差值m=T21-T22,修改自己的時(shí)鐘就能達(dá)到與另一個(gè)節(jié)點(diǎn)之間的同步。在多跳網(wǎng)絡(luò)中,RBS算法采用多次廣播同步消息,接收節(jié)點(diǎn)根據(jù)接收到同步消息的平均值,同時(shí)采用最小平方線性回歸方法進(jìn)行線性擬合以減小同步誤差。
1.2.3 DMTS算法分析
DMTS算法是基于發(fā)送者一接收者的單向時(shí)間同步算法。當(dāng)發(fā)送節(jié)點(diǎn)在檢測(cè)到通道空閑時(shí),給廣播分組加上時(shí)間戳t0,從而排除了發(fā)送節(jié)點(diǎn)的處理延遲與MAC層的訪問(wèn)延遲。并假設(shè)發(fā)送報(bào)文的長(zhǎng)度為NA個(gè)比特(包括前導(dǎo)碼與同步字),傳送每個(gè)比特的時(shí)間為t,而接收者在接收完同步字后,記錄下此時(shí)的本地時(shí)間為t1,并在調(diào)整自己的本地時(shí)間記錄之前記錄下此時(shí)的時(shí)刻t2,這時(shí)接收節(jié)點(diǎn)為了與發(fā)送節(jié)點(diǎn)達(dá)到時(shí)間上的同步,可以調(diào)整接收節(jié)點(diǎn)的時(shí)間改為t0+t·NA+(t2-t1)。
從參考文獻(xiàn)中,可以看出,文章作者在加州大學(xué)伯克利分校的Mica節(jié)點(diǎn)上測(cè)試過(guò),TPSN平均單跳誤差為17.61μs,DMTS平均單跳誤差為30μs,RBS平均單跳誤差為6.29μs,TPSN平均4跳誤差為21.43μs,DMTS平均單跳誤差為151μs,RBS平均4跳誤差為9.97μS。
1.2.4 其他算法分析
LTS協(xié)議是基于發(fā)送~接收同步機(jī)制發(fā)展而來(lái),提出了集中式和分布式LTS多跳時(shí)間同步算法。LTS協(xié)議首先把網(wǎng)絡(luò)組成廣度優(yōu)先生成樹(shù)拓?fù)浣Y(jié)構(gòu),并沿著樹(shù)的每條邊進(jìn)行單跳成對(duì)同步。參考節(jié)點(diǎn)的子節(jié)點(diǎn)同步完成后,又以該節(jié)點(diǎn)為參考節(jié)點(diǎn),采用同樣方式繼續(xù)同步下去,直到同步完成。
單跳成對(duì)同步采用TPSN同步方法。成對(duì)同步的次數(shù)是邊數(shù)的線性函數(shù)。Hui Dui等人提出來(lái)的HRTS利用了廣播的特性,只需要一次同步過(guò)程可以完成一個(gè)單跳組網(wǎng)所有節(jié)點(diǎn)的同步,進(jìn)一步降低了LTS協(xié)議的功耗。HRTS算法不再采用廣度優(yōu)先生成樹(shù)的邊,采用的是廣度優(yōu)先生成樹(shù)非葉子節(jié)點(diǎn)個(gè)數(shù)的線性函數(shù)。相較于LTS協(xié)議,HRTS算法以犧牲一定的精確來(lái)降低了整個(gè)網(wǎng)絡(luò)的功耗。
BTS同步方法類似于HRTS算法,也是先建立廣度優(yōu)先成生樹(shù)拓?fù)浣Y(jié)構(gòu),只不過(guò)BTS采用的是時(shí)間轉(zhuǎn)換技術(shù),以達(dá)到整個(gè)網(wǎng)絡(luò)的時(shí)間同步,而HRTS直接對(duì)同步節(jié)點(diǎn)的本地時(shí)間進(jìn)行修改,得到全網(wǎng)的同步,同步報(bào)文個(gè)數(shù)降為HRTS協(xié)議的2/3。
PBS同步算法的思想是參考節(jié)點(diǎn)與簇首節(jié)點(diǎn)之間采用雙向同步方法,與TPSN相似,其他節(jié)點(diǎn)(在兩個(gè)節(jié)點(diǎn)的通信范圍內(nèi))可以偵聽(tīng)到同步消息,就可以根據(jù)接收者一接收者同步方法同步。類似于RBS同步,PBS同步的前提是每個(gè)同步節(jié)點(diǎn)必須在簇首節(jié)點(diǎn)的通信范圍之內(nèi)。
ETSP算法主要采用的是設(shè)置門(mén)檻值N來(lái)選擇同步算法,當(dāng)父節(jié)點(diǎn)的子節(jié)點(diǎn)小于或等于N時(shí),采用接收-接收(RBS)同步模式,否則采用發(fā)送-接收(TPSN)同步模式。N值的選擇采用來(lái)計(jì)算,式中m=Rx/Tx,Rx為節(jié)點(diǎn)的接收次數(shù),Tx為傳播次數(shù)。
FTSP同步算法精度高的原因是,發(fā)送者在發(fā)送一個(gè)同步請(qǐng)求報(bào)文時(shí)連續(xù)標(biāo)記了多個(gè)時(shí)間戳,接收者可以根據(jù)這幾個(gè)中斷時(shí)間計(jì)算出更精確的時(shí)間偏差。
1.2.5 協(xié)作同步技術(shù)
以上同步機(jī)制,無(wú)論怎樣改進(jìn)都是基于單跳同步基制,最近有人提出了協(xié)作同步技術(shù),不再單純地從單跳同步機(jī)制上進(jìn)行改進(jìn),而是通過(guò)信號(hào)疊加原理,使同步基準(zhǔn)節(jié)點(diǎn)能夠把同步消息直接發(fā)送到遠(yuǎn)方待同步的節(jié)點(diǎn),使遠(yuǎn)方節(jié)點(diǎn)直接與基準(zhǔn)節(jié)點(diǎn)同步,消除了同步誤差單跳累加的結(jié)果。Hu A等人針對(duì)節(jié)點(diǎn)密度較高的網(wǎng)絡(luò)提出了一種協(xié)作同步算法,基本思想是參考節(jié)點(diǎn)根據(jù)同步周期發(fā)出m個(gè)同步脈沖,其一跳鄰居節(jié)點(diǎn)收到這個(gè)消息后保存起來(lái),并根據(jù)最近的m個(gè)脈沖的發(fā)送時(shí)刻計(jì)算出參考節(jié)點(diǎn)的第m+1個(gè)同步消息發(fā)出的時(shí)間,并在計(jì)算出來(lái)的時(shí)刻同步與參考節(jié)點(diǎn)同時(shí)發(fā)送第m+1個(gè)同步消息。由于信號(hào)疊加,因此同步脈沖可以發(fā)送到更遠(yuǎn)的節(jié)點(diǎn),當(dāng)然前提是網(wǎng)絡(luò)中節(jié)點(diǎn)密度較高的情況。A.Kr-ohn等人提出了在物理層上面實(shí)現(xiàn)協(xié)作同步,只需要本地消息,避免了額外的消息同步交換開(kāi)銷。參考文獻(xiàn)證實(shí)了協(xié)作同步誤差的方差與節(jié)點(diǎn)密度呈反比關(guān)系。因此節(jié)點(diǎn)密度越高同步誤差也會(huì)越小。
2 時(shí)間同步算法誤差分析與比較
根據(jù)節(jié)點(diǎn)消息傳輸過(guò)程可以得到式(1)與式(2):
在式(1)、(2)中,t1、t2是由標(biāo)準(zhǔn)時(shí)鐘所確定的,表示UTC時(shí)間。T1、T2分別是t1、t2所對(duì)應(yīng)的本地節(jié)點(diǎn)所測(cè)出的本地時(shí)間。SA代表節(jié)點(diǎn)A的報(bào)文發(fā)送時(shí)問(wèn),AA是發(fā)送報(bào)文的訪問(wèn)時(shí)間,TA→B是A節(jié)點(diǎn)按比特傳輸報(bào)文與B節(jié)點(diǎn)按比特接收?qǐng)?bào)文所需要的時(shí)間,PA→B是節(jié)點(diǎn)A傳播到節(jié)點(diǎn)B的時(shí)間。RB是節(jié)點(diǎn)B的報(bào)文接收處理過(guò)程時(shí)間。TN是傳輸NA個(gè)比特的總時(shí)間。Terror指?jìng)鬏敱忍氐恼`差,Rerror打時(shí)標(biāo)過(guò)程存在的誤差。代表節(jié)點(diǎn)A與節(jié)點(diǎn)B在t1時(shí)刻的時(shí)偏。
評(píng)論