簡論無線傳感網絡時間同步的問題
引言
想要在無線傳感網絡中很好地保證數據傳輸的可靠性,非常重要的一點就是保持節點之間時間上的同步。目前因特網上采用時間同步協議標準是NTP協議,采用有線傳輸,不適合用于功耗、成本受限制的無線傳感網絡中。GPS系統也可以提供高精度的時間同步,但它的信號穿透性差,GPS天線
天線
天線的基本功能是輻射和接收無線電波。發射時,把高頻電流轉換為電磁波;接收時,把電磁波轉換為高頻電流。天線的一般原理是:當導體上通以高頻電流時,在其周圍空間會產生電場與磁場。按電磁場在空間的分布特性,可分為近區、中間區、遠區。設R為空間一點到導體的距離,是高頻電流信號的波長,在R<λ/2π時的區域稱近區,在該區內的電磁場與導體中電流、電壓有緊密的聯系;在R>A/2π的區域稱為遠區,在該區域內電磁場能離開導體向空間傳播,它的變化相對于導體上的電流、電壓就要滯后一段時間,此時傳播出去的電磁波已不與導線上的電流、電壓有直接的聯系了,這區域的電磁場稱為輻射場。 [全文]
必須安裝在空曠的地方,功耗也較大,所以不適合無線傳感網絡。
ElsON等人2002年首次提出無線傳感器
傳感器
凡是利用一定的物性(物理、化學、生物)法則、定理、定律、效應等把物理量或化學量轉變成便于利用的電信號的器件。傳感器是測量系統中的一種前置部件,它將輸入變量轉換成可供測量的信號”。按照Gopel等的說法是:“傳感器是包括承載體和電路連接的敏感元件”,而“傳感器系統則是組合有某種信息處理(模擬或數字)能力的系統”。傳感器是傳感系統的一個組成部分,它是被測量信號輸入的第一道關口。 [全文]
網絡時間同步的研究課題以來,已有相當多的典型時間同步算法,主要可以分為以下幾類:基于發送者-接收者的雙向同步算法,典型算法如TPSN算法;基于發送者-接收者的單向時間同步算法,典型算法如FTSP算法、DMTS算法;基于接收者-接收者的同步算法,典型算法有RBS算法。
近年來根據以上幾種典型同步算法,還有人提出了分簇式的層次型拓撲結構算法,以及結合生成樹等來提高整個網絡的性能,如LTS算法、CHTS算法、CRIT算法、PBS算法、 HRTS 算法、BTS算法、ETSP算法等。
然而,無論以上同步算法怎樣發展,精度如何提高,整個網絡功耗怎樣降低,都是基于單跳時間同步機制。隨著無線傳感網絡的運用與發展,傳感節點體積不斷縮小,單跳距離變小,整體網絡規模變大,同步誤差的累積現象必將越來越嚴重。目前也有比較新的同步算法,試圖盡量避[FS:PAGE]開單跳累加來解決這些問題,如協作同步。
1 時間同步
1.1 時間同步不確定性的影響因素
時間同步不確定性的主要的影響因素如圖1所示。

圖1 報文傳輸延遲
發送時間:發送方用于構造分組并將分組轉交給發送方的MAC層的時間。主要取決于時間同步程序的操作系統調用時間和處理器負載等。
訪問時間:分組到達MAC層后,獲取信道發送權的時間。主要取決于共享信道的競爭、當前的負載等。
傳送時間:發送分組的時間,主要取決于報文的長度等。
傳播時間:分組離開發送方后,并將分組傳輸到接收方之間的無線傳輸時間。主要取決于傳輸介質、傳輸距離等。
接收時間:接收端接收到分組,并將分組傳送到MAC層所需的時間。
接受時間:處理接收到分組的時間。主要受到操作系統的影響。
1.2 典型時間同步算法分析
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算法是基于發送者-接收者的單向時間同步算法。當發送節點在檢測到通道空閑時,給廣播分組加上時[FS:PAGE]間戳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同步算法精度高的原因是,發送者在發送一個同步請求報文時連續標記了多個時間戳,接收者可以根據這幾個中斷時間計算出更精確的時間偏差。
1.2.5 協作同步技術
以上同步機制,無論怎樣改進都是基于單跳同步基制,最近[FS:PAGE]有人提出了協作同步技術,不再單純地從單跳同步機制上進行改進,而是通過信號疊加原理,使同步基準節點能夠把同步消息直接發送到遠方待同步的節點,使遠方節點直接與基準節點同步,消除了同步誤差單跳累加的結果。Hu A等人針對節點密度較高的網絡提出了一種協作同步算法,基本思想是參考節點根據同步周期發出m個同步脈沖,其一跳鄰居節點收到這個消息后保存起來,并根據最近的m個脈沖的發送時刻計算出參考節點的第m+1個同步消息發出的時間,并在計算出來的時刻同步與參考節點同時發送第m+1個同步消息。由于信號疊加,因此同步脈沖可以發送到更遠的節點,當然前提是網絡中節點密度較高的情況。A.Krohn等人提出了在物理層
物理層
物理層是TCP/IP 網絡模型的第一層,它雖然處于最底層,卻是整個通信系統的基礎, 正如高速公路和街道是汽車通行的基礎一樣。理層為設備之間的數據通信提供傳輸媒體及 互連設備,為數據傳輸提供可靠的環境。
上面實現協作同步,只需要本地消息,避免了額外的消息同步交換開銷。因此節點密度越高同步誤差也會越小。
2 時間同步算法誤差分析與比較
根據節點消息傳輸過程可以得到式(1)與式(2):

在式(1)、(2)中,t1、t2是由標準時鐘所確定的,表示UTC時間。T1、T2分別是t1、t2所對應的本地節點所測出的本地時間。SA代表節點A的報文發送時間,AA是發送報文的訪問時間,TA→B是A節點按比特傳輸報文與B節點按比特接收報文所需要的時間,PA→B是節點A傳播到節點B的時間。RB是節點B的報文接收處理過程時間。TNA是傳輸NA個比特的總時間。terror指傳輸比特的誤差,Rerror打時標過程存在的誤差。DA→Bt1代表節點A與節點B在t1時刻的時偏。
對于TPSN算法,因為在MAC采用了加時間戳方法,因此消除了發送時間與訪問時間對誤差的影響。因此對TPSN算法式(1)、(2)就可以簡寫為式(3)、(4):


式中DA→Bt1=DA→Bt4+RDA→Bt1→t4。
同理可以得到T4,如下所示:

由以上各式可以得到時偏:

RDA→Bt1→t4代表從t1到t4時段內,節點A相對于節點B增加的時偏。DA→Bt4是t4時刻節點A與節點B之間的時偏。則可以算出TPSN的同步誤差:

式中SUC=SA-SB,PUC=PA→B-PB→A,RUC=RB-RA。
對于DMTS算法,發送節點A在T0時刻檢測到空閑,接收節點B在報文到達時刻給報文加上時間戳T1,并在調整自己的本地時間記錄之前記錄下此時的時刻為T2,在T3時間完成調整。則可以得到:

式中DA→Bt0[FS:PAGE]=DA→Bt3+RDA→Bt0→t3。
由TmA→B+RB=n·t+Terror+Rerror+(T2-T1),其中n是前導碼的長度,可以得到DMTS的時偏:

DMTS的誤差為:

對于RBS同步算法,可以得到:

則由式(8)與式(9)可以得到節點B的時偏m1為:

則可以得到節點B的同步誤差為:

從式(7)中可以看出,TPSN同步精度高的原因是在MAC層采用打時標方式消除了發送時間與訪問時間的影響,并在消息雙方向交換時消除了傳播時間的影響。缺點是點到點之間的同步,每次只能一對節點進行時間同步,同步一次需要發送2個消息,接收2個消息,功耗較大。從式(10)可以看出DMTS同步誤差較大的原因是單播傳播,沒辦法消除Terror 與Rerror的影響,但DMTS同步一次只要消耗1個發送消息,1個接收消息,功耗較低。至于FTSP同步算法比DMTS高的原因是,發送者在發送一個同步請求報文時連續標記了多個時間戳,接收者可以根據這幾個中斷時間,計算出更精確的時間偏差。可以看出,RBS完全消除了發送方的影響,只是同步一次消耗3個發送消息,4個接收消息,功耗較大。而對于HRTS與PBS算法,都是其于以上算法進行融合運用,在簇首節點與子網節點選擇上作了較大的改進,以降低整個網絡的功耗。
3 總結與展望
從以上同步算法的誤差分析比對中可以看出,每種算法都有各自的優缺點,都適合不同的無線傳感網絡。精度高,相對功耗也較大。對特定的無線傳感網絡,選擇同步算法時應該折中考慮精度與功耗。從整體上看,近年來有關時間同步算法的研究,大部分都是基于以往典型的單跳同步算法原理,進一步從整體網絡中考慮誤差與功耗,結合最優生成樹、分簇路由算法等,以平均整個網絡的功耗,降低節點傳輸的跳數,提高同步的精度。協作同步算法側重于提高整個網絡的可擴展性與健壯性,但要求節點具有相同的同步脈沖,比較困難,目前還需要進一步的發展驗證,也是未來可能很好的發展方向。
相關文章
ZigBee IP協定強化互通性 智能能源傳感網絡更可靠
過去15年來,科技公司不斷探索為無線感測器網路和其他須要利用網際網路的可連接設備開發使用網際網路協定(IP)的軟體解決方案。
面向無線傳感網絡的構件化開發方法
隨著移動技術和互聯網技術的飛速發展,移動網絡將是下一代網絡發展的大趨勢。而移動網絡的重要子網之一無線傳感器網絡能夠大大擴展互聯網的觸角。
物聯網:“無處不在的”傳感網絡
2011年5月18日訊,隨著浦東軟件平臺的校企交流活動不斷深入,5月11日上海農林職業技術學院的50名同學來到上海浦東軟件平臺有限公司進行參觀學習。