簡論無線傳感網絡時間同步的問題
1.2.1 TPSN算法分析
TPSN算法采用的是層次型的網絡結構,是基于發送者-接收者的雙向同步算法。分成兩個階段,第一階段為層次發現階段,第二階段為同步階段。T1、T4用來記錄同步節點的本地時間,T2、T3用來記錄參考節點的本地時間。同步節點A在T1時刻向參考節點B發送一個同步請求報文,報文中包含了同步節點的級別和T1。當參考節點B收到報文后,記錄下接收時刻T2,并立即向同步節點A回復一個同步應答報文,該報文中包含了參考節點B的級別和T1、T2及回復時刻T3。同步節點A收到參考節點的回復后,記下時刻T4。假設來回報文的傳輸延遲相同都為d,且m為同步節點在T1時刻兩者之間的時偏,且設來回時偏相同,由T2=T1+m+d,T4=T3-m+d可得到:
則在T4時刻,若在同步節點A的本地時間增加修正量m,就能達到同步節點A與參考節點B之間的同步。
1.2.2 RBS算法分析
RBS算法是基于接收者-接收者的同步算法。首先參考節點廣播一個參考分組,當同步節點A收到這個分組,記下自己的本地時鐘為T21,當同步節點B收到這個分組時,也記下自己的本地時鐘為T22,然后同步節點A與同步節點B交換本地時鐘T21與T22,這時其中一個節點只要根據時間差值m=T21-T22,修改自己的時鐘就能達到與另一個節點之間的同步。在多跳網絡中,RBS算法采用多次廣播同步消息,接收節點根據接收到同步消息的平均值,同時采用最小平方線性回歸方法進行線性擬合以減小同步誤差。
1.2.3 DMTS算法分析
DMTS算法是基于發送者-接收者的單向時間同步算法。當發送節點在檢測到通道空閑時,給廣播分組加上時間戳t0,從而排除了發送節點的處理延遲與MAC層的訪問延遲。并假設發送報文的長度為NA個比特(包括前導碼與同步字),傳送每個比特的時間為t,而接收者在接收完同步字后,記錄下此時的本地時間為t1,并在調整自己的本地時間記錄之前記錄下此時的時刻t2,這時接收節點為了與發送節點達到時間上的同步,可以調整接收節點的時間改為t0+t·NA+(t2-t1)。
可以看出,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協議是基于發送-接收同步機制發展而來,提出了集中式和分布式LTS多跳時間同步算法。LTS協議首先把網絡組成廣度優先生成樹拓撲結構,并沿著樹的每條邊進行單跳成對同步。參考節點的子節點同步完成后,又以該節點為參考節點,采用同樣方式繼續同步下去,直到同步完成。
單跳成對同步采用TPSN同步方法。成對同步的次數是邊數的線性函數。Hui Dui等人提出來的HRTS 利用了廣播的特性,只需要一次同步過程可以完成一個單跳組網所有節點的同步,進一步降低了LTS協議的功耗。HRTS算法不再采用廣度優先生成樹的邊,采用的是廣度優先生成樹非葉子節點個數的線性函數。相較于LTS協議,HRTS算法以犧牲一定的精確來降低了整個網絡的功耗。
BTS同步方法類似于HRTS算法,也是先建立廣度優先成生樹拓撲結構,只不過BTS采用的是時間轉換技術,以達到整個網絡的時間同步,而HRTS直接對同步節點的本地時間進行修改,得到全網的同步,同步報文個數降為HRTS協議的2/3。
PBS同步算法的思想是參考節點與簇首節點之間采用雙向同步方法,與TPSN相似,其他節點(在兩個節點的通信范圍內)可以偵聽到同步消息,就可以根據接收者-接收者同步方法同步。類似于RBS同步,PBS同步的前提是每個同步節點必須在簇首節點的通信范圍之內。
ETSP算法主要采用的是設置門檻值N來選擇同步算法,當父節點的子節點小于或等于N時,采用接收-接收(RBS)同步模式,否則采用發送-接收(TPSN)同步模式。N值的選擇采用N2-3N-2m=0來計算,式中m=RxTx,Rx為節點的接收次數,Tx為傳播次數。
FTSP同步算法精度高的原因是,發送者在發送一個同步請求報文時連續標記了多個時間戳,接收者可以根據這幾個中斷時間計算出更精確的時間偏差。
評論