廖丁毅 曾維卓
【摘要】由于價格、體積和能耗的約束,傳統(tǒng)的NTP和GPS時間同步機制在無線傳感器網(wǎng)絡(luò)中的應(yīng)用有很多限制,而時間同步是傳感器節(jié)點進行數(shù)據(jù)采集、目標定位和跟蹤的保證,本文研究了一種可用于運動節(jié)點的RTT時間同步機制,仿真分析表明網(wǎng)絡(luò)時間同步精度優(yōu)于50ns。
【關(guān)鍵詞】無線傳感器網(wǎng)絡(luò);時間同步;
NTP、PTP(IEEE 1588v2)等時間同步方式能達到精確的時間同步,但這些同步協(xié)議都是建立在以太網(wǎng)上的,如何推進在無線網(wǎng)絡(luò)上進行時間同步的應(yīng)用是后續(xù)需要努力的方向;GPS授時能夠在無線環(huán)境下應(yīng)用,但其成本高、能耗高以及低適應(yīng)力等不足限制了其在無線傳感器網(wǎng)絡(luò)中的應(yīng)用。
無線傳感器網(wǎng)絡(luò)是一種分布式網(wǎng)絡(luò)系統(tǒng),且不需要底層網(wǎng)絡(luò)設(shè)備的支持,網(wǎng)絡(luò)中的節(jié)點彼此合作完成通信過程。無線傳感器網(wǎng)絡(luò)具有:能量有限、性能有限、通信帶寬有限和網(wǎng)絡(luò)結(jié)構(gòu)動態(tài)變化等特點,無線傳感器網(wǎng)絡(luò)的時間同步機制在設(shè)計上需要考慮信道占用率和算法復(fù)雜度,設(shè)計適應(yīng)無線傳感器網(wǎng)絡(luò)的時間同步機制有重要的現(xiàn)實意義。
1. 無線網(wǎng)絡(luò)時間同步方案
時間同步方案是通過硬件和軟件將網(wǎng)絡(luò)從節(jié)點的時鐘與主節(jié)點時鐘設(shè)備的時鐘實現(xiàn)同步,使得分布式網(wǎng)絡(luò)內(nèi)的各層子節(jié)點與頂層主節(jié)點同步。
時間戳設(shè)計:時間戳是指數(shù)據(jù)發(fā)送或到達本機時刻的一個標志,時間同步是通過主、從節(jié)點交換時間戳信息達到同步的目的,時間戳偵測可以在應(yīng)用層、協(xié)議層或物理層實現(xiàn), 應(yīng)用層、協(xié)議層屬于軟件層面,偵測精度受到處理器運行速度、任務(wù)調(diào)度等環(huán)境影響,精度不高。要實現(xiàn)高精度的時間同步,需要高精度的時間戳,時間戳的偵測點越靠近物理層,其所測量的時間戳越精確,本方案采用硬件時間戳來保證時間測量精度。(見圖1)
點對點時間同步流程:(見圖2)
步驟1:主節(jié)點在T1時刻發(fā)送一個包給從節(jié)點,并在記錄發(fā)送時間戳(T1),時間戳同時被放入到發(fā)送的數(shù)據(jù)幀中。
步驟2:從節(jié)點接收到主節(jié)點發(fā)送的數(shù)據(jù)幀,并記錄接收時間戳(T2),并從數(shù)據(jù)幀中解出T1,并記錄。
步驟3:從節(jié)點在T3時刻發(fā)送一個回復(fù)數(shù)據(jù)幀給主節(jié)點,并記錄發(fā)送時間戳(T3),時間戳同時被放入到發(fā)送的數(shù)據(jù)幀中。
步驟4:主節(jié)點接收到數(shù)據(jù)幀,并記錄接收時間戳(T4)。
步驟5:主節(jié)點根據(jù)時間戳T1,T2,T3,T4來計算時間偏差(Offset)與傳輸延時R(假設(shè)往返傳輸延時相同):
(2-1)
聯(lián)立(2-1)兩式,可得:
(2-2)
步驟6:主節(jié)點在T5時刻發(fā)送計算結(jié)果數(shù)據(jù)幀(包含計算結(jié)果時間偏差)。
步驟7:從節(jié)點在T6時刻接收到結(jié)果數(shù)據(jù)幀,解出時間偏差值,并根據(jù)該值進行時鐘調(diào)整,完成同步。
相對運行速度估計及補償:
為了適應(yīng)運動環(huán)境及進行高精度相對定位,需開展積分多普勒的觀測,本方案在發(fā)送數(shù)據(jù)時,同時發(fā)射兩個載波頻率f1、f2。
對于載頻f1、f2由積分多普勒值得到的多普勒頻偏分別為、,則有:
(2-3)
(2-4)
公式中為接收機與發(fā)射機晶振之間的頻差;,為載波f1、f2的多普勒頻移;為接收機和發(fā)射機的相對運動速度。從而求出接收機和發(fā)射機晶振的之間的頻差并且進行補償,得到真實的多普勒頻移:
(2-5)
(2-6)
(2-7)
多節(jié)點時間同步流程:
多跳式網(wǎng)絡(luò)時間同步拓撲圖如圖3所示,網(wǎng)絡(luò)中心位置紅色的節(jié)點是Sink節(jié)點,是具有高精度的時鐘源或已與外部高精度時鐘同步的節(jié)點,藍色的節(jié)點為待同步節(jié)點。
時間同步首先要建立時鐘樹。首先以Sink節(jié)點為頂層節(jié)點,層次樹編號0,Sink節(jié)點廣播一個建立時間同步樹指令的初始化的數(shù)據(jù)幀,包含本節(jié)點的編號,層次樹編號和發(fā)送時間。附近的節(jié)點接收數(shù)據(jù)幀以后,將收到的數(shù)據(jù)幀中層次最低的節(jié)點作為其父節(jié)點,之后等待一個預(yù)先定義的時間T,再向附近節(jié)點廣播建立本節(jié)點的時間樹指令的數(shù)據(jù)幀,同樣也包含本節(jié)點的節(jié)點編號、層次樹信息。重復(fù)上述過程,直到網(wǎng)絡(luò)內(nèi)所有節(jié)點的父節(jié)點和層次樹都得到確定。
網(wǎng)絡(luò)同步采用TDD模式。假設(shè)Sink節(jié)點下級有2個子節(jié)點,在第一個時隙Sink點攜帶自己的時間戳信息發(fā)送廣播幀給2個子節(jié)點。在第二個時隙子節(jié)點1回復(fù)一個數(shù)據(jù)幀。在第三個時隙子節(jié)點2也回復(fù)一個數(shù)據(jù)幀。然后在第四個時隙Sink節(jié)點計算出2個子節(jié)點與自己偏差,并偏差放入數(shù)據(jù)幀中廣播給2個子節(jié)點。兩個子節(jié)點收到數(shù)據(jù)幀得到自己的偏差并做時鐘調(diào)整,完成與父節(jié)的同步。之后兩個子節(jié)點再向下一層的節(jié)點進行同步。
2. 誤差分析
本文采用OPNET軟件的仿真平臺進行分析。跳數(shù)對同步精度的影響如圖4所示:
從仿真結(jié)果可以得出,當網(wǎng)絡(luò)跳數(shù)為8跳時,網(wǎng)絡(luò)同步后時間偏移的誤差大約40ns。
3. 結(jié)束語
本文分析了一種用于無線傳感器網(wǎng)絡(luò)的時間同步機制,仿真表明當網(wǎng)絡(luò)跳數(shù)為8跳時,網(wǎng)絡(luò)同步誤差優(yōu)于50ns,在工程上有一定的參考價值。
參考文獻:
[1] CHEN D,NIXON M,MOK A.WirelessHART: Real-Time ?Mesh ?Network ?for ?Industrial Automation[M]. Springer Publishing Company, Incorporated, 2010.
[2] GIUSTINA D D,F(xiàn)ERRARI P,F(xiàn)LAMMINI A, et al.Experimental Characterization of Time Synchronization over A Heterogeneous Network for Smart Grids [C].2013 IEEE International [3] ELSON J,R?MER K.Wireless Sensor Networks: A New Regime for Time Synchronization [J].ACM ?SIGCOMM ?Computer ?Communication ?Review, 2003, 33(1): 149-154.
[4] 汪付強.面向工業(yè)應(yīng)用的無線傳感器網(wǎng)絡(luò)時間同步算法研究[D].遼寧:中國科學(xué)院沈陽自動化研究所,2011.
作者簡介:廖丁毅(1983-),男,廣州海格通信集團股份有限公司工程師,研究方向:衛(wèi)星導(dǎo)航與時頻技術(shù)。曾維卓(1992-),男,廣州精天信息科技股份有限公司助理工程師,研究方向:為北斗導(dǎo)航與通信技術(shù)。