專利名稱:基于誤差統(tǒng)計的無線傳感器網(wǎng)絡(luò)時間同步方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在無線傳感器網(wǎng)絡(luò)中的時間同步技術(shù),尤其是一種基于誤差統(tǒng)計的無線傳感器網(wǎng)絡(luò)時間同步方法及裝置。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)是由大量傳感器節(jié)點以自組織方式構(gòu)成的多跳無線網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)同地感知、采集、處理和傳輸網(wǎng)絡(luò)覆蓋區(qū)域內(nèi)感知對象的監(jiān)測信息,并報告給用戶。無線傳感器網(wǎng)絡(luò)融合了傳感技術(shù)、嵌入式技術(shù)、無線網(wǎng)絡(luò)技術(shù)、分布式智能信息處理等技術(shù),具有規(guī)模大、成本低、組網(wǎng)靈活等特點,已經(jīng)廣泛應用于軍事、科研、工業(yè)監(jiān)控、醫(yī)療等領(lǐng)域。
時間同步是無線傳感器網(wǎng)絡(luò)的基本功能之一,對于提高無線傳感器網(wǎng)絡(luò)的整體性能具有重要意義。如在目標跟蹤系統(tǒng)中,多個傳感器節(jié)點協(xié)同工作來完成對目標運動速度和運動軌跡的監(jiān)測,這需要節(jié)點之間保持時間的一致,通過交換各自的監(jiān)測信息,根據(jù)信息中的時間先后關(guān)系,來對目標的運動速度、方向和軌跡等進行計算。例如,在停車場車位管理系統(tǒng)中,無線傳感器網(wǎng)絡(luò)作為數(shù)據(jù)收集型網(wǎng)絡(luò),傳感器節(jié)點需要定期地采集數(shù)據(jù),并傳送給匯聚節(jié)點進行處理,傳感器節(jié)點需要保持時間的一致性,才能保證所有節(jié)點同時對數(shù)據(jù)進行采集。
在已知的現(xiàn)有技術(shù)中,無線傳感器網(wǎng)絡(luò)中的時間同步方法主要包括RBS(ReferenceBroadcast Synchronization)參考廣播同步方法,DMTS(Delay Measurement TimeSynchronization)延遲測量時間同步方法和TPSN(Timing-sync Protocol for SensorNetworks)時間同步方法。這幾種方法都從不同的角度入手,通過減少消息傳播關(guān)鍵路徑上的傳播延遲引入的誤差來提高時間同步精度,具有各自的優(yōu)缺點。RBS時間同步方法中雖然消除了發(fā)送端傳播延遲引入的同步誤差,提高了同步精度,但是這種方法只適用于小規(guī)模的網(wǎng)絡(luò),擴展性差,交換消息數(shù)量多;DMTS時間同步方法復雜度低,容易擴展到大規(guī)模的網(wǎng)絡(luò),但對消息傳播延遲的補償是一個固定值,不能適應網(wǎng)絡(luò)部署情況的變動,同步精度相對較低;TPSN時間同步方法將NTP時間同步方法引入到無線傳感器網(wǎng)絡(luò)中,取得了比較好的精度,但是同步過程復雜度相對較大,交換的消息數(shù)量多,收斂速度慢。具體而言,上述方法對傳播延遲引入的誤差的估計,不能實際反映出網(wǎng)絡(luò)的整體延遲情況。
發(fā)明內(nèi)容
針對以上問題,本發(fā)明的目的在于提供一種基于誤差統(tǒng)計的無線傳感器網(wǎng)絡(luò)時間同步方法(An Error Statistic Based Time Synchronization Protocol),簡稱ESTS,以及用于實現(xiàn)該方法的裝置。
基于誤差統(tǒng)計的無線傳感器網(wǎng)絡(luò)時間同步方法中,通過動態(tài)均勻地抽取網(wǎng)絡(luò)邊緣節(jié)點作為延遲統(tǒng)計節(jié)點,對同步過程中消息的傳播延遲進行實際測量,客觀地反映了網(wǎng)絡(luò)實際的部署情況和傳播延遲,并通過洪泛過程對由此而引起的同步誤差進行補償。這種方法具有良好的自適應性、可擴展性和較高的同步精度,在同步精度和能量消耗之間取得了很好的折中。
基于誤差統(tǒng)計的無線傳感器網(wǎng)絡(luò)時間同步方法包括以下步驟1)利用同步命令消息的洪泛過程在短時間內(nèi)達到網(wǎng)絡(luò)低精度時間同步,同時建立網(wǎng)絡(luò)樹狀層次結(jié)構(gòu);2)利用洪泛消息傳播的單向性,根據(jù)網(wǎng)絡(luò)的實際部署情況,動態(tài)均勻地選取部分網(wǎng)絡(luò)邊緣節(jié)點作為延遲統(tǒng)計節(jié)點;3)延遲統(tǒng)計節(jié)點利用網(wǎng)絡(luò)樹狀層次結(jié)構(gòu),通過向匯聚節(jié)點發(fā)送延遲統(tǒng)計消息,統(tǒng)計同步命令消息從匯聚節(jié)點到延遲統(tǒng)計節(jié)點、以及延遲統(tǒng)計消息從延遲統(tǒng)計節(jié)點到匯聚節(jié)點路徑上的傳播延遲;4)根據(jù)收到的延遲統(tǒng)計消息,匯聚節(jié)點計算網(wǎng)絡(luò)平均每跳傳播延遲;5)利用延遲補償消息的洪泛過程,節(jié)點根據(jù)網(wǎng)絡(luò)平均每跳傳播延遲和距離匯聚節(jié)點的跳數(shù),對同步精度進行補償,達到網(wǎng)絡(luò)高精度時間同步。
根據(jù)本發(fā)明的另一目的,用于實現(xiàn)上述方法的裝置即無線傳感器網(wǎng)絡(luò)的結(jié)構(gòu)示意圖如圖1所示。無線傳感器網(wǎng)絡(luò)通常包括匯聚節(jié)點和傳感器節(jié)點,傳感器節(jié)點負責采集各種感知數(shù)據(jù),轉(zhuǎn)發(fā)其它節(jié)點采集的數(shù)據(jù);匯聚節(jié)點負責收集傳感器節(jié)點采集的數(shù)據(jù)。網(wǎng)絡(luò)中通常只有一個匯聚節(jié)點,其它節(jié)點均為傳感器節(jié)點。這些節(jié)點在同步過程中被組織成樹狀的層次結(jié)構(gòu),以匯聚節(jié)點為根節(jié)點。
其中,匯聚節(jié)點包括消息的發(fā)送和接收模塊、系統(tǒng)時間模塊、時間戳模塊、時間同步的啟動模塊、計算網(wǎng)絡(luò)平均每跳延遲的模塊和誤差補償?shù)膯幽K。各模塊間的關(guān)系如圖6所示。
消息的發(fā)送和接收模塊負責發(fā)送和接收各種同步消息;系統(tǒng)時間模塊維持節(jié)點的本地時鐘;時間戳模塊為各種同步消息添加時間信息,時間戳模塊通過系統(tǒng)時間模塊獲取消息發(fā)送時的系統(tǒng)時間。
時間同步的啟動模塊通過發(fā)送同步命令消息啟動網(wǎng)絡(luò)的同步過程,消息中含有匯聚節(jié)點的節(jié)點編號和延遲累計字段,通過消息的發(fā)送和接收模塊發(fā)送給接收節(jié)點,并在消息的發(fā)送和接收模塊發(fā)送消息時,由時間戳模塊為消息添加時間信息。
計算網(wǎng)絡(luò)平均每跳延遲的模塊通過消息的發(fā)送和接收模塊接收延遲統(tǒng)計節(jié)點發(fā)送來的延遲統(tǒng)計消息,根據(jù)消息中的延遲統(tǒng)計字段和消息經(jīng)過的跳數(shù)計算消息的平均每跳傳播延遲。
誤差補償?shù)膯幽K通過消息的發(fā)送和接收模塊向網(wǎng)絡(luò)中洪泛延遲補償消息,延遲補償消息中含有網(wǎng)絡(luò)的平均每跳傳播延遲,啟動誤差補償過程。
傳感器節(jié)點包括消息的發(fā)送和接收模塊、系統(tǒng)時間模塊、時間戳模塊、時間同步模塊、網(wǎng)絡(luò)平均每跳延遲的統(tǒng)計模塊、同步精度的補償模塊和定時器模塊。各模塊間的關(guān)系如圖7所示。
消息的發(fā)送和接收模塊實現(xiàn)發(fā)送和接收各種同步消息的功能;系統(tǒng)時間模塊維持節(jié)點的本地時鐘;時間戳模塊為各種同步消息添加時間信息,時間戳模塊通過系統(tǒng)時間模塊獲取消息發(fā)送時的系統(tǒng)時間。
時間同步模塊接收同步命令消息,根據(jù)同步命令消息中的時間戳信息,調(diào)整節(jié)點的本地時間,完成同消息發(fā)送節(jié)點的時間同步;同時將消息的發(fā)送節(jié)點作為自己的父節(jié)點,記錄距離匯聚節(jié)點的跳數(shù),計算同步命令消息中的延遲累計字段;然后再通過消息的發(fā)送接收模塊轉(zhuǎn)發(fā)出去。
定時器模塊用于協(xié)助判斷節(jié)點是否是延遲統(tǒng)計節(jié)點,節(jié)點在通過消息發(fā)送和接收模塊轉(zhuǎn)發(fā)同步命令消息后,啟動定時器;如果定時器超時前收到了其它節(jié)點轉(zhuǎn)發(fā)的同步命令消息,則節(jié)點不是延遲統(tǒng)計節(jié)點,否則節(jié)點是延遲統(tǒng)計節(jié)點。
網(wǎng)絡(luò)平均每跳延遲的統(tǒng)計模塊用于處理和轉(zhuǎn)發(fā)延遲統(tǒng)計消息,延遲統(tǒng)計消息中含有路徑上的累計延遲和所經(jīng)過的跳數(shù);如果節(jié)點是延遲統(tǒng)計節(jié)點,則節(jié)點通過消息的發(fā)送和接收模塊向父節(jié)點發(fā)送延遲統(tǒng)計消息;如果節(jié)點不是延遲統(tǒng)計節(jié)點,節(jié)點在收到延遲統(tǒng)計消息后,會按照方法中所述的方式計算延遲累計字段,將跳數(shù)字段加一,然后通過消息的發(fā)送和接收模塊發(fā)送給自己的父節(jié)點。
同步精度的補償模塊用于接收和轉(zhuǎn)發(fā)誤差補償消息,對自己的同步精度進行補償;節(jié)點收到誤差補償消息后,會根據(jù)自己距離匯聚節(jié)點的跳數(shù)和消息中的網(wǎng)絡(luò)平均每跳延遲對自己的同步精度進行補償;然后再通過消息的發(fā)送和接收模塊將消息轉(zhuǎn)發(fā)出去。
本發(fā)明的技術(shù)效果在于通過洪泛的方式,使網(wǎng)絡(luò)在短時間內(nèi)達到低精度的時間同步,并建立網(wǎng)絡(luò)的樹狀層次結(jié)構(gòu);通過動態(tài)均勻地抽取網(wǎng)絡(luò)邊緣節(jié)點作為延遲統(tǒng)計節(jié)點,對同步過程中消息的傳播延遲進行實際測量,客觀的反映了網(wǎng)絡(luò)中的傳播延遲,通過洪泛誤差補償消息對傳播延遲引入的同步誤差進行補償,大大提高了時間同步的精度。這種方法具有良好的自適應性、可擴展性和較高的同步精度,在同步精度和能量消耗之間取得了很好的折中。
圖1無線傳感器網(wǎng)絡(luò)拓撲示意2時間同步方法流程3時間同步命令消息格式圖4延遲統(tǒng)計節(jié)點的選取示意5延遲統(tǒng)計原理示意6匯聚節(jié)點裝置的模塊關(guān)系7傳感器節(jié)點裝置的模塊關(guān)系8實驗--時間同步過程示意9實驗--廣播時間查詢消息示意圖具體實施方案下面參照附圖并結(jié)合實施例對本發(fā)明進行詳細的描述。
ESTS時間同步方法的流程如圖2所示,匯聚節(jié)點通過其時間同步的啟動模塊廣播同步命令消息、啟動時間同步過程。同步命令的消息格式如圖3所示,其中,hop代表發(fā)送該消息的節(jié)點距離匯聚節(jié)點的跳數(shù);nodeId是發(fā)送該消息的節(jié)點編號;sendTimeStamp是發(fā)送該消息時加入的時間戳,表示發(fā)送該消息指定字節(jié)時節(jié)點的本地時間;delay記錄同步過程中的傳播累積延遲,初始化為0;匯聚節(jié)點的鄰居節(jié)點(傳感器節(jié)點)收到同步命令消息后,節(jié)點首先記錄收到該消息的時間,稱為接收時間戳receiveTimeStamp,該時間戳是節(jié)點接收消息指定字節(jié)時讀取的本地系統(tǒng)時間,記錄hop字段+1作為距離匯聚節(jié)點的跳數(shù),記錄消息中的nodeId作為自己的父節(jié)點。然后節(jié)點按照公式1調(diào)整本地系統(tǒng)時間,實現(xiàn)與匯聚節(jié)點之間的時間同步,其中Tcurrent是節(jié)點的本地時間。同步完成后,節(jié)點轉(zhuǎn)發(fā)該同步命令消息,nodeId字段設(shè)置為自身的節(jié)點編號,hop字段設(shè)置為自己距離匯聚節(jié)點的跳數(shù),并在MAC層發(fā)送時為消息添加sendTimeStamp字段。
Tcurrent=Tcurrent+(sendTimeStamp-receiveTimeStamp)公式1
距離匯聚節(jié)點兩跳的節(jié)點收到同步命令消息后,進行類似的處理。依此類推,同步命令消息逐步在網(wǎng)絡(luò)中傳播,最后達到整個網(wǎng)絡(luò)的時間同步。節(jié)點只對收到的第一個同步命令消息進行處理,隨著同步消息在網(wǎng)絡(luò)中的傳播,網(wǎng)絡(luò)中每個節(jié)點都會與父節(jié)點同步,根據(jù)記錄的父節(jié)點的編號和距離匯聚節(jié)點的跳數(shù),在低精度時間同步的同時建立網(wǎng)絡(luò)的樹狀層次關(guān)系。
上述過程中,同步命令消息以洪泛方式從匯聚節(jié)點向網(wǎng)絡(luò)邊緣傳播,由于節(jié)點僅對收到的第一個同步命令消息進行處理并轉(zhuǎn)發(fā),同步命令消息以類似于同心圓的形式向網(wǎng)絡(luò)邊緣擴散,最后消息到達網(wǎng)絡(luò)的邊緣并停止傳播。在網(wǎng)絡(luò)邊緣上,總會有這樣的一些節(jié)點,它們是鄰近區(qū)域內(nèi)最后收到同步消息的節(jié)點。如圖4所示,標有N0的節(jié)點是網(wǎng)絡(luò)中不同區(qū)域內(nèi)最后收到同步消息的節(jié)點。這些節(jié)點會比較均勻的分布在網(wǎng)絡(luò)的邊緣,選取這些邊緣節(jié)點作為N0進行延遲統(tǒng)計,能夠比較客觀地反映出網(wǎng)絡(luò)中的延遲情況。如果N0節(jié)點的數(shù)量太大,可以以一定的概率舍棄一些節(jié)點,這樣能夠避免在統(tǒng)計網(wǎng)絡(luò)平均延遲時產(chǎn)生過多的通信開銷。
實現(xiàn)過程中使用定時器,節(jié)點在收到第一個同步命令消息后,節(jié)點會首先進行同步,然后轉(zhuǎn)發(fā)該同步命令消息。節(jié)點在轉(zhuǎn)發(fā)該消息后,啟動一個定時器,如果在定時器超時的時候沒有收到其它節(jié)點轉(zhuǎn)發(fā)的同步命令消息,則節(jié)點認為自己是網(wǎng)絡(luò)邊緣節(jié)點;如果在超時前收到了同步命令消息,則認為自己不是網(wǎng)絡(luò)邊緣節(jié)點。
延遲統(tǒng)計節(jié)點通過向匯聚節(jié)點發(fā)送延遲統(tǒng)計消息完成延遲統(tǒng)計過程。延遲統(tǒng)計過程如圖5所示,假設(shè)一個消息從匯聚節(jié)點出發(fā),沿著匯聚節(jié)點->N1->N2->…->Nn-1->N0路徑到達N0節(jié)點,此后該消息又沿著相反的路徑傳回到匯聚節(jié)點。假設(shè)消息在Trs時刻(匯聚節(jié)點的本地時間)從匯聚節(jié)點發(fā)送出去,在T1r時刻(N1節(jié)點的本地時間)N1節(jié)點收到了該消息,在T1s時刻(N1節(jié)點的本地時間)N1節(jié)點將消息轉(zhuǎn)發(fā)給N2節(jié)點。N0節(jié)點在T0r時刻(N0節(jié)點的本地時刻)收到該消息,然后在T0s時刻(N0節(jié)點的本地時刻)將消息轉(zhuǎn)發(fā)給Nn-1節(jié)點,依次類推,最后消息在T’rr時刻(匯聚節(jié)點的本地時間)回到匯聚節(jié)點。
T’rr-Trs是消息從離開匯聚節(jié)點,到重新回到匯聚節(jié)點所經(jīng)歷的時間,即消息在網(wǎng)絡(luò)中傳播的時間。Δti=Tis-Tir和Δti′=Tis′-Tir′(i=1,2,…n-1)分別是消息在第i個節(jié)點兩次停留的時間,即第i個節(jié)點在收到消息,到發(fā)送該消息所經(jīng)歷的時間。假設(shè)τ是兩個節(jié)點之間的傳播延遲,則有下列公式,通過公式2可以解得網(wǎng)絡(luò)中的每跳平均延遲τ。
Trr′=Trs+τ+Δt1+τ+Δt2+···+τ+Δt0+τ+···+Δt2′+τ+Δt1′+τ]]>=Trs+2nτ+(Σi=1n-1Δti+Δt0+Σi=1n-1Δti′)]]>公式2
τ=(Trr′-Trs)-[Σi=1n-1(Tis-Tir)+(T0s-T0r)+Σi=1n-1(Tis′-Tir′)]2n]]>公式3延遲的統(tǒng)計過程在快速同步階段就已經(jīng)開始,同步命令消息中的delay字段就是用于延遲的統(tǒng)計。匯聚節(jié)點在廣播同步命令消息時,將delay字段初始化為0;如圖5所示,節(jié)點N1在收到同步命令消息后,首先完成節(jié)點同步,然后計算ΔT1=T1r-Trs,將結(jié)果累加到delay字段;并廣播給下一跳節(jié)點,下一跳節(jié)點在收到同步命令消息時也作類似的處理。
當消息傳輸?shù)絅0節(jié)點,N0節(jié)點是通過上述延遲統(tǒng)計節(jié)點的選取過程選出的節(jié)點。N0節(jié)點的定時器超時的時侯,沒有收到其它節(jié)點轉(zhuǎn)發(fā)的同步命令消息,N0節(jié)點將發(fā)起延遲統(tǒng)計過程,N0節(jié)點向自己的父節(jié)點發(fā)送延遲統(tǒng)計消息,格式類似于同步命令消息,消息中包括已有的延遲和N0節(jié)點距離匯聚節(jié)點的跳數(shù);父節(jié)點收到該消息后,將消息中的跳數(shù)字段加1,delay字段的處理與快速同步階段相同,然后再轉(zhuǎn)發(fā)給自己的父節(jié)點;消息逐跳的向匯聚節(jié)點傳輸,最后到達匯聚節(jié)點,并作相應的處理。此時消息中的delay字段中含有整個過程中的消息傳播延遲,跳數(shù)字段含有消息經(jīng)過的總跳數(shù),據(jù)此計算網(wǎng)絡(luò)平均每跳傳播延遲。
匯聚節(jié)點在收到一定數(shù)目的延遲統(tǒng)計消息后計算整個網(wǎng)絡(luò)的平均每跳延遲。然后匯聚節(jié)點廣播延遲補償消息,消息中包含網(wǎng)絡(luò)平均每跳延遲。每個節(jié)點在收到延遲補償消息后,根據(jù)自己距離匯聚節(jié)點的跳數(shù)hop和網(wǎng)絡(luò)平均每跳延遲error對自己的時鐘進行如下校正Tcorrected=Tcurrent+hop×error,其中,Tcurrent是節(jié)點的當前時間,Tcorrected是校正后的時間。然后廣播轉(zhuǎn)發(fā)誤差補償消息,節(jié)點僅對收到的第一個誤差補償消息進行處理。
為了更好地對本發(fā)明的優(yōu)勢進行描述,我們使用Mica2節(jié)點,在TinyOS操作系統(tǒng)下對ESTS方法進行了實現(xiàn),對同步精度進行了實際的網(wǎng)絡(luò)測量,并與已有的同步方法進行了比較。
精度測量利用了無線信道的廣播特性,在一跳的通信范圍內(nèi)的多個節(jié)點,如果其中一個節(jié)點廣播消息,其它節(jié)點幾乎會在同一時間收到該消息。通過比較每個節(jié)點收到廣播消息的時間,可以比較節(jié)點之間的時間偏差。在試驗中將所有節(jié)點放置在一跳通信范圍之內(nèi),通過指定同步消息的傳播路徑來達到多跳網(wǎng)絡(luò)的效果。設(shè)置一個輔助節(jié)點,進行節(jié)點同步精度測量,在網(wǎng)絡(luò)完成時間同步后廣播一個消息,然后逐一查詢網(wǎng)絡(luò)中每個節(jié)點收到該消息的時間,每個節(jié)點收到消息的時間同匯聚節(jié)點收到消息的時間相比較,就是網(wǎng)絡(luò)中節(jié)點的同步誤差。
如圖8所示,實驗中使用8個節(jié)點組成一個7跳的網(wǎng)絡(luò),匯聚節(jié)點編號為0,其它節(jié)點根據(jù)距離匯聚節(jié)點的遠近依次為1號,2號,…,7號節(jié)點。所有節(jié)點都放在一跳的通信范圍內(nèi),但是每個節(jié)點僅同自己相鄰的節(jié)點通信(編號比自己小1的和編號比自己大1的,0號節(jié)點僅與1號節(jié)點通信,7號節(jié)點僅與6號節(jié)點通信)。匯聚節(jié)點發(fā)起時間同步過程,同步消息從匯聚節(jié)點依次廣播到7號節(jié)點,如圖8中標有①的過程。延遲統(tǒng)計消息從7號節(jié)點沿著相反的路徑回到匯聚節(jié)點,如圖8中標有②的過程。
當匯聚節(jié)點收到1號節(jié)點傳上來的延遲統(tǒng)計消息后,匯聚節(jié)點不再廣播誤差補償消息,而是向輔助節(jié)點發(fā)送請求,請求消息中含有網(wǎng)絡(luò)平均每跳傳播延遲,圖8中標有③的過程。輔助節(jié)點收到請求消息后,廣播時間查詢消息。0~7號節(jié)點收到該消息時,記錄收到該消息的接收時間戳,如圖9中所示。
輔助節(jié)點發(fā)送廣播消息后,依次查詢0~7號節(jié)點記錄的接收時間戳。輔助節(jié)點首先對查詢的1~7號節(jié)點的接收時間戳進行補償,在每個節(jié)點的接收時間戳上加上平均每跳傳播延遲與節(jié)點距離匯聚節(jié)點的跳數(shù)之積,然后減去匯聚節(jié)點的接收時間戳,就是每個節(jié)點同匯聚節(jié)點之間的同步誤差。
試驗共進行了12次,單跳平均同步精度是7.56μs。我們對現(xiàn)有的時間同步方法和ESTS時間同步方法從3個方面進行了比較單跳平均同步精度、收斂速度和同步過程中的能量消耗。從表1中可以看到ESTS時間同步方法的單跳平均同步精度為7.56μs,收斂速度較快。能量消耗是通過同步過程中交換的消息數(shù)量來衡量,ESTS在時間同步過程中的能量消耗比較距常,沒有過多的能量開銷。
表1時間同步方法性能對比其中,表1中的RBS、DMTS、TPSN的各項數(shù)據(jù)分別來自以下文獻[1].J.Elson,L Girod,and D.Estrin.Fine-Grained Network Time Synchronization usingReference Broadcasts.Proc.Fifth Symposium on Operating Systems Design andImplementation(OSDI2002),Vol 36,pp.147-163,2002. .Ping S.Delay measurement time synchronization for wireless sensor networks.IntelResearch Berkeley lab,June 2003.Http://www.intel research.net/publication/Berkely/081120031327 137.pdf .Ganeriwal S,Kumar R,Srivastava M B.Timing-sync protocol for sensor networks.InProc1st Int’l Conf on Embedded Networked Sensor Systems(SenSys 2003),Los Angels,CA.November 5-7,2003.138~149。
權(quán)利要求
1.一種基于誤差統(tǒng)計的無線傳感器網(wǎng)絡(luò)時間同步方法,包括如下步驟1)利用同步命令消息的洪泛過程在短時間內(nèi)達到網(wǎng)絡(luò)低精度時間同步,同時建立網(wǎng)絡(luò)樹狀層次結(jié)構(gòu);2)利用洪泛消息傳播的單向性,根據(jù)網(wǎng)絡(luò)的實際部署情況,動態(tài)選取部分或全部網(wǎng)絡(luò)邊緣節(jié)點作為延遲統(tǒng)計節(jié)點;3)延遲統(tǒng)計節(jié)點利用網(wǎng)絡(luò)樹狀層次結(jié)構(gòu),通過向匯聚節(jié)點發(fā)送延遲統(tǒng)計消息,統(tǒng)計同步命令消息從匯聚節(jié)點到延遲統(tǒng)計節(jié)點、以及延遲統(tǒng)計消息從延遲統(tǒng)計節(jié)點到匯聚節(jié)點路徑上的傳播延遲;4)根據(jù)收到的延遲統(tǒng)計消息,匯聚節(jié)點計算網(wǎng)絡(luò)平均每跳傳播延遲;5)利用延遲補償消息的洪泛過程,節(jié)點根據(jù)網(wǎng)絡(luò)平均每跳傳播延遲和距離匯聚節(jié)點的跳數(shù),對同步精度進行補償,達到網(wǎng)絡(luò)高精度時間同步。
2.如權(quán)利要求1所述的方法,其特征在于,所述的同步命令消息包括以下信息發(fā)送該消息的節(jié)點距離匯聚節(jié)點的跳數(shù)、發(fā)送該消息的節(jié)點編號、發(fā)送該消息指定字節(jié)時節(jié)點的本地時間、同步過程中的傳播累積延遲。
3.如權(quán)利要求1所述的方法,其特征在于,所述的網(wǎng)絡(luò)邊緣節(jié)點是這樣確定的傳感器節(jié)點僅對收到的第一個同步命令消息進行處理并轉(zhuǎn)發(fā),在轉(zhuǎn)發(fā)該消息后,啟動一個定時器,如果在定時器超時的時候沒有收到其它節(jié)點轉(zhuǎn)發(fā)的同步命令消息,則認為自己是網(wǎng)絡(luò)邊緣節(jié)點。
4.一種基于誤差統(tǒng)計的無線傳感器網(wǎng)絡(luò),包括匯聚節(jié)點和傳感器節(jié)點,網(wǎng)絡(luò)中所有的節(jié)點以匯聚節(jié)點為根節(jié)點組成樹狀結(jié)構(gòu),其中,傳感器節(jié)點用于采集各種感知數(shù)據(jù)、轉(zhuǎn)發(fā)其它節(jié)點采集的數(shù)據(jù);匯聚節(jié)點用于收集傳感器節(jié)點采集的數(shù)據(jù)。
5.如權(quán)利要求4所述的無線傳感器網(wǎng)絡(luò),其特征在于,所述的匯聚節(jié)點包括以下功能模塊消息的發(fā)送和接收模塊,用于發(fā)送和接收各種同步消息;系統(tǒng)時間模塊,用于維持節(jié)點的本地時鐘;時間戳模塊,用于為各種同步消息添加時間信息,所述的時間戳模塊通過系統(tǒng)時間模塊獲取消息發(fā)送時的系統(tǒng)時間;時間同步的啟動模塊,用于通過發(fā)送同步命令消息啟動網(wǎng)絡(luò)的同步過程;計算網(wǎng)絡(luò)平均每跳延遲的模塊,用于通過消息的發(fā)送和接收模塊接收延遲統(tǒng)計節(jié)點發(fā)送來的延遲統(tǒng)計消息,根據(jù)消息中的延遲統(tǒng)計字段和消息經(jīng)過的跳數(shù)計算消息的平均每跳傳播延遲;誤差補償?shù)膯幽K,用于通過消息的發(fā)送和接收模塊向網(wǎng)絡(luò)中洪泛延遲補償消息,延遲補償消息中含有網(wǎng)絡(luò)的平均每跳傳播延遲,啟動誤差補償過程。
6.如權(quán)利要求4所述的無線傳感器網(wǎng)絡(luò),其特征在于,所述的傳感器節(jié)點包括以下功能模塊消息的發(fā)送和接收模塊,用于發(fā)送和接收各種同步消息;系統(tǒng)時間模塊,用于維持節(jié)點的本地時鐘;時間戳模塊,用于為各種同步消息添加時間信息,所述的時間戳模塊通過系統(tǒng)時間模塊獲取消息發(fā)送時的系統(tǒng)時間;時間同步模塊,用于接收同步命令消息并完成同消息發(fā)送節(jié)點的時間同步;定時器模塊,用于協(xié)助判斷節(jié)點是否是延遲統(tǒng)計節(jié)點;網(wǎng)絡(luò)平均每跳延遲的統(tǒng)計模塊,用于處理和轉(zhuǎn)發(fā)延遲統(tǒng)計消息;同步精度的補償模塊,用于接收和轉(zhuǎn)發(fā)誤差補償消息,對本節(jié)點的同步精度進行補償。
全文摘要
基于誤差統(tǒng)計的無線傳感器網(wǎng)絡(luò)時間同步方法,包括步驟利用同步命令消息的洪泛過程在短時間內(nèi)達到網(wǎng)絡(luò)低精度時間同步,同時建立網(wǎng)絡(luò)樹狀層次結(jié)構(gòu);動態(tài)選取部分或全部網(wǎng)絡(luò)邊緣節(jié)點作為延遲統(tǒng)計節(jié)點;統(tǒng)計同步命令消息從匯聚節(jié)點到延遲統(tǒng)計節(jié)點、以及延遲統(tǒng)計消息從延遲統(tǒng)計節(jié)點到匯聚節(jié)點路徑上的傳播延遲;計算網(wǎng)絡(luò)平均每跳傳播延遲;根據(jù)網(wǎng)絡(luò)平均每跳傳播延遲和距離匯聚節(jié)點的跳數(shù),對同步精度進行補償,達到網(wǎng)絡(luò)高精度時間同步。用于實現(xiàn)的無線傳感器網(wǎng)絡(luò),包括匯聚節(jié)點和傳感器節(jié)點,網(wǎng)絡(luò)中所有的節(jié)點以匯聚節(jié)點為根節(jié)點組成樹狀結(jié)構(gòu)。這種方法具有良好的自適應性、可擴展性和較高的同步精度,在同步精度和能量消耗之間取得了很好的折中。
文檔編號H04B7/26GK101087219SQ20061001218
公開日2007年12月12日 申請日期2006年6月9日 優(yōu)先權(quán)日2006年6月9日
發(fā)明者孫利民, 王海東, 何慶偉, 柯欣 申請人:中國科學院軟件研究所